From 6b421dbb0688e1da6a8f78a8f83773e81d9dc36d Mon Sep 17 00:00:00 2001 From: Rico Hermans Date: Wed, 16 Apr 2025 14:19:32 +0200 Subject: [PATCH 1/2] fix: Symbol.asyncDispose is not defined on the current JavaScript platform (#376) We have a polyfill file that should be imported before `Symbol.asyncDispose` is used anywhere. The polyfill file is imported in the entry point of `@aws-cdk/toolkit-lib`, but we can't guarantee that all imports go through the entry point. Instead, import the polyfill in every file where `Symbol.asyncDispose` is used. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license --- .../toolkit-lib/lib/api/cloud-assembly/cached-source.ts | 1 + .../lib/api/cloud-assembly/private/borrowed-assembly.ts | 1 + .../lib/api/cloud-assembly/private/prepare-source.ts | 1 + .../lib/api/cloud-assembly/private/stack-assembly.ts | 6 +----- packages/@aws-cdk/toolkit-lib/lib/toolkit/toolkit.ts | 1 + 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/cached-source.ts b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/cached-source.ts index b296a6384..c447a404c 100644 --- a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/cached-source.ts +++ b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/cached-source.ts @@ -1,3 +1,4 @@ +import '../../private/dispose-polyfill'; import type * as cxapi from '@aws-cdk/cx-api'; import { BorrowedAssembly } from './private/borrowed-assembly'; import type { ICloudAssemblySource, IReadableCloudAssembly } from './types'; diff --git a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/borrowed-assembly.ts b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/borrowed-assembly.ts index 068a6cf30..4a4aafdfc 100644 --- a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/borrowed-assembly.ts +++ b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/borrowed-assembly.ts @@ -1,3 +1,4 @@ +import '../../../private/dispose-polyfill'; import type * as cxapi from '@aws-cdk/cx-api'; import type { IReadableCloudAssembly } from '../types'; diff --git a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/prepare-source.ts b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/prepare-source.ts index 761d76617..a9df67f16 100644 --- a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/prepare-source.ts +++ b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/prepare-source.ts @@ -1,3 +1,4 @@ +import '../../../private/dispose-polyfill'; import * as os from 'node:os'; import * as path from 'node:path'; import { format } from 'node:util'; diff --git a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/stack-assembly.ts b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/stack-assembly.ts index b417eb33d..3abf4bc62 100644 --- a/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/stack-assembly.ts +++ b/packages/@aws-cdk/toolkit-lib/lib/api/cloud-assembly/private/stack-assembly.ts @@ -1,3 +1,4 @@ +import '../../../private/dispose-polyfill'; import { major } from 'semver'; import type { IoHelper } from '../../shared-private'; import { BaseStackAssembly, StackCollection, ExtendedStackSelection as CliExtendedStackSelection } from '../../shared-private'; @@ -6,11 +7,6 @@ import type { StackSelector } from '../stack-selector'; import { ExpandStackSelection, StackSelectionStrategy } from '../stack-selector'; import type { IReadableCloudAssembly } from '../types'; -if (!Symbol.asyncDispose) { - // eslint-disable-next-line @cdklabs/no-throw-default-error - throw new Error('Symbol.asyncDispose is not defined on the current JavaScript platform!'); -} - /** * A single Cloud Assembly wrapped to provide additional stack operations. */ diff --git a/packages/@aws-cdk/toolkit-lib/lib/toolkit/toolkit.ts b/packages/@aws-cdk/toolkit-lib/lib/toolkit/toolkit.ts index 941fefb87..a89aaad82 100644 --- a/packages/@aws-cdk/toolkit-lib/lib/toolkit/toolkit.ts +++ b/packages/@aws-cdk/toolkit-lib/lib/toolkit/toolkit.ts @@ -1,3 +1,4 @@ +import '../private/dispose-polyfill'; import * as path from 'node:path'; import type { TemplateDiff } from '@aws-cdk/cloudformation-diff'; import * as cxapi from '@aws-cdk/cx-api'; From af41cf7bc54a47b9c5016206b319fc84602a43bb Mon Sep 17 00:00:00 2001 From: Eli Polonsky Date: Wed, 16 Apr 2025 17:05:42 +0300 Subject: [PATCH 2/2] chore: `@aws-cdk/toolkit-lib` is now a part of the toolkit packages (#380) Until we sort out https://github.com/aws/aws-cdk-cli/pull/364 properly, lets at least do this so that toolkit changes trigger a CLI release. --- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license --- .projenrc.ts | 1 + packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json | 4 ++-- packages/@aws-cdk/integ-runner/.projen/tasks.json | 4 ++-- packages/aws-cdk/.projen/tasks.json | 4 ++-- packages/cdk/.projen/tasks.json | 4 ++-- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.projenrc.ts b/.projenrc.ts index 51f95f494..07c58d42a 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -174,6 +174,7 @@ function transitiveToolkitPackages(thisPkg: string) { '@aws-cdk/tmp-toolkit-helpers', '@aws-cdk/cloud-assembly-schema', '@aws-cdk/cloudformation-diff', + '@aws-cdk/toolkit-lib', ]; return transitiveFeaturesAndFixes(thisPkg, toolkitPackages.filter(name => name !== thisPkg)); diff --git a/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json b/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json index 6c3d27536..84fd761a1 100644 --- a/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json +++ b/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json @@ -33,7 +33,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts copyVersion:../../../packages/aws-cdk/package.json append:-alpha.0", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff", + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff ../toolkit-lib", "MAJOR": "2" }, "steps": [ @@ -300,7 +300,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts copyVersion:../../../packages/aws-cdk/package.json append:-alpha.0", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff ../toolkit-lib" }, "steps": [ { diff --git a/packages/@aws-cdk/integ-runner/.projen/tasks.json b/packages/@aws-cdk/integ-runner/.projen/tasks.json index 1cbc2e224..6c9406e1b 100644 --- a/packages/@aws-cdk/integ-runner/.projen/tasks.json +++ b/packages/@aws-cdk/integ-runner/.projen/tasks.json @@ -32,7 +32,7 @@ "RELEASE_TAG_PREFIX": "@aws-cdk/integ-runner@", "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff ../toolkit-lib" }, "steps": [ { @@ -198,7 +198,7 @@ "RELEASE_TAG_PREFIX": "@aws-cdk/integ-runner@", "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../tmp-toolkit-helpers ../cloud-assembly-schema ../cloudformation-diff ../toolkit-lib" }, "steps": [ { diff --git a/packages/aws-cdk/.projen/tasks.json b/packages/aws-cdk/.projen/tasks.json index 09260deee..daa8cae78 100644 --- a/packages/aws-cdk/.projen/tasks.json +++ b/packages/aws-cdk/.projen/tasks.json @@ -33,7 +33,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts maybeRcOrMinor", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff", + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff ../@aws-cdk/toolkit-lib", "MAJOR": "2" }, "steps": [ @@ -210,7 +210,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts maybeRcOrMinor", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff ../@aws-cdk/toolkit-lib" }, "steps": [ { diff --git a/packages/cdk/.projen/tasks.json b/packages/cdk/.projen/tasks.json index 3244969cb..0be9a4f2b 100644 --- a/packages/cdk/.projen/tasks.json +++ b/packages/cdk/.projen/tasks.json @@ -33,7 +33,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts copyVersion:../../packages/aws-cdk/package.json", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff", + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff ../@aws-cdk/toolkit-lib", "MAJOR": "2" }, "steps": [ @@ -193,7 +193,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts copyVersion:../../packages/aws-cdk/package.json", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk ../@aws-cdk/tmp-toolkit-helpers ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff ../@aws-cdk/toolkit-lib" }, "steps": [ {