@go-to-k/cdkd 0.94.3 → 0.94.5
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 +2 -0
- package/dist/cli.js +15 -10
- package/dist/cli.js.map +2 -2
- package/dist/go-to-k-cdkd-0.94.5.tgz +0 -0
- package/package.json +1 -1
- package/dist/go-to-k-cdkd-0.94.3.tgz +0 -0
package/README.md
CHANGED
|
@@ -8,6 +8,8 @@ Drop-in CDK CLI for existing CDK apps — faster deploys via AWS SDK instead of
|
|
|
8
8
|
|
|
9
9
|

|
|
10
10
|
|
|
11
|
+
**cdkd complements the AWS CDK CLI rather than replacing it.** Use cdkd in dev/test for rapid iteration and SAM-style local execution; use the AWS CDK CLI in production for full CloudFormation tooling. Bidirectional migration is supported — [import an existing CloudFormation stack](#importing-existing-resources) into cdkd for iteration, or [export back to CloudFormation](#exporting-a-stack-back-to-cloudformation) when ready for production.
|
|
12
|
+
|
|
11
13
|
> **⚠️ WARNING: NOT PRODUCTION READY**
|
|
12
14
|
>
|
|
13
15
|
> An experimental project exploring direct SDK provisioning as an alternative to the AWS CDK CLI — **NOT a replacement** and **NOT suitable for production use**. Features are incomplete, APIs may change without notice, and bugs may affect your AWS infrastructure. Use at your own risk in development / testing environments only.
|
package/dist/cli.js
CHANGED
|
@@ -80297,15 +80297,6 @@ async function exportCommand(stackArg, options) {
|
|
|
80297
80297
|
`${blocked.length} resource(s) block migration. Either destroy them first (cdkd destroy / cdkd state destroy cherry-picked), or remove them from the CDK app and re-synthesize.`
|
|
80298
80298
|
);
|
|
80299
80299
|
}
|
|
80300
|
-
if (phase2Creates.length > 0 && !options.includeNonImportable) {
|
|
80301
|
-
logger.error("The following resources cannot be imported into CloudFormation:");
|
|
80302
|
-
for (const p of phase2Creates) {
|
|
80303
|
-
logger.error(` - ${p.logicalId} (${p.resourceType}): CFn cannot import this type`);
|
|
80304
|
-
}
|
|
80305
|
-
throw new Error(
|
|
80306
|
-
`${phase2Creates.length} non-importable resource(s) detected (Custom::*). Pass --include-non-importable to run a 2-phase migration: phase 1 imports the importable resources; phase 2 CFn-CREATEs the non-importable ones (re-invoking each Custom Resource's backing Lambda onCreate handler \u2014 make sure those are idempotent). Or destroy these resources first.`
|
|
80307
|
-
);
|
|
80308
|
-
}
|
|
80309
80300
|
if (phase1Imports.length === 0 && phase2Creates.length === 0 && recreateBeforePhase2.length === 0) {
|
|
80310
80301
|
logger.warn("No resources to migrate \u2014 cdkd state is empty.");
|
|
80311
80302
|
return;
|
|
@@ -80336,9 +80327,23 @@ async function exportCommand(stackArg, options) {
|
|
|
80336
80327
|
logger.info("");
|
|
80337
80328
|
}
|
|
80338
80329
|
if (options.dryRun) {
|
|
80330
|
+
if (phase2Creates.length > 0 && !options.includeNonImportable) {
|
|
80331
|
+
logger.warn(
|
|
80332
|
+
`${phase2Creates.length} non-importable resource(s) detected (Custom::*). A real run (without --dry-run) would require --include-non-importable to run a 2-phase migration: phase 1 imports the importable resources; phase 2 CFn-CREATEs the non-importable ones (re-invoking each Custom Resource's backing Lambda onCreate handler \u2014 make sure those are idempotent).`
|
|
80333
|
+
);
|
|
80334
|
+
}
|
|
80339
80335
|
logger.info("--dry-run: no CloudFormation changeset will be created.");
|
|
80340
80336
|
return;
|
|
80341
80337
|
}
|
|
80338
|
+
if (phase2Creates.length > 0 && !options.includeNonImportable) {
|
|
80339
|
+
logger.error("The following resources cannot be imported into CloudFormation:");
|
|
80340
|
+
for (const p of phase2Creates) {
|
|
80341
|
+
logger.error(` - ${p.logicalId} (${p.resourceType}): CFn cannot import this type`);
|
|
80342
|
+
}
|
|
80343
|
+
throw new Error(
|
|
80344
|
+
`${phase2Creates.length} non-importable resource(s) detected (Custom::*). Pass --include-non-importable to run a 2-phase migration: phase 1 imports the importable resources; phase 2 CFn-CREATEs the non-importable ones (re-invoking each Custom Resource's backing Lambda onCreate handler \u2014 make sure those are idempotent). Or destroy these resources first.`
|
|
80345
|
+
);
|
|
80346
|
+
}
|
|
80342
80347
|
if (!options.yes) {
|
|
80343
80348
|
const phase2Note = phase2Creates.length > 0 ? ` Phase 2 will then CREATE ${phase2Creates.length} non-importable resource(s) (invoking each Custom Resource's onCreate handler).` : "";
|
|
80344
80349
|
const recreateNote = recreateBeforePhase2.length > 0 ? ` cdkd will also DELETE ${recreateBeforePhase2.length} AWS resource(s) between phases so CFn can re-CREATE them in phase 2 (brief unavailability window \u2014 see plan above for the affected resources).` : "";
|
|
@@ -81176,7 +81181,7 @@ function reorderArgs(argv) {
|
|
|
81176
81181
|
}
|
|
81177
81182
|
async function main() {
|
|
81178
81183
|
const program = new Command18();
|
|
81179
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.94.
|
|
81184
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.94.5");
|
|
81180
81185
|
program.addCommand(createBootstrapCommand());
|
|
81181
81186
|
program.addCommand(createSynthCommand());
|
|
81182
81187
|
program.addCommand(createListCommand());
|