From d303e2d7adcd072c8a56b7d1f25cacf7f22fcffb Mon Sep 17 00:00:00 2001 From: Momo Kornher Date: Wed, 15 Mar 2023 12:25:14 +0000 Subject: [PATCH] feat(node)!: default to node16 and do not use `jsii/superchain` image in workflows BREAKING CHANGE: default to node16 To use any other Node version, explicitly provide the desired version number BREAKING CHANGE: remove `jsii/superchain` image from AwsCdkConstructLibrary workflows Using `jsii/superchain` provides no tangible benefit over installing dependencies with GitHub Actions. However because AWS CDK Constructs often require to run docker commands, with image GitHub Action workflows end up attempting to run Docker in Docker. This is not trivial to achieve (see #2094 & https://github.com/aws/aws-cdk/issues/8799). Additionally the existing build and package workflows had an inconsistent usage of the image, causing further problems. To restore the old behavior, set `options.workflowContainerImage` to the desired image. Fixes #2094 Closes #1065 --- .github/workflows/build.yml | 10 +- .github/workflows/release.yml | 12 +- .github/workflows/upgrade-main.yml | 2 +- .projen/deps.json | 2 +- .projenrc.js | 4 +- docs/api/API.md | 18 +- docs/awscdk.md | 14 +- docs/bundling.md | 2 +- package.json | 4 +- src/awscdk/awscdk-construct.ts | 32 +-- src/awscdk/lambda-function.ts | 6 +- src/cdk/jsii-project.ts | 2 +- src/cli/index.ts | 4 +- src/release/publisher.ts | 4 +- src/release/release.ts | 2 +- src/typescript/typescript.ts | 2 +- src/web/next.ts | 4 +- test/__snapshots__/integ.test.ts.snap | 28 +-- .../awscdk-construct.test.ts.snap | 226 ++++++++++++++++++ .../lambda-function.test.ts.snap | 10 +- test/awscdk/awscdk-construct.test.ts | 72 +++++- test/awscdk/lambda-function.test.ts | 2 +- test/cdk/__snapshots__/jsii.test.ts.snap | 54 ++--- test/integration/cdk-watchful.projenrc.js | 2 +- test/javascript/bundler.test.ts | 8 +- .../__snapshots__/release.test.ts.snap | 76 +++--- .../__snapshots__/typescript.test.ts.snap | 6 +- .../__snapshots__/nextjs-project.test.ts.snap | 8 +- .../nextjs-ts-project.test.ts.snap | 4 +- .../__snapshots__/react-project.test.ts.snap | 2 +- .../react-ts-project.test.ts.snap | 4 +- yarn.lock | 8 +- 32 files changed, 444 insertions(+), 190 deletions(-) create mode 100644 test/awscdk/__snapshots__/awscdk-construct.test.ts.snap diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e0d0372b2f7..7db959d1ce2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Install dependencies run: yarn install --check-files - name: build @@ -93,7 +93,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -122,7 +122,7 @@ jobs: java-version: 11.x - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -147,7 +147,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - uses: actions/setup-python@v4 with: python-version: 3.x @@ -175,7 +175,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - uses: actions/setup-go@v3 with: go-version: ^1.16.0 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0ade4b0fde..4f8d9ddcd09 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,7 +27,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: release @@ -60,7 +60,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -103,7 +103,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -154,7 +154,7 @@ jobs: java-version: 11.x - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -204,7 +204,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - uses: actions/setup-python@v4 with: python-version: 3.x @@ -253,7 +253,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - uses: actions/setup-go@v3 with: go-version: ^1.16.0 diff --git a/.github/workflows/upgrade-main.yml b/.github/workflows/upgrade-main.yml index 2578a7712b2..75f42f4ae4f 100644 --- a/.github/workflows/upgrade-main.yml +++ b/.github/workflows/upgrade-main.yml @@ -21,7 +21,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.18.0 + node-version: 16.13.0 - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: Upgrade dependencies diff --git a/.projen/deps.json b/.projen/deps.json index 91ff3bef3e6..4d01630533f 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -19,7 +19,7 @@ }, { "name": "@types/node", - "version": "^14", + "version": "^16", "type": "build" }, { diff --git a/.projenrc.js b/.projenrc.js index ba13bb5ef3d..2c5a7120a42 100644 --- a/.projenrc.js +++ b/.projenrc.js @@ -60,8 +60,8 @@ const project = new cdk.JsiiProject({ projenDevDependency: false, // because I am projen releaseToNpm: true, - minNodeVersion: "14.0.0", - workflowNodeVersion: "14.18.0", // required by eslint-import-resolver-typescript@3.5.0 + minNodeVersion: "16.0.0", + workflowNodeVersion: "16.13.0", codeCov: true, prettier: true, diff --git a/docs/api/API.md b/docs/api/API.md index 7824f4bcc10..23dfdbb239b 100644 --- a/docs/api/API.md +++ b/docs/api/API.md @@ -4942,7 +4942,7 @@ new awscdk.LambdaFunction(project: Project, options: LambdaFunctionOptions) * **awsSdkConnectionReuse** (boolean) Whether to automatically reuse TCP connections when working with the AWS SDK for JavaScript. __*Default*__: true * **bundlingOptions** ([javascript.BundlingOptions](#projen-javascript-bundlingoptions)) Bundling options for this AWS Lambda function. __*Default*__: defaults * **edgeLambda** (boolean) Whether to create a `cloudfront.experimental.EdgeFunction` instead of a `lambda.Function`. __*Default*__: false - * **runtime** ([awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)) The node.js version to target. __*Default*__: Runtime.NODEJS_14_X + * **runtime** ([awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)) The node.js version to target. __*Default*__: Runtime.NODEJS_16_X * **cdkDeps** ([awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)) AWS CDK dependency manager. * **entrypoint** (string) A path from the project root directory to a TypeScript file which contains the AWS Lambda handler entrypoint (exports a `handler` function). * **constructFile** (string) The name of the generated TypeScript source file. __*Default*__: The name of the entrypoint file, with the `-function.ts` suffix instead of `.lambda.ts`. @@ -4984,8 +4984,8 @@ Name | Type | Description **esbuildTarget**🔹 | string | The esbuild setting to use. **functionRuntime**🔹 | string | The Node.js runtime to use. *static* **NODEJS_10_X**⚠️ | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 10.x. -*static* **NODEJS_12_X**🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 12.x. -*static* **NODEJS_14_X**🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 14.x. +*static* **NODEJS_12_X**⚠️ | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 12.x. +*static* **NODEJS_14_X**⚠️ | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 14.x. *static* **NODEJS_16_X**🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 16.x. *static* **NODEJS_18_X**🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | Node.js 18.x. @@ -10144,7 +10144,7 @@ new release.Publisher(project: Project, options: PublisherOptions) * **jsiiReleaseVersion** (string) *No description* __*Optional*__ * **publibVersion** (string) Version requirement for `publib`. __*Default*__: "latest" * **publishTasks** (boolean) Define publishing tasks that can be executed manually as well as workflows. __*Default*__: false - * **workflowNodeVersion** (string) Node version to setup in GitHub workflows if any node-based CLI utilities are needed. __*Default*__: 14.x + * **workflowNodeVersion** (string) Node version to setup in GitHub workflows if any node-based CLI utilities are needed. __*Default*__: 16.x * **workflowRunsOn** (Array) Github Runner selection labels. __*Default*__: ["ubuntu-latest"] @@ -10374,7 +10374,7 @@ new release.Release(project: GitHubProject, options: ReleaseOptions) * **task** ([Task](#projen-task)) The task to execute in order to create the release artifacts. * **versionFile** (string) A name of a .json file to set the `version` field in after a bump. * **githubRelease** (boolean) Create a GitHub release for each release. __*Default*__: true - * **workflowNodeVersion** (string) Node version to setup in GitHub workflows if any node-based CLI utilities are needed. __*Default*__: 14.x + * **workflowNodeVersion** (string) Node version to setup in GitHub workflows if any node-based CLI utilities are needed. __*Default*__: 16.x * **workflowPermissions** ([github.workflows.JobPermissions](#projen-github-workflows-jobpermissions)) Permissions granted to the release workflow job. __*Default*__: `{ contents: JobPermission.WRITE }` @@ -14313,7 +14313,7 @@ Name | Type | Description **awsSdkConnectionReuse**?🔹 | boolean | Whether to automatically reuse TCP connections when working with the AWS SDK for JavaScript.
__*Default*__: true **bundlingOptions**?🔹 | [javascript.BundlingOptions](#projen-javascript-bundlingoptions) | Bundling options for this AWS Lambda function.
__*Default*__: defaults **edgeLambda**?🔹 | boolean | Whether to create a `cloudfront.experimental.EdgeFunction` instead of a `lambda.Function`.
__*Default*__: false -**runtime**?🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | The node.js version to target.
__*Default*__: Runtime.NODEJS_14_X +**runtime**?🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | The node.js version to target.
__*Default*__: Runtime.NODEJS_16_X @@ -14333,7 +14333,7 @@ Name | Type | Description **constructFile**?🔹 | string | The name of the generated TypeScript source file.
__*Default*__: The name of the entrypoint file, with the `-function.ts` suffix instead of `.lambda.ts`. **constructName**?🔹 | string | The name of the generated `lambda.Function` subclass.
__*Default*__: A pascal cased version of the name of the entrypoint file, with the extension `Function` (e.g. `ResizeImageFunction`). **edgeLambda**?🔹 | boolean | Whether to create a `cloudfront.experimental.EdgeFunction` instead of a `lambda.Function`.
__*Default*__: false -**runtime**?🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | The node.js version to target.
__*Default*__: Runtime.NODEJS_14_X +**runtime**?🔹 | [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime) | The node.js version to target.
__*Default*__: Runtime.NODEJS_16_X @@ -18366,7 +18366,7 @@ Name | Type | Description **jsiiReleaseVersion**?⚠️ | string | __*Optional*__ **publibVersion**?🔹 | string | Version requirement for `publib`.
__*Default*__: "latest" **publishTasks**?🔹 | boolean | Define publishing tasks that can be executed manually as well as workflows.
__*Default*__: false -**workflowNodeVersion**?🔹 | string | Node version to setup in GitHub workflows if any node-based CLI utilities are needed.
__*Default*__: 14.x +**workflowNodeVersion**?🔹 | string | Node version to setup in GitHub workflows if any node-based CLI utilities are needed.
__*Default*__: 16.x **workflowRunsOn**?🔹 | Array | Github Runner selection labels.
__*Default*__: ["ubuntu-latest"] @@ -18421,7 +18421,7 @@ Name | Type | Description **releaseWorkflowSetupSteps**?🔹 | Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)> | A set of workflow steps to execute in order to setup the workflow container.
__*Optional*__ **versionrcOptions**?🔹 | Map | Custom configuration used when creating changelog with standard-version package.
__*Default*__: standard configuration applicable for GitHub repositories **workflowContainerImage**?🔹 | string | Container image to use for GitHub workflows.
__*Default*__: default image -**workflowNodeVersion**?🔹 | string | Node version to setup in GitHub workflows if any node-based CLI utilities are needed.
__*Default*__: 14.x +**workflowNodeVersion**?🔹 | string | Node version to setup in GitHub workflows if any node-based CLI utilities are needed.
__*Default*__: 16.x **workflowPermissions**?🔹 | [github.workflows.JobPermissions](#projen-github-workflows-jobpermissions) | Permissions granted to the release workflow job.
__*Default*__: `{ contents: JobPermission.WRITE }` **workflowRunsOn**?🔹 | Array | Github Runner selection labels.
__*Default*__: ["ubuntu-latest"] diff --git a/docs/awscdk.md b/docs/awscdk.md index 4aa66ae16b8..7c0a0a4ef42 100644 --- a/docs/awscdk.md +++ b/docs/awscdk.md @@ -72,7 +72,7 @@ new AwsCdkConstructLibrary({ // ... lambdaOptions: { // target node.js runtime - runtime: awscdk.LambdaRuntime.NODEJS_14_X, + runtime: awscdk.LambdaRuntime.NODEJS_18_X, bundlingOptions: { // list of node modules to exclude from the bundle @@ -259,12 +259,12 @@ the captured snapshot. The build will fail if the output differs. For each integration test, the following set of tasks are created: -|Task|Description| -|----|-----------| -|`integ:NAME:deploy`|Deploys & destroys the test app and updates the snapshot.| -|`integ:NAME:assert`|Synthesizes the test app and compares it with the snapshot (this is the task that runs during build)| -|`integ:NAME:snapshot`|Synthesizes the test app and updates the snapshot (not recommended to use because it bypasses deployment).| -|`integ:NAME:destroy`|Destroys a previously deployed test app.| +| Task | Description | +| --------------------- | ---------------------------------------------------------------------------------------------------------- | +| `integ:NAME:deploy` | Deploys & destroys the test app and updates the snapshot. | +| `integ:NAME:assert` | Synthesizes the test app and compares it with the snapshot (this is the task that runs during build) | +| `integ:NAME:snapshot` | Synthesizes the test app and updates the snapshot (not recommended to use because it bypasses deployment). | +| `integ:NAME:destroy` | Destroys a previously deployed test app. | ### Writing test assertions diff --git a/docs/bundling.md b/docs/bundling.md index 7639947b564..f0cf8920e1e 100644 --- a/docs/bundling.md +++ b/docs/bundling.md @@ -19,7 +19,7 @@ To add bundles, call `bundler.addBundle()`: ```ts project.bundler.addBundle('name-of-bundle', { entrypoint: 'src/foo.ts', - target: 'node14', + target: 'node18', platform: 'node', bundlingOptions: { externals: ['aws-sdk'], // modules not to include in bundles diff --git a/package.json b/package.json index 45bd0790e89..260a4fc1095 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@types/glob": "^7.2.0", "@types/ini": "^1.3.31", "@types/jest": "^27", - "@types/node": "^14", + "@types/node": "^16", "@types/semver": "^7.3.13", "@types/yargs": "^16.0.5", "@typescript-eslint/eslint-plugin": "^5", @@ -118,7 +118,7 @@ "scaffolding" ], "engines": { - "node": ">= 14.0.0" + "node": ">= 16.0.0" }, "main": "lib/index.js", "license": "Apache-2.0", diff --git a/src/awscdk/awscdk-construct.ts b/src/awscdk/awscdk-construct.ts index c3f23d13f24..7efde499d82 100644 --- a/src/awscdk/awscdk-construct.ts +++ b/src/awscdk/awscdk-construct.ts @@ -78,10 +78,7 @@ export class AwsCdkConstructLibrary extends ConstructLibrary { pinnedDevDependency: false, } : undefined, - workflowContainerImage: determineWorkflowContainerImage( - options, - cdkMajorVersion - ), + workflowNodeVersion: options.minNodeVersion ?? "16.x", ...options, }); @@ -141,33 +138,6 @@ export class AwsCdkConstructLibrary extends ConstructLibrary { } } -function determineWorkflowContainerImage( - options: AwsCdkConstructLibraryOptions, - cdkMajorVersion: number | undefined -): string | undefined { - // if the user specifies the workflow container image explicitly, use that - if (options.workflowContainerImage) { - return options.workflowContainerImage; - } - - // if the user specifies minimum node version, then JsiiProject will take care of - // determining the workflow container image from that, so we return "undefined" - if (options.minNodeVersion) { - return undefined; - } - - // otherwise, choose a workflow container image based on the CDK version - if (cdkMajorVersion === 1) { - return "jsii/superchain:1-buster-slim"; - } - - if (cdkMajorVersion === 2) { - return "jsii/superchain:1-buster-slim-node14"; - } - - return undefined; -} - /** @deprecated use `AwsCdkConstructLibraryOptions` */ export interface ConstructLibraryAwsOptions extends AwsCdkConstructLibraryOptions {} diff --git a/src/awscdk/lambda-function.ts b/src/awscdk/lambda-function.ts index 0c9bc7da386..b5eead0cae5 100644 --- a/src/awscdk/lambda-function.ts +++ b/src/awscdk/lambda-function.ts @@ -20,7 +20,7 @@ export interface LambdaFunctionCommonOptions { /** * The node.js version to target. * - * @default Runtime.NODEJS_14_X + * @default Runtime.NODEJS_16_X */ readonly runtime?: LambdaRuntime; @@ -134,7 +134,7 @@ export class LambdaFunction extends Component { ); } - const runtime = options.runtime ?? LambdaRuntime.NODEJS_14_X; + const runtime = options.runtime ?? LambdaRuntime.NODEJS_16_X; // allow Lambda handler code to import dev-deps since they are only needed // during bundling @@ -311,6 +311,7 @@ export class LambdaRuntime { /** * Node.js 12.x + * @deprecated NodeJS12 has been deprecated */ public static readonly NODEJS_12_X = new LambdaRuntime( "nodejs12.x", @@ -320,6 +321,7 @@ export class LambdaRuntime { /** * Node.js 14.x + * @deprecated NodeJS14 has been deprecated */ public static readonly NODEJS_14_X = new LambdaRuntime( "nodejs14.x", diff --git a/src/cdk/jsii-project.ts b/src/cdk/jsii-project.ts index 9a09db3f133..40e5f2f1cbc 100644 --- a/src/cdk/jsii-project.ts +++ b/src/cdk/jsii-project.ts @@ -408,7 +408,7 @@ export class JsiiProject extends TypeScriptProject { runsOn: ["ubuntu-latest"], permissions: {}, tools: { - node: { version: this.nodeVersion ?? "14.x" }, + node: { version: this.nodeVersion ?? "16.x" }, ...pacmak.publishTools, }, steps: pacmak.prePublishSteps ?? [], diff --git a/src/cli/index.ts b/src/cli/index.ts index fe7dec7d268..8c78afb195b 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -60,9 +60,9 @@ async function main() { } const nodeVersion = getNodeMajorVersion(); - if (nodeVersion && nodeVersion < 14) { + if (nodeVersion && nodeVersion < 16) { logging.warn( - `WARNING: You are using Node v${nodeVersion}, which reaches end of life on April 30, 2022. Support for EOL Node releases may be dropped by projen in the future. Please consider upgrading to Node >= 14 as soon as possible.` + `WARNING: You are using Node v${nodeVersion}, which reaches end of life on April 30, 2023. Support for EOL Node releases may be dropped by projen in the future. Please consider upgrading to Node >= 16 as soon as possible.` ); } diff --git a/src/release/publisher.ts b/src/release/publisher.ts index 243fbef6969..59c6777ab23 100644 --- a/src/release/publisher.ts +++ b/src/release/publisher.ts @@ -66,7 +66,7 @@ export interface PublisherOptions { * are needed. For example `publib`, the CLI projen uses to publish releases, * is an npm library. * - * @default 14.x + * @default 16.x */ readonly workflowNodeVersion?: string; @@ -156,7 +156,7 @@ export class Publisher extends Component { this.jsiiReleaseVersion = this.publibVersion; this.condition = options.condition; this.dryRun = options.dryRun ?? false; - this.workflowNodeVersion = options.workflowNodeVersion ?? "14.x"; + this.workflowNodeVersion = options.workflowNodeVersion ?? "16.x"; this.failureIssue = options.failureIssue ?? false; this.failureIssueLabel = options.failureIssueLabel ?? "failed-release"; diff --git a/src/release/release.ts b/src/release/release.ts index 5bd3b7a0d5f..05e4a2e66e6 100644 --- a/src/release/release.ts +++ b/src/release/release.ts @@ -245,7 +245,7 @@ export interface ReleaseOptions extends ReleaseProjectOptions { * are needed. For example `publib`, the CLI projen uses to publish releases, * is an npm library. * - * @default 14.x + * @default 16.x */ readonly workflowNodeVersion?: string; diff --git a/src/typescript/typescript.ts b/src/typescript/typescript.ts index cb1edaf9f5c..2f3f5ea7d6e 100644 --- a/src/typescript/typescript.ts +++ b/src/typescript/typescript.ts @@ -351,7 +351,7 @@ export class TypeScriptProject extends NodeProject { // Additionally, we default to tracking the 12.x line, as the current earliest LTS release of // node is 12.x, so this is what corresponds to the broadest compatibility with supported node // runtimes. - `@types/node@^${semver.major(this.package.minNodeVersion ?? "14.0.0")}` + `@types/node@^${semver.major(this.package.minNodeVersion ?? "16.0.0")}` ); // generate sample code in `src` and `lib` if these directories are empty or non-existent. diff --git a/src/web/next.ts b/src/web/next.ts index 6267a8010b2..95ce3a64b56 100644 --- a/src/web/next.ts +++ b/src/web/next.ts @@ -77,7 +77,7 @@ export class NextJsProject extends NodeProject { super({ jest: false, minNodeVersion: "12.22.0", // https://nextjs.org/docs#system-requirements - workflowNodeVersion: "14.x", + workflowNodeVersion: "16.x", ...options, }); @@ -128,7 +128,7 @@ export class NextJsTypeScriptProject extends TypeScriptAppProject { eslint: false, minNodeVersion: "12.22.0", // https://nextjs.org/docs#system-requirements jest: false, - workflowNodeVersion: "14.x", + workflowNodeVersion: "16.x", tsconfig: { include: ["**/*.ts", "**/*.tsx"], compilerOptions: { diff --git a/test/__snapshots__/integ.test.ts.snap b/test/__snapshots__/integ.test.ts.snap index ebe9f33bb31..a1429fe6807 100644 --- a/test/__snapshots__/integ.test.ts.snap +++ b/test/__snapshots__/integ.test.ts.snap @@ -282,7 +282,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Install dependencies run: yarn install --check-files - name: build @@ -349,7 +349,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -378,7 +378,7 @@ jobs: java-version: 11.x - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -403,7 +403,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - uses: actions/setup-python@v4 with: python-version: 3.x @@ -482,7 +482,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: release @@ -510,7 +510,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -539,7 +539,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -576,7 +576,7 @@ jobs: java-version: 11.x - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -611,7 +611,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - uses: actions/setup-python@v4 with: python-version: 3.x @@ -660,7 +660,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.0.0 + node-version: 16.0.0 - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: Upgrade dependencies @@ -841,7 +841,7 @@ tsconfig.tsbuildinfo /.eslintrc.json !.jsii ", - ".projen/deps.json": "{\\"dependencies\\":[{\\"name\\":\\"@types/jest\\",\\"version\\":\\"^27\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@types/node\\",\\"version\\":\\"^14\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@typescript-eslint/eslint-plugin\\",\\"version\\":\\"^5\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@typescript-eslint/parser\\",\\"version\\":\\"^5\\",\\"type\\":\\"build\\"},{\\"name\\":\\"aws-sdk\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint-import-resolver-node\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint-import-resolver-typescript\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint-plugin-import\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint\\",\\"version\\":\\"^8\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jest-junit\\",\\"version\\":\\"^13\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jest\\",\\"version\\":\\"^27\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii-diff\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii-docgen\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii-pacmak\\",\\"type\\":\\"build\\"},{\\"name\\":\\"npm-check-updates\\",\\"version\\":\\"^16\\",\\"type\\":\\"build\\"},{\\"name\\":\\"projen\\",\\"type\\":\\"build\\"},{\\"name\\":\\"standard-version\\",\\"version\\":\\"^9\\",\\"type\\":\\"build\\"},{\\"name\\":\\"ts-jest\\",\\"version\\":\\"^27\\",\\"type\\":\\"build\\"},{\\"name\\":\\"typescript\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@types/babel__traverse\\",\\"version\\":\\"7.18.2\\",\\"type\\":\\"override\\"},{\\"name\\":\\"@types/prettier\\",\\"version\\":\\"2.6.0\\",\\"type\\":\\"override\\"},{\\"name\\":\\"@aws-cdk/aws-apigateway\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch-actions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-dynamodb\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-ecs-patterns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-ecs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-elasticloadbalancingv2\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-events-targets\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-events\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-lambda\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-rds\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-sns-subscriptions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-sns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-sqs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/core\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"constructs\\",\\"version\\":\\"^3.2.27\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-apigateway\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch-actions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-dynamodb\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-ecs-patterns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-ecs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-elasticloadbalancingv2\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-events-targets\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-events\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-lambda\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-rds\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-sns-subscriptions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-sns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-sqs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/core\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/assert\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"test\\"}],\\"//\\":\\"~~ Generated by projen. To modify, edit .projenrc.js and run \\\\\\"npx projen\\\\\\".\\"}", + ".projen/deps.json": "{\\"dependencies\\":[{\\"name\\":\\"@types/jest\\",\\"version\\":\\"^27\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@types/node\\",\\"version\\":\\"^16\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@typescript-eslint/eslint-plugin\\",\\"version\\":\\"^5\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@typescript-eslint/parser\\",\\"version\\":\\"^5\\",\\"type\\":\\"build\\"},{\\"name\\":\\"aws-sdk\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint-import-resolver-node\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint-import-resolver-typescript\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint-plugin-import\\",\\"type\\":\\"build\\"},{\\"name\\":\\"eslint\\",\\"version\\":\\"^8\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jest-junit\\",\\"version\\":\\"^13\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jest\\",\\"version\\":\\"^27\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii-diff\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii-docgen\\",\\"type\\":\\"build\\"},{\\"name\\":\\"jsii-pacmak\\",\\"type\\":\\"build\\"},{\\"name\\":\\"npm-check-updates\\",\\"version\\":\\"^16\\",\\"type\\":\\"build\\"},{\\"name\\":\\"projen\\",\\"type\\":\\"build\\"},{\\"name\\":\\"standard-version\\",\\"version\\":\\"^9\\",\\"type\\":\\"build\\"},{\\"name\\":\\"ts-jest\\",\\"version\\":\\"^27\\",\\"type\\":\\"build\\"},{\\"name\\":\\"typescript\\",\\"type\\":\\"build\\"},{\\"name\\":\\"@types/babel__traverse\\",\\"version\\":\\"7.18.2\\",\\"type\\":\\"override\\"},{\\"name\\":\\"@types/prettier\\",\\"version\\":\\"2.6.0\\",\\"type\\":\\"override\\"},{\\"name\\":\\"@aws-cdk/aws-apigateway\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch-actions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-dynamodb\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-ecs-patterns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-ecs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-elasticloadbalancingv2\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-events-targets\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-events\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-lambda\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-rds\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-sns-subscriptions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-sns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-sqs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/core\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"constructs\\",\\"version\\":\\"^3.2.27\\",\\"type\\":\\"peer\\"},{\\"name\\":\\"@aws-cdk/aws-apigateway\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch-actions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-cloudwatch\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-dynamodb\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-ecs-patterns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-ecs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-elasticloadbalancingv2\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-events-targets\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-events\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-lambda\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-rds\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-sns-subscriptions\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-sns\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/aws-sqs\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/core\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"runtime\\"},{\\"name\\":\\"@aws-cdk/assert\\",\\"version\\":\\"^1.75.0\\",\\"type\\":\\"test\\"}],\\"//\\":\\"~~ Generated by projen. To modify, edit .projenrc.js and run \\\\\\"npx projen\\\\\\".\\"}", ".projen/files.json": "{ \\"files\\": [ \\".eslintrc.json\\", @@ -1254,7 +1254,7 @@ const project = new awscdk.ConstructLibraryAws({ module: 'cdk_watchful', }, - minNodeVersion: '14.0.0', + minNodeVersion: '16.0.0', }); project.gitignore.exclude('.env', '.idea'); @@ -1466,7 +1466,7 @@ project.synth(); limitations under the License. ", "README.md": "# replace this", - "package.json": "{\\"name\\":\\"cdk-watchful\\",\\"description\\":\\"Watching your CDK apps since 2019\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/eladb/cdk-watchful.git\\"},\\"scripts\\":{\\"build\\":\\"npx projen build\\",\\"bump\\":\\"npx projen bump\\",\\"clobber\\":\\"npx projen clobber\\",\\"compat\\":\\"npx projen compat\\",\\"compile\\":\\"npx projen compile\\",\\"default\\":\\"npx projen default\\",\\"docgen\\":\\"npx projen docgen\\",\\"eject\\":\\"npx projen eject\\",\\"eslint\\":\\"npx projen eslint\\",\\"package\\":\\"npx projen package\\",\\"package-all\\":\\"npx projen package-all\\",\\"package:java\\":\\"npx projen package:java\\",\\"package:js\\":\\"npx projen package:js\\",\\"package:python\\":\\"npx projen package:python\\",\\"post-compile\\":\\"npx projen post-compile\\",\\"post-upgrade\\":\\"npx projen post-upgrade\\",\\"pre-compile\\":\\"npx projen pre-compile\\",\\"release\\":\\"npx projen release\\",\\"test\\":\\"npx projen test\\",\\"test:watch\\":\\"npx projen test:watch\\",\\"unbump\\":\\"npx projen unbump\\",\\"upgrade\\":\\"npx projen upgrade\\",\\"watch\\":\\"npx projen watch\\",\\"projen\\":\\"npx projen\\"},\\"author\\":{\\"name\\":\\"Elad Ben-Israel\\",\\"email\\":\\"elad.benisrael@gmail.com\\",\\"organization\\":false},\\"devDependencies\\":{\\"@aws-cdk/assert\\":\\"^1.75.0\\",\\"@types/jest\\":\\"^27\\",\\"@types/node\\":\\"^14\\",\\"@typescript-eslint/eslint-plugin\\":\\"^5\\",\\"@typescript-eslint/parser\\":\\"^5\\",\\"aws-sdk\\":\\"*\\",\\"eslint\\":\\"^8\\",\\"eslint-import-resolver-node\\":\\"*\\",\\"eslint-import-resolver-typescript\\":\\"*\\",\\"eslint-plugin-import\\":\\"*\\",\\"jest\\":\\"^27\\",\\"jest-junit\\":\\"^13\\",\\"jsii\\":\\"*\\",\\"jsii-diff\\":\\"*\\",\\"jsii-docgen\\":\\"*\\",\\"jsii-pacmak\\":\\"*\\",\\"npm-check-updates\\":\\"^16\\",\\"projen\\":\\"*\\",\\"standard-version\\":\\"^9\\",\\"ts-jest\\":\\"^27\\",\\"typescript\\":\\"*\\"},\\"peerDependencies\\":{\\"@aws-cdk/aws-apigateway\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch-actions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-dynamodb\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs-patterns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-elasticloadbalancingv2\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events-targets\\":\\"^1.75.0\\",\\"@aws-cdk/aws-lambda\\":\\"^1.75.0\\",\\"@aws-cdk/aws-rds\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns-subscriptions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sqs\\":\\"^1.75.0\\",\\"@aws-cdk/core\\":\\"^1.75.0\\",\\"constructs\\":\\"^3.2.27\\"},\\"dependencies\\":{\\"@aws-cdk/aws-apigateway\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch-actions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-dynamodb\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs-patterns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-elasticloadbalancingv2\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events-targets\\":\\"^1.75.0\\",\\"@aws-cdk/aws-lambda\\":\\"^1.75.0\\",\\"@aws-cdk/aws-rds\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns-subscriptions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sqs\\":\\"^1.75.0\\",\\"@aws-cdk/core\\":\\"^1.75.0\\"},\\"keywords\\":[\\"cdk\\",\\"cloudwatch\\",\\"monitoring\\"],\\"engines\\":{\\"node\\":\\">= 14.0.0\\"},\\"main\\":\\"lib/index.js\\",\\"license\\":\\"Apache-2.0\\",\\"version\\":\\"0.0.0\\",\\"jest\\":{\\"testMatch\\":[\\"/src/**/__tests__/**/*.ts?(x)\\",\\"/(test|src)/**/*(*.)@(spec|test).ts?(x)\\"],\\"clearMocks\\":true,\\"collectCoverage\\":true,\\"coverageReporters\\":[\\"json\\",\\"lcov\\",\\"clover\\",\\"cobertura\\",\\"text\\"],\\"coverageDirectory\\":\\"coverage\\",\\"coveragePathIgnorePatterns\\":[\\"/node_modules/\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"watchPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"reporters\\":[\\"default\\",[\\"jest-junit\\",{\\"outputDirectory\\":\\"test-reports\\"}]],\\"preset\\":\\"ts-jest\\",\\"globals\\":{\\"ts-jest\\":{\\"tsconfig\\":\\"tsconfig.dev.json\\"}}},\\"types\\":\\"lib/index.d.ts\\",\\"stability\\":\\"stable\\",\\"jsii\\":{\\"outdir\\":\\"dist\\",\\"targets\\":{\\"java\\":{\\"package\\":\\"com.github.eladb.watchful\\",\\"maven\\":{\\"groupId\\":\\"com.github.eladb\\",\\"artifactId\\":\\"cdk-watchful\\"}},\\"python\\":{\\"distName\\":\\"cdk-watchful\\",\\"module\\":\\"cdk_watchful\\"}},\\"tsc\\":{\\"outDir\\":\\"lib\\",\\"rootDir\\":\\"src\\"}},\\"awscdkio\\":{\\"twitter\\":\\"emeshbi\\"},\\"resolutions\\":{\\"@types/prettier\\":\\"2.6.0\\",\\"@types/babel__traverse\\":\\"7.18.2\\"},\\"//\\":\\"~~ Generated by projen. To modify, edit .projenrc.js and run \\\\\\"npx projen\\\\\\".\\"}", + "package.json": "{\\"name\\":\\"cdk-watchful\\",\\"description\\":\\"Watching your CDK apps since 2019\\",\\"repository\\":{\\"type\\":\\"git\\",\\"url\\":\\"https://github.com/eladb/cdk-watchful.git\\"},\\"scripts\\":{\\"build\\":\\"npx projen build\\",\\"bump\\":\\"npx projen bump\\",\\"clobber\\":\\"npx projen clobber\\",\\"compat\\":\\"npx projen compat\\",\\"compile\\":\\"npx projen compile\\",\\"default\\":\\"npx projen default\\",\\"docgen\\":\\"npx projen docgen\\",\\"eject\\":\\"npx projen eject\\",\\"eslint\\":\\"npx projen eslint\\",\\"package\\":\\"npx projen package\\",\\"package-all\\":\\"npx projen package-all\\",\\"package:java\\":\\"npx projen package:java\\",\\"package:js\\":\\"npx projen package:js\\",\\"package:python\\":\\"npx projen package:python\\",\\"post-compile\\":\\"npx projen post-compile\\",\\"post-upgrade\\":\\"npx projen post-upgrade\\",\\"pre-compile\\":\\"npx projen pre-compile\\",\\"release\\":\\"npx projen release\\",\\"test\\":\\"npx projen test\\",\\"test:watch\\":\\"npx projen test:watch\\",\\"unbump\\":\\"npx projen unbump\\",\\"upgrade\\":\\"npx projen upgrade\\",\\"watch\\":\\"npx projen watch\\",\\"projen\\":\\"npx projen\\"},\\"author\\":{\\"name\\":\\"Elad Ben-Israel\\",\\"email\\":\\"elad.benisrael@gmail.com\\",\\"organization\\":false},\\"devDependencies\\":{\\"@aws-cdk/assert\\":\\"^1.75.0\\",\\"@types/jest\\":\\"^27\\",\\"@types/node\\":\\"^16\\",\\"@typescript-eslint/eslint-plugin\\":\\"^5\\",\\"@typescript-eslint/parser\\":\\"^5\\",\\"aws-sdk\\":\\"*\\",\\"eslint\\":\\"^8\\",\\"eslint-import-resolver-node\\":\\"*\\",\\"eslint-import-resolver-typescript\\":\\"*\\",\\"eslint-plugin-import\\":\\"*\\",\\"jest\\":\\"^27\\",\\"jest-junit\\":\\"^13\\",\\"jsii\\":\\"*\\",\\"jsii-diff\\":\\"*\\",\\"jsii-docgen\\":\\"*\\",\\"jsii-pacmak\\":\\"*\\",\\"npm-check-updates\\":\\"^16\\",\\"projen\\":\\"*\\",\\"standard-version\\":\\"^9\\",\\"ts-jest\\":\\"^27\\",\\"typescript\\":\\"*\\"},\\"peerDependencies\\":{\\"@aws-cdk/aws-apigateway\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch-actions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-dynamodb\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs-patterns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-elasticloadbalancingv2\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events-targets\\":\\"^1.75.0\\",\\"@aws-cdk/aws-lambda\\":\\"^1.75.0\\",\\"@aws-cdk/aws-rds\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns-subscriptions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sqs\\":\\"^1.75.0\\",\\"@aws-cdk/core\\":\\"^1.75.0\\",\\"constructs\\":\\"^3.2.27\\"},\\"dependencies\\":{\\"@aws-cdk/aws-apigateway\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch\\":\\"^1.75.0\\",\\"@aws-cdk/aws-cloudwatch-actions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-dynamodb\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs\\":\\"^1.75.0\\",\\"@aws-cdk/aws-ecs-patterns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-elasticloadbalancingv2\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events\\":\\"^1.75.0\\",\\"@aws-cdk/aws-events-targets\\":\\"^1.75.0\\",\\"@aws-cdk/aws-lambda\\":\\"^1.75.0\\",\\"@aws-cdk/aws-rds\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sns-subscriptions\\":\\"^1.75.0\\",\\"@aws-cdk/aws-sqs\\":\\"^1.75.0\\",\\"@aws-cdk/core\\":\\"^1.75.0\\"},\\"keywords\\":[\\"cdk\\",\\"cloudwatch\\",\\"monitoring\\"],\\"engines\\":{\\"node\\":\\">= 16.0.0\\"},\\"main\\":\\"lib/index.js\\",\\"license\\":\\"Apache-2.0\\",\\"version\\":\\"0.0.0\\",\\"jest\\":{\\"testMatch\\":[\\"/src/**/__tests__/**/*.ts?(x)\\",\\"/(test|src)/**/*(*.)@(spec|test).ts?(x)\\"],\\"clearMocks\\":true,\\"collectCoverage\\":true,\\"coverageReporters\\":[\\"json\\",\\"lcov\\",\\"clover\\",\\"cobertura\\",\\"text\\"],\\"coverageDirectory\\":\\"coverage\\",\\"coveragePathIgnorePatterns\\":[\\"/node_modules/\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"watchPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"reporters\\":[\\"default\\",[\\"jest-junit\\",{\\"outputDirectory\\":\\"test-reports\\"}]],\\"preset\\":\\"ts-jest\\",\\"globals\\":{\\"ts-jest\\":{\\"tsconfig\\":\\"tsconfig.dev.json\\"}}},\\"types\\":\\"lib/index.d.ts\\",\\"stability\\":\\"stable\\",\\"jsii\\":{\\"outdir\\":\\"dist\\",\\"targets\\":{\\"java\\":{\\"package\\":\\"com.github.eladb.watchful\\",\\"maven\\":{\\"groupId\\":\\"com.github.eladb\\",\\"artifactId\\":\\"cdk-watchful\\"}},\\"python\\":{\\"distName\\":\\"cdk-watchful\\",\\"module\\":\\"cdk_watchful\\"}},\\"tsc\\":{\\"outDir\\":\\"lib\\",\\"rootDir\\":\\"src\\"}},\\"awscdkio\\":{\\"twitter\\":\\"emeshbi\\"},\\"resolutions\\":{\\"@types/prettier\\":\\"2.6.0\\",\\"@types/babel__traverse\\":\\"7.18.2\\"},\\"//\\":\\"~~ Generated by projen. To modify, edit .projenrc.js and run \\\\\\"npx projen\\\\\\".\\"}", "src/index.ts": "export class Hello { public sayHello() { return 'hello, world!'; @@ -4056,7 +4056,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: diff --git a/test/awscdk/__snapshots__/awscdk-construct.test.ts.snap b/test/awscdk/__snapshots__/awscdk-construct.test.ts.snap new file mode 100644 index 00000000000..69fd9653bb0 --- /dev/null +++ b/test/awscdk/__snapshots__/awscdk-construct.test.ts.snap @@ -0,0 +1,226 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`node version in workflow does setup a custom version 1`] = ` +Object { + "env": Object { + "CI": "true", + }, + "outputs": Object { + "self_mutation_happened": "\${{ steps.self_mutation.outputs.self_mutation_happened }}", + }, + "permissions": Object { + "contents": "write", + }, + "runs-on": "ubuntu-latest", + "steps": Array [ + Object { + "name": "Checkout", + "uses": "actions/checkout@v3", + "with": Object { + "ref": "\${{ github.event.pull_request.head.ref }}", + "repository": "\${{ github.event.pull_request.head.repo.full_name }}", + }, + }, + Object { + "name": "Setup Node.js", + "uses": "actions/setup-node@v3", + "with": Object { + "node-version": "18.x", + }, + }, + Object { + "name": "Install dependencies", + "run": "yarn install --check-files", + }, + Object { + "name": "build", + "run": "npx projen build", + }, + Object { + "id": "self_mutation", + "name": "Find mutations", + "run": "git add . +git diff --staged --patch --exit-code > .repo.patch || echo \\"self_mutation_happened=true\\" >> $GITHUB_OUTPUT", + }, + Object { + "if": "steps.self_mutation.outputs.self_mutation_happened", + "name": "Upload patch", + "uses": "actions/upload-artifact@v3", + "with": Object { + "name": ".repo.patch", + "path": ".repo.patch", + }, + }, + Object { + "if": "steps.self_mutation.outputs.self_mutation_happened", + "name": "Fail build on mutation", + "run": "echo \\"::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch.\\" +cat .repo.patch +exit 1", + }, + Object { + "continue-on-error": true, + "name": "Backup artifact permissions", + "run": "cd dist && getfacl -R . > permissions-backup.acl", + }, + Object { + "name": "Upload artifact", + "uses": "actions/upload-artifact@v3", + "with": Object { + "name": "build-artifact", + "path": "dist", + }, + }, + ], +} +`; + +exports[`node version in workflow does setup default version 1`] = ` +Object { + "env": Object { + "CI": "true", + }, + "outputs": Object { + "self_mutation_happened": "\${{ steps.self_mutation.outputs.self_mutation_happened }}", + }, + "permissions": Object { + "contents": "write", + }, + "runs-on": "ubuntu-latest", + "steps": Array [ + Object { + "name": "Checkout", + "uses": "actions/checkout@v3", + "with": Object { + "ref": "\${{ github.event.pull_request.head.ref }}", + "repository": "\${{ github.event.pull_request.head.repo.full_name }}", + }, + }, + Object { + "name": "Setup Node.js", + "uses": "actions/setup-node@v3", + "with": Object { + "node-version": "16.x", + }, + }, + Object { + "name": "Install dependencies", + "run": "yarn install --check-files", + }, + Object { + "name": "build", + "run": "npx projen build", + }, + Object { + "id": "self_mutation", + "name": "Find mutations", + "run": "git add . +git diff --staged --patch --exit-code > .repo.patch || echo \\"self_mutation_happened=true\\" >> $GITHUB_OUTPUT", + }, + Object { + "if": "steps.self_mutation.outputs.self_mutation_happened", + "name": "Upload patch", + "uses": "actions/upload-artifact@v3", + "with": Object { + "name": ".repo.patch", + "path": ".repo.patch", + }, + }, + Object { + "if": "steps.self_mutation.outputs.self_mutation_happened", + "name": "Fail build on mutation", + "run": "echo \\"::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch.\\" +cat .repo.patch +exit 1", + }, + Object { + "continue-on-error": true, + "name": "Backup artifact permissions", + "run": "cd dist && getfacl -R . > permissions-backup.acl", + }, + Object { + "name": "Upload artifact", + "uses": "actions/upload-artifact@v3", + "with": Object { + "name": "build-artifact", + "path": "dist", + }, + }, + ], +} +`; + +exports[`node version in workflow does use minNodeVersion 1`] = ` +Object { + "env": Object { + "CI": "true", + }, + "outputs": Object { + "self_mutation_happened": "\${{ steps.self_mutation.outputs.self_mutation_happened }}", + }, + "permissions": Object { + "contents": "write", + }, + "runs-on": "ubuntu-latest", + "steps": Array [ + Object { + "name": "Checkout", + "uses": "actions/checkout@v3", + "with": Object { + "ref": "\${{ github.event.pull_request.head.ref }}", + "repository": "\${{ github.event.pull_request.head.repo.full_name }}", + }, + }, + Object { + "name": "Setup Node.js", + "uses": "actions/setup-node@v3", + "with": Object { + "node-version": "18.0.0", + }, + }, + Object { + "name": "Install dependencies", + "run": "yarn install --check-files", + }, + Object { + "name": "build", + "run": "npx projen build", + }, + Object { + "id": "self_mutation", + "name": "Find mutations", + "run": "git add . +git diff --staged --patch --exit-code > .repo.patch || echo \\"self_mutation_happened=true\\" >> $GITHUB_OUTPUT", + }, + Object { + "if": "steps.self_mutation.outputs.self_mutation_happened", + "name": "Upload patch", + "uses": "actions/upload-artifact@v3", + "with": Object { + "name": ".repo.patch", + "path": ".repo.patch", + }, + }, + Object { + "if": "steps.self_mutation.outputs.self_mutation_happened", + "name": "Fail build on mutation", + "run": "echo \\"::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch.\\" +cat .repo.patch +exit 1", + }, + Object { + "continue-on-error": true, + "name": "Backup artifact permissions", + "run": "cd dist && getfacl -R . > permissions-backup.acl", + }, + Object { + "name": "Upload artifact", + "uses": "actions/upload-artifact@v3", + "with": Object { + "name": "build-artifact", + "path": "dist", + }, + }, + ], +} +`; diff --git a/test/awscdk/__snapshots__/lambda-function.test.ts.snap b/test/awscdk/__snapshots__/lambda-function.test.ts.snap index 1d626eab210..79945b343ce 100644 --- a/test/awscdk/__snapshots__/lambda-function.test.ts.snap +++ b/test/awscdk/__snapshots__/lambda-function.test.ts.snap @@ -21,7 +21,7 @@ export class HelloFunction extends cloudfront.experimental.EdgeFunction { super(scope, id, { description: 'src/hello.edge-lambda.ts', ...props, - runtime: new lambda.Runtime('nodejs14.x', lambda.RuntimeFamily.NODEJS), + runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS), handler: 'index.handler', code: lambda.Code.fromAsset(path.join(__dirname, '../assets/hello.edge-lambda')), }); @@ -226,7 +226,7 @@ export class HelloFunction extends lambda.Function { super(scope, id, { description: 'src/hello.lambda.ts', ...props, - runtime: new lambda.Runtime('nodejs14.x', lambda.RuntimeFamily.NODEJS), + runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS), handler: 'index.handler', code: lambda.Code.fromAsset(path.join(__dirname, '../my-assets/hello.lambda')), }); @@ -257,7 +257,7 @@ export class HelloFunction extends lambda.Function { super(scope, id, { description: 'src/hello.lambda.ts', ...props, - runtime: new lambda.Runtime('nodejs14.x', lambda.RuntimeFamily.NODEJS), + runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS), handler: 'index.handler', code: lambda.Code.fromAsset(path.join(__dirname, '../assets/hello.lambda')), }); @@ -286,7 +286,7 @@ export class HelloFunction extends lambda.Function { super(scope, id, { description: 'src/hello.lambda.ts', ...props, - runtime: new lambda.Runtime('nodejs14.x', lambda.RuntimeFamily.NODEJS), + runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS), handler: 'index.handler', code: lambda.Code.fromAsset(path.join(__dirname, '../assets/hello.lambda')), }); @@ -315,7 +315,7 @@ export class WorldFunction extends lambda.Function { super(scope, id, { description: 'src/world.lambda.ts', ...props, - runtime: new lambda.Runtime('nodejs14.x', lambda.RuntimeFamily.NODEJS), + runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS), handler: 'index.handler', code: lambda.Code.fromAsset(path.join(__dirname, '../assets/world.lambda')), }); diff --git a/test/awscdk/awscdk-construct.test.ts b/test/awscdk/awscdk-construct.test.ts index 275708da5bf..46f368039ec 100644 --- a/test/awscdk/awscdk-construct.test.ts +++ b/test/awscdk/awscdk-construct.test.ts @@ -216,23 +216,79 @@ describe("lambda functions", () => { }); }); +describe("node version in workflow", () => { + it("does setup default version", () => { + const project = new TestProject({ cdkVersion: "2.12.0" }); + const snapshot = synthSnapshot(project); + const buildWorkflow = YAML.parse(snapshot[".github/workflows/build.yml"]); + expect(buildWorkflow.jobs.build).toMatchSnapshot(); + expect(buildWorkflow.jobs.build.steps).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + uses: "actions/setup-node@v3", + with: { + "node-version": "16.x", + }, + }), + ]) + ); + }); + + it("does use minNodeVersion", () => { + const project = new TestProject({ + cdkVersion: "2.12.0", + minNodeVersion: "18.0.0", + }); + const snapshot = synthSnapshot(project); + const buildWorkflow = YAML.parse(snapshot[".github/workflows/build.yml"]); + expect(buildWorkflow.jobs.build).toMatchSnapshot(); + expect(buildWorkflow.jobs.build.steps).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + uses: "actions/setup-node@v3", + with: { + "node-version": "18.0.0", + }, + }), + ]) + ); + }); + + it("does setup a custom version", () => { + const project = new TestProject({ + cdkVersion: "2.12.0", + minNodeVersion: "16.0.0", + workflowNodeVersion: "18.x", + }); + const snapshot = synthSnapshot(project); + const buildWorkflow = YAML.parse(snapshot[".github/workflows/build.yml"]); + expect(buildWorkflow.jobs.build).toMatchSnapshot(); + expect(buildWorkflow.jobs.build.steps).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + uses: "actions/setup-node@v3", + with: { + "node-version": "18.x", + }, + }), + ]) + ); + }); +}); + describe("workflow container image", () => { - it("uses jsii/superchain:1-buster-slim for cdk v1", () => { + it("does not use an image by default for cdk v1", () => { const project = new TestProject({ cdkVersion: "1.100.0" }); const snapshot = synthSnapshot(project); const buildWorkflow = YAML.parse(snapshot[".github/workflows/build.yml"]); - expect(buildWorkflow.jobs.build.container.image).toStrictEqual( - "jsii/superchain:1-buster-slim" - ); + expect(buildWorkflow.jobs.build).not.toHaveProperty("container"); }); - it("uses jsii/superchain:1-buster-slim-node14 for cdk v2", () => { + it("does not use an image by default for cdk v2", () => { const project = new TestProject({ cdkVersion: "2.12.0" }); const snapshot = synthSnapshot(project); const buildWorkflow = YAML.parse(snapshot[".github/workflows/build.yml"]); - expect(buildWorkflow.jobs.build.container.image).toStrictEqual( - "jsii/superchain:1-buster-slim-node14" - ); + expect(buildWorkflow.jobs.build).not.toHaveProperty("container"); }); it("uses the user-defined image if specified", () => { diff --git a/test/awscdk/lambda-function.test.ts b/test/awscdk/lambda-function.test.ts index 980b269acfc..0022d82f5c3 100644 --- a/test/awscdk/lambda-function.test.ts +++ b/test/awscdk/lambda-function.test.ts @@ -52,7 +52,7 @@ describe("bundled function", () => { name: "bundle:hello.lambda", steps: [ { - exec: 'esbuild --bundle src/hello.lambda.ts --target="node14" --platform="node" --outfile="my-assets/hello.lambda/index.js" --tsconfig="tsconfig.dev.json" --external:aws-sdk', + exec: 'esbuild --bundle src/hello.lambda.ts --target="node16" --platform="node" --outfile="my-assets/hello.lambda/index.js" --tsconfig="tsconfig.dev.json" --external:aws-sdk', }, ], }); diff --git a/test/cdk/__snapshots__/jsii.test.ts.snap b/test/cdk/__snapshots__/jsii.test.ts.snap index 428456f8b11..bf123f7f89a 100644 --- a/test/cdk/__snapshots__/jsii.test.ts.snap +++ b/test/cdk/__snapshots__/jsii.test.ts.snap @@ -343,7 +343,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -443,7 +443,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -472,7 +472,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -699,7 +699,7 @@ tsconfig.tsbuildinfo Object { "name": "@types/node", "type": "build", - "version": "^14", + "version": "^16", }, Object { "name": "@typescript-eslint/eslint-plugin", @@ -1333,7 +1333,7 @@ UNEXPECTED BREAKING CHANGES: add keys such as 'removed:constructs.Node.of' to .c }, "devDependencies": Object { "@types/jest": "^27", - "@types/node": "^14", + "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^5", "@typescript-eslint/parser": "^5", "eslint": "^8", @@ -1584,7 +1584,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -1655,7 +1655,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -1715,7 +1715,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -1773,7 +1773,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -1835,7 +1835,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -1895,7 +1895,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -1947,7 +1947,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -2006,7 +2006,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -2052,7 +2052,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -2098,7 +2098,7 @@ Object { Object { "uses": "actions/setup-node@v3", "with": Object { - "node-version": "14.x", + "node-version": "16.x", }, }, Object { @@ -2194,7 +2194,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2223,7 +2223,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2256,7 +2256,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-go@v3 with: go-version: ^1.16.0 @@ -2342,7 +2342,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2371,7 +2371,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2404,7 +2404,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-go@v3 with: go-version: ^1.16.0 @@ -2487,7 +2487,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2516,7 +2516,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2549,7 +2549,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-dotnet@v3 with: dotnet-version: 3.x @@ -2630,7 +2630,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2659,7 +2659,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2692,7 +2692,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-dotnet@v3 with: dotnet-version: 3.x diff --git a/test/integration/cdk-watchful.projenrc.js b/test/integration/cdk-watchful.projenrc.js index ce7985dcdb6..70d0ef4b2be 100644 --- a/test/integration/cdk-watchful.projenrc.js +++ b/test/integration/cdk-watchful.projenrc.js @@ -55,7 +55,7 @@ const project = new awscdk.ConstructLibraryAws({ module: 'cdk_watchful', }, - minNodeVersion: '14.0.0', + minNodeVersion: '16.0.0', }); project.gitignore.exclude('.env', '.idea'); diff --git a/test/javascript/bundler.test.ts b/test/javascript/bundler.test.ts index af870af2656..11cc981ba96 100644 --- a/test/javascript/bundler.test.ts +++ b/test/javascript/bundler.test.ts @@ -30,12 +30,12 @@ test("bundler.addBundle() defines a bundle", () => { const hello = p.bundler.addBundle("./src/hello.ts", { platform: "node", - target: "node12", + target: "node16", }); const world = p.bundler.addBundle("./src/foo/world.ts", { platform: "node", - target: "node14", + target: "node18", externals: ["aws-sdk", "request"], sourcemap: true, }); @@ -66,7 +66,7 @@ test("bundler.addBundle() defines a bundle", () => { name: "bundle:hello", steps: [ { - exec: 'esbuild --bundle ./src/hello.ts --target="node12" --platform="node" --outfile="assets/hello/index.js"', + exec: 'esbuild --bundle ./src/hello.ts --target="node16" --platform="node" --outfile="assets/hello/index.js"', }, ], }); @@ -76,7 +76,7 @@ test("bundler.addBundle() defines a bundle", () => { name: "bundle:foo/world", steps: [ { - exec: 'esbuild --bundle ./src/foo/world.ts --target="node14" --platform="node" --outfile="assets/foo/world/index.js" --external:aws-sdk --external:request --sourcemap', + exec: 'esbuild --bundle ./src/foo/world.ts --target="node18" --platform="node" --outfile="assets/foo/world/index.js" --external:aws-sdk --external:request --sourcemap', }, ], }); diff --git a/test/release/__snapshots__/release.test.ts.snap b/test/release/__snapshots__/release.test.ts.snap index dae6b5cd17d..653f4f6f2da 100644 --- a/test/release/__snapshots__/release.test.ts.snap +++ b/test/release/__snapshots__/release.test.ts.snap @@ -92,7 +92,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -117,7 +117,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -412,7 +412,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -437,7 +437,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -732,7 +732,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -758,7 +758,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1052,7 +1052,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1077,7 +1077,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1376,7 +1376,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1443,7 +1443,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1510,7 +1510,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1845,7 +1845,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1870,7 +1870,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-python@v4 with: python-version: 3.x @@ -1973,7 +1973,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -1998,7 +1998,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-python@v4 with: python-version: 3.x @@ -2357,7 +2357,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2594,7 +2594,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2634,7 +2634,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2757,7 +2757,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2783,7 +2783,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2812,7 +2812,7 @@ jobs: java-version: 11.x - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -2840,7 +2840,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-dotnet@v3 with: dotnet-version: 3.x @@ -3133,7 +3133,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -3529,7 +3529,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -3763,7 +3763,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4021,7 +4021,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4046,7 +4046,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-go@v3 with: go-version: ^1.16.0 @@ -4078,7 +4078,7 @@ jobs: java-version: 11.x - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4105,7 +4105,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4129,7 +4129,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-dotnet@v3 with: dotnet-version: 3.x @@ -4155,7 +4155,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - uses: actions/setup-python@v4 with: python-version: 3.x @@ -4497,7 +4497,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4564,7 +4564,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4887,7 +4887,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -4954,7 +4954,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -5021,7 +5021,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -5385,7 +5385,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -5660,7 +5660,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: diff --git a/test/typescript/__snapshots__/typescript.test.ts.snap b/test/typescript/__snapshots__/typescript.test.ts.snap index fc98ce52f47..e1d918ccd18 100644 --- a/test/typescript/__snapshots__/typescript.test.ts.snap +++ b/test/typescript/__snapshots__/typescript.test.ts.snap @@ -410,7 +410,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -623,7 +623,7 @@ tsconfig.tsbuildinfo Object { "name": "@types/node", "type": "build", - "version": "^14", + "version": "^16", }, Object { "name": "@typescript-eslint/eslint-plugin", @@ -1186,7 +1186,7 @@ tsconfig.tsbuildinfo "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".", "devDependencies": Object { "@types/jest": "*", - "@types/node": "^14", + "@types/node": "^16", "@typescript-eslint/eslint-plugin": "^5", "@typescript-eslint/parser": "^5", "eslint": "^8", diff --git a/test/web/__snapshots__/nextjs-project.test.ts.snap b/test/web/__snapshots__/nextjs-project.test.ts.snap index a6093effcb7..c1203b6365b 100644 --- a/test/web/__snapshots__/nextjs-project.test.ts.snap +++ b/test/web/__snapshots__/nextjs-project.test.ts.snap @@ -47,7 +47,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Install dependencies run: yarn install --check-files - name: build @@ -157,7 +157,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: release @@ -185,7 +185,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: @@ -224,7 +224,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: Upgrade dependencies diff --git a/test/web/__snapshots__/nextjs-ts-project.test.ts.snap b/test/web/__snapshots__/nextjs-ts-project.test.ts.snap index 27b89711a08..d6078acc3e1 100644 --- a/test/web/__snapshots__/nextjs-ts-project.test.ts.snap +++ b/test/web/__snapshots__/nextjs-ts-project.test.ts.snap @@ -48,7 +48,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Install dependencies run: yarn install --check-files - name: build @@ -150,7 +150,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Install dependencies run: yarn install --check-files --frozen-lockfile - name: Upgrade dependencies diff --git a/test/web/__snapshots__/react-project.test.ts.snap b/test/web/__snapshots__/react-project.test.ts.snap index e1b7cbd98c7..e3f2d493df5 100644 --- a/test/web/__snapshots__/react-project.test.ts.snap +++ b/test/web/__snapshots__/react-project.test.ts.snap @@ -175,7 +175,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14.x + node-version: 16.x - name: Download build artifacts uses: actions/download-artifact@v3 with: diff --git a/test/web/__snapshots__/react-ts-project.test.ts.snap b/test/web/__snapshots__/react-ts-project.test.ts.snap index 3dbd1747514..247a1b1c5a3 100644 --- a/test/web/__snapshots__/react-ts-project.test.ts.snap +++ b/test/web/__snapshots__/react-ts-project.test.ts.snap @@ -552,7 +552,7 @@ tsconfig.tsbuildinfo Object { "name": "@types/node", "type": "build", - "version": "^14", + "version": "^16", }, Object { "name": "@types/react", @@ -1055,7 +1055,7 @@ tsconfig.tsbuildinfo "@testing-library/react": "*", "@testing-library/user-event": "*", "@types/jest": "*", - "@types/node": "^14", + "@types/node": "^16", "@types/react": "*", "@types/react-dom": "*", "@typescript-eslint/eslint-plugin": "^5", diff --git a/yarn.lock b/yarn.lock index eea0dc4ec28..4d14af25c3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1025,10 +1025,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.5.tgz#3af577099a99c61479149b716183e70b5239324a" integrity sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew== -"@types/node@^14": - version "14.18.40" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.40.tgz#773945366f7531d60473087be12b819f300e3e69" - integrity sha512-pGteXO/JQX7wPxGR8lyT+doqjMa7XvlVowwrDwLfX92k5SdLkk4cwC7CYSLBxrenw/R5oQwKioVIak7ZgplM3g== +"@types/node@^16": + version "16.18.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.16.tgz#09ff98b144abae2d7cce3e9fe9040ab2bf73222c" + integrity sha512-ZOzvDRWp8dCVBmgnkIqYCArgdFOO9YzocZp8Ra25N/RStKiWvMOXHMz+GjSeVNe5TstaTmTWPucGJkDw0XXJWA== "@types/normalize-package-data@^2.4.0": version "2.4.1"