Skip to content

Commit 06a7889

Browse files
authored
chore: drop support for Node 12 (#3547)
Upgrade the minimal required node release to 14.x, since Node 12 has been end-of-life since `2022-04-01`. This allows us to upgrade our TypeScript `target` from `ES2019` to `ES2020` (native support for nullish-coalescing and optional chaining, among other things). Removed the `node12` entries from the various test matrices and stop publishing `node12` tags for `jsii/superchain`. BREAKING CHANGE: Beginning with this release, jsii packages no longer support node 12. Users should migrate to a supported node release (14.x, 16.x, or 18.x).
1 parent 67e8d36 commit 06a7889

File tree

35 files changed

+1068
-1087
lines changed

35 files changed

+1068
-1087
lines changed

.github/workflows/docker-images.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: ubuntu-latest
1919
strategy:
2020
matrix:
21-
node: ['12', '14', '16', '18']
21+
node: ['14', '16', '18']
2222
env:
2323
# Node version whose images will be aliased without the -nodeXX segment
2424
DEFAULT_NODE_MAJOR_VERSION: 14

.github/workflows/main.yml

+19-20
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ jobs:
4141
with:
4242
java-version: '8'
4343
distribution: 'zulu'
44-
- name: Set up Node 12
44+
- name: Set up Node 14
4545
uses: actions/setup-node@v3
4646
with:
4747
cache: yarn
48-
node-version: '12'
48+
node-version: '14'
4949
- name: Set up Python 3.7
5050
uses: actions/setup-python@v3
5151
with:
@@ -70,10 +70,10 @@ jobs:
7070
!~/.m2/repository/software/amazon/jsii/
7171
~/.nuget/packages
7272
!~/.nuget/packages/amazon.jsii.*
73-
key: ${{ runner.os }}-node@12[email protected]${{ hashFiles('**/yarn.lock', '**/Directory.Build.targets') }}
73+
key: ${{ runner.os }}-node@14[email protected]${{ hashFiles('**/yarn.lock', '**/Directory.Build.targets') }}
7474
restore-keys: |-
75-
${{ runner.os }}-node@12[email protected]
76-
${{ runner.os }}-node@12-
75+
${{ runner.os }}-node@14[email protected]
76+
${{ runner.os }}-node@14-
7777
${{ runner.os }}-
7878
# Prepare dependencies and build
7979
- name: Install Dependencies
@@ -135,11 +135,11 @@ jobs:
135135
with:
136136
java-version: '8'
137137
distribution: 'zulu'
138-
- name: Set up Node 12
138+
- name: Set up Node 14
139139
uses: actions/setup-node@v3
140140
with:
141141
cache: yarn
142-
node-version: '12'
142+
node-version: '14'
143143
- name: Set up Python 3.7
144144
uses: actions/setup-python@v3
145145
with:
@@ -164,10 +164,10 @@ jobs:
164164
!~/.m2/repository/software/amazon/jsii/
165165
~/.nuget/packages
166166
!~/.nuget/packages/amazon.jsii.*
167-
key: ${{ runner.os }}-node@12[email protected]${{ hashFiles('**/yarn.lock', '**/Directory.Build.targets') }}
167+
key: ${{ runner.os }}-node@14[email protected]${{ hashFiles('**/yarn.lock', '**/Directory.Build.targets') }}
168168
restore-keys: |-
169-
${{ runner.os }}-node@12[email protected]
170-
${{ runner.os }}-node@12-
169+
${{ runner.os }}-node@14[email protected]
170+
${{ runner.os }}-node@14-
171171
${{ runner.os }}-
172172
# Prepare dependencies and build
173173
- name: Install Dependencies
@@ -217,67 +217,66 @@ jobs:
217217
go: ['1.16']
218218
java: ['8']
219219
node:
220-
- '12' # EOL 2022-04-30
221220
- '14' # EOL 2023-04-30
222221
- '16' # EOL 2024-04-30
223222
- '17' # EOL 2022-06-01
224223
- '18' # EOL 2025-04-30
225224
os: [ubuntu-latest]
226225
python: ['3.7']
227-
# Add specific combinations to be tested against "node 12" (to restrict cardinality)
226+
# Add specific combinations to be tested against "node 14" (to restrict cardinality)
228227
include:
229228
# Test using Windows
230229
- os: windows-latest
231230
dotnet: '3.1.x'
232231
go: '1.16'
233232
java: '8'
234-
node: '12'
233+
node: '14'
235234
python: '3.7'
236235
# Test using macOS
237236
- os: macos-latest
238237
dotnet: '3.1.x'
239238
go: '1.16'
240239
java: '8'
241-
node: '12'
240+
node: '14'
242241
python: '3.7'
243242
# Test alternate .NETs
244243
- java: '8'
245244
dotnet: '5.0.x'
246245
go: '1.16'
247-
node: '12'
246+
node: '14'
248247
os: ubuntu-latest
249248
python: '3.7'
250249
- java: '8'
251250
dotnet: '6.0.x'
252251
go: '1.16'
253-
node: '12'
252+
node: '14'
254253
os: ubuntu-latest
255254
python: '3.7'
256255
# Test alternate Javas
257256
- java: '11'
258257
dotnet: '3.1.x'
259258
go: '1.16'
260-
node: '12'
259+
node: '14'
261260
os: ubuntu-latest
262261
python: '3.7'
263262
# Test alternate Pythons
264263
- python: '3.8'
265264
dotnet: '3.1.x'
266265
go: '1.16'
267266
java: '8'
268-
node: '12'
267+
node: '14'
269268
os: ubuntu-latest
270269
- python: '3.9'
271270
dotnet: '3.1.x'
272271
go: '1.16'
273272
java: '8'
274-
node: '12'
273+
node: '14'
275274
os: ubuntu-latest
276275
- python: '3.10'
277276
dotnet: '3.1.x'
278277
go: '1.16'
279278
java: '8'
280-
node: '12'
279+
node: '14'
281280
os: ubuntu-latest
282281

283282
runs-on: ${{ matrix.os }}

.github/workflows/yarn-upgrade.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
uses: actions/setup-node@v3
2222
with:
2323
cache: yarn
24-
node-version: 12
24+
node-version: 14
2525

2626
- name: Install Tools
2727
run: |-

.mergify/config.yml

-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ queue_rules:
88
- status-success~=^Test \(macos-.*$
99
- status-success~=^Test \(windows-.*$
1010
# One test for each supported nodejs version
11-
- status-success~=^Test \(.* node 12 .*$
1211
- status-success~=^Test \(.* node 14 .*$
1312
- status-success~=^Test \(.* node 16 .*$
1413
- status-success~=^Test \(.* node 17 .*$
@@ -59,7 +58,6 @@ pull_request_rules:
5958
- status-success~=^Test \(macos-.*$
6059
- status-success~=^Test \(windows-.*$
6160
# One test for each supported nodejs version
62-
- status-success~=^Test \(.* node 12 .*$
6361
- status-success~=^Test \(.* node 14 .*$
6462
- status-success~=^Test \(.* node 16 .*$
6563
- status-success~=^Test \(.* node 17 .*$
@@ -110,7 +108,6 @@ pull_request_rules:
110108
- status-success~=^Test \(macos-.*$
111109
- status-success~=^Test \(windows-.*$
112110
# One test for each supported nodejs version
113-
- status-success~=^Test \(.* node 12 .*$
114111
- status-success~=^Test \(.* node 14 .*$
115112
- status-success~=^Test \(.* node 16 .*$
116113
- status-success~=^Test \(.* node 17 .*$
@@ -161,7 +158,6 @@ pull_request_rules:
161158
- status-success~=^Test \(macos-.*$
162159
- status-success~=^Test \(windows-.*$
163160
# One test for each supported nodejs version
164-
- status-success~=^Test \(.* node 12 .*$
165161
- status-success~=^Test \(.* node 14 .*$
166162
- status-success~=^Test \(.* node 16 .*$
167163
- status-success~=^Test \(.* node 17 .*$

package.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
},
1717
"devDependencies": {
1818
"@jest/types": "^28.1.0",
19-
"@types/jest": "^27.5.1",
20-
"@types/node": "^12.20.52",
21-
"@typescript-eslint/eslint-plugin": "^5.25.0",
22-
"@typescript-eslint/parser": "^5.25.0",
19+
"@types/jest": "^28.1.0",
20+
"@types/node": "^12.20.54",
21+
"@typescript-eslint/eslint-plugin": "^5.27.0",
22+
"@typescript-eslint/parser": "^5.27.0",
2323
"all-contributors-cli": "^6.20.0",
24-
"eslint": "^8.15.0",
24+
"eslint": "^8.16.0",
2525
"eslint-config-prettier": "^8.5.0",
2626
"eslint-import-resolver-node": "^0.3.6",
2727
"eslint-import-resolver-typescript": "^2.7.1",
@@ -31,11 +31,11 @@
3131
"jest-circus": "^28.1.0",
3232
"jest-config": "^28.1.0",
3333
"jest-expect-message": "^1.0.2",
34-
"lerna": "^4.0.0",
34+
"lerna": "^5.0.0",
3535
"prettier": "^2.6.2",
3636
"standard-version": "^9.5.0",
37-
"ts-node": "^10.7.0",
38-
"typescript": "~4.6.4"
37+
"ts-node": "^10.8.0",
38+
"typescript": "~4.7.2"
3939
},
4040
"repository": {
4141
"type": "git",

packages/@fixtures/jsii-calc-bundled/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/@fixtures/jsii-calc-bundled"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "index.js"
2323
}

packages/@jsii/check-node/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/@jsii/check-node"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

packages/@jsii/dotnet-runtime-test/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"directory": "packages/@jsii/dotnet-runtime-test"
2020
},
2121
"engines": {
22-
"node": ">= 12.7.0"
22+
"node": ">= 14.5.0"
2323
},
2424
"main": "lib/index.js",
2525
"types": "lib/index.d.ts",

packages/@jsii/dotnet-runtime/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"directory": "packages/@jsii/dotnet-runtime"
2626
},
2727
"engines": {
28-
"node": ">= 12.7.0"
28+
"node": ">= 14.5.0"
2929
},
3030
"main": "lib/index.js",
3131
"types": "lib/index.d.ts",

packages/@jsii/java-runtime-test/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"directory": "packages/@jsii/java-runtime-test"
1919
},
2020
"engines": {
21-
"node": ">= 12.7.0"
21+
"node": ">= 14.5.0"
2222
},
2323
"main": "lib/index.js",
2424
"types": "lib/index.d.ts",

packages/@jsii/java-runtime/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"directory": "packages/@jsii/java-runtime"
2020
},
2121
"engines": {
22-
"node": ">= 12.7.0"
22+
"node": ">= 14.5.0"
2323
},
2424
"main": "lib/index.js",
2525
"types": "lib/index.d.ts",

packages/@jsii/kernel/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/@jsii/kernel"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

packages/@jsii/python-runtime/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"directory": "packages/@jsii/python-runtime"
1919
},
2020
"engines": {
21-
"node": ">= 12.7.0"
21+
"node": ">= 14.5.0"
2222
},
2323
"main": "index.js",
2424
"scripts": {

packages/@jsii/runtime/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/@jsii/runtime"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

packages/@jsii/runtime/webpack.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ module.exports = {
1818
iife: false,
1919
},
2020
devtool: 'source-map',
21-
target: 'node12.4',
21+
target: 'node14.5',
2222
node: {
2323
global: false,
2424
__filename: false,

packages/@jsii/spec/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/@jsii/spec"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

packages/@scope/jsii-calc-base-of-base/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"directory": "packages/@scope/jsii-calc-base-of-base"
2020
},
2121
"engines": {
22-
"node": ">= 12.7.0"
22+
"node": ">= 14.5.0"
2323
},
2424
"main": "build/lib/index.js",
2525
"types": "build/lib/index.d.ts",

packages/@scope/jsii-calc-base/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"directory": "packages/@scope/jsii-calc-base"
2020
},
2121
"engines": {
22-
"node": ">= 12.7.0"
22+
"node": ">= 14.5.0"
2323
},
2424
"main": "lib/index.js",
2525
"types": "lib/index.d.ts",

packages/@scope/jsii-calc-lib/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"directory": "packages/@scope/jsii-calc-lib"
2222
},
2323
"engines": {
24-
"node": ">= 12.7.0"
24+
"node": ">= 14.5.0"
2525
},
2626
"main": "build/index.js",
2727
"types": "build/index.d.ts",

packages/codemaker/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/codemaker"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

packages/jsii-calc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"test"
2929
],
3030
"engines": {
31-
"node": ">= 12.7.0"
31+
"node": ">= 14.5.0"
3232
},
3333
"main": "lib/index.js",
3434
"types": "lib/index.d.ts",

packages/jsii-diff/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/jsii-diff"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"bin": {

packages/jsii-pacmak/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/jsii-pacmak"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

packages/jsii-reflect/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"directory": "packages/jsii-reflect"
1818
},
1919
"engines": {
20-
"node": ">= 12.7.0"
20+
"node": ">= 14.5.0"
2121
},
2222
"main": "lib/index.js",
2323
"types": "lib/index.d.ts",

0 commit comments

Comments
 (0)