aws-cdk 2.1020.2 → 2.1022.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/README.md +100 -55
- package/THIRD_PARTY_LICENSES +65 -65
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/api/refactor.d.ts +1 -0
- package/lib/api/refactor.js +8 -0
- package/lib/cli/cdk-toolkit.d.ts +19 -21
- package/lib/cli/cdk-toolkit.js +145 -141
- package/lib/cli/cli-config.js +19 -13
- package/lib/cli/cli-type-registry.json +29 -12
- package/lib/cli/cli.js +76 -22
- package/lib/cli/convert-to-user-input.js +16 -6
- 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 +11 -11
- package/lib/cli/io-host/cli-io-host.js +68 -24
- package/lib/cli/parse-command-line-arguments.js +29 -11
- package/lib/cli/platform-warnings.d.ts +2 -1
- package/lib/cli/platform-warnings.js +3 -4
- package/lib/cli/telemetry/collect-telemetry.d.ts +5 -0
- package/lib/cli/telemetry/collect-telemetry.js +15 -0
- package/lib/cli/telemetry/endpoint-sink.d.ts +1 -2
- package/lib/cli/telemetry/endpoint-sink.js +4 -3
- package/lib/cli/telemetry/error.d.ts +2 -0
- package/lib/cli/telemetry/error.js +16 -0
- package/lib/cli/telemetry/feature-flags.d.ts +96 -0
- package/lib/cli/telemetry/feature-flags.js +103 -0
- package/lib/cli/telemetry/file-sink.js +8 -12
- 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 +40 -0
- package/lib/cli/telemetry/messages.js +65 -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 +47 -19
- package/lib/cli/telemetry/schema.js +10 -1
- package/lib/cli/telemetry/session.d.ts +33 -0
- package/lib/cli/telemetry/session.js +130 -0
- package/lib/cli/user-configuration.d.ts +14 -4
- package/lib/cli/user-configuration.js +42 -30
- package/lib/cli/user-input.d.ts +31 -13
- package/lib/cli/user-input.js +1 -1
- package/lib/cli/util/ci.d.ts +5 -0
- package/lib/cli/util/ci.js +11 -0
- package/lib/cli/util/yargs-helpers.d.ts +1 -1
- package/lib/cli/util/yargs-helpers.js +7 -7
- package/lib/cli/version.d.ts +2 -12
- package/lib/cli/version.js +5 -103
- package/lib/commands/context.d.ts +10 -5
- package/lib/commands/context.js +35 -35
- package/lib/commands/docs.d.ts +6 -1
- package/lib/commands/docs.js +20 -19
- package/lib/commands/doctor.d.ts +4 -1
- package/lib/commands/doctor.js +17 -17
- package/lib/commands/flags.d.ts +3 -0
- package/lib/commands/flags.js +43 -0
- package/lib/commands/init/init-hooks.d.ts +2 -1
- package/lib/commands/init/init-hooks.js +6 -6
- package/lib/commands/init/init.d.ts +4 -2
- package/lib/commands/init/init.js +56 -54
- package/lib/commands/init/os.d.ts +2 -1
- package/lib/commands/init/os.js +3 -4
- package/lib/commands/list-stacks.js +8 -2
- package/lib/commands/migrate.d.ts +6 -17
- package/lib/commands/migrate.js +28 -29
- package/lib/cxapp/cloud-assembly.js +1 -1
- package/lib/cxapp/cloud-executable.js +41 -26
- package/lib/index.d.ts +1 -1
- package/lib/index.js +46764 -31086
- package/lib/index_bg.wasm +0 -0
- package/lib/init-templates/.init-version.json +1 -1
- package/lib/init-templates/.recommended-feature-flags.json +1 -0
- package/lib/{legacy-aws-auth.d.ts → legacy/aws-auth.d.ts} +1 -1
- package/lib/legacy/aws-auth.js +47 -0
- package/lib/legacy/configuration.d.ts +82 -0
- package/lib/legacy/configuration.js +321 -0
- package/lib/legacy/index.d.ts +19 -0
- package/lib/{legacy-exports-source.js → legacy/index.js} +23 -23
- package/lib/{legacy-logging-source.d.ts → legacy/logging.d.ts} +50 -0
- package/lib/legacy/logging.js +154 -0
- package/lib/legacy/types.js +3 -0
- package/lib/legacy-exports.d.ts +4 -3
- package/lib/legacy-exports.js +4 -1
- package/package.json +15 -15
- package/lib/legacy-aws-auth.js +0 -47
- package/lib/legacy-exports-source.d.ts +0 -18
- package/lib/legacy-logging-source.js +0 -107
- package/lib/legacy-types.js +0 -3
- package/lib/logging.d.ts +0 -99
- package/lib/logging.js +0 -146
- /package/lib/{legacy-types.d.ts → legacy/types.d.ts} +0 -0
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// This is an exact copy of the file `packages/aws-cdk/lib/logging.ts` from 2024-11-29
|
|
3
|
-
// https://github.com/aws/aws-cdk/blob/81cde0e2e1f83f80273d14724d5518cc20dc5a80/packages/aws-cdk/lib/logging.ts
|
|
4
|
-
// After this we started refactoring the file and functionality changed significantly.
|
|
5
|
-
// In order to preserver backwards-compatibly for users with unsanctioned usage of this file,
|
|
6
|
-
// we keep a copy of the original version around.
|
|
7
|
-
// See https://github.com/aws/aws-cdk/pull/33021 for more information.
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.data = exports.print = exports.highlight = exports.success = exports.warning = exports.error = exports.debug = exports.trace = exports.CI = exports.logLevel = exports.LogLevel = void 0;
|
|
10
|
-
exports.withCorkedLogging = withCorkedLogging;
|
|
11
|
-
exports.setLogLevel = setLogLevel;
|
|
12
|
-
exports.setCI = setCI;
|
|
13
|
-
exports.increaseVerbosity = increaseVerbosity;
|
|
14
|
-
exports.prefix = prefix;
|
|
15
|
-
const util = require("util");
|
|
16
|
-
const chalk = require("chalk");
|
|
17
|
-
const { stdout, stderr } = process;
|
|
18
|
-
async function withCorkedLogging(block) {
|
|
19
|
-
corkLogging();
|
|
20
|
-
try {
|
|
21
|
-
return await block();
|
|
22
|
-
}
|
|
23
|
-
finally {
|
|
24
|
-
uncorkLogging();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
let CORK_COUNTER = 0;
|
|
28
|
-
const logBuffer = [];
|
|
29
|
-
function corked() {
|
|
30
|
-
return CORK_COUNTER !== 0;
|
|
31
|
-
}
|
|
32
|
-
function corkLogging() {
|
|
33
|
-
CORK_COUNTER += 1;
|
|
34
|
-
}
|
|
35
|
-
function uncorkLogging() {
|
|
36
|
-
CORK_COUNTER -= 1;
|
|
37
|
-
if (!corked()) {
|
|
38
|
-
logBuffer.forEach(([stream, str]) => stream.write(str + '\n'));
|
|
39
|
-
logBuffer.splice(0);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
const logger = (stream, styles, timestamp) => (fmt, ...args) => {
|
|
43
|
-
const ts = timestamp ? `[${formatTime(new Date())}] ` : '';
|
|
44
|
-
let str = ts + util.format(fmt, ...args);
|
|
45
|
-
if (styles && styles.length) {
|
|
46
|
-
str = styles.reduce((a, style) => style(a), str);
|
|
47
|
-
}
|
|
48
|
-
const realStream = typeof stream === 'function' ? stream() : stream;
|
|
49
|
-
// Logger is currently corked, so we store the message to be printed
|
|
50
|
-
// later when we are uncorked.
|
|
51
|
-
if (corked()) {
|
|
52
|
-
logBuffer.push([realStream, str]);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
realStream.write(str + '\n');
|
|
56
|
-
};
|
|
57
|
-
function formatTime(d) {
|
|
58
|
-
return `${lpad(d.getHours(), 2)}:${lpad(d.getMinutes(), 2)}:${lpad(d.getSeconds(), 2)}`;
|
|
59
|
-
function lpad(x, w) {
|
|
60
|
-
const s = `${x}`;
|
|
61
|
-
return '0'.repeat(Math.max(w - s.length, 0)) + s;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
var LogLevel;
|
|
65
|
-
(function (LogLevel) {
|
|
66
|
-
/** Not verbose at all */
|
|
67
|
-
LogLevel[LogLevel["DEFAULT"] = 0] = "DEFAULT";
|
|
68
|
-
/** Pretty verbose */
|
|
69
|
-
LogLevel[LogLevel["DEBUG"] = 1] = "DEBUG";
|
|
70
|
-
/** Extremely verbose */
|
|
71
|
-
LogLevel[LogLevel["TRACE"] = 2] = "TRACE";
|
|
72
|
-
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
73
|
-
exports.logLevel = LogLevel.DEFAULT;
|
|
74
|
-
exports.CI = false;
|
|
75
|
-
function setLogLevel(newLogLevel) {
|
|
76
|
-
exports.logLevel = newLogLevel;
|
|
77
|
-
}
|
|
78
|
-
function setCI(newCI) {
|
|
79
|
-
exports.CI = newCI;
|
|
80
|
-
}
|
|
81
|
-
function increaseVerbosity() {
|
|
82
|
-
exports.logLevel += 1;
|
|
83
|
-
}
|
|
84
|
-
const stream = () => exports.CI ? stdout : stderr;
|
|
85
|
-
const _debug = logger(stream, [chalk.gray], true);
|
|
86
|
-
const trace = (fmt, ...args) => exports.logLevel >= LogLevel.TRACE && _debug(fmt, ...args);
|
|
87
|
-
exports.trace = trace;
|
|
88
|
-
const debug = (fmt, ...args) => exports.logLevel >= LogLevel.DEBUG && _debug(fmt, ...args);
|
|
89
|
-
exports.debug = debug;
|
|
90
|
-
exports.error = logger(stderr, [chalk.red]);
|
|
91
|
-
exports.warning = logger(stream, [chalk.yellow]);
|
|
92
|
-
exports.success = logger(stream, [chalk.green]);
|
|
93
|
-
exports.highlight = logger(stream, [chalk.bold]);
|
|
94
|
-
exports.print = logger(stream);
|
|
95
|
-
exports.data = logger(stdout);
|
|
96
|
-
/**
|
|
97
|
-
* Create a logger output that features a constant prefix string.
|
|
98
|
-
*
|
|
99
|
-
* @param prefixString - the prefix string to be appended before any log entry.
|
|
100
|
-
* @param fn - the logger function to be used (typically one of the other functions in this module)
|
|
101
|
-
*
|
|
102
|
-
* @returns a new LoggerFunction.
|
|
103
|
-
*/
|
|
104
|
-
function prefix(prefixString, fn) {
|
|
105
|
-
return (fmt, ...args) => fn(`%s ${fmt}`, prefixString, ...args);
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LWxvZ2dpbmctc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGVnYWN5LWxvZ2dpbmctc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxzRkFBc0Y7QUFDdEYsK0dBQStHO0FBQy9HLHNGQUFzRjtBQUN0Riw2RkFBNkY7QUFDN0YsaURBQWlEO0FBQ2pELHNFQUFzRTs7O0FBV3RFLDhDQU9DO0FBOERELGtDQUVDO0FBRUQsc0JBRUM7QUFFRCw4Q0FFQztBQXdCRCx3QkFFQztBQWpIRCw2QkFBNkI7QUFDN0IsK0JBQStCO0FBRy9CLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0FBSTVCLEtBQUssVUFBVSxpQkFBaUIsQ0FBSSxLQUF1QjtJQUNoRSxXQUFXLEVBQUUsQ0FBQztJQUNkLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO1lBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sU0FBUyxHQUF5QixFQUFFLENBQUM7QUFFM0MsU0FBUyxNQUFNO0lBQ2IsT0FBTyxZQUFZLEtBQUssQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsWUFBWSxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxhQUFhO0lBQ3BCLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDZCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFD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aGUgZmlsZSBgcGFja2FnZXMvYXdzLWNkay9saWIvbG9nZ2luZy50c2AgZnJvbSAyMDI0LTExLTI5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi84MWNkZTBlMmUxZjgzZjgwMjczZDE0NzI0ZDU1MThjYzIwZGM1YTgwL3BhY2thZ2VzL2F3cy1jZGsvbGliL2xvZ2dpbmcudHNcbi8vIEFmdGVyIHRoaXMgd2Ugc3RhcnRlZCByZWZhY3RvcmluZyB0aGUgZmlsZSBhbmQgZnVuY3Rpb25hbGl0eSBjaGFuZ2VkIHNpZ25pZmljYW50bHkuXG4vLyBJbiBvcmRlciB0byBwcmVzZXJ2ZXIgYmFja3dhcmRzLWNvbXBhdGlibHkgZm9yIHVzZXJzIHdpdGggdW5zYW5jdGlvbmVkIHVzYWdlIG9mIHRoaXMgZmlsZSxcbi8vIHdlIGtlZXAgYSBjb3B5IG9mIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIGFyb3VuZC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzAyMSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgKiBhcyB1dGlsIGZyb20gJ3V0aWwnO1xuaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuXG50eXBlIFN0eWxlRm4gPSAoc3RyOiBzdHJpbmcpID0+IHN0cmluZztcbmNvbnN0IHsgc3Rkb3V0LCBzdGRlcnIgfSA9IHByb2Nlc3M7XG5cbnR5cGUgV3JpdGFibGVGYWN0b3J5ID0gKCkgPT4gV3JpdGFibGU7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoQ29ya2VkTG9nZ2luZzxBPihibG9jazogKCkgPT4gUHJvbWlzZTxBPik6IFByb21pc2U8QT4ge1xuICBjb3JrTG9nZ2luZygpO1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBibG9jaygpO1xuICB9IGZpbmFsbHkge1xuICAgIHVuY29ya0xvZ2dpbmcoKTtcbiAgfVxufVxuXG5sZXQgQ09SS19DT1VOVEVSID0gMDtcbmNvbnN0IGxvZ0J1ZmZlcjogW1dyaXRhYmxlLCBzdHJpbmddW10gPSBbXTtcblxuZnVuY3Rpb24gY29ya2VkKCkge1xuICByZXR1cm4gQ09SS19DT1VOVEVSICE9PSAwO1xufVxuXG5mdW5jdGlvbiBjb3JrTG9nZ2luZygpIHtcbiAgQ09SS19DT1VOVEVSICs9IDE7XG59XG5cbmZ1bmN0aW9uIHVuY29ya0xvZ2dpbmcoKSB7XG4gIENPUktfQ09VTlRFUiAtPSAxO1xuICBpZiAoIWNvcmtlZCgpKSB7XG4gICAgbG9nQnVmZmVyLmZvckVhY2goKFtzdHJlYW0sIHN0cl0pID0+IHN0cmVhbS53cml0ZShzdHIgKyAnXFxuJykpO1xuICAgIGxvZ0J1ZmZlci5zcGxpY2UoMCk7XG4gIH1cbn1cblxuY29uc3QgbG9nZ2VyID0gKHN0cmVhbTogV3JpdGFibGUgfCBXcml0YWJsZUZhY3RvcnksIHN0eWxlcz86IFN0eWxlRm5bXSwgdGltZXN0YW1wPzogYm9vbGVhbikgPT4gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgY29uc3QgdHMgPSB0aW1lc3RhbXAgPyBgWyR7Zm9ybWF0VGltZShuZXcgRGF0ZSgpKX1dIGAgOiAnJztcblxuICBsZXQgc3RyID0gdHMgKyB1dGlsLmZvcm1hdChmbXQsIC4uLmFyZ3MpO1xuICBpZiAoc3R5bGVzICYmIHN0eWxlcy5sZW5ndGgpIHtcbiAgICBzdHIgPSBzdHlsZXMucmVkdWNlKChhLCBzdHlsZSkgPT4gc3R5bGUoYSksIHN0cik7XG4gIH1cblxuICBjb25zdCByZWFsU3RyZWFtID0gdHlwZW9mIHN0cmVhbSA9PT0gJ2Z1bmN0aW9uJyA/IHN0cmVhbSgpIDogc3RyZWFtO1xuXG4gIC8vIExvZ2dlciBpcyBjdXJyZW50bHkgY29ya2VkLCBzbyB3ZSBzdG9yZSB0aGUgbWVzc2FnZSB0byBiZSBwcmludGVkXG4gIC8vIGxhdGVyIHdoZW4gd2UgYXJlIHVuY29ya2VkLlxuICBpZiAoY29ya2VkKCkpIHtcbiAgICBsb2dCdWZmZXIucHVzaChbcmVhbFN0cmVhbSwgc3RyXSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcmVhbFN0cmVhbS53cml0ZShzdHIgKyAnXFxuJyk7XG59O1xuXG5mdW5jdGlvbiBmb3JtYXRUaW1lKGQ6IERhdGUpIHtcbiAgcmV0dXJuIGAke2xwYWQoZC5nZXRIb3VycygpLCAyKX06JHtscGFkKGQuZ2V0TWludXRlcygpLCAyKX06JHtscGFkKGQuZ2V0U2Vjb25kcygpLCAyKX1gO1xuXG4gIGZ1bmN0aW9uIGxwYWQoeDogYW55LCB3OiBudW1iZXIpIHtcbiAgICBjb25zdCBzID0gYCR7eH1gO1xuICAgIHJldHVybiAnMCcucmVwZWF0KE1hdGgubWF4KHcgLSBzLmxlbmd0aCwgMCkpICsgcztcbiAgfVxufVxuXG5leHBvcnQgZW51bSBMb2dMZXZlbCB7XG4gIC8qKiBOb3QgdmVyYm9zZSBhdCBhbGwgKi9cbiAgREVGQVVMVCA9IDAsXG4gIC8qKiBQcmV0dHkgdmVyYm9zZSAqL1xuICBERUJVRyA9IDEsXG4gIC8qKiBFeHRyZW1lbHkgdmVyYm9zZSAqL1xuICBUUkFDRSA9IDIsXG59XG5cbmV4cG9ydCBsZXQgbG9nTGV2ZWwgPSBMb2dMZXZlbC5ERUZBVUxUO1xuZXhwb3J0IGxldCBDSSA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0TG9nTGV2ZWwobmV3TG9nTGV2ZWw6IExvZ0xldmVsKSB7XG4gIGxvZ0xldmVsID0gbmV3TG9nTGV2ZWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDSShuZXdDSTogYm9vbGVhbikge1xuICBDSSA9IG5ld0NJO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jcmVhc2VWZXJib3NpdHkoKSB7XG4gIGxvZ0xldmVsICs9IDE7XG59XG5cbmNvbnN0IHN0cmVhbSA9ICgpID0+IENJID8gc3Rkb3V0IDogc3RkZXJyO1xuY29uc3QgX2RlYnVnID0gbG9nZ2VyKHN0cmVhbSwgW2NoYWxrLmdyYXldLCB0cnVlKTtcblxuZXhwb3J0IGNvbnN0IHRyYWNlID0gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IGxvZ0xldmVsID49IExvZ0xldmVsLlRSQUNFICYmIF9kZWJ1ZyhmbXQsIC4uLmFyZ3MpO1xuZXhwb3J0IGNvbnN0IGRlYnVnID0gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IGxvZ0xldmVsID49IExvZ0xldmVsLkRFQlVHICYmIF9kZWJ1ZyhmbXQsIC4uLmFyZ3MpO1xuZXhwb3J0IGNvbnN0IGVycm9yID0gbG9nZ2VyKHN0ZGVyciwgW2NoYWxrLnJlZF0pO1xuZXhwb3J0IGNvbnN0IHdhcm5pbmcgPSBsb2dnZXIoc3RyZWFtLCBbY2hhbGsueWVsbG93XSk7XG5leHBvcnQgY29uc3Qgc3VjY2VzcyA9IGxvZ2dlcihzdHJlYW0sIFtjaGFsay5ncmVlbl0pO1xuZXhwb3J0IGNvbnN0IGhpZ2hsaWdodCA9IGxvZ2dlcihzdHJlYW0sIFtjaGFsay5ib2xkXSk7XG5leHBvcnQgY29uc3QgcHJpbnQgPSBsb2dnZXIoc3RyZWFtKTtcbmV4cG9ydCBjb25zdCBkYXRhID0gbG9nZ2VyKHN0ZG91dCk7XG5cbmV4cG9ydCB0eXBlIExvZ2dlckZ1bmN0aW9uID0gKGZtdDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQ7XG5cbi8qKlxuICogQ3JlYXRlIGEgbG9nZ2VyIG91dHB1dCB0aGF0IGZlYXR1cmVzIGEgY29uc3RhbnQgcHJlZml4IHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gcHJlZml4U3RyaW5nIC0gdGhlIHByZWZpeCBzdHJpbmcgdG8gYmUgYXBwZW5kZWQgYmVmb3JlIGFueSBsb2cgZW50cnkuXG4gKiBAcGFyYW0gZm4gICAtIHRoZSBsb2dnZXIgZnVuY3Rpb24gdG8gYmUgdXNlZCAodHlwaWNhbGx5IG9uZSBvZiB0aGUgb3RoZXIgZnVuY3Rpb25zIGluIHRoaXMgbW9kdWxlKVxuICpcbiAqIEByZXR1cm5zIGEgbmV3IExvZ2dlckZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4KHByZWZpeFN0cmluZzogc3RyaW5nLCBmbjogTG9nZ2VyRnVuY3Rpb24pOiBMb2dnZXJGdW5jdGlvbiB7XG4gIHJldHVybiAoZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiBmbihgJXMgJHtmbXR9YCwgcHJlZml4U3RyaW5nLCAuLi5hcmdzKTtcbn1cbiJdfQ==
|
package/lib/legacy-types.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGVnYWN5LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCB0eXBlIE9iajxUPiA9IHsgW2tleTogc3RyaW5nXTogVCB9O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWxlY3RvciB7XG4gIGFsbFRvcExldmVsPzogYm9vbGVhbjtcbiAgcGF0dGVybnM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IHR5cGUgQm9vdHN0cmFwU291cmNlID0geyBzb3VyY2U6ICdsZWdhY3knIH0gfCB7IHNvdXJjZTogJ2RlZmF1bHQnIH0gfCB7IHNvdXJjZTogJ2N1c3RvbSc7IHRlbXBsYXRlRmlsZTogc3RyaW5nIH07XG4iXX0=
|
package/lib/logging.d.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
type IoMessageCodeCategory = 'TOOLKIT' | 'SDK' | 'ASSETS';
|
|
2
|
-
type IoCodeLevel = 'E' | 'W' | 'I';
|
|
3
|
-
type IoMessageSpecificCode<L extends IoCodeLevel> = `CDK_${IoMessageCodeCategory}_${L}${number}${number}${number}${number}`;
|
|
4
|
-
interface LogParams<L extends IoCodeLevel> {
|
|
5
|
-
/**
|
|
6
|
-
* Message code
|
|
7
|
-
*/
|
|
8
|
-
readonly code: IoMessageSpecificCode<L>;
|
|
9
|
-
/**
|
|
10
|
-
* Message
|
|
11
|
-
*/
|
|
12
|
-
readonly message: string;
|
|
13
|
-
}
|
|
14
|
-
type LogInput<L extends IoCodeLevel> = string | LogParams<L>;
|
|
15
|
-
/**
|
|
16
|
-
* Logs an error level message.
|
|
17
|
-
*
|
|
18
|
-
* Can be used in multiple ways:
|
|
19
|
-
* ```ts
|
|
20
|
-
* error(`operation failed: ${e}`) // infers default error code `CDK_TOOLKIT_E000`
|
|
21
|
-
* error('operation failed: %s', e) // infers default error code `CDK_TOOLKIT_E000`
|
|
22
|
-
* error({ message: 'operation failed', code: 'CDK_SDK_E001' }) // specifies error code `CDK_SDK_E001`
|
|
23
|
-
* error({ message: 'operation failed: %s', code: 'CDK_SDK_E001' }, e) // specifies error code `CDK_SDK_E001`
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export declare const error: (input: LogInput<"E">, ...args: unknown[]) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Logs an warning level message.
|
|
29
|
-
*
|
|
30
|
-
* Can be used in multiple ways:
|
|
31
|
-
* ```ts
|
|
32
|
-
* warning(`deprected feature: ${message}`) // infers default warning code `CDK_TOOLKIT_W000`
|
|
33
|
-
* warning('deprected feature: %s', message) // infers default warning code `CDK_TOOLKIT_W000`
|
|
34
|
-
* warning({ message: 'deprected feature', code: 'CDK_SDK_W001' }) // specifies warning code `CDK_SDK_W001`
|
|
35
|
-
* warning({ message: 'deprected feature: %s', code: 'CDK_SDK_W001' }, message) // specifies warning code `CDK_SDK_W001`
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare const warning: (input: LogInput<"W">, ...args: unknown[]) => void;
|
|
39
|
-
/**
|
|
40
|
-
* Logs an info level message.
|
|
41
|
-
*
|
|
42
|
-
* Can be used in multiple ways:
|
|
43
|
-
* ```ts
|
|
44
|
-
* info(`processing: ${message}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
45
|
-
* info('processing: %s', message) // infers default info code `CDK_TOOLKIT_I000`
|
|
46
|
-
* info({ message: 'processing', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
47
|
-
* info({ message: 'processing: %s', code: 'CDK_TOOLKIT_I001' }, message) // specifies info code `CDK_TOOLKIT_I001`
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
export declare const info: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
51
|
-
/**
|
|
52
|
-
* Logs an result. In the CLI, this always goes to stdout.
|
|
53
|
-
*
|
|
54
|
-
* Can be used in multiple ways:
|
|
55
|
-
* ```ts
|
|
56
|
-
* result(`${JSON.stringify(stats)}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
57
|
-
* result('{"count": %d}', count) // infers default info code `CDK_TOOLKIT_I000`
|
|
58
|
-
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }) // specifies info code `CDK_DATA_I001`
|
|
59
|
-
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }, stats) // specifies info code `CDK_DATA_I001`
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
export declare const result: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
63
|
-
/**
|
|
64
|
-
* Logs a debug level message.
|
|
65
|
-
*
|
|
66
|
-
* Can be used in multiple ways:
|
|
67
|
-
* ```ts
|
|
68
|
-
* debug(`state: ${JSON.stringify(state)}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
69
|
-
* debug('cache hit ratio: %d%%', ratio) // infers default info code `CDK_TOOLKIT_I000`
|
|
70
|
-
* debug({ message: 'state update', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
71
|
-
* debug({ message: 'ratio: %d%%', code: 'CDK_TOOLKIT_I001' }, ratio) // specifies info code `CDK_TOOLKIT_I001`
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
export declare const debug: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
75
|
-
/**
|
|
76
|
-
* Logs an info level success message in green text.
|
|
77
|
-
*
|
|
78
|
-
* Can be used in multiple ways:
|
|
79
|
-
* ```ts
|
|
80
|
-
* success(`deployment completed: ${name}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
81
|
-
* success('processed %d items', count) // infers default info code `CDK_TOOLKIT_I000`
|
|
82
|
-
* success({ message: 'completed', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
83
|
-
* success({ message: 'items: %d', code: 'CDK_TOOLKIT_I001' }, count) // specifies info code `CDK_TOOLKIT_I001`
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
export declare const success: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
87
|
-
/**
|
|
88
|
-
* Logs an info level message in bold text.
|
|
89
|
-
*
|
|
90
|
-
* Can be used in multiple ways:
|
|
91
|
-
* ```ts
|
|
92
|
-
* highlight(`important: ${msg}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
93
|
-
* highlight('attention required: %s', reason) // infers default info code `CDK_TOOLKIT_I000`
|
|
94
|
-
* highlight({ message: 'notice', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
95
|
-
* highlight({ message: 'notice: %s', code: 'CDK_TOOLKIT_I001' }, msg) // specifies info code `CDK_TOOLKIT_I001`
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
export declare const highlight: (input: LogInput<"I">, ...args: unknown[]) => void;
|
|
99
|
-
export {};
|
package/lib/logging.js
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.highlight = exports.success = exports.debug = exports.result = exports.info = exports.warning = exports.error = void 0;
|
|
4
|
-
const chalk = require("chalk");
|
|
5
|
-
const api_private_1 = require("../lib/api-private");
|
|
6
|
-
const cli_io_host_1 = require("./cli/io-host/cli-io-host");
|
|
7
|
-
/**
|
|
8
|
-
* Logs messages to the global CliIoHost
|
|
9
|
-
*
|
|
10
|
-
* Internal helper that processes log inputs into a consistent format.
|
|
11
|
-
* Handles string interpolation, format strings, and object parameter styles.
|
|
12
|
-
* Applies optional styling and sends the message to the IoHost.
|
|
13
|
-
*/
|
|
14
|
-
function formatMessageAndLog(level, input, ...args) {
|
|
15
|
-
const singletonHost = cli_io_host_1.CliIoHost.instance();
|
|
16
|
-
// ALARM: forcing a CliAction into a ToolkitAction.
|
|
17
|
-
const helper = (0, api_private_1.asIoHelper)(singletonHost, singletonHost.currentAction);
|
|
18
|
-
if (typeof input === 'string') {
|
|
19
|
-
void singletonHost.defaults[level](input, ...args);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
void helper.notify({
|
|
23
|
-
data: undefined,
|
|
24
|
-
time: new Date(),
|
|
25
|
-
level,
|
|
26
|
-
...input,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
// Exported logging functions. If any additional logging functionality is required, it should be added as
|
|
31
|
-
// a new logging function here.
|
|
32
|
-
/**
|
|
33
|
-
* Logs an error level message.
|
|
34
|
-
*
|
|
35
|
-
* Can be used in multiple ways:
|
|
36
|
-
* ```ts
|
|
37
|
-
* error(`operation failed: ${e}`) // infers default error code `CDK_TOOLKIT_E000`
|
|
38
|
-
* error('operation failed: %s', e) // infers default error code `CDK_TOOLKIT_E000`
|
|
39
|
-
* error({ message: 'operation failed', code: 'CDK_SDK_E001' }) // specifies error code `CDK_SDK_E001`
|
|
40
|
-
* error({ message: 'operation failed: %s', code: 'CDK_SDK_E001' }, e) // specifies error code `CDK_SDK_E001`
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
const error = (input, ...args) => {
|
|
44
|
-
return formatMessageAndLog('error', input, ...args);
|
|
45
|
-
};
|
|
46
|
-
exports.error = error;
|
|
47
|
-
/**
|
|
48
|
-
* Logs an warning level message.
|
|
49
|
-
*
|
|
50
|
-
* Can be used in multiple ways:
|
|
51
|
-
* ```ts
|
|
52
|
-
* warning(`deprected feature: ${message}`) // infers default warning code `CDK_TOOLKIT_W000`
|
|
53
|
-
* warning('deprected feature: %s', message) // infers default warning code `CDK_TOOLKIT_W000`
|
|
54
|
-
* warning({ message: 'deprected feature', code: 'CDK_SDK_W001' }) // specifies warning code `CDK_SDK_W001`
|
|
55
|
-
* warning({ message: 'deprected feature: %s', code: 'CDK_SDK_W001' }, message) // specifies warning code `CDK_SDK_W001`
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
const warning = (input, ...args) => {
|
|
59
|
-
return formatMessageAndLog('warn', input, ...args);
|
|
60
|
-
};
|
|
61
|
-
exports.warning = warning;
|
|
62
|
-
/**
|
|
63
|
-
* Logs an info level message.
|
|
64
|
-
*
|
|
65
|
-
* Can be used in multiple ways:
|
|
66
|
-
* ```ts
|
|
67
|
-
* info(`processing: ${message}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
68
|
-
* info('processing: %s', message) // infers default info code `CDK_TOOLKIT_I000`
|
|
69
|
-
* info({ message: 'processing', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
70
|
-
* info({ message: 'processing: %s', code: 'CDK_TOOLKIT_I001' }, message) // specifies info code `CDK_TOOLKIT_I001`
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
const info = (input, ...args) => {
|
|
74
|
-
return formatMessageAndLog('info', input, ...args);
|
|
75
|
-
};
|
|
76
|
-
exports.info = info;
|
|
77
|
-
/**
|
|
78
|
-
* Logs an result. In the CLI, this always goes to stdout.
|
|
79
|
-
*
|
|
80
|
-
* Can be used in multiple ways:
|
|
81
|
-
* ```ts
|
|
82
|
-
* result(`${JSON.stringify(stats)}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
83
|
-
* result('{"count": %d}', count) // infers default info code `CDK_TOOLKIT_I000`
|
|
84
|
-
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }) // specifies info code `CDK_DATA_I001`
|
|
85
|
-
* result({ message: 'stats: %j', code: 'CDK_DATA_I001' }, stats) // specifies info code `CDK_DATA_I001`
|
|
86
|
-
* ```
|
|
87
|
-
*/
|
|
88
|
-
const result = (input, ...args) => {
|
|
89
|
-
return formatMessageAndLog('result', input, ...args);
|
|
90
|
-
};
|
|
91
|
-
exports.result = result;
|
|
92
|
-
/**
|
|
93
|
-
* Logs a debug level message.
|
|
94
|
-
*
|
|
95
|
-
* Can be used in multiple ways:
|
|
96
|
-
* ```ts
|
|
97
|
-
* debug(`state: ${JSON.stringify(state)}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
98
|
-
* debug('cache hit ratio: %d%%', ratio) // infers default info code `CDK_TOOLKIT_I000`
|
|
99
|
-
* debug({ message: 'state update', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
100
|
-
* debug({ message: 'ratio: %d%%', code: 'CDK_TOOLKIT_I001' }, ratio) // specifies info code `CDK_TOOLKIT_I001`
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
const debug = (input, ...args) => {
|
|
104
|
-
return formatMessageAndLog('debug', input, ...args);
|
|
105
|
-
};
|
|
106
|
-
exports.debug = debug;
|
|
107
|
-
/**
|
|
108
|
-
* Logs an info level success message in green text.
|
|
109
|
-
*
|
|
110
|
-
* Can be used in multiple ways:
|
|
111
|
-
* ```ts
|
|
112
|
-
* success(`deployment completed: ${name}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
113
|
-
* success('processed %d items', count) // infers default info code `CDK_TOOLKIT_I000`
|
|
114
|
-
* success({ message: 'completed', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
115
|
-
* success({ message: 'items: %d', code: 'CDK_TOOLKIT_I001' }, count) // specifies info code `CDK_TOOLKIT_I001`
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
const success = (input, ...args) => {
|
|
119
|
-
return formatMessageAndLog('info', chalkInput(input, chalk.green), ...args);
|
|
120
|
-
};
|
|
121
|
-
exports.success = success;
|
|
122
|
-
/**
|
|
123
|
-
* Logs an info level message in bold text.
|
|
124
|
-
*
|
|
125
|
-
* Can be used in multiple ways:
|
|
126
|
-
* ```ts
|
|
127
|
-
* highlight(`important: ${msg}`) // infers default info code `CDK_TOOLKIT_I000`
|
|
128
|
-
* highlight('attention required: %s', reason) // infers default info code `CDK_TOOLKIT_I000`
|
|
129
|
-
* highlight({ message: 'notice', code: 'CDK_TOOLKIT_I001' }) // specifies info code `CDK_TOOLKIT_I001`
|
|
130
|
-
* highlight({ message: 'notice: %s', code: 'CDK_TOOLKIT_I001' }, msg) // specifies info code `CDK_TOOLKIT_I001`
|
|
131
|
-
* ```
|
|
132
|
-
*/
|
|
133
|
-
const highlight = (input, ...args) => {
|
|
134
|
-
return formatMessageAndLog('info', chalkInput(input, chalk.bold), ...args);
|
|
135
|
-
};
|
|
136
|
-
exports.highlight = highlight;
|
|
137
|
-
function chalkInput(i, style) {
|
|
138
|
-
if (typeof i === 'string') {
|
|
139
|
-
return style(i);
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
...i,
|
|
143
|
-
message: style(i.message),
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG9EQUFnRDtBQUVoRCwyREFBc0Q7QUFNdEQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsS0FBcUIsRUFDckIsS0FBNEIsRUFDNUIsR0FBRyxJQUFlO0lBRWxCLE1BQU0sYUFBYSxHQUFHLHVCQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0MsbURBQW1EO0lBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUEsd0JBQVUsRUFBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQW9CLENBQUMsQ0FBQztJQUU3RSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLEtBQUssYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO1NBQU0sQ0FBQztRQUNOLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNqQixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLO1lBQ0wsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUM7QUFpQkQseUdBQXlHO0FBQ3pHLCtCQUErQjtBQUUvQjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxLQUFLLFNBRWhCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUZXLFFBQUEsT0FBTyxXQUVsQjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLElBQUksR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUMvRCxPQUFPLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFGVyxRQUFBLElBQUksUUFFZjtBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQW9CLEVBQUUsR0FBRyxJQUFlLEVBQUUsRUFBRTtJQUNqRSxPQUFPLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFGVyxRQUFBLE1BQU0sVUFFakI7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0ksTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7SUFDaEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxLQUFLLFNBRWhCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDOUUsQ0FBQyxDQUFDO0FBRlcsUUFBQSxPQUFPLFdBRWxCO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBRlcsUUFBQSxTQUFTLGFBRXBCO0FBRUYsU0FBUyxVQUFVLENBQTBCLENBQUksRUFBRSxLQUE4QjtJQUMvRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPO1FBQ0wsR0FBRyxDQUFRO1FBQ1gsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0tBQzFCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IHsgYXNJb0hlbHBlciB9IGZyb20gJy4uL2xpYi9hcGktcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZUxldmVsIH0gZnJvbSAnLi9jbGkvaW8taG9zdC9jbGktaW8taG9zdCc7XG5pbXBvcnQgeyBDbGlJb0hvc3QgfSBmcm9tICcuL2NsaS9pby1ob3N0L2NsaS1pby1ob3N0JztcblxudHlwZSBJb01lc3NhZ2VDb2RlQ2F0ZWdvcnkgPSAnVE9PTEtJVCcgfCAnU0RLJyB8ICdBU1NFVFMnO1xudHlwZSBJb0NvZGVMZXZlbCA9ICdFJyB8ICdXJyB8ICdJJztcbnR5cGUgSW9NZXNzYWdlU3BlY2lmaWNDb2RlPEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4gPSBgQ0RLXyR7SW9NZXNzYWdlQ29kZUNhdGVnb3J5fV8ke0x9JHtudW1iZXJ9JHtudW1iZXJ9JHtudW1iZXJ9JHtudW1iZXJ9YDtcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2VzIHRvIHRoZSBnbG9iYWwgQ2xpSW9Ib3N0XG4gKlxuICogSW50ZXJuYWwgaGVscGVyIHRoYXQgcHJvY2Vzc2VzIGxvZyBpbnB1dHMgaW50byBhIGNvbnNpc3RlbnQgZm9ybWF0LlxuICogSGFuZGxlcyBzdHJpbmcgaW50ZXJwb2xhdGlvbiwgZm9ybWF0IHN0cmluZ3MsIGFuZCBvYmplY3QgcGFyYW1ldGVyIHN0eWxlcy5cbiAqIEFwcGxpZXMgb3B0aW9uYWwgc3R5bGluZyBhbmQgc2VuZHMgdGhlIG1lc3NhZ2UgdG8gdGhlIElvSG9zdC5cbiAqL1xuZnVuY3Rpb24gZm9ybWF0TWVzc2FnZUFuZExvZyhcbiAgbGV2ZWw6IElvTWVzc2FnZUxldmVsLFxuICBpbnB1dDogTG9nSW5wdXQ8SW9Db2RlTGV2ZWw+LFxuICAuLi5hcmdzOiB1bmtub3duW11cbik6IHZvaWQge1xuICBjb25zdCBzaW5nbGV0b25Ib3N0ID0gQ2xpSW9Ib3N0Lmluc3RhbmNlKCk7XG4gIC8vIEFMQVJNOiBmb3JjaW5nIGEgQ2xpQWN0aW9uIGludG8gYSBUb29sa2l0QWN0aW9uLlxuICBjb25zdCBoZWxwZXIgPSBhc0lvSGVscGVyKHNpbmdsZXRvbkhvc3QsIHNpbmdsZXRvbkhvc3QuY3VycmVudEFjdGlvbiBhcyBhbnkpO1xuXG4gIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7XG4gICAgdm9pZCBzaW5nbGV0b25Ib3N0LmRlZmF1bHRzW2xldmVsXShpbnB1dCwgLi4uYXJncyk7XG4gIH0gZWxzZSB7XG4gICAgdm9pZCBoZWxwZXIubm90aWZ5KHtcbiAgICAgIGRhdGE6IHVuZGVmaW5lZCxcbiAgICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgICBsZXZlbCxcbiAgICAgIC4uLmlucHV0LFxuICAgIH0pO1xuICB9XG59XG5cbi8vIFR5cGUgZm9yIHRoZSBvYmplY3QgcGFyYW1ldGVyIHN0eWxlXG5pbnRlcmZhY2UgTG9nUGFyYW1zPEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4ge1xuICAvKipcbiAgICogTWVzc2FnZSBjb2RlXG4gICAqL1xuICByZWFkb25seSBjb2RlOiBJb01lc3NhZ2VTcGVjaWZpY0NvZGU8TD47XG4gIC8qKlxuICAgKiBNZXNzYWdlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vIFR5cGUgZm9yIHRoZSBleHBvcnRlZCBsb2cgZnVuY3Rpb24gYXJndW1lbnRzXG50eXBlIExvZ0lucHV0PEwgZXh0ZW5kcyBJb0NvZGVMZXZlbD4gPSBzdHJpbmcgfCBMb2dQYXJhbXM8TD47XG5cbi8vIEV4cG9ydGVkIGxvZ2dpbmcgZnVuY3Rpb25zLiBJZiBhbnkgYWRkaXRpb25hbCBsb2dnaW5nIGZ1bmN0aW9uYWxpdHkgaXMgcmVxdWlyZWQsIGl0IHNob3VsZCBiZSBhZGRlZCBhc1xuLy8gYSBuZXcgbG9nZ2luZyBmdW5jdGlvbiBoZXJlLlxuXG4vKipcbiAqIExvZ3MgYW4gZXJyb3IgbGV2ZWwgbWVzc2FnZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGVycm9yKGBvcGVyYXRpb24gZmFpbGVkOiAke2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgZXJyb3IgY29kZSBgQ0RLX1RPT0xLSVRfRTAwMGBcbiAqIGVycm9yKCdvcGVyYXRpb24gZmFpbGVkOiAlcycsIGUpIC8vIGluZmVycyBkZWZhdWx0IGVycm9yIGNvZGUgYENES19UT09MS0lUX0UwMDBgXG4gKiBlcnJvcih7IG1lc3NhZ2U6ICdvcGVyYXRpb24gZmFpbGVkJywgY29kZTogJ0NES19TREtfRTAwMScgfSkgLy8gc3BlY2lmaWVzIGVycm9yIGNvZGUgYENES19TREtfRTAwMWBcbiAqIGVycm9yKHsgbWVzc2FnZTogJ29wZXJhdGlvbiBmYWlsZWQ6ICVzJywgY29kZTogJ0NES19TREtfRTAwMScgfSwgZSkgLy8gc3BlY2lmaWVzIGVycm9yIGNvZGUgYENES19TREtfRTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZXJyb3IgPSAoaW5wdXQ6IExvZ0lucHV0PCdFJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnZXJyb3InLCBpbnB1dCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gd2FybmluZyBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogd2FybmluZyhgZGVwcmVjdGVkIGZlYXR1cmU6ICR7bWVzc2FnZX1gKSAvLyBpbmZlcnMgZGVmYXVsdCB3YXJuaW5nIGNvZGUgYENES19UT09MS0lUX1cwMDBgXG4gKiB3YXJuaW5nKCdkZXByZWN0ZWQgZmVhdHVyZTogJXMnLCBtZXNzYWdlKSAvLyBpbmZlcnMgZGVmYXVsdCB3YXJuaW5nIGNvZGUgYENES19UT09MS0lUX1cwMDBgXG4gKiB3YXJuaW5nKHsgbWVzc2FnZTogJ2RlcHJlY3RlZCBmZWF0dXJlJywgY29kZTogJ0NES19TREtfVzAwMScgfSkgLy8gc3BlY2lmaWVzIHdhcm5pbmcgY29kZSBgQ0RLX1NES19XMDAxYFxuICogd2FybmluZyh7IG1lc3NhZ2U6ICdkZXByZWN0ZWQgZmVhdHVyZTogJXMnLCBjb2RlOiAnQ0RLX1NES19XMDAxJyB9LCBtZXNzYWdlKSAvLyBzcGVjaWZpZXMgd2FybmluZyBjb2RlIGBDREtfU0RLX1cwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHdhcm5pbmcgPSAoaW5wdXQ6IExvZ0lucHV0PCdXJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnd2FybicsIGlucHV0LCAuLi5hcmdzKTtcbn07XG5cbi8qKlxuICogTG9ncyBhbiBpbmZvIGxldmVsIG1lc3NhZ2UuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBpbmZvKGBwcm9jZXNzaW5nOiAke21lc3NhZ2V9YCkgLy8gaW5mZXJzIGRlZmF1bHQgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAwYFxuICogaW5mbygncHJvY2Vzc2luZzogJXMnLCBtZXNzYWdlKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBpbmZvKHsgbWVzc2FnZTogJ3Byb2Nlc3NpbmcnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGluZm8oeyBtZXNzYWdlOiAncHJvY2Vzc2luZzogJXMnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgbWVzc2FnZSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaW5mbyA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdpbmZvJywgaW5wdXQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIHJlc3VsdC4gSW4gdGhlIENMSSwgdGhpcyBhbHdheXMgZ29lcyB0byBzdGRvdXQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiByZXN1bHQoYCR7SlNPTi5zdHJpbmdpZnkoc3RhdHMpfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHJlc3VsdCgne1wiY291bnRcIjogJWR9JywgY291bnQpIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHJlc3VsdCh7IG1lc3NhZ2U6ICdzdGF0czogJWonLCBjb2RlOiAnQ0RLX0RBVEFfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX0RBVEFfSTAwMWBcbiAqIHJlc3VsdCh7IG1lc3NhZ2U6ICdzdGF0czogJWonLCBjb2RlOiAnQ0RLX0RBVEFfSTAwMScgfSwgc3RhdHMpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19EQVRBX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc3VsdCA9IChpbnB1dDogTG9nSW5wdXQ8J0knPiwgLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gIHJldHVybiBmb3JtYXRNZXNzYWdlQW5kTG9nKCdyZXN1bHQnLCBpbnB1dCwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYSBkZWJ1ZyBsZXZlbCBtZXNzYWdlLlxuICpcbiAqIENhbiBiZSB1c2VkIGluIG11bHRpcGxlIHdheXM6XG4gKiBgYGB0c1xuICogZGVidWcoYHN0YXRlOiAke0pTT04uc3RyaW5naWZ5KHN0YXRlKX1gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBkZWJ1ZygnY2FjaGUgaGl0IHJhdGlvOiAlZCUlJywgcmF0aW8pIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGRlYnVnKHsgbWVzc2FnZTogJ3N0YXRlIHVwZGF0ZScsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogZGVidWcoeyBtZXNzYWdlOiAncmF0aW86ICVkJSUnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgcmF0aW8pIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGRlYnVnID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2RlYnVnJywgaW5wdXQsIC4uLmFyZ3MpO1xufTtcblxuLyoqXG4gKiBMb2dzIGFuIGluZm8gbGV2ZWwgc3VjY2VzcyBtZXNzYWdlIGluIGdyZWVuIHRleHQuXG4gKlxuICogQ2FuIGJlIHVzZWQgaW4gbXVsdGlwbGUgd2F5czpcbiAqIGBgYHRzXG4gKiBzdWNjZXNzKGBkZXBsb3ltZW50IGNvbXBsZXRlZDogJHtuYW1lfWApIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIHN1Y2Nlc3MoJ3Byb2Nlc3NlZCAlZCBpdGVtcycsIGNvdW50KSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBzdWNjZXNzKHsgbWVzc2FnZTogJ2NvbXBsZXRlZCcsIGNvZGU6ICdDREtfVE9PTEtJVF9JMDAxJyB9KSAvLyBzcGVjaWZpZXMgaW5mbyBjb2RlIGBDREtfVE9PTEtJVF9JMDAxYFxuICogc3VjY2Vzcyh7IG1lc3NhZ2U6ICdpdGVtczogJWQnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSwgY291bnQpIC8vIHNwZWNpZmllcyBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDFgXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHN1Y2Nlc3MgPSAoaW5wdXQ6IExvZ0lucHV0PCdJJz4sIC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICByZXR1cm4gZm9ybWF0TWVzc2FnZUFuZExvZygnaW5mbycsIGNoYWxrSW5wdXQoaW5wdXQsIGNoYWxrLmdyZWVuKSwgLi4uYXJncyk7XG59O1xuXG4vKipcbiAqIExvZ3MgYW4gaW5mbyBsZXZlbCBtZXNzYWdlIGluIGJvbGQgdGV4dC5cbiAqXG4gKiBDYW4gYmUgdXNlZCBpbiBtdWx0aXBsZSB3YXlzOlxuICogYGBgdHNcbiAqIGhpZ2hsaWdodChgaW1wb3J0YW50OiAke21zZ31gKSAvLyBpbmZlcnMgZGVmYXVsdCBpbmZvIGNvZGUgYENES19UT09MS0lUX0kwMDBgXG4gKiBoaWdobGlnaHQoJ2F0dGVudGlvbiByZXF1aXJlZDogJXMnLCByZWFzb24pIC8vIGluZmVycyBkZWZhdWx0IGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMGBcbiAqIGhpZ2hsaWdodCh7IG1lc3NhZ2U6ICdub3RpY2UnLCBjb2RlOiAnQ0RLX1RPT0xLSVRfSTAwMScgfSkgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGhpZ2hsaWdodCh7IG1lc3NhZ2U6ICdub3RpY2U6ICVzJywgY29kZTogJ0NES19UT09MS0lUX0kwMDEnIH0sIG1zZykgLy8gc3BlY2lmaWVzIGluZm8gY29kZSBgQ0RLX1RPT0xLSVRfSTAwMWBcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0ID0gKGlucHV0OiBMb2dJbnB1dDwnSSc+LCAuLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgcmV0dXJuIGZvcm1hdE1lc3NhZ2VBbmRMb2coJ2luZm8nLCBjaGFsa0lucHV0KGlucHV0LCBjaGFsay5ib2xkKSwgLi4uYXJncyk7XG59O1xuXG5mdW5jdGlvbiBjaGFsa0lucHV0PEEgZXh0ZW5kcyBMb2dJbnB1dDxhbnk+PihpOiBBLCBzdHlsZTogKHN0cjogc3RyaW5nKSA9PiBzdHJpbmcpOiBBIHtcbiAgaWYgKHR5cGVvZiBpID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBzdHlsZShpKSBhcyBBO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pIGFzIGFueSxcbiAgICBtZXNzYWdlOiBzdHlsZShpLm1lc3NhZ2UpLFxuICB9O1xufVxuIl19
|
|
File without changes
|