Skip to content

Commit dbef119

Browse files
authored
chore!: bump minimum Node.js version to v20 (#3431)
BREAKING CHANGE: We dropped Node.js v18. The minimum Node.js version is now v20.
1 parent 3db33bc commit dbef119

File tree

19 files changed

+283
-288
lines changed

19 files changed

+283
-288
lines changed

.github/workflows/license.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ jobs:
1515
- name: Check out repository
1616
uses: actions/checkout@v4
1717
- uses: pnpm/action-setup@v3
18-
- name: Use Node.js 18.x
19-
uses: actions/setup-node@v4
18+
- uses: actions/setup-node@v5
2019
with:
21-
node-version: 18.x
20+
node-version: "24"
2221
cache: "pnpm"
2322

2423
- name: Install dependencies

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
jobs:
1111
lint:
12-
name: Node.js ubuntu-latest 18.x
12+
name: Lint
1313
runs-on: ubuntu-latest
1414
steps:
1515
- uses: Kesin11/actions-timeline@da70beff098ff89b15d279e8bf2f60519a8dadd7 # v2
@@ -20,7 +20,7 @@ jobs:
2020

2121
- uses: actions/setup-node@v4
2222
with:
23-
node-version: "18"
23+
node-version: "24"
2424
cache: "pnpm"
2525

2626
- run: pnpm install --frozen-lockfile

.github/workflows/release.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,9 @@ jobs:
4747

4848
- uses: pnpm/action-setup@v3
4949

50-
- uses: actions/setup-node@v4
50+
- uses: actions/setup-node@v5
5151
with:
52-
node-version: "18"
53-
cache: "pnpm"
52+
node-version: "24"
5453
registry-url: "https://registry.npmjs.org"
5554

5655
# Ensure npm 11.5.1 or later is installed

.github/workflows/test-e2e.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
strategy:
1515
matrix:
16-
node-version: [18.x, 20.x]
16+
node-version: [20.x, 22.x, 24.x]
1717
os: [ubuntu-latest, windows-latest, macos-latest]
1818

1919
steps:
@@ -23,10 +23,9 @@ jobs:
2323
- uses: pnpm/action-setup@v3
2424

2525
- name: Use Node.js ${{ matrix.node-version }}
26-
uses: actions/setup-node@v4
26+
uses: actions/setup-node@v5
2727
with:
2828
node-version: ${{ matrix.node-version }}
29-
cache: "pnpm"
3029

3130
- name: Checkout kintone/rest-api-spec
3231
uses: actions/checkout@v4

.github/workflows/test.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
strategy:
1616
matrix:
17-
node-version: [18.x, 20.x]
17+
node-version: [20.x, 22.x, 24.x]
1818
os: [ubuntu-latest, windows-latest, macos-latest]
1919

2020
steps:
@@ -24,10 +24,9 @@ jobs:
2424
- uses: pnpm/action-setup@v3
2525

2626
- name: Use Node.js ${{ matrix.node-version }}
27-
uses: actions/setup-node@v4
27+
uses: actions/setup-node@v5
2828
with:
2929
node-version: ${{ matrix.node-version }}
30-
cache: "pnpm"
3130

3231
- run: pnpm install --fetch-timeout 900000 --frozen-lockfile
3332
- run: pnpm build

.github/workflows/yamory.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616

1717
- uses: pnpm/action-setup@v3
1818

19-
- uses: actions/setup-node@v4
19+
- uses: actions/setup-node@v5
2020
with:
21-
node-version: "18"
21+
node-version: "24"
2222

2323
- name: download and validate Yamory script
2424
working-directory: /tmp

mise.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[tools]
22
pnpm = "10.17.1"
3-
node = "18"
3+
node = "24"

packages/create-plugin/package.json

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,43 @@
22
"name": "@kintone/create-plugin",
33
"version": "8.2.5",
44
"description": "A CLI tool for creating a kintone plugin!",
5-
"bin": {
6-
"create-plugin": "bin/cli.js",
7-
"create-kintone-plugin": "bin/cli.js"
8-
},
9-
"main": "dist/src/index.js",
10-
"engines": {
11-
"node": ">=18"
12-
},
5+
"keywords": [
6+
"kintone"
7+
],
8+
"homepage": "https://github.com/kintone/js-sdk/tree/main/packages/create-plugin",
9+
"bugs": "https://github.com/kintone/js-sdk/issues",
1310
"repository": {
1411
"type": "git",
1512
"url": "git+https://github.com/kintone/js-sdk.git",
1613
"directory": "packages/create-plugin"
1714
},
18-
"homepage": "https://github.com/kintone/js-sdk/tree/main/packages/create-plugin",
19-
"bugs": "https://github.com/kintone/js-sdk/issues",
15+
"license": "MIT",
16+
"author": {
17+
"name": "Cybozu, Inc.",
18+
"url": "https://cybozu.co.jp"
19+
},
20+
"main": "dist/src/index.js",
21+
"bin": {
22+
"create-plugin": "bin/cli.js",
23+
"create-kintone-plugin": "bin/cli.js"
24+
},
25+
"files": [
26+
"bin",
27+
"dist/src",
28+
"templates"
29+
],
30+
"scripts": {
31+
"build": "pnpm clean && tsc --build --force",
32+
"clean": "rimraf dist",
33+
"fix": "pnpm lint --fix",
34+
"lint": "eslint src --max-warnings 0",
35+
"start": "pnpm build --watch",
36+
"test": "jest --testPathIgnorePatterns=/__tests__/generator\\.test\\.ts$",
37+
"test:all": "run-p test test:generator test:e2e",
38+
"test:ci": "pnpm test test:generator",
39+
"test:e2e": "cross-env NODE_ENV=e2e jest --config=jest.e2e.config.js",
40+
"test:generator": "cross-env NODE_ENV=e2e jest --testPathPattern=/__tests__/generator\\.test\\.ts$"
41+
},
2042
"dependencies": {
2143
"@inquirer/prompts": "^5.5.0",
2244
"chalk": "^4.1.2",
@@ -39,29 +61,7 @@
3961
"cross-env": "^7.0.3",
4062
"jest-environment-node": "^29.7.0"
4163
},
42-
"files": [
43-
"bin",
44-
"dist/src",
45-
"templates"
46-
],
47-
"scripts": {
48-
"start": "pnpm build --watch",
49-
"build": "pnpm clean && tsc --build --force",
50-
"clean": "rimraf dist",
51-
"lint": "eslint src --max-warnings 0",
52-
"fix": "pnpm lint --fix",
53-
"test": "jest --testPathIgnorePatterns=/__tests__/generator\\.test\\.ts$",
54-
"test:generator": "cross-env NODE_ENV=e2e jest --testPathPattern=/__tests__/generator\\.test\\.ts$",
55-
"test:ci": "pnpm test test:generator",
56-
"test:e2e": "cross-env NODE_ENV=e2e jest --config=jest.e2e.config.js",
57-
"test:all": "run-p test test:generator test:e2e"
58-
},
59-
"keywords": [
60-
"kintone"
61-
],
62-
"author": {
63-
"name": "Cybozu, Inc.",
64-
"url": "https://cybozu.co.jp"
65-
},
66-
"license": "MIT"
64+
"engines": {
65+
"node": ">=20"
66+
}
6767
}

