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.
Files changed (48) hide show
  1. package/README.md +4 -4
  2. package/THIRD_PARTY_LICENSES +18764 -0
  3. package/bin/cdk-assets.js +109830 -62
  4. package/bin/docker-credential-cdk-assets.js +4 -4
  5. package/bin/list.js +3 -3
  6. package/bin/logging.js +3 -1
  7. package/bin/publish.js +6 -6
  8. package/package.json +11 -30
  9. package/lib/asset-manifest.d.ts +0 -186
  10. package/lib/asset-manifest.js +0 -270
  11. package/lib/aws-types.d.ts +0 -1666
  12. package/lib/aws-types.js +0 -144
  13. package/lib/aws.d.ts +0 -71
  14. package/lib/aws.js +0 -131
  15. package/lib/index.d.ts +0 -4
  16. package/lib/index.js +0 -21
  17. package/lib/private/archive.d.ts +0 -3
  18. package/lib/private/archive.js +0 -87
  19. package/lib/private/asset-handler.d.ts +0 -60
  20. package/lib/private/asset-handler.js +0 -3
  21. package/lib/private/docker-credentials.d.ts +0 -35
  22. package/lib/private/docker-credentials.js +0 -90
  23. package/lib/private/docker.d.ts +0 -98
  24. package/lib/private/docker.js +0 -235
  25. package/lib/private/fs-extra.d.ts +0 -3
  26. package/lib/private/fs-extra.js +0 -37
  27. package/lib/private/handlers/client-options.d.ts +0 -3
  28. package/lib/private/handlers/client-options.js +0 -12
  29. package/lib/private/handlers/container-images.d.ts +0 -22
  30. package/lib/private/handlers/container-images.js +0 -224
  31. package/lib/private/handlers/files.d.ts +0 -14
  32. package/lib/private/handlers/files.js +0 -289
  33. package/lib/private/handlers/index.d.ts +0 -3
  34. package/lib/private/handlers/index.js +0 -16
  35. package/lib/private/p-limit.d.ts +0 -10
  36. package/lib/private/p-limit.js +0 -51
  37. package/lib/private/placeholders.d.ts +0 -10
  38. package/lib/private/placeholders.js +0 -34
  39. package/lib/private/shell.d.ts +0 -24
  40. package/lib/private/shell.js +0 -131
  41. package/lib/private/util.d.ts +0 -5
  42. package/lib/private/util.js +0 -16
  43. package/lib/progress.d.ts +0 -114
  44. package/lib/progress.js +0 -104
  45. package/lib/publishing.d.ts +0 -118
  46. package/lib/publishing.js +0 -193
  47. package/scripts/manual-test-manifest.json +0 -12
  48. package/scripts/manual-test.sh +0 -22
@@ -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==
@@ -1,5 +0,0 @@
1
- /**
2
- * Creates a critical section, ensuring that at most one function can
3
- * enter the critical section at a time.
4
- */
5
- export declare function createCriticalSection(): (criticalFunction: () => Promise<void>) => Promise<void>;
@@ -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
@@ -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
- }