@go-to-k/cdkd 0.230.19 → 0.230.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/cli.js +9 -6
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-Bdy5xKSQ.js → deploy-engine-C92fYX-D.js} +69 -37
- package/dist/deploy-engine-C92fYX-D.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-Bdy5xKSQ.js.map +0 -1
package/README.md
CHANGED
|
@@ -23,6 +23,27 @@ Drop-in CDK CLI for existing CDK apps — faster deploys via AWS SDK instead of
|
|
|
23
23
|
|
|
24
24
|
Numbers below are deploy-phase only (CDK app synthesis is identical between cdkd and AWS CDK — both run the same user code through `aws-cdk-lib`'s synthesizer — so synth time is excluded from the speedup calculation).
|
|
25
25
|
|
|
26
|
+
### vs CloudFormation Express mode — faster than CloudFormation's own fast-deploy option
|
|
27
|
+
|
|
28
|
+
CloudFormation's [Express mode](https://aws.amazon.com/about-aws/whats-new/2026/06/aws-cloudformation-cdk/) is a fast-deploy option that skips resource stabilization waits, similar in spirit to cdkd's `--no-wait`. Even so, cdkd is faster than Express on nearly every stack, and with `--no-wait` it pulls dramatically ahead on stacks dominated by async resources.
|
|
29
|
+
|
|
30
|
+
| Stack | Normal (CFn) | Express | cdkd | cdkd `--no-wait` |
|
|
31
|
+
| --- | ---: | ---: | ---: | ---: |
|
|
32
|
+
| VPC + Lambda + SQS + CloudFront | 562 | 366 | 197 | **40** |
|
|
33
|
+
| DynamoDB | 34 | 34 | 19 | 15 |
|
|
34
|
+
| DynamoDB + KMS | 71 | 55 | 27 | 27 |
|
|
35
|
+
| EC2 | 44 | 31 | 27 | 26 |
|
|
36
|
+
| Lambda | 55 | 34 | 23 | 22 |
|
|
37
|
+
| S3 | 39 | 22 | 23 | 24 |
|
|
38
|
+
| SQS | 83 | 22 | **9** | 9 |
|
|
39
|
+
| SQS + CloudWatch | 87 | 44 | 30 | 31 |
|
|
40
|
+
|
|
41
|
+
Best of 3 runs, deploy-phase only, seconds, `us-west-2`. The `VPC + Lambda + SQS + CloudFront` stack is 1 VPC (2 AZs, NAT Gateway, public + private subnets) + VPC Lambda + Lambda Function URL + CloudFront Distribution + SQS + EventSourceMapping + Consumer Lambda.
|
|
42
|
+
|
|
43
|
+
- **~1.5–2x faster than Express on most stacks** — e.g. SQS finishes in 9s vs Express's 22s (~2.4x).
|
|
44
|
+
- **Async-heavy stacks are where the gap explodes.** On the VPC + CloudFront stack, `cdkd --no-wait` finishes in 40s vs Express's 366s (~9x) — cdkd returns as soon as each create call returns, leaving CloudFront propagation and NAT Gateway stabilization to complete in the background.
|
|
45
|
+
- **S3 is the one case where Express edges cdkd's default** (22s vs 23s). On a near-instant single-resource stack there is little left to parallelize, and `--no-wait` makes no difference there.
|
|
46
|
+
|
|
26
47
|
### SDK Provider path — **5.5x faster** (17.0s vs 94.4s)
|
|
27
48
|
|
|
28
49
|
Stack: S3 Bucket, DynamoDB Table, SQS Queue, SNS Topic, SSM Parameter (5 independent resources, fully parallelized by cdkd's DAG scheduler).
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { A as withErrorHandling, B as generateResourceName, C as StackHasActiveImportsError, F as getLiveRenderer, H as withSkipPrefix, I as PATTERN_B_NAME_OPTIONS, L as PATTERN_B_NAME_PROPERTIES, M as getLogger, P as runStackBuffered, R as PATTERN_B_RESOURCE_TYPES, S as ResourceUpdateNotSupportedError, U as withStackName, V as generateResourceNameWithFallback, _ as MissingCdkCliError, a as assertRegionMatch, b as ProvisioningError, f as LocalInvokeBuildError$1, i as resolveExplicitPhysicalId, k as normalizeAwsError, l as CdkdError, m as LocalStartServiceError, n as matchesCdkPath, o as disableInstanceApiTermination, p as LocalMigrateError, r as normalizeAwsTagsToCfn, s as isTerminationProtectionPropagationError, t as CDK_PATH_TAG, v as NestedStackChildDirectDestroyError, w as StackTerminationProtectionError, x as ResourceTimeoutError, y as PartialFailureError } from "./import-helpers-DayvBD4T.js";
|
|
3
3
|
import { a as setAwsClients, i as resetAwsClients, r as getAwsClients, t as AwsClients } from "./aws-clients-pjPwZz1r.js";
|
|
4
|
-
import { $ as
|
|
4
|
+
import { $ as resolveStateBucketWithDefaultAndSource, A as TemplateParser, B as getDockerCmd, C as findActionableSilentDrops, D as applyRoleArnIfSet, E as cfnRefValueFromPhysicalId, F as AssetPublisher, G as Synthesizer, H as runDockerStreaming, I as stringifyValue, J as getLegacyStateBucketName, K as synthesisStatusMessage, L as WorkGraph, M as S3StateBackend, N as rebuildClientForBucketRegion, O as DiffCalculator, P as shouldRetainResource, Q as resolveStateBucketWithDefault, R as buildDockerImage, S as ProviderRegistry, T as IntrinsicFunctionResolver, U as AssetManifestLoader, V as runDockerForeground, W as getDockerImageBySourceHash, X as resolveCaptureObservedState, Y as resolveApp, Z as resolveSkipPrefix, _ as green, a as withRetry, at as uploadCfnTemplate, b as IAMRoleProvider, c as computeImplicitDeleteEdges, ct as resolveBucketRegion, d as isStatefulRecreateTargetSync, et as warnDeprecatedNoPrefixCliFlag, f as renderStatefulReason, g as gray, h as cyan, i as withResourceDeadline, it as findLargeInlineResources, j as LockManager, k as DagBuilder, l as extractDeploymentEventError, m as bold, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nt as CFN_TEMPLATE_URL_LIMIT, o as isRetryableTransientError, ot as AssemblyReader, p as formatResourceLine, q as getDefaultStateBucketName, r as DeployEngine, rt as MIGRATE_TMP_PREFIX, s as IMPLICIT_DELETE_DEPENDENCIES, t as DEFAULT_RESOURCE_TIMEOUT_MS, tt as CFN_TEMPLATE_BODY_LIMIT, u as MULTI_REGION_RECREATE_BLOCKED_TYPES, v as red, w as CloudControlProvider, x as collectInlinePolicyNamesManagedBySiblings, y as yellow, z as formatDockerLoginError } from "./deploy-engine-C92fYX-D.js";
|
|
5
5
|
import { t as ASGProvider } from "./asg-provider-Dgj3loIG.js";
|
|
6
6
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
7
7
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
@@ -1445,7 +1445,7 @@ const FLUSH_INTERVAL_MS = 2e3;
|
|
|
1445
1445
|
const FLUSH_EVENT_THRESHOLD = 50;
|
|
1446
1446
|
/** Build-time cdkd version, with a dev fallback for non-built contexts. */
|
|
1447
1447
|
function getCdkdVersion() {
|
|
1448
|
-
return "0.230.
|
|
1448
|
+
return "0.230.21";
|
|
1449
1449
|
}
|
|
1450
1450
|
/**
|
|
1451
1451
|
* Generate a time-sortable unique run id, e.g.
|
|
@@ -40450,13 +40450,16 @@ var AttributeFetcher = class {
|
|
|
40450
40450
|
this.options = options;
|
|
40451
40451
|
}
|
|
40452
40452
|
/**
|
|
40453
|
-
* Return the orphan's resolved value for `Ref`
|
|
40454
|
-
*
|
|
40453
|
+
* Return the orphan's resolved value for `Ref` — never needs an AWS call.
|
|
40454
|
+
* Uses the shared {@link cfnRefValueFromPhysicalId} so types whose CFn `Ref`
|
|
40455
|
+
* is NOT the raw physical id (compound `<parent>|<child>` CC ids, ARN-stored
|
|
40456
|
+
* SDK ids like `AWS::Events::Rule`) substitute the same value CloudFormation
|
|
40457
|
+
* would have resolved.
|
|
40455
40458
|
*/
|
|
40456
40459
|
ref(orphanLogicalId) {
|
|
40457
40460
|
const o = this.orphans[orphanLogicalId];
|
|
40458
40461
|
if (!o) throw new Error(`Internal: Ref to '${orphanLogicalId}' has no orphan entry — should have been filtered out`);
|
|
40459
|
-
return o.physicalId;
|
|
40462
|
+
return cfnRefValueFromPhysicalId(o.resourceType, o.physicalId);
|
|
40460
40463
|
}
|
|
40461
40464
|
/**
|
|
40462
40465
|
* Return the orphan's resolved value for `Fn::GetAtt`. Hits the live
|
|
@@ -55380,7 +55383,7 @@ function reorderArgs(argv) {
|
|
|
55380
55383
|
async function main() {
|
|
55381
55384
|
installPipeCloseHandler();
|
|
55382
55385
|
const program = new Command();
|
|
55383
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.230.
|
|
55386
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.230.21");
|
|
55384
55387
|
program.addCommand(createBootstrapCommand());
|
|
55385
55388
|
program.addCommand(createSynthCommand());
|
|
55386
55389
|
program.addCommand(createListCommand());
|