diff --git a/.changeset/giant-badgers-do.md b/.changeset/giant-badgers-do.md new file mode 100644 index 000000000..23511dd26 --- /dev/null +++ b/.changeset/giant-badgers-do.md @@ -0,0 +1,7 @@ +--- +'skuba': patch +--- + +template: Bump greeter and API templates to Node.js 18 + +Node.js 18 is now in active LTS. The Lambda templates are stuck on Node.js 16 until the new AWS Lambda runtime is released. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c6e648d04..e8cb73016 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,10 +21,10 @@ jobs: fetch-depth: 0 token: ${{ secrets.SEEK_OSS_CI_GITHUB_TOKEN }} - - name: Set up Node.js 16.x + - name: Set up Node.js 18.x uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install dependencies run: yarn install --frozen-lockfile diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 17998af39..2c4e5a904 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -44,10 +44,10 @@ jobs: git config user.name seek-oss-ci git config user.email 34733141+seek-oss-ci@users.noreply.github.com - - name: Set up Node.js 16.x + - name: Set up Node.js 18.x uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - name: Install dependencies run: yarn install --frozen-lockfile @@ -83,10 +83,10 @@ jobs: - name: Check out repo uses: actions/checkout@v3 - - name: Set up Node.js 16.x + - name: Set up Node.js 18.x uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 18.x - if: github.head_ref != 'beta' && github.head_ref != 'changeset-release/master' && github.ref_name != 'beta' && github.ref_name != 'changeset-release/master' name: Test template diff --git a/src/cli/configure/analysis/__snapshots__/project.test.ts.snap b/src/cli/configure/analysis/__snapshots__/project.test.ts.snap index 43c8cf245..13a570dcd 100644 --- a/src/cli/configure/analysis/__snapshots__/project.test.ts.snap +++ b/src/cli/configure/analysis/__snapshots__/project.test.ts.snap @@ -173,7 +173,7 @@ export {}; "data": "{ "compilerOptions": { "baseUrl": ".", - "lib": ["ES2020"], + "lib": ["ES2022"], "outDir": "lib", "paths": { "src": ["src"] diff --git a/template/base/tsconfig.json b/template/base/tsconfig.json index c71b04e50..04898243f 100644 --- a/template/base/tsconfig.json +++ b/template/base/tsconfig.json @@ -1,12 +1,12 @@ { "compilerOptions": { "baseUrl": ".", - "lib": ["ES2020"], + "lib": ["ES2022"], "outDir": "lib", "paths": { "src": ["src"] }, - "target": "ES2020" + "target": "ES2022" }, "exclude": ["lib*/**/*"], "extends": "skuba/config/tsconfig.json" diff --git a/template/express-rest-api/.nvmrc b/template/express-rest-api/.nvmrc index b6a7d89c6..3c032078a 100644 --- a/template/express-rest-api/.nvmrc +++ b/template/express-rest-api/.nvmrc @@ -1 +1 @@ -16 +18 diff --git a/template/express-rest-api/Dockerfile b/template/express-rest-api/Dockerfile index 91d7a7aef..b493482ae 100644 --- a/template/express-rest-api/Dockerfile +++ b/template/express-rest-api/Dockerfile @@ -17,7 +17,7 @@ RUN yarn build ### -FROM --platform=${BUILDPLATFORM} gcr.io/distroless/nodejs:16 AS runtime +FROM --platform=${BUILDPLATFORM} gcr.io/distroless/nodejs:18 AS runtime WORKDIR /workdir diff --git a/template/express-rest-api/Dockerfile.dev-deps b/template/express-rest-api/Dockerfile.dev-deps index 028a414f2..854b8d2f4 100644 --- a/template/express-rest-api/Dockerfile.dev-deps +++ b/template/express-rest-api/Dockerfile.dev-deps @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.2 -FROM --platform=${BUILDPLATFORM} node:16-alpine AS dev-deps +FROM --platform=${BUILDPLATFORM} node:18-alpine AS dev-deps WORKDIR /workdir diff --git a/template/express-rest-api/package.json b/template/express-rest-api/package.json index c60601d16..f3d8f0f6c 100644 --- a/template/express-rest-api/package.json +++ b/template/express-rest-api/package.json @@ -18,13 +18,13 @@ }, "devDependencies": { "@types/express": "^4.17.13", - "@types/node": "16.11.64", + "@types/node": "^18.11.5", "@types/supertest": "^2.0.11", "pino-pretty": "^9.0.0", "skuba": "*", "supertest": "^6.1.6" }, "engines": { - "node": ">=16" + "node": ">=18" } } diff --git a/template/greeter/.nvmrc b/template/greeter/.nvmrc index b6a7d89c6..3c032078a 100644 --- a/template/greeter/.nvmrc +++ b/template/greeter/.nvmrc @@ -1 +1 @@ -16 +18 diff --git a/template/greeter/Dockerfile b/template/greeter/Dockerfile index 028a414f2..854b8d2f4 100644 --- a/template/greeter/Dockerfile +++ b/template/greeter/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.2 -FROM --platform=${BUILDPLATFORM} node:16-alpine AS dev-deps +FROM --platform=${BUILDPLATFORM} node:18-alpine AS dev-deps WORKDIR /workdir diff --git a/template/greeter/package.json b/template/greeter/package.json index 7ef3cff2d..f35e9c21c 100644 --- a/template/greeter/package.json +++ b/template/greeter/package.json @@ -15,10 +15,10 @@ "skuba-dive": "^2.0.0" }, "devDependencies": { - "@types/node": "16.11.64", + "@types/node": "^18.11.5", "skuba": "*" }, "engines": { - "node": ">=16" + "node": ">=18" } } diff --git a/template/koa-rest-api/.nvmrc b/template/koa-rest-api/.nvmrc index b6a7d89c6..3c032078a 100644 --- a/template/koa-rest-api/.nvmrc +++ b/template/koa-rest-api/.nvmrc @@ -1 +1 @@ -16 +18 diff --git a/template/koa-rest-api/Dockerfile b/template/koa-rest-api/Dockerfile index b0ef14b9f..e8e7016bd 100644 --- a/template/koa-rest-api/Dockerfile +++ b/template/koa-rest-api/Dockerfile @@ -17,7 +17,7 @@ RUN yarn build ### -FROM --platform=${BUILDPLATFORM} gcr.io/distroless/nodejs:16 AS runtime +FROM --platform=${BUILDPLATFORM} gcr.io/distroless/nodejs:18 AS runtime WORKDIR /workdir diff --git a/template/koa-rest-api/Dockerfile.dev-deps b/template/koa-rest-api/Dockerfile.dev-deps index 028a414f2..854b8d2f4 100644 --- a/template/koa-rest-api/Dockerfile.dev-deps +++ b/template/koa-rest-api/Dockerfile.dev-deps @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.2 -FROM --platform=${BUILDPLATFORM} node:16-alpine AS dev-deps +FROM --platform=${BUILDPLATFORM} node:18-alpine AS dev-deps WORKDIR /workdir diff --git a/template/koa-rest-api/package.json b/template/koa-rest-api/package.json index e36eec1fe..e77636a90 100644 --- a/template/koa-rest-api/package.json +++ b/template/koa-rest-api/package.json @@ -34,7 +34,7 @@ "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^5.0.2", "@types/koa__router": "^12.0.0", - "@types/node": "16.11.64", + "@types/node": "^18.11.5", "@types/supertest": "^2.0.11", "chance": "^1.1.8", "pino-pretty": "^9.0.0", @@ -42,6 +42,6 @@ "supertest": "^6.1.6" }, "engines": { - "node": ">=16" + "node": ">=18" } } diff --git a/template/lambda-sqs-worker-cdk/tsconfig.json b/template/lambda-sqs-worker-cdk/tsconfig.json new file mode 100644 index 000000000..c71b04e50 --- /dev/null +++ b/template/lambda-sqs-worker-cdk/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "lib": ["ES2020"], + "outDir": "lib", + "paths": { + "src": ["src"] + }, + "target": "ES2020" + }, + "exclude": ["lib*/**/*"], + "extends": "skuba/config/tsconfig.json" +} diff --git a/template/lambda-sqs-worker/tsconfig.json b/template/lambda-sqs-worker/tsconfig.json new file mode 100644 index 000000000..c71b04e50 --- /dev/null +++ b/template/lambda-sqs-worker/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "lib": ["ES2020"], + "outDir": "lib", + "paths": { + "src": ["src"] + }, + "target": "ES2020" + }, + "exclude": ["lib*/**/*"], + "extends": "skuba/config/tsconfig.json" +} diff --git a/template/oss-npm-package/.nvmrc b/template/oss-npm-package/.nvmrc index b6a7d89c6..3c032078a 100644 --- a/template/oss-npm-package/.nvmrc +++ b/template/oss-npm-package/.nvmrc @@ -1 +1 @@ -16 +18 diff --git a/template/private-npm-package/.nvmrc b/template/private-npm-package/.nvmrc index b6a7d89c6..3c032078a 100644 --- a/template/private-npm-package/.nvmrc +++ b/template/private-npm-package/.nvmrc @@ -1 +1 @@ -16 +18