Skip to content

Commit 6c888b1

Browse files
committed
Require Node.js 20
1 parent 604554e commit 6c888b1

File tree

16 files changed

+90
-89
lines changed

16 files changed

+90
-89
lines changed

.changeset/node-20.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
ggt: major
3+
---
4+
5+
Require Node.js 20 or later.
6+
7+
Node.js 18 reached End-of-Life (EOL) on 2025-04-30:
8+
9+
- https://github.com/nodejs/release#end-of-life-releases
10+
- https://nodejs.org/en/blog/announcements/node-18-eol-support
11+
12+
This means Node.js 18 no longer receives security updates and bug fixes.
13+
14+
ggt runs on your computer, so it's important to use a supported version of Node to ensure you have the latest security updates. **Your Gadget environment will continue to use the Node version specified in your [Framework version](https://docs.gadget.dev/guides/gadget-framework).**

.github/dependabot.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,6 @@ updates:
1414
- dependency-name: "@types/node" # manually updated
1515
update-types:
1616
- "version-update:semver-major"
17-
- dependency-name: "cli-spinners" # requires node >= 18.20, but ggt supports >= 18.0
18-
update-types:
19-
- "version-update:semver-major"
20-
- dependency-name: "execa" # requires node >= 18.18, but ggt supports >= 18.0
21-
update-types:
22-
- "version-update:semver-major"
2317

2418
- package-ecosystem: github-actions
2519
directory: /

.github/workflows/cd.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- name: Setup Node.js
3030
uses: actions/setup-node@v4
3131
with:
32-
node-version: 18
32+
node-version: 20
3333
cache: pnpm
3434

3535
- name: Install dependencies

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Setup Node.js
1818
uses: actions/setup-node@v4
1919
with:
20-
node-version: 18
20+
node-version: 20
2121
cache: pnpm
2222

2323
- name: Install dependencies
@@ -38,7 +38,7 @@ jobs:
3838
- name: Setup Node.js
3939
uses: actions/setup-node@v4
4040
with:
41-
node-version: 18
41+
node-version: 20
4242
cache: pnpm
4343

4444
- name: Install dependencies
@@ -70,7 +70,7 @@ jobs:
7070
- name: Setup Node.js
7171
uses: actions/setup-node@v4
7272
with:
73-
node-version: 18
73+
node-version: 20
7474
cache: pnpm
7575

7676
- name: Install dependencies

CHANGELOG.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@
9393
### Minor Changes
9494

9595
- fcb272f: Add more `--env` aliases.
96-
9796
- `ggt pull` now accepts `--from` as an alias for `--env`
9897
- `ggt push` now accepts `--to` as an alias for `--env`
9998

