@depup/aws-cdk 2.1117.0-depup.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/LICENSE +202 -0
- package/NOTICE +16 -0
- package/README.md +25 -0
- package/THIRD_PARTY_LICENSES +24866 -0
- package/bin/cdk +6 -0
- package/build-info.json +4 -0
- package/changes.json +5 -0
- package/db.json.gz +0 -0
- package/docs/deploy-architecture.md +194 -0
- package/lib/api/aws-auth.d.ts +3 -0
- package/lib/api/aws-auth.js +21 -0
- package/lib/api/bootstrap/bootstrap-template.yaml +855 -0
- package/lib/api/bootstrap.d.ts +1 -0
- package/lib/api/bootstrap.js +19 -0
- package/lib/api/cloud-assembly.d.ts +5 -0
- package/lib/api/cloud-assembly.js +23 -0
- package/lib/api/cloudformation.d.ts +1 -0
- package/lib/api/cloudformation.js +19 -0
- package/lib/api/context.d.ts +1 -0
- package/lib/api/context.js +19 -0
- package/lib/api/deployments.d.ts +1 -0
- package/lib/api/deployments.js +19 -0
- package/lib/api/hotswap.d.ts +1 -0
- package/lib/api/hotswap.js +19 -0
- package/lib/api/index.d.ts +16 -0
- package/lib/api/index.js +38 -0
- package/lib/api/network-detector.d.ts +1 -0
- package/lib/api/network-detector.js +19 -0
- package/lib/api/notices.d.ts +1 -0
- package/lib/api/notices.js +19 -0
- package/lib/api/plugin.d.ts +1 -0
- package/lib/api/plugin.js +19 -0
- package/lib/api/refactor.d.ts +1 -0
- package/lib/api/refactor.js +8 -0
- package/lib/api/settings.d.ts +1 -0
- package/lib/api/settings.js +19 -0
- package/lib/api/tags.d.ts +1 -0
- package/lib/api/tags.js +19 -0
- package/lib/api-private.d.ts +9 -0
- package/lib/api-private.js +29 -0
- package/lib/cli/cdk-toolkit.d.ts +699 -0
- package/lib/cli/cdk-toolkit.js +1260 -0
- package/lib/cli/ci-systems.d.ts +29 -0
- package/lib/cli/ci-systems.js +61 -0
- package/lib/cli/cli-config.d.ts +10 -0
- package/lib/cli/cli-config.js +556 -0
- package/lib/cli/cli-type-registry.json +1147 -0
- package/lib/cli/cli.d.ts +3 -0
- package/lib/cli/cli.js +746 -0
- package/lib/cli/convert-to-user-input.d.ts +3 -0
- package/lib/cli/convert-to-user-input.js +560 -0
- package/lib/cli/display-version.d.ts +11 -0
- package/lib/cli/display-version.js +101 -0
- package/lib/cli/io-host/cli-io-host.d.ts +191 -0
- package/lib/cli/io-host/cli-io-host.js +477 -0
- package/lib/cli/io-host/index.d.ts +1 -0
- package/lib/cli/io-host/index.js +18 -0
- package/lib/cli/parse-command-line-arguments.d.ts +1 -0
- package/lib/cli/parse-command-line-arguments.js +1067 -0
- package/lib/cli/platform-warnings.d.ts +3 -0
- package/lib/cli/platform-warnings.js +44 -0
- package/lib/cli/pretty-print-error.d.ts +1 -0
- package/lib/cli/pretty-print-error.js +37 -0
- package/lib/cli/proxy-agent.d.ts +30 -0
- package/lib/cli/proxy-agent.js +52 -0
- package/lib/cli/root-dir.d.ts +10 -0
- package/lib/cli/root-dir.js +23 -0
- package/lib/cli/singleton-plugin-host.d.ts +7 -0
- package/lib/cli/singleton-plugin-host.js +11 -0
- package/lib/cli/tables.d.ts +1 -0
- package/lib/cli/tables.js +10 -0
- package/lib/cli/telemetry/collect-telemetry.d.ts +5 -0
- package/lib/cli/telemetry/collect-telemetry.js +16 -0
- package/lib/cli/telemetry/error.d.ts +15 -0
- package/lib/cli/telemetry/error.js +68 -0
- package/lib/cli/telemetry/feature-flags.d.ts +96 -0
- package/lib/cli/telemetry/feature-flags.js +103 -0
- package/lib/cli/telemetry/installation-id.d.ts +5 -0
- package/lib/cli/telemetry/installation-id.js +47 -0
- package/lib/cli/telemetry/library-version.d.ts +2 -0
- package/lib/cli/telemetry/library-version.js +30 -0
- package/lib/cli/telemetry/messages.d.ts +43 -0
- package/lib/cli/telemetry/messages.js +60 -0
- package/lib/cli/telemetry/sanitation.d.ts +100 -0
- package/lib/cli/telemetry/sanitation.js +79 -0
- package/lib/cli/telemetry/schema.d.ts +85 -0
- package/lib/cli/telemetry/schema.js +3 -0
- package/lib/cli/telemetry/session.d.ts +67 -0
- package/lib/cli/telemetry/session.js +174 -0
- package/lib/cli/telemetry/sink/endpoint-sink.d.ts +44 -0
- package/lib/cli/telemetry/sink/endpoint-sink.js +105 -0
- package/lib/cli/telemetry/sink/file-sink.d.ts +32 -0
- package/lib/cli/telemetry/sink/file-sink.js +43 -0
- package/lib/cli/telemetry/sink/funnel.d.ts +16 -0
- package/lib/cli/telemetry/sink/funnel.js +29 -0
- package/lib/cli/telemetry/sink/io-host-sink.d.ts +27 -0
- package/lib/cli/telemetry/sink/io-host-sink.js +35 -0
- package/lib/cli/telemetry/sink/sink-interface.d.ts +18 -0
- package/lib/cli/telemetry/sink/sink-interface.js +3 -0
- package/lib/cli/user-configuration.d.ts +104 -0
- package/lib/cli/user-configuration.js +334 -0
- package/lib/cli/user-input.d.ts +1505 -0
- package/lib/cli/user-input.js +3 -0
- package/lib/cli/util/ci.d.ts +5 -0
- package/lib/cli/util/ci.js +11 -0
- package/lib/cli/util/console-formatters.d.ts +18 -0
- package/lib/cli/util/console-formatters.js +42 -0
- package/lib/cli/util/guess-agent.d.ts +7 -0
- package/lib/cli/util/guess-agent.js +32 -0
- package/lib/cli/util/npm.d.ts +4 -0
- package/lib/cli/util/npm.js +34 -0
- package/lib/cli/util/trap-errors.d.ts +6 -0
- package/lib/cli/util/trap-errors.js +17 -0
- package/lib/cli/util/yargs-helpers.d.ts +22 -0
- package/lib/cli/util/yargs-helpers.js +49 -0
- package/lib/cli/version.d.ts +3 -0
- package/lib/cli/version.js +22 -0
- package/lib/commands/context.d.ts +40 -0
- package/lib/commands/context.js +158 -0
- package/lib/commands/deploy.d.ts +13 -0
- package/lib/commands/deploy.js +18 -0
- package/lib/commands/docs.d.ts +18 -0
- package/lib/commands/docs.js +33 -0
- package/lib/commands/doctor.d.ts +4 -0
- package/lib/commands/doctor.js +69 -0
- package/lib/commands/flags/flags.d.ts +13 -0
- package/lib/commands/flags/flags.js +30 -0
- package/lib/commands/flags/interactive-handler.d.ts +16 -0
- package/lib/commands/flags/interactive-handler.js +71 -0
- package/lib/commands/flags/obsolete-flags.d.ts +1 -0
- package/lib/commands/flags/obsolete-flags.js +9 -0
- package/lib/commands/flags/operations.d.ts +80 -0
- package/lib/commands/flags/operations.js +467 -0
- package/lib/commands/flags/router.d.ts +18 -0
- package/lib/commands/flags/router.js +60 -0
- package/lib/commands/flags/types.d.ts +12 -0
- package/lib/commands/flags/types.js +12 -0
- package/lib/commands/flags/validator.d.ts +22 -0
- package/lib/commands/flags/validator.js +95 -0
- package/lib/commands/init/index.d.ts +1 -0
- package/lib/commands/init/index.js +18 -0
- package/lib/commands/init/init-hooks.d.ts +41 -0
- package/lib/commands/init/init-hooks.js +85 -0
- package/lib/commands/init/init.d.ts +139 -0
- package/lib/commands/init/init.js +788 -0
- package/lib/commands/init/os.d.ts +8 -0
- package/lib/commands/init/os.js +91 -0
- package/lib/commands/init/package-manager.d.ts +15 -0
- package/lib/commands/init/package-manager.js +14 -0
- package/lib/commands/language.d.ts +30 -0
- package/lib/commands/language.js +46 -0
- package/lib/commands/list-stacks.d.ts +21 -0
- package/lib/commands/list-stacks.js +28 -0
- package/lib/commands/migrate.d.ts +316 -0
- package/lib/commands/migrate.js +801 -0
- package/lib/context-providers.d.ts +1 -0
- package/lib/context-providers.js +19 -0
- package/lib/cxapp/cloud-assembly.d.ts +79 -0
- package/lib/cxapp/cloud-assembly.js +109 -0
- package/lib/cxapp/cloud-executable.d.ts +51 -0
- package/lib/cxapp/cloud-executable.js +123 -0
- package/lib/cxapp/environments.d.ts +8 -0
- package/lib/cxapp/environments.js +66 -0
- package/lib/cxapp/exec.d.ts +14 -0
- package/lib/cxapp/exec.js +133 -0
- package/lib/cxapp/index.d.ts +4 -0
- package/lib/cxapp/index.js +21 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +364043 -0
- package/lib/index_bg.wasm +0 -0
- package/lib/init-templates/.init-version.json +1 -0
- package/lib/init-templates/.no-packagejson-validator +0 -0
- package/lib/init-templates/.recommended-feature-flags.json +86 -0
- package/lib/init-templates/LICENSE +16 -0
- package/lib/init-templates/app/csharp/.template.gitignore +342 -0
- package/lib/init-templates/app/csharp/README.md +14 -0
- package/lib/init-templates/app/csharp/cdk.template.json +15 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +13 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs +44 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/app/fsharp/.template.gitignore +342 -0
- package/lib/init-templates/app/fsharp/README.md +18 -0
- package/lib/init-templates/app/fsharp/cdk.template.json +14 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +8 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/app/go/%name%.template.go +70 -0
- package/lib/init-templates/app/go/%name%_test.template.go +26 -0
- package/lib/init-templates/app/go/.template.gitignore +19 -0
- package/lib/init-templates/app/go/README.md +12 -0
- package/lib/init-templates/app/go/cdk.template.json +13 -0
- package/lib/init-templates/app/go/go.template.mod +9 -0
- package/lib/init-templates/app/info.json +4 -0
- package/lib/init-templates/app/java/.template.gitignore +13 -0
- package/lib/init-templates/app/java/README.md +18 -0
- package/lib/init-templates/app/java/cdk.json +13 -0
- package/lib/init-templates/app/java/pom.xml +60 -0
- package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +42 -0
- package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +24 -0
- package/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java +26 -0
- package/lib/init-templates/app/javascript/.template.gitignore +5 -0
- package/lib/init-templates/app/javascript/.template.npmignore +3 -0
- package/lib/init-templates/app/javascript/README.md +12 -0
- package/lib/init-templates/app/javascript/bin/%name%.template.js +21 -0
- package/lib/init-templates/app/javascript/cdk.template.json +15 -0
- package/lib/init-templates/app/javascript/jest.config.js +4 -0
- package/lib/init-templates/app/javascript/lib/%name%-stack.template.js +23 -0
- package/lib/init-templates/app/javascript/package.json +20 -0
- package/lib/init-templates/app/javascript/test/%name%.test.template.js +17 -0
- package/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +19 -0
- package/lib/init-templates/app/python/%name.PythonModule%/__init__.py +0 -0
- package/lib/init-templates/app/python/.template.gitignore +10 -0
- package/lib/init-templates/app/python/README.template.md +58 -0
- package/lib/init-templates/app/python/app.template.py +28 -0
- package/lib/init-templates/app/python/cdk.template.json +15 -0
- package/lib/init-templates/app/python/requirements-dev.txt +1 -0
- package/lib/init-templates/app/python/requirements.txt +2 -0
- package/lib/init-templates/app/python/source.bat +13 -0
- package/lib/init-templates/app/python/tests/__init__.py +0 -0
- package/lib/init-templates/app/python/tests/unit/__init__.py +0 -0
- package/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py +15 -0
- package/lib/init-templates/app/typescript/.template.gitignore +8 -0
- package/lib/init-templates/app/typescript/.template.npmignore +6 -0
- package/lib/init-templates/app/typescript/README.md +14 -0
- package/lib/init-templates/app/typescript/bin/%name%.template.ts +20 -0
- package/lib/init-templates/app/typescript/cdk.template.json +17 -0
- package/lib/init-templates/app/typescript/jest.config.js +9 -0
- package/lib/init-templates/app/typescript/lib/%name%-stack.template.ts +16 -0
- package/lib/init-templates/app/typescript/package.json +26 -0
- package/lib/init-templates/app/typescript/test/%name%.test.template.ts +17 -0
- package/lib/init-templates/app/typescript/tsconfig.json +32 -0
- package/lib/init-templates/lib/info.json +4 -0
- package/lib/init-templates/lib/typescript/.template.gitignore +8 -0
- package/lib/init-templates/lib/typescript/.template.npmignore +6 -0
- package/lib/init-templates/lib/typescript/README.template.md +12 -0
- package/lib/init-templates/lib/typescript/jest.config.js +9 -0
- package/lib/init-templates/lib/typescript/lib/index.template.ts +21 -0
- package/lib/init-templates/lib/typescript/package.json +24 -0
- package/lib/init-templates/lib/typescript/test/%name%.test.template.ts +18 -0
- package/lib/init-templates/lib/typescript/tsconfig.json +32 -0
- package/lib/init-templates/sample-app/csharp/.template.gitignore +342 -0
- package/lib/init-templates/sample-app/csharp/README.template.md +19 -0
- package/lib/init-templates/sample-app/csharp/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +24 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs +15 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/sample-app/fsharp/.template.gitignore +342 -0
- package/lib/init-templates/sample-app/fsharp/README.template.md +20 -0
- package/lib/init-templates/sample-app/fsharp/cdk.template.json +14 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +14 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/sample-app/go/%name%.template.go +73 -0
- package/lib/init-templates/sample-app/go/%name%_test.template.go +25 -0
- package/lib/init-templates/sample-app/go/.template.gitignore +19 -0
- package/lib/init-templates/sample-app/go/README.md +12 -0
- package/lib/init-templates/sample-app/go/cdk.template.json +13 -0
- package/lib/init-templates/sample-app/go/go.template.mod +9 -0
- package/lib/init-templates/sample-app/info.json +4 -0
- package/lib/init-templates/sample-app/java/.template.gitignore +13 -0
- package/lib/init-templates/sample-app/java/README.template.md +19 -0
- package/lib/init-templates/sample-app/java/cdk.json +13 -0
- package/lib/init-templates/sample-app/java/pom.xml +55 -0
- package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +13 -0
- package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +29 -0
- package/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java +27 -0
- package/lib/init-templates/sample-app/javascript/.template.gitignore +5 -0
- package/lib/init-templates/sample-app/javascript/.template.npmignore +3 -0
- package/lib/init-templates/sample-app/javascript/README.template.md +13 -0
- package/lib/init-templates/sample-app/javascript/bin/%name%.template.js +6 -0
- package/lib/init-templates/sample-app/javascript/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/javascript/jest.config.js +4 -0
- package/lib/init-templates/sample-app/javascript/lib/%name%-stack.template.js +25 -0
- package/lib/init-templates/sample-app/javascript/package.json +20 -0
- package/lib/init-templates/sample-app/javascript/test/%name%.test.template.js +16 -0
- package/lib/init-templates/sample-app/javascript/tsconfig.json +34 -0
- package/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +26 -0
- package/lib/init-templates/sample-app/python/%name.PythonModule%/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/.template.gitignore +22 -0
- package/lib/init-templates/sample-app/python/README.template.md +65 -0
- package/lib/init-templates/sample-app/python/app.template.py +11 -0
- package/lib/init-templates/sample-app/python/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/python/requirements-dev.txt +1 -0
- package/lib/init-templates/sample-app/python/requirements.txt +2 -0
- package/lib/init-templates/sample-app/python/source.bat +13 -0
- package/lib/init-templates/sample-app/python/tests/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/tests/unit/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py +21 -0
- package/lib/init-templates/sample-app/typescript/.template.gitignore +8 -0
- package/lib/init-templates/sample-app/typescript/.template.npmignore +6 -0
- package/lib/init-templates/sample-app/typescript/README.template.md +15 -0
- package/lib/init-templates/sample-app/typescript/bin/%name%.template.ts +6 -0
- package/lib/init-templates/sample-app/typescript/cdk.template.json +17 -0
- package/lib/init-templates/sample-app/typescript/jest.config.js +9 -0
- package/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts +19 -0
- package/lib/init-templates/sample-app/typescript/package.json +26 -0
- package/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts +17 -0
- package/lib/init-templates/sample-app/typescript/tsconfig.json +32 -0
- package/lib/util.d.ts +1 -0
- package/lib/util.js +19 -0
- package/package.json +170 -0
- package/release.txt +2 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shell = shell;
|
|
4
|
+
const child_process = require("child_process");
|
|
5
|
+
const toolkit_lib_1 = require("@aws-cdk/toolkit-lib");
|
|
6
|
+
const chalk = require("chalk");
|
|
7
|
+
/**
|
|
8
|
+
* OS helpers
|
|
9
|
+
*
|
|
10
|
+
* Shell function which both prints to stdout and collects the output into a
|
|
11
|
+
* string.
|
|
12
|
+
*/
|
|
13
|
+
async function shell(ioHelper, command) {
|
|
14
|
+
const commandLine = renderCommandLine(command);
|
|
15
|
+
await ioHelper.defaults.debug(`Executing ${chalk.blue(commandLine)}`);
|
|
16
|
+
const child = child_process.spawn(command[0], renderArguments(command.slice(1)), {
|
|
17
|
+
// Need this for Windows where we want .cmd and .bat to be found as well.
|
|
18
|
+
shell: true,
|
|
19
|
+
stdio: ['ignore', 'pipe', 'inherit'],
|
|
20
|
+
});
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
const stdout = new Array();
|
|
23
|
+
// Both write to stdout and collect
|
|
24
|
+
child.stdout.on('data', chunk => {
|
|
25
|
+
process.stdout.write(chunk);
|
|
26
|
+
stdout.push(chunk);
|
|
27
|
+
});
|
|
28
|
+
child.once('error', reject);
|
|
29
|
+
child.once('exit', code => {
|
|
30
|
+
if (code === 0) {
|
|
31
|
+
resolve(Buffer.from(stdout).toString('utf-8'));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
reject(new toolkit_lib_1.ToolkitError('CommandFailed', `${commandLine} exited with error code ${code}`));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function renderCommandLine(cmd) {
|
|
40
|
+
return renderArguments(cmd).join(' ');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Render the arguments to include escape characters for each platform.
|
|
44
|
+
*/
|
|
45
|
+
function renderArguments(cmd) {
|
|
46
|
+
if (process.platform !== 'win32') {
|
|
47
|
+
return doRender(cmd, hasAnyChars(' ', '\\', '!', '"', "'", '&', '$'), posixEscape);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return doRender(cmd, hasAnyChars(' ', '"', '&', '^', '%'), windowsEscape);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Render a UNIX command line
|
|
55
|
+
*/
|
|
56
|
+
function doRender(cmd, needsEscaping, doEscape) {
|
|
57
|
+
return cmd.map(x => needsEscaping(x) ? doEscape(x) : x);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Return a predicate that checks if a string has any of the indicated chars in it
|
|
61
|
+
*/
|
|
62
|
+
function hasAnyChars(...chars) {
|
|
63
|
+
return (str) => {
|
|
64
|
+
return chars.some(c => str.indexOf(c) !== -1);
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Escape a shell argument for POSIX shells
|
|
69
|
+
*
|
|
70
|
+
* Wrapping in single quotes and escaping single quotes inside will do it for us.
|
|
71
|
+
*/
|
|
72
|
+
function posixEscape(x) {
|
|
73
|
+
// Turn ' -> '"'"'
|
|
74
|
+
x = x.replace(/'/g, "'\"'\"'");
|
|
75
|
+
return `'${x}'`;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Escape a shell argument for cmd.exe
|
|
79
|
+
*
|
|
80
|
+
* This is how to do it right, but I'm not following everything:
|
|
81
|
+
*
|
|
82
|
+
* https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
|
|
83
|
+
*/
|
|
84
|
+
function windowsEscape(x) {
|
|
85
|
+
// First surround by double quotes, ignore the part about backslashes
|
|
86
|
+
x = `"${x}"`;
|
|
87
|
+
// Now escape all special characters
|
|
88
|
+
const shellMeta = new Set(['"', '&', '^', '%']);
|
|
89
|
+
return x.split('').map(c => shellMeta.has(x) ? '^' + c : c).join('');
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLHNCQTRCQztBQXZDRCwrQ0FBK0M7QUFDL0Msc0RBQW9EO0FBQ3BELCtCQUErQjtBQUcvQjs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxLQUFLLENBQUMsUUFBa0IsRUFBRSxPQUFpQjtJQUMvRCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMvRSx5RUFBeUU7UUFDekUsS0FBSyxFQUFFLElBQUk7UUFDWCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUNyQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzdDLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFPLENBQUM7UUFFaEMsbUNBQW1DO1FBQ25DLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxJQUFJLDBCQUFZLENBQUMsZUFBZSxFQUFFLEdBQUcsV0FBVywyQkFBMkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsR0FBYTtJQUN0QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxlQUFlLENBQUMsR0FBYTtJQUNwQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDakMsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFFBQVEsQ0FBQyxHQUFhLEVBQUUsYUFBcUMsRUFBRSxRQUErQjtJQUNyRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxXQUFXLENBQUMsR0FBRyxLQUFlO0lBQ3JDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsRUFBRTtRQUNyQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxDQUFTO0lBQzVCLGtCQUFrQjtJQUNsQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLGFBQWEsQ0FBQyxDQUFTO0lBQzlCLHFFQUFxRTtJQUNyRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNiLG9DQUFvQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEQsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2hpbGRfcHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJ0Bhd3MtY2RrL3Rvb2xraXQtbGliJztcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuLi8uLi9hcGktcHJpdmF0ZSc7XG5cbi8qKlxuICogT1MgaGVscGVyc1xuICpcbiAqIFNoZWxsIGZ1bmN0aW9uIHdoaWNoIGJvdGggcHJpbnRzIHRvIHN0ZG91dCBhbmQgY29sbGVjdHMgdGhlIG91dHB1dCBpbnRvIGFcbiAqIHN0cmluZy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNoZWxsKGlvSGVscGVyOiBJb0hlbHBlciwgY29tbWFuZDogc3RyaW5nW10pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjb21tYW5kTGluZSA9IHJlbmRlckNvbW1hbmRMaW5lKGNvbW1hbmQpO1xuICBhd2FpdCBpb0hlbHBlci5kZWZhdWx0cy5kZWJ1ZyhgRXhlY3V0aW5nICR7Y2hhbGsuYmx1ZShjb21tYW5kTGluZSl9YCk7XG4gIGNvbnN0IGNoaWxkID0gY2hpbGRfcHJvY2Vzcy5zcGF3bihjb21tYW5kWzBdLCByZW5kZXJBcmd1bWVudHMoY29tbWFuZC5zbGljZSgxKSksIHtcbiAgICAvLyBOZWVkIHRoaXMgZm9yIFdpbmRvd3Mgd2hlcmUgd2Ugd2FudCAuY21kIGFuZCAuYmF0IHRvIGJlIGZvdW5kIGFzIHdlbGwuXG4gICAgc2hlbGw6IHRydWUsXG4gICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAnaW5oZXJpdCddLFxuICB9KTtcblxuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3Qgc3Rkb3V0ID0gbmV3IEFycmF5PGFueT4oKTtcblxuICAgIC8vIEJvdGggd3JpdGUgdG8gc3Rkb3V0IGFuZCBjb2xsZWN0XG4gICAgY2hpbGQuc3Rkb3V0Lm9uKCdkYXRhJywgY2h1bmsgPT4ge1xuICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoY2h1bmspO1xuICAgICAgc3Rkb3V0LnB1c2goY2h1bmspO1xuICAgIH0pO1xuXG4gICAgY2hpbGQub25jZSgnZXJyb3InLCByZWplY3QpO1xuXG4gICAgY2hpbGQub25jZSgnZXhpdCcsIGNvZGUgPT4ge1xuICAgICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgICAgcmVzb2x2ZShCdWZmZXIuZnJvbShzdGRvdXQpLnRvU3RyaW5nKCd1dGYtOCcpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdChuZXcgVG9vbGtpdEVycm9yKCdDb21tYW5kRmFpbGVkJywgYCR7Y29tbWFuZExpbmV9IGV4aXRlZCB3aXRoIGVycm9yIGNvZGUgJHtjb2RlfWApKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckNvbW1hbmRMaW5lKGNtZDogc3RyaW5nW10pIHtcbiAgcmV0dXJuIHJlbmRlckFyZ3VtZW50cyhjbWQpLmpvaW4oJyAnKTtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGFyZ3VtZW50cyB0byBpbmNsdWRlIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBlYWNoIHBsYXRmb3JtLlxuICovXG5mdW5jdGlvbiByZW5kZXJBcmd1bWVudHMoY21kOiBzdHJpbmdbXSkge1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gJ3dpbjMyJykge1xuICAgIHJldHVybiBkb1JlbmRlcihjbWQsIGhhc0FueUNoYXJzKCcgJywgJ1xcXFwnLCAnIScsICdcIicsIFwiJ1wiLCAnJicsICckJyksIHBvc2l4RXNjYXBlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZG9SZW5kZXIoY21kLCBoYXNBbnlDaGFycygnICcsICdcIicsICcmJywgJ14nLCAnJScpLCB3aW5kb3dzRXNjYXBlKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbmRlciBhIFVOSVggY29tbWFuZCBsaW5lXG4gKi9cbmZ1bmN0aW9uIGRvUmVuZGVyKGNtZDogc3RyaW5nW10sIG5lZWRzRXNjYXBpbmc6ICh4OiBzdHJpbmcpID0+IGJvb2xlYW4sIGRvRXNjYXBlOiAoeDogc3RyaW5nKSA9PiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBjbWQubWFwKHggPT4gbmVlZHNFc2NhcGluZyh4KSA/IGRvRXNjYXBlKHgpIDogeCk7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgcHJlZGljYXRlIHRoYXQgY2hlY2tzIGlmIGEgc3RyaW5nIGhhcyBhbnkgb2YgdGhlIGluZGljYXRlZCBjaGFycyBpbiBpdFxuICovXG5mdW5jdGlvbiBoYXNBbnlDaGFycyguLi5jaGFyczogc3RyaW5nW10pOiAoeDogc3RyaW5nKSA9PiBib29sZWFuIHtcbiAgcmV0dXJuIChzdHI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBjaGFycy5zb21lKGMgPT4gc3RyLmluZGV4T2YoYykgIT09IC0xKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBFc2NhcGUgYSBzaGVsbCBhcmd1bWVudCBmb3IgUE9TSVggc2hlbGxzXG4gKlxuICogV3JhcHBpbmcgaW4gc2luZ2xlIHF1b3RlcyBhbmQgZXNjYXBpbmcgc2luZ2xlIHF1b3RlcyBpbnNpZGUgd2lsbCBkbyBpdCBmb3IgdXMuXG4gKi9cbmZ1bmN0aW9uIHBvc2l4RXNjYXBlKHg6IHN0cmluZykge1xuICAvLyBUdXJuICcgLT4gJ1wiJ1wiJ1xuICB4ID0geC5yZXBsYWNlKC8nL2csIFwiJ1xcXCInXFxcIidcIik7XG4gIHJldHVybiBgJyR7eH0nYDtcbn1cblxuLyoqXG4gKiBFc2NhcGUgYSBzaGVsbCBhcmd1bWVudCBmb3IgY21kLmV4ZVxuICpcbiAqIFRoaXMgaXMgaG93IHRvIGRvIGl0IHJpZ2h0LCBidXQgSSdtIG5vdCBmb2xsb3dpbmcgZXZlcnl0aGluZzpcbiAqXG4gKiBodHRwczovL2Jsb2dzLm1zZG4ubWljcm9zb2Z0LmNvbS90d2lzdHlsaXR0bGVwYXNzYWdlc2FsbGFsaWtlLzIwMTEvMDQvMjMvZXZlcnlvbmUtcXVvdGVzLWNvbW1hbmQtbGluZS1hcmd1bWVudHMtdGhlLXdyb25nLXdheS9cbiAqL1xuZnVuY3Rpb24gd2luZG93c0VzY2FwZSh4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBGaXJzdCBzdXJyb3VuZCBieSBkb3VibGUgcXVvdGVzLCBpZ25vcmUgdGhlIHBhcnQgYWJvdXQgYmFja3NsYXNoZXNcbiAgeCA9IGBcIiR7eH1cImA7XG4gIC8vIE5vdyBlc2NhcGUgYWxsIHNwZWNpYWwgY2hhcmFjdGVyc1xuICBjb25zdCBzaGVsbE1ldGEgPSBuZXcgU2V0PHN0cmluZz4oWydcIicsICcmJywgJ14nLCAnJSddKTtcbiAgcmV0dXJuIHguc3BsaXQoJycpLm1hcChjID0+IHNoZWxsTWV0YS5oYXMoeCkgPyAnXicgKyBjIDogYykuam9pbignJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const JS_PACKAGE_MANAGERS: readonly [{
|
|
2
|
+
readonly name: "npm";
|
|
3
|
+
readonly commandPrefix: "npm run";
|
|
4
|
+
}, {
|
|
5
|
+
readonly name: "yarn";
|
|
6
|
+
readonly commandPrefix: "yarn";
|
|
7
|
+
}, {
|
|
8
|
+
readonly name: "pnpm";
|
|
9
|
+
readonly commandPrefix: "pnpm";
|
|
10
|
+
}, {
|
|
11
|
+
readonly name: "bun";
|
|
12
|
+
readonly commandPrefix: "bun run";
|
|
13
|
+
}];
|
|
14
|
+
export type JsPackageManager = (typeof JS_PACKAGE_MANAGERS)[number]['name'];
|
|
15
|
+
export declare const getPmCmdPrefix: (packageManager: JsPackageManager) => string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPmCmdPrefix = exports.JS_PACKAGE_MANAGERS = void 0;
|
|
4
|
+
exports.JS_PACKAGE_MANAGERS = [
|
|
5
|
+
{ name: 'npm', commandPrefix: 'npm run' },
|
|
6
|
+
{ name: 'yarn', commandPrefix: 'yarn' },
|
|
7
|
+
{ name: 'pnpm', commandPrefix: 'pnpm' },
|
|
8
|
+
{ name: 'bun', commandPrefix: 'bun run' },
|
|
9
|
+
];
|
|
10
|
+
const getPmCmdPrefix = (packageManager) => {
|
|
11
|
+
return exports.JS_PACKAGE_MANAGERS.find(pm => pm.name === packageManager).commandPrefix;
|
|
12
|
+
};
|
|
13
|
+
exports.getPmCmdPrefix = getPmCmdPrefix;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGFja2FnZS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsbUJBQW1CLEdBQUc7SUFDakMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUU7SUFDekMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUU7SUFDdkMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUU7SUFDdkMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUU7Q0FDakMsQ0FBQztBQUlKLE1BQU0sY0FBYyxHQUFHLENBQUMsY0FBZ0MsRUFBVSxFQUFFO0lBQ3pFLE9BQU8sMkJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUUsQ0FBQyxhQUFhLENBQUM7QUFDbkYsQ0FBQyxDQUFDO0FBRlcsUUFBQSxjQUFjLGtCQUV6QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBKU19QQUNLQUdFX01BTkFHRVJTID0gW1xuICB7IG5hbWU6ICducG0nLCBjb21tYW5kUHJlZml4OiAnbnBtIHJ1bicgfSxcbiAgeyBuYW1lOiAneWFybicsIGNvbW1hbmRQcmVmaXg6ICd5YXJuJyB9LFxuICB7IG5hbWU6ICdwbnBtJywgY29tbWFuZFByZWZpeDogJ3BucG0nIH0sXG4gIHsgbmFtZTogJ2J1bicsIGNvbW1hbmRQcmVmaXg6ICdidW4gcnVuJyB9LFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgSnNQYWNrYWdlTWFuYWdlciA9ICh0eXBlb2YgSlNfUEFDS0FHRV9NQU5BR0VSUylbbnVtYmVyXVsnbmFtZSddO1xuXG5leHBvcnQgY29uc3QgZ2V0UG1DbWRQcmVmaXggPSAocGFja2FnZU1hbmFnZXI6IEpzUGFja2FnZU1hbmFnZXIpOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gSlNfUEFDS0FHRV9NQU5BR0VSUy5maW5kKHBtID0+IHBtLm5hbWUgPT09IHBhY2thZ2VNYW5hZ2VyKSEuY29tbWFuZFByZWZpeDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface LanguageInfo {
|
|
2
|
+
name: string;
|
|
3
|
+
alias: string;
|
|
4
|
+
extensions: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const SUPPORTED_LANGUAGES: LanguageInfo[];
|
|
7
|
+
/**
|
|
8
|
+
* get the language alias from the language name or alias
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* getLanguageAlias('typescript') // returns 'ts'
|
|
12
|
+
* getLanguageAlias('python') // returns 'py'
|
|
13
|
+
*/
|
|
14
|
+
export declare function getLanguageAlias(language: string): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* get the language name from the language alias or name
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* getLanguageFromAlias('ts') // returns 'typescript'
|
|
20
|
+
* getLanguageFromAlias('py') // returns 'python'
|
|
21
|
+
*/
|
|
22
|
+
export declare function getLanguageFromAlias(alias: string): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* get the file extensions for a given language name or alias
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* getLanguageExtensions('typescript') // returns ['.ts', '.js']
|
|
28
|
+
* getLanguageExtensions('python') // returns ['.py']
|
|
29
|
+
*/
|
|
30
|
+
export declare function getLanguageExtensions(language: string): string[];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUPPORTED_LANGUAGES = void 0;
|
|
4
|
+
exports.getLanguageAlias = getLanguageAlias;
|
|
5
|
+
exports.getLanguageFromAlias = getLanguageFromAlias;
|
|
6
|
+
exports.getLanguageExtensions = getLanguageExtensions;
|
|
7
|
+
exports.SUPPORTED_LANGUAGES = [
|
|
8
|
+
{ name: 'csharp', alias: 'cs', extensions: ['.cs'] },
|
|
9
|
+
{ name: 'fsharp', alias: 'fs', extensions: ['.fs'] },
|
|
10
|
+
{ name: 'go', alias: 'go', extensions: ['.go'] },
|
|
11
|
+
{ name: 'java', alias: 'java', extensions: ['.java'] },
|
|
12
|
+
{ name: 'javascript', alias: 'js', extensions: ['.js'] },
|
|
13
|
+
{ name: 'python', alias: 'py', extensions: ['.py'] },
|
|
14
|
+
{ name: 'typescript', alias: 'ts', extensions: ['.ts', '.js'] },
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* get the language alias from the language name or alias
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* getLanguageAlias('typescript') // returns 'ts'
|
|
21
|
+
* getLanguageAlias('python') // returns 'py'
|
|
22
|
+
*/
|
|
23
|
+
function getLanguageAlias(language) {
|
|
24
|
+
return exports.SUPPORTED_LANGUAGES.find((l) => l.name === language || l.alias === language)?.alias;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* get the language name from the language alias or name
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* getLanguageFromAlias('ts') // returns 'typescript'
|
|
31
|
+
* getLanguageFromAlias('py') // returns 'python'
|
|
32
|
+
*/
|
|
33
|
+
function getLanguageFromAlias(alias) {
|
|
34
|
+
return exports.SUPPORTED_LANGUAGES.find((l) => l.alias === alias || l.name === alias)?.name;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* get the file extensions for a given language name or alias
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* getLanguageExtensions('typescript') // returns ['.ts', '.js']
|
|
41
|
+
* getLanguageExtensions('python') // returns ['.py']
|
|
42
|
+
*/
|
|
43
|
+
function getLanguageExtensions(language) {
|
|
44
|
+
return exports.SUPPORTED_LANGUAGES.find((l) => l.name === language || l.alias === language)?.extensions ?? [];
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1QkEsNENBRUM7QUFTRCxvREFFQztBQVNELHNEQUVDO0FBekNZLFFBQUEsbUJBQW1CLEdBQW1CO0lBQ2pELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ2hELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFO0lBQ3RELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3hELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3BELEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtDQUNoRSxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsUUFBZ0I7SUFDL0MsT0FBTywyQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDO0FBQzdGLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxLQUFhO0lBQ2hELE9BQU8sMkJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQztBQUN0RixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsT0FBTywyQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztBQUN4RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMYW5ndWFnZUluZm8ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFsaWFzOiBzdHJpbmc7XG4gIGV4dGVuc2lvbnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY29uc3QgU1VQUE9SVEVEX0xBTkdVQUdFUzogTGFuZ3VhZ2VJbmZvW10gPSBbXG4gIHsgbmFtZTogJ2NzaGFycCcsIGFsaWFzOiAnY3MnLCBleHRlbnNpb25zOiBbJy5jcyddIH0sXG4gIHsgbmFtZTogJ2ZzaGFycCcsIGFsaWFzOiAnZnMnLCBleHRlbnNpb25zOiBbJy5mcyddIH0sXG4gIHsgbmFtZTogJ2dvJywgYWxpYXM6ICdnbycsIGV4dGVuc2lvbnM6IFsnLmdvJ10gfSxcbiAgeyBuYW1lOiAnamF2YScsIGFsaWFzOiAnamF2YScsIGV4dGVuc2lvbnM6IFsnLmphdmEnXSB9LFxuICB7IG5hbWU6ICdqYXZhc2NyaXB0JywgYWxpYXM6ICdqcycsIGV4dGVuc2lvbnM6IFsnLmpzJ10gfSxcbiAgeyBuYW1lOiAncHl0aG9uJywgYWxpYXM6ICdweScsIGV4dGVuc2lvbnM6IFsnLnB5J10gfSxcbiAgeyBuYW1lOiAndHlwZXNjcmlwdCcsIGFsaWFzOiAndHMnLCBleHRlbnNpb25zOiBbJy50cycsICcuanMnXSB9LFxuXTtcblxuLyoqXG4gKiBnZXQgdGhlIGxhbmd1YWdlIGFsaWFzIGZyb20gdGhlIGxhbmd1YWdlIG5hbWUgb3IgYWxpYXNcbiAqXG4gKiBAZXhhbXBsZVxuICogZ2V0TGFuZ3VhZ2VBbGlhcygndHlwZXNjcmlwdCcpIC8vIHJldHVybnMgJ3RzJ1xuICogZ2V0TGFuZ3VhZ2VBbGlhcygncHl0aG9uJykgLy8gcmV0dXJucyAncHknXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYW5ndWFnZUFsaWFzKGxhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gU1VQUE9SVEVEX0xBTkdVQUdFUy5maW5kKChsKSA9PiBsLm5hbWUgPT09IGxhbmd1YWdlIHx8IGwuYWxpYXMgPT09IGxhbmd1YWdlKT8uYWxpYXM7XG59XG5cbi8qKlxuICogZ2V0IHRoZSBsYW5ndWFnZSBuYW1lIGZyb20gdGhlIGxhbmd1YWdlIGFsaWFzIG9yIG5hbWVcbiAqXG4gKiBAZXhhbXBsZVxuICogZ2V0TGFuZ3VhZ2VGcm9tQWxpYXMoJ3RzJykgLy8gcmV0dXJucyAndHlwZXNjcmlwdCdcbiAqIGdldExhbmd1YWdlRnJvbUFsaWFzKCdweScpIC8vIHJldHVybnMgJ3B5dGhvbidcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExhbmd1YWdlRnJvbUFsaWFzKGFsaWFzOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gU1VQUE9SVEVEX0xBTkdVQUdFUy5maW5kKChsKSA9PiBsLmFsaWFzID09PSBhbGlhcyB8fCBsLm5hbWUgPT09IGFsaWFzKT8ubmFtZTtcbn1cblxuLyoqXG4gKiBnZXQgdGhlIGZpbGUgZXh0ZW5zaW9ucyBmb3IgYSBnaXZlbiBsYW5ndWFnZSBuYW1lIG9yIGFsaWFzXG4gKlxuICogQGV4YW1wbGVcbiAqIGdldExhbmd1YWdlRXh0ZW5zaW9ucygndHlwZXNjcmlwdCcpIC8vIHJldHVybnMgWycudHMnLCAnLmpzJ11cbiAqIGdldExhbmd1YWdlRXh0ZW5zaW9ucygncHl0aG9uJykgLy8gcmV0dXJucyBbJy5weSddXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYW5ndWFnZUV4dGVuc2lvbnMobGFuZ3VhZ2U6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFNVUFBPUlRFRF9MQU5HVUFHRVMuZmluZCgobCkgPT4gbC5uYW1lID09PSBsYW5ndWFnZSB8fCBsLmFsaWFzID09PSBsYW5ndWFnZSk/LmV4dGVuc2lvbnMgPz8gW107XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { StackDetails } from '@aws-cdk/toolkit-lib';
|
|
2
|
+
import type { CdkToolkit } from '../cli/cdk-toolkit';
|
|
3
|
+
/**
|
|
4
|
+
* Options for List Stacks
|
|
5
|
+
*/
|
|
6
|
+
export interface ListStacksOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Stacks to list
|
|
9
|
+
*
|
|
10
|
+
* @default - All stacks are listed
|
|
11
|
+
*/
|
|
12
|
+
readonly selectors: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* List Stacks
|
|
16
|
+
*
|
|
17
|
+
* @param toolkit - cdk toolkit
|
|
18
|
+
* @param options - list stacks options
|
|
19
|
+
* @returns StackDetails[]
|
|
20
|
+
*/
|
|
21
|
+
export declare function listStacks(toolkit: CdkToolkit, options: ListStacksOptions): Promise<StackDetails[]>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listStacks = listStacks;
|
|
4
|
+
const cxapp_1 = require("../cxapp");
|
|
5
|
+
/**
|
|
6
|
+
* List Stacks
|
|
7
|
+
*
|
|
8
|
+
* @param toolkit - cdk toolkit
|
|
9
|
+
* @param options - list stacks options
|
|
10
|
+
* @returns StackDetails[]
|
|
11
|
+
*/
|
|
12
|
+
async function listStacks(toolkit, options) {
|
|
13
|
+
const assembly = await toolkit.assembly();
|
|
14
|
+
const stacks = await assembly.selectStacks({
|
|
15
|
+
patterns: options.selectors,
|
|
16
|
+
}, {
|
|
17
|
+
extend: cxapp_1.ExtendedStackSelection.Upstream,
|
|
18
|
+
defaultBehavior: cxapp_1.DefaultSelection.AllStacks,
|
|
19
|
+
});
|
|
20
|
+
// we only want to print a subset of information in `cdk list --json`
|
|
21
|
+
return stacks.withDependencies().map(stack => ({
|
|
22
|
+
id: stack.id,
|
|
23
|
+
name: stack.name,
|
|
24
|
+
environment: stack.environment,
|
|
25
|
+
dependencies: stack.dependencies,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGFja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsaXN0LXN0YWNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXVCQSxnQ0FpQkM7QUF0Q0Qsb0NBQW9FO0FBY3BFOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxVQUFVLENBQUMsT0FBbUIsRUFBRSxPQUEwQjtJQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUUxQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDekMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxTQUFTO0tBQzVCLEVBQUU7UUFDRCxNQUFNLEVBQUUsOEJBQXNCLENBQUMsUUFBUTtRQUN2QyxlQUFlLEVBQUUsd0JBQWdCLENBQUMsU0FBUztLQUM1QyxDQUFDLENBQUM7SUFFSCxxRUFBcUU7SUFDckUsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO0tBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3RhY2tEZXRhaWxzIH0gZnJvbSAnQGF3cy1jZGsvdG9vbGtpdC1saWInO1xuaW1wb3J0IHR5cGUgeyBDZGtUb29sa2l0IH0gZnJvbSAnLi4vY2xpL2Nkay10b29sa2l0JztcbmltcG9ydCB7IERlZmF1bHRTZWxlY3Rpb24sIEV4dGVuZGVkU3RhY2tTZWxlY3Rpb24gfSBmcm9tICcuLi9jeGFwcCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgTGlzdCBTdGFja3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U3RhY2tzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTdGFja3MgdG8gbGlzdFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFsbCBzdGFja3MgYXJlIGxpc3RlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0b3JzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBMaXN0IFN0YWNrc1xuICpcbiAqIEBwYXJhbSB0b29sa2l0IC0gY2RrIHRvb2xraXRcbiAqIEBwYXJhbSBvcHRpb25zIC0gbGlzdCBzdGFja3Mgb3B0aW9uc1xuICogQHJldHVybnMgU3RhY2tEZXRhaWxzW11cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpc3RTdGFja3ModG9vbGtpdDogQ2RrVG9vbGtpdCwgb3B0aW9uczogTGlzdFN0YWNrc09wdGlvbnMpOiBQcm9taXNlPFN0YWNrRGV0YWlsc1tdPiB7XG4gIGNvbnN0IGFzc2VtYmx5ID0gYXdhaXQgdG9vbGtpdC5hc3NlbWJseSgpO1xuXG4gIGNvbnN0IHN0YWNrcyA9IGF3YWl0IGFzc2VtYmx5LnNlbGVjdFN0YWNrcyh7XG4gICAgcGF0dGVybnM6IG9wdGlvbnMuc2VsZWN0b3JzLFxuICB9LCB7XG4gICAgZXh0ZW5kOiBFeHRlbmRlZFN0YWNrU2VsZWN0aW9uLlVwc3RyZWFtLFxuICAgIGRlZmF1bHRCZWhhdmlvcjogRGVmYXVsdFNlbGVjdGlvbi5BbGxTdGFja3MsXG4gIH0pO1xuXG4gIC8vIHdlIG9ubHkgd2FudCB0byBwcmludCBhIHN1YnNldCBvZiBpbmZvcm1hdGlvbiBpbiBgY2RrIGxpc3QgLS1qc29uYFxuICByZXR1cm4gc3RhY2tzLndpdGhEZXBlbmRlbmNpZXMoKS5tYXAoc3RhY2sgPT4gKHtcbiAgICBpZDogc3RhY2suaWQsXG4gICAgbmFtZTogc3RhY2submFtZSxcbiAgICBlbnZpcm9ubWVudDogc3RhY2suZW52aXJvbm1lbnQsXG4gICAgZGVwZW5kZW5jaWVzOiBzdGFjay5kZXBlbmRlbmNpZXMsXG4gIH0pKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import type { Environment } from '@aws-cdk/cloud-assembly-api';
|
|
2
|
+
import type { DescribeGeneratedTemplateCommandOutput, DescribeResourceScanCommandOutput, GetGeneratedTemplateCommandOutput, ResourceDefinition, ResourceDetail, ResourceIdentifierSummary, ResourceScanSummary, ScannedResource, ScannedResourceIdentifier } from '@aws-sdk/client-cloudformation';
|
|
3
|
+
import type { ICloudFormationClient, SdkProvider } from '../api/aws-auth';
|
|
4
|
+
import type { IoHelper } from '../api-private';
|
|
5
|
+
/**
|
|
6
|
+
* Generates a CDK app from a yaml or json template.
|
|
7
|
+
*
|
|
8
|
+
* @param stackName - The name to assign to the stack in the generated app
|
|
9
|
+
* @param stack - The yaml or json template for the stack
|
|
10
|
+
* @param language - The language to generate the CDK app in
|
|
11
|
+
* @param outputPath - The path at which to generate the CDK app
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateCdkApp(ioHelper: IoHelper, stackName: string, stack: string, language: string, outputPath?: string, compress?: boolean): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Generates a CDK stack file.
|
|
16
|
+
* @param template - The template to translate into a CDK stack
|
|
17
|
+
* @param stackName - The name to assign to the stack
|
|
18
|
+
* @param language - The language to generate the stack in
|
|
19
|
+
* @returns A string representation of a CDK stack file
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateStack(template: string, stackName: string, language: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Reads and returns a stack template from a local path.
|
|
24
|
+
*
|
|
25
|
+
* @param inputPath - The location of the template
|
|
26
|
+
* @returns A string representation of the template if present, otherwise undefined
|
|
27
|
+
*/
|
|
28
|
+
export declare function readFromPath(inputPath: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Reads and returns a stack template from a deployed CloudFormation stack.
|
|
31
|
+
*
|
|
32
|
+
* @param stackName - The name of the stack
|
|
33
|
+
* @param sdkProvider - The sdk provider for making CloudFormation calls
|
|
34
|
+
* @param environment - The account and region where the stack is deployed
|
|
35
|
+
* @returns A string representation of the template if present, otherwise undefined
|
|
36
|
+
*/
|
|
37
|
+
export declare function readFromStack(stackName: string, sdkProvider: SdkProvider, environment: Environment): Promise<string | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Takes in a stack name and account and region and returns a generated cloudformation template using the cloudformation
|
|
40
|
+
* template generator.
|
|
41
|
+
*
|
|
42
|
+
* @param GenerateTemplateOptions - An object containing the stack name, filters, sdkProvider, environment, and newScan flag
|
|
43
|
+
* @returns a generated cloudformation template
|
|
44
|
+
*/
|
|
45
|
+
export declare function generateTemplate(options: GenerateTemplateOptions): Promise<GenerateTemplateOutput>;
|
|
46
|
+
/**
|
|
47
|
+
* Takes a list of any type and breaks it up into chunks of a specified size.
|
|
48
|
+
*
|
|
49
|
+
* @param list - The list to break up
|
|
50
|
+
* @param chunkSize - The size of each chunk
|
|
51
|
+
* @returns A list of lists of the specified size
|
|
52
|
+
*/
|
|
53
|
+
export declare function chunks(list: any[], chunkSize: number): any[][];
|
|
54
|
+
/**
|
|
55
|
+
* Sets the account and region for making CloudFormation calls.
|
|
56
|
+
* @param account - The account to use
|
|
57
|
+
* @param region - The region to use
|
|
58
|
+
* @returns The environment object
|
|
59
|
+
*/
|
|
60
|
+
export declare function setEnvironment(account?: string, region?: string): Environment;
|
|
61
|
+
/**
|
|
62
|
+
* Enum for the source options for the template
|
|
63
|
+
*/
|
|
64
|
+
export declare enum TemplateSourceOptions {
|
|
65
|
+
PATH = "path",
|
|
66
|
+
STACK = "stack",
|
|
67
|
+
SCAN = "scan"
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* An object representing the source of a template.
|
|
71
|
+
*/
|
|
72
|
+
type TemplateSource = {
|
|
73
|
+
source: TemplateSourceOptions.SCAN;
|
|
74
|
+
} | {
|
|
75
|
+
source: TemplateSourceOptions.PATH;
|
|
76
|
+
templatePath: string;
|
|
77
|
+
} | {
|
|
78
|
+
source: TemplateSourceOptions.STACK;
|
|
79
|
+
stackName: string;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Enum for the status of a resource scan
|
|
83
|
+
*/
|
|
84
|
+
export declare enum ScanStatus {
|
|
85
|
+
IN_PROGRESS = "IN_PROGRESS",
|
|
86
|
+
COMPLETE = "COMPLETE",
|
|
87
|
+
FAILED = "FAILED"
|
|
88
|
+
}
|
|
89
|
+
export declare enum FilterType {
|
|
90
|
+
RESOURCE_IDENTIFIER = "resource-identifier",
|
|
91
|
+
RESOURCE_TYPE_PREFIX = "resource-type-prefix",
|
|
92
|
+
TAG_KEY = "tag-key",
|
|
93
|
+
TAG_VALUE = "tag-value"
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Validates that exactly one source option has been provided.
|
|
97
|
+
* @param fromPath - The content of the flag `--from-path`
|
|
98
|
+
* @param fromStack - the content of the flag `--from-stack`
|
|
99
|
+
*/
|
|
100
|
+
export declare function parseSourceOptions(fromPath?: string, fromStack?: boolean, stackName?: string): TemplateSource;
|
|
101
|
+
/**
|
|
102
|
+
* Prints a progress bar to the console. To be used in a while loop to show progress of a long running task.
|
|
103
|
+
* The progress bar deletes the current line on the console and rewrites it with the progress amount.
|
|
104
|
+
*
|
|
105
|
+
* @param width - The width of the progress bar
|
|
106
|
+
* @param progress - The current progress to display as a percentage of 100
|
|
107
|
+
*/
|
|
108
|
+
export declare function printBar(width: number, progress: number): void;
|
|
109
|
+
/**
|
|
110
|
+
* Prints a message to the console with a series periods appended to it. To be used in a while loop to show progress of a long running task.
|
|
111
|
+
* The message deletes the current line and rewrites it several times to display 1-3 periods to show the user that the task is still running.
|
|
112
|
+
*
|
|
113
|
+
* @param message - The message to display
|
|
114
|
+
* @param timeoutx4 - The amount of time to wait before printing the next period
|
|
115
|
+
*/
|
|
116
|
+
export declare function printDots(message: string, timeoutx4: number): Promise<void>;
|
|
117
|
+
/**
|
|
118
|
+
* Rewrites the current line on the console and writes a new message to it.
|
|
119
|
+
* This is a helper funciton for printDots and printBar.
|
|
120
|
+
*
|
|
121
|
+
* @param message - The message to display
|
|
122
|
+
*/
|
|
123
|
+
export declare function rewriteLine(message: string): void;
|
|
124
|
+
/**
|
|
125
|
+
* Writes a migrate.json file to the output directory.
|
|
126
|
+
*
|
|
127
|
+
* @param outputPath - The path to write the migrate.json file to
|
|
128
|
+
* @param stackName - The name of the stack
|
|
129
|
+
* @param generatedOutput - The output of the template generator
|
|
130
|
+
*/
|
|
131
|
+
export declare function writeMigrateJsonFile(outputPath: string | undefined, stackName: string, migrateJson: MigrateJsonFormat): void;
|
|
132
|
+
/**
|
|
133
|
+
* Takes a string representing the from-scan flag and returns a FromScan enum value.
|
|
134
|
+
*
|
|
135
|
+
* @param scanType - A string representing the from-scan flag
|
|
136
|
+
* @returns A FromScan enum value
|
|
137
|
+
*/
|
|
138
|
+
export declare function getMigrateScanType(scanType: string): FromScan;
|
|
139
|
+
/**
|
|
140
|
+
* Takes a generatedTemplateOutput objct and returns a boolean representing whether there are any warnings on any rescources.
|
|
141
|
+
*
|
|
142
|
+
* @param generatedTemplateOutput - A GenerateTemplateOutput object
|
|
143
|
+
* @returns A boolean representing whether there are any warnings on any rescources
|
|
144
|
+
*/
|
|
145
|
+
export declare function isThereAWarning(generatedTemplateOutput: GenerateTemplateOutput): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Builds the GenerateTemplateOutput object from the DescribeGeneratedTemplateOutput and the template body.
|
|
148
|
+
*
|
|
149
|
+
* @param generatedTemplateSummary - The output of the describe generated template call
|
|
150
|
+
* @param templateBody - The body of the generated template
|
|
151
|
+
* @returns A GenerateTemplateOutput object
|
|
152
|
+
*/
|
|
153
|
+
export declare function buildGeneratedTemplateOutput(generatedTemplateSummary: DescribeGeneratedTemplateCommandOutput, templateBody: string, source: string): GenerateTemplateOutput;
|
|
154
|
+
/**
|
|
155
|
+
* Builds a CloudFormation sdk client for making requests with the CFN template generator.
|
|
156
|
+
*
|
|
157
|
+
* @param sdkProvider - The sdk provider for making CloudFormation calls
|
|
158
|
+
* @param environment - The account and region where the stack is deployed
|
|
159
|
+
* @returns A CloudFormation sdk client
|
|
160
|
+
*/
|
|
161
|
+
export declare function buildCfnClient(sdkProvider: SdkProvider, environment: Environment): Promise<ICloudFormationClient>;
|
|
162
|
+
/**
|
|
163
|
+
* Appends a list of warnings to a readme file.
|
|
164
|
+
*
|
|
165
|
+
* @param filepath - The path to the readme file
|
|
166
|
+
* @param resources - A list of resources to append warnings for
|
|
167
|
+
*/
|
|
168
|
+
export declare function appendWarningsToReadme(filepath: string, resources: ResourceDetail[]): void;
|
|
169
|
+
/**
|
|
170
|
+
* Class for making CloudFormation template generator calls
|
|
171
|
+
*/
|
|
172
|
+
export declare class CfnTemplateGeneratorProvider {
|
|
173
|
+
private cfn;
|
|
174
|
+
private ioHelper;
|
|
175
|
+
constructor(cfn: ICloudFormationClient, ioHelper: IoHelper);
|
|
176
|
+
checkForResourceScan(resourceScanSummaries: ResourceScanSummary[] | undefined, options: GenerateTemplateOptions, clientRequestToken: string): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Retrieves a tokenized list of resources and their associated scan. If a token is present the function
|
|
179
|
+
* will loop through all pages and combine them into a single list of ScannedRelatedResources
|
|
180
|
+
*
|
|
181
|
+
* @param scanId - scan id for the to list resources for
|
|
182
|
+
* @param resources - A list of resources to find related resources for
|
|
183
|
+
*/
|
|
184
|
+
getResourceScanRelatedResources(scanId: string, resources: ScannedResource[]): Promise<ScannedResourceIdentifier[]>;
|
|
185
|
+
/**
|
|
186
|
+
* Kicks off a scan of a customers account, returning the scan id. A scan can take
|
|
187
|
+
* 10 minutes or longer to complete. However this will return a scan id as soon as
|
|
188
|
+
* the scan has begun.
|
|
189
|
+
*
|
|
190
|
+
* @returns A string representing the scan id
|
|
191
|
+
*/
|
|
192
|
+
startResourceScan(requestToken: string): Promise<string | undefined>;
|
|
193
|
+
/**
|
|
194
|
+
* Gets the most recent scans a customer has completed
|
|
195
|
+
*
|
|
196
|
+
* @returns a list of resource scan summaries
|
|
197
|
+
*/
|
|
198
|
+
listResourceScans(): Promise<import("@aws-sdk/client-cloudformation").ListResourceScansCommandOutput>;
|
|
199
|
+
/**
|
|
200
|
+
* Retrieves a tokenized list of resources from a resource scan. If a token is present, this function
|
|
201
|
+
* will loop through all pages and combine them into a single list of ScannedResource[].
|
|
202
|
+
* Additionally will apply any filters provided by the customer.
|
|
203
|
+
*
|
|
204
|
+
* @param scanId - scan id for the to list resources for
|
|
205
|
+
* @param filters - a string of filters in the format of key1=value1,key2=value2
|
|
206
|
+
* @returns a combined list of all resources from the scan
|
|
207
|
+
*/
|
|
208
|
+
listResourceScanResources(scanId: string, filters?: string[]): Promise<ScannedResourceIdentifier[]>;
|
|
209
|
+
/**
|
|
210
|
+
* Retrieves information about a resource scan.
|
|
211
|
+
*
|
|
212
|
+
* @param scanId - scan id for the to list resources for
|
|
213
|
+
* @returns information about the scan
|
|
214
|
+
*/
|
|
215
|
+
describeResourceScan(scanId: string): Promise<DescribeResourceScanCommandOutput>;
|
|
216
|
+
/**
|
|
217
|
+
* Describes the current status of the template being generated.
|
|
218
|
+
*
|
|
219
|
+
* @param templateId - A string representing the template id
|
|
220
|
+
* @returns DescribeGeneratedTemplateOutput an object containing the template status and results
|
|
221
|
+
*/
|
|
222
|
+
describeGeneratedTemplate(templateId: string): Promise<DescribeGeneratedTemplateCommandOutput>;
|
|
223
|
+
/**
|
|
224
|
+
* Retrieves a completed generated cloudformation template from the template generator.
|
|
225
|
+
*
|
|
226
|
+
* @param templateId - A string representing the template id
|
|
227
|
+
* @param cloudFormation - The CloudFormation sdk client to use
|
|
228
|
+
* @returns DescribeGeneratedTemplateOutput an object containing the template status and body
|
|
229
|
+
*/
|
|
230
|
+
getGeneratedTemplate(templateId: string): Promise<GetGeneratedTemplateCommandOutput>;
|
|
231
|
+
/**
|
|
232
|
+
* Kicks off a template generation for a set of resources.
|
|
233
|
+
*
|
|
234
|
+
* @param stackName - The name of the stack
|
|
235
|
+
* @param resources - A list of resources to generate the template from
|
|
236
|
+
* @returns CreateGeneratedTemplateOutput an object containing the template arn to query on later
|
|
237
|
+
*/
|
|
238
|
+
createGeneratedTemplate(stackName: string, resources: ResourceDefinition[]): Promise<import("@aws-sdk/client-cloudformation").CreateGeneratedTemplateCommandOutput>;
|
|
239
|
+
/**
|
|
240
|
+
* Deletes a generated template from the template generator.
|
|
241
|
+
*
|
|
242
|
+
* @param templateArn - The arn of the template to delete
|
|
243
|
+
* @returns A promise that resolves when the template has been deleted
|
|
244
|
+
*/
|
|
245
|
+
deleteGeneratedTemplate(templateArn: string): Promise<void>;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* The possible ways to choose a scan to generate a CDK application from
|
|
249
|
+
*/
|
|
250
|
+
export declare enum FromScan {
|
|
251
|
+
/**
|
|
252
|
+
* Initiate a new resource scan to build the CDK application from.
|
|
253
|
+
*/
|
|
254
|
+
NEW = 0,
|
|
255
|
+
/**
|
|
256
|
+
* Use the last successful scan to build the CDK application from. Will fail if no scan is found.
|
|
257
|
+
*/
|
|
258
|
+
MOST_RECENT = 1,
|
|
259
|
+
/**
|
|
260
|
+
* Starts a scan if none exists, otherwise uses the most recent successful scan to build the CDK application from.
|
|
261
|
+
*/
|
|
262
|
+
DEFAULT = 2
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Interface for the options object passed to the generateTemplate function
|
|
266
|
+
*
|
|
267
|
+
* @param stackName - The name of the stack
|
|
268
|
+
* @param filters - A list of filters to apply to the scan
|
|
269
|
+
* @param fromScan - An enum value specifying whether a new scan should be started or the most recent successful scan should be used
|
|
270
|
+
* @param sdkProvider - The sdk provider for making CloudFormation calls
|
|
271
|
+
* @param environment - The account and region where the stack is deployed
|
|
272
|
+
*/
|
|
273
|
+
export interface GenerateTemplateOptions {
|
|
274
|
+
stackName: string;
|
|
275
|
+
filters?: string[];
|
|
276
|
+
fromScan?: FromScan;
|
|
277
|
+
sdkProvider: SdkProvider;
|
|
278
|
+
environment: Environment;
|
|
279
|
+
ioHelper: IoHelper;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Interface for the output of the generateTemplate function
|
|
283
|
+
*
|
|
284
|
+
* @param migrateJson - The generated Migrate.json file
|
|
285
|
+
* @param resources - The generated template
|
|
286
|
+
*/
|
|
287
|
+
export interface GenerateTemplateOutput {
|
|
288
|
+
migrateJson: MigrateJsonFormat;
|
|
289
|
+
resources?: ResourceDetail[];
|
|
290
|
+
templateId?: string;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Interface defining the format of the generated Migrate.json file
|
|
294
|
+
*
|
|
295
|
+
* @param TemplateBody - The generated template
|
|
296
|
+
* @param Source - The source of the template
|
|
297
|
+
* @param Resources - A list of resources that were used to generate the template
|
|
298
|
+
*/
|
|
299
|
+
export interface MigrateJsonFormat {
|
|
300
|
+
templateBody: string;
|
|
301
|
+
source: string;
|
|
302
|
+
resources?: GeneratedResourceImportIdentifier[];
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Interface representing the format of a resource identifier required for resource import
|
|
306
|
+
*
|
|
307
|
+
* @param ResourceType - The type of resource
|
|
308
|
+
* @param LogicalResourceId - The logical id of the resource
|
|
309
|
+
* @param ResourceIdentifier - The resource identifier of the resource
|
|
310
|
+
*/
|
|
311
|
+
export interface GeneratedResourceImportIdentifier {
|
|
312
|
+
ResourceType: string;
|
|
313
|
+
LogicalResourceId: string;
|
|
314
|
+
ResourceIdentifier: ResourceIdentifierSummary;
|
|
315
|
+
}
|
|
316
|
+
export {};
|