packages/create-plugin/src/deps.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export const installDependencies = (
1919
const result = spawnSync("npm", ["install"], {
2020
cwd: outputDirectory,
2121
stdio: "inherit",
22+
// TODO: Consider to remove shell option to avoid security vulnerability
2223
shell: true,
2324
});
2425
if (result.status !== 0) {

packages/customize-uploader/package.json

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,40 @@
22
"name": "@kintone/customize-uploader",
33
"version": "8.0.14",
44
"description": "A kintone customize uploader",
5-
"bin": {
6-
"kintone-customize-uploader": "bin/cli.js"
7-
},
8-
"main": "dist/index.js",
9-
"engines": {
10-
"node": ">=18"
11-
},
12-
"scripts": {
13-
"prebuild": "pnpm clean",
14-
"build": "tsc --build --force",
15-
"lint": "eslint src --max-warnings 0",
16-
"fix": "pnpm lint --fix",
17-
"test": "jest",
18-
"test:ci": "jest --runInBand",
19-
"clean": "rimraf dist",
20-
"start": "pnpm build --watch"
21-
},
22-
"files": [
23-
"bin",
24-
"dist"
5+
"keywords": [
6+
"kintone"
257
],
8+
"homepage": "https://github.com/kintone/js-sdk/tree/main/packages/customize-uploader#readme",
9+
"bugs": {
10+
"url": "https://github.com/kintone/js-sdk/issues"
11+
},
2612
"repository": {
2713
"type": "git",
2814
"url": "git+https://github.com/kintone/js-sdk.git",
2915
"directory": "packages/customize-uploader"
3016
},
31-
"keywords": [
32-
"kintone"
33-
],
17+
"license": "MIT",
3418
"author": {
3519
"name": "Cybozu, Inc.",
3620
"url": "https://cybozu.co.jp"
3721
},
38-
"license": "MIT",
39-
"bugs": {
40-
"url": "https://github.com/kintone/js-sdk/issues"
22+
"main": "dist/index.js",
23+
"bin": {
24+
"kintone-customize-uploader": "bin/cli.js"
4125
},
42-
"homepage": "https://github.com/kintone/js-sdk/tree/main/packages/customize-uploader#readme",
43-
"devDependencies": {
44-
"@types/inquirer": "8.2.12"
26+
"files": [
27+
"bin",
28+
"dist"
29+
],
30+
"scripts": {
31+
"prebuild": "pnpm clean",
32+
"build": "tsc --build --force",
33+
"clean": "rimraf dist",
34+
"fix": "pnpm lint --fix",
35+
"lint": "eslint src --max-warnings 0",
36+
"start": "pnpm build --watch",
37+
"test": "jest",
38+
"test:ci": "jest --runInBand"
4539
},
4640
"dependencies": {
4741
"@inquirer/prompts": "^5.5.0",
@@ -51,5 +45,11 @@
5145
"mkdirp": "^3.0.1",
5246
"os-locale": "^5.0.0",
5347
"rimraf": "^5.0.10"
48+
},
49+
"devDependencies": {
50+
"@types/inquirer": "8.2.12"
51+
},
52+
"engines": {
53+
"node": ">=20"
5454
}
5555
}

0 commit comments

Comments
 (0)