jsii-release 0.2.674 → 0.2.676

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 (36) hide show
  1. package/.gitattributes +1 -1
  2. package/.projenrc.ts +25 -10
  3. package/README.md +27 -0
  4. package/bin/publib-ca +2 -0
  5. package/lib/bin/publib-ca.d.ts +1 -0
  6. package/lib/bin/publib-ca.js +154 -0
  7. package/lib/codeartifact/codeartifact-cli.d.ts +31 -0
  8. package/lib/codeartifact/codeartifact-cli.js +133 -0
  9. package/lib/codeartifact/codeartifact-repo.d.ts +69 -0
  10. package/lib/codeartifact/codeartifact-repo.js +299 -0
  11. package/lib/codeartifact/display.d.ts +1 -0
  12. package/lib/codeartifact/display.js +11 -0
  13. package/lib/codeartifact/files.d.ts +15 -0
  14. package/lib/codeartifact/files.js +104 -0
  15. package/lib/codeartifact/shell.d.ts +51 -0
  16. package/lib/codeartifact/shell.js +132 -0
  17. package/lib/codeartifact/staging/maven.d.ts +5 -0
  18. package/lib/codeartifact/staging/maven.js +120 -0
  19. package/lib/codeartifact/staging/npm.d.ts +4 -0
  20. package/lib/codeartifact/staging/npm.js +84 -0
  21. package/lib/codeartifact/staging/nuget.d.ts +4 -0
  22. package/lib/codeartifact/staging/nuget.js +76 -0
  23. package/lib/codeartifact/staging/parallel-shell.d.ts +6 -0
  24. package/lib/codeartifact/staging/parallel-shell.js +49 -0
  25. package/lib/codeartifact/staging/pip.d.ts +4 -0
  26. package/lib/codeartifact/staging/pip.js +52 -0
  27. package/lib/codeartifact/usage-dir.d.ts +55 -0
  28. package/lib/codeartifact/usage-dir.js +160 -0
  29. package/lib/help/corking.d.ts +15 -0
  30. package/lib/help/corking.js +57 -0
  31. package/lib/help/shell.d.ts +4 -0
  32. package/lib/help/shell.js +4 -2
  33. package/lib/help/sleep.d.ts +1 -0
  34. package/lib/help/sleep.js +8 -0
  35. package/package.json +16 -2
  36. package/package.json.bak +16 -2