@@ -149,7 +148,6 @@
149148
![CleanShot 2024-10-02 at 16 10 53](https://github.com/user-attachments/assets/e5e2b172-c7a7-43b3-b329-d84600f9f8ab)
150149

151150
No worries if the verbose output isn't your thing, we've got you covered:
152-
153151
- `--no-logs` - completely turns off this new feature
154152
- `--my-logs` - same as the editor logs boolean for only showing my logs/events
155153
- `--log-level` - Set the log level for incoming application logs, `debug, info, error`
@@ -297,7 +295,6 @@
297295
## `ggt` requires Node 18 or later to run
298296

299297
Node 16 reached End-of-Life (EOL) on 2023-09-11:
300-
301298
- https://github.com/nodejs/release#end-of-life-releases
302299
- https://nodejs.org/en/blog/announcements/nodejs16-eol
303300

@@ -426,7 +423,6 @@
426423
```
427424

428425
There are 2 common causes for this error:
429-
430426
- You make a change that causes Gadget to generate files and you don't receive those files before sending more changes to Gadget.
431427
- Multiple people are syncing at the same time and one person sends changes to Gadget before receiving another persons changes.
432428

@@ -476,7 +472,6 @@
476472
- c783efa: Fix `TooManySyncAttemptsError` when local directory's permissions don't match Gadget's
477473
- 340a5de: Fix errors serializing `bigint`s when `--json` is passed
478474
- 3de43d1: Logging improvements:
479-
480475
- No longer truncating arrays in logs when `--json` is passed
481476
- Now truncating objects in logs unless log level is trace
482477
- Showing number of truncated elements/properties when arrays/objects are truncated
@@ -506,11 +501,9 @@
506501
Previously, we were using the `debug` package to log messages. This was good at first, but now that we're adding more features to `ggt` we need more control over our logs. We want to be able to output structured logs, control the verbosity, and output them as JSON so that we can pipe them to another tool or parse them in a script.
507502

508503
To accomplish this, we've added 2 new flags:
509-
510504
- `-v, --verbose` to output structured logs
511505

512506
This replaces the `--debug` flag, which was a boolean flag that would print out all logs. This new flag is a counter, so you can use it multiple times to increase the verbosity of the logs. Currently, there are 3 levels of verbosity:
513-
514507
- `-v` = INFO
515508
- `-vv` = DEBUG
516509
- `-vvv` = TRACE
@@ -526,7 +519,6 @@
526519
`ggt sync` can now detect all discrepancies between your local filesystem and your Gadget environment's filesystem. Previously, if a file was deleted locally while `ggt sync` was not running, `ggt sync` could not detect that the file was deleted and would not delete the file in your Gadget environment.
527520

528521
Now, `ggt sync` can detect the following discrepancies:
529-
530522
- Files that exist locally but not in your Gadget environment
531523
- Files that exist in your Gadget environment but not locally
532524
- Files that exist locally and in your Gadget environment but have different contents
@@ -536,7 +528,6 @@
536528
When `ggt sync` starts, it will compare your local filesystem to your Gadget environment's filesystem and calculate the changes that have occurred since the last time `ggt sync` was run.
537529

538530
You will be prompted to resolve conflicts if:
539-
540531
- Both filesystems updated the same file with different contents
541532
- One filesystem updated a file and the other deleted it
542533

@@ -738,7 +729,6 @@
738729
- b110061: Bump @oclif/plugin-warn-if-update-available from 2.0.42 to 2.0.44
739730
- c482369: Bump @oclif/plugin-not-found from 2.3.27 to 2.3.28
740731
- ee23711: Improve sentry integration
741-
742732
- Added sentry breadcrumbs to help debug on-going bugs.
743733
- Added ability to disable sentry via `GGT_SENTRY_ENABLED=false`
744734

@@ -800,7 +790,6 @@
800790
- 18784ba: Bump which from 3.0.0 to 3.0.1
801791
- 7614f50: Bump @oclif/plugin-warn-if-update-available from 2.0.35 to 2.0.36
802792
- f5e1a3f: Improve the list command by
803-
804793
- Prompting the user to log in if they aren't already (similar to `ggt sync`)
805794
- Linking them to `https://gadget.new` if they don't have any applications
806795

@@ -897,7 +886,6 @@
897886
- 32f4fbe: Bump @oclif/plugin-not-found from 2.3.11 to 2.3.13
898887
- 8d9e6d4: Bump @oclif/core from 1.22.0 to 1.23.1
899888
- 43918ce: Improve sync output
900-
901889
- Show the name and relevant links of the synced app
902890
- Inform the user that it's watching for file changes and how to stop it
903891
- Show whether a file was changed or deleted when sending/receiving it

CONTRIBUTING.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ Run "ggt [COMMAND] -h" for more information about a specific command.
181181
```
182182

183183
If you want even more verbose output, you can pass the `-v, --verbose` flag multiple times. Each time you pass the flag, the log level is increased:
184-
185184
- `-v` = `"info"`
186185
- `-vv` = `"debug"`
187186
- `-vvv` = `"trace"`

nix/flake.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nix/flake.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
mkcert = pkgs.mkcert;
2020
nix-direnv = pkgs.nix-direnv;
2121
nixpkgs-fmt = pkgs.nixpkgs-fmt;
22-
nodejs = pkgs.nodejs-18_x;
22+
nodejs = pkgs.nodejs_20;
2323
yarn = pkgs.yarn.override { nodejs = flake.packages.nodejs; };
2424

2525
ggt = pkgs.writeShellScriptBin "ggt" ''

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"release": "pnpm run build && changeset publish",
4343
"test": "vitest --cache",
4444
"test:watch": "pnpm run test --watch",
45-
"version": "changeset version && node --loader=ts-node/esm --no-warnings scripts/generate-readme.ts"
45+
"version": "changeset version && prettier --write CHANGELOG.md && node --loader=ts-node/esm --no-warnings scripts/generate-readme.ts"
4646
},
4747
"devDependencies": {
4848
"@changesets/cli": "^2.29.4",
@@ -55,7 +55,7 @@
5555
"@types/fast-levenshtein": "^0.0.4",
5656
"@types/fs-extra": "^11.0.4",
5757
"@types/ms": "^2.1.0",
58-
"@types/node": "^18.19.101",
58+
"@types/node": "^20.19.24",
5959
"@types/node-notifier": "^8.0.5",
6060
"@types/normalize-package-data": "^2.4.4",
6161
"@types/normalize-path": "^3.0.2",
@@ -140,6 +140,6 @@
140140
},
141141
"packageManager": "[email protected]",
142142
"engines": {
143-
"node": ">=18.0.0"
143+
"node": ">=20.0.0"
144144
}
145145
}

0 commit comments

Comments
 (0)