cdk-local 0.149.7 → 0.149.9
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/cdkl-io-host-DYuHWzAS.js +26 -0
- package/dist/cdkl-io-host-DYuHWzAS.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/docker-cmd-C2kvSLVs.js +557 -0
- package/dist/docker-cmd-C2kvSLVs.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +71 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -3
- package/dist/{local-studio-D-j3TZWX.d.ts → local-studio-C9L3lxW_.d.ts} +3 -1
- package/dist/local-studio-C9L3lxW_.d.ts.map +1 -0
- package/dist/{local-studio-U-gD2HSf.js → local-studio-CcK2y5Gs.js} +581 -12237
- package/dist/local-studio-CcK2y5Gs.js.map +1 -0
- package/dist/logger-CuUAMAnt.js +140 -0
- package/dist/logger-CuUAMAnt.js.map +1 -0
- package/package.json +3 -7
- package/dist/docker-cmd-leyvDn1u.js +0 -1659
- package/dist/docker-cmd-leyvDn1u.js.map +0 -1
- package/dist/local-studio-D-j3TZWX.d.ts.map +0 -1
- package/dist/local-studio-U-gD2HSf.js.map +0 -1
package/README.md
CHANGED
|
@@ -200,6 +200,8 @@ Each top-level JSON key picks which target to overlay:
|
|
|
200
200
|
|
|
201
201
|
`--env-vars` overlays the env block after the template's literals and any resolved ECS `Secrets[]` have been applied. A per-target key (from the table above) wins over `Parameters`. A `null` value clears the key — use the JSON literal `null`, not the string `"null"`.
|
|
202
202
|
|
|
203
|
+
CloudFormation dynamic references in a container's env — `{{resolve:secretsmanager:...}}`, `{{resolve:ssm:...}}`, `{{resolve:ssm-secure:...}}` — are resolved with your credentials before the container starts, as CloudFormation resolves them for the deployed resource. A lookup that fails stops the command with an error naming the reference and the IAM permission instead of passing the token through, and an `--env-vars` override of the variable skips the lookup. Rules: [docs/cli-reference.md#environment-variables](docs/cli-reference.md#environment-variables).
|
|
204
|
+
|
|
203
205
|
`--env-vars` can be combined with `--from-cfn-stack`: the latter resolves intrinsics (`Ref` / `Fn::ImportValue` / `Fn::GetStackOutput` / `Fn::GetAtt`) against the deployed stack first, then `--env-vars` overlays your overrides on top. Running standalone (no `--from-cfn-stack`), env vars whose template value is an intrinsic can't be resolved and are dropped with a warning — `--env-vars` is how you supply a concrete value for them.
|
|
204
206
|
|
|
205
207
|
When pointing a container at a tunneled VPC resource (e.g. an Aurora cluster reached via a local port forward), use `host.docker.internal` instead of `127.0.0.1` — `127.0.0.1` inside the container is the container itself, not the host where the tunnel listens.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { n as resolveConfiguredLogLevel } from "./logger-CuUAMAnt.js";
|
|
2
|
+
import { NonInteractiveIoHost } from "@aws-cdk/toolkit-lib";
|
|
3
|
+
|
|
4
|
+
//#region src/synthesis/cdkl-io-host.ts
|
|
5
|
+
var CdklIoHost = class extends NonInteractiveIoHost {
|
|
6
|
+
suppressNonWarnings = (() => {
|
|
7
|
+
const level = resolveConfiguredLogLevel();
|
|
8
|
+
return level === "warn" || level === "error";
|
|
9
|
+
})();
|
|
10
|
+
async notify(msg) {
|
|
11
|
+
if (isStackIdTemplateHint(msg)) return;
|
|
12
|
+
const reclassified = msg.code === "CDK_ASSEMBLY_E1002" || msg.code === "CDK_TOOLKIT_I1901" || msg.code === "CDK_TOOLKIT_I1902" ? {
|
|
13
|
+
...msg,
|
|
14
|
+
level: "info"
|
|
15
|
+
} : msg;
|
|
16
|
+
if (this.suppressNonWarnings && reclassified.level !== "warn" && reclassified.level !== "error") return;
|
|
17
|
+
return super.notify(reclassified);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
function isStackIdTemplateHint(msg) {
|
|
21
|
+
return msg.code === void 0 && typeof msg.message === "string" && msg.message.startsWith("Supply a stack id ") && msg.message.includes("to display its template");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { CdklIoHost };
|
|
26
|
+
//# sourceMappingURL=cdkl-io-host-DYuHWzAS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdkl-io-host-DYuHWzAS.js","names":[],"sources":["../src/synthesis/cdkl-io-host.ts"],"mappings":";;;;AAoDA,IAAa,aAAb,cAAgC,qBAAqB;CACnD,AAAiB,6BAA6B;EAC5C,MAAM,QAAQ,0BAA0B;EACxC,OAAO,UAAU,UAAU,UAAU;CACvC,EAAC,CAAE;CAEH,MAAM,OAAO,KAAwC;EACnD,IAAI,sBAAsB,GAAG,GAC3B;EAGF,MAAM,eACJ,IAAI,SAAS,wBACb,IAAI,SAAS,uBACb,IAAI,SAAS,sBACT;GAAE,GAAG;GAAK,OAAO;EAAgB,IACjC;EAEN,IACE,KAAK,uBACL,aAAa,UAAU,UACvB,aAAa,UAAU,SAEvB;EAEF,OAAO,MAAM,OAAO,YAAY;CAClC;AACF;AAQA,SAAS,sBAAsB,KAAkC;CAC/D,OACE,IAAI,SAAS,UACb,OAAO,IAAI,YAAY,YACvB,IAAI,QAAQ,WAAW,oBAAoB,KAC3C,IAAI,QAAQ,SAAS,yBAAyB;AAElD"}
|
package/dist/cli.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { D as createLocalStartAgentCoreCommand, F as createLocalStartCloudFrontCommand, Mn as createLocalInvokeCommand, Ot as createLocalStartServiceCommand, Pn as createLocalStartApiCommand, St as createLocalStartAlbCommand, a as createLocalStudioCommand, jt as createLocalRunTaskCommand, sn as createLocalInvokeAgentCoreCommand, w as createLocalListCommand } from "./local-studio-
|
|
2
|
+
import { D as createLocalStartAgentCoreCommand, F as createLocalStartCloudFrontCommand, Mn as createLocalInvokeCommand, Ot as createLocalStartServiceCommand, Pn as createLocalStartApiCommand, St as createLocalStartAlbCommand, a as createLocalStudioCommand, jt as createLocalRunTaskCommand, sn as createLocalInvokeAgentCoreCommand, w as createLocalListCommand } from "./local-studio-CcK2y5Gs.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.149.
|
|
7
|
+
program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.149.9");
|
|
8
8
|
program.addCommand(createLocalInvokeCommand());
|
|
9
9
|
program.addCommand(createLocalInvokeAgentCoreCommand());
|
|
10
10
|
program.addCommand(createLocalStartApiCommand());
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","names":[],"sources":["../src/cli/index.ts"],"
|
|
1
|
+
{"version":3,"file":"cli.js","names":[],"sources":["../src/cli/index.ts"],"mappings":";;;;;AAgBA,MAAM,UAAU,IAAI,QAAQ;AAC5B,QACG,KAAK,MAAM,CAAC,CACZ,YAAY,yCAAyC,CAAC,CACtD,iBAA6B;AAEhC,QAAQ,WAAW,yBAAyB,CAAC;AAC7C,QAAQ,WAAW,kCAAkC,CAAC;AACtD,QAAQ,WAAW,2BAA2B,CAAC;AAC/C,QAAQ,WAAW,0BAA0B,CAAC;AAC9C,QAAQ,WAAW,+BAA+B,CAAC;AACnD,QAAQ,WAAW,2BAA2B,CAAC;AAC/C,QAAQ,WAAW,kCAAkC,CAAC;AACtD,QAAQ,WAAW,iCAAiC,CAAC;AACrD,QAAQ,WAAW,uBAAuB,CAAC;AAC3C,QAAQ,WAAW,yBAAyB,CAAC;AAExC,QAAQ,WAAW,QAAQ,IAAI"}
|
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
import { t as getLogger } from "./logger-CuUAMAnt.js";
|
|
2
|
+
import { readlinkSync, realpathSync } from "node:fs";
|
|
3
|
+
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { spinner } from "@clack/prompts";
|
|
5
|
+
import { spawn } from "node:child_process";
|
|
6
|
+
|
|
7
|
+
//#region \0rolldown/runtime.js
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __exportAll = (all, no_symbols) => {
|
|
10
|
+
let target = {};
|
|
11
|
+
for (var name in all) {
|
|
12
|
+
__defProp(target, name, {
|
|
13
|
+
get: all[name],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (!no_symbols) {
|
|
18
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
19
|
+
}
|
|
20
|
+
return target;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/local/embed-config.ts
|
|
25
|
+
const DEFAULTS = {
|
|
26
|
+
cliName: "cdkl",
|
|
27
|
+
binaryName: "cdkl",
|
|
28
|
+
productName: "cdk-local",
|
|
29
|
+
resourceNamePrefix: "cdkl",
|
|
30
|
+
awsBindMountPath: "/cdk-local-aws",
|
|
31
|
+
envPrefix: "CDKL",
|
|
32
|
+
sigV4StrictByDefault: false,
|
|
33
|
+
sigV4OptFlag: "--strict-sigv4"
|
|
34
|
+
};
|
|
35
|
+
let current = DEFAULTS;
|
|
36
|
+
function setEmbedConfig(config) {
|
|
37
|
+
current = {
|
|
38
|
+
cliName: config?.cliName ?? DEFAULTS.cliName,
|
|
39
|
+
binaryName: config?.binaryName ?? DEFAULTS.binaryName,
|
|
40
|
+
productName: config?.productName ?? DEFAULTS.productName,
|
|
41
|
+
resourceNamePrefix: config?.resourceNamePrefix ?? DEFAULTS.resourceNamePrefix,
|
|
42
|
+
awsBindMountPath: config?.awsBindMountPath ?? DEFAULTS.awsBindMountPath,
|
|
43
|
+
envPrefix: config?.envPrefix ?? DEFAULTS.envPrefix,
|
|
44
|
+
sigV4StrictByDefault: config?.sigV4StrictByDefault ?? DEFAULTS.sigV4StrictByDefault,
|
|
45
|
+
sigV4OptFlag: config?.sigV4OptFlag ?? DEFAULTS.sigV4OptFlag
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function getEmbedConfig() {
|
|
49
|
+
return current;
|
|
50
|
+
}
|
|
51
|
+
function resetEmbedConfig() {
|
|
52
|
+
current = DEFAULTS;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/local/credential-error.ts
|
|
57
|
+
const SERVICE_MESSAGE_MAX = 512;
|
|
58
|
+
function stringifyThrown(err) {
|
|
59
|
+
try {
|
|
60
|
+
return err instanceof Error ? String(err.message) : String(err);
|
|
61
|
+
} catch {
|
|
62
|
+
return "[unstringifiable throw]";
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function clampErrorName(err) {
|
|
66
|
+
let rawKind;
|
|
67
|
+
try {
|
|
68
|
+
rawKind = err instanceof Error ? err.name : "unknown";
|
|
69
|
+
} catch {
|
|
70
|
+
return "unknown";
|
|
71
|
+
}
|
|
72
|
+
return typeof rawKind === "string" && /^[A-Za-z0-9_.-]{1,64}$/.test(rawKind) ? rawKind : "unknown";
|
|
73
|
+
}
|
|
74
|
+
function clampErrorCode(err) {
|
|
75
|
+
if (!err || typeof err !== "object") return void 0;
|
|
76
|
+
let raw;
|
|
77
|
+
try {
|
|
78
|
+
raw = err.code;
|
|
79
|
+
} catch {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (typeof raw !== "string") return void 0;
|
|
83
|
+
return /^[A-Za-z0-9_.-]{1,64}$/.test(raw) ? raw : void 0;
|
|
84
|
+
}
|
|
85
|
+
function isAwsServiceException(err) {
|
|
86
|
+
if (!err || typeof err !== "object") return false;
|
|
87
|
+
const candidate = err;
|
|
88
|
+
try {
|
|
89
|
+
return Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server");
|
|
90
|
+
} catch {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function flattenToOneLine(message) {
|
|
95
|
+
return message.replace(/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Cs}]/gu, " ");
|
|
96
|
+
}
|
|
97
|
+
function sanitizeServiceExceptionMessage(message) {
|
|
98
|
+
const points = [...flattenToOneLine(message)];
|
|
99
|
+
if (points.length <= SERVICE_MESSAGE_MAX) return points.join("");
|
|
100
|
+
return `${points.slice(0, SERVICE_MESSAGE_MAX).join("")}[... truncated; ${points.length}-character message]`;
|
|
101
|
+
}
|
|
102
|
+
function describeCredentialLoadFailure(err) {
|
|
103
|
+
const code = clampErrorCode(err);
|
|
104
|
+
return `${code === void 0 ? clampErrorName(err) : `${clampErrorName(err)} ${code}`}; ${stringifyThrown(err).length}-character message withheld, logged at debug level under --verbose`;
|
|
105
|
+
}
|
|
106
|
+
function describeAwsFailureForWarn(err, operation) {
|
|
107
|
+
if (isAwsServiceException(err)) return `${clampErrorName(err)}: ${sanitizeServiceExceptionMessage(stringifyThrown(err))}`;
|
|
108
|
+
getLogger().debug(`${operation}: the AWS SDK's own failure message was: ${flattenToOneLine(stringifyThrown(err))}`);
|
|
109
|
+
return describeCredentialLoadFailure(err);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//#endregion
|
|
113
|
+
//#region src/utils/assembly-path.ts
|
|
114
|
+
function isInside(base, candidate) {
|
|
115
|
+
const rel = relative(base, candidate);
|
|
116
|
+
if (rel === "" || rel === "..") return false;
|
|
117
|
+
if (rel.startsWith(`..${sep}`)) return false;
|
|
118
|
+
return !isAbsolute(rel);
|
|
119
|
+
}
|
|
120
|
+
function tryRealpath(p) {
|
|
121
|
+
try {
|
|
122
|
+
return realpathSync.native(p);
|
|
123
|
+
} catch {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function tryReadlink(p) {
|
|
128
|
+
try {
|
|
129
|
+
return readlinkSync(p);
|
|
130
|
+
} catch {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const MAX_LINK_HOPS = 40;
|
|
135
|
+
const MAX_PATH_COMPONENTS = 1e3;
|
|
136
|
+
function resolveThroughLinks(target, hops = 0, climbs = 0) {
|
|
137
|
+
const direct = tryRealpath(target);
|
|
138
|
+
if (direct !== void 0) return direct;
|
|
139
|
+
if (hops >= MAX_LINK_HOPS) return void 0;
|
|
140
|
+
if (climbs >= MAX_PATH_COMPONENTS) return void 0;
|
|
141
|
+
const parent = dirname(target);
|
|
142
|
+
if (parent === target) return void 0;
|
|
143
|
+
const realParent = resolveThroughLinks(parent, hops, climbs + 1);
|
|
144
|
+
if (realParent === void 0) return void 0;
|
|
145
|
+
const link = tryReadlink(target);
|
|
146
|
+
if (link === void 0) return join(realParent, basename(target));
|
|
147
|
+
return resolveThroughLinks(resolve(realParent, link), hops + 1, climbs);
|
|
148
|
+
}
|
|
149
|
+
function resolveAssemblyPath(dir, candidate, options) {
|
|
150
|
+
const base = resolve(dir);
|
|
151
|
+
const bound = options?.containWithin === void 0 ? base : resolve(options.containWithin);
|
|
152
|
+
const joined = resolve(join(base, candidate));
|
|
153
|
+
if (!isInside(bound, joined)) return {
|
|
154
|
+
contained: false,
|
|
155
|
+
escape: "lexical",
|
|
156
|
+
path: joined
|
|
157
|
+
};
|
|
158
|
+
const realBound = resolveThroughLinks(bound);
|
|
159
|
+
if (realBound !== void 0) {
|
|
160
|
+
const realTarget = resolveThroughLinks(joined);
|
|
161
|
+
if (realTarget !== void 0 && !isInside(realBound, realTarget)) return {
|
|
162
|
+
contained: false,
|
|
163
|
+
escape: "symlink",
|
|
164
|
+
path: joined,
|
|
165
|
+
realPath: realTarget
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
contained: true,
|
|
170
|
+
path: joined
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function absoluteAssemblyPathEscape(bound, absolutePath) {
|
|
174
|
+
const resolvedBound = resolve(bound);
|
|
175
|
+
const target = resolve(absolutePath);
|
|
176
|
+
const lexicallyOutside = !isInside(resolvedBound, target) && target !== resolvedBound;
|
|
177
|
+
const realBound = resolveThroughLinks(resolvedBound);
|
|
178
|
+
const realTarget = resolveThroughLinks(target);
|
|
179
|
+
const reallyOutside = realBound === void 0 || realTarget === void 0 ? void 0 : !isInside(realBound, realTarget) && realTarget !== realBound;
|
|
180
|
+
if (lexicallyOutside) {
|
|
181
|
+
if (reallyOutside === false) return void 0;
|
|
182
|
+
return {
|
|
183
|
+
contained: false,
|
|
184
|
+
escape: "lexical",
|
|
185
|
+
path: target
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
if (reallyOutside === true) return {
|
|
189
|
+
contained: false,
|
|
190
|
+
escape: "symlink",
|
|
191
|
+
path: target,
|
|
192
|
+
realPath: realTarget
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function namesTheSameDirectory(bound, candidate) {
|
|
196
|
+
const resolvedBound = resolve(bound);
|
|
197
|
+
const target = resolve(candidate);
|
|
198
|
+
if (target === resolvedBound) return true;
|
|
199
|
+
const realBound = resolveThroughLinks(resolvedBound);
|
|
200
|
+
const realTarget = resolveThroughLinks(target);
|
|
201
|
+
return realBound !== void 0 && realTarget !== void 0 && realBound === realTarget;
|
|
202
|
+
}
|
|
203
|
+
function assemblyPathEscape(base, bound, candidate) {
|
|
204
|
+
if (isAbsolute(candidate)) return absoluteAssemblyPathEscape(bound, candidate);
|
|
205
|
+
const resolved = resolveAssemblyPath(base, candidate, { containWithin: bound });
|
|
206
|
+
if (resolved.contained || namesTheSameDirectory(bound, resolved.path)) return void 0;
|
|
207
|
+
return resolved;
|
|
208
|
+
}
|
|
209
|
+
function renderAssemblyPathEscape(escape, dir, action, provenanceOverride) {
|
|
210
|
+
const provenance = provenanceOverride ?? `CDK emits assembly paths that stay inside the assembly directory; one that leaves it indicates the synth output was hand-modified or generated by a non-CDK toolchain. Refusing to ${action}.`;
|
|
211
|
+
const base = resolve(dir);
|
|
212
|
+
const realBase = resolveThroughLinks(base) ?? base;
|
|
213
|
+
const shownPath = displayUntrustedValue(escape.path);
|
|
214
|
+
const shownBase = displayUntrustedValue(base);
|
|
215
|
+
if (escape.escape === "symlink") {
|
|
216
|
+
if (escape.realPath === realBase) return `resolves to ${shownPath}, a symbolic link to the directory ${shownBase} itself rather than to a path inside it. ${provenance}`;
|
|
217
|
+
return `resolves to ${shownPath}, which leads through a symbolic link to ${displayUntrustedValue(escape.realPath)}, outside ${shownBase}. ${provenance}`;
|
|
218
|
+
}
|
|
219
|
+
if (escape.path === base) return `names the directory ${shownBase} itself rather than a path inside it. ${provenance}`;
|
|
220
|
+
return `resolves to ${shownPath}, outside ${shownBase}. ${provenance}`;
|
|
221
|
+
}
|
|
222
|
+
const VISIBLE_LETTER = new RegExp(String.raw`^(?![\p{Default_Ignorable_Code_Point}\u02b0-\u02ff\u0374\u0559\u07f4\u07f5\ua78b\ua78c\uff9e\uff9f])[\p{L}\p{N}]$`, "u");
|
|
223
|
+
const COMBINING_MARK = /^\p{M}$/u;
|
|
224
|
+
const DEFAULT_IGNORABLE = /^\p{Default_Ignorable_Code_Point}$/u;
|
|
225
|
+
const BARE_PUNCTUATION = /^[/\\._~+@:=-]$/;
|
|
226
|
+
function classify(chars) {
|
|
227
|
+
let afterLetter = false;
|
|
228
|
+
return chars.map((ch) => {
|
|
229
|
+
if (DEFAULT_IGNORABLE.test(ch)) {
|
|
230
|
+
afterLetter = false;
|
|
231
|
+
return "escaped";
|
|
232
|
+
}
|
|
233
|
+
if (COMBINING_MARK.test(ch)) return afterLetter ? "bare" : "escaped";
|
|
234
|
+
afterLetter = VISIBLE_LETTER.test(ch);
|
|
235
|
+
if (afterLetter || BARE_PUNCTUATION.test(ch)) return "bare";
|
|
236
|
+
return ch >= " " && ch <= "~" ? "shown" : "escaped";
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
function displayUntrustedValue(value) {
|
|
240
|
+
const clean = sanitizeServiceExceptionMessage(value);
|
|
241
|
+
const chars = Array.from(clean);
|
|
242
|
+
const kinds = classify(chars);
|
|
243
|
+
if (clean === value && chars.length > 0 && kinds.every((k) => k === "bare")) return clean;
|
|
244
|
+
let body = "";
|
|
245
|
+
chars.forEach((ch, i) => {
|
|
246
|
+
if (ch === "\"" || ch === "\\") body += `\\${ch}`;
|
|
247
|
+
else if (kinds[i] !== "escaped") body += ch;
|
|
248
|
+
else for (let u = 0; u < ch.length; u++) body += `\\u${ch.charCodeAt(u).toString(16).padStart(4, "0")}`;
|
|
249
|
+
});
|
|
250
|
+
return `"${body}"`;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
//#endregion
|
|
254
|
+
//#region src/utils/docker-cmd.ts
|
|
255
|
+
var docker_cmd_exports = /* @__PURE__ */ __exportAll({
|
|
256
|
+
DOCKER_CLIENT_ENV_KEYS: () => DOCKER_CLIENT_ENV_KEYS,
|
|
257
|
+
DOCKER_CLIENT_ENV_PREFIXES: () => DOCKER_CLIENT_ENV_PREFIXES,
|
|
258
|
+
DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS: () => DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS,
|
|
259
|
+
allowSecretsOnArgvEnvName: () => allowSecretsOnArgvEnvName,
|
|
260
|
+
finchSecretArgvRefusal: () => finchSecretArgvRefusal,
|
|
261
|
+
formatDockerLoginError: () => formatDockerLoginError,
|
|
262
|
+
getDockerCmd: () => getDockerCmd,
|
|
263
|
+
isDockerClientEnvKey: () => isDockerClientEnvKey,
|
|
264
|
+
isFinchVmClient: () => isFinchVmClient,
|
|
265
|
+
isMalformedEnvKey: () => isMalformedEnvKey,
|
|
266
|
+
runDockerForeground: () => runDockerForeground,
|
|
267
|
+
runDockerStreaming: () => runDockerStreaming,
|
|
268
|
+
spawnForeground: () => spawnForeground,
|
|
269
|
+
spawnStreaming: () => spawnStreaming,
|
|
270
|
+
warnFinchArgvExposure: () => warnFinchArgvExposure
|
|
271
|
+
});
|
|
272
|
+
function getDockerCmd() {
|
|
273
|
+
const override = process.env["CDK_DOCKER"];
|
|
274
|
+
return override && override.length > 0 ? override : "docker";
|
|
275
|
+
}
|
|
276
|
+
function isFinchVmClient(cmd = getDockerCmd(), platform = process.platform) {
|
|
277
|
+
if (platform !== "darwin" && platform !== "win32") return false;
|
|
278
|
+
const base = (cmd.split(/[\\/]/).pop() ?? "").toLowerCase();
|
|
279
|
+
return base === "finch" || base === "finch.exe";
|
|
280
|
+
}
|
|
281
|
+
function allowSecretsOnArgvEnvName() {
|
|
282
|
+
return `${getEmbedConfig().envPrefix}_ALLOW_SECRETS_ON_ARGV`;
|
|
283
|
+
}
|
|
284
|
+
function secretsOnArgvAllowed() {
|
|
285
|
+
const v = process.env[allowSecretsOnArgvEnvName()];
|
|
286
|
+
return v !== void 0 && ["1", "true"].includes(v.trim().toLowerCase());
|
|
287
|
+
}
|
|
288
|
+
function finchSecretArgvRefusal(secretNames, subject) {
|
|
289
|
+
if (secretNames.length === 0 || !isFinchVmClient() || secretsOnArgvAllowed()) return void 0;
|
|
290
|
+
const names = [...new Set(secretNames)];
|
|
291
|
+
return `${subject.label} ${displayUntrustedValue(subject.name)}: refusing to forward secret(s) ${names.map(displayUntrustedValue).join(", ")} under CDK_DOCKER=finch on macOS / Windows. finch turns each value-less '-e KEY' into '-e KEY=<value>' on the command line of the limactl process it starts, where other local processes can read the plaintext. Use a container client that keeps the value off the command line (for example the default 'docker', by unsetting CDK_DOCKER), or set ${allowSecretsOnArgvEnvName()}=1 to accept that exposure while it stays set.`;
|
|
292
|
+
}
|
|
293
|
+
const finchArgvWarned = /* @__PURE__ */ new Set();
|
|
294
|
+
function warnFinchArgvExposure(keys) {
|
|
295
|
+
if (keys.length === 0 || !isFinchVmClient()) return;
|
|
296
|
+
const names = [...new Set(keys)].sort();
|
|
297
|
+
const latch = JSON.stringify(names);
|
|
298
|
+
if (finchArgvWarned.has(latch)) return;
|
|
299
|
+
finchArgvWarned.add(latch);
|
|
300
|
+
getLogger().warn(`CDK_DOCKER=finch on macOS / Windows puts the values of ${names.map(displayUntrustedValue).join(", ")} on the command line of the limactl process it starts (finch turns a value-less '-e KEY' into '-e KEY=<value>'), where other local processes can read them. The default 'docker' client keeps them off the command line.`);
|
|
301
|
+
}
|
|
302
|
+
async function runDockerStreaming(args, options = {}) {
|
|
303
|
+
return spawnStreaming(getDockerCmd(), args, options);
|
|
304
|
+
}
|
|
305
|
+
async function spawnStreaming(cmd, args, options = {}) {
|
|
306
|
+
const streamLive = options.streamLive ?? getLogger().getLevel() === "debug";
|
|
307
|
+
const env = options.env ? mergeEnv(options.env) : void 0;
|
|
308
|
+
const spin = startProgressSpinner(options.progressLabel, streamLive);
|
|
309
|
+
return new Promise((resolve, reject) => {
|
|
310
|
+
let child;
|
|
311
|
+
try {
|
|
312
|
+
child = spawn(cmd, args, {
|
|
313
|
+
cwd: options.cwd,
|
|
314
|
+
env,
|
|
315
|
+
stdio: [
|
|
316
|
+
options.input ? "pipe" : "ignore",
|
|
317
|
+
"pipe",
|
|
318
|
+
"pipe"
|
|
319
|
+
]
|
|
320
|
+
});
|
|
321
|
+
} catch (err) {
|
|
322
|
+
stopProgressSpinner(spin, options.progressLabel);
|
|
323
|
+
reject(err);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const stdoutChunks = [];
|
|
327
|
+
const stderrChunks = [];
|
|
328
|
+
child.stdout.on("data", (chunk) => {
|
|
329
|
+
stdoutChunks.push(chunk);
|
|
330
|
+
if (streamLive) process.stdout.write(chunk);
|
|
331
|
+
});
|
|
332
|
+
child.stderr.on("data", (chunk) => {
|
|
333
|
+
stderrChunks.push(chunk);
|
|
334
|
+
if (streamLive) process.stderr.write(chunk);
|
|
335
|
+
});
|
|
336
|
+
child.once("error", (err) => {
|
|
337
|
+
stopProgressSpinner(spin, options.progressLabel);
|
|
338
|
+
if (err.code === "ENOENT") {
|
|
339
|
+
const usingOverride = process.env["CDK_DOCKER"] === cmd && cmd !== "docker";
|
|
340
|
+
const shownCmd = displayUntrustedValue(cmd);
|
|
341
|
+
reject(/* @__PURE__ */ new Error(usingOverride ? `Failed to find and execute ${shownCmd} (resolved via CDK_DOCKER). Install ${shownCmd} or unset CDK_DOCKER to fall back to 'docker'.` : `Failed to find and execute ${shownCmd}. Install Docker (or set the 'CDK_DOCKER' environment variable to a compatible binary such as podman / finch).`));
|
|
342
|
+
} else {
|
|
343
|
+
const wrapped = /* @__PURE__ */ new Error(`Failed to execute ${displayUntrustedValue(cmd)} (${err.code ?? "spawn error"})`);
|
|
344
|
+
if (err.code !== void 0) wrapped.code = err.code;
|
|
345
|
+
reject(wrapped);
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
child.once("close", (code) => {
|
|
349
|
+
const stdout = Buffer.concat(stdoutChunks).toString("utf-8");
|
|
350
|
+
const stderr = Buffer.concat(stderrChunks).toString("utf-8");
|
|
351
|
+
if (code === 0) {
|
|
352
|
+
stopProgressSpinner(spin, options.progressLabel);
|
|
353
|
+
resolve({
|
|
354
|
+
stdout,
|
|
355
|
+
stderr
|
|
356
|
+
});
|
|
357
|
+
} else {
|
|
358
|
+
stopProgressSpinner(spin, options.progressLabel);
|
|
359
|
+
const message = stderr.trim() || stdout.trim() || `${displayUntrustedValue(cmd)} exited with code ${code}`;
|
|
360
|
+
const err = new Error(message);
|
|
361
|
+
err.stderr = stderr;
|
|
362
|
+
err.stdout = stdout;
|
|
363
|
+
err.exitCode = code;
|
|
364
|
+
reject(err);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
if (options.input !== void 0) {
|
|
368
|
+
child.stdin.on("error", () => {});
|
|
369
|
+
child.stdin.write(options.input);
|
|
370
|
+
child.stdin.end();
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
function startProgressSpinner(label, streamLive) {
|
|
375
|
+
if (label === void 0 || streamLive || process.stdout.isTTY !== true) return void 0;
|
|
376
|
+
const spin = spinner();
|
|
377
|
+
spin.start(label);
|
|
378
|
+
return spin;
|
|
379
|
+
}
|
|
380
|
+
function stopProgressSpinner(spin, label) {
|
|
381
|
+
if (spin === void 0) return;
|
|
382
|
+
spin.stop(label ?? "");
|
|
383
|
+
}
|
|
384
|
+
async function runDockerForeground(args, options = {}) {
|
|
385
|
+
return spawnForeground(getDockerCmd(), args, options);
|
|
386
|
+
}
|
|
387
|
+
async function spawnForeground(cmd, args, options = {}) {
|
|
388
|
+
const env = options.env ? mergeEnv(options.env) : void 0;
|
|
389
|
+
return new Promise((resolve, reject) => {
|
|
390
|
+
const child = spawn(cmd, args, {
|
|
391
|
+
cwd: options.cwd,
|
|
392
|
+
env,
|
|
393
|
+
stdio: "inherit"
|
|
394
|
+
});
|
|
395
|
+
child.once("error", (err) => {
|
|
396
|
+
if (err.code === "ENOENT") {
|
|
397
|
+
const usingOverride = process.env["CDK_DOCKER"] === cmd && cmd !== "docker";
|
|
398
|
+
const shownCmd = displayUntrustedValue(cmd);
|
|
399
|
+
reject(/* @__PURE__ */ new Error(usingOverride ? `Failed to find and execute ${shownCmd} (resolved via CDK_DOCKER). Install ${shownCmd} or unset CDK_DOCKER to fall back to 'docker'.` : `Failed to find and execute ${shownCmd}. Install Docker (or set the 'CDK_DOCKER' environment variable to a compatible binary such as podman / finch).`));
|
|
400
|
+
} else reject(/* @__PURE__ */ new Error(`${cmd} failed: ${err.message}`));
|
|
401
|
+
});
|
|
402
|
+
child.once("close", (code) => {
|
|
403
|
+
if (code === 0) resolve();
|
|
404
|
+
else reject(/* @__PURE__ */ new Error(`${cmd} exited with code ${code}`));
|
|
405
|
+
});
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
function formatDockerLoginError(stderr, endpoint) {
|
|
409
|
+
const trimmed = stderr.trim();
|
|
410
|
+
if (trimmed.includes("already exists in the keychain") || trimmed.includes("Error saving credentials")) return `docker's credential helper (osxkeychain on macOS / wincred on Windows / pass / secretservice on Linux) failed to persist the ECR auth token. The "already exists in the keychain" / "Error saving credentials" output is a known docker-credential-helpers issue — unrelated to ${getEmbedConfig().productName}, AWS credentials, or IAM perms. Quick fix: run \`docker logout ${endpoint}\` to clear the stale entry, then retry the ${getEmbedConfig().productName} command. Permanent fix: edit ~/.docker/config.json and remove (or empty) the platform-specific "credsStore" entry (e.g. "osxkeychain" → "" or "desktop" on macOS Docker Desktop). Original docker stderr: ${trimmed}`;
|
|
411
|
+
return trimmed;
|
|
412
|
+
}
|
|
413
|
+
function mergeEnv(overrides) {
|
|
414
|
+
const merged = { ...process.env };
|
|
415
|
+
for (const [k, v] of Object.entries(overrides)) if (v === void 0) delete merged[k];
|
|
416
|
+
else merged[k] = v;
|
|
417
|
+
return merged;
|
|
418
|
+
}
|
|
419
|
+
const DOCKER_CLIENT_ENV_KEYS = /* @__PURE__ */ new Set([
|
|
420
|
+
"PATH",
|
|
421
|
+
"PATHEXT",
|
|
422
|
+
"HOME",
|
|
423
|
+
"USERPROFILE",
|
|
424
|
+
"HOMEDRIVE",
|
|
425
|
+
"HOMEPATH",
|
|
426
|
+
"DOCKER_HOST",
|
|
427
|
+
"DOCKER_CONTEXT",
|
|
428
|
+
"DOCKER_CONFIG",
|
|
429
|
+
"DOCKER_CERT_PATH",
|
|
430
|
+
"DOCKER_TLS",
|
|
431
|
+
"DOCKER_TLS_VERIFY",
|
|
432
|
+
"DOCKER_API_VERSION",
|
|
433
|
+
"DOCKER_AUTH_CONFIG",
|
|
434
|
+
"DOCKER_DEFAULT_PLATFORM",
|
|
435
|
+
"DOCKER_CUSTOM_HEADERS",
|
|
436
|
+
"DOCKER_CONTENT_TRUST",
|
|
437
|
+
"DOCKER_CONTENT_TRUST_SERVER",
|
|
438
|
+
"DOCKER_HIDE_LEGACY_COMMANDS",
|
|
439
|
+
"BUILDKIT_PROGRESS",
|
|
440
|
+
"GLIBC_TUNABLES",
|
|
441
|
+
"GCONV_PATH",
|
|
442
|
+
"BASH_ENV",
|
|
443
|
+
"SHELLOPTS",
|
|
444
|
+
"PS4",
|
|
445
|
+
"PYTHONPATH",
|
|
446
|
+
"PYTHONHOME",
|
|
447
|
+
"PYTHONUSERBASE",
|
|
448
|
+
"PYTHONPYCACHEPREFIX",
|
|
449
|
+
"PYTHONPLATLIBDIR",
|
|
450
|
+
"PYTHONWARNINGS",
|
|
451
|
+
"BROWSER",
|
|
452
|
+
"REQUESTS_CA_BUNDLE",
|
|
453
|
+
"CURL_CA_BUNDLE",
|
|
454
|
+
"HTTPLIB2_CA_CERTS",
|
|
455
|
+
"SSLKEYLOGFILE",
|
|
456
|
+
"GCE_METADATA_HOST",
|
|
457
|
+
"GCE_METADATA_ROOT",
|
|
458
|
+
"GCE_METADATA_IP",
|
|
459
|
+
"NODE_OPTIONS",
|
|
460
|
+
"NODE_PATH",
|
|
461
|
+
"NODE_COMPILE_CACHE",
|
|
462
|
+
"NODE_EXTRA_CA_CERTS",
|
|
463
|
+
"NODE_TLS_REJECT_UNAUTHORIZED",
|
|
464
|
+
"RUBYOPT",
|
|
465
|
+
"RUBYLIB",
|
|
466
|
+
"GEM_PATH",
|
|
467
|
+
"GEM_HOME",
|
|
468
|
+
"RUBYGEMS_GEMDEPS",
|
|
469
|
+
"PERL5OPT",
|
|
470
|
+
"PERL5LIB",
|
|
471
|
+
"PERLLIB",
|
|
472
|
+
"PERL5DB",
|
|
473
|
+
"OPENSSL_CONF",
|
|
474
|
+
"OPENSSL_MODULES",
|
|
475
|
+
"OPENSSL_ENGINES",
|
|
476
|
+
"SSH_AUTH_SOCK",
|
|
477
|
+
"SSH_ASKPASS",
|
|
478
|
+
"SSH_ASKPASS_REQUIRE",
|
|
479
|
+
"SSH_SK_HELPER",
|
|
480
|
+
"SSH_SK_PROVIDER",
|
|
481
|
+
"SSH_PKCS11_HELPER",
|
|
482
|
+
"SSH_AGENT_PID",
|
|
483
|
+
"AWS_ENDPOINT_URL",
|
|
484
|
+
"AWS_CA_BUNDLE",
|
|
485
|
+
"AWS_PROFILE",
|
|
486
|
+
"AWS_CONFIG_FILE",
|
|
487
|
+
"AWS_SHARED_CREDENTIALS_FILE",
|
|
488
|
+
"AWS_WEB_IDENTITY_TOKEN_FILE",
|
|
489
|
+
"AWS_CONTAINER_CREDENTIALS_FULL_URI",
|
|
490
|
+
"AWS_ROLE_ARN",
|
|
491
|
+
"AWS_EC2_METADATA_SERVICE_ENDPOINT",
|
|
492
|
+
"AWS_ECR_CACHE_DIR",
|
|
493
|
+
"CONTAINER_HOST",
|
|
494
|
+
"CONTAINER_CONNECTION",
|
|
495
|
+
"CONTAINER_SSHKEY",
|
|
496
|
+
"PODMAN_CONNECTIONS_CONF",
|
|
497
|
+
"CONTAINER_PROXY",
|
|
498
|
+
"CONTAINERS_SSH_CONF",
|
|
499
|
+
"CONTAINERS_CONF",
|
|
500
|
+
"CONTAINERS_CONF_OVERRIDE",
|
|
501
|
+
"CONTAINERS_REGISTRIES_CONF",
|
|
502
|
+
"CONTAINERS_REGISTRIES_CONF_OVERRIDE",
|
|
503
|
+
"REGISTRIES_CONFIG_PATH",
|
|
504
|
+
"CONTAINERS_STORAGE_CONF",
|
|
505
|
+
"CONTAINERS_STORAGE_CONF_OVERRIDE",
|
|
506
|
+
"CONTAINERS_POLICY_JSON",
|
|
507
|
+
"STORAGE_OPTS",
|
|
508
|
+
"CONTAINERS_HELPER_BINARY_DIR",
|
|
509
|
+
"REGISTRY_AUTH_FILE",
|
|
510
|
+
"DBUS_SESSION_BUS_ADDRESS",
|
|
511
|
+
"NOTIFY_SOCKET",
|
|
512
|
+
"XDG_CONFIG_HOME",
|
|
513
|
+
"XDG_RUNTIME_DIR",
|
|
514
|
+
"APPDATA",
|
|
515
|
+
"PROGRAMDATA",
|
|
516
|
+
"PROGRAMFILES",
|
|
517
|
+
"LOCALAPPDATA",
|
|
518
|
+
"SSH",
|
|
519
|
+
"CONTAINERD_ADDRESS",
|
|
520
|
+
"CONTAINERD_NAMESPACE",
|
|
521
|
+
"NERDCTL_TOML",
|
|
522
|
+
"CNI_PATH",
|
|
523
|
+
"NETCONFPATH",
|
|
524
|
+
"ROOTLESSKIT_STATE_DIR",
|
|
525
|
+
"NERDCTL_LOG_FILE",
|
|
526
|
+
"SSL_CERT_FILE",
|
|
527
|
+
"SSL_CERT_DIR",
|
|
528
|
+
"GODEBUG",
|
|
529
|
+
"HTTP_PROXY",
|
|
530
|
+
"HTTPS_PROXY",
|
|
531
|
+
"NO_PROXY",
|
|
532
|
+
"FTP_PROXY",
|
|
533
|
+
"ALL_PROXY"
|
|
534
|
+
]);
|
|
535
|
+
const DOCKER_CLIENT_ENV_KEYS_UPPER = new Set([...DOCKER_CLIENT_ENV_KEYS].map((k) => k.toUpperCase()));
|
|
536
|
+
const DOCKER_CLIENT_ENV_PREFIXES = [
|
|
537
|
+
"LD_",
|
|
538
|
+
"DYLD_",
|
|
539
|
+
"AWS_ENDPOINT_URL_",
|
|
540
|
+
"CLOUDSDK_",
|
|
541
|
+
"BASH_FUNC_"
|
|
542
|
+
];
|
|
543
|
+
const DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS = /* @__PURE__ */ new Set(["CLOUDSDK_AUTH_ACCESS_TOKEN"]);
|
|
544
|
+
function isDockerClientEnvKey(key) {
|
|
545
|
+
const upper = key.toUpperCase();
|
|
546
|
+
if (DOCKER_CLIENT_ENV_KEYS_UPPER.has(upper)) return true;
|
|
547
|
+
if (DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS.has(upper)) return false;
|
|
548
|
+
return DOCKER_CLIENT_ENV_PREFIXES.some((prefix) => upper.startsWith(prefix));
|
|
549
|
+
}
|
|
550
|
+
const WELL_FORMED_ENV_KEY = /^[^=\u0000]+$/;
|
|
551
|
+
function isMalformedEnvKey(key) {
|
|
552
|
+
return !WELL_FORMED_ENV_KEY.test(key);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
//#endregion
|
|
556
|
+
export { stringifyThrown as C, setEmbedConfig as E, sanitizeServiceExceptionMessage as S, resetEmbedConfig as T, clampErrorName as _, isDockerClientEnvKey as a, flattenToOneLine as b, runDockerStreaming as c, absoluteAssemblyPathEscape as d, assemblyPathEscape as f, resolveAssemblyPath as g, renderAssemblyPathEscape as h, getDockerCmd as i, spawnStreaming as l, namesTheSameDirectory as m, finchSecretArgvRefusal as n, isMalformedEnvKey as o, displayUntrustedValue as p, formatDockerLoginError as r, runDockerForeground as s, docker_cmd_exports as t, warnFinchArgvExposure as u, describeAwsFailureForWarn as v, getEmbedConfig as w, isAwsServiceException as x, describeCredentialLoadFailure as y };
|
|
557
|
+
//# sourceMappingURL=docker-cmd-C2kvSLVs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-cmd-C2kvSLVs.js","names":["createSpinner"],"sources":["../src/local/embed-config.ts","../src/local/credential-error.ts","../src/utils/assembly-path.ts","../src/utils/docker-cmd.ts"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $n as rejectExplicitCfnStackWithMultipleStacks, At as TargetEntry, Bn as createLocalInvokeCommand, En as createLocalInvokeAgentCoreCommand, F as createLocalStartAgentCoreCommand, Gn as resetEmbedConfig, Gt as createLocalStartApiCommand, Ht as CreateLocalStartApiCommandOptions, I as CreateLocalStartCloudFrontCommandOptions, It as CreateLocalRunTaskCommandOptions, Jn as LocalStateProviderFactory, Kn as setEmbedConfig, M as formatTargetListing, Mt as countTargets, N as CreateLocalStartAgentCoreCommandOptions, Nt as listTargets, O as CreateLocalListCommandOptions, Q as createLocalStartServiceCommand, Qn as isCfnFlagPresent, Rn as CreateLocalInvokeCommandOptions, Rt as createLocalRunTaskCommand, Un as CdkLocalEmbedConfig, W as CreateLocalStartAlbCommandOptions, Wn as getEmbedConfig, X as CreateLocalStartServiceCommandOptions, Xn as LocalStateSourceOptions, Yn as LocalStateSourceError, Zn as createLocalStateProvider, _r as CloudFormationTemplate, ar as ResolvedSsmParameters, cr as resolveSsmParameters, dr as StateEnvSubstitutionAudit, er as resolveCfnFallbackRegion, fr as SubstitutionContext, gr as substituteEnvVarsFromStateAsync, hr as substituteEnvVarsFromState, ir as LocalStateRecord, j as createLocalListCommand, jt as TargetListing, k as FormatTargetListingOptions, lr as CrossStackResolver, mr as substituteAgainstStateAsync, nr as resolveCfnStackName, or as SsmParameterRef, pr as substituteAgainstState, q as createLocalStartAlbCommand, qn as ExtraStateProviders, rr as LocalStateProvider, s as createLocalStudioCommand, sr as collectSsmParameterRefs, t as CreateLocalStudioCommandOptions, tr as resolveCfnRegion, ur as PseudoParameters, wn as CreateLocalInvokeAgentCoreCommandOptions, z as createLocalStartCloudFrontCommand } from "./local-studio-
|
|
1
|
+
import { $n as rejectExplicitCfnStackWithMultipleStacks, At as TargetEntry, Bn as createLocalInvokeCommand, En as createLocalInvokeAgentCoreCommand, F as createLocalStartAgentCoreCommand, Gn as resetEmbedConfig, Gt as createLocalStartApiCommand, Ht as CreateLocalStartApiCommandOptions, I as CreateLocalStartCloudFrontCommandOptions, It as CreateLocalRunTaskCommandOptions, Jn as LocalStateProviderFactory, Kn as setEmbedConfig, M as formatTargetListing, Mt as countTargets, N as CreateLocalStartAgentCoreCommandOptions, Nt as listTargets, O as CreateLocalListCommandOptions, Q as createLocalStartServiceCommand, Qn as isCfnFlagPresent, Rn as CreateLocalInvokeCommandOptions, Rt as createLocalRunTaskCommand, Un as CdkLocalEmbedConfig, W as CreateLocalStartAlbCommandOptions, Wn as getEmbedConfig, X as CreateLocalStartServiceCommandOptions, Xn as LocalStateSourceOptions, Yn as LocalStateSourceError, Zn as createLocalStateProvider, _r as CloudFormationTemplate, ar as ResolvedSsmParameters, cr as resolveSsmParameters, dr as StateEnvSubstitutionAudit, er as resolveCfnFallbackRegion, fr as SubstitutionContext, gr as substituteEnvVarsFromStateAsync, hr as substituteEnvVarsFromState, ir as LocalStateRecord, j as createLocalListCommand, jt as TargetListing, k as FormatTargetListingOptions, lr as CrossStackResolver, mr as substituteAgainstStateAsync, nr as resolveCfnStackName, or as SsmParameterRef, pr as substituteAgainstState, q as createLocalStartAlbCommand, qn as ExtraStateProviders, rr as LocalStateProvider, s as createLocalStudioCommand, sr as collectSsmParameterRefs, t as CreateLocalStudioCommandOptions, tr as resolveCfnRegion, ur as PseudoParameters, wn as CreateLocalInvokeAgentCoreCommandOptions, z as createLocalStartCloudFrontCommand } from "./local-studio-C9L3lxW_.js";
|
|
2
2
|
import { CloudFormationClient } from "@aws-sdk/client-cloudformation";
|
|
3
3
|
//#region src/local/cfn-local-state-provider.d.ts
|
|
4
4
|
interface CfnLocalStateProviderOptions {
|