aws-cdk 2.177.0 → 2.178.1
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/THIRD_PARTY_LICENSES +5518 -181
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/api/aws-auth/sdk-logger.d.ts +4 -0
- package/lib/api/aws-auth/sdk-logger.js +18 -7
- package/lib/api/aws-auth/sdk-provider.js +4 -3
- package/lib/api/aws-auth/sdk.d.ts +1 -0
- package/lib/api/aws-auth/sdk.js +4 -3
- package/lib/api/aws-auth/tracing.d.ts +11 -0
- package/lib/api/aws-auth/tracing.js +60 -0
- package/lib/api/deployments/asset-publishing.js +7 -1
- package/lib/cli/cdk-toolkit.d.ts +6 -0
- package/lib/cli/cdk-toolkit.js +11 -10
- package/lib/cli/cli.js +10 -5
- package/lib/cli/parse-command-line-arguments.js +11 -15
- package/lib/cli/user-input.d.ts +4 -4
- package/lib/cli/user-input.js +1 -1
- package/lib/commands/context.js +2 -2
- package/lib/index.js +204 -158
- package/lib/index_bg.wasm +0 -0
- package/lib/init-templates/.init-version.json +1 -1
- package/lib/init-templates/.recommended-feature-flags.json +2 -1
- package/lib/legacy-exports-source.d.ts +1 -1
- package/lib/legacy-exports-source.js +3 -3
- package/lib/logging.d.ts +6 -13
- package/lib/logging.js +25 -70
- package/lib/toolkit/cli-io-host.d.ts +16 -12
- package/lib/toolkit/cli-io-host.js +127 -30
- package/package.json +10 -10
- package/test/_helpers/prompts.d.ts +11 -0
- package/test/_helpers/prompts.js +22 -0
- package/test/api/aws-auth/sdk-logger.test.js +16 -11
- package/test/api/logs/logging.test.js +4 -54
- package/test/cli/cdk-toolkit.test.js +7 -7
- package/test/cli/cli-arguments.test.js +4 -4
- package/test/cli/cli.test.js +2 -2
- package/test/cli/user-config.test.js +28 -1
- package/test/toolkit/cli-io-host-corked.test.d.ts +1 -0
- package/test/toolkit/cli-io-host-corked.test.js +73 -0
- package/test/toolkit/cli-io-host.test.js +164 -60
- package/lib/util/tracing.d.ts +0 -9
- package/lib/util/tracing.js +0 -58
package/lib/index_bg.wasm
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"aws-cdk-lib": "2.
|
|
1
|
+
{"aws-cdk-lib": "2.178.1", "constructs": "^10.0.0"}
|
|
@@ -63,5 +63,6 @@
|
|
|
63
63
|
"@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true,
|
|
64
64
|
"@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true,
|
|
65
65
|
"@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true,
|
|
66
|
-
"@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true
|
|
66
|
+
"@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true,
|
|
67
|
+
"@aws-cdk/core:enableAdditionalMetadataCollection": true
|
|
67
68
|
}
|
|
@@ -13,7 +13,7 @@ export { execProgram } from './api/cxapp/exec';
|
|
|
13
13
|
export { RequireApproval } from './diff';
|
|
14
14
|
export { leftPad } from './api/util/string-manipulation';
|
|
15
15
|
export { formatAsBanner } from './cli/util/console-formatters';
|
|
16
|
-
export { enableTracing } from './
|
|
16
|
+
export { setSdkTracing as enableTracing } from './api/aws-auth/tracing';
|
|
17
17
|
export { aliases, command, describe } from './commands/docs';
|
|
18
18
|
export { lowerCaseFirstCharacter } from './api/hotswap/common';
|
|
19
19
|
export { deepMerge } from './util/objects';
|
|
@@ -58,8 +58,8 @@ var string_manipulation_1 = require("./api/util/string-manipulation");
|
|
|
58
58
|
Object.defineProperty(exports, "leftPad", { enumerable: true, get: function () { return string_manipulation_1.leftPad; } });
|
|
59
59
|
var console_formatters_1 = require("./cli/util/console-formatters");
|
|
60
60
|
Object.defineProperty(exports, "formatAsBanner", { enumerable: true, get: function () { return console_formatters_1.formatAsBanner; } });
|
|
61
|
-
var tracing_1 = require("./
|
|
62
|
-
Object.defineProperty(exports, "enableTracing", { enumerable: true, get: function () { return tracing_1.
|
|
61
|
+
var tracing_1 = require("./api/aws-auth/tracing");
|
|
62
|
+
Object.defineProperty(exports, "enableTracing", { enumerable: true, get: function () { return tracing_1.setSdkTracing; } });
|
|
63
63
|
var docs_1 = require("./commands/docs");
|
|
64
64
|
Object.defineProperty(exports, "aliases", { enumerable: true, get: function () { return docs_1.aliases; } });
|
|
65
65
|
Object.defineProperty(exports, "command", { enumerable: true, get: function () { return docs_1.command; } });
|
|
@@ -85,4 +85,4 @@ var credential_plugins_1 = require("./api/aws-auth/credential-plugins");
|
|
|
85
85
|
Object.defineProperty(exports, "CredentialPlugins", { enumerable: true, get: function () { return credential_plugins_1.CredentialPlugins; } });
|
|
86
86
|
var awscli_compatible_1 = require("./api/aws-auth/awscli-compatible");
|
|
87
87
|
Object.defineProperty(exports, "AwsCliCompatible", { enumerable: true, get: function () { return awscli_compatible_1.AwsCliCompatible; } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LWV4cG9ydHMtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGVnYWN5LWV4cG9ydHMtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0R0FBNEc7QUFDNUcsMkVBQTJFO0FBQzNFLDBIQUEwSDtBQUMxSCxzRUFBc0U7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRFLG9EQUFvRDtBQUNwRCwwREFBd0M7QUFDeEMsK0JBQW9HO0FBQTNGLGlHQUFBLFNBQVMsT0FBQTtBQUFFLCtGQUFBLE9BQU8sT0FBQTtBQUFFLGlHQUFBLFNBQVMsT0FBQTtBQUFFLCtGQUFBLE9BQU8sT0FBQTtBQUFFLCtGQUFBLE9BQU8sT0FBQTtBQUFFLHNHQUFBLGNBQWMsT0FBQTtBQUFFLGlHQUFBLFNBQVMsT0FBQTtBQUNuRiwrREFBNkQ7QUFBcEQsMkdBQUEsV0FBVyxPQUFBO0FBQ3BCLGlDQUFzQztBQUE3QiwwRkFBQSxHQUFHLE9BQUE7QUFBRSwyRkFBQSxJQUFJLE9BQUE7QUFDbEIsMkNBQTZDO0FBQXBDLHVHQUFBLFdBQVcsT0FBQTtBQUNwQix1Q0FBMEM7QUFBakMsb0dBQUEsVUFBVSxPQUFBO0FBQ25CLG9EQUFrRDtBQUF6QywyR0FBQSxXQUFXLE9BQUE7QUFDcEIsK0RBQW1GO0FBQTFFLDZHQUFBLE9BQU8sT0FBQTtBQUFFLG1IQUFBLGFBQWEsT0FBQTtBQUFFLHFIQUFBLGVBQWUsT0FBQTtBQUNoRCwyQ0FBMEM7QUFBakMsb0dBQUEsUUFBUSxPQUFBO0FBQ2pCLDZDQUErQztBQUF0Qyx5R0FBQSxZQUFZLE9BQUE7QUFDckIsaUVBQStEO0FBQXRELG1IQUFBLGVBQWUsT0FBQTtBQUN4Qix5Q0FBK0M7QUFBdEMsbUdBQUEsV0FBVyxPQUFBO0FBQ3BCLCtCQUF5QztBQUFoQyx1R0FBQSxlQUFlLE9BQUE7QUFDeEIsc0VBQXlEO0FBQWhELDhHQUFBLE9BQU8sT0FBQTtBQUNoQixvRUFBK0Q7QUFBdEQsb0hBQUEsY0FBYyxPQUFBO0FBQ3ZCLGtEQUF3RTtBQUEvRCx3R0FBQSxhQUFhLE9BQWlCO0FBQ3ZDLHdDQUE2RDtBQUFwRCwrRkFBQSxPQUFPLE9BQUE7QUFBRSwrRkFBQSxPQUFPLE9BQUE7QUFBRSxnR0FBQSxRQUFRLE9BQUE7QUFDbkMsK0NBQStEO0FBQXRELGlIQUFBLHVCQUF1QixPQUFBO0FBQ2hDLDBDQUEyQztBQUFsQyxvR0FBQSxTQUFTLE9BQUE7QUFDbEIsaURBQWdEO0FBQXZDLDBHQUFBLFdBQVcsT0FBQTtBQUNwQixrREFBNkM7QUFBcEMsc0dBQUEsT0FBTyxPQUFBO0FBQ2hCLHlDQUFxRTtBQUE1RCxnSEFBQSxxQkFBcUIsT0FBQTtBQUFFLHdHQUFBLGFBQWEsT0FBQTtBQUM3QywrQkFBZ0Q7QUFBdkMsOEdBQUEsc0JBQXNCLE9BQUE7QUFDL0IsZ0RBQStDO0FBQXRDLGdHQUFBLE1BQU0sT0FBQTtBQUNmLDJGQUFnRjtBQUF2RSwwSUFBQSxzQkFBc0IsT0FBQTtBQUMvQix3RUFBc0U7QUFBN0QsdUhBQUEsaUJBQWlCLE9BQUE7QUFDMUIsc0VBQW9FO0FBQTNELHFIQUFBLGdCQUFnQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBpcyBhIGJhcnJlbCBleHBvcnQgZmlsZSwgb2YgYWxsIGtub3duIHN5bWJvbHMgdGhhdCBhcmUgaW1wb3J0ZWQgYnkgdXNlcnMgZnJvbSB0aGUgYGF3cy1jZGtgIHBhY2thZ2UuXG4vLyBJbXBvcnRpbmcgdGhlc2Ugc3ltYm9scyB3YXMgbmV2ZXIgb2ZmaWNpYWxseSBzdXBwb3J0ZWQsIGJ1dCBoZXJlIHdlIGFyZS5cbi8vIEluIG9yZGVyIHRvIHByZXNlcnZlciBiYWNrd2FyZHMtY29tcGF0aWJseSBmb3IgdGhlc2UgdXNlcnMsIHdlIHJlLWV4cG9ydCBhbmQgcHJlc2VydmUgdGhlbSBhcyBleHBsaWNpdCBzdWJwYXRoIGV4cG9ydHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL3B1bGwvMzMwMjEgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG5cbi8vIE5vdGU6IEFsbCB0eXBlIGV4cG9ydHMgYXJlIGluIGBsZWdhY3ktZXhwb3J0cy50c2BcbmV4cG9ydCAqIGZyb20gJy4vbGVnYWN5LWxvZ2dpbmctc291cmNlJztcbmV4cG9ydCB7IGRlZXBDbG9uZSwgZmxhdHRlbiwgaWZEZWZpbmVkLCBpc0FycmF5LCBpc0VtcHR5LCBudW1iZXJGcm9tQm9vbCwgcGFydGl0aW9uIH0gZnJvbSAnLi91dGlsJztcbmV4cG9ydCB7IGRlcGxveVN0YWNrIH0gZnJvbSAnLi9hcGkvZGVwbG95bWVudHMvZGVwbG95LXN0YWNrJztcbmV4cG9ydCB7IGNsaSwgZXhlYyB9IGZyb20gJy4vY2xpL2NsaSc7XG5leHBvcnQgeyBTZGtQcm92aWRlciB9IGZyb20gJy4vYXBpL2F3cy1hdXRoJztcbmV4cG9ydCB7IFBsdWdpbkhvc3QgfSBmcm9tICcuL2FwaS9wbHVnaW4nO1xuZXhwb3J0IHsgY29udGVudEhhc2ggfSBmcm9tICcuL3V0aWwvY29udGVudC1oYXNoJztcbmV4cG9ydCB7IENvbW1hbmQsIENvbmZpZ3VyYXRpb24sIFBST0pFQ1RfQ09OVEVYVCB9IGZyb20gJy4vY2xpL3VzZXItY29uZmlndXJhdGlvbic7XG5leHBvcnQgeyBTZXR0aW5ncyB9IGZyb20gJy4vYXBpL3NldHRpbmdzJztcbmV4cG9ydCB7IEJvb3RzdHJhcHBlciB9IGZyb20gJy4vYXBpL2Jvb3RzdHJhcCc7XG5leHBvcnQgeyBDbG91ZEV4ZWN1dGFibGUgfSBmcm9tICcuL2FwaS9jeGFwcC9jbG91ZC1leGVjdXRhYmxlJztcbmV4cG9ydCB7IGV4ZWNQcm9ncmFtIH0gZnJvbSAnLi9hcGkvY3hhcHAvZXhlYyc7XG5leHBvcnQgeyBSZXF1aXJlQXBwcm92YWwgfSBmcm9tICcuL2RpZmYnO1xuZXhwb3J0IHsgbGVmdFBhZCB9IGZyb20gJy4vYXBpL3V0aWwvc3RyaW5nLW1hbmlwdWxhdGlvbic7XG5leHBvcnQgeyBmb3JtYXRBc0Jhbm5lciB9IGZyb20gJy4vY2xpL3V0aWwvY29uc29sZS1mb3JtYXR0ZXJzJztcbmV4cG9ydCB7IHNldFNka1RyYWNpbmcgYXMgZW5hYmxlVHJhY2luZyB9IGZyb20gJy4vYXBpL2F3cy1hdXRoL3RyYWNpbmcnO1xuZXhwb3J0IHsgYWxpYXNlcywgY29tbWFuZCwgZGVzY3JpYmUgfSBmcm9tICcuL2NvbW1hbmRzL2RvY3MnO1xuZXhwb3J0IHsgbG93ZXJDYXNlRmlyc3RDaGFyYWN0ZXIgfSBmcm9tICcuL2FwaS9ob3Rzd2FwL2NvbW1vbic7XG5leHBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICcuL3V0aWwvb2JqZWN0cyc7XG5leHBvcnQgeyBEZXBsb3ltZW50cyB9IGZyb20gJy4vYXBpL2RlcGxveW1lbnRzJztcbmV4cG9ydCB7IHJvb3REaXIgfSBmcm9tICcuL3V0aWwvZGlyZWN0b3JpZXMnO1xuZXhwb3J0IHsgbGF0ZXN0VmVyc2lvbklmSGlnaGVyLCB2ZXJzaW9uTnVtYmVyIH0gZnJvbSAnLi9jbGkvdmVyc2lvbic7XG5leHBvcnQgeyBhdmFpbGFibGVJbml0VGVtcGxhdGVzIH0gZnJvbSAnLi9pbml0JztcbmV4cG9ydCB7IGNhY2hlZCB9IGZyb20gJy4vYXBpL2F3cy1hdXRoL2NhY2hlZCc7XG5leHBvcnQgeyBDZm5FdmFsdWF0aW9uRXhjZXB0aW9uIH0gZnJvbSAnLi9hcGkvZXZhbHVhdGUtY2xvdWRmb3JtYXRpb24tdGVtcGxhdGUnO1xuZXhwb3J0IHsgQ3JlZGVudGlhbFBsdWdpbnMgfSBmcm9tICcuL2FwaS9hd3MtYXV0aC9jcmVkZW50aWFsLXBsdWdpbnMnO1xuZXhwb3J0IHsgQXdzQ2xpQ29tcGF0aWJsZSB9IGZyb20gJy4vYXBpL2F3cy1hdXRoL2F3c2NsaS1jb21wYXRpYmxlJztcbiJdfQ==
|
package/lib/logging.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { IoMessageSpecificCode, IoCodeLevel } from './toolkit/cli-io-host';
|
|
2
|
-
/**
|
|
3
|
-
* Executes a block of code with corked logging. All log messages during execution
|
|
4
|
-
* are buffered and only written when all nested cork blocks complete (when CORK_COUNTER reaches 0).
|
|
5
|
-
* @param block - Async function to execute with corked logging
|
|
6
|
-
* @returns Promise that resolves with the block's return value
|
|
7
|
-
*/
|
|
8
|
-
export declare function withCorkedLogging<T>(block: () => Promise<T>): Promise<T>;
|
|
9
2
|
interface LogParams<L extends IoCodeLevel> {
|
|
10
3
|
/**
|
|
11
4
|
* @see {@link IoMessage.code}
|
|
@@ -54,17 +47,17 @@ export declare const warning: (input: LogInput<"W">, ...args: unknown[]) => void
|
|
|
54
47
|
*/
|
|
55
48
|
export declare const info: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
56
49
|
/**
|
|
57
|
-
* Logs an
|
|
50
|
+
* Logs an result. In the CLI, this always goes to stdout.
|
|
58
51
|
*
|
|
59
52
|
* Can be used in multiple ways:
|
|
60
53
|
* ```ts
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
54
|
+
* result(`${JSON.stringify(stats)}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
55
|
+
* result('{"count": %d}', count) // infers default info code `CDK_TOOLKIT_I000`
|
|
56
|
+
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }) // specifies info code `CDK_DATA_I001`
|
|
57
|
+
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }, stats) // specifies info code `CDK_DATA_I001`
|
|
65
58
|
* ```
|
|
66
59
|
*/
|
|
67
|
-
export declare const
|
|
60
|
+
export declare const result: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
68
61
|
/**
|
|
69
62
|
* Logs a debug level message.
|
|
70
63
|
*
|
package/lib/logging.js
CHANGED
|
@@ -1,63 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.highlight = exports.success = exports.trace = exports.debug = exports.
|
|
4
|
-
exports.withCorkedLogging = withCorkedLogging;
|
|
3
|
+
exports.highlight = exports.success = exports.trace = exports.debug = exports.result = exports.info = exports.warning = exports.error = void 0;
|
|
5
4
|
const util = require("util");
|
|
6
5
|
const chalk = require("chalk");
|
|
7
6
|
const cli_io_host_1 = require("./toolkit/cli-io-host");
|
|
8
|
-
// Corking mechanism
|
|
9
|
-
let CORK_COUNTER = 0;
|
|
10
|
-
const logBuffer = [];
|
|
11
|
-
/**
|
|
12
|
-
* Executes a block of code with corked logging. All log messages during execution
|
|
13
|
-
* are buffered and only written when all nested cork blocks complete (when CORK_COUNTER reaches 0).
|
|
14
|
-
* @param block - Async function to execute with corked logging
|
|
15
|
-
* @returns Promise that resolves with the block's return value
|
|
16
|
-
*/
|
|
17
|
-
async function withCorkedLogging(block) {
|
|
18
|
-
CORK_COUNTER++;
|
|
19
|
-
try {
|
|
20
|
-
return await block();
|
|
21
|
-
}
|
|
22
|
-
finally {
|
|
23
|
-
CORK_COUNTER--;
|
|
24
|
-
if (CORK_COUNTER === 0) {
|
|
25
|
-
// Process each buffered message through notify
|
|
26
|
-
for (const ioMessage of logBuffer) {
|
|
27
|
-
void cli_io_host_1.CliIoHost.instance().notify(ioMessage);
|
|
28
|
-
}
|
|
29
|
-
logBuffer.splice(0);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Internal core logging function that writes messages through the CLI IO host.
|
|
35
|
-
* @param msg Configuration options for the log message. See {@link LogMessage}
|
|
36
|
-
*/
|
|
37
|
-
function log(msg) {
|
|
38
|
-
const ioMessage = {
|
|
39
|
-
level: msg.level,
|
|
40
|
-
message: msg.message,
|
|
41
|
-
forceStdout: msg.forceStdout,
|
|
42
|
-
time: new Date(),
|
|
43
|
-
action: cli_io_host_1.CliIoHost.instance().currentAction,
|
|
44
|
-
code: msg.code,
|
|
45
|
-
};
|
|
46
|
-
if (CORK_COUNTER > 0) {
|
|
47
|
-
if (cli_io_host_1.levelPriority[msg.level] > cli_io_host_1.levelPriority[cli_io_host_1.CliIoHost.instance().logLevel]) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
logBuffer.push(ioMessage);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
void cli_io_host_1.CliIoHost.instance().notify(ioMessage);
|
|
54
|
-
}
|
|
55
7
|
/**
|
|
56
8
|
* Internal helper that processes log inputs into a consistent format.
|
|
57
9
|
* Handles string interpolation, format strings, and object parameter styles.
|
|
58
|
-
* Applies optional styling and
|
|
10
|
+
* Applies optional styling and sends the message to the IoHost.
|
|
59
11
|
*/
|
|
60
|
-
function formatMessageAndLog(level,
|
|
12
|
+
function formatMessageAndLog(level, input, style, ...args) {
|
|
61
13
|
// Extract message and code from input, using new default code format
|
|
62
14
|
const { message, code = getDefaultCode(level) } = typeof input === 'object' ? input : { message: input };
|
|
63
15
|
// Format message if args are provided
|
|
@@ -66,12 +18,15 @@ function formatMessageAndLog(level, forceStdout, input, style, ...args) {
|
|
|
66
18
|
: message;
|
|
67
19
|
// Apply style if provided
|
|
68
20
|
const finalMessage = style ? style(formattedMessage) : formattedMessage;
|
|
69
|
-
|
|
21
|
+
const ioHost = cli_io_host_1.CliIoHost.instance();
|
|
22
|
+
const ioMessage = {
|
|
23
|
+
time: new Date(),
|
|
24
|
+
action: ioHost.currentAction,
|
|
70
25
|
level,
|
|
71
26
|
message: finalMessage,
|
|
72
27
|
code,
|
|
73
|
-
|
|
74
|
-
|
|
28
|
+
};
|
|
29
|
+
void ioHost.notify(ioMessage);
|
|
75
30
|
}
|
|
76
31
|
function getDefaultCode(level, category = 'TOOLKIT') {
|
|
77
32
|
const levelIndicator = level === 'error' ? 'E' :
|
|
@@ -93,7 +48,7 @@ function getDefaultCode(level, category = 'TOOLKIT') {
|
|
|
93
48
|
* ```
|
|
94
49
|
*/
|
|
95
50
|
const error = (input, ...args) => {
|
|
96
|
-
return formatMessageAndLog('error',
|
|
51
|
+
return formatMessageAndLog('error', input, undefined, ...args);
|
|
97
52
|
};
|
|
98
53
|
exports.error = error;
|
|
99
54
|
/**
|
|
@@ -108,7 +63,7 @@ exports.error = error;
|
|
|
108
63
|
* ```
|
|
109
64
|
*/
|
|
110
65
|
const warning = (input, ...args) => {
|
|
111
|
-
return formatMessageAndLog('warn',
|
|
66
|
+
return formatMessageAndLog('warn', input, undefined, ...args);
|
|
112
67
|
};
|
|
113
68
|
exports.warning = warning;
|
|
114
69
|
/**
|
|
@@ -123,24 +78,24 @@ exports.warning = warning;
|
|
|
123
78
|
* ```
|
|
124
79
|
*/
|
|
125
80
|
const info = (input, ...args) => {
|
|
126
|
-
return formatMessageAndLog('info',
|
|
81
|
+
return formatMessageAndLog('info', input, undefined, ...args);
|
|
127
82
|
};
|
|
128
83
|
exports.info = info;
|
|
129
84
|
/**
|
|
130
|
-
* Logs an
|
|
85
|
+
* Logs an result. In the CLI, this always goes to stdout.
|
|
131
86
|
*
|
|
132
87
|
* Can be used in multiple ways:
|
|
133
88
|
* ```ts
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
89
|
+
* result(`${JSON.stringify(stats)}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
90
|
+
* result('{"count": %d}', count) // infers default info code `CDK_TOOLKIT_I000`
|
|
91
|
+
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }) // specifies info code `CDK_DATA_I001`
|
|
92
|
+
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }, stats) // specifies info code `CDK_DATA_I001`
|
|
138
93
|
* ```
|
|
139
94
|
*/
|
|
140
|
-
const
|
|
141
|
-
return formatMessageAndLog('
|
|
95
|
+
const result = (input, ...args) => {
|
|
96
|
+
return formatMessageAndLog('result', input, undefined, ...args);
|
|
142
97
|
};
|
|
143
|
-
exports.
|
|
98
|
+
exports.result = result;
|
|
144
99
|
/**
|
|
145
100
|
* Logs a debug level message.
|
|
146
101
|
*
|
|
@@ -153,7 +108,7 @@ exports.data = data;
|
|
|
153
108
|
* ```
|
|
154
109
|
*/
|
|
155
110
|
const debug = (input, ...args) => {
|
|
156
|
-
return formatMessageAndLog('debug',
|
|
111
|
+
return formatMessageAndLog('debug', input, undefined, ...args);
|
|
157
112
|
};
|
|
158
113
|
exports.debug = debug;
|
|
159
114
|
/**
|
|
@@ -168,7 +123,7 @@ exports.debug = debug;
|
|
|
168
123
|
* ```
|
|
169
124
|
*/
|
|
170
125
|
const trace = (input, ...args) => {
|
|
171
|
-
return formatMessageAndLog('trace',
|
|
126
|
+
return formatMessageAndLog('trace', input, undefined, ...args);
|
|
172
127
|
};
|
|
173
128
|
exports.trace = trace;
|
|
174
129
|
/**
|
|
@@ -183,7 +138,7 @@ exports.trace = trace;
|
|
|
183
138
|
* ```
|
|
184
139
|
*/
|
|
185
140
|
const success = (input, ...args) => {
|
|
186
|
-
return formatMessageAndLog('info',
|
|
141
|
+
return formatMessageAndLog('info', input, chalk.green, ...args);
|
|
187
142
|
};
|
|
188
143
|
exports.success = success;
|
|
189
144
|
/**
|
|
@@ -198,7 +153,7 @@ exports.success = success;
|
|
|
198
153
|
* ```
|
|
199
154
|
*/
|
|
200
155
|
const highlight = (input, ...args) => {
|
|
201
|
-
return formatMessageAndLog('info',
|
|
156
|
+
return formatMessageAndLog('info', input, chalk.bold, ...args);
|
|
202
157
|
};
|
|
203
158
|
exports.highlight = highlight;
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBY0EsOENBY0M7QUE1QkQsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQix1REFBc0s7QUFFdEssb0JBQW9CO0FBQ3BCLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFNBQVMsR0FBcUIsRUFBRSxDQUFDO0FBRXZDOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLGlCQUFpQixDQUFJLEtBQXVCO0lBQ2hFLFlBQVksRUFBRSxDQUFDO0lBQ2YsSUFBSSxDQUFDO1FBQ0gsT0FBTyxNQUFNLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7WUFBUyxDQUFDO1FBQ1QsWUFBWSxFQUFFLENBQUM7UUFDZixJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QiwrQ0FBK0M7WUFDL0MsS0FBSyxNQUFNLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDbEMsS0FBSyx1QkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxDQUFDO1lBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUF3QkQ7OztHQUdHO0FBQ0gsU0FBUyxHQUFHLENBQUMsR0FBZTtJQUMxQixNQUFNLFNBQVMsR0FBeUI7UUFDdEMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1FBQ2hCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7UUFDNUIsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ2hCLE1BQU0sRUFBRSx1QkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWE7UUFDMUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO0tBQ2YsQ0FBQztJQUVGLElBQUksWUFB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U0FBUyxhQUVwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgeyBJb01lc3NhZ2VMZXZlbCwgSW9NZXNzYWdlLCBDbGlJb0hvc3QsIElvTWVzc2FnZVNwZWNpZmljQ29kZSwgSW9NZXNzYWdlQ29kZSwgSW9NZXNzYWdlQ29kZUNhdGVnb3J5LCBJb0NvZGVMZXZlbCwgbGV2ZWxQcmlvcml0eSB9IGZyb20gJy4vdG9vbGtpdC9jbGktaW8taG9zdCc7XG5cbi8vIENvcmtpbmcgbWVjaGFuaXNtXG5sZXQgQ09SS19DT1VOVEVSID0gMDtcbmNvbnN0IGxvZ0J1ZmZlcjogSW9NZXNzYWdlPGFueT5bXSA9IFtdO1xuXG4vKipcbiAqIEV4ZWN1dGVzIGEgYmxvY2sgb2YgY29kZSB3aXRoIGNvcmtlZCBsb2dnaW5nLiBBbGwgbG9nIG1lc3NhZ2VzIGR1cmluZyBleGVjdXRpb25cbiAqIGFyZSBidWZmZXJlZCBhbmQgb25seSB3cml0dGVuIHdoZW4gYWxsIG5lc3RlZCBjb3JrIGJsb2NrcyBjb21wbGV0ZSAod2hlbiBDT1JLX0NPVU5URVIgcmVhY2hlcyAwKS5cbiAqIEBwYXJhbSBibG9jayAtIEFzeW5jIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgd2l0aCBjb3JrZWQgbG9nZ2luZ1xuICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGJsb2NrJ3MgcmV0dXJuIHZhbHVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoQ29ya2VkTG9nZ2luZzxUPihibG9jazogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICBDT1JLX0NPVU5URVIrKztcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgYmxvY2soKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBDT1JLX0NPVU5URVItLTtcbiAgICBpZiAoQ09SS19DT1VOVEVSID09PSAwKSB7XG4gICAgICAvLyBQcm9jZXNzIGVhY2ggYnVmZmVyZWQgbWVzc2FnZSB0aHJvdWdoIG5vdGlmeVxuICAgICAgZm9yIChjb25zdCBpb01lc3NhZ2Ugb2YgbG9nQnVmZmVyKSB7XG4gICAgICAgIHZvaWQgQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubm90aWZ5KGlvTWVzc2FnZSk7XG4gICAgICB9XG4gICAgICBsb2dCdWZmZXIuc3BsaWNlKDApO1xuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgTG9nTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBUaGUgbG9nIGxldmVsIHRvIHVzZVxuICAgKi9cbiAgcmVhZG9ubHkgbGV2ZWw6IElvTWVzc2FnZUxldmVsO1xuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgdG8gbG9nXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvcmNlIHN0ZG91dFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2VTdGRvdXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogTWVzc2FnZSBjb2RlIG9mIHRoZSBmb3JtYXQgW0NBVEVHT1JZXV9bTlVNQkVSX0NPREVdXG4gICAqIEBwYXR0ZXJuIFtBLVpdK19bMC0yXVswLTldezN9XG4gICAqIEBkZWZhdWx0IFRPT0xLSVRfWzAvMS8yXTAwMFxuICAgKi9cbiAgcmVhZG9ubHkgY29kZTogSW9NZXNzYWdlQ29kZTtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBjb3JlIGxvZ2dpbmcgZnVuY3Rpb24gdGhhdCB3cml0ZXMgbWVzc2FnZXMgdGhyb3VnaCB0aGUgQ0xJIElPIGhvc3QuXG4gKiBAcGFyYW0gbXNnIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGxvZyBtZXNzYWdlLiBTZWUgIHtAbGluayBMb2dNZXNzYWdlfVxuICovXG5mdW5jdGlvbiBsb2cobXNnOiBMb2dNZXNzYWdlKSB7XG4gIGNvbnN0IGlvTWVzc2FnZTogSW9NZXNzYWdlPHVuZGVmaW5lZD4gPSB7XG4gICAgbGV2ZWw6IG1zZy5sZXZlbCxcbiAgICBtZXNzYWdlOiBtc2cubWVzc2FnZSxcbiAgICBmb3JjZVN0ZG91dDogbXNnLmZvcmNlU3Rkb3V0LFxuICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgYWN0aW9uOiBDbGlJb0hvc3QuaW5zdGFuY2UoKS5jdXJyZW50QWN0aW9uLFxuICAgIGNvZGU6IG1zZy5jb2RlLFxuICB9O1xuXG4gIGlmIChDT1JLX0NPVU5URVIgPiAwKSB7XG4gICAgaWYgKGxldmVsUHJpb3JpdHlbbXNnLmxldmVsXSA+IGxldmVsUHJpb3JpdHlbQ2xpSW9Ib3N0Lmluc3RhbmNlKCkubG9nTGV2ZWxdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxvZ0J1ZmZlci5wdXNoKGlvTWVzc2FnZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdm9pZCBDbGlJb0hvc3QuaW5zdGFuY2UoKS5ub3RpZnkoaW9NZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdGhhdCBwcm9jZXNzZXMgbG9nIGlucHV0cyBpbnRvIGEgY29uc2lzdGVudCBmb3JtYXQuXG4gKiBIYW5kbGVzIHN0cmluZyBpbnRlcnBvbGF0aW9uLCBmb3JtYXQgc3RyaW5ncywgYW5kIG9iamVjdCBwYXJhbWV0ZXIgc3R5bGVzLlxuICogQXBwbGllcyBvcHRpb25hbCBzdHlsaW5nIGFuZCBwcmVwYXJlcyB0aGUgZmluYWwgbWVzc2FnZSBmb3IgbG9nZ2luZy5cbiAqL1xuZnVuY3Rpb24gZm9ybWF0TWVzc2FnZUFuZExvZyhcbiAgbGV2ZWw6IElvTWVzc2FnZUxldmVsLFxuICBmb3JjZVN0ZG91dDogYm9vbGVhbixcbiAgaW5wdXQ6IExvZ0lucHV0PElvQ29kZUxldmVsPixcbiAgc3R5bGU/OiAoc3RyOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgLi4uYXJnczogdW5rbm93bltdXG4pOiB2b2lkIHtcbiAgLy8gRXh0cmFjdCBtZXNzYWdlIGFuZCBjb2RlIGZyb20gaW5wdXQsIHVzaW5nIG5ldyBkZWZhdWx0IGNvZGUgZm9ybWF0XG4gIGNvbnN0IHsgbWVzc2FnZSwgY29kZSA9IGdldERlZmF1bHRDb2RlKGxldmVsKSB9ID0gdHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyA/IGlucHV0IDogeyBtZXNzYWdlOiBpbnB1dCB9O1xuXG4gIC8vIEZvcm1hdCBtZXNzYWdlIGlmIGFyZ3MgYXJlIHByb3ZpZGVkXG4gIGNvbnN0IGZvcm1hdHRlZE1lc3NhZ2UgPSBhcmdzLmxlbmd0aCA+IDBcbiAgICA/IHV0aWwuZm9ybWF0KG1lc3NhZ2UsIC4uLmFyZ3MpXG4gICAgOiBtZXNzYWdlO1xuXG4gIC8vIEFwcGx5IHN0eWxlIGlmIHByb3ZpZGVkXG4gIGNvbnN0IGZpbmFsTWVzc2FnZSA9IHN0eWxlID8gc3R5bGUoZm9ybWF0dGVkTWVzc2FnZSkgOiBmb3JtYXR0ZWRNZXNzYWdlO1xuXG4gIGxvZyh7XG4gICAgbGV2ZWwsXG4gICAgbWVzc2FnZTogZmluYWxNZXNzYWdlLFxuICAgIGNvZGUsXG4gICAgZm9yY2VTdGRvdXQsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXREZWZhdWx0Q29kZShsZXZlbDogSW9NZXNzYWdlTGV2ZWwsIGNhdGVnb3J5OiBJb01lc3NhZ2VDb2RlQ2F0ZWdvcnkgPSAnVE9PTEtJVCcpOiBJb01lc3NhZ2VDb2RlIHtcbiAgY29uc3QgbGV2ZWxJbmRpY2F0b3IgPSBsZXZlbCA9PT0gJ2Vycm9yJyA/ICdFJyA6XG4gICAgbGV2ZWwgPT09ICd3YXJuJyA/ICdXJyA6XG4gICAgICAnSSc7XG4gIHJldHVybiBgQ0RLXyR7Y2F0ZWdvcnl9XyR7bGV2ZWxJbmRpY2F0b3J9MDAwMGA7XG59XG5cbi8vIFR5cGUgZm9yIHRoZSBvYmplY3QgcGFyYW1ldGVyIHN0eWxlXG5pbnRlcmZhY2UgTG9nUGFyYW1zPEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4ge1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW9NZXNzYWdlLmNvZGV9XG4gICAqL1xuICByZWFkb25seSBjb2RlPzogSW9NZXNzYWdlU3BlY2lmaWNDb2RlPEw+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgSW9NZXNzYWdlLm1lc3NhZ2V9XG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vIFR5cGUgZm9yIHRoZSBleHBvcnRlZCBsb2cgZnVuY3Rpb24gYXJndW1lbnRzXG50eXBlIExvZ0lucHV0PEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4gPSBzdHJpbmcgfCBMb2dQYXJhbXM8TD47XG5cbi8vIEV4cG9ydGVkIGxvZ2dpbmcgZnVuY3Rpb25zLiBJZiBhbnkgYWRkaXRpb25hbCBsb2dnaW5nIGZ1bmN0aW9uYWxpdHkgaXMgcmVxdWlyZWQsIGl0IHNob3VsZCBiZSBhZGRlZCBhc1xuLy8gYSBuZXcgbG9nZ2luZyBmdW5jdGlvbiBoZXJlLlxuXG4vKipcbiAqIExvZ3MgYW4gZXJyb3IgbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGVycm9yKGBvcGVyYXRpb24gZmFpbGVkOiAke2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgZXJyb3IgY29kZSBgQ0RLX1RPT0xLSVRfRTAwMGBcbiAqIGVycm9yKCdvcGVyYXRpb24gZmFpbGVkOiAlcycsIGUpIC8vIGluZmVycyBkZWZhdWx0IGVycm9yIGNvZGUgYENES19UT09MS0lUX0UwMDBgXG4gKiBlcnJvcih7IG1lc3NhZ2U6ICdvcGVyYXRpb24gZmFpbGVkJywgY29kZTogJ0NES19TREtfRTAwMScgfSkgLy8gc3BlY2lmaWVzIGVycm9yIGNvZGUgYENES19TREtfRTAwMWBcbiAqIGVycm9yKHsgbWVzc2FnZTogJ29wZXJhdGlvbiBmYWlsZWQ6ICVzJywgY29kZTogJ0NES19TREtfRTAwMScgfSwgZSkgLy8gc3BlY2lmaWVzIGVycm9yIGNvZGUgYENES19TREtfRTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZXJyb3IgPSAoaW5wdXQ6IExvZ0lucHV0PCdFJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnZXJyb3InLCBmYWxzZSwgaW5wdXQsIHVuZGVmaW5lZCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gd2FybmluZyBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogd2FybmluZyhgZGVwcmVjdGVkIGZlYXR1cmU6ICR7bWVzc2FnZX1gKSAvLyBpbmZlcnMgZGVmYXVsdCB3YXJuaW5nIGNvZGUgYENES19UT09MS0lUX1cwMDBgXG4gKiB3YXJuaW5nKCdkZXByZWN0ZWQgZmVhdHVyZTogJXMnLCBtZXNzYWdlKSAvLyBpbmZlcnMgZGVmYXVsdCB3YXJuaW5nIGNvZGUgYENES19UT09MS0lUX1cwMDBgXG4gKiB3YXJuaW5nKHsgbWVzc2FnZTogJ2RlcHJlY3RlZCBmZWF0dXJlJywgY29kZTogJ0NES19TREtfVzAwMScgfSkgLy8gc3BlY2lmaWVzIHdhcm5pbmcgY29kZSBgQ0RLX1NES19XMDAxYFxuICogd2FybmluZyh7IG1lc3NhZ2U6ICdkZXByZWN0ZWQgZmVhdHVyZTogJXMnLCBjb2RlOiAnQ0RLX1NES19XMDAxJyB9LCBtZXNzYWdlKSAvLyBzcGVjaWZpZXMgd2FybmluZyBjb2RlIGBDREtfU0RLX1cwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHdhcm5pbmcgPSAoaW5wdXQ6IExvZ0lucHV0PCdXJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnd2FybicsIGZhbHNlLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhbiBpbmZvIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBpbmZvKGBwcm9jZXNzaW5nOiAke21lc3NhZ2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogaW5mbygncHJvY2Vzc2luZzogJXMnLCBtZXNzYWdlKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBpbmZvKHsgbWVzc2FnZTogJ3Byb2Nlc3NpbmcnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGluZm8oeyBtZXNzYWdlOiAncHJvY2Vzc2luZzogJXMnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgbWVzc2FnZSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaW5mbyA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdpbmZvJywgZmFsc2UsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgbWVzc2FnZSB0byBzdGRvdXQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBkYXRhKGAke0pTT04uc3RyaW5naWZ5KHN0YXRzKX1gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBkYXRhKCd7XCJjb3VudFwiOiAlZH0nLCBjb3VudCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogZGF0YSh7IG1lc3NhZ2U6ICdzdGF0czogJWonLCBjb2RlOiAnQ0RLX0RBVEFfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX0RBVEFfSTAwMWBcbiAqIGRhdGEoeyBtZXNzYWdlOiAnc3RhdHM6ICVqJywgY29kZTogJ0NES19EQVRBX0kwMDEnIH0sIHN0YXRzKSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfREFUQV9JMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBkYXRhID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2luZm8nLCB0cnVlLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhIGRlYnVnIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBkZWJ1Zyhgc3RhdGU6ICR7SlNPTi5zdHJpbmdpZnkoc3RhdGUpfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGRlYnVnKCdjYWNoZSBoaXQgcmF0aW86ICVkJSUnLCByYXRpbykgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogZGVidWcoeyBtZXNzYWdlOiAnc3RhdGUgdXBkYXRlJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBkZWJ1Zyh7IG1lc3NhZ2U6ICdyYXRpbzogJWQlJScsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCByYXRpbykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZGVidWcgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnZGVidWcnLCBmYWxzZSwgaW5wdXQsIHVuZGVmaW5lZCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYSB0cmFjZSBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogdHJhY2UoYGVudGVyZWQgJHtuYW1lfSB3aXRoICR7YXJnc31gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiB0cmFjZSgnbWV0aG9kOiAlcywgYXJnczogJWonLCBuYW1lLCBhcmdzKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiB0cmFjZSh7IG1lc3NhZ2U6ICdlbnRlcmVkJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiB0cmFjZSh7IG1lc3NhZ2U6ICdtZXRob2Q6ICVzJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIG5hbWUpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHRyYWNlID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ3RyYWNlJywgZmFsc2UsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgc3VjY2VzcyBtZXNzYWdlIGluIGdyZWVuIHRleHQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBzdWNjZXNzKGBkZXBsb3ltZW50IGNvbXBsZXRlZDogJHtuYW1lfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHN1Y2Nlc3MoJ3Byb2Nlc3NlZCAlZCBpdGVtcycsIGNvdW50KSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBzdWNjZXNzKHsgbWVzc2FnZTogJ2NvbXBsZXRlZCcsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogc3VjY2Vzcyh7IG1lc3NhZ2U6ICdpdGVtczogJWQnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgY291bnQpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHN1Y2Nlc3MgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnaW5mbycsIGZhbHNlLCBpbnB1dCwgY2hhbGsuZ3JlZW4sIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgbWVzc2FnZSBpbiBib2xkIHRleHQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBoaWdobGlnaHQoYGltcG9ydGFudDogJHttc2d9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogaGlnaGxpZ2h0KCdhdHRlbnRpb24gcmVxdWlyZWQ6ICVzJywgcmVhc29uKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBoaWdobGlnaHQoeyBtZXNzYWdlOiAnbm90aWNlJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBoaWdobGlnaHQoeyBtZXNzYWdlOiAnbm90aWNlOiAlcycsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCBtc2cpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGhpZ2hsaWdodCA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdpbmZvJywgZmFsc2UsIGlucHV0LCBjaGFsay5ib2xkLCAuLi5hcmdzKTtcbn07XG4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQix1REFBdUo7QUFFdko7Ozs7R0FJRztBQUNILFNBQVMsbUJBQW1CLENBQzFCLEtBQXFCLEVBQ3JCLEtBQTRCLEVBQzVCLEtBQStCLEVBQy9CLEdBQUcsSUFBZTtJQUVsQixxRUFBcUU7SUFDckUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBRXpHLHNDQUFzQztJQUN0QyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDL0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUVaLDBCQUEwQjtJQUMxQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztJQUV4RSxNQUFNLE1BQU0sR0FBRyx1QkFBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUF5QjtRQUN0QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1FBQzVCLEtBQUs7UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixJQUFJO0tBQ0wsQ0FBQztJQUVGLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBcUIsRUFBRSxXQUFrQyxTQUFTO0lBQ3hGLE1BQU0sY0FBYyxHQUFHLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLEdBQUcsQ0FBQztJQUNSLE9BQU8sT0FBTyxRQUFRLElBQUksY0FBYyxNQUFNLENBQUM7QUFDakQsQ0FBQztBQWlCRCx5R0FBeUc7QUFDekcsK0JBQStCO0FBRS9COzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNoRSxPQUFPLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxLQUFLLFNBRWhCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFGVyxRQUFBLE9BQU8sV0FFbEI7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDL0QsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUZXLFFBQUEsSUFBSSxRQUVmO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2pFLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFGVyxRQUFBLE1BQU0sVUFFakI7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUZXLFFBQUEsS0FBSyxTQUVoQjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNoRSxPQUFPLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxLQUFLLFNBRWhCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxPQUFPLFdBRWxCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxTQUFTLGFBRXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbCBmcm9tICd1dGlsJztcbmltcG9ydCAqIGFzIGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCB7IElvTWVzc2FnZUxldmVsLCBJb01lc3NhZ2UsIENsaUlvSG9zdCwgSW9NZXNzYWdlU3BlY2lmaWNDb2RlLCBJb01lc3NhZ2VDb2RlLCBJb01lc3NhZ2VDb2RlQ2F0ZWdvcnksIElvQ29kZUxldmVsIH0gZnJvbSAnLi90b29sa2l0L2NsaS1pby1ob3N0JztcblxuLyoqXG4gKiBJbnRlcm5hbCBoZWxwZXIgdGhhdCBwcm9jZXNzZXMgbG9nIGlucHV0cyBpbnRvIGEgY29uc2lzdGVudCBmb3JtYXQuXG4gKiBIYW5kbGVzIHN0cmluZyBpbnRlcnBvbGF0aW9uLCBmb3JtYXQgc3RyaW5ncywgYW5kIG9iamVjdCBwYXJhbWV0ZXIgc3R5bGVzLlxuICogQXBwbGllcyBvcHRpb25hbCBzdHlsaW5nIGFuZCBzZW5kcyB0aGUgbWVzc2FnZSB0byB0aGUgSW9Ib3N0LlxuICovXG5mdW5jdGlvbiBmb3JtYXRNZXNzYWdlQW5kTG9nKFxuICBsZXZlbDogSW9NZXNzYWdlTGV2ZWwsXG4gIGlucHV0OiBMb2dJbnB1dDxJb0NvZGVMZXZlbD4sXG4gIHN0eWxlPzogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcsXG4gIC4uLmFyZ3M6IHVua25vd25bXVxuKTogdm9pZCB7XG4gIC8vIEV4dHJhY3QgbWVzc2FnZSBhbmQgY29kZSBmcm9tIGlucHV0LCB1c2luZyBuZXcgZGVmYXVsdCBjb2RlIGZvcm1hdFxuICBjb25zdCB7IG1lc3NhZ2UsIGNvZGUgPSBnZXREZWZhdWx0Q29kZShsZXZlbCkgfSA9IHR5cGVvZiBpbnB1dCA9PT0gJ29iamVjdCcgPyBpbnB1dCA6IHsgbWVzc2FnZTogaW5wdXQgfTtcblxuICAvLyBGb3JtYXQgbWVzc2FnZSBpZiBhcmdzIGFyZSBwcm92aWRlZFxuICBjb25zdCBmb3JtYXR0ZWRNZXNzYWdlID0gYXJncy5sZW5ndGggPiAwXG4gICAgPyB1dGlsLmZvcm1hdChtZXNzYWdlLCAuLi5hcmdzKVxuICAgIDogbWVzc2FnZTtcblxuICAvLyBBcHBseSBzdHlsZSBpZiBwcm92aWRlZFxuICBjb25zdCBmaW5hbE1lc3NhZ2UgPSBzdHlsZSA/IHN0eWxlKGZvcm1hdHRlZE1lc3NhZ2UpIDogZm9ybWF0dGVkTWVzc2FnZTtcblxuICBjb25zdCBpb0hvc3QgPSBDbGlJb0hvc3QuaW5zdGFuY2UoKTtcbiAgY29uc3QgaW9NZXNzYWdlOiBJb01lc3NhZ2U8dW5kZWZpbmVkPiA9IHtcbiAgICB0aW1lOiBuZXcgRGF0ZSgpLFxuICAgIGFjdGlvbjogaW9Ib3N0LmN1cnJlbnRBY3Rpb24sXG4gICAgbGV2ZWwsXG4gICAgbWVzc2FnZTogZmluYWxNZXNzYWdlLFxuICAgIGNvZGUsXG4gIH07XG5cbiAgdm9pZCBpb0hvc3Qubm90aWZ5KGlvTWVzc2FnZSk7XG59XG5cbmZ1bmN0aW9uIGdldERlZmF1bHRDb2RlKGxldmVsOiBJb01lc3NhZ2VMZXZlbCwgY2F0ZWdvcnk6IElvTWVzc2FnZUNvZGVDYXRlZ29yeSA9ICdUT09MS0lUJyk6IElvTWVzc2FnZUNvZGUge1xuICBjb25zdCBsZXZlbEluZGljYXRvciA9IGxldmVsID09PSAnZXJyb3InID8gJ0UnIDpcbiAgICBsZXZlbCA9PT0gJ3dhcm4nID8gJ1cnIDpcbiAgICAgICdJJztcbiAgcmV0dXJuIGBDREtfJHtjYXRlZ29yeX1fJHtsZXZlbEluZGljYXRvcn0wMDAwYDtcbn1cblxuLy8gVHlwZSBmb3IgdGhlIG9iamVjdCBwYXJhbWV0ZXIgc3R5bGVcbmludGVyZmFjZSBMb2dQYXJhbXM8TCBleHRlbmRzIElvQ29kZUxldmVsPiB7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJb01lc3NhZ2UuY29kZX1cbiAgICovXG4gIHJlYWRvbmx5IGNvZGU/OiBJb01lc3NhZ2VTcGVjaWZpY0NvZGU8TD47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBJb01lc3NhZ2UubWVzc2FnZX1cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLy8gVHlwZSBmb3IgdGhlIGV4cG9ydGVkIGxvZyBmdW5jdGlvbiBhcmd1bWVudHNcbnR5cGUgTG9nSW5wdXQ8TCBleHRlbmRzIElvQ29kZUxldmVsPiA9IHN0cmluZyB8IExvZ1BhcmFtczxMPjtcblxuLy8gRXhwb3J0ZWQgbG9nZ2luZyBmdW5jdGlvbnMuIElmIGFueSBhZGRpdGlvbmFsIGxvZ2dpbmcgZnVuY3Rpb25hbGl0eSBpcyByZXF1aXJlZCwgaXQgc2hvdWxkIGJlIGFkZGVkIGFzXG4vLyBhIG5ldyBsb2dnaW5nIGZ1bmN0aW9uIGhlcmUuXG5cbi8qKlxuICogTG9ncyBhbiBlcnJvciBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogZXJyb3IoYG9wZXJhdGlvbiBmYWlsZWQ6ICR7ZX1gKSAvLyBpbmZlcnMgZGVmYXVsdCBlcnJvciBjb2RlIGBDREtfVE9PTEtJVF9FMDAwYFxuICogZXJyb3IoJ29wZXJhdGlvbiBmYWlsZWQ6ICVzJywgZSkgLy8gaW5mZXJzIGRlZmF1bHQgZXJyb3IgY29kZSBgQ0RLX1RPT0xLSVRfRTAwMGBcbiAqIGVycm9yKHsgbWVzc2FnZTogJ29wZXJhdGlvbiBmYWlsZWQnLCBjb2RlOiAnQ0RLX1NES19FMDAxJyB9KSAvLyBzcGVjaWZpZXMgZXJyb3IgY29kZSBgQ0RLX1NES19FMDAxYFxuICogZXJyb3IoeyBtZXNzYWdlOiAnb3BlcmF0aW9uIGZhaWxlZDogJXMnLCBjb2RlOiAnQ0RLX1NES19FMDAxJyB9LCBlKSAvLyBzcGVjaWZpZXMgZXJyb3IgY29kZSBgQ0RLX1NES19FMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBlcnJvciA9IChpbnB1dDogTG9nSW5wdXQ8J0UnPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdlcnJvcicsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIHdhcm5pbmcgbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIHdhcm5pbmcoYGRlcHJlY3RlZCBmZWF0dXJlOiAke21lc3NhZ2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgd2FybmluZyBjb2RlIGBDREtfVE9PTEtJVF9XMDAwYFxuICogd2FybmluZygnZGVwcmVjdGVkIGZlYXR1cmU6ICVzJywgbWVzc2FnZSkgLy8gaW5mZXJzIGRlZmF1bHQgd2FybmluZyBjb2RlIGBDREtfVE9PTEtJVF9XMDAwYFxuICogd2FybmluZyh7IG1lc3NhZ2U6ICdkZXByZWN0ZWQgZmVhdHVyZScsIGNvZGU6ICdDREtfU0RLX1cwMDEnIH0pIC8vIHNwZWNpZmllcyB3YXJuaW5nIGNvZGUgYENES19TREtfVzAwMWBcbiAqIHdhcm5pbmcoeyBtZXNzYWdlOiAnZGVwcmVjdGVkIGZlYXR1cmU6ICVzJywgY29kZTogJ0NES19TREtfVzAwMScgfSwgbWVzc2FnZSkgLy8gc3BlY2lmaWVzIHdhcm5pbmcgY29kZSBgQ0RLX1NES19XMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCB3YXJuaW5nID0gKGlucHV0OiBMb2dJbnB1dDwnVyc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ3dhcm4nLCBpbnB1dCwgdW5kZWZpbmVkLCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhbiBpbmZvIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBpbmZvKGBwcm9jZXNzaW5nOiAke21lc3NhZ2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogaW5mbygncHJvY2Vzc2luZzogJXMnLCBtZXNzYWdlKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBpbmZvKHsgbWVzc2FnZTogJ3Byb2Nlc3NpbmcnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGluZm8oeyBtZXNzYWdlOiAncHJvY2Vzc2luZzogJXMnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgbWVzc2FnZSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaW5mbyA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdpbmZvJywgaW5wdXQsIHVuZGVmaW5lZCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gcmVzdWx0LiBJbiB0aGUgQ0xJLCB0aGlzIGFsd2F5cyBnb2VzIHRvIHN0ZG91dC5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIHJlc3VsdChgJHtKU09OLnN0cmluZ2lmeShzdGF0cyl9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogcmVzdWx0KCd7XCJjb3VudFwiOiAlZH0nLCBjb3VudCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogcmVzdWx0KHsgbWVzc2FnZTogJ3N0YXRzOiAlaicsIGNvZGU6ICdDREtfREFUQV9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfREFUQV9JMDAxYFxuICogcmVzdWx0KHsgbWVzc2FnZTogJ3N0YXRzOiAlaicsIGNvZGU6ICdDREtfREFUQV9JMDAxJyB9LCBzdGF0cykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX0RBVEFfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgcmVzdWx0ID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ3Jlc3VsdCcsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGEgZGVidWcgbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGRlYnVnKGBzdGF0ZTogJHtKU09OLnN0cmluZ2lmeShzdGF0ZSl9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogZGVidWcoJ2NhY2hlIGhpdCByYXRpbzogJWQlJScsIHJhdGlvKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBkZWJ1Zyh7IG1lc3NhZ2U6ICdzdGF0ZSB1cGRhdGUnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGRlYnVnKHsgbWVzc2FnZTogJ3JhdGlvOiAlZCUlJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIHJhdGlvKSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBkZWJ1ZyA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdkZWJ1ZycsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGEgdHJhY2UgbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIHRyYWNlKGBlbnRlcmVkICR7bmFtZX0gd2l0aCAke2FyZ3N9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogdHJhY2UoJ21ldGhvZDogJXMsIGFyZ3M6ICVqJywgbmFtZSwgYXJncykgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogdHJhY2UoeyBtZXNzYWdlOiAnZW50ZXJlZCcsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogdHJhY2UoeyBtZXNzYWdlOiAnbWV0aG9kOiAlcycsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9LCBuYW1lKSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFjZSA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCd0cmFjZScsIGlucHV0LCB1bmRlZmluZWQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgc3VjY2VzcyBtZXNzYWdlIGluIGdyZWVuIHRleHQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBzdWNjZXNzKGBkZXBsb3ltZW50IGNvbXBsZXRlZDogJHtuYW1lfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHN1Y2Nlc3MoJ3Byb2Nlc3NlZCAlZCBpdGVtcycsIGNvdW50KSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBzdWNjZXNzKHsgbWVzc2FnZTogJ2NvbXBsZXRlZCcsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogc3VjY2Vzcyh7IG1lc3NhZ2U6ICdpdGVtczogJWQnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgY291bnQpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHN1Y2Nlc3MgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnaW5mbycsIGlucHV0LCBjaGFsay5ncmVlbiwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gaW5mbyBsZXZlbCBtZXNzYWdlIGluIGJvbGQgdGV4dC5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGhpZ2hsaWdodChgaW1wb3J0YW50OiAke21zZ31gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBoaWdobGlnaHQoJ2F0dGVudGlvbiByZXF1aXJlZDogJXMnLCByZWFzb24pIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGhpZ2hsaWdodCh7IG1lc3NhZ2U6ICdub3RpY2UnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGhpZ2hsaWdodCh7IG1lc3NhZ2U6ICdub3RpY2U6ICVzJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIG1zZykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0ID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2luZm8nLCBpbnB1dCwgY2hhbGsuYm9sZCwgLi4uYXJncyk7XG59O1xuIl19
|
|
@@ -40,13 +40,6 @@ export interface IoMessage<T> {
|
|
|
40
40
|
* The message text.
|
|
41
41
|
*/
|
|
42
42
|
readonly message: string;
|
|
43
|
-
/**
|
|
44
|
-
* If true, the message will be written to stdout
|
|
45
|
-
* regardless of any other parameters.
|
|
46
|
-
*
|
|
47
|
-
* @default false
|
|
48
|
-
*/
|
|
49
|
-
readonly forceStdout?: boolean;
|
|
50
43
|
/**
|
|
51
44
|
* The data attached to the message.
|
|
52
45
|
*/
|
|
@@ -58,12 +51,12 @@ export interface IoRequest<T, U> extends IoMessage<T> {
|
|
|
58
51
|
*/
|
|
59
52
|
readonly defaultResponse: U;
|
|
60
53
|
}
|
|
61
|
-
export type IoMessageLevel = 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
54
|
+
export type IoMessageLevel = 'error' | 'result' | 'warn' | 'info' | 'debug' | 'trace';
|
|
62
55
|
export declare const levelPriority: Record<IoMessageLevel, number>;
|
|
63
56
|
/**
|
|
64
57
|
* The current action being performed by the CLI. 'none' represents the absence of an action.
|
|
65
58
|
*/
|
|
66
|
-
export type ToolkitAction = 'bootstrap' | 'synth' | 'list' | 'diff' | 'deploy' | 'rollback' | 'watch' | 'destroy' | 'context' | 'docs' | 'doctor' | 'gc' | 'import' | 'metadata' | 'notices' | 'init' | 'migrate' | 'version';
|
|
59
|
+
export type ToolkitAction = 'assembly' | 'bootstrap' | 'synth' | 'list' | 'diff' | 'deploy' | 'rollback' | 'watch' | 'destroy' | 'context' | 'docs' | 'doctor' | 'gc' | 'import' | 'metadata' | 'notices' | 'init' | 'migrate' | 'version';
|
|
67
60
|
export interface IIoHost {
|
|
68
61
|
/**
|
|
69
62
|
* Notifies the host of a message.
|
|
@@ -129,6 +122,8 @@ export declare class CliIoHost implements IIoHost {
|
|
|
129
122
|
private _isTTY;
|
|
130
123
|
private _logLevel;
|
|
131
124
|
private _internalIoHost?;
|
|
125
|
+
private corkedCounter;
|
|
126
|
+
private readonly corkedLoggingBuffer;
|
|
132
127
|
private constructor();
|
|
133
128
|
/**
|
|
134
129
|
* Returns the singleton instance
|
|
@@ -172,22 +167,31 @@ export declare class CliIoHost implements IIoHost {
|
|
|
172
167
|
* @param level The new log level threshold
|
|
173
168
|
*/
|
|
174
169
|
set logLevel(level: IoMessageLevel);
|
|
170
|
+
/**
|
|
171
|
+
* Executes a block of code with corked logging. All log messages during execution
|
|
172
|
+
* are buffered and only written when all nested cork blocks complete (when CORK_COUNTER reaches 0).
|
|
173
|
+
* The corking is bound to the specific instance of the CliIoHost.
|
|
174
|
+
*
|
|
175
|
+
* @param block - Async function to execute with corked logging
|
|
176
|
+
* @returns Promise that resolves with the block's return value
|
|
177
|
+
*/
|
|
178
|
+
withCorkedLogging<T>(block: () => Promise<T>): Promise<T>;
|
|
175
179
|
/**
|
|
176
180
|
* Notifies the host of a message.
|
|
177
181
|
* The caller waits until the notification completes.
|
|
178
182
|
*/
|
|
179
183
|
notify<T>(msg: IoMessage<T>): Promise<void>;
|
|
180
184
|
/**
|
|
181
|
-
* Determines
|
|
185
|
+
* Determines the output stream, based on message level and configuration.
|
|
182
186
|
*/
|
|
183
|
-
private
|
|
187
|
+
private selectStream;
|
|
184
188
|
/**
|
|
185
189
|
* Notifies the host of a message that requires a response.
|
|
186
190
|
*
|
|
187
191
|
* If the host does not return a response the suggested
|
|
188
192
|
* default response from the input message will be used.
|
|
189
193
|
*/
|
|
190
|
-
requestResponse<
|
|
194
|
+
requestResponse<DataType, ResponseType>(msg: IoRequest<DataType, ResponseType>): Promise<ResponseType>;
|
|
191
195
|
/**
|
|
192
196
|
* Formats a message for console output with optional color support
|
|
193
197
|
*/
|