Skip to content

Commit

Permalink
build: switch to node 20, add back loader param (#5990)
Browse files Browse the repository at this point in the history
Instead of:
  `ts-node util/sync_files.ts`
Now we must do:
  `node --loader=ts-node/esm util/sync_files.ts`

This should work on both node 18 and node 20 (tested locally).

Git workflows were pinned to 18.18.2 via #5991, but are now updated to
20 for constency. It's possible that ts-node will fix this in the future
and we can remove (again) the loader param.

Fixes #5910.
Fixes #5989.
  • Loading branch information
quisquous authored Dec 20, 2023
1 parent ebd9067 commit 4c5cf21
Show file tree
Hide file tree
Showing 27 changed files with 43 additions and 41 deletions.
2 changes: 1 addition & 1 deletion .github/actions/setup-js-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ runs:
steps:
- uses: actions/setup-node@v3
with:
node-version: '18.18.2'
node-version: '20'
cache: 'npm'
cache-dependency-path: 'package-lock.json'

Expand Down
10 changes: 7 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,18 @@ and on the server-side (GitHub).
You will need to [install](README.md#npm-and-webpack) `nodejs` and run `npm install`
in order to install local versions of husky, lint-staged, and eslint.

It is recommended that you also install ts-node and typescript globally, e.g.
It is recommended that you also install typescript globally, e.g.

```shell
npm install -g typescript
npm install -g ts-node
```

This will let you run commands as `ts-node` directly instead of `npx ts-node`.
Most commands have npm versions of them, e.g. `npm test` or `npm lint`
You must pass a `--loader` parameter to make these scripts run.

```shell
node --loader=ts-node/esm util/sync_files.ts
```

If the pre-commit validations are causing you significant problems,
feel free to bypass the checks with `--no-verify` flag,
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ To install dependencies there are 2 methods: **per script** and **manually**
### Dependencies: Script Method

1. `curl` MUST be installed (this is used to download dependencies)
1. Execute `ts-node ./util/fetch_deps.ts` script
1. Execute `node --loader=ts-node/esm util/fetch_deps.ts` script
1. Continue with **Steps to build**

### Dependencies: Manual Method
Expand Down
6 changes: 3 additions & 3 deletions docs/PatchUpdateChecklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ python util/gen_zone_id_and_info.py
python util/gen_weather_rate.py
python util/gen_hunt_data.py

ts-node util/gen_effect_id.ts
ts-node util/gen_world_ids.ts
ts-node util/gen_pet_names.ts
node --loader=ts-node/esm util/gen_effect_id.ts
node --loader=ts-node/esm util/gen_world_ids.ts
node --loader=ts-node/esm util/gen_pet_names.ts
```

Here's an example: <https://github.com/quisquous/cactbot/pull/5823/files>
Expand Down
2 changes: 1 addition & 1 deletion docs/ko-KR/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ cactbot은 테스트 UI를 기본으로 제공합니다.
### 의존성 설치: 스크립트 방식

1. `curl`이 반드시 설치되어 있어야 합니다. (의존성 파일들을 다운로드하기 위해 사용됩니다.)
1. `ts-node ./util/fetch_deps.ts` 스크립트를 실행하세요.
1. `node --import node --loader=ts-node/esm ./util/fetch_deps.ts` 스크립트를 실행하세요.
1. **빌드하는 단계**로 이동하세요.

### 의존성 설치: 수동
Expand Down
2 changes: 1 addition & 1 deletion docs/zh-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ cactbot 提供以下模块:
### 安装依赖:脚本方式

1. 必须先安装 `curl`(用于下载依赖项)
1. 运行 `ts-node ./util/fetch_deps.ts` 脚本
1. 运行 `node --import node --loader=ts-node/esm ./util/fetch_deps.ts` 脚本
1. 下转 **构建步骤**

### 安装依赖:手动方式
Expand Down
20 changes: 10 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"build": "webpack --progress --config webpack/webpack.prod.ts",
"build-gh-pages": " webpack --config webpack/webpack.ghpages.ts",
"start": "webpack serve --config webpack/webpack.dev.ts",
"fetch-deps": "ts-node ./util/fetch_deps.ts",
"fetch-deps": "node --loader=ts-node/esm ./util/fetch_deps.ts",
"tsc-no-emit": "tsc --noEmit",
"lint": "run-s lint:**",
"lint:dprint": "dprint check",
Expand All @@ -31,17 +31,17 @@
"stylelintfix": "stylelint --fix \"resources/**/*.css\" \"ui/**/*.css\" \"user/**/*.css\" \"test/**/*.css\" \"util/**/*.css\"",
"markdownlint": "markdownlint . --ignore node_modules --ignore publish --ignore plugin/ThirdParty",
"test": "mocha",
"sync-files": "ts-node util/sync_files.ts && git diff --exit-code",
"sync-files": "node --loader=ts-node/esm util/sync_files.ts && git diff --exit-code",
"lint-staged": "lint-staged",
"coverage-report": "ts-node util/gen_coverage_report.ts",
"util": "ts-node util/index.ts",
"coverage-report": "node --loader=ts-node/esm util/gen_coverage_report.ts",
"util": "node --loader=ts-node/esm util/index.ts",
"find-translations": "npm run util -- findTranslations",
"translate-timeline": "npm run util -- translateTimeline",
"generate": "npm run util -- generate",
"process-triggers": "ts-node util/process_triggers_folder.ts",
"generate-log-guide": "ts-node util/gen_log_guide.ts",
"validate-versions": "ts-node util/validate_versions.ts",
"version": "ts-node util/bump_version.ts"
"process-triggers": "node --loader=ts-node/esm util/process_triggers_folder.ts",
"generate-log-guide": "node --loader=ts-node/esm util/gen_log_guide.ts",
"validate-versions": "node --loader=ts-node/esm util/validate_versions.ts",
"version": "node --loader=ts-node/esm util/bump_version.ts"
},
"devDependencies": {
"@actions/exec": "^1.1.1",
Expand Down Expand Up @@ -121,7 +121,7 @@
"webpack-merge": "^5.8.0"
},
"engines": {
"node": ">=18.10.0 <18.19"
"node": ">=20.10.0"
},
"stylelint": {
"extends": "stylelint-config-standard"
Expand All @@ -145,7 +145,7 @@
"*.md": "markdownlint",
"*.py": "python -m pylint --errors-only",
"ui/(raidboss|oopsyraidsy)/data/**": [
"ts-node test/test_data_files.ts"
"node --loader=ts-node/esm test/test_data_files.ts"
]
},
"dependencies": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/oopsyraidsy/data/06-ew/dungeon/another_aloalo_island.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/oopsyraidsy/data/06-ew/dungeon/another_mount_rokkon.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/oopsyraidsy/data/06-ew/dungeon/another_sildihn_subterrane.ts
Expand Down
2 changes: 1 addition & 1 deletion ui/oopsyraidsy/data/06-ew/trial/sophia-un.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/oopsyraidsy/data/03-hw/trial/sophia-ex.ts
Expand Down
2 changes: 1 addition & 1 deletion ui/oopsyraidsy/data/06-ew/trial/thordan-un.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/oopsyraidsy/data/03-hw/trial/thordan-ex.ts
Expand Down
2 changes: 1 addition & 1 deletion ui/oopsyraidsy/data/06-ew/trial/zurvan-un.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/oopsyraidsy/data/03-hw/trial/zurvan-ex.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/raidboss/data/06-ew/dungeon/another_aloalo_island.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was autogenerated from running ts-node util/sync_files.ts.
# This file was autogenerated from running npm run sync-files.
# DO NOT EDIT THIS FILE DIRECTLY.
# Edit the source file below and then run `npm run sync-files`
# Source: ui/raidboss/data/06-ew/dungeon/another_aloalo_island.txt
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/raidboss/data/06-ew/dungeon/another_mount_rokkon.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was autogenerated from running ts-node util/sync_files.ts.
# This file was autogenerated from running npm run sync-files.
# DO NOT EDIT THIS FILE DIRECTLY.
# Edit the source file below and then run `npm run sync-files`
# Source: ui/raidboss/data/06-ew/dungeon/another_mount_rokkon.txt
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/raidboss/data/06-ew/dungeon/another_sildihn_subterrane.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was autogenerated from running ts-node util/sync_files.ts.
# This file was autogenerated from running npm run sync-files.
# DO NOT EDIT THIS FILE DIRECTLY.
# Edit the source file below and then run `npm run sync-files`
# Source: ui/raidboss/data/06-ew/dungeon/another_sildihn_subterrane.txt
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/06-ew/trial/sophia-un.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/raidboss/data/03-hw/trial/sophia-ex.ts
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/06-ew/trial/sophia-un.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was autogenerated from running ts-node util/sync_files.ts.
# This file was autogenerated from running npm run sync-files.
# DO NOT EDIT THIS FILE DIRECTLY.
# Edit the source file below and then run `npm run sync-files`
# Source: ui/raidboss/data/03-hw/trial/sophia-ex.txt
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/06-ew/trial/thordan-un.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/raidboss/data/03-hw/trial/thordan-ex.ts
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/06-ew/trial/thordan-un.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was autogenerated from running ts-node util/sync_files.ts.
# This file was autogenerated from running npm run sync-files.
# DO NOT EDIT THIS FILE DIRECTLY.
# Edit the source file below and then run `npm run sync-files`
# Source: ui/raidboss/data/03-hw/trial/thordan-ex.txt
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/06-ew/trial/zurvan-un.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// This file was autogenerated from running ts-node util/sync_files.ts.
// This file was autogenerated from running npm run sync-files.
// DO NOT EDIT THIS FILE DIRECTLY.
// Edit the source file below and then run `npm run sync-files`
// Source: ui/raidboss/data/03-hw/trial/zurvan-ex.ts
Expand Down
2 changes: 1 addition & 1 deletion ui/raidboss/data/06-ew/trial/zurvan-un.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was autogenerated from running ts-node util/sync_files.ts.
# This file was autogenerated from running npm run sync-files.
# DO NOT EDIT THIS FILE DIRECTLY.
# Edit the source file below and then run `npm run sync-files`
# Source: ui/raidboss/data/03-hw/trial/zurvan-ex.txt
Expand Down
2 changes: 0 additions & 2 deletions util/csv_util.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#!/usr/bin/env ts-node-script

import { parseString } from '@fast-csv/parse';
import fetch from 'node-fetch';

Expand Down
2 changes: 1 addition & 1 deletion util/sync_files.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const __filename = url.fileURLToPath(new URL('.', import.meta.url));
const __dirname = path.basename(__filename);
const root = path.join(__dirname, '../');

const scriptName = 'ts-node util/sync_files.ts';
const scriptName = 'npm run sync-files';

export type ReplaceDict = { [key: string]: string };

Expand Down

0 comments on commit 4c5cf21

Please sign in to comment.