cdk-local 0.1.0 → 0.2.0
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/dist/cli.js +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/{local-start-service-BaS_3XZQ.js → local-start-service-BydO4FOA.js} +43 -9
- package/dist/local-start-service-BydO4FOA.js.map +1 -0
- package/package.json +1 -1
- package/dist/local-start-service-BaS_3XZQ.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as createLocalInvokeCommand, n as createLocalRunTaskCommand, r as createLocalStartApiCommand, t as createLocalStartServiceCommand } from "./local-start-service-
|
|
2
|
+
import { i as createLocalInvokeCommand, n as createLocalRunTaskCommand, r as createLocalStartApiCommand, t as createLocalStartServiceCommand } from "./local-start-service-BydO4FOA.js";
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/index.ts
|
|
6
6
|
const program = new Command();
|
|
7
|
-
program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.
|
|
7
|
+
program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.2.0");
|
|
8
8
|
program.addCommand(createLocalInvokeCommand());
|
|
9
9
|
program.addCommand(createLocalStartApiCommand());
|
|
10
10
|
program.addCommand(createLocalRunTaskCommand());
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/state.ts","../src/local/state-resolver.ts","../src/local/local-state-provider.ts","../src/cli/commands/local-state-source.ts","../src/cli/commands/local-invoke.ts","../src/cli/commands/local-start-api.ts","../src/cli/commands/local-run-task.ts","../src/cli/commands/local-start-service.ts","../src/local/cfn-local-state-provider.ts"],"mappings":";;;;UAuLiB,aAAA;EAEf,UAAA;EAGA,YAAA;EAGA,UAAA,EAAY,MAAA;EAcZ,kBAAA,GAAqB,MAAA;EAGrB,UAAA,GAAa,MAAA;EAGb,YAAA;EAGA,QAAA,GAAW,MAAA;EAmBX,cAAA;EAMA,mBAAA;EAyBA,aAAA;AAAA;;;UCxIe,gBAAA;EACf,SAAA;EACA,MAAA;EACA,SAAA;EACA,SAAA;AAAA;AAAA,UAqBe,kBAAA;EAOf,aAAA,CAAc,UAAA,WAAqB,OAAA;EAQnC,qBAAA,CACE,aAAA,UACA,cAAA,UACA,UAAA,WACC,OAAA;AAAA;AAAA,UAGY,mBAAA;EAEf,SAAA,EAAW,MAAA,SAAe,aAAA;EAE1B,gBAAA,GAAmB,gBAAA;EAOnB,kBAAA,GAAqB,kBAAA;EAOrB,cAAA;AAAA;;;UCrJe,gBAAA;EAQf,SAAA,EAAW,MAAA,SAAe,aAAA;EAO1B,OAAA,EAAS,MAAA;EAOT,MAAA;AAAA;AAAA,UAsBe,kBAAA;EAAA,SAMN,KAAA;EAQT,IAAA,CAAK,SAAA,UAAmB,WAAA,uBAAkC,OAAA,CAAQ,gBAAA;EAalE,uBAAA,CAAwB,cAAA,WAAyB,OAAA,CAAQ,kBAAA;EAKzD,OAAA;AAAA;;;UC/Ee,uBAAA;EAOf,YAAA;EAEA,MAAA;EAEA,OAAA;EAMA,WAAA;EAAA,CAEC,GAAA;AAAA;AAAA,KAQS,yBAAA,IAA6B,OAAA,EAAS,uBAAA,KAA4B,kBAAA;AAAA,KAUlE,mBAAA,GAAsB,MAAA,SAAe,yBAAA;AAAA,iBAUjC,mBAAA,CAAoB,YAAA,oBAAgC,SAAA;AAAA,iBAapD,gBAAA,CAAiB,IAAA,EAAM,IAAA,CAAK,uBAAA;AAAA,iBAgB5B,gBAAA,CACd,OAAA,EAAS,IAAA,CAAK,uBAAA,6BACd,WAAA;AAAA,cAqBW,qBAAA,SAA8B,KAAA;cAC7B,OAAA;AAAA;AAAA,iBAkBE,wCAAA,CACd,OAAA,EAAS,IAAA,CAAK,uBAAA,mBACd,gBAAA;AAAA,iBAiCc,wBAAA,CACd,OAAA,EAAS,uBAAA,EACT,SAAA,UACA,WAAA,sBACA,mBAAA,GAAsB,mBAAA,GACrB,kBAAA;;;UCtEc,+BAAA;EACf,mBAAA,GAAsB,mBAAA;AAAA;AAAA,iBAu2BR,wBAAA,CAAyB,IAAA,GAAM,+BAAA,GAAuC,OAAA;;;UC5vBrE,iCAAA;EACf,mBAAA,GAAsB,mBAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/state.ts","../src/local/state-resolver.ts","../src/local/local-state-provider.ts","../src/cli/commands/local-state-source.ts","../src/cli/commands/local-invoke.ts","../src/cli/commands/local-start-api.ts","../src/cli/commands/local-run-task.ts","../src/cli/commands/local-start-service.ts","../src/local/cfn-local-state-provider.ts"],"mappings":";;;;UAuLiB,aAAA;EAEf,UAAA;EAGA,YAAA;EAGA,UAAA,EAAY,MAAA;EAcZ,kBAAA,GAAqB,MAAA;EAGrB,UAAA,GAAa,MAAA;EAGb,YAAA;EAGA,QAAA,GAAW,MAAA;EAmBX,cAAA;EAMA,mBAAA;EAyBA,aAAA;AAAA;;;UCxIe,gBAAA;EACf,SAAA;EACA,MAAA;EACA,SAAA;EACA,SAAA;AAAA;AAAA,UAqBe,kBAAA;EAOf,aAAA,CAAc,UAAA,WAAqB,OAAA;EAQnC,qBAAA,CACE,aAAA,UACA,cAAA,UACA,UAAA,WACC,OAAA;AAAA;AAAA,UAGY,mBAAA;EAEf,SAAA,EAAW,MAAA,SAAe,aAAA;EAE1B,gBAAA,GAAmB,gBAAA;EAOnB,kBAAA,GAAqB,kBAAA;EAOrB,cAAA;AAAA;;;UCrJe,gBAAA;EAQf,SAAA,EAAW,MAAA,SAAe,aAAA;EAO1B,OAAA,EAAS,MAAA;EAOT,MAAA;AAAA;AAAA,UAsBe,kBAAA;EAAA,SAMN,KAAA;EAQT,IAAA,CAAK,SAAA,UAAmB,WAAA,uBAAkC,OAAA,CAAQ,gBAAA;EAalE,uBAAA,CAAwB,cAAA,WAAyB,OAAA,CAAQ,kBAAA;EAKzD,OAAA;AAAA;;;UC/Ee,uBAAA;EAOf,YAAA;EAEA,MAAA;EAEA,OAAA;EAMA,WAAA;EAAA,CAEC,GAAA;AAAA;AAAA,KAQS,yBAAA,IAA6B,OAAA,EAAS,uBAAA,KAA4B,kBAAA;AAAA,KAUlE,mBAAA,GAAsB,MAAA,SAAe,yBAAA;AAAA,iBAUjC,mBAAA,CAAoB,YAAA,oBAAgC,SAAA;AAAA,iBAapD,gBAAA,CAAiB,IAAA,EAAM,IAAA,CAAK,uBAAA;AAAA,iBAgB5B,gBAAA,CACd,OAAA,EAAS,IAAA,CAAK,uBAAA,6BACd,WAAA;AAAA,cAqBW,qBAAA,SAA8B,KAAA;cAC7B,OAAA;AAAA;AAAA,iBAkBE,wCAAA,CACd,OAAA,EAAS,IAAA,CAAK,uBAAA,mBACd,gBAAA;AAAA,iBAiCc,wBAAA,CACd,OAAA,EAAS,uBAAA,EACT,SAAA,UACA,WAAA,sBACA,mBAAA,GAAsB,mBAAA,GACrB,kBAAA;;;UCtEc,+BAAA;EACf,mBAAA,GAAsB,mBAAA;AAAA;AAAA,iBAu2BR,wBAAA,CAAyB,IAAA,GAAM,+BAAA,GAAuC,OAAA;;;UC5vBrE,iCAAA;EACf,mBAAA,GAAsB,mBAAA;AAAA;AAAA,iBAmqFR,0BAAA,CAA2B,IAAA,GAAM,iCAAA,GAAyC,OAAA;;;UCpzFzE,gCAAA;EACf,mBAAA,GAAsB,mBAAA;AAAA;AAAA,iBAkeR,yBAAA,CAA0B,IAAA,GAAM,gCAAA,GAAwC,OAAA;;;UCtevE,qCAAA;EACf,mBAAA,GAAsB,mBAAA;AAAA;AAAA,iBA+oBR,8BAAA,CACd,IAAA,GAAM,qCAAA,GACL,OAAA;;;UC5qBc,4BAAA;EAOf,YAAA;EAKA,MAAA;EAiBA,OAAA;AAAA;AAAA,cAGW,qBAAA,YAAiC,kBAAA;EAAA,SAG5B,KAAA;EAAA,iBACC,YAAA;EAAA,iBACA,MAAA;EAAA,QAKT,MAAA;EAAA,iBACS,aAAA;EAAA,QAQT,QAAA;cAEI,IAAA,EAAM,4BAAA;EAAA,QAOV,SAAA;EA+BK,IAAA,CACX,UAAA,UACA,YAAA,uBACC,OAAA,CAAQ,gBAAA;EA8DE,uBAAA,CACX,eAAA,WACC,OAAA,CAAQ,kBAAA;EAiEJ,OAAA,CAAA;AAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as LocalStateSourceError, c as rejectExplicitCfnStackWithMultipleStacks, d as CfnLocalStateProvider, i as createLocalInvokeCommand, l as resolveCfnRegion, n as createLocalRunTaskCommand, o as createLocalStateProvider, r as createLocalStartApiCommand, s as isCfnFlagPresent, t as createLocalStartServiceCommand, u as resolveCfnStackName } from "./local-start-service-
|
|
1
|
+
import { a as LocalStateSourceError, c as rejectExplicitCfnStackWithMultipleStacks, d as CfnLocalStateProvider, i as createLocalInvokeCommand, l as resolveCfnRegion, n as createLocalRunTaskCommand, o as createLocalStateProvider, r as createLocalStartApiCommand, s as isCfnFlagPresent, t as createLocalStartServiceCommand, u as resolveCfnStackName } from "./local-start-service-BydO4FOA.js";
|
|
2
2
|
|
|
3
3
|
export { CfnLocalStateProvider, LocalStateSourceError, createLocalInvokeCommand, createLocalRunTaskCommand, createLocalStartApiCommand, createLocalStartServiceCommand, createLocalStateProvider, isCfnFlagPresent, rejectExplicitCfnStackWithMultipleStacks, resolveCfnRegion, resolveCfnStackName };
|
|
@@ -6,7 +6,7 @@ import { dirname, isAbsolute, join, normalize, resolve } from "node:path";
|
|
|
6
6
|
import { Command, Option } from "commander";
|
|
7
7
|
import { AssumeRoleCommand, GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
|
|
8
8
|
import { AssetManifestArtifact } from "@aws-cdk/cloud-assembly-api";
|
|
9
|
-
import { CdkAppMultiContext, Toolkit } from "@aws-cdk/toolkit-lib";
|
|
9
|
+
import { CdkAppMultiContext, NonInteractiveIoHost, Toolkit } from "@aws-cdk/toolkit-lib";
|
|
10
10
|
import { CloudFormationClient, DescribeStackResourcesCommand, DescribeStacksCommand, ListExportsCommand } from "@aws-sdk/client-cloudformation";
|
|
11
11
|
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
12
12
|
import { Readable } from "node:stream";
|
|
@@ -271,6 +271,37 @@ function withErrorHandling(fn) {
|
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
+
//#endregion
|
|
275
|
+
//#region src/synthesis/cdkl-io-host.ts
|
|
276
|
+
/**
|
|
277
|
+
* Custom IoHost that prevents cdk-local from coloring CDK app subprocess
|
|
278
|
+
* stderr lines as errors.
|
|
279
|
+
*
|
|
280
|
+
* `@aws-cdk/toolkit-lib` classifies every line a synthesized CDK app
|
|
281
|
+
* emits on stderr as `CDK_ASSEMBLY_E1002` — an error-level message —
|
|
282
|
+
* which the default `NonInteractiveIoHost` colors red via chalk. CDK
|
|
283
|
+
* apps routinely emit non-error progress on stderr (e.g. the
|
|
284
|
+
* "Bundling asset ..." lines `aws-cdk-lib`'s asset bundlers print at
|
|
285
|
+
* synth time), so the default styling fires red on benign output and
|
|
286
|
+
* trains users to dismiss the color in the UI.
|
|
287
|
+
*
|
|
288
|
+
* cdk-local re-classifies `CDK_ASSEMBLY_E1002` as info-level so the
|
|
289
|
+
* line renders in the default terminal color. Real CDK app failures
|
|
290
|
+
* still surface — toolkit-lib raises an `AssemblyError` when the
|
|
291
|
+
* subprocess exits non-zero and the parent throws straight out of
|
|
292
|
+
* `Synthesizer.synthesize()`. The only change here is the color of the
|
|
293
|
+
* progress lines mid-synth.
|
|
294
|
+
*/
|
|
295
|
+
var CdklIoHost = class extends NonInteractiveIoHost {
|
|
296
|
+
async notify(msg) {
|
|
297
|
+
if (msg.code === "CDK_ASSEMBLY_E1002") return super.notify({
|
|
298
|
+
...msg,
|
|
299
|
+
level: "info"
|
|
300
|
+
});
|
|
301
|
+
return super.notify(msg);
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
|
|
274
305
|
//#endregion
|
|
275
306
|
//#region src/synthesis/assembly-reader.ts
|
|
276
307
|
var AssemblyReader = class {
|
|
@@ -279,7 +310,7 @@ var AssemblyReader = class {
|
|
|
279
310
|
* artifact in the resulting Cloud Assembly.
|
|
280
311
|
*/
|
|
281
312
|
async read(cdkAppCommand, options = {}) {
|
|
282
|
-
const toolkit = new Toolkit();
|
|
313
|
+
const toolkit = new Toolkit({ ioHost: new CdklIoHost() });
|
|
283
314
|
const hasContextOverrides = options.context !== void 0 && Object.keys(options.context).length > 0;
|
|
284
315
|
const source = await toolkit.fromCdkApp(cdkAppCommand, {
|
|
285
316
|
...options.outdir !== void 0 && { outdir: options.outdir },
|
|
@@ -298,7 +329,7 @@ var AssemblyReader = class {
|
|
|
298
329
|
* Read a pre-synthesized Cloud Assembly directory (no subprocess).
|
|
299
330
|
*/
|
|
300
331
|
async readFromDirectory(assemblyDir) {
|
|
301
|
-
const toolkit = new Toolkit();
|
|
332
|
+
const toolkit = new Toolkit({ ioHost: new CdklIoHost() });
|
|
302
333
|
const source = await toolkit.fromAssemblyDirectory(assemblyDir);
|
|
303
334
|
const cached = await toolkit.synth(source);
|
|
304
335
|
try {
|
|
@@ -13928,8 +13959,9 @@ async function localStartApiCommand(target, options, extraStateProviders) {
|
|
|
13928
13959
|
...Object.keys(context).length > 0 && { context }
|
|
13929
13960
|
};
|
|
13930
13961
|
const { stacks } = await synthesizer.synthesize(synthOpts);
|
|
13931
|
-
const
|
|
13932
|
-
|
|
13962
|
+
const cfnStackFallback = typeof options.fromCfnStack === "string" ? options.fromCfnStack : void 0;
|
|
13963
|
+
const targetStacks = pickTargetStacks(stacks, options.stack, cfnStackFallback);
|
|
13964
|
+
if (targetStacks.length === 0) throw new Error("No stacks matched. Pass --stack <name> (or --from-cfn-stack <name>) or run from a single-stack app.");
|
|
13933
13965
|
const routes = discoverRoutes(targetStacks);
|
|
13934
13966
|
const wsDiscovery = discoverWebSocketApis(targetStacks);
|
|
13935
13967
|
if (wsDiscovery.errors.length > 0) for (const e of wsDiscovery.errors) logger.warn(`WebSocket discovery: ${e}`);
|
|
@@ -14305,11 +14337,13 @@ async function localStartApiCommand(target, options, extraStateProviders) {
|
|
|
14305
14337
|
* of stacks the route-discovery walks. Mirrors the deploy/diff matcher
|
|
14306
14338
|
* routing rules.
|
|
14307
14339
|
*/
|
|
14308
|
-
|
|
14309
|
-
|
|
14340
|
+
/** @internal exported for unit tests. */
|
|
14341
|
+
function pickTargetStacks(stacks, pattern, cfnStackFallback) {
|
|
14342
|
+
const effective = pattern ?? cfnStackFallback;
|
|
14343
|
+
if (effective) return matchStacks(stacks, [effective]);
|
|
14310
14344
|
if (stacks.length === 1) return stacks;
|
|
14311
14345
|
if (stacks.length === 0) return [];
|
|
14312
|
-
throw new Error(`Multi-stack app: pass --stack <name> to pick a target. Available stacks: ${stacks.map((s) => s.stackName).join(", ")}.`);
|
|
14346
|
+
throw new Error(`Multi-stack app: pass --stack <name> (or --from-cfn-stack <name>) to pick a target. Available stacks: ${stacks.map((s) => s.stackName).join(", ")}.`);
|
|
14313
14347
|
}
|
|
14314
14348
|
/**
|
|
14315
14349
|
* Distinct, stable list of Lambda logical IDs reachable through any
|
|
@@ -17803,4 +17837,4 @@ function createLocalStartServiceCommand(opts = {}) {
|
|
|
17803
17837
|
|
|
17804
17838
|
//#endregion
|
|
17805
17839
|
export { LocalStateSourceError as a, rejectExplicitCfnStackWithMultipleStacks as c, CfnLocalStateProvider as d, createLocalInvokeCommand as i, resolveCfnRegion as l, createLocalRunTaskCommand as n, createLocalStateProvider as o, createLocalStartApiCommand as r, isCfnFlagPresent as s, createLocalStartServiceCommand as t, resolveCfnStackName as u };
|
|
17806
|
-
//# sourceMappingURL=local-start-service-
|
|
17840
|
+
//# sourceMappingURL=local-start-service-BydO4FOA.js.map
|