@@ -0,0 +1,55 @@
1
+ export declare const DEFAULT_USAGE_DIR: string;
2
+ /**
3
+ * The usage directory is where we write per-session config files to access the CodeArtifact repository.
4
+ *
5
+ * Some config files may be written in a system-global location, but they will not be active unless the
6
+ * contents of this directory have been sourced/copied into the current terminal.
7
+ *
8
+ * CONTRACT
9
+ *
10
+ * There are two special entries:
11
+ *
12
+ * - `env`, a file with `key=value` entries for environment variables to set.
13
+ * - `cwd/`, a directory with files that need to be copied into the current directory before each command.
14
+ *
15
+ * Other than these, code may write tempfiles to this directory if it wants, but there is no meaning
16
+ * implied for other files.
17
+ */
18
+ export declare class UsageDir {
19
+ readonly directory: string;
20
+ static default(): UsageDir;
21
+ readonly envFile: string;
22
+ readonly cwdDir: string;
23
+ private constructor();
24
+ delete(): Promise<void>;
25
+ /**
26
+ * Create a fresh empty directory, with helper scripts
27
+ */
28
+ reset(): Promise<void>;
29
+ /**
30
+ * Set the expiration time of the current settings
31
+ */
32
+ setExpirationTimeMs(timestamp: number): Promise<void>;
33
+ /**
34
+ * Add settings to the environment variables
35
+ */
36
+ addToEnv(settings: Record<string, string>): Promise<void>;
37
+ /**
38
+ * Return the current environment variables
39
+ */
40
+ currentEnv(): Promise<Record<string, string>>;
41
+ cwdFile(filename: string): string;
42
+ /**
43
+ * Activate in the current process (update process.env), copy the cwd/ directory to the current directory
44
+ */
45
+ activateInCurrentProcess(): Promise<void>;
46
+ copySelectCwdFileHere(...filenames: string[]): Promise<void>;
47
+ putFile(filename: string, contents: string): Promise<string>;
48
+ putCwdFile(filename: string, contents: string): Promise<void>;
49
+ putJson(key: string, data: any): Promise<void>;
50
+ readJson<A>(key: string): Promise<A | undefined>;
51
+ /**
52
+ * Print to the console on how to activate these settings
53
+ */
54
+ advertise(): void;
55
+ }
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.UsageDir = exports.DEFAULT_USAGE_DIR = void 0;
27
+ const path = __importStar(require("path"));
28
+ const fs = __importStar(require("fs-extra"));
29
+ const files_1 = require("./files");
30
+ exports.DEFAULT_USAGE_DIR = path.join((0, files_1.homeDir)(), '.publib-ca/usage');
31
+ /**
32
+ * The usage directory is where we write per-session config files to access the CodeArtifact repository.
33
+ *
34
+ * Some config files may be written in a system-global location, but they will not be active unless the
35
+ * contents of this directory have been sourced/copied into the current terminal.
36
+ *
37
+ * CONTRACT
38
+ *
39
+ * There are two special entries:
40
+ *
41
+ * - `env`, a file with `key=value` entries for environment variables to set.
42
+ * - `cwd/`, a directory with files that need to be copied into the current directory before each command.
43
+ *
44
+ * Other than these, code may write tempfiles to this directory if it wants, but there is no meaning
45
+ * implied for other files.
46
+ */
47
+ class UsageDir {
48
+ static default() {
49
+ return new UsageDir(exports.DEFAULT_USAGE_DIR);
50
+ }
51
+ constructor(directory) {
52
+ this.directory = directory;
53
+ this.envFile = path.join(this.directory, 'env');
54
+ this.cwdDir = path.join(this.directory, 'cwd');
55
+ }
56
+ async delete() {
57
+ if (await fs.pathExists(this.directory)) {
58
+ await fs.remove(this.directory);
59
+ }
60
+ }
61
+ /**
62
+ * Create a fresh empty directory, with helper scripts
63
+ */
64
+ async reset() {
65
+ await this.delete();
66
+ await fs.mkdirp(path.join(this.directory, 'cwd'));
67
+ await fs.writeFile(path.join(this.directory, 'env'), '', { encoding: 'utf-8' });
68
+ await this.addToEnv({
69
+ CWD_FILES_DIR: path.join(this.directory, 'cwd'),
70
+ });
71
+ // Write a bash helper to load these settings
72
+ await fs.writeFile(path.join(this.directory, 'activate.bash'), [
73
+ `while read -u10 line; do [[ -z $line ]] || export "$line"; done 10<${this.directory}/env`,
74
+ 'cp -R $CWD_FILES_DIR/ .', // Copy files from directory even if it is empty
75
+ ].join('\n'), { encoding: 'utf-8' });
76
+ }
77
+ /**
78
+ * Set the expiration time of the current settings
79
+ */
80
+ async setExpirationTimeMs(timestamp) {
81
+ await this.addToEnv({
82
+ EXPIRATION_TIME_MS: `${timestamp}`,
83
+ });
84
+ }
85
+ /**
86
+ * Add settings to the environment variables
87
+ */
88
+ async addToEnv(settings) {
89
+ const lines = await (0, files_1.loadLines)(this.envFile);
90
+ for (const [k, v] of Object.entries(settings)) {
91
+ (0, files_1.updateIniKey)(lines, k, v);
92
+ }
93
+ await (0, files_1.writeLines)(this.envFile, lines);
94
+ }
95
+ /**
96
+ * Return the current environment variables
97
+ */
98
+ async currentEnv() {
99
+ const lines = await (0, files_1.loadLines)(this.envFile);
100
+ const splitter = /^([a-zA-Z0-9_-]+)\s*=\s*(.*)$/;
101
+ const ret = {};
102
+ for (const line of lines) {
103
+ const m = line.match(splitter);
104
+ if (m) {
105
+ ret[m[1]] = m[2];
106
+ }
107
+ }
108
+ return ret;
109
+ }
110
+ cwdFile(filename) {
111
+ return path.join(this.cwdDir, filename);
112
+ }
113
+ /**
114
+ * Activate in the current process (update process.env), copy the cwd/ directory to the current directory
115
+ */
116
+ async activateInCurrentProcess() {
117
+ for (const [k, v] of Object.entries(await this.currentEnv())) {
118
+ process.env[k] = v;
119
+ }
120
+ await (0, files_1.copyDirectoryContents)(this.cwdDir, '.');
121
+ }
122
+ async copySelectCwdFileHere(...filenames) {
123
+ for (const file of filenames) {
124
+ await fs.copyFile(path.join(this.cwdDir, file), file);
125
+ }
126
+ }
127
+ async putFile(filename, contents) {
128
+ const fileName = path.join(this.directory, filename);
129
+ await (0, files_1.writeFile)(fileName, contents);
130
+ return fileName;
131
+ }
132
+ async putCwdFile(filename, contents) {
133
+ await (0, files_1.writeFile)(path.join(this.cwdDir, filename), contents);
134
+ }
135
+ async putJson(key, data) {
136
+ await (0, files_1.writeFile)(path.join(this.directory, key + '.json'), JSON.stringify(data, undefined, 2));
137
+ }
138
+ async readJson(key) {
139
+ try {
140
+ return await fs.readJson(path.join(this.directory, key + '.json'));
141
+ }
142
+ catch (e) {
143
+ if (e.code === 'ENOENT') {
144
+ return undefined;
145
+ }
146
+ throw e;
147
+ }
148
+ }
149
+ /**
150
+ * Print to the console on how to activate these settings
151
+ */
152
+ advertise() {
153
+ // eslint-disable-next-line no-console
154
+ console.log('To activate these settings in the current bash shell:');
155
+ // eslint-disable-next-line no-console
156
+ console.log(` source ${this.directory}/activate.bash`);
157
+ }
158
+ }
159
+ exports.UsageDir = UsageDir;
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtZGlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvZGVhcnRpZmFjdC91c2FnZS1kaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLG1DQUF5RztBQUU1RixRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBQSxlQUFPLEdBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBRTFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQWEsUUFBUTtJQUNaLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU8sSUFBSSxRQUFRLENBQUMseUJBQWlCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBS0QsWUFBb0MsU0FBaUI7UUFBakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDakIsSUFBSSxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxD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LENBQUM7U0FDVDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVM7UUFDZCxzQ0FBc0M7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQ3JFLHNDQUFzQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFwSUQsNEJBb0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IGNvcHlEaXJlY3RvcnlDb250ZW50cywgaG9tZURpciwgbG9hZExpbmVzLCB1cGRhdGVJbmlLZXksIHdyaXRlRmlsZSwgd3JpdGVMaW5lcyB9IGZyb20gJy4vZmlsZXMnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9VU0FHRV9ESVIgPSBwYXRoLmpvaW4oaG9tZURpcigpLCAnLnB1YmxpYi1jYS91c2FnZScpO1xuXG4vKipcbiAqIFRoZSB1c2FnZSBkaXJlY3RvcnkgaXMgd2hlcmUgd2Ugd3JpdGUgcGVyLXNlc3Npb24gY29uZmlnIGZpbGVzIHRvIGFjY2VzcyB0aGUgQ29kZUFydGlmYWN0IHJlcG9zaXRvcnkuXG4gKlxuICogU29tZSBjb25maWcgZmlsZXMgbWF5IGJlIHdyaXR0ZW4gaW4gYSBzeXN0ZW0tZ2xvYmFsIGxvY2F0aW9uLCBidXQgdGhleSB3aWxsIG5vdCBiZSBhY3RpdmUgdW5sZXNzIHRoZVxuICogY29udGVudHMgb2YgdGhpcyBkaXJlY3RvcnkgaGF2ZSBiZWVuIHNvdXJjZWQvY29waWVkIGludG8gdGhlIGN1cnJlbnQgdGVybWluYWwuXG4gKlxuICogQ09OVFJBQ1RcbiAqXG4gKiBUaGVyZSBhcmUgdHdvIHNwZWNpYWwgZW50cmllczpcbiAqXG4gKiAtIGBlbnZgLCBhIGZpbGUgd2l0aCBga2V5PXZhbHVlYCBlbnRyaWVzIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gIHNldC5cbiAqIC0gYGN3ZC9gLCBhIGRpcmVjdG9yeSB3aXRoIGZpbGVzIHRoYXQgbmVlZCB0byBiZSBjb3BpZWQgaW50byB0aGUgY3VycmVudCBkaXJlY3RvcnkgYmVmb3JlIGVhY2ggY29tbWFuZC5cbiAqXG4gKiBPdGhlciB0aGFuIHRoZXNlLCBjb2RlIG1heSB3cml0ZSB0ZW1wZmlsZXMgdG8gdGhpcyBkaXJlY3RvcnkgaWYgaXQgd2FudHMsIGJ1dCB0aGVyZSBpcyBubyBtZWFuaW5nXG4gKiBpbXBsaWVkIGZvciBvdGhlciBmaWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFVzYWdlRGlyIHtcbiAgcHVibGljIHN0YXRpYyBkZWZhdWx0KCkge1xuICAgIHJldHVybiBuZXcgVXNhZ2VEaXIoREVGQVVMVF9VU0FHRV9ESVIpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGVudkZpbGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGN3ZERpcjogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nKSB7XG4gICAgdGhpcy5lbnZGaWxlID0gcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCAnZW52Jyk7XG4gICAgdGhpcy5jd2REaXIgPSBwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnksICdjd2QnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGUoKSB7XG4gICAgaWYgKGF3YWl0IGZzLnBhdGhFeGlzdHModGhpcy5kaXJlY3RvcnkpKSB7XG4gICAgICBhd2FpdCBmcy5yZW1vdmUodGhpcy5kaXJlY3RvcnkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBmcmVzaCBlbXB0eSBkaXJlY3RvcnksIHdpdGggaGVscGVyIHNjcmlwdHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyByZXNldCgpIHtcbiAgICBhd2FpdCB0aGlzLmRlbGV0ZSgpO1xuICAgIGF3YWl0IGZzLm1rZGlycChwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnksICdjd2QnKSk7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSwgJ2VudicpLCAnJywgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcblxuICAgIGF3YWl0IHRoaXMuYWRkVG9FbnYoe1xuICAgICAgQ1dEX0ZJTEVTX0RJUjogcGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCAnY3dkJyksXG4gICAgfSk7XG5cbiAgICAvLyBXcml0ZSBhIGJhc2ggaGVscGVyIHRvIGxvYWQgdGhlc2Ugc2V0dGluZ3NcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aC5qb2luKHRoaXMuZGlyZWN0b3J5LCAnYWN0aXZhdGUuYmFzaCcpLCBbXG4gICAgICBgd2hpbGUgcmVhZCAtdTEwIGxpbmU7IGRvIFtbIC16ICRsaW5lIF1dIHx8IGV4cG9ydCBcIiRsaW5lXCI7IGRvbmUgMTA8JHt0aGlzLmRpcmVjdG9yeX0vZW52YCxcbiAgICAgICdjcCAtUiAkQ1dEX0ZJTEVTX0RJUi8gLicsIC8vIENvcHkgZmlsZXMgZnJvbSBkaXJlY3RvcnkgZXZlbiBpZiBpdCBpcyBlbXB0eVxuICAgIF0uam9pbignXFxuJyksIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBleHBpcmF0aW9uIHRpbWUgb2YgdGhlIGN1cnJlbnQgc2V0dGluZ3NcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRFeHBpcmF0aW9uVGltZU1zKHRpbWVzdGFtcDogbnVtYmVyKSB7XG4gICAgYXdhaXQgdGhpcy5hZGRUb0Vudih7XG4gICAgICBFWFBJUkFUSU9OX1RJTUVfTVM6IGAke3RpbWVzdGFtcH1gLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzZXR0aW5ncyB0byB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkVG9FbnYoc2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICBjb25zdCBsaW5lcyA9IGF3YWl0IGxvYWRMaW5lcyh0aGlzLmVudkZpbGUpO1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHNldHRpbmdzKSkge1xuICAgICAgdXBkYXRlSW5pS2V5KGxpbmVzLCBrLCB2KTtcbiAgICB9XG4gICAgYXdhaXQgd3JpdGVMaW5lcyh0aGlzLmVudkZpbGUsIGxpbmVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3VycmVudEVudigpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICBjb25zdCBsaW5lcyA9IGF3YWl0IGxvYWRMaW5lcyh0aGlzLmVudkZpbGUpO1xuXG4gICAgY29uc3Qgc3BsaXR0ZXIgPSAvXihbYS16QS1aMC05Xy1dKylcXHMqPVxccyooLiopJC87XG5cbiAgICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgIGNvbnN0IG0gPSBsaW5lLm1hdGNoKHNwbGl0dGVyKTtcbiAgICAgIGlmIChtKSB7XG4gICAgICAgIHJldFttWzFdXSA9IG1bMl07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwdWJsaWMgY3dkRmlsZShmaWxlbmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHBhdGguam9pbih0aGlzLmN3ZERpciwgZmlsZW5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGluIHRoZSBjdXJyZW50IHByb2Nlc3MgKHVwZGF0ZSBwcm9jZXNzLmVudiksIGNvcHkgdGhlIGN3ZC8gZGlyZWN0b3J5IHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGFjdGl2YXRlSW5DdXJyZW50UHJvY2VzcygpIHtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhhd2FpdCB0aGlzLmN1cnJlbnRFbnYoKSkpIHtcbiAgICAgIHByb2Nlc3MuZW52W2tdID0gdjtcbiAgICB9XG5cbiAgICBhd2FpdCBjb3B5RGlyZWN0b3J5Q29udGVudHModGhpcy5jd2REaXIsICcuJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY29weVNlbGVjdEN3ZEZpbGVIZXJlKC4uLmZpbGVuYW1lczogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZW5hbWVzKSB7XG4gICAgICBhd2FpdCBmcy5jb3B5RmlsZShwYXRoLmpvaW4odGhpcy5jd2REaXIsIGZpbGUpLCBmaWxlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHV0RmlsZShmaWxlbmFtZTogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKSB7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnksIGZpbGVuYW1lKTtcbiAgICBhd2FpdCB3cml0ZUZpbGUoZmlsZU5hbWUsIGNvbnRlbnRzKTtcbiAgICByZXR1cm4gZmlsZU5hbWU7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHV0Q3dkRmlsZShmaWxlbmFtZTogc3RyaW5nLCBjb250ZW50czogc3RyaW5nKSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKHBhdGguam9pbih0aGlzLmN3ZERpciwgZmlsZW5hbWUpLCBjb250ZW50cyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHV0SnNvbihrZXk6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgYXdhaXQgd3JpdGVGaWxlKHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSwga2V5ICsgJy5qc29uJyksIEpTT04uc3RyaW5naWZ5KGRhdGEsIHVuZGVmaW5lZCwgMikpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlYWRKc29uPEE+KGtleTogc3RyaW5nKTogUHJvbWlzZTxBIHwgdW5kZWZpbmVkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBmcy5yZWFkSnNvbihwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnksIGtleSArICcuanNvbicpKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByaW50IHRvIHRoZSBjb25zb2xlIG9uIGhvdyB0byBhY3RpdmF0ZSB0aGVzZSBzZXR0aW5nc1xuICAgKi9cbiAgcHVibGljIGFkdmVydGlzZSgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKCdUbyBhY3RpdmF0ZSB0aGVzZSBzZXR0aW5ncyBpbiB0aGUgY3VycmVudCBiYXNoIHNoZWxsOicpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5sb2coYCAgICBzb3VyY2UgJHt0aGlzLmRpcmVjdG9yeX0vYWN0aXZhdGUuYmFzaGApO1xuICB9XG59Il19
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /**
5
+ * Routines for corking stdout and stderr
6
+ */
7
+ import * as stream from 'stream';
8
+ export declare class MemoryStream extends stream.Writable {
9
+ private parts;
10
+ _write(chunk: Buffer, _encoding: string, callback: (error?: Error | null) => void): void;
11
+ buffer(): Buffer;
12
+ clear(): void;
13
+ flushTo(strm: NodeJS.WritableStream): Promise<unknown>;
14
+ toString(): string;
15
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.MemoryStream = void 0;
27
+ /**
28
+ * Routines for corking stdout and stderr
29
+ */
30
+ const stream = __importStar(require("stream"));
31
+ class MemoryStream extends stream.Writable {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.parts = new Array();
35
+ }
36
+ _write(chunk, _encoding, callback) {
37
+ this.parts.push(chunk);
38
+ callback();
39
+ }
40
+ buffer() {
41
+ return Buffer.concat(this.parts);
42
+ }
43
+ clear() {
44
+ this.parts.splice(0, this.parts.length);
45
+ }
46
+ async flushTo(strm) {
47
+ const flushed = strm.write(this.buffer());
48
+ if (!flushed) {
49
+ return new Promise(ok => strm.once('drain', ok));
50
+ }
51
+ }
52
+ toString() {
53
+ return this.buffer().toString();
54
+ }
55
+ }
56
+ exports.MemoryStream = MemoryStream;
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ya2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwL2NvcmtpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILCtDQUFpQztBQUVqQyxNQUFhLFlBQWEsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUFqRDs7UUFDVSxVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztJQXlCdEMsQ0FBQztJQXZCUSxNQUFNLENBQUMsS0FBYSxFQUFFLFNBQWlCLEVBQUUsUUFBd0M7UUFDdEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsUUFBUSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUEyQjtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBMUJELG9DQTBCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUm91dGluZXMgZm9yIGNvcmtpbmcgc3Rkb3V0IGFuZCBzdGRlcnJcbiAqL1xuaW1wb3J0ICogYXMgc3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5cbmV4cG9ydCBjbGFzcyBNZW1vcnlTdHJlYW0gZXh0ZW5kcyBzdHJlYW0uV3JpdGFibGUge1xuICBwcml2YXRlIHBhcnRzID0gbmV3IEFycmF5PEJ1ZmZlcj4oKTtcblxuICBwdWJsaWMgX3dyaXRlKGNodW5rOiBCdWZmZXIsIF9lbmNvZGluZzogc3RyaW5nLCBjYWxsYmFjazogKGVycm9yPzogRXJyb3IgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5wYXJ0cy5wdXNoKGNodW5rKTtcbiAgICBjYWxsYmFjaygpO1xuICB9XG5cbiAgcHVibGljIGJ1ZmZlcigpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdCh0aGlzLnBhcnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLnBhcnRzLnNwbGljZSgwLCB0aGlzLnBhcnRzLmxlbmd0aCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZmx1c2hUbyhzdHJtOiBOb2RlSlMuV3JpdGFibGVTdHJlYW0pIHtcbiAgICBjb25zdCBmbHVzaGVkID0gc3RybS53cml0ZSh0aGlzLmJ1ZmZlcigpKTtcbiAgICBpZiAoIWZsdXNoZWQpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShvayA9PiBzdHJtLm9uY2UoJ2RyYWluJywgb2spKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYnVmZmVyKCkudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -20,6 +20,10 @@ export interface RunOptions {
20
20
  * @default false
21
21
  */
22
22
  readonly shell?: boolean;
23
+ /**
24
+ * Properties to add to 'env'
25
+ */
26
+ readonly modEnv?: Record<string, string>;
23
27
  }
24
28
  /**
25
29
  * Run a shell command and return the output.
package/lib/help/shell.js CHANGED
@@ -36,10 +36,12 @@ function run(command, options = {}) {
36
36
  var _a, _b, _c;
37
37
  const shsplit = shlex.split(command);
38
38
  const pipeOrInherit = ((_a = options.capture) !== null && _a !== void 0 ? _a : false) ? 'pipe' : 'inherit';
39
+ const env = { ...process.env, ...options.modEnv };
39
40
  const result = child.spawnSync(shsplit[0], shsplit.slice(1), {
40
41
  stdio: ['ignore', pipeOrInherit, pipeOrInherit],
41
42
  cwd: options.cwd,
42
43
  shell: options.shell,
44
+ env,
43
45
  });
44
46
  if (result.error) {
45
47
  throw result.error;
@@ -50,7 +52,7 @@ function run(command, options = {}) {
50
52
  const message = `
51
53
  Command failed: ${command}.
52
54
  Output: ${stdout}
53
- Error:${stderr}`;
55
+ Error: ${stderr}`;
54
56
  throw new Error(message);
55
57
  }
56
58
  return stdout;
@@ -71,4 +73,4 @@ function which(program) {
71
73
  }
72
74
  }
73
75
  exports.which = which;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscC9zaGVsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF1QztBQUN2Qyw2Q0FBK0I7QUE2Qi9COzs7OztHQUtHO0FBQ0gsU0FBZ0IsR0FBRyxDQUFDLE9BQWUsRUFBRSxVQUFzQixFQUFFOztJQUMzRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBQSxPQUFPLENBQUMsT0FBTyxtQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMzRCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQztRQUMvQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUNILElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNoQixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDcEI7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQUEsTUFBTSxDQUFDLE1BQU0sMENBQUUsUUFBUSxFQUFFLENBQUM7SUFFekMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN2QixNQUFNLE9BQU8sR0FBRztzQkFDRSxPQUFPO2dCQUNiLE1BQU07Y0FDUixNQUFNLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQXZCRCxrQkF1QkM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLEtBQUssQ0FBQyxPQUFlO0lBQ25DLElBQUk7UUFDRixPQUFPLEdBQUcsQ0FBQyxTQUFTLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbkQ7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLE9BQU8sRUFBRSxDQUFDO0tBQ1g7QUFDSCxDQUFDO0FBTkQsc0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZCBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHNobGV4IGZyb20gJ3NobGV4JztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJ1bmAgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVuT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFdva3JpbmcgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBwcm9jZXNzLmN3ZCgpXG4gICAqL1xuICByZWFkb25seSBjd2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhcHR1cmUgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZCBhbmQgcmV0dXJuIHRvIGNhbGxlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjYXB0dXJlLCBvdXRwdXQgaXMgcHJpbnRlZCB0byBzdGRvdXQuXG4gICAqL1xuICByZWFkb25seSBjYXB0dXJlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUnVuIHRoZSBjb21tYW5kIGluc2lkZSBhIHNoZWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2hlbGw/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJ1biBhIHNoZWxsIGNvbW1hbmQgYW5kIHJldHVybiB0aGUgb3V0cHV0LlxuICogVGhyb3dzIGlmIHRoZSBjb21tYW5kIGZhaWxzLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIGNvbW1hbmQgKGUuZyAnZ2l0IGNvbW1pdCAtbScpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW4oY29tbWFuZDogc3RyaW5nLCBvcHRpb25zOiBSdW5PcHRpb25zID0ge30pOiBzdHJpbmcge1xuICBjb25zdCBzaHNwbGl0ID0gc2hsZXguc3BsaXQoY29tbWFuZCk7XG4gIGNvbnN0IHBpcGVPckluaGVyaXQgPSAob3B0aW9ucy5jYXB0dXJlID8/IGZhbHNlKSA/ICdwaXBlJzogJ2luaGVyaXQnO1xuICBjb25zdCByZXN1bHQgPSBjaGlsZC5zcGF3blN5bmMoc2hzcGxpdFswXSwgc2hzcGxpdC5zbGljZSgxKSwge1xuICAgIHN0ZGlvOiBbJ2lnbm9yZScsIHBpcGVPckluaGVyaXQsIHBpcGVPckluaGVyaXRdLFxuICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gICAgc2hlbGw6IG9wdGlvbnMuc2hlbGwsXG4gIH0pO1xuICBpZiAocmVzdWx0LmVycm9yKSB7XG4gICAgdGhyb3cgcmVzdWx0LmVycm9yO1xuICB9XG5cbiAgY29uc3Qgc3Rkb3V0ID0gcmVzdWx0LnN0ZG91dD8udG9TdHJpbmcoKTtcbiAgY29uc3Qgc3RkZXJyID0gcmVzdWx0LnN0ZGVycj8udG9TdHJpbmcoKTtcblxuICBpZiAocmVzdWx0LnN0YXR1cyAhPT0gMCkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBgXG4gICAgQ29tbWFuZCBmYWlsZWQ6ICR7Y29tbWFuZH0uXG4gICAgICBPdXRwdXQ6ICR7c3Rkb3V0fVxuICAgICAgRXJyb3I6JHtzdGRlcnJ9YDtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbiAgcmV0dXJuIHN0ZG91dDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIHBhdGggdW5kZXIgd2hpY2ggYSBwcm9ncmFtIGlzIGF2YWlsYWJsZS5cbiAqIEVtcHR5IHN0cmluZyBpZiB0aGUgcHJvZ3JhbSBpcyBub3QgaW5zdGFsbGVkLlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIHByb2dyYW0gdG8gY2hlY2sgKGUuZyAnZ2l0JylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoaWNoKHByb2dyYW06IHN0cmluZyk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJ1bihgd2hpY2ggJHtwcm9ncmFtfWAsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscC9zaGVsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF1QztBQUN2Qyw2Q0FBK0I7QUFrQy9COzs7OztHQUtHO0FBQ0gsU0FBZ0IsR0FBRyxDQUFDLE9BQWUsRUFBRSxVQUFzQixFQUFFOztJQUMzRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBQSxPQUFPLENBQUMsT0FBTyxtQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckUsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMzRCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQztRQUMvQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLEdBQUc7S0FDSixDQUFDLENBQUM7SUFDSCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDaEIsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDO0tBQ3BCO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxRQUFRLEVBQUUsQ0FBQztJQUN6QyxNQUFNLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLFFBQVEsRUFBRSxDQUFDO0lBRXpDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxPQUFPLEdBQUc7c0JBQ0UsT0FBTztnQkFDYixNQUFNO2VBQ1AsTUFBTSxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUMxQjtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUF6QkQsa0JBeUJDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixLQUFLLENBQUMsT0FBZTtJQUNuQyxJQUFJO1FBQ0YsT0FBTyxHQUFHLENBQUMsU0FBUyxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQ25EO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDWixPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQztBQU5ELHNCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2hpbGQgZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgKiBhcyBzaGxleCBmcm9tICdzaGxleCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGBydW5gIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBXb2tyaW5nIGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgcHJvY2Vzcy5jd2QoKVxuICAgKi9cbiAgcmVhZG9ubHkgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDYXB0dXJlIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQgYW5kIHJldHVybiB0byBjYWxsZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY2FwdHVyZSwgb3V0cHV0IGlzIHByaW50ZWQgdG8gc3Rkb3V0LlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwdHVyZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgY29tbWFuZCBpbnNpZGUgYSBzaGVsbC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNoZWxsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJvcGVydGllcyB0byBhZGQgdG8gJ2VudidcbiAgICovXG4gIHJlYWRvbmx5IG1vZEVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogUnVuIGEgc2hlbGwgY29tbWFuZCBhbmQgcmV0dXJuIHRoZSBvdXRwdXQuXG4gKiBUaHJvd3MgaWYgdGhlIGNvbW1hbmQgZmFpbHMuXG4gKlxuICogQHBhcmFtIGNvbW1hbmQgY29tbWFuZCAoZS5nICdnaXQgY29tbWl0IC1tJylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJ1bihjb21tYW5kOiBzdHJpbmcsIG9wdGlvbnM6IFJ1bk9wdGlvbnMgPSB7fSk6IHN0cmluZyB7XG4gIGNvbnN0IHNoc3BsaXQgPSBzaGxleC5zcGxpdChjb21tYW5kKTtcbiAgY29uc3QgcGlwZU9ySW5oZXJpdCA9IChvcHRpb25zLmNhcHR1cmUgPz8gZmFsc2UpID8gJ3BpcGUnOiAnaW5oZXJpdCc7XG4gIGNvbnN0IGVudiA9IHsgLi4ucHJvY2Vzcy5lbnYsIC4uLm9wdGlvbnMubW9kRW52IH07XG4gIGNvbnN0IHJlc3VsdCA9IGNoaWxkLnNwYXduU3luYyhzaHNwbGl0WzBdLCBzaHNwbGl0LnNsaWNlKDEpLCB7XG4gICAgc3RkaW86IFsnaWdub3JlJywgcGlwZU9ySW5oZXJpdCwgcGlwZU9ySW5oZXJpdF0sXG4gICAgY3dkOiBvcHRpb25zLmN3ZCxcbiAgICBzaGVsbDogb3B0aW9ucy5zaGVsbCxcbiAgICBlbnYsXG4gIH0pO1xuICBpZiAocmVzdWx0LmVycm9yKSB7XG4gICAgdGhyb3cgcmVzdWx0LmVycm9yO1xuICB9XG5cbiAgY29uc3Qgc3Rkb3V0ID0gcmVzdWx0LnN0ZG91dD8udG9TdHJpbmcoKTtcbiAgY29uc3Qgc3RkZXJyID0gcmVzdWx0LnN0ZGVycj8udG9TdHJpbmcoKTtcblxuICBpZiAocmVzdWx0LnN0YXR1cyAhPT0gMCkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBgXG4gICAgQ29tbWFuZCBmYWlsZWQ6ICR7Y29tbWFuZH0uXG4gICAgICBPdXRwdXQ6ICR7c3Rkb3V0fVxuICAgICAgRXJyb3I6ICR7c3RkZXJyfWA7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG4gIHJldHVybiBzdGRvdXQ7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBwYXRoIHVuZGVyIHdoaWNoIGEgcHJvZ3JhbSBpcyBhdmFpbGFibGUuXG4gKiBFbXB0eSBzdHJpbmcgaWYgdGhlIHByb2dyYW0gaXMgbm90IGluc3RhbGxlZC5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSBwcm9ncmFtIHRvIGNoZWNrIChlLmcgJ2dpdCcpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aGljaChwcm9ncmFtOiBzdHJpbmcpOiBzdHJpbmcge1xuICB0cnkge1xuICAgIHJldHVybiBydW4oYHdoaWNoICR7cHJvZ3JhbX1gLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuXG4iXX0=
@@ -0,0 +1 @@
1
+ export declare function sleep(ms: number): Promise<unknown>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = void 0;
4
+ async function sleep(ms) {
5
+ return new Promise(ok => setTimeout(ok, ms));
6
+ }
7
+ exports.sleep = sleep;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xlZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscC9zbGVlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBTyxLQUFLLFVBQVUsS0FBSyxDQUFDLEVBQVU7SUFDcEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRkQsc0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gc2xlZXAobXM6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2Uob2sgPT4gc2V0VGltZW91dChvaywgbXMpKTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -7,6 +7,7 @@
7
7
  },
8
8
  "bin": {
9
9
  "jsii-release": "./bin/jsii-release-shim",
10
+ "jsii-release-ca": "./bin/jsii-release-shim",
10
11
  "jsii-release-golang": "./bin/jsii-release-shim",
11
12
  "jsii-release-maven": "./bin/jsii-release-shim",
12
13
  "jsii-release-npm": "./bin/jsii-release-shim",
@@ -14,6 +15,7 @@
14
15
  "jsii-release-pypi": "./bin/jsii-release-shim",
15
16
  "jsii-release-shim": "bin/jsii-release-shim",
16
17
  "publib": "bin/publib",
18
+ "publib-ca": "bin/publib-ca",
17
19
  "publib-golang": "bin/publib-golang",
18
20
  "publib-maven": "bin/publib-maven",
19
21
  "publib-npm": "bin/publib-npm",
@@ -28,6 +30,7 @@
28
30
  "default": "npx projen default",
29
31
  "eject": "npx projen eject",
30
32
  "eslint": "npx projen eslint",
33
+ "integ": "npx projen integ",
31
34
  "package": "npx projen package",
32
35
  "package-legacy": "npx projen package-legacy",
33
36
  "post-compile": "npx projen post-compile",
@@ -35,6 +38,7 @@
35
38
  "pre-compile": "npx projen pre-compile",
36
39
  "release": "npx projen release",
37
40
  "test": "npx projen test",
41
+ "test:update": "npx projen test:update",
38
42
  "test:watch": "npx projen test:watch",
39
43
  "unbump": "npx projen unbump",
40
44
  "upgrade": "npx projen upgrade",
@@ -43,15 +47,19 @@
43
47
  },
44
48
  "author": {
45
49
  "name": "Amazon Web Services",
50
+ "email": "aws-cdk-dev@amazon.com",
46
51
  "url": "https://aws.amazon.com",
47
52
  "organization": true
48
53
  },
49
54
  "devDependencies": {
50
55
  "@aws-sdk/client-sts": "^3.325.0",
56
+ "@types/glob": "^8.1.0",
51
57
  "@types/jest": "^27.5.2",
52
58
  "@types/node": "^16",
59
+ "@types/yargs": "^17",
53
60
  "@typescript-eslint/eslint-plugin": "^5",
54
61
  "@typescript-eslint/parser": "^5",
62
+ "cdklabs-projen-project-types": "^0.1.89",
55
63
  "eslint": "^8",
56
64
  "eslint-import-resolver-node": "^0.3.7",
57
65
  "eslint-import-resolver-typescript": "^2.7.1",
@@ -66,14 +74,20 @@
66
74
  "typescript": "~4.9.5"
67
75
  },
68
76
  "dependencies": {
77
+ "@aws-sdk/client-codeartifact": "^3.315.0",
78
+ "@aws-sdk/credential-providers": "^3.316.0",
79
+ "@aws-sdk/types": "^3.310.0",
69
80
  "@types/fs-extra": "^8.0.0",
70
81
  "fs-extra": "^8.0.0",
71
- "shlex": "^2.1.2"
82
+ "glob": "10.0.0",
83
+ "p-queue": "6",
84
+ "shlex": "^2.1.2",
85
+ "yargs": "^17"
72
86
  },
73
87
  "main": "lib/index.js",
74
88
  "license": "Apache-2.0",
75
89
  "homepage": "https://github.com/cdklabs/publib",
76
- "version": "0.2.674",
90
+ "version": "0.2.676",
77
91
  "jest": {
78
92
  "testMatch": [
79
93
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
package/package.json.bak CHANGED
@@ -7,6 +7,7 @@
7
7
  },
8
8
  "bin": {
9
9
  "jsii-release": "./bin/jsii-release-shim",
10
+ "jsii-release-ca": "./bin/jsii-release-shim",
10
11
  "jsii-release-golang": "./bin/jsii-release-shim",
11
12
  "jsii-release-maven": "./bin/jsii-release-shim",
12
13
  "jsii-release-npm": "./bin/jsii-release-shim",
@@ -14,6 +15,7 @@
14
15
  "jsii-release-pypi": "./bin/jsii-release-shim",
15
16
  "jsii-release-shim": "bin/jsii-release-shim",
16
17
  "publib": "bin/publib",
18
+ "publib-ca": "bin/publib-ca",
17
19
  "publib-golang": "bin/publib-golang",
18
20
  "publib-maven": "bin/publib-maven",
19
21
  "publib-npm": "bin/publib-npm",
@@ -28,6 +30,7 @@
28
30
  "default": "npx projen default",
29
31
  "eject": "npx projen eject",
30
32
  "eslint": "npx projen eslint",
33
+ "integ": "npx projen integ",
31
34
  "package": "npx projen package",
32
35
  "package-legacy": "npx projen package-legacy",
33
36
  "post-compile": "npx projen post-compile",
@@ -35,6 +38,7 @@
35
38
  "pre-compile": "npx projen pre-compile",
36
39
  "release": "npx projen release",
37
40
  "test": "npx projen test",
41
+ "test:update": "npx projen test:update",
38
42
  "test:watch": "npx projen test:watch",
39
43
  "unbump": "npx projen unbump",
40
44
  "upgrade": "npx projen upgrade",
@@ -43,15 +47,19 @@
43
47
  },
44
48
  "author": {
45
49
  "name": "Amazon Web Services",
50
+ "email": "aws-cdk-dev@amazon.com",
46
51
  "url": "https://aws.amazon.com",
47
52
  "organization": true
48
53
  },
49
54
  "devDependencies": {
50
55
  "@aws-sdk/client-sts": "^3.325.0",
56
+ "@types/glob": "^8.1.0",
51
57
  "@types/jest": "^27.5.2",
52
58
  "@types/node": "^16",
59
+ "@types/yargs": "^17",
53
60
  "@typescript-eslint/eslint-plugin": "^5",
54
61
  "@typescript-eslint/parser": "^5",
62
+ "cdklabs-projen-project-types": "^0.1.89",
55
63
  "eslint": "^8",
56
64
  "eslint-import-resolver-node": "^0.3.7",
57
65
  "eslint-import-resolver-typescript": "^2.7.1",
@@ -66,14 +74,20 @@
66
74
  "typescript": "~4.9.5"
67
75
  },
68
76
  "dependencies": {
77
+ "@aws-sdk/client-codeartifact": "^3.315.0",
78
+ "@aws-sdk/credential-providers": "^3.316.0",
79
+ "@aws-sdk/types": "^3.310.0",
69
80
  "@types/fs-extra": "^8.0.0",
70
81
  "fs-extra": "^8.0.0",
71
- "shlex": "^2.1.2"
82
+ "glob": "10.0.0",
83
+ "p-queue": "6",
84
+ "shlex": "^2.1.2",
85
+ "yargs": "^17"
72
86
  },
73
87
  "main": "lib/index.js",
74
88
  "license": "Apache-2.0",
75
89
  "homepage": "https://github.com/cdklabs/publib",
76
- "version": "0.2.674",
90
+ "version": "0.2.676",
77
91
  "jest": {
78
92
  "testMatch": [
79
93
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",