cdk-assets 3.3.0 → 4.0.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 +4 -4
- package/THIRD_PARTY_LICENSES +18764 -0
- package/bin/cdk-assets.js +109830 -62
- package/bin/docker-credential-cdk-assets.js +4 -4
- package/bin/list.js +3 -3
- package/bin/logging.js +3 -1
- package/bin/publish.js +6 -6
- package/package.json +11 -30
- package/lib/asset-manifest.d.ts +0 -186
- package/lib/asset-manifest.js +0 -270
- package/lib/aws-types.d.ts +0 -1666
- package/lib/aws-types.js +0 -144
- package/lib/aws.d.ts +0 -71
- package/lib/aws.js +0 -131
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -21
- package/lib/private/archive.d.ts +0 -3
- package/lib/private/archive.js +0 -87
- package/lib/private/asset-handler.d.ts +0 -60
- package/lib/private/asset-handler.js +0 -3
- package/lib/private/docker-credentials.d.ts +0 -35
- package/lib/private/docker-credentials.js +0 -90
- package/lib/private/docker.d.ts +0 -98
- package/lib/private/docker.js +0 -235
- package/lib/private/fs-extra.d.ts +0 -3
- package/lib/private/fs-extra.js +0 -37
- package/lib/private/handlers/client-options.d.ts +0 -3
- package/lib/private/handlers/client-options.js +0 -12
- package/lib/private/handlers/container-images.d.ts +0 -22
- package/lib/private/handlers/container-images.js +0 -224
- package/lib/private/handlers/files.d.ts +0 -14
- package/lib/private/handlers/files.js +0 -289
- package/lib/private/handlers/index.d.ts +0 -3
- package/lib/private/handlers/index.js +0 -16
- package/lib/private/p-limit.d.ts +0 -10
- package/lib/private/p-limit.js +0 -51
- package/lib/private/placeholders.d.ts +0 -10
- package/lib/private/placeholders.js +0 -34
- package/lib/private/shell.d.ts +0 -24
- package/lib/private/shell.js +0 -131
- package/lib/private/util.d.ts +0 -5
- package/lib/private/util.js +0 -16
- package/lib/progress.d.ts +0 -114
- package/lib/progress.js +0 -104
- package/lib/publishing.d.ts +0 -118
- package/lib/publishing.js +0 -193
- package/scripts/manual-test-manifest.json +0 -12
- package/scripts/manual-test.sh +0 -22
package/lib/private/shell.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shell = shell;
|
|
4
|
-
const child_process = require("child_process");
|
|
5
|
-
/**
|
|
6
|
-
* OS helpers
|
|
7
|
-
*
|
|
8
|
-
* Shell function which both prints to stdout and collects the output into a
|
|
9
|
-
* string.
|
|
10
|
-
*/
|
|
11
|
-
async function shell(command, options) {
|
|
12
|
-
handleShellOutput(renderCommandLine(command), options, 'open');
|
|
13
|
-
const child = child_process.spawn(command[0], command.slice(1), {
|
|
14
|
-
...options,
|
|
15
|
-
stdio: [options.input ? 'pipe' : 'ignore', 'pipe', 'pipe'],
|
|
16
|
-
});
|
|
17
|
-
return new Promise((resolve, reject) => {
|
|
18
|
-
if (options.input) {
|
|
19
|
-
child.stdin.write(options.input);
|
|
20
|
-
child.stdin.end();
|
|
21
|
-
}
|
|
22
|
-
const stdout = new Array();
|
|
23
|
-
const stderr = new Array();
|
|
24
|
-
// Both emit event and collect output
|
|
25
|
-
child.stdout.on('data', (chunk) => {
|
|
26
|
-
handleShellOutput(chunk, options, 'data_stdout');
|
|
27
|
-
stdout.push(chunk);
|
|
28
|
-
});
|
|
29
|
-
child.stderr.on('data', (chunk) => {
|
|
30
|
-
handleShellOutput(chunk, options, 'data_stderr');
|
|
31
|
-
stderr.push(chunk);
|
|
32
|
-
});
|
|
33
|
-
child.once('error', reject);
|
|
34
|
-
child.once('close', (code, signal) => {
|
|
35
|
-
handleShellOutput(renderCommandLine(command), options, 'close');
|
|
36
|
-
if (code === 0) {
|
|
37
|
-
resolve(Buffer.concat(stdout).toString('utf-8'));
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
const out = Buffer.concat(stderr).toString('utf-8').trim();
|
|
41
|
-
reject(new ProcessFailed(code, signal, `${renderCommandLine(command)} exited with ${code != null ? 'error code' : 'signal'} ${code ?? signal}: ${out}`));
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
function handleShellOutput(chunk, options, shellEventType) {
|
|
47
|
-
switch (options.subprocessOutputDestination) {
|
|
48
|
-
case 'ignore':
|
|
49
|
-
return;
|
|
50
|
-
case 'publish':
|
|
51
|
-
options.shellEventPublisher(shellEventType, chunk.toString('utf-8'));
|
|
52
|
-
break;
|
|
53
|
-
case 'stdio':
|
|
54
|
-
default:
|
|
55
|
-
switch (shellEventType) {
|
|
56
|
-
case 'data_stdout':
|
|
57
|
-
process.stdout.write(chunk);
|
|
58
|
-
break;
|
|
59
|
-
case 'data_stderr':
|
|
60
|
-
process.stderr.write(chunk);
|
|
61
|
-
break;
|
|
62
|
-
case 'open':
|
|
63
|
-
options.shellEventPublisher(shellEventType, chunk.toString('utf-8'));
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
class ProcessFailed extends Error {
|
|
70
|
-
constructor(exitCode, signal, message) {
|
|
71
|
-
super(message);
|
|
72
|
-
this.exitCode = exitCode;
|
|
73
|
-
this.signal = signal;
|
|
74
|
-
this.code = 'PROCESS_FAILED';
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Render the given command line as a string
|
|
79
|
-
*
|
|
80
|
-
* Probably missing some cases but giving it a good effort.
|
|
81
|
-
*/
|
|
82
|
-
function renderCommandLine(cmd) {
|
|
83
|
-
if (process.platform !== 'win32') {
|
|
84
|
-
return doRender(cmd, hasAnyChars(' ', '\\', '!', '"', "'", '&', '$'), posixEscape);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
return doRender(cmd, hasAnyChars(' ', '"', '&', '^', '%'), windowsEscape);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Render a UNIX command line
|
|
92
|
-
*/
|
|
93
|
-
function doRender(cmd, needsEscaping, doEscape) {
|
|
94
|
-
return cmd.map((x) => (needsEscaping(x) ? doEscape(x) : x)).join(' ');
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Return a predicate that checks if a string has any of the indicated chars in it
|
|
98
|
-
*/
|
|
99
|
-
function hasAnyChars(...chars) {
|
|
100
|
-
return (str) => {
|
|
101
|
-
return chars.some((c) => str.indexOf(c) !== -1);
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Escape a shell argument for POSIX shells
|
|
106
|
-
*
|
|
107
|
-
* Wrapping in single quotes and escaping single quotes inside will do it for us.
|
|
108
|
-
*/
|
|
109
|
-
function posixEscape(x) {
|
|
110
|
-
// Turn ' -> '"'"'
|
|
111
|
-
x = x.replace(/'/g, "'\"'\"'");
|
|
112
|
-
return `'${x}'`;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Escape a shell argument for cmd.exe
|
|
116
|
-
*
|
|
117
|
-
* This is how to do it right, but I'm not following everything:
|
|
118
|
-
*
|
|
119
|
-
* https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
|
|
120
|
-
*/
|
|
121
|
-
function windowsEscape(x) {
|
|
122
|
-
// First surround by double quotes, ignore the part about backslashes
|
|
123
|
-
x = `"${x}"`;
|
|
124
|
-
// Now escape all special characters
|
|
125
|
-
const shellMeta = new Set(['"', '&', '^', '%']);
|
|
126
|
-
return x
|
|
127
|
-
.split('')
|
|
128
|
-
.map((c) => (shellMeta.has(x) ? '^' + c : c))
|
|
129
|
-
.join('');
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzaGVsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSxzQkE2Q0M7QUFoRUQsK0NBQStDO0FBYS9DOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLEtBQUssQ0FBQyxPQUFpQixFQUFFLE9BQXFCO0lBQ2xFLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzlELEdBQUcsT0FBTztRQUNWLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDM0QsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM3QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixLQUFLLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsS0FBSyxDQUFDLEtBQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQU8sQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBTyxDQUFDO1FBRWhDLHFDQUFxQztRQUNyQyxLQUFLLENBQUMsTUFBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lB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SUFDOUIscUVBQXFFO0lBQ3JFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2Isb0NBQW9DO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4RCxPQUFPLENBQUM7U0FDTCxLQUFLLENBQUMsRUFBRSxDQUFDO1NBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHR5cGUgeyBTdWJwcm9jZXNzT3V0cHV0RGVzdGluYXRpb24gfSBmcm9tICcuL2Fzc2V0LWhhbmRsZXInO1xuXG5leHBvcnQgdHlwZSBTaGVsbEV2ZW50VHlwZSA9ICdvcGVuJyB8ICdkYXRhX3N0ZG91dCcgfCAnZGF0YV9zdGRlcnInIHwgJ2Nsb3NlJztcblxuZXhwb3J0IHR5cGUgU2hlbGxFdmVudFB1Ymxpc2hlciA9IChldmVudDogU2hlbGxFdmVudFR5cGUsIG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZDtcblxuZXhwb3J0IGludGVyZmFjZSBTaGVsbE9wdGlvbnMgZXh0ZW5kcyBjaGlsZF9wcm9jZXNzLlNwYXduT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHNoZWxsRXZlbnRQdWJsaXNoZXI6IFNoZWxsRXZlbnRQdWJsaXNoZXI7XG4gIHJlYWRvbmx5IGlucHV0Pzogc3RyaW5nO1xuICByZWFkb25seSBzdWJwcm9jZXNzT3V0cHV0RGVzdGluYXRpb24/OiBTdWJwcm9jZXNzT3V0cHV0RGVzdGluYXRpb247XG59XG5cbi8qKlxuICogT1MgaGVscGVyc1xuICpcbiAqIFNoZWxsIGZ1bmN0aW9uIHdoaWNoIGJvdGggcHJpbnRzIHRvIHN0ZG91dCBhbmQgY29sbGVjdHMgdGhlIG91dHB1dCBpbnRvIGFcbiAqIHN0cmluZy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNoZWxsKGNvbW1hbmQ6IHN0cmluZ1tdLCBvcHRpb25zOiBTaGVsbE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBoYW5kbGVTaGVsbE91dHB1dChyZW5kZXJDb21tYW5kTGluZShjb21tYW5kKSwgb3B0aW9ucywgJ29wZW4nKTtcbiAgY29uc3QgY2hpbGQgPSBjaGlsZF9wcm9jZXNzLnNwYXduKGNvbW1hbmRbMF0sIGNvbW1hbmQuc2xpY2UoMSksIHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHN0ZGlvOiBbb3B0aW9ucy5pbnB1dCA/ICdwaXBlJyA6ICdpZ25vcmUnLCAncGlwZScsICdwaXBlJ10sXG4gIH0pO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAob3B0aW9ucy5pbnB1dCkge1xuICAgICAgY2hpbGQuc3RkaW4hLndyaXRlKG9wdGlvbnMuaW5wdXQpO1xuICAgICAgY2hpbGQuc3RkaW4hLmVuZCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0ZG91dCA9IG5ldyBBcnJheTxhbnk+KCk7XG4gICAgY29uc3Qgc3RkZXJyID0gbmV3IEFycmF5PGFueT4oKTtcblxuICAgIC8vIEJvdGggZW1pdCBldmVudCBhbmQgY29sbGVjdCBvdXRwdXRcbiAgICBjaGlsZC5zdGRvdXQhLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICBoYW5kbGVTaGVsbE91dHB1dChjaHVuaywgb3B0aW9ucywgJ2RhdGFfc3Rkb3V0Jyk7XG4gICAgICBzdGRvdXQucHVzaChjaHVuayk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5zdGRlcnIhLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICBoYW5kbGVTaGVsbE91dHB1dChjaHVuaywgb3B0aW9ucywgJ2RhdGFfc3RkZXJyJyk7XG4gICAgICBzdGRlcnIucHVzaChjaHVuayk7XG4gICAgfSk7XG5cbiAgICBjaGlsZC5vbmNlKCdlcnJvcicsIHJlamVjdCk7XG5cbiAgICBjaGlsZC5vbmNlKCdjbG9zZScsIChjb2RlLCBzaWduYWwpID0+IHtcbiAgICAgIGhhbmRsZVNoZWxsT3V0cHV0KHJlbmRlckNvbW1hbmRMaW5lKGNvbW1hbmQpLCBvcHRpb25zLCAnY2xvc2UnKTtcbiAgICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICAgIHJlc29sdmUoQnVmZmVyLmNvbmNhdChzdGRvdXQpLnRvU3RyaW5nKCd1dGYtOCcpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG91dCA9IEJ1ZmZlci5jb25jYXQoc3RkZXJyKS50b1N0cmluZygndXRmLTgnKS50cmltKCk7XG4gICAgICAgIHJlamVjdChcbiAgICAgICAgICBuZXcgUHJvY2Vzc0ZhaWxlZChcbiAgICAgICAgICAgIGNvZGUsXG4gICAgICAgICAgICBzaWduYWwsXG4gICAgICAgICAgICBgJHtyZW5kZXJDb21tYW5kTGluZShjb21tYW5kKX0gZXhpdGVkIHdpdGggJHtjb2RlICE9IG51bGwgPyAnZXJyb3IgY29kZScgOiAnc2lnbmFsJ30gJHtjb2RlID8/IHNpZ25hbH06ICR7b3V0fWAsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVNoZWxsT3V0cHV0KFxuICBjaHVuazogQnVmZmVyIHwgc3RyaW5nLFxuICBvcHRpb25zOiBTaGVsbE9wdGlvbnMsXG4gIHNoZWxsRXZlbnRUeXBlOiBTaGVsbEV2ZW50VHlwZSxcbik6IHZvaWQge1xuICBzd2l0Y2ggKG9wdGlvbnMuc3VicHJvY2Vzc091dHB1dERlc3RpbmF0aW9uKSB7XG4gICAgY2FzZSAnaWdub3JlJzpcbiAgICAgIHJldHVybjtcbiAgICBjYXNlICdwdWJsaXNoJzpcbiAgICAgIG9wdGlvbnMuc2hlbGxFdmVudFB1Ymxpc2hlcihzaGVsbEV2ZW50VHlwZSwgY2h1bmsudG9TdHJpbmcoJ3V0Zi04JykpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnc3RkaW8nOlxuICAgIGRlZmF1bHQ6XG4gICAgICBzd2l0Y2ggKHNoZWxsRXZlbnRUeXBlKSB7XG4gICAgICAgIGNhc2UgJ2RhdGFfc3Rkb3V0JzpcbiAgICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShjaHVuayk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2RhdGFfc3RkZXJyJzpcbiAgICAgICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShjaHVuayk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICAgIG9wdGlvbnMuc2hlbGxFdmVudFB1Ymxpc2hlcihzaGVsbEV2ZW50VHlwZSwgY2h1bmsudG9TdHJpbmcoJ3V0Zi04JykpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gIH1cbn1cbmV4cG9ydCB0eXBlIFByb2Nlc3NGYWlsZWRFcnJvciA9IFByb2Nlc3NGYWlsZWQ7XG5cbmNsYXNzIFByb2Nlc3NGYWlsZWQgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyByZWFkb25seSBjb2RlID0gJ1BST0NFU1NfRkFJTEVEJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXhpdENvZGU6IG51bWJlciB8IG51bGwsXG4gICAgcHVibGljIHJlYWRvbmx5IHNpZ25hbDogTm9kZUpTLlNpZ25hbHMgfCBudWxsLFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGdpdmVuIGNvbW1hbmQgbGluZSBhcyBhIHN0cmluZ1xuICpcbiAqIFByb2JhYmx5IG1pc3Npbmcgc29tZSBjYXNlcyBidXQgZ2l2aW5nIGl0IGEgZ29vZCBlZmZvcnQuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckNvbW1hbmRMaW5lKGNtZDogc3RyaW5nW10pIHtcbiAgaWYgKHByb2Nlc3MucGxhdGZvcm0gIT09ICd3aW4zMicpIHtcbiAgICByZXR1cm4gZG9SZW5kZXIoY21kLCBoYXNBbnlDaGFycygnICcsICdcXFxcJywgJyEnLCAnXCInLCBcIidcIiwgJyYnLCAnJCcpLCBwb3NpeEVzY2FwZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGRvUmVuZGVyKGNtZCwgaGFzQW55Q2hhcnMoJyAnLCAnXCInLCAnJicsICdeJywgJyUnKSwgd2luZG93c0VzY2FwZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZW5kZXIgYSBVTklYIGNvbW1hbmQgbGluZVxuICovXG5mdW5jdGlvbiBkb1JlbmRlcihcbiAgY21kOiBzdHJpbmdbXSxcbiAgbmVlZHNFc2NhcGluZzogKHg6IHN0cmluZykgPT4gYm9vbGVhbixcbiAgZG9Fc2NhcGU6ICh4OiBzdHJpbmcpID0+IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIHJldHVybiBjbWQubWFwKCh4KSA9PiAobmVlZHNFc2NhcGluZyh4KSA/IGRvRXNjYXBlKHgpIDogeCkpLmpvaW4oJyAnKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBwcmVkaWNhdGUgdGhhdCBjaGVja3MgaWYgYSBzdHJpbmcgaGFzIGFueSBvZiB0aGUgaW5kaWNhdGVkIGNoYXJzIGluIGl0XG4gKi9cbmZ1bmN0aW9uIGhhc0FueUNoYXJzKC4uLmNoYXJzOiBzdHJpbmdbXSk6ICh4OiBzdHJpbmcpID0+IGJvb2xlYW4ge1xuICByZXR1cm4gKHN0cjogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGNoYXJzLnNvbWUoKGMpID0+IHN0ci5pbmRleE9mKGMpICE9PSAtMSk7XG4gIH07XG59XG5cbi8qKlxuICogRXNjYXBlIGEgc2hlbGwgYXJndW1lbnQgZm9yIFBPU0lYIHNoZWxsc1xuICpcbiAqIFdyYXBwaW5nIGluIHNpbmdsZSBxdW90ZXMgYW5kIGVzY2FwaW5nIHNpbmdsZSBxdW90ZXMgaW5zaWRlIHdpbGwgZG8gaXQgZm9yIHVzLlxuICovXG5mdW5jdGlvbiBwb3NpeEVzY2FwZSh4OiBzdHJpbmcpIHtcbiAgLy8gVHVybiAnIC0+ICdcIidcIidcbiAgeCA9IHgucmVwbGFjZSgvJy9nLCBcIidcXFwiJ1xcXCInXCIpO1xuICByZXR1cm4gYCcke3h9J2A7XG59XG5cbi8qKlxuICogRXNjYXBlIGEgc2hlbGwgYXJndW1lbnQgZm9yIGNtZC5leGVcbiAqXG4gKiBUaGlzIGlzIGhvdyB0byBkbyBpdCByaWdodCwgYnV0IEknbSBub3QgZm9sbG93aW5nIGV2ZXJ5dGhpbmc6XG4gKlxuICogaHR0cHM6Ly9ibG9ncy5tc2RuLm1pY3Jvc29mdC5jb20vdHdpc3R5bGl0dGxlcGFzc2FnZXNhbGxhbGlrZS8yMDExLzA0LzIzL2V2ZXJ5b25lLXF1b3Rlcy1jb21tYW5kLWxpbmUtYXJndW1lbnRzLXRoZS13cm9uZy13YXkvXG4gKi9cbmZ1bmN0aW9uIHdpbmRvd3NFc2NhcGUoeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gRmlyc3Qgc3Vycm91bmQgYnkgZG91YmxlIHF1b3RlcywgaWdub3JlIHRoZSBwYXJ0IGFib3V0IGJhY2tzbGFzaGVzXG4gIHggPSBgXCIke3h9XCJgO1xuICAvLyBOb3cgZXNjYXBlIGFsbCBzcGVjaWFsIGNoYXJhY3RlcnNcbiAgY29uc3Qgc2hlbGxNZXRhID0gbmV3IFNldDxzdHJpbmc+KFsnXCInLCAnJicsICdeJywgJyUnXSk7XG4gIHJldHVybiB4XG4gICAgLnNwbGl0KCcnKVxuICAgIC5tYXAoKGMpID0+IChzaGVsbE1ldGEuaGFzKHgpID8gJ14nICsgYyA6IGMpKVxuICAgIC5qb2luKCcnKTtcbn1cbiJdfQ==
|
package/lib/private/util.d.ts
DELETED
package/lib/private/util.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createCriticalSection = createCriticalSection;
|
|
4
|
-
/**
|
|
5
|
-
* Creates a critical section, ensuring that at most one function can
|
|
6
|
-
* enter the critical section at a time.
|
|
7
|
-
*/
|
|
8
|
-
function createCriticalSection() {
|
|
9
|
-
let lock = Promise.resolve();
|
|
10
|
-
return async (criticalFunction) => {
|
|
11
|
-
const res = lock.then(() => criticalFunction());
|
|
12
|
-
lock = res.catch((e) => e);
|
|
13
|
-
return res;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzREFPQztBQVhEOzs7R0FHRztBQUNILFNBQWdCLHFCQUFxQjtJQUNuQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsT0FBTyxLQUFLLEVBQUUsZ0JBQXFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVzIGEgY3JpdGljYWwgc2VjdGlvbiwgZW5zdXJpbmcgdGhhdCBhdCBtb3N0IG9uZSBmdW5jdGlvbiBjYW5cbiAqIGVudGVyIHRoZSBjcml0aWNhbCBzZWN0aW9uIGF0IGEgdGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNyaXRpY2FsU2VjdGlvbigpIHtcbiAgbGV0IGxvY2sgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgcmV0dXJuIGFzeW5jIChjcml0aWNhbEZ1bmN0aW9uOiAoKSA9PiBQcm9taXNlPHZvaWQ+KSA9PiB7XG4gICAgY29uc3QgcmVzID0gbG9jay50aGVuKCgpID0+IGNyaXRpY2FsRnVuY3Rpb24oKSk7XG4gICAgbG9jayA9IHJlcy5jYXRjaCgoZSkgPT4gZSk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcbn1cbiJdfQ==
|
package/lib/progress.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import type { IManifestEntry } from './asset-manifest';
|
|
2
|
-
import type { ShellEventType } from './private/shell';
|
|
3
|
-
/**
|
|
4
|
-
* A listener for progress events from the publisher
|
|
5
|
-
*/
|
|
6
|
-
export interface IPublishProgressListener {
|
|
7
|
-
/**
|
|
8
|
-
* Asset build event
|
|
9
|
-
*/
|
|
10
|
-
onPublishEvent(type: EventType, event: IPublishProgress): void;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A single event for an asset
|
|
14
|
-
*/
|
|
15
|
-
export declare enum EventType {
|
|
16
|
-
/**
|
|
17
|
-
* Just starting on an asset
|
|
18
|
-
*/
|
|
19
|
-
START = "start",
|
|
20
|
-
/**
|
|
21
|
-
* When an asset is successfully finished
|
|
22
|
-
*/
|
|
23
|
-
SUCCESS = "success",
|
|
24
|
-
/**
|
|
25
|
-
* When an asset failed
|
|
26
|
-
*/
|
|
27
|
-
FAIL = "fail",
|
|
28
|
-
/**
|
|
29
|
-
* Checking whether an asset has already been published
|
|
30
|
-
*/
|
|
31
|
-
CHECK = "check",
|
|
32
|
-
/**
|
|
33
|
-
* The asset was already published
|
|
34
|
-
*/
|
|
35
|
-
FOUND = "found",
|
|
36
|
-
/**
|
|
37
|
-
* The asset was reused locally from a cached version
|
|
38
|
-
*/
|
|
39
|
-
CACHED = "cached",
|
|
40
|
-
/**
|
|
41
|
-
* The asset will be built
|
|
42
|
-
*/
|
|
43
|
-
BUILD = "build",
|
|
44
|
-
/**
|
|
45
|
-
* The asset will be uploaded
|
|
46
|
-
*/
|
|
47
|
-
UPLOAD = "upload",
|
|
48
|
-
/**
|
|
49
|
-
* Another type of detail message
|
|
50
|
-
*/
|
|
51
|
-
DEBUG = "debug",
|
|
52
|
-
/**
|
|
53
|
-
* When a shell command is executed. Emits the the command line arguments given to
|
|
54
|
-
* the subprocess as a string upon shell execution.
|
|
55
|
-
*
|
|
56
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
57
|
-
*/
|
|
58
|
-
SHELL_OPEN = "shell_open",
|
|
59
|
-
/**
|
|
60
|
-
* stdout from a shell command
|
|
61
|
-
*
|
|
62
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
63
|
-
*/
|
|
64
|
-
SHELL_STDOUT = "shell_stdout",
|
|
65
|
-
/**
|
|
66
|
-
* stdout from a shell command
|
|
67
|
-
*
|
|
68
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
69
|
-
*/
|
|
70
|
-
SHELL_STDERR = "shell_stderr",
|
|
71
|
-
/**
|
|
72
|
-
* When a shell command closes. Emits the the command line arguments given to
|
|
73
|
-
* the subprocess as a string upon shell closure.
|
|
74
|
-
*
|
|
75
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
76
|
-
*/
|
|
77
|
-
SHELL_CLOSE = "shell_close"
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* A helper function to convert shell events to asset progress events
|
|
81
|
-
* @param event - a shell event
|
|
82
|
-
* @returns an {@link EventType}
|
|
83
|
-
*/
|
|
84
|
-
export declare function shellEventToEventType(event: ShellEventType): EventType;
|
|
85
|
-
/**
|
|
86
|
-
* Create a ShellEventPublisher for an {@link EventEmitter}
|
|
87
|
-
*
|
|
88
|
-
* Returns a ShellEventPublisher that translates ShellEvents into messages
|
|
89
|
-
* emitted via the EventEmitter. Uses `shellEventToEventType` to translate
|
|
90
|
-
* shell event types to event types
|
|
91
|
-
*/
|
|
92
|
-
export declare function shellEventPublisherFromEventEmitter(eventEmitter: EventEmitter): (event: ShellEventType, message: string) => void;
|
|
93
|
-
export type EventEmitter = (type: EventType, m: string) => void;
|
|
94
|
-
/**
|
|
95
|
-
* Context object for publishing progress
|
|
96
|
-
*/
|
|
97
|
-
export interface IPublishProgress {
|
|
98
|
-
/**
|
|
99
|
-
* Current event message
|
|
100
|
-
*/
|
|
101
|
-
readonly message: string;
|
|
102
|
-
/**
|
|
103
|
-
* Asset currently being packaged (if any)
|
|
104
|
-
*/
|
|
105
|
-
readonly currentAsset?: IManifestEntry;
|
|
106
|
-
/**
|
|
107
|
-
* How far along are we?
|
|
108
|
-
*/
|
|
109
|
-
readonly percentComplete: number;
|
|
110
|
-
/**
|
|
111
|
-
* Abort the current publishing operation
|
|
112
|
-
*/
|
|
113
|
-
abort(): void;
|
|
114
|
-
}
|
package/lib/progress.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventType = void 0;
|
|
4
|
-
exports.shellEventToEventType = shellEventToEventType;
|
|
5
|
-
exports.shellEventPublisherFromEventEmitter = shellEventPublisherFromEventEmitter;
|
|
6
|
-
/**
|
|
7
|
-
* A single event for an asset
|
|
8
|
-
*/
|
|
9
|
-
var EventType;
|
|
10
|
-
(function (EventType) {
|
|
11
|
-
/**
|
|
12
|
-
* Just starting on an asset
|
|
13
|
-
*/
|
|
14
|
-
EventType["START"] = "start";
|
|
15
|
-
/**
|
|
16
|
-
* When an asset is successfully finished
|
|
17
|
-
*/
|
|
18
|
-
EventType["SUCCESS"] = "success";
|
|
19
|
-
/**
|
|
20
|
-
* When an asset failed
|
|
21
|
-
*/
|
|
22
|
-
EventType["FAIL"] = "fail";
|
|
23
|
-
/**
|
|
24
|
-
* Checking whether an asset has already been published
|
|
25
|
-
*/
|
|
26
|
-
EventType["CHECK"] = "check";
|
|
27
|
-
/**
|
|
28
|
-
* The asset was already published
|
|
29
|
-
*/
|
|
30
|
-
EventType["FOUND"] = "found";
|
|
31
|
-
/**
|
|
32
|
-
* The asset was reused locally from a cached version
|
|
33
|
-
*/
|
|
34
|
-
EventType["CACHED"] = "cached";
|
|
35
|
-
/**
|
|
36
|
-
* The asset will be built
|
|
37
|
-
*/
|
|
38
|
-
EventType["BUILD"] = "build";
|
|
39
|
-
/**
|
|
40
|
-
* The asset will be uploaded
|
|
41
|
-
*/
|
|
42
|
-
EventType["UPLOAD"] = "upload";
|
|
43
|
-
/**
|
|
44
|
-
* Another type of detail message
|
|
45
|
-
*/
|
|
46
|
-
EventType["DEBUG"] = "debug";
|
|
47
|
-
/**
|
|
48
|
-
* When a shell command is executed. Emits the the command line arguments given to
|
|
49
|
-
* the subprocess as a string upon shell execution.
|
|
50
|
-
*
|
|
51
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
52
|
-
*/
|
|
53
|
-
EventType["SHELL_OPEN"] = "shell_open";
|
|
54
|
-
/**
|
|
55
|
-
* stdout from a shell command
|
|
56
|
-
*
|
|
57
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
58
|
-
*/
|
|
59
|
-
EventType["SHELL_STDOUT"] = "shell_stdout";
|
|
60
|
-
/**
|
|
61
|
-
* stdout from a shell command
|
|
62
|
-
*
|
|
63
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
64
|
-
*/
|
|
65
|
-
EventType["SHELL_STDERR"] = "shell_stderr";
|
|
66
|
-
/**
|
|
67
|
-
* When a shell command closes. Emits the the command line arguments given to
|
|
68
|
-
* the subprocess as a string upon shell closure.
|
|
69
|
-
*
|
|
70
|
-
* Only emitted when subprocessOutputDestination is set to 'publish'
|
|
71
|
-
*/
|
|
72
|
-
EventType["SHELL_CLOSE"] = "shell_close";
|
|
73
|
-
})(EventType || (exports.EventType = EventType = {}));
|
|
74
|
-
/**
|
|
75
|
-
* A helper function to convert shell events to asset progress events
|
|
76
|
-
* @param event - a shell event
|
|
77
|
-
* @returns an {@link EventType}
|
|
78
|
-
*/
|
|
79
|
-
function shellEventToEventType(event) {
|
|
80
|
-
switch (event) {
|
|
81
|
-
case 'open':
|
|
82
|
-
return EventType.SHELL_OPEN;
|
|
83
|
-
case 'close':
|
|
84
|
-
return EventType.SHELL_CLOSE;
|
|
85
|
-
case 'data_stdout':
|
|
86
|
-
return EventType.SHELL_STDOUT;
|
|
87
|
-
case 'data_stderr':
|
|
88
|
-
return EventType.SHELL_STDERR;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Create a ShellEventPublisher for an {@link EventEmitter}
|
|
93
|
-
*
|
|
94
|
-
* Returns a ShellEventPublisher that translates ShellEvents into messages
|
|
95
|
-
* emitted via the EventEmitter. Uses `shellEventToEventType` to translate
|
|
96
|
-
* shell event types to event types
|
|
97
|
-
*/
|
|
98
|
-
function shellEventPublisherFromEventEmitter(eventEmitter) {
|
|
99
|
-
return (event, message) => {
|
|
100
|
-
const eventType = shellEventToEventType(event);
|
|
101
|
-
eventEmitter(eventType, message);
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrR0Esc0RBV0M7QUFTRCxrRkFLQztBQTlHRDs7R0FFRztBQUNILElBQVksU0EyRVg7QUEzRUQsV0FBWSxTQUFTO0lBQ25COztPQUVHO0lBQ0gsNEJBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsZ0NBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwwQkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCw0QkFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCw0QkFBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCw4QkFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDRCQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDhCQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsNEJBQWUsQ0FBQTtJQUVmOzs7OztPQUtHO0lBQ0gsc0NBQXlCLENBQUE7SUFFekI7Ozs7T0FJRztJQUNILDBDQUE2QixDQUFBO0lBRTdCOzs7O09BSUc7SUFDSCwwQ0FBNkIsQ0FBQTtJQUU3Qjs7Ozs7T0FLRztJQUNILHdDQUEyQixDQUFBO0FBQzdCLENBQUMsRUEzRVcsU0FBUyx5QkFBVCxTQUFTLFFBMkVwQjtBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFxQjtJQUN6RCxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxNQUFNO1lBQ1QsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDO1FBQzlCLEtBQUssT0FBTztZQUNWLE9BQU8sU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUMvQixLQUFLLGFBQWE7WUFDaEIsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQ2hDLEtBQUssYUFBYTtZQUNoQixPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDbEMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixtQ0FBbUMsQ0FBQyxZQUEwQjtJQUM1RSxPQUFPLENBQUMsS0FBcUIsRUFBRSxPQUFlLEVBQUUsRUFBRTtRQUNoRCxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElNYW5pZmVzdEVudHJ5IH0gZnJvbSAnLi9hc3NldC1tYW5pZmVzdCc7XG5pbXBvcnQgdHlwZSB7IFNoZWxsRXZlbnRUeXBlIH0gZnJvbSAnLi9wcml2YXRlL3NoZWxsJztcblxuLyoqXG4gKiBBIGxpc3RlbmVyIGZvciBwcm9ncmVzcyBldmVudHMgZnJvbSB0aGUgcHVibGlzaGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVB1Ymxpc2hQcm9ncmVzc0xpc3RlbmVyIHtcbiAgLyoqXG4gICAqIEFzc2V0IGJ1aWxkIGV2ZW50XG4gICAqL1xuICBvblB1Ymxpc2hFdmVudCh0eXBlOiBFdmVudFR5cGUsIGV2ZW50OiBJUHVibGlzaFByb2dyZXNzKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBldmVudCBmb3IgYW4gYXNzZXRcbiAqL1xuZXhwb3J0IGVudW0gRXZlbnRUeXBlIHtcbiAgLyoqXG4gICAqIEp1c3Qgc3RhcnRpbmcgb24gYW4gYXNzZXRcbiAgICovXG4gIFNUQVJUID0gJ3N0YXJ0JyxcblxuICAvKipcbiAgICogV2hlbiBhbiBhc3NldCBpcyBzdWNjZXNzZnVsbHkgZmluaXNoZWRcbiAgICovXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG5cbiAgLyoqXG4gICAqIFdoZW4gYW4gYXNzZXQgZmFpbGVkXG4gICAqL1xuICBGQUlMID0gJ2ZhaWwnLFxuXG4gIC8qKlxuICAgKiBDaGVja2luZyB3aGV0aGVyIGFuIGFzc2V0IGhhcyBhbHJlYWR5IGJlZW4gcHVibGlzaGVkXG4gICAqL1xuICBDSEVDSyA9ICdjaGVjaycsXG5cbiAgLyoqXG4gICAqIFRoZSBhc3NldCB3YXMgYWxyZWFkeSBwdWJsaXNoZWRcbiAgICovXG4gIEZPVU5EID0gJ2ZvdW5kJyxcblxuICAvKipcbiAgICogVGhlIGFzc2V0IHdhcyByZXVzZWQgbG9jYWxseSBmcm9tIGEgY2FjaGVkIHZlcnNpb25cbiAgICovXG4gIENBQ0hFRCA9ICdjYWNoZWQnLFxuXG4gIC8qKlxuICAgKiBUaGUgYXNzZXQgd2lsbCBiZSBidWlsdFxuICAgKi9cbiAgQlVJTEQgPSAnYnVpbGQnLFxuXG4gIC8qKlxuICAgKiBUaGUgYXNzZXQgd2lsbCBiZSB1cGxvYWRlZFxuICAgKi9cbiAgVVBMT0FEID0gJ3VwbG9hZCcsXG5cbiAgLyoqXG4gICAqIEFub3RoZXIgdHlwZSBvZiBkZXRhaWwgbWVzc2FnZVxuICAgKi9cbiAgREVCVUcgPSAnZGVidWcnLFxuXG4gIC8qKlxuICAgKiBXaGVuIGEgc2hlbGwgY29tbWFuZCBpcyBleGVjdXRlZC4gRW1pdHMgdGhlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGdpdmVuIHRvXG4gICAqIHRoZSBzdWJwcm9jZXNzIGFzIGEgc3RyaW5nIHVwb24gc2hlbGwgZXhlY3V0aW9uLlxuICAgKlxuICAgKiBPbmx5IGVtaXR0ZWQgd2hlbiBzdWJwcm9jZXNzT3V0cHV0RGVzdGluYXRpb24gaXMgc2V0IHRvICdwdWJsaXNoJ1xuICAgKi9cbiAgU0hFTExfT1BFTiA9ICdzaGVsbF9vcGVuJyxcblxuICAvKipcbiAgICogc3Rkb3V0IGZyb20gYSBzaGVsbCBjb21tYW5kXG4gICAqXG4gICAqIE9ubHkgZW1pdHRlZCB3aGVuIHN1YnByb2Nlc3NPdXRwdXREZXN0aW5hdGlvbiBpcyBzZXQgdG8gJ3B1Ymxpc2gnXG4gICAqL1xuICBTSEVMTF9TVERPVVQgPSAnc2hlbGxfc3Rkb3V0JyxcblxuICAvKipcbiAgICogc3Rkb3V0IGZyb20gYSBzaGVsbCBjb21tYW5kXG4gICAqXG4gICAqIE9ubHkgZW1pdHRlZCB3aGVuIHN1YnByb2Nlc3NPdXRwdXREZXN0aW5hdGlvbiBpcyBzZXQgdG8gJ3B1Ymxpc2gnXG4gICAqL1xuICBTSEVMTF9TVERFUlIgPSAnc2hlbGxfc3RkZXJyJyxcblxuICAvKipcbiAgICogV2hlbiBhIHNoZWxsIGNvbW1hbmQgY2xvc2VzLiBFbWl0cyB0aGUgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgZ2l2ZW4gdG9cbiAgICogdGhlIHN1YnByb2Nlc3MgYXMgYSBzdHJpbmcgdXBvbiBzaGVsbCBjbG9zdXJlLlxuICAgKlxuICAgKiBPbmx5IGVtaXR0ZWQgd2hlbiBzdWJwcm9jZXNzT3V0cHV0RGVzdGluYXRpb24gaXMgc2V0IHRvICdwdWJsaXNoJ1xuICAgKi9cbiAgU0hFTExfQ0xPU0UgPSAnc2hlbGxfY2xvc2UnLFxufVxuXG4vKipcbiAqIEEgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgc2hlbGwgZXZlbnRzIHRvIGFzc2V0IHByb2dyZXNzIGV2ZW50c1xuICogQHBhcmFtIGV2ZW50IC0gYSBzaGVsbCBldmVudFxuICogQHJldHVybnMgYW4ge0BsaW5rIEV2ZW50VHlwZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoZWxsRXZlbnRUb0V2ZW50VHlwZShldmVudDogU2hlbGxFdmVudFR5cGUpOiBFdmVudFR5cGUge1xuICBzd2l0Y2ggKGV2ZW50KSB7XG4gICAgY2FzZSAnb3Blbic6XG4gICAgICByZXR1cm4gRXZlbnRUeXBlLlNIRUxMX09QRU47XG4gICAgY2FzZSAnY2xvc2UnOlxuICAgICAgcmV0dXJuIEV2ZW50VHlwZS5TSEVMTF9DTE9TRTtcbiAgICBjYXNlICdkYXRhX3N0ZG91dCc6XG4gICAgICByZXR1cm4gRXZlbnRUeXBlLlNIRUxMX1NURE9VVDtcbiAgICBjYXNlICdkYXRhX3N0ZGVycic6XG4gICAgICByZXR1cm4gRXZlbnRUeXBlLlNIRUxMX1NUREVSUjtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIFNoZWxsRXZlbnRQdWJsaXNoZXIgZm9yIGFuIHtAbGluayBFdmVudEVtaXR0ZXJ9XG4gKlxuICogUmV0dXJucyBhIFNoZWxsRXZlbnRQdWJsaXNoZXIgdGhhdCB0cmFuc2xhdGVzIFNoZWxsRXZlbnRzIGludG8gbWVzc2FnZXNcbiAqIGVtaXR0ZWQgdmlhIHRoZSBFdmVudEVtaXR0ZXIuIFVzZXMgYHNoZWxsRXZlbnRUb0V2ZW50VHlwZWAgdG8gdHJhbnNsYXRlXG4gKiBzaGVsbCBldmVudCB0eXBlcyB0byBldmVudCB0eXBlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2hlbGxFdmVudFB1Ymxpc2hlckZyb21FdmVudEVtaXR0ZXIoZXZlbnRFbWl0dGVyOiBFdmVudEVtaXR0ZXIpIHtcbiAgcmV0dXJuIChldmVudDogU2hlbGxFdmVudFR5cGUsIG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGV2ZW50VHlwZSA9IHNoZWxsRXZlbnRUb0V2ZW50VHlwZShldmVudCk7XG4gICAgZXZlbnRFbWl0dGVyKGV2ZW50VHlwZSwgbWVzc2FnZSk7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEV2ZW50RW1pdHRlciA9ICh0eXBlOiBFdmVudFR5cGUsIG06IHN0cmluZykgPT4gdm9pZDtcblxuLyoqXG4gKiBDb250ZXh0IG9iamVjdCBmb3IgcHVibGlzaGluZyBwcm9ncmVzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElQdWJsaXNoUHJvZ3Jlc3Mge1xuICAvKipcbiAgICogQ3VycmVudCBldmVudCBtZXNzYWdlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFzc2V0IGN1cnJlbnRseSBiZWluZyBwYWNrYWdlZCAoaWYgYW55KVxuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudEFzc2V0PzogSU1hbmlmZXN0RW50cnk7XG5cbiAgLyoqXG4gICAqIEhvdyBmYXIgYWxvbmcgYXJlIHdlP1xuICAgKi9cbiAgcmVhZG9ubHkgcGVyY2VudENvbXBsZXRlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFib3J0IHRoZSBjdXJyZW50IHB1Ymxpc2hpbmcgb3BlcmF0aW9uXG4gICAqL1xuICBhYm9ydCgpOiB2b2lkO1xufVxuIl19
|
package/lib/publishing.d.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import type { AssetManifest, IManifestEntry } from './asset-manifest';
|
|
2
|
-
import type { IAws } from './aws';
|
|
3
|
-
import type { SubprocessOutputDestination, PublishOptions } from './private/asset-handler';
|
|
4
|
-
import type { IPublishProgress, IPublishProgressListener } from './progress';
|
|
5
|
-
export interface AssetPublishingOptions {
|
|
6
|
-
/**
|
|
7
|
-
* Entry point for AWS client
|
|
8
|
-
*/
|
|
9
|
-
readonly aws: IAws;
|
|
10
|
-
/**
|
|
11
|
-
* Listener for progress events
|
|
12
|
-
*
|
|
13
|
-
* @default No listener
|
|
14
|
-
*/
|
|
15
|
-
readonly progressListener?: IPublishProgressListener;
|
|
16
|
-
/**
|
|
17
|
-
* Whether to throw at the end if there were errors
|
|
18
|
-
*
|
|
19
|
-
* @default true
|
|
20
|
-
*/
|
|
21
|
-
readonly throwOnError?: boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Whether to publish in parallel, when 'publish()' is called
|
|
24
|
-
*
|
|
25
|
-
* @default false
|
|
26
|
-
*/
|
|
27
|
-
readonly publishInParallel?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Whether to build assets, when 'publish()' is called
|
|
30
|
-
*
|
|
31
|
-
* @default true
|
|
32
|
-
*/
|
|
33
|
-
readonly buildAssets?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Whether to publish assets, when 'publish()' is called
|
|
36
|
-
*
|
|
37
|
-
* @default true
|
|
38
|
-
*/
|
|
39
|
-
readonly publishAssets?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated use {@link #subprocessOutputDestination} instead
|
|
42
|
-
*/
|
|
43
|
-
readonly quiet?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Where to send output of a subprocesses
|
|
46
|
-
*
|
|
47
|
-
* @default 'stdio'
|
|
48
|
-
*/
|
|
49
|
-
subprocessOutputDestination?: SubprocessOutputDestination;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* A failure to publish an asset
|
|
53
|
-
*/
|
|
54
|
-
export interface FailedAsset {
|
|
55
|
-
/**
|
|
56
|
-
* The asset that failed to publish
|
|
57
|
-
*/
|
|
58
|
-
readonly asset: IManifestEntry;
|
|
59
|
-
/**
|
|
60
|
-
* The failure that occurred
|
|
61
|
-
*/
|
|
62
|
-
readonly error: Error;
|
|
63
|
-
}
|
|
64
|
-
export declare class AssetPublishing implements IPublishProgress {
|
|
65
|
-
private readonly manifest;
|
|
66
|
-
private readonly options;
|
|
67
|
-
/**
|
|
68
|
-
* The message for the IPublishProgress interface
|
|
69
|
-
*/
|
|
70
|
-
message: string;
|
|
71
|
-
/**
|
|
72
|
-
* The current asset for the IPublishProgress interface
|
|
73
|
-
*/
|
|
74
|
-
currentAsset?: IManifestEntry;
|
|
75
|
-
readonly failures: FailedAsset[];
|
|
76
|
-
private readonly assets;
|
|
77
|
-
private readonly totalOperations;
|
|
78
|
-
private completedOperations;
|
|
79
|
-
private aborted;
|
|
80
|
-
private readonly handlerHost;
|
|
81
|
-
private readonly publishInParallel;
|
|
82
|
-
private readonly buildAssets;
|
|
83
|
-
private readonly publishAssets;
|
|
84
|
-
private readonly handlerCache;
|
|
85
|
-
constructor(manifest: AssetManifest, options: AssetPublishingOptions);
|
|
86
|
-
/**
|
|
87
|
-
* Publish all assets from the manifest
|
|
88
|
-
*/
|
|
89
|
-
publish(options?: PublishOptions): Promise<void>;
|
|
90
|
-
/**
|
|
91
|
-
* Build a single asset from the manifest
|
|
92
|
-
*/
|
|
93
|
-
buildEntry(asset: IManifestEntry): Promise<boolean>;
|
|
94
|
-
/**
|
|
95
|
-
* Publish a single asset from the manifest
|
|
96
|
-
*/
|
|
97
|
-
publishEntry(asset: IManifestEntry, options?: PublishOptions): Promise<boolean>;
|
|
98
|
-
/**
|
|
99
|
-
* Return whether a single asset is published
|
|
100
|
-
*/
|
|
101
|
-
isEntryPublished(asset: IManifestEntry): Promise<boolean>;
|
|
102
|
-
/**
|
|
103
|
-
* publish an asset (used by 'publish()')
|
|
104
|
-
* @param asset - The asset to publish
|
|
105
|
-
* @returns false when publishing should stop
|
|
106
|
-
*/
|
|
107
|
-
private publishAsset;
|
|
108
|
-
get percentComplete(): number;
|
|
109
|
-
abort(): void;
|
|
110
|
-
get hasFailures(): boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Publish a progress event to the listener, if present.
|
|
113
|
-
*
|
|
114
|
-
* Returns whether an abort is requested. Helper to get rid of repetitive code in publish().
|
|
115
|
-
*/
|
|
116
|
-
private progressEvent;
|
|
117
|
-
private assetHandler;
|
|
118
|
-
}
|