jsii-release 0.2.1061 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -3
- package/bin/publib-github +2 -0
- package/lib/bin/publib-github.d.ts +2 -0
- package/lib/bin/publib-github.js +133 -0
- package/lib/codeartifact/codeartifact-cli.js +6 -6
- package/lib/codeartifact/codeartifact-repo.d.ts +1 -1
- package/lib/codeartifact/codeartifact-repo.js +1 -1
- package/lib/help/git.d.ts +21 -0
- package/lib/help/git.js +55 -1
- package/lib/targets/github.d.ts +69 -0
- package/lib/targets/github.js +62 -0
- package/package.json +55 -46
- package/package.json.bak +55 -46
package/README.md
CHANGED
|
@@ -14,9 +14,8 @@ Supports:
|
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
|
-
This is an npm module. You can install it using `
|
|
18
|
-
|
|
19
|
-
in your `package.json`.
|
|
17
|
+
This is an npm module. You can install it using `npm install publib`.
|
|
18
|
+
In most cases it will be installed as a `devDependency` in your `package.json`.
|
|
20
19
|
|
|
21
20
|
This tool expects to find a distribution directory (default name is `dist`)
|
|
22
21
|
which contains "ready-to-publish" artifacts for each package manager.
|
|
@@ -49,6 +48,7 @@ You can also execute individual publishers:
|
|
|
49
48
|
* `publib-npm`
|
|
50
49
|
* `publib-pypi`
|
|
51
50
|
* `publib-golang`
|
|
51
|
+
* `publib-github`
|
|
52
52
|
|
|
53
53
|
## Dry Run
|
|
54
54
|
|
|
@@ -306,6 +306,34 @@ Repository tags will be in the following format:
|
|
|
306
306
|
| `GIT_CLONE_DEPTH` | Optional | The git clone depth. Usually only the latest commit is required. Defaults to 1. |
|
|
307
307
|
| `DRYRUN` | Optional | Deprecated. Use `PUBLIB_DRYRUN` instead. Set to "true" for a dry run. |
|
|
308
308
|
|
|
309
|
+
## GitHub Releases
|
|
310
|
+
|
|
311
|
+
Creates a [GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases) for a tag.
|
|
312
|
+
|
|
313
|
+
If a release for the tag already exists, the command succeeds without touching
|
|
314
|
+
the existing release, so that re-running a (partially failed) release workflow
|
|
315
|
+
is a no-op rather than a failure.
|
|
316
|
+
|
|
317
|
+
**Usage:**
|
|
318
|
+
|
|
319
|
+
```shell
|
|
320
|
+
npx publib-github
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
**Options (environment variables):**
|
|
324
|
+
|
|
325
|
+
| Option | Required | Description |
|
|
326
|
+
| ------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
327
|
+
| `GITHUB_TOKEN` | Required | Token used to authenticate against the GitHub API. Requires `contents: write` permission. |
|
|
328
|
+
| `GITHUB_REPOSITORY` | Required | The repository to release to, in `owner/repo` format. Set automatically in [GitHub Actions workflows](https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables). |
|
|
329
|
+
| `GITHUB_RELEASE_TAG` | Either this or `GITHUB_RELEASE_TAG_FILE` is required | The tag to release (e.g. `v1.2.3`). |
|
|
330
|
+
| `GITHUB_RELEASE_TAG_FILE` | Either this or `GITHUB_RELEASE_TAG` is required | A file containing the tag to release (e.g. `dist/releasetag.txt`). |
|
|
331
|
+
| `GITHUB_CHANGELOG_FILE` | Optional | A markdown file used as the release notes (e.g. `dist/changelog.md`). |
|
|
332
|
+
| `GITHUB_SHA` | Optional | The commit to tag if the tag doesn't exist yet. Ignored if the tag already exists. Defaults to the repository's default branch. Set automatically in GitHub Actions workflows. |
|
|
333
|
+
| `GITHUB_PRERELEASE` | Optional | Set to "true" to mark the release as a prerelease. |
|
|
334
|
+
| `GITHUB_MARK_LATEST` | Optional | `true` to explicitly mark the release as the latest release, `false` to explicitly not mark it as latest. Defaults to GitHub determining the latest release. |
|
|
335
|
+
| `GITHUB_API_URL` | Optional | Base URL of the GitHub API, for GitHub Enterprise instances. Defaults to `https://api.github.com`. Set automatically in GitHub Actions workflows. |
|
|
336
|
+
|
|
309
337
|
## Publish to CodeArtifact for testing
|
|
310
338
|
|
|
311
339
|
This package contains the `publib-ca` CLI tool which is intended to use to publish
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
/**
|
|
38
|
+
* Creates a GitHub release, tolerating a release that already exists so that
|
|
39
|
+
* re-running a release is a no-op rather than a failure.
|
|
40
|
+
*
|
|
41
|
+
* Usage: publib-github
|
|
42
|
+
*
|
|
43
|
+
* GITHUB_TOKEN (required): token used to authenticate against the GitHub API
|
|
44
|
+
* GITHUB_RELEASE_TAG (optional): the tag to release; either this or GITHUB_RELEASE_TAG_FILE is required
|
|
45
|
+
* GITHUB_RELEASE_TAG_FILE (optional): a file containing the tag to release
|
|
46
|
+
* GITHUB_CHANGELOG_FILE (optional): a markdown file used as the release notes
|
|
47
|
+
* GITHUB_REPOSITORY (optional): the repository to release to, in `owner/repo` format (defaults to the repository of the "origin" remote in the current directory)
|
|
48
|
+
* GITHUB_SHA (optional): the commit to tag if the tag doesn't exist yet (defaults to the current git HEAD, or the repository's default branch when not in a git repository)
|
|
49
|
+
* GITHUB_PRERELEASE (optional): set to "true" to mark the release as a prerelease
|
|
50
|
+
* GITHUB_MARK_LATEST (optional): "true" to explicitly mark the release as the latest release, "false" to explicitly not mark it as latest (defaults to GitHub determining the latest release)
|
|
51
|
+
* GITHUB_API_URL (optional): base URL of the GitHub API (defaults to "https://api.github.com"; set automatically in GitHub Actions)
|
|
52
|
+
* PUBLIB_DRYRUN (optional): set to "true" to print what would be done without creating a release
|
|
53
|
+
*/
|
|
54
|
+
const fs_1 = require("fs");
|
|
55
|
+
const git = __importStar(require("../help/git"));
|
|
56
|
+
const github_1 = require("../targets/github");
|
|
57
|
+
async function main() {
|
|
58
|
+
const repository = optionalEnv('GITHUB_REPOSITORY') ?? git.repositorySlug();
|
|
59
|
+
if (!repository) {
|
|
60
|
+
throw new Error('GITHUB_REPOSITORY is required, could not infer the repository from the "origin" remote');
|
|
61
|
+
}
|
|
62
|
+
const tag = releaseTag();
|
|
63
|
+
const changelogFile = optionalEnv('GITHUB_CHANGELOG_FILE');
|
|
64
|
+
const body = changelogFile ? (0, fs_1.readFileSync)(changelogFile, 'utf-8') : undefined;
|
|
65
|
+
const target = optionalEnv('GITHUB_SHA') ?? git.head();
|
|
66
|
+
const prerelease = (optionalEnv('GITHUB_PRERELEASE') ?? 'false').toLowerCase() === 'true';
|
|
67
|
+
const latest = parseMarkLatest(optionalEnv('GITHUB_MARK_LATEST'));
|
|
68
|
+
const dryRun = (process.env.PUBLIB_DRYRUN ?? process.env.DRYRUN ?? 'false').toLowerCase() === 'true';
|
|
69
|
+
if (dryRun) {
|
|
70
|
+
console.log(`🏜️ Dry run: would create GitHub release ${tag}${prerelease ? ' (prerelease)' : ''} in ${repository}${target ? ` at ${target}` : ''}`);
|
|
71
|
+
console.log('SUCCESS (dry run)');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const result = await (0, github_1.createGitHubRelease)({
|
|
75
|
+
tag,
|
|
76
|
+
repository,
|
|
77
|
+
body,
|
|
78
|
+
target,
|
|
79
|
+
prerelease,
|
|
80
|
+
latest,
|
|
81
|
+
token: requireEnv('GITHUB_TOKEN'),
|
|
82
|
+
apiUrl: optionalEnv('GITHUB_API_URL'),
|
|
83
|
+
});
|
|
84
|
+
if (result === 'already_exists') {
|
|
85
|
+
console.log(`SKIPPING: release ${tag} already exists`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
console.log(`SUCCESS: created release ${tag}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function releaseTag() {
|
|
92
|
+
const explicitTag = optionalEnv('GITHUB_RELEASE_TAG');
|
|
93
|
+
if (explicitTag) {
|
|
94
|
+
return explicitTag;
|
|
95
|
+
}
|
|
96
|
+
const tagFile = optionalEnv('GITHUB_RELEASE_TAG_FILE');
|
|
97
|
+
if (!tagFile) {
|
|
98
|
+
throw new Error('GITHUB_RELEASE_TAG or GITHUB_RELEASE_TAG_FILE is required');
|
|
99
|
+
}
|
|
100
|
+
const tag = (0, fs_1.readFileSync)(tagFile, 'utf-8').trim();
|
|
101
|
+
if (!tag) {
|
|
102
|
+
throw new Error(`release tag file ${tagFile} is empty`);
|
|
103
|
+
}
|
|
104
|
+
return tag;
|
|
105
|
+
}
|
|
106
|
+
function parseMarkLatest(value) {
|
|
107
|
+
if (value === undefined) {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
if (value === 'true' || value === 'false') {
|
|
111
|
+
return value === 'true';
|
|
112
|
+
}
|
|
113
|
+
throw new Error(`GITHUB_MARK_LATEST must be "true" or "false", got: "${value}"`);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Returns the value of the environment variable, treating an empty string as
|
|
117
|
+
* not set.
|
|
118
|
+
*/
|
|
119
|
+
function optionalEnv(name) {
|
|
120
|
+
return process.env[name] ? process.env[name] : undefined;
|
|
121
|
+
}
|
|
122
|
+
function requireEnv(name) {
|
|
123
|
+
const value = process.env[name];
|
|
124
|
+
if (!value) {
|
|
125
|
+
throw new Error(`${name} is required`);
|
|
126
|
+
}
|
|
127
|
+
return value;
|
|
128
|
+
}
|
|
129
|
+
main().catch((error) => {
|
|
130
|
+
console.error(`ERROR: ${error.message}`);
|
|
131
|
+
process.exit(1);
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGliLWdpdGh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vcHVibGliLWdpdGh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILDJCQUFrQztBQUNsQyxpREFBbUM7QUFDbkMsOENBQXdEO0FBRXhELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM1RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUN6QixNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMzRCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQVksRUFBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RSxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZELE1BQU0sVUFBVSxHQUFHLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDO0lBQzFGLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUks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QzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyoqXG4gKiBDcmVhdGVzIGEgR2l0SHViIHJlbGVhc2UsIHRvbGVyYXRpbmcgYSByZWxlYXNlIHRoYXQgYWxyZWFkeSBleGlzdHMgc28gdGhhdFxuICogcmUtcnVubmluZyBhIHJlbGVhc2UgaXMgYSBuby1vcCByYXRoZXIgdGhhbiBhIGZhaWx1cmUuXG4gKlxuICogVXNhZ2U6IHB1YmxpYi1naXRodWJcbiAqXG4gKiBHSVRIVUJfVE9LRU4gKHJlcXVpcmVkKTogdG9rZW4gdXNlZCB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCB0aGUgR2l0SHViIEFQSVxuICogR0lUSFVCX1JFTEVBU0VfVEFHIChvcHRpb25hbCk6IHRoZSB0YWcgdG8gcmVsZWFzZTsgZWl0aGVyIHRoaXMgb3IgR0lUSFVCX1JFTEVBU0VfVEFHX0ZJTEUgaXMgcmVxdWlyZWRcbiAqIEdJVEhVQl9SRUxFQVNFX1RBR19GSUxFIChvcHRpb25hbCk6IGEgZmlsZSBjb250YWluaW5nIHRoZSB0YWcgdG8gcmVsZWFzZVxuICogR0lUSFVCX0NIQU5HRUxPR19GSUxFIChvcHRpb25hbCk6IGEgbWFya2Rvd24gZmlsZSB1c2VkIGFzIHRoZSByZWxlYXNlIG5vdGVzXG4gKiBHSVRIVUJfUkVQT1NJVE9SWSAob3B0aW9uYWwpOiB0aGUgcmVwb3NpdG9yeSB0byByZWxlYXNlIHRvLCBpbiBgb3duZXIvcmVwb2AgZm9ybWF0IChkZWZhdWx0cyB0byB0aGUgcmVwb3NpdG9yeSBvZiB0aGUgXCJvcmlnaW5cIiByZW1vdGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5KVxuICogR0lUSFVCX1NIQSAob3B0aW9uYWwpOiB0aGUgY29tbWl0IHRvIHRhZyBpZiB0aGUgdGFnIGRvZXNuJ3QgZXhpc3QgeWV0IChkZWZhdWx0cyB0byB0aGUgY3VycmVudCBnaXQgSEVBRCwgb3IgdGhlIHJlcG9zaXRvcnkncyBkZWZhdWx0IGJyYW5jaCB3aGVuIG5vdCBpbiBhIGdpdCByZXBvc2l0b3J5KVxuICogR0lUSFVCX1BSRVJFTEVBU0UgKG9wdGlvbmFsKTogc2V0IHRvIFwidHJ1ZVwiIHRvIG1hcmsgdGhlIHJlbGVhc2UgYXMgYSBwcmVyZWxlYXNlXG4gKiBHSVRIVUJfTUFSS19MQVRFU1QgKG9wdGlvbmFsKTogXCJ0cnVlXCIgdG8gZXhwbGljaXRseSBtYXJrIHRoZSByZWxlYXNlIGFzIHRoZSBsYXRlc3QgcmVsZWFzZSwgXCJmYWxzZVwiIHRvIGV4cGxpY2l0bHkgbm90IG1hcmsgaXQgYXMgbGF0ZXN0IChkZWZhdWx0cyB0byBHaXRIdWIgZGV0ZXJtaW5pbmcgdGhlIGxhdGVzdCByZWxlYXNlKVxuICogR0lUSFVCX0FQSV9VUkwgKG9wdGlvbmFsKTogYmFzZSBVUkwgb2YgdGhlIEdpdEh1YiBBUEkgKGRlZmF1bHRzIHRvIFwiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbVwiOyBzZXQgYXV0b21hdGljYWxseSBpbiBHaXRIdWIgQWN0aW9ucylcbiAqIFBVQkxJQl9EUllSVU4gKG9wdGlvbmFsKTogc2V0IHRvIFwidHJ1ZVwiIHRvIHByaW50IHdoYXQgd291bGQgYmUgZG9uZSB3aXRob3V0IGNyZWF0aW5nIGEgcmVsZWFzZVxuICovXG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBnaXQgZnJvbSAnLi4vaGVscC9naXQnO1xuaW1wb3J0IHsgY3JlYXRlR2l0SHViUmVsZWFzZSB9IGZyb20gJy4uL3RhcmdldHMvZ2l0aHViJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgcmVwb3NpdG9yeSA9IG9wdGlvbmFsRW52KCdHSVRIVUJfUkVQT1NJVE9SWScpID8/IGdpdC5yZXBvc2l0b3J5U2x1ZygpO1xuICBpZiAoIXJlcG9zaXRvcnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dJVEhVQl9SRVBPU0lUT1JZIGlzIHJlcXVpcmVkLCBjb3VsZCBub3QgaW5mZXIgdGhlIHJlcG9zaXRvcnkgZnJvbSB0aGUgXCJvcmlnaW5cIiByZW1vdGUnKTtcbiAgfVxuICBjb25zdCB0YWcgPSByZWxlYXNlVGFnKCk7XG4gIGNvbnN0IGNoYW5nZWxvZ0ZpbGUgPSBvcHRpb25hbEVudignR0lUSFVCX0NIQU5HRUxPR19GSUxFJyk7XG4gIGNvbnN0IGJvZHkgPSBjaGFuZ2Vsb2dGaWxlID8gcmVhZEZpbGVTeW5jKGNoYW5nZWxvZ0ZpbGUsICd1dGYtOCcpIDogdW5kZWZpbmVkO1xuICBjb25zdCB0YXJnZXQgPSBvcHRpb25hbEVudignR0lUSFVCX1NIQScpID8/IGdpdC5oZWFkKCk7XG4gIGNvbnN0IHByZXJlbGVhc2UgPSAob3B0aW9uYWxFbnYoJ0dJVEhVQl9QUkVSRUxFQVNFJykgPz8gJ2ZhbHNlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xuICBjb25zdCBsYXRlc3QgPSBwYXJzZU1hcmtMYXRlc3Qob3B0aW9uYWxFbnYoJ0dJVEhVQl9NQVJLX0xBVEVTVCcpKTtcbiAgY29uc3QgZHJ5UnVuID0gKHByb2Nlc3MuZW52LlBVQkxJQl9EUllSVU4gPz8gcHJvY2Vzcy5lbnYuRFJZUlVOID8/ICdmYWxzZScpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJztcblxuICBpZiAoZHJ5UnVuKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBg8J+PnO+4jyBEcnkgcnVuOiB3b3VsZCBjcmVhdGUgR2l0SHViIHJlbGVhc2UgJHt0YWd9JHtwcmVyZWxlYXNlID8gJyAocHJlcmVsZWFzZSknIDogJyd9IGluICR7cmVwb3NpdG9yeX0ke3RhcmdldCA/IGAgYXQgJHt0YXJnZXR9YCA6ICcnfWAsXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZygnU1VDQ0VTUyAoZHJ5IHJ1biknKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjcmVhdGVHaXRIdWJSZWxlYXNlKHtcbiAgICB0YWcsXG4gICAgcmVwb3NpdG9yeSxcbiAgICBib2R5LFxuICAgIHRhcmdldCxcbiAgICBwcmVyZWxlYXNlLFxuICAgIGxhdGVzdCxcbiAgICB0b2tlbjogcmVxdWlyZUVudignR0lUSFVCX1RPS0VOJyksXG4gICAgYXBpVXJsOiBvcHRpb25hbEVudignR0lUSFVCX0FQSV9VUkwnKSxcbiAgfSk7XG5cbiAgaWYgKHJlc3VsdCA9PT0gJ2FscmVhZHlfZXhpc3RzJykge1xuICAgIGNvbnNvbGUubG9nKGBTS0lQUElORzogcmVsZWFzZSAke3RhZ30gYWxyZWFkeSBleGlzdHNgKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyhgU1VDQ0VTUzogY3JlYXRlZCByZWxlYXNlICR7dGFnfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbGVhc2VUYWcoKTogc3RyaW5nIHtcbiAgY29uc3QgZXhwbGljaXRUYWcgPSBvcHRpb25hbEVudignR0lUSFVCX1JFTEVBU0VfVEFHJyk7XG4gIGlmIChleHBsaWNpdFRhZykge1xuICAgIHJldHVybiBleHBsaWNpdFRhZztcbiAgfVxuICBjb25zdCB0YWdGaWxlID0gb3B0aW9uYWxFbnYoJ0dJVEhVQl9SRUxFQVNFX1RBR19GSUxFJyk7XG4gIGlmICghdGFnRmlsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignR0lUSFVCX1JFTEVBU0VfVEFHIG9yIEdJVEhVQl9SRUxFQVNFX1RBR19GSUxFIGlzIHJlcXVpcmVkJyk7XG4gIH1cbiAgY29uc3QgdGFnID0gcmVhZEZpbGVTeW5jKHRhZ0ZpbGUsICd1dGYtOCcpLnRyaW0oKTtcbiAgaWYgKCF0YWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHJlbGVhc2UgdGFnIGZpbGUgJHt0YWdGaWxlfSBpcyBlbXB0eWApO1xuICB9XG4gIHJldHVybiB0YWc7XG59XG5cbmZ1bmN0aW9uIHBhcnNlTWFya0xhdGVzdCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAodmFsdWUgPT09ICd0cnVlJyB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJykge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gJ3RydWUnO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgR0lUSFVCX01BUktfTEFURVNUIG11c3QgYmUgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLCBnb3Q6IFwiJHt2YWx1ZX1cImApO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdHJlYXRpbmcgYW4gZW1wdHkgc3RyaW5nIGFzXG4gKiBub3Qgc2V0LlxuICovXG5mdW5jdGlvbiBvcHRpb25hbEVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gcHJvY2Vzcy5lbnZbbmFtZV0gPyBwcm9jZXNzLmVudltuYW1lXSA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gcmVxdWlyZUVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W25hbWVdO1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke25hbWV9IGlzIHJlcXVpcmVkYCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5tYWluKCkuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zb2xlLmVycm9yKGBFUlJPUjogJHtlcnJvci5tZXNzYWdlfWApO1xuICBwcm9jZXNzLmV4aXQoMSk7XG59KTtcbiJdfQ==
|
|
@@ -37,7 +37,7 @@ exports.CodeArtifactCli = void 0;
|
|
|
37
37
|
const child_process = __importStar(require("child_process"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
40
|
-
const
|
|
40
|
+
const zx_1 = require("zx");
|
|
41
41
|
const codeartifact_repo_1 = require("./codeartifact-repo");
|
|
42
42
|
const shell_1 = require("./shell");
|
|
43
43
|
const maven_1 = require("./staging/maven");
|
|
@@ -99,10 +99,10 @@ class CodeArtifactCli {
|
|
|
99
99
|
async publish(directory, repoName) {
|
|
100
100
|
const repo = await this.repoFromName(repoName);
|
|
101
101
|
const login = await repo.login();
|
|
102
|
-
await (0, npm_1.uploadNpmPackages)(glob.sync(path.join(directory, 'js', '*.tgz')), login, this.usageDir);
|
|
103
|
-
await (0, pip_1.uploadPythonPackages)(glob.sync(path.join(directory, 'python', '*')), login);
|
|
104
|
-
await (0, maven_1.uploadJavaPackages)(glob.sync(path.join(directory, 'java', '**', '*.pom')), login, this.usageDir);
|
|
105
|
-
await (0, nuget_1.uploadDotnetPackages)(glob.sync(path.join(directory, 'dotnet', '**', '*.nupkg')), this.usageDir);
|
|
102
|
+
await (0, npm_1.uploadNpmPackages)(zx_1.glob.sync(path.join(directory, 'js', '*.tgz')), login, this.usageDir);
|
|
103
|
+
await (0, pip_1.uploadPythonPackages)(zx_1.glob.sync(path.join(directory, 'python', '*')), login);
|
|
104
|
+
await (0, maven_1.uploadJavaPackages)(zx_1.glob.sync(path.join(directory, 'java', '**', '*.pom')), login, this.usageDir);
|
|
105
|
+
await (0, nuget_1.uploadDotnetPackages)(zx_1.glob.sync(path.join(directory, 'dotnet', '**', '*.nupkg')), this.usageDir);
|
|
106
106
|
console.log('🛍 Configuring packages for upstream versions');
|
|
107
107
|
await repo.markAllUpstreamAllow();
|
|
108
108
|
}
|
|
@@ -140,4 +140,4 @@ class CodeArtifactCli {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
exports.CodeArtifactCli = CodeArtifactCli;
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWFydGlmYWN0LWNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2RlYXJ0aWZhY3QvY29kZWFydGlmYWN0LWNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0M7QUFDL0MsMkNBQTZCO0FBQzdCLHdFQUF5RTtBQUN6RSwyQ0FBNkI7QUFDN0IsMkRBQWtHO0FBQ2xHLG1DQUFnQztBQUNoQywyQ0FBaUU7QUFDakUsdUNBQTREO0FBQzVELDJDQUFtRTtBQUNuRSx1Q0FBK0Q7QUFDL0QsMkNBQXVDO0FBRXZDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQU0vQixNQUFhLGVBQWU7SUFHMUIsWUFBNkIsVUFBa0MsRUFBRTtRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUE2QjtRQUZqRCxhQUFRLEdBQUcsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUc5QyxDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUEsK0NBQXdCLEVBQUM7Z0JBQ2pFLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO29CQUNuQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsZUFBZSxFQUFFLFdBQVc7aUJBQzdCO2FBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sb0NBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFpQjtRQUNuQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFcEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQWlCO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVqQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUMzQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsY0FBYztTQUN4QyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUEsY0FBUSxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckMsTUFBTSxJQUFBLGNBQVEsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sSUFBQSxrQkFBVSxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFBLGtCQUFVLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQWlCLEVBQUUsUUFBaUI7UUFDdkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWpDLE1BQU0sSUFBQSx1QkFBaUIsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUYsTUFBTSxJQUFBLDBCQUFvQixFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEYsTUFBTSxJQUFBLDBCQUFrQixFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdkcsTUFBTSxJQUFBLDRCQUFvQixFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0RyxPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEVBQUU7UUFDYixNQUFNLG9DQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZTtRQUNyQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUMvQyxNQUFNLElBQUEsYUFBSyxFQUFDLE9BQU8sRUFBRTtZQUNuQixLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFlO1FBQzNDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQy9DLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQzlCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsWUFBWSxDQUFDLFFBQWlCO1FBQzFDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLG9DQUFnQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFtQixjQUFjLENBQUMsQ0FBRTtRQUVsRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDekQsTUFBTSxRQUFRLEdBQUcsb0NBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZGLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzR0FBc0csQ0FBQyxDQUFDO0lBQzFILENBQUM7Q0FDRjtBQWxIRCwwQ0FrSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGZyb21UZW1wb3JhcnlDcmVkZW50aWFscyB9IGZyb20gJ0Bhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXJzJztcbmltcG9ydCAqIGFzIGdsb2IgZnJvbSAnZ2xvYic7XG5pbXBvcnQgeyBDb2RlQXJ0aWZhY3RSZXBvLCBDb2RlQXJ0aWZhY3RSZXBvT3B0aW9ucywgTG9naW5JbmZvcm1hdGlvbiB9IGZyb20gJy4vY29kZWFydGlmYWN0LXJlcG8nO1xuaW1wb3J0IHsgc2hlbGwgfSBmcm9tICcuL3NoZWxsJztcbmltcG9ydCB7IHVwbG9hZEphdmFQYWNrYWdlcywgbWF2ZW5Mb2dpbiB9IGZyb20gJy4vc3RhZ2luZy9tYXZlbic7XG5pbXBvcnQgeyB1cGxvYWROcG1QYWNrYWdlcywgbnBtTG9naW4gfSBmcm9tICcuL3N0YWdpbmcvbnBtJztcbmltcG9ydCB7IHVwbG9hZERvdG5ldFBhY2thZ2VzLCBudWdldExvZ2luIH0gZnJvbSAnLi9zdGFnaW5nL251Z2V0JztcbmltcG9ydCB7IHVwbG9hZFB5dGhvblBhY2thZ2VzLCBwaXBMb2dpbiB9IGZyb20gJy4vc3RhZ2luZy9waXAnO1xuaW1wb3J0IHsgVXNhZ2VEaXIgfSBmcm9tICcuL3VzYWdlLWRpcic7XG5cbmNvbnN0IExPR0lOX0RBVEFfS0VZID0gJ2xvZ2luJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQXJ0aWZhY3RDbGlPcHRpb25zIHtcbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUFybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvZGVBcnRpZmFjdENsaSB7XG4gIHB1YmxpYyByZWFkb25seSB1c2FnZURpciA9IFVzYWdlRGlyLmRlZmF1bHQoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENvZGVBcnRpZmFjdENsaU9wdGlvbnMgPSB7fSkge1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcmVwb09wdGlvbnMoKTogQ29kZUFydGlmYWN0UmVwb09wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVkZW50aWFsczogdGhpcy5vcHRpb25zLmFzc3VtZVJvbGVBcm4gPyBmcm9tVGVtcG9yYXJ5Q3JlZGVudGlhbHMoe1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBSb2xlQXJuOiB0aGlzLm9wdGlvbnMuYXNzdW1lUm9sZUFybixcbiAgICAgICAgICBEdXJhdGlvblNlY29uZHM6IDM2MDAsXG4gICAgICAgICAgUm9sZVNlc3Npb25OYW1lOiAncHVibGliLWNhJyxcbiAgICAgICAgfSxcbiAgICAgIH0pIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmFuZG9tIHJlcG9zaXRvcnksIHJldHVybiBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZSgpIHtcbiAgICBjb25zdCByZXBvID0gYXdhaXQgQ29kZUFydGlmYWN0UmVwby5jcmVhdGVSYW5kb20odGhpcy5yZXBvT3B0aW9ucyk7XG4gICAgcmV0dXJuIHJlcG8ucmVwb3NpdG9yeU5hbWU7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHRoZSBnaXZlbiByZXBvXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlKHJlcG9OYW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVwbyA9IGF3YWl0IHRoaXMucmVwb0Zyb21OYW1lKHJlcG9OYW1lKTtcbiAgICBhd2FpdCByZXBvLmRlbGV0ZSgpO1xuXG4gICAgaWYgKCFyZXBvTmFtZSkge1xuICAgICAgYXdhaXQgdGhpcy51c2FnZURpci5kZWxldGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9nIGluIHRvIHRoZSBnaXZlbiByZXBvLCB3cml0ZSBhY3RpdmF0aW9uIGluc3RydWN0aW5zIHRvIHRoZSB1c2FnZSBkaXJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2dpbihyZXBvTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHJlcG8gPSBhd2FpdCB0aGlzLnJlcG9Gcm9tTmFtZShyZXBvTmFtZSk7XG4gICAgY29uc3QgbG9naW4gPSBhd2FpdCByZXBvLmxvZ2luKCk7XG5cbiAgICBhd2FpdCB0aGlzLnVzYWdlRGlyLnJlc2V0KCk7XG4gICAgYXdhaXQgdGhpcy51c2FnZURpci5wdXRKc29uKExPR0lOX0RBVEFfS0VZLCBsb2dpbik7XG5cbiAgICBhd2FpdCB0aGlzLnVzYWdlRGlyLmFkZFRvRW52KHtcbiAgICAgIENPREVBUlRJRkFDVF9SRVBPOiBsb2dpbi5yZXBvc2l0b3J5TmFtZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IG5wbUxvZ2luKGxvZ2luLCB0aGlzLnVzYWdlRGlyKTtcbiAgICBhd2FpdCBwaXBMb2dpbihsb2dpbiwgdGhpcy51c2FnZURpcik7XG4gICAgYXdhaXQgbWF2ZW5Mb2dpbihsb2dpbiwgdGhpcy51c2FnZURpcik7XG4gICAgYXdhaXQgbnVnZXRMb2dpbihsb2dpbiwgdGhpcy51c2FnZURpcik7XG5cbiAgICByZXR1cm4gbG9naW47XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVibGlzaChkaXJlY3Rvcnk6IHN0cmluZywgcmVwb05hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXBvID0gYXdhaXQgdGhpcy5yZXBvRnJvbU5hbWUocmVwb05hbWUpO1xuICAgIGNvbnN0IGxvZ2luID0gYXdhaXQgcmVwby5sb2dpbigpO1xuXG4gICAgYXdhaXQgdXBsb2FkTnBtUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdqcycsICcqLnRneicpKSwgbG9naW4sIHRoaXMudXNhZ2VEaXIpO1xuXG4gICAgYXdhaXQgdXBsb2FkUHl0aG9uUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdweXRob24nLCAnKicpKSwgbG9naW4pO1xuXG4gICAgYXdhaXQgdXBsb2FkSmF2YVBhY2thZ2VzKGdsb2Iuc3luYyhwYXRoLmpvaW4oZGlyZWN0b3J5LCAnamF2YScsICcqKicsICcqLnBvbScpKSwgbG9naW4sIHRoaXMudXNhZ2VEaXIpO1xuXG4gICAgYXdhaXQgdXBsb2FkRG90bmV0UGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdkb3RuZXQnLCAnKionLCAnKi5udXBrZycpKSwgdGhpcy51c2FnZURpcik7XG5cbiAgICBjb25zb2xlLmxvZygn8J+bjSBDb25maWd1cmluZyBwYWNrYWdlcyBmb3IgdXBzdHJlYW0gdmVyc2lvbnMnKTtcbiAgICBhd2FpdCByZXBvLm1hcmtBbGxVcHN0cmVhbUFsbG93KCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2MoKSB7XG4gICAgYXdhaXQgQ29kZUFydGlmYWN0UmVwby5nYyh0aGlzLnJlcG9PcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBydW5Db21tYW5kKGNvbW1hbmQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMudXNhZ2VEaXIuYWN0aXZhdGVJbkN1cnJlbnRQcm9jZXNzKCk7XG4gICAgYXdhaXQgc2hlbGwoY29tbWFuZCwge1xuICAgICAgc2hlbGw6IHRydWUsXG4gICAgICBzaG93OiAnYWx3YXlzJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBydW5JbnRlcmFjdGl2ZWx5KGNvbW1hbmQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMudXNhZ2VEaXIuYWN0aXZhdGVJbkN1cnJlbnRQcm9jZXNzKCk7XG4gICAgY2hpbGRfcHJvY2Vzcy5leGVjU3luYyhjb21tYW5kLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgc3RkaW86IFsnaW5oZXJpdCcsICdpbmhlcml0JywgJ2luaGVyaXQnXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBDb2RlQXJ0aWZhY3RSZXBvIG9iamVjdCwgZWl0aGVyIGZyb20gdGhlIG5hbWUgYXJndW1lbnQgb3IgdGhlIG1vc3QgcmVjZW50bHkgYWN0aXZhdGVkIHJlcG9zaXRvcnlcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVwb0Zyb21OYW1lKHJlcG9OYW1lPzogc3RyaW5nKSB7XG4gICAgaWYgKHJlcG9OYW1lKSB7XG4gICAgICByZXR1cm4gQ29kZUFydGlmYWN0UmVwby5leGlzdGluZyhyZXBvTmFtZSwgdGhpcy5yZXBvT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9naW5JbmZvID0gYXdhaXQgdGhpcy51c2FnZURpci5yZWFkSnNvbjxMb2dpbkluZm9ybWF0aW9uPihMT0dJTl9EQVRBX0tFWSkgO1xuXG4gICAgaWYgKGxvZ2luSW5mbyAmJiBsb2dpbkluZm8uZXhwaXJhdGlvblRpbWVNcyA+IERhdGUubm93KCkpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gQ29kZUFydGlmYWN0UmVwby5leGlzdGluZyhsb2dpbkluZm8ucmVwb3NpdG9yeU5hbWUsIHRoaXMucmVwb09wdGlvbnMpO1xuICAgICAgZXhpc3Rpbmcuc2V0TG9naW5JbmZvcm1hdGlvbihsb2dpbkluZm8pO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVwb3NpdG9yeSBuYW1lIGdpdmVuLCBhbmQgbm8gcmVwb3NpdG9yeSBhY3RpdmF0ZWQgcmVjZW50bHkuIExvZ2luIHRvIGEgcmVwbyBvciBwYXNzIGEgcmVwbyBuYW1lLicpO1xuICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWFydGlmYWN0LWNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2RlYXJ0aWZhY3QvY29kZWFydGlmYWN0LWNsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0M7QUFDL0MsMkNBQTZCO0FBQzdCLHdFQUF5RTtBQUN6RSwyQkFBMEI7QUFDMUIsMkRBQWtHO0FBQ2xHLG1DQUFnQztBQUNoQywyQ0FBaUU7QUFDakUsdUNBQTREO0FBQzVELDJDQUFtRTtBQUNuRSx1Q0FBK0Q7QUFDL0QsMkNBQXVDO0FBRXZDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQU0vQixNQUFhLGVBQWU7SUFHMUIsWUFBNkIsVUFBa0MsRUFBRTtRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUE2QjtRQUZqRCxhQUFRLEdBQUcsb0JBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUc5QyxDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUEsK0NBQXdCLEVBQUM7Z0JBQ2pFLE1BQU0sRUFBRTtvQkFDTixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO29CQUNuQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsZUFBZSxFQUFFLFdBQVc7aUJBQzdCO2FBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sb0NBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQU0s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cm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGZyb21UZW1wb3JhcnlDcmVkZW50aWFscyB9IGZyb20gJ0Bhd3Mtc2RrL2NyZWRlbnRpYWwtcHJvdmlkZXJzJztcbmltcG9ydCB7IGdsb2IgfSBmcm9tICd6eCc7XG5pbXBvcnQgeyBDb2RlQXJ0aWZhY3RSZXBvLCBDb2RlQXJ0aWZhY3RSZXBvT3B0aW9ucywgTG9naW5JbmZvcm1hdGlvbiB9IGZyb20gJy4vY29kZWFydGlmYWN0LXJlcG8nO1xuaW1wb3J0IHsgc2hlbGwgfSBmcm9tICcuL3NoZWxsJztcbmltcG9ydCB7IHVwbG9hZEphdmFQYWNrYWdlcywgbWF2ZW5Mb2dpbiB9IGZyb20gJy4vc3RhZ2luZy9tYXZlbic7XG5pbXBvcnQgeyB1cGxvYWROcG1QYWNrYWdlcywgbnBtTG9naW4gfSBmcm9tICcuL3N0YWdpbmcvbnBtJztcbmltcG9ydCB7IHVwbG9hZERvdG5ldFBhY2thZ2VzLCBudWdldExvZ2luIH0gZnJvbSAnLi9zdGFnaW5nL251Z2V0JztcbmltcG9ydCB7IHVwbG9hZFB5dGhvblBhY2thZ2VzLCBwaXBMb2dpbiB9IGZyb20gJy4vc3RhZ2luZy9waXAnO1xuaW1wb3J0IHsgVXNhZ2VEaXIgfSBmcm9tICcuL3VzYWdlLWRpcic7XG5cbmNvbnN0IExPR0lOX0RBVEFfS0VZID0gJ2xvZ2luJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQXJ0aWZhY3RDbGlPcHRpb25zIHtcbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUFybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIENvZGVBcnRpZmFjdENsaSB7XG4gIHB1YmxpYyByZWFkb25seSB1c2FnZURpciA9IFVzYWdlRGlyLmRlZmF1bHQoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENvZGVBcnRpZmFjdENsaU9wdGlvbnMgPSB7fSkge1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcmVwb09wdGlvbnMoKTogQ29kZUFydGlmYWN0UmVwb09wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVkZW50aWFsczogdGhpcy5vcHRpb25zLmFzc3VtZVJvbGVBcm4gPyBmcm9tVGVtcG9yYXJ5Q3JlZGVudGlhbHMoe1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBSb2xlQXJuOiB0aGlzLm9wdGlvbnMuYXNzdW1lUm9sZUFybixcbiAgICAgICAgICBEdXJhdGlvblNlY29uZHM6IDM2MDAsXG4gICAgICAgICAgUm9sZVNlc3Npb25OYW1lOiAncHVibGliLWNhJyxcbiAgICAgICAgfSxcbiAgICAgIH0pIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcmFuZG9tIHJlcG9zaXRvcnksIHJldHVybiBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZSgpIHtcbiAgICBjb25zdCByZXBvID0gYXdhaXQgQ29kZUFydGlmYWN0UmVwby5jcmVhdGVSYW5kb20odGhpcy5yZXBvT3B0aW9ucyk7XG4gICAgcmV0dXJuIHJlcG8ucmVwb3NpdG9yeU5hbWU7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHRoZSBnaXZlbiByZXBvXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlKHJlcG9OYW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVwbyA9IGF3YWl0IHRoaXMucmVwb0Zyb21OYW1lKHJlcG9OYW1lKTtcbiAgICBhd2FpdCByZXBvLmRlbGV0ZSgpO1xuXG4gICAgaWYgKCFyZXBvTmFtZSkge1xuICAgICAgYXdhaXQgdGhpcy51c2FnZURpci5kZWxldGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9nIGluIHRvIHRoZSBnaXZlbiByZXBvLCB3cml0ZSBhY3RpdmF0aW9uIGluc3RydWN0aW5zIHRvIHRoZSB1c2FnZSBkaXJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2dpbihyZXBvTmFtZT86IHN0cmluZykge1xuICAgIGNvbnN0IHJlcG8gPSBhd2FpdCB0aGlzLnJlcG9Gcm9tTmFtZShyZXBvTmFtZSk7XG4gICAgY29uc3QgbG9naW4gPSBhd2FpdCByZXBvLmxvZ2luKCk7XG5cbiAgICBhd2FpdCB0aGlzLnVzYWdlRGlyLnJlc2V0KCk7XG4gICAgYXdhaXQgdGhpcy51c2FnZURpci5wdXRKc29uKExPR0lOX0RBVEFfS0VZLCBsb2dpbik7XG5cbiAgICBhd2FpdCB0aGlzLnVzYWdlRGlyLmFkZFRvRW52KHtcbiAgICAgIENPREVBUlRJRkFDVF9SRVBPOiBsb2dpbi5yZXBvc2l0b3J5TmFtZSxcbiAgICB9KTtcblxuICAgIGF3YWl0IG5wbUxvZ2luKGxvZ2luLCB0aGlzLnVzYWdlRGlyKTtcbiAgICBhd2FpdCBwaXBMb2dpbihsb2dpbiwgdGhpcy51c2FnZURpcik7XG4gICAgYXdhaXQgbWF2ZW5Mb2dpbihsb2dpbiwgdGhpcy51c2FnZURpcik7XG4gICAgYXdhaXQgbnVnZXRMb2dpbihsb2dpbiwgdGhpcy51c2FnZURpcik7XG5cbiAgICByZXR1cm4gbG9naW47XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVibGlzaChkaXJlY3Rvcnk6IHN0cmluZywgcmVwb05hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCByZXBvID0gYXdhaXQgdGhpcy5yZXBvRnJvbU5hbWUocmVwb05hbWUpO1xuICAgIGNvbnN0IGxvZ2luID0gYXdhaXQgcmVwby5sb2dpbigpO1xuXG4gICAgYXdhaXQgdXBsb2FkTnBtUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdqcycsICcqLnRneicpKSwgbG9naW4sIHRoaXMudXNhZ2VEaXIpO1xuXG4gICAgYXdhaXQgdXBsb2FkUHl0aG9uUGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdweXRob24nLCAnKicpKSwgbG9naW4pO1xuXG4gICAgYXdhaXQgdXBsb2FkSmF2YVBhY2thZ2VzKGdsb2Iuc3luYyhwYXRoLmpvaW4oZGlyZWN0b3J5LCAnamF2YScsICcqKicsICcqLnBvbScpKSwgbG9naW4sIHRoaXMudXNhZ2VEaXIpO1xuXG4gICAgYXdhaXQgdXBsb2FkRG90bmV0UGFja2FnZXMoZ2xvYi5zeW5jKHBhdGguam9pbihkaXJlY3RvcnksICdkb3RuZXQnLCAnKionLCAnKi5udXBrZycpKSwgdGhpcy51c2FnZURpcik7XG5cbiAgICBjb25zb2xlLmxvZygn8J+bjSBDb25maWd1cmluZyBwYWNrYWdlcyBmb3IgdXBzdHJlYW0gdmVyc2lvbnMnKTtcbiAgICBhd2FpdCByZXBvLm1hcmtBbGxVcHN0cmVhbUFsbG93KCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2MoKSB7XG4gICAgYXdhaXQgQ29kZUFydGlmYWN0UmVwby5nYyh0aGlzLnJlcG9PcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBydW5Db21tYW5kKGNvbW1hbmQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMudXNhZ2VEaXIuYWN0aXZhdGVJbkN1cnJlbnRQcm9jZXNzKCk7XG4gICAgYXdhaXQgc2hlbGwoY29tbWFuZCwge1xuICAgICAgc2hlbGw6IHRydWUsXG4gICAgICBzaG93OiAnYWx3YXlzJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBydW5JbnRlcmFjdGl2ZWx5KGNvbW1hbmQ6IHN0cmluZykge1xuICAgIGF3YWl0IHRoaXMudXNhZ2VEaXIuYWN0aXZhdGVJbkN1cnJlbnRQcm9jZXNzKCk7XG4gICAgY2hpbGRfcHJvY2Vzcy5leGVjU3luYyhjb21tYW5kLCB7XG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgc3RkaW86IFsnaW5oZXJpdCcsICdpbmhlcml0JywgJ2luaGVyaXQnXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBDb2RlQXJ0aWZhY3RSZXBvIG9iamVjdCwgZWl0aGVyIGZyb20gdGhlIG5hbWUgYXJndW1lbnQgb3IgdGhlIG1vc3QgcmVjZW50bHkgYWN0aXZhdGVkIHJlcG9zaXRvcnlcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVwb0Zyb21OYW1lKHJlcG9OYW1lPzogc3RyaW5nKSB7XG4gICAgaWYgKHJlcG9OYW1lKSB7XG4gICAgICByZXR1cm4gQ29kZUFydGlmYWN0UmVwby5leGlzdGluZyhyZXBvTmFtZSwgdGhpcy5yZXBvT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9naW5JbmZvID0gYXdhaXQgdGhpcy51c2FnZURpci5yZWFkSnNvbjxMb2dpbkluZm9ybWF0aW9uPihMT0dJTl9EQVRBX0tFWSkgO1xuXG4gICAgaWYgKGxvZ2luSW5mbyAmJiBsb2dpbkluZm8uZXhwaXJhdGlvblRpbWVNcyA+IERhdGUubm93KCkpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gQ29kZUFydGlmYWN0UmVwby5leGlzdGluZyhsb2dpbkluZm8ucmVwb3NpdG9yeU5hbWUsIHRoaXMucmVwb09wdGlvbnMpO1xuICAgICAgZXhpc3Rpbmcuc2V0TG9naW5JbmZvcm1hdGlvbihsb2dpbkluZm8pO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVwb3NpdG9yeSBuYW1lIGdpdmVuLCBhbmQgbm8gcmVwb3NpdG9yeSBhY3RpdmF0ZWQgcmVjZW50bHkuIExvZ2luIHRvIGEgcmVwbyBvciBwYXNzIGEgcmVwbyBuYW1lLicpO1xuICB9XG59XG4iXX0=
|
|
@@ -287,4 +287,4 @@ async function retryThrottled(block) {
|
|
|
287
287
|
function isResourceNotFoundException(x) {
|
|
288
288
|
return x instanceof client_codeartifact_1.ResourceNotFoundException;
|
|
289
289
|
}
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWFydGlmYWN0LXJlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWFydGlmYWN0L2NvZGVhcnRpZmFjdC1yZXBvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUFxZDtBQUVyZCx5Q0FBc0M7QUFFdEMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVO0FBTXJEOztHQUVHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFHM0I7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFtQyxFQUFFO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RSxNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZLEVBQUUsVUFBbUMsRUFBRTtRQUNwRixNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBc0IsRUFBRSxVQUFtQyxFQUFFO1FBQ2xGLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENB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QUFZLCtDQUF5QixDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NvY2lhdGVFeHRlcm5hbENvbm5lY3Rpb25Db21tYW5kLCBDb2RlYXJ0aWZhY3RDbGllbnQsIENyZWF0ZURvbWFpbkNvbW1hbmQsIENyZWF0ZVJlcG9zaXRvcnlDb21tYW5kLCBEZWxldGVSZXBvc2l0b3J5Q29tbWFuZCwgRGVzY3JpYmVEb21haW5Db21tYW5kLCBEZXNjcmliZVJlcG9zaXRvcnlDb21tYW5kLCBHZXRBdXRob3JpemF0aW9uVG9rZW5Db21tYW5kLCBHZXRSZXBvc2l0b3J5RW5kcG9pbnRDb21tYW5kLCBMaXN0UGFja2FnZXNDb21tYW5kLCBMaXN0UGFja2FnZXNDb21tYW5kSW5wdXQsIExpc3RSZXBvc2l0b3JpZXNDb21tYW5kLCBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCwgUHV0UGFja2FnZU9yaWdpbkNvbmZpZ3VyYXRpb25Db21tYW5kLCBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLCBUaHJvdHRsaW5nRXhjZXB0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNvZGVhcnRpZmFjdCc7XG5pbXBvcnQgeyBBd3NDcmVkZW50aWFsSWRlbnRpdHlQcm92aWRlciB9IGZyb20gJ0Bhd3Mtc2RrL3R5cGVzJztcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSAnLi4vaGVscC9zbGVlcCc7XG5cbmNvbnN0IENPTExFQ1RfQllfVEFHID0gJ2NvbGxlY3QtYnknO1xuY29uc3QgUkVQT19MSUZFVElNRV9NUyA9IDI0ICogMzYwMCAqIDEwMDA7IC8vIE9uZSBkYXlcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQXJ0aWZhY3RSZXBvT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNyZWRlbnRpYWxzPzogQXdzQ3JlZGVudGlhbElkZW50aXR5UHJvdmlkZXI7XG59XG5cbi8qKlxuICogQSBDb2RlQXJ0aWZhY3QgcmVwb3NpdG9yeVxuICovXG5leHBvcnQgY2xhc3MgQ29kZUFydGlmYWN0UmVwbyB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9ET01BSU4gPSAncHVibGliLWNhJztcblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ29kZUFydGlmYWN0IHJlcG8gd2l0aCBhIHJhbmRvbSBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGNyZWF0ZVJhbmRvbShvcHRpb25zOiBDb2RlQXJ0aWZhY3RSZXBvT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgcXVhbGlmaWVyID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikucmVwbGFjZSgvW15hLXowLTldKy9nLCAnJyk7XG5cbiAgICBjb25zdCByZXBvID0gbmV3IENvZGVBcnRpZmFjdFJlcG8oYHRlc3QtJHtxdWFsaWZpZXJ9YCwgb3B0aW9ucyk7XG4gICAgYXdhaXQgcmVwby5jcmVhdGUoKTtcbiAgICByZXR1cm4gcmVwbztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBDb2RlQXJ0aWZhY3QgcmVwb3NpdG9yeSB3aXRoIGEgZ2l2ZW4gbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBjcmVhdGVXaXRoTmFtZShuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IENvZGVBcnRpZmFjdFJlcG9PcHRpb25zID0ge30pIHtcbiAgICBjb25zdCByZXBvID0gbmV3IENvZGVBcnRpZmFjdFJlcG8obmFtZSwgb3B0aW9ucyk7XG4gICAgYXdhaXQgcmVwby5jcmVhdGUoKTtcbiAgICByZXR1cm4gcmVwbztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gZXhpc3RpbmcgQ29kZUFydGlmYWN0IHJlcG9zaXRvcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXhpc3RpbmcocmVwb3NpdG9yeU5hbWU6IHN0cmluZywgb3B0aW9uczogQ29kZUFydGlmYWN0UmVwb09wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiBuZXcgQ29kZUFydGlmYWN0UmVwbyhyZXBvc2l0b3J5TmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2FyYmFnZSBjb2xsZWN0IHJlcG9zaXRvcmllc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBnYyhvcHRpb25zOiBDb2RlQXJ0aWZhY3RSZXBvT3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKCFhd2FpdCBDb2RlQXJ0aWZhY3RSZXBvLmV4aXN0aW5nKCcqZHVtbXkqJykuZG9tYWluRXhpc3RzKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb2RlQXJ0aWZhY3QgPSBuZXcgQ29kZWFydGlmYWN0Q2xpZW50KHtcbiAgICAgIGNyZWRlbnRpYWxzOiBvcHRpb25zLmNyZWRlbnRpYWxzLFxuICAgIH0pO1xuXG4gICAgbGV0IG5leHRUb2tlbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGRvIHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCByZXRyeVRocm90dGxlZCgoKSA9PiBjb2RlQXJ0aWZhY3Quc2VuZChuZXcgTGlzdFJlcG9zaXRvcmllc0NvbW1hbmQoeyBuZXh0VG9rZW4gfSkpKTtcblxuICAgICAgZm9yIChjb25zdCByZXBvIG9mIHBhZ2UucmVwb3NpdG9yaWVzID8/IFtdKSB7XG4gICAgICAgIGNvbnN0IHRhZ3MgPSBhd2FpdCByZXRyeVRocm90dGxlZCgoKSA9PiBjb2RlQXJ0aWZhY3Quc2VuZChuZXcgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmQoeyByZXNvdXJjZUFybjogcmVwby5hcm4hIH0pKSk7XG4gICAgICAgIGNvbnN0IGNvbGxlY3RhYmxlID0gdGFncz8udGFncz8uZmluZCh0ID0+IHQua2V5ID09PSBDT0xMRUNUX0JZX1RBRyAmJiBOdW1iZXIodC52YWx1ZSkgPCBEYXRlLm5vdygpKTtcbiAgICAgICAgaWYgKGNvbGxlY3RhYmxlKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdEZWxldGluZycsIHJlcG8ubmFtZSk7XG4gICAgICAgICAgYXdhaXQgcmV0cnlUaHJvdHRsZWQoKCkgPT4gY29kZUFydGlmYWN0LnNlbmQobmV3IERlbGV0ZVJlcG9zaXRvcnlDb21tYW5kKHtcbiAgICAgICAgICAgIGRvbWFpbjogcmVwby5kb21haW5OYW1lISxcbiAgICAgICAgICAgIHJlcG9zaXRvcnk6IHJlcG8ubmFtZSEsXG4gICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBuZXh0VG9rZW4gPSBwYWdlLm5leHRUb2tlbjtcbiAgICB9IHdoaWxlIChuZXh0VG9rZW4pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IG5wbVVwc3RyZWFtID0gJ25wbS11cHN0cmVhbSc7XG4gIHB1YmxpYyByZWFkb25seSBweXBpVXBzdHJlYW0gPSAncHlwaS11cHN0cmVhbSc7XG4gIHB1YmxpYyByZWFkb25seSBudWdldFVwc3RyZWFtID0gJ251Z2V0LXVwc3RyZWFtJztcbiAgcHVibGljIHJlYWRvbmx5IG1hdmVuVXBzdHJlYW0gPSAnbWF2ZW4tdXBzdHJlYW0nO1xuICBwdWJsaWMgcmVhZG9ubHkgZG9tYWluID0gQ29kZUFydGlmYWN0UmVwby5ERUZBVUxUX0RPTUFJTjtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvZGVBcnRpZmFjdDtcblxuICBwcml2YXRlIF9sb2dpbkluZm9ybWF0aW9uOiBMb2dpbkluZm9ybWF0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbmQ6IENvZGVhcnRpZmFjdENsaWVudFsnc2VuZCddO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHJlcG9zaXRvcnlOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uczogQ29kZUFydGlmYWN0UmVwb09wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgdGhpcy5jb2RlQXJ0aWZhY3QgPSBuZXcgQ29kZWFydGlmYWN0Q2xpZW50KHsgY3JlZGVudGlhbHM6IG9wdGlvbnMuY3JlZGVudGlhbHMgfSk7XG5cbiAgICAvLyBMZXR0aW5nIHRoZSBjb21waWxlciBpbmZlciB0aGUgdHlwZXMgaW4gdGhpcyB3YXkgaXMgdGhlIG9ubHkgd2F5IHRvIGdldCBpdCB0byB0eXBlY2hlY2tcbiAgICB0aGlzLnNlbmQgPSAoY29tbWFuZCkgPT4gcmV0cnlUaHJvdHRsZWQoKCkgPT4gdGhpcy5jb2RlQXJ0aWZhY3Quc2VuZChjb21tYW5kKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3JlYXRlKCkge1xuICAgIGF3YWl0IHRoaXMuZW5zdXJlRG9tYWluKCk7XG4gICAgYXdhaXQgdGhpcy5lbnN1cmVVcHN0cmVhbXMoKTtcblxuICAgIGF3YWl0IHRoaXMuZW5zdXJlUmVwb3NpdG9yeSh0aGlzLnJlcG9zaXRvcnlOYW1lLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1Rlc3RpbmcgcmVwb3NpdG9yeScsXG4gICAgICB1cHN0cmVhbXM6IFtcbiAgICAgICAgdGhpcy5ucG1VcHN0cmVhbSxcbiAgICAgICAgdGhpcy5weXBpVXBzdHJlYW0sXG4gICAgICAgIHRoaXMubnVnZXRVcHN0cmVhbSxcbiAgICAgICAgdGhpcy5tYXZlblVwc3RyZWFtLFxuICAgICAgXSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgW0NPTExFQ1RfQllfVEFHXTogYCR7RGF0ZS5ub3coKSArIFJFUE9fTElGRVRJTUVfTVN9YCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWJzb3JiIG9sZCBsb2dpbiBpbmZvcm1hdGlvblxuICAgKi9cbiAgcHVibGljIHNldExvZ2luSW5mb3JtYXRpb24obG9naW5JbmZvOiBMb2dpbkluZm9ybWF0aW9uKSB7XG4gICAgaWYgKGxvZ2luSW5mby5yZXBvc2l0b3J5TmFtZSAhPT0gdGhpcy5yZXBvc2l0b3J5TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGlzIGxvZ2luIGluZm8gc2VlbXMgdG8gYmUgZm9yIGEgZGlmZmVyZW50IHJlcG8uICcke3RoaXMucmVwb3NpdG9yeU5hbWV9JyAhPSAnJHtsb2dpbkluZm8ucmVwb3NpdG9yeU5hbWV9J2ApO1xuICAgIH1cbiAgICB0aGlzLl9sb2dpbkluZm9ybWF0aW9uID0gbG9naW5JbmZvO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvZ2luKCk6IFByb21pc2U8TG9naW5JbmZvcm1hdGlvbj4ge1xuICAgIGlmICh0aGlzLl9sb2dpbkluZm9ybWF0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbG9naW5JbmZvcm1hdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBkdXJhdGlvblNlY29uZHMgPSAxMiAqIDM2MDA7XG4gICAgY29uc3QgYXV0aFRva2VuID0gYXdhaXQgdGhpcy5zZW5kKG5ldyBHZXRBdXRob3JpemF0aW9uVG9rZW5Db21tYW5kKHsgZG9tYWluOiB0aGlzLmRvbWFpbiwgZHVyYXRpb25TZWNvbmRzIH0pKTtcblxuICAgIHRoaXMuX2xvZ2luSW5mb3JtYXRpb24gPSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgYXV0aFRva2VuOiBhdXRoVG9rZW4uYXV0aG9yaXphdGlvblRva2VuISxcbiAgICAgIGV4cGlyYXRpb25UaW1lTXM6IGF1dGhUb2tlbi5leHBpcmF0aW9uPy5nZXRUaW1lKCkgPz8gKERhdGUubm93KCkgKyBkdXJhdGlvblNlY29uZHMgKiAxMDAwKSxcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiB0aGlzLnJlcG9zaXRvcnlOYW1lLFxuICAgICAgbnBtRW5kcG9pbnQ6IChhd2FpdCB0aGlzLnNlbmQobmV3IEdldFJlcG9zaXRvcnlFbmRwb2ludENvbW1hbmQoeyBkb21haW46IHRoaXMuZG9tYWluLCByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLCBmb3JtYXQ6ICducG0nIH0pKSkucmVwb3NpdG9yeUVuZHBvaW50ISxcbiAgICAgIG1hdmVuRW5kcG9pbnQ6IChhd2FpdCB0aGlzLnNlbmQobmV3IEdldFJlcG9zaXRvcnlFbmRwb2ludENvbW1hbmQoeyBkb21haW46IHRoaXMuZG9tYWluLCByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLCBmb3JtYXQ6ICdtYXZlbicgfSkpKS5yZXBvc2l0b3J5RW5kcG9pbnQhLFxuICAgICAgbnVnZXRFbmRwb2ludDogKGF3YWl0IHRoaXMuc2VuZChuZXcgR2V0UmVwb3NpdG9yeUVuZHBvaW50Q29tbWFuZCh7IGRvbWFpbjogdGhpcy5kb21haW4sIHJlcG9zaXRvcnk6IHRoaXMucmVwb3NpdG9yeU5hbWUsIGZvcm1hdDogJ251Z2V0JyB9KSkpLnJlcG9zaXRvcnlFbmRwb2ludCEsXG4gICAgICBweXBpRW5kcG9pbnQ6IChhd2FpdCB0aGlzLnNlbmQobmV3IEdldFJlcG9zaXRvcnlFbmRwb2ludENvbW1hbmQoeyBkb21haW46IHRoaXMuZG9tYWluLCByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLCBmb3JtYXQ6ICdweXBpJyB9KSkpLnJlcG9zaXRvcnlFbmRwb2ludCEsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5fbG9naW5JbmZvcm1hdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2VuZChuZXcgRGVsZXRlUmVwb3NpdG9yeUNvbW1hbmQoe1xuICAgICAgICBkb21haW46IHRoaXMuZG9tYWluLFxuICAgICAgICByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLFxuICAgICAgfSkpO1xuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5lcnJvcignRGVsZXRlZCcsIHRoaXMucmVwb3NpdG9yeU5hbWUpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKCFpc1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24oZSkpIHsgdGhyb3cgZTsgfVxuICAgICAgLy8gT2theVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IGFsbCBwYWNrYWdlcyBhbmQgbWFyayB0aGVtIGFzIFwiYWxsb3cgdXBzdHJlYW0gdmVyc2lvbnNcIi5cbiAgICpcbiAgICogSWYgd2UgZG9uJ3QgZG8gdGhpcyBhbmQgd2UgcHVibGlzaCBgZm9vQDIuMy40LXJjLjBgLCB0aGVuIHdlIGNhbid0XG4gICAqIGRvd25sb2FkIGBmb29AMi4zLjBgIGFueW1vcmUgYmVjYXVzZSBieSBkZWZhdWx0IENvZGVBcnRpZmFjdCB3aWxsXG4gICAqIGJsb2NrIGRpZmZlcmVudCB2ZXJzaW9ucyBmcm9tIHRoZSBzYW1lIHBhY2thZ2UuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbWFya0FsbFVwc3RyZWFtQWxsb3coKSB7XG4gICAgZm9yIGF3YWl0IChjb25zdCBwa2cgb2YgdGhpcy5saXN0UGFja2FnZXMoeyB1cHN0cmVhbTogJ0JMT0NLJyB9KSkge1xuICAgICAgYXdhaXQgdGhpcy5zZW5kKG5ldyBQdXRQYWNrYWdlT3JpZ2luQ29uZmlndXJhdGlvbkNvbW1hbmQoe1xuICAgICAgICBkb21haW46IHRoaXMuZG9tYWluLFxuICAgICAgICByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLFxuXG4gICAgICAgIGZvcm1hdDogcGtnLmZvcm1hdCEsXG4gICAgICAgIHBhY2thZ2U6IHBrZy5wYWNrYWdlISxcbiAgICAgICAgbmFtZXNwYWNlOiBwa2cubmFtZXNwYWNlISxcbiAgICAgICAgcmVzdHJpY3Rpb25zOiB7XG4gICAgICAgICAgcHVibGlzaDogJ0FMTE9XJyxcbiAgICAgICAgICB1cHN0cmVhbTogJ0FMTE9XJyxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGVuc3VyZURvbWFpbigpIHtcbiAgICBpZiAoYXdhaXQgdGhpcy5kb21haW5FeGlzdHMoKSkgeyByZXR1cm47IH1cbiAgICBhd2FpdCB0aGlzLnNlbmQobmV3IENyZWF0ZURvbWFpbkNvbW1hbmQoe1xuICAgICAgZG9tYWluOiB0aGlzLmRvbWFpbixcbiAgICAgIHRhZ3M6IFt7IGtleTogJ3Rlc3RpbmcnLCB2YWx1ZTogJ3RydWUnIH1dLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZW5zdXJlVXBzdHJlYW1zKCkge1xuICAgIGF3YWl0IHRoaXMuZW5zdXJlUmVwb3NpdG9yeSh0aGlzLm5wbVVwc3RyZWFtLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSB1cHN0cmVhbSByZXBvc2l0b3J5IGZvciBOUE0nLFxuICAgICAgZXh0ZXJuYWw6ICdwdWJsaWM6bnBtanMnLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuZW5zdXJlUmVwb3NpdG9yeSh0aGlzLm1hdmVuVXBzdHJlYW0sIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHVwc3RyZWFtIHJlcG9zaXRvcnkgZm9yIE1hdmVuJyxcbiAgICAgIGV4dGVybmFsOiAncHVibGljOm1hdmVuLWNlbnRyYWwnLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuZW5zdXJlUmVwb3NpdG9yeSh0aGlzLm51Z2V0VXBzdHJlYW0sIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHVwc3RyZWFtIHJlcG9zaXRvcnkgZm9yIE51R2V0JyxcbiAgICAgIGV4dGVybmFsOiAncHVibGljOm51Z2V0LW9yZycsXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5lbnN1cmVSZXBvc2l0b3J5KHRoaXMucHlwaVVwc3RyZWFtLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSB1cHN0cmVhbSByZXBvc2l0b3J5IGZvciBQeVBJJyxcbiAgICAgIGV4dGVybmFsOiAncHVibGljOnB5cGknLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBlbnN1cmVSZXBvc2l0b3J5KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IHtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICByZWFkb25seSBleHRlcm5hbD86IHN0cmluZztcbiAgICByZWFkb25seSB1cHN0cmVhbXM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSB0YWdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgfSkge1xuICAgIGlmIChhd2FpdCB0aGlzLnJlcG9zaXRvcnlFeGlzdHMobmFtZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBhd2FpdCB0aGlzLnNlbmQobmV3IENyZWF0ZVJlcG9zaXRvcnlDb21tYW5kKHtcbiAgICAgIGRvbWFpbjogdGhpcy5kb21haW4sXG4gICAgICByZXBvc2l0b3J5OiBuYW1lLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnM/LmRlc2NyaXB0aW9uLFxuICAgICAgdXBzdHJlYW1zOiBvcHRpb25zPy51cHN0cmVhbXM/Lm1hcChyZXBvc2l0b3J5TmFtZSA9PiAoeyByZXBvc2l0b3J5TmFtZSB9KSksXG4gICAgICB0YWdzOiBvcHRpb25zPy50YWdzID8gT2JqZWN0LmVudHJpZXMob3B0aW9ucy50YWdzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHsga2V5LCB2YWx1ZSB9KSkgOiB1bmRlZmluZWQsXG4gICAgfSkpO1xuXG4gICAgaWYgKG9wdGlvbnM/LmV4dGVybmFsKSB7XG4gICAgICBjb25zdCBleHRlcm5hbENvbm5lY3Rpb24gPSBvcHRpb25zLmV4dGVybmFsO1xuICAgICAgYXdhaXQgcmV0cnkoKCkgPT4gdGhpcy5zZW5kKG5ldyBBc3NvY2lhdGVFeHRlcm5hbENvbm5lY3Rpb25Db21tYW5kKHtcbiAgICAgICAgZG9tYWluOiB0aGlzLmRvbWFpbixcbiAgICAgICAgcmVwb3NpdG9yeTogbmFtZSxcbiAgICAgICAgZXh0ZXJuYWxDb25uZWN0aW9uLFxuICAgICAgfSkpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRvbWFpbkV4aXN0cygpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zZW5kKG5ldyBEZXNjcmliZURvbWFpbkNvbW1hbmQoeyBkb21haW46IHRoaXMuZG9tYWluIH0pKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKCFpc1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24oZSkpIHsgdGhyb3cgZTsgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVwb3NpdG9yeUV4aXN0cyhuYW1lOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zZW5kKG5ldyBEZXNjcmliZVJlcG9zaXRvcnlDb21tYW5kKHsgZG9tYWluOiB0aGlzLmRvbWFpbiwgcmVwb3NpdG9yeTogbmFtZSB9KSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmICghaXNSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uKGUpKSB7IHRocm93IGU7IH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jKiBsaXN0UGFja2FnZXMoZmlsdGVyOiBQaWNrPExpc3RQYWNrYWdlc0NvbW1hbmRJbnB1dCwgJ3Vwc3RyZWFtJ3wncHVibGlzaCd8J2Zvcm1hdCc+ID0ge30pIHtcbiAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlbmQobmV3IExpc3RQYWNrYWdlc0NvbW1hbmQoe1xuICAgICAgZG9tYWluOiB0aGlzLmRvbWFpbixcbiAgICAgIHJlcG9zaXRvcnk6IHRoaXMucmVwb3NpdG9yeU5hbWUsXG4gICAgICAuLi5maWx0ZXIsXG4gICAgfSkpO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGZvciAoY29uc3QgcCBvZiByZXNwb25zZS5wYWNrYWdlcyA/PyBbXSkge1xuICAgICAgICB5aWVsZCBwO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3BvbnNlLm5leHRUb2tlbikge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlbmQobmV3IExpc3RQYWNrYWdlc0NvbW1hbmQoe1xuICAgICAgICBkb21haW46IHRoaXMuZG9tYWluLFxuICAgICAgICByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIG5leHRUb2tlbjogcmVzcG9uc2UubmV4dFRva2VuLFxuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXRyeTxBPihibG9jazogKCkgPT4gUHJvbWlzZTxBPikge1xuICBsZXQgYXR0ZW1wdHMgPSAzO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgYmxvY2soKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmIChhdHRlbXB0cy0tID09PSAwKSB7IHRocm93IGU7IH1cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmRlYnVnKGUubWVzc2FnZSk7XG4gICAgICBhd2FpdCBzbGVlcCg1MDApO1xuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXRyeVRocm90dGxlZDxBPihibG9jazogKCkgPT4gUHJvbWlzZTxBPikge1xuICBsZXQgdGltZSA9IDEwMDtcbiAgbGV0IGF0dGVtcHRzID0gMTU7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBibG9jaygpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUuZGVidWcoZSk7XG5cbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBUaHJvdHRsaW5nRXhjZXB0aW9uKSB8fCAtLWF0dGVtcHRzID09PSAwKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHNsZWVwKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHRpbWUpKTtcbiAgICAgIHRpbWUgKj0gMjtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkluZm9ybWF0aW9uIHtcbiAgcmVhZG9ubHkgYXV0aFRva2VuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4cGlyYXRpb25UaW1lTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgcmVwb3NpdG9yeU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbnBtRW5kcG9pbnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbWF2ZW5FbmRwb2ludDogc3RyaW5nO1xuICByZWFkb25seSBudWdldEVuZHBvaW50OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHB5cGlFbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24oeDogYW55KTogeCBpcyBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uIHtcbiAgcmV0dXJuIHggaW5zdGFuY2VvZiBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uO1xufSJdfQ==
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWFydGlmYWN0LXJlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWFydGlmYWN0L2NvZGVhcnRpZmFjdC1yZXBvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNFQUFxZDtBQUVyZCx5Q0FBc0M7QUFFdEMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVO0FBTXJEOztHQUVHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFHM0I7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFtQyxFQUFFO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4RSxNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsU0FBUyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZLEVBQUUsVUFBbUMsRUFBRTtRQUNwRixNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBc0IsRUFBRSxVQUFtQyxFQUFFO1FBQ2xGLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENB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QUFZLCtDQUF5QixDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NvY2lhdGVFeHRlcm5hbENvbm5lY3Rpb25Db21tYW5kLCBDb2RlYXJ0aWZhY3RDbGllbnQsIENyZWF0ZURvbWFpbkNvbW1hbmQsIENyZWF0ZVJlcG9zaXRvcnlDb21tYW5kLCBEZWxldGVSZXBvc2l0b3J5Q29tbWFuZCwgRGVzY3JpYmVEb21haW5Db21tYW5kLCBEZXNjcmliZVJlcG9zaXRvcnlDb21tYW5kLCBHZXRBdXRob3JpemF0aW9uVG9rZW5Db21tYW5kLCBHZXRSZXBvc2l0b3J5RW5kcG9pbnRDb21tYW5kLCBMaXN0UGFja2FnZXNDb21tYW5kLCBMaXN0UGFja2FnZXNDb21tYW5kSW5wdXQsIExpc3RSZXBvc2l0b3JpZXNDb21tYW5kLCBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCwgUHV0UGFja2FnZU9yaWdpbkNvbmZpZ3VyYXRpb25Db21tYW5kLCBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLCBUaHJvdHRsaW5nRXhjZXB0aW9uIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWNvZGVhcnRpZmFjdCc7XG5pbXBvcnQgdHlwZSB7IEF3c0NyZWRlbnRpYWxJZGVudGl0eVByb3ZpZGVyIH0gZnJvbSAnQHNtaXRoeS90eXBlcyc7XG5pbXBvcnQgeyBzbGVlcCB9IGZyb20gJy4uL2hlbHAvc2xlZXAnO1xuXG5jb25zdCBDT0xMRUNUX0JZX1RBRyA9ICdjb2xsZWN0LWJ5JztcbmNvbnN0IFJFUE9fTElGRVRJTUVfTVMgPSAyNCAqIDM2MDAgKiAxMDAwOyAvLyBPbmUgZGF5XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUFydGlmYWN0UmVwb09wdGlvbnMge1xuICByZWFkb25seSBjcmVkZW50aWFscz86IEF3c0NyZWRlbnRpYWxJZGVudGl0eVByb3ZpZGVyO1xufVxuXG4vKipcbiAqIEEgQ29kZUFydGlmYWN0IHJlcG9zaXRvcnlcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVBcnRpZmFjdFJlcG8ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRE9NQUlOID0gJ3B1YmxpYi1jYSc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIENvZGVBcnRpZmFjdCByZXBvIHdpdGggYSByYW5kb20gbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBjcmVhdGVSYW5kb20ob3B0aW9uczogQ29kZUFydGlmYWN0UmVwb09wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHF1YWxpZmllciA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnJlcGxhY2UoL1teYS16MC05XSsvZywgJycpO1xuXG4gICAgY29uc3QgcmVwbyA9IG5ldyBDb2RlQXJ0aWZhY3RSZXBvKGB0ZXN0LSR7cXVhbGlmaWVyfWAsIG9wdGlvbnMpO1xuICAgIGF3YWl0IHJlcG8uY3JlYXRlKCk7XG4gICAgcmV0dXJuIHJlcG87XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ29kZUFydGlmYWN0IHJlcG9zaXRvcnkgd2l0aCBhIGdpdmVuIG5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgY3JlYXRlV2l0aE5hbWUobmFtZTogc3RyaW5nLCBvcHRpb25zOiBDb2RlQXJ0aWZhY3RSZXBvT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgcmVwbyA9IG5ldyBDb2RlQXJ0aWZhY3RSZXBvKG5hbWUsIG9wdGlvbnMpO1xuICAgIGF3YWl0IHJlcG8uY3JlYXRlKCk7XG4gICAgcmV0dXJuIHJlcG87XG4gIH1cblxuICAvKipcbiAgICogUmVmZXJlbmNlIGFuIGV4aXN0aW5nIENvZGVBcnRpZmFjdCByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV4aXN0aW5nKHJlcG9zaXRvcnlOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IENvZGVBcnRpZmFjdFJlcG9PcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gbmV3IENvZGVBcnRpZmFjdFJlcG8ocmVwb3NpdG9yeU5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdhcmJhZ2UgY29sbGVjdCByZXBvc2l0b3JpZXNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2Mob3B0aW9uczogQ29kZUFydGlmYWN0UmVwb09wdGlvbnMgPSB7fSkge1xuICAgIGlmICghYXdhaXQgQ29kZUFydGlmYWN0UmVwby5leGlzdGluZygnKmR1bW15KicpLmRvbWFpbkV4aXN0cygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29kZUFydGlmYWN0ID0gbmV3IENvZGVhcnRpZmFjdENsaWVudCh7XG4gICAgICBjcmVkZW50aWFsczogb3B0aW9ucy5jcmVkZW50aWFscyxcbiAgICB9KTtcblxuICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBkbyB7XG4gICAgICBjb25zdCBwYWdlID0gYXdhaXQgcmV0cnlUaHJvdHRsZWQoKCkgPT4gY29kZUFydGlmYWN0LnNlbmQobmV3IExpc3RSZXBvc2l0b3JpZXNDb21tYW5kKHsgbmV4dFRva2VuIH0pKSk7XG5cbiAgICAgIGZvciAoY29uc3QgcmVwbyBvZiBwYWdlLnJlcG9zaXRvcmllcyA/PyBbXSkge1xuICAgICAgICBjb25zdCB0YWdzID0gYXdhaXQgcmV0cnlUaHJvdHRsZWQoKCkgPT4gY29kZUFydGlmYWN0LnNlbmQobmV3IExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kKHsgcmVzb3VyY2VBcm46IHJlcG8uYXJuISB9KSkpO1xuICAgICAgICBjb25zdCBjb2xsZWN0YWJsZSA9IHRhZ3M/LnRhZ3M/LmZpbmQodCA9PiB0LmtleSA9PT0gQ09MTEVDVF9CWV9UQUcgJiYgTnVtYmVyKHQudmFsdWUpIDwgRGF0ZS5ub3coKSk7XG4gICAgICAgIGlmIChjb2xsZWN0YWJsZSkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRGVsZXRpbmcnLCByZXBvLm5hbWUpO1xuICAgICAgICAgIGF3YWl0IHJldHJ5VGhyb3R0bGVkKCgpID0+IGNvZGVBcnRpZmFjdC5zZW5kKG5ldyBEZWxldGVSZXBvc2l0b3J5Q29tbWFuZCh7XG4gICAgICAgICAgICBkb21haW46IHJlcG8uZG9tYWluTmFtZSEsXG4gICAgICAgICAgICByZXBvc2l0b3J5OiByZXBvLm5hbWUhLFxuICAgICAgICAgIH0pKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV4dFRva2VuID0gcGFnZS5uZXh0VG9rZW47XG4gICAgfSB3aGlsZSAobmV4dFRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBucG1VcHN0cmVhbSA9ICducG0tdXBzdHJlYW0nO1xuICBwdWJsaWMgcmVhZG9ubHkgcHlwaVVwc3RyZWFtID0gJ3B5cGktdXBzdHJlYW0nO1xuICBwdWJsaWMgcmVhZG9ubHkgbnVnZXRVcHN0cmVhbSA9ICdudWdldC11cHN0cmVhbSc7XG4gIHB1YmxpYyByZWFkb25seSBtYXZlblVwc3RyZWFtID0gJ21hdmVuLXVwc3RyZWFtJztcbiAgcHVibGljIHJlYWRvbmx5IGRvbWFpbiA9IENvZGVBcnRpZmFjdFJlcG8uREVGQVVMVF9ET01BSU47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlQXJ0aWZhY3Q7XG5cbiAgcHJpdmF0ZSBfbG9naW5JbmZvcm1hdGlvbjogTG9naW5JbmZvcm1hdGlvbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBzZW5kOiBDb2RlYXJ0aWZhY3RDbGllbnRbJ3NlbmQnXTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZXBvc2l0b3J5TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IENvZGVBcnRpZmFjdFJlcG9PcHRpb25zID0ge30sXG4gICkge1xuICAgIHRoaXMuY29kZUFydGlmYWN0ID0gbmV3IENvZGVhcnRpZmFjdENsaWVudCh7IGNyZWRlbnRpYWxzOiBvcHRpb25zLmNyZWRlbnRpYWxzIH0pO1xuXG4gICAgLy8gTGV0dGluZyB0aGUgY29tcGlsZXIgaW5mZXIgdGhlIHR5cGVzIGluIHRoaXMgd2F5IGlzIHRoZSBvbmx5IHdheSB0byBnZXQgaXQgdG8gdHlwZWNoZWNrXG4gICAgdGhpcy5zZW5kID0gKGNvbW1hbmQpID0+IHJldHJ5VGhyb3R0bGVkKCgpID0+IHRoaXMuY29kZUFydGlmYWN0LnNlbmQoY29tbWFuZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZSgpIHtcbiAgICBhd2FpdCB0aGlzLmVuc3VyZURvbWFpbigpO1xuICAgIGF3YWl0IHRoaXMuZW5zdXJlVXBzdHJlYW1zKCk7XG5cbiAgICBhd2FpdCB0aGlzLmVuc3VyZVJlcG9zaXRvcnkodGhpcy5yZXBvc2l0b3J5TmFtZSwge1xuICAgICAgZGVzY3JpcHRpb246ICdUZXN0aW5nIHJlcG9zaXRvcnknLFxuICAgICAgdXBzdHJlYW1zOiBbXG4gICAgICAgIHRoaXMubnBtVXBzdHJlYW0sXG4gICAgICAgIHRoaXMucHlwaVVwc3RyZWFtLFxuICAgICAgICB0aGlzLm51Z2V0VXBzdHJlYW0sXG4gICAgICAgIHRoaXMubWF2ZW5VcHN0cmVhbSxcbiAgICAgIF0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIFtDT0xMRUNUX0JZX1RBR106IGAke0RhdGUubm93KCkgKyBSRVBPX0xJRkVUSU1FX01TfWAsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFic29yYiBvbGQgbG9naW4gaW5mb3JtYXRpb25cbiAgICovXG4gIHB1YmxpYyBzZXRMb2dpbkluZm9ybWF0aW9uKGxvZ2luSW5mbzogTG9naW5JbmZvcm1hdGlvbikge1xuICAgIGlmIChsb2dpbkluZm8ucmVwb3NpdG9yeU5hbWUgIT09IHRoaXMucmVwb3NpdG9yeU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhpcyBsb2dpbiBpbmZvIHNlZW1zIHRvIGJlIGZvciBhIGRpZmZlcmVudCByZXBvLiAnJHt0aGlzLnJlcG9zaXRvcnlOYW1lfScgIT0gJyR7bG9naW5JbmZvLnJlcG9zaXRvcnlOYW1lfSdgKTtcbiAgICB9XG4gICAgdGhpcy5fbG9naW5JbmZvcm1hdGlvbiA9IGxvZ2luSW5mbztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2dpbigpOiBQcm9taXNlPExvZ2luSW5mb3JtYXRpb24+IHtcbiAgICBpZiAodGhpcy5fbG9naW5JbmZvcm1hdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvZ2luSW5mb3JtYXRpb247XG4gICAgfVxuXG4gICAgY29uc3QgZHVyYXRpb25TZWNvbmRzID0gMTIgKiAzNjAwO1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IGF3YWl0IHRoaXMuc2VuZChuZXcgR2V0QXV0aG9yaXphdGlvblRva2VuQ29tbWFuZCh7IGRvbWFpbjogdGhpcy5kb21haW4sIGR1cmF0aW9uU2Vjb25kcyB9KSk7XG5cbiAgICB0aGlzLl9sb2dpbkluZm9ybWF0aW9uID0ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgIGF1dGhUb2tlbjogYXV0aFRva2VuLmF1dGhvcml6YXRpb25Ub2tlbiEsXG4gICAgICBleHBpcmF0aW9uVGltZU1zOiBhdXRoVG9rZW4uZXhwaXJhdGlvbj8uZ2V0VGltZSgpID8/IChEYXRlLm5vdygpICsgZHVyYXRpb25TZWNvbmRzICogMTAwMCksXG4gICAgICByZXBvc2l0b3J5TmFtZTogdGhpcy5yZXBvc2l0b3J5TmFtZSxcbiAgICAgIG5wbUVuZHBvaW50OiAoYXdhaXQgdGhpcy5zZW5kKG5ldyBHZXRSZXBvc2l0b3J5RW5kcG9pbnRDb21tYW5kKHsgZG9tYWluOiB0aGlzLmRvbWFpbiwgcmVwb3NpdG9yeTogdGhpcy5yZXBvc2l0b3J5TmFtZSwgZm9ybWF0OiAnbnBtJyB9KSkpLnJlcG9zaXRvcnlFbmRwb2ludCEsXG4gICAgICBtYXZlbkVuZHBvaW50OiAoYXdhaXQgdGhpcy5zZW5kKG5ldyBHZXRSZXBvc2l0b3J5RW5kcG9pbnRDb21tYW5kKHsgZG9tYWluOiB0aGlzLmRvbWFpbiwgcmVwb3NpdG9yeTogdGhpcy5yZXBvc2l0b3J5TmFtZSwgZm9ybWF0OiAnbWF2ZW4nIH0pKSkucmVwb3NpdG9yeUVuZHBvaW50ISxcbiAgICAgIG51Z2V0RW5kcG9pbnQ6IChhd2FpdCB0aGlzLnNlbmQobmV3IEdldFJlcG9zaXRvcnlFbmRwb2ludENvbW1hbmQoeyBkb21haW46IHRoaXMuZG9tYWluLCByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLCBmb3JtYXQ6ICdudWdldCcgfSkpKS5yZXBvc2l0b3J5RW5kcG9pbnQhLFxuICAgICAgcHlwaUVuZHBvaW50OiAoYXdhaXQgdGhpcy5zZW5kKG5ldyBHZXRSZXBvc2l0b3J5RW5kcG9pbnRDb21tYW5kKHsgZG9tYWluOiB0aGlzLmRvbWFpbiwgcmVwb3NpdG9yeTogdGhpcy5yZXBvc2l0b3J5TmFtZSwgZm9ybWF0OiAncHlwaScgfSkpKS5yZXBvc2l0b3J5RW5kcG9pbnQhLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuX2xvZ2luSW5mb3JtYXRpb247XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVsZXRlKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlbmQobmV3IERlbGV0ZVJlcG9zaXRvcnlDb21tYW5kKHtcbiAgICAgICAgZG9tYWluOiB0aGlzLmRvbWFpbixcbiAgICAgICAgcmVwb3NpdG9yeTogdGhpcy5yZXBvc2l0b3J5TmFtZSxcbiAgICAgIH0pKTtcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0RlbGV0ZWQnLCB0aGlzLnJlcG9zaXRvcnlOYW1lKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmICghaXNSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uKGUpKSB7IHRocm93IGU7IH1cbiAgICAgIC8vIE9rYXlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgcGFja2FnZXMgYW5kIG1hcmsgdGhlbSBhcyBcImFsbG93IHVwc3RyZWFtIHZlcnNpb25zXCIuXG4gICAqXG4gICAqIElmIHdlIGRvbid0IGRvIHRoaXMgYW5kIHdlIHB1Ymxpc2ggYGZvb0AyLjMuNC1yYy4wYCwgdGhlbiB3ZSBjYW4ndFxuICAgKiBkb3dubG9hZCBgZm9vQDIuMy4wYCBhbnltb3JlIGJlY2F1c2UgYnkgZGVmYXVsdCBDb2RlQXJ0aWZhY3Qgd2lsbFxuICAgKiBibG9jayBkaWZmZXJlbnQgdmVyc2lvbnMgZnJvbSB0aGUgc2FtZSBwYWNrYWdlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG1hcmtBbGxVcHN0cmVhbUFsbG93KCkge1xuICAgIGZvciBhd2FpdCAoY29uc3QgcGtnIG9mIHRoaXMubGlzdFBhY2thZ2VzKHsgdXBzdHJlYW06ICdCTE9DSycgfSkpIHtcbiAgICAgIGF3YWl0IHRoaXMuc2VuZChuZXcgUHV0UGFja2FnZU9yaWdpbkNvbmZpZ3VyYXRpb25Db21tYW5kKHtcbiAgICAgICAgZG9tYWluOiB0aGlzLmRvbWFpbixcbiAgICAgICAgcmVwb3NpdG9yeTogdGhpcy5yZXBvc2l0b3J5TmFtZSxcblxuICAgICAgICBmb3JtYXQ6IHBrZy5mb3JtYXQhLFxuICAgICAgICBwYWNrYWdlOiBwa2cucGFja2FnZSEsXG4gICAgICAgIG5hbWVzcGFjZTogcGtnLm5hbWVzcGFjZSEsXG4gICAgICAgIHJlc3RyaWN0aW9uczoge1xuICAgICAgICAgIHB1Ymxpc2g6ICdBTExPVycsXG4gICAgICAgICAgdXBzdHJlYW06ICdBTExPVycsXG4gICAgICAgIH0sXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBlbnN1cmVEb21haW4oKSB7XG4gICAgaWYgKGF3YWl0IHRoaXMuZG9tYWluRXhpc3RzKCkpIHsgcmV0dXJuOyB9XG4gICAgYXdhaXQgdGhpcy5zZW5kKG5ldyBDcmVhdGVEb21haW5Db21tYW5kKHtcbiAgICAgIGRvbWFpbjogdGhpcy5kb21haW4sXG4gICAgICB0YWdzOiBbeyBrZXk6ICd0ZXN0aW5nJywgdmFsdWU6ICd0cnVlJyB9XSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGVuc3VyZVVwc3RyZWFtcygpIHtcbiAgICBhd2FpdCB0aGlzLmVuc3VyZVJlcG9zaXRvcnkodGhpcy5ucG1VcHN0cmVhbSwge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgdXBzdHJlYW0gcmVwb3NpdG9yeSBmb3IgTlBNJyxcbiAgICAgIGV4dGVybmFsOiAncHVibGljOm5wbWpzJyxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmVuc3VyZVJlcG9zaXRvcnkodGhpcy5tYXZlblVwc3RyZWFtLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSB1cHN0cmVhbSByZXBvc2l0b3J5IGZvciBNYXZlbicsXG4gICAgICBleHRlcm5hbDogJ3B1YmxpYzptYXZlbi1jZW50cmFsJyxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLmVuc3VyZVJlcG9zaXRvcnkodGhpcy5udWdldFVwc3RyZWFtLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZSB1cHN0cmVhbSByZXBvc2l0b3J5IGZvciBOdUdldCcsXG4gICAgICBleHRlcm5hbDogJ3B1YmxpYzpudWdldC1vcmcnLFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMuZW5zdXJlUmVwb3NpdG9yeSh0aGlzLnB5cGlVcHN0cmVhbSwge1xuICAgICAgZGVzY3JpcHRpb246ICdUaGUgdXBzdHJlYW0gcmVwb3NpdG9yeSBmb3IgUHlQSScsXG4gICAgICBleHRlcm5hbDogJ3B1YmxpYzpweXBpJyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZW5zdXJlUmVwb3NpdG9yeShuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiB7XG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZXh0ZXJuYWw/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdXBzdHJlYW1zPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIH0pIHtcbiAgICBpZiAoYXdhaXQgdGhpcy5yZXBvc2l0b3J5RXhpc3RzKG5hbWUpKSB7IHJldHVybjsgfVxuXG4gICAgYXdhaXQgdGhpcy5zZW5kKG5ldyBDcmVhdGVSZXBvc2l0b3J5Q29tbWFuZCh7XG4gICAgICBkb21haW46IHRoaXMuZG9tYWluLFxuICAgICAgcmVwb3NpdG9yeTogbmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zPy5kZXNjcmlwdGlvbixcbiAgICAgIHVwc3RyZWFtczogb3B0aW9ucz8udXBzdHJlYW1zPy5tYXAocmVwb3NpdG9yeU5hbWUgPT4gKHsgcmVwb3NpdG9yeU5hbWUgfSkpLFxuICAgICAgdGFnczogb3B0aW9ucz8udGFncyA/IE9iamVjdC5lbnRyaWVzKG9wdGlvbnMudGFncykubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7IGtleSwgdmFsdWUgfSkpIDogdW5kZWZpbmVkLFxuICAgIH0pKTtcblxuICAgIGlmIChvcHRpb25zPy5leHRlcm5hbCkge1xuICAgICAgY29uc3QgZXh0ZXJuYWxDb25uZWN0aW9uID0gb3B0aW9ucy5leHRlcm5hbDtcbiAgICAgIGF3YWl0IHJldHJ5KCgpID0+IHRoaXMuc2VuZChuZXcgQXNzb2NpYXRlRXh0ZXJuYWxDb25uZWN0aW9uQ29tbWFuZCh7XG4gICAgICAgIGRvbWFpbjogdGhpcy5kb21haW4sXG4gICAgICAgIHJlcG9zaXRvcnk6IG5hbWUsXG4gICAgICAgIGV4dGVybmFsQ29ubmVjdGlvbixcbiAgICAgIH0pKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkb21haW5FeGlzdHMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2VuZChuZXcgRGVzY3JpYmVEb21haW5Db21tYW5kKHsgZG9tYWluOiB0aGlzLmRvbWFpbiB9KSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmICghaXNSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uKGUpKSB7IHRocm93IGU7IH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcG9zaXRvcnlFeGlzdHMobmFtZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2VuZChuZXcgRGVzY3JpYmVSZXBvc2l0b3J5Q29tbWFuZCh7IGRvbWFpbjogdGhpcy5kb21haW4sIHJlcG9zaXRvcnk6IG5hbWUgfSkpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoIWlzUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbihlKSkgeyB0aHJvdyBlOyB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyogbGlzdFBhY2thZ2VzKGZpbHRlcjogUGljazxMaXN0UGFja2FnZXNDb21tYW5kSW5wdXQsICd1cHN0cmVhbSd8J3B1Ymxpc2gnfCdmb3JtYXQnPiA9IHt9KSB7XG4gICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZW5kKG5ldyBMaXN0UGFja2FnZXNDb21tYW5kKHtcbiAgICAgIGRvbWFpbjogdGhpcy5kb21haW4sXG4gICAgICByZXBvc2l0b3J5OiB0aGlzLnJlcG9zaXRvcnlOYW1lLFxuICAgICAgLi4uZmlsdGVyLFxuICAgIH0pKTtcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzcG9uc2UucGFja2FnZXMgPz8gW10pIHtcbiAgICAgICAgeWllbGQgcDtcbiAgICAgIH1cblxuICAgICAgaWYgKCFyZXNwb25zZS5uZXh0VG9rZW4pIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZW5kKG5ldyBMaXN0UGFja2FnZXNDb21tYW5kKHtcbiAgICAgICAgZG9tYWluOiB0aGlzLmRvbWFpbixcbiAgICAgICAgcmVwb3NpdG9yeTogdGhpcy5yZXBvc2l0b3J5TmFtZSxcbiAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICBuZXh0VG9rZW46IHJlc3BvbnNlLm5leHRUb2tlbixcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmV0cnk8QT4oYmxvY2s6ICgpID0+IFByb21pc2U8QT4pIHtcbiAgbGV0IGF0dGVtcHRzID0gMztcbiAgd2hpbGUgKHRydWUpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGJsb2NrKCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoYXR0ZW1wdHMtLSA9PT0gMCkgeyB0aHJvdyBlOyB9XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5kZWJ1ZyhlLm1lc3NhZ2UpO1xuICAgICAgYXdhaXQgc2xlZXAoNTAwKTtcbiAgICB9XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmV0cnlUaHJvdHRsZWQ8QT4oYmxvY2s6ICgpID0+IFByb21pc2U8QT4pIHtcbiAgbGV0IHRpbWUgPSAxMDA7XG4gIGxldCBhdHRlbXB0cyA9IDE1O1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgYmxvY2soKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmRlYnVnKGUpO1xuXG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgVGhyb3R0bGluZ0V4Y2VwdGlvbikgfHwgLS1hdHRlbXB0cyA9PT0gMCkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBzbGVlcChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aW1lKSk7XG4gICAgICB0aW1lICo9IDI7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5JbmZvcm1hdGlvbiB7XG4gIHJlYWRvbmx5IGF1dGhUb2tlbjogc3RyaW5nO1xuICByZWFkb25seSBleHBpcmF0aW9uVGltZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IHJlcG9zaXRvcnlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5wbUVuZHBvaW50OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1hdmVuRW5kcG9pbnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbnVnZXRFbmRwb2ludDogc3RyaW5nO1xuICByZWFkb25seSBweXBpRW5kcG9pbnQ6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gaXNSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uKHg6IGFueSk6IHggaXMgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbiB7XG4gIHJldHVybiB4IGluc3RhbmNlb2YgUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbjtcbn1cbiJdfQ==
|
package/lib/help/git.d.ts
CHANGED
|
@@ -113,3 +113,24 @@ export declare function identify(user: string, address: string): void;
|
|
|
113
113
|
* Does the given branch exists on the remote.
|
|
114
114
|
*/
|
|
115
115
|
export declare function branchExistsOnRemote(repositoryUrl: string, branch: string): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Returns the `owner/repo` slug of the `origin` remote in the current
|
|
118
|
+
* directory, or undefined if it cannot be determined (e.g. not in a git
|
|
119
|
+
* repository, or no `origin` remote configured).
|
|
120
|
+
*/
|
|
121
|
+
export declare function repositorySlug(): string | undefined;
|
|
122
|
+
/**
|
|
123
|
+
* Extracts the `owner/repo` slug from a git remote URL.
|
|
124
|
+
*
|
|
125
|
+
* Supports HTTPS (`https://github.com/owner/repo.git`), SSH
|
|
126
|
+
* (`git@github.com:owner/repo.git`, `ssh://git@github.com/owner/repo.git`)
|
|
127
|
+
* and URLs without a `.git` suffix.
|
|
128
|
+
*
|
|
129
|
+
* @returns the `owner/repo` slug, or undefined if it cannot be determined
|
|
130
|
+
*/
|
|
131
|
+
export declare function parseRepositorySlug(url: string): string | undefined;
|
|
132
|
+
/**
|
|
133
|
+
* Returns the commit hash of HEAD in the current directory, or undefined if
|
|
134
|
+
* it cannot be determined (e.g. not in a git repository).
|
|
135
|
+
*/
|
|
136
|
+
export declare function head(): string | undefined;
|
package/lib/help/git.js
CHANGED
|
@@ -49,6 +49,9 @@ exports.username = username;
|
|
|
49
49
|
exports.email = email;
|
|
50
50
|
exports.identify = identify;
|
|
51
51
|
exports.branchExistsOnRemote = branchExistsOnRemote;
|
|
52
|
+
exports.repositorySlug = repositorySlug;
|
|
53
|
+
exports.parseRepositorySlug = parseRepositorySlug;
|
|
54
|
+
exports.head = head;
|
|
52
55
|
const shell = __importStar(require("./shell"));
|
|
53
56
|
/**
|
|
54
57
|
* Clones a repository from GitHub. Requires a `GITHUB_TOKEN` env variable.
|
|
@@ -259,4 +262,55 @@ function identify(user, address) {
|
|
|
259
262
|
function branchExistsOnRemote(repositoryUrl, branch) {
|
|
260
263
|
return shell.check(`git ls-remote --exit-code --heads ${tryDetectRepositoryUrl(repositoryUrl)} ${branch}`, { capture: true });
|
|
261
264
|
}
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHAvZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLHNCQW1CQztBQXlCRCw4QkFNQztBQVFELDRCQU1DO0FBT0QsOEJBRUM7QUFPRCw4QkFPQztBQU9ELGtCQUVDO0FBT0QsZ0JBU0M7QUFPRCx3QkFFQztBQUtELG9CQUVDO0FBUUQsa0JBVUM7QUFPRCxvQkFFQztBQVFELDRCQWFDO0FBTUQsNEJBU0M7QUFNRCxzQkFTQztBQVFELDRCQUdDO0FBS0Qsb0RBRUM7QUF6UEQsK0NBQWlDO0FBbUJqQzs7Ozs7R0FLRztBQUNILFNBQWdCLEtBQUssQ0FBQyxhQUFxQixFQUFFLFNBQWlCLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxLQUFLLEVBQUUsTUFBTSxLQUFtQixFQUFFO0lBQ3BILE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTdCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcs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LE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsYUFBcUIsRUFBRSxNQUFjO0lBQ3hFLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLElBQUksTUFBTSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNoSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2hlbGwgZnJvbSAnLi9zaGVsbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvbmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IGRlcHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBicmFuY2hcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDbG9uZXMgYSByZXBvc2l0b3J5IGZyb20gR2l0SHViLiBSZXF1aXJlcyBhIGBHSVRIVUJfVE9LRU5gIGVudiB2YXJpYWJsZS5cbiAqXG4gKiBAcGFyYW0gcmVwb3NpdG9yeVVybCB0aGUgcmVwb3NpdG9yeSB0byBjbG9uZS5cbiAqIEBwYXJhbSB0YXJnZXREaXIgdGhlIGNsb25lIGRpcmVjdG9yeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKHJlcG9zaXRvcnlVcmw6IHN0cmluZywgdGFyZ2V0RGlyOiBzdHJpbmcsIHsgZGVwdGggPSAxLCB0YWdzID0gZmFsc2UsIGJyYW5jaCB9OiBDbG9uZU9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBjbWQgPSBbJ2dpdCcsICdjbG9uZSddO1xuXG4gIGlmIChkZXB0aCkge1xuICAgIGNtZC5wdXNoKGAtLWRlcHRoICR7ZGVwdGh9YCk7XG4gIH1cblxuICBpZiAoYnJhbmNoKSB7XG4gICAgY21kLnB1c2goYC0tYnJhbmNoICR7YnJhbmNofWApO1xuICB9XG5cbiAgaWYgKHRhZ3MpIHtcbiAgICBjbWQucHVzaCgnLS10YWdzJyk7XG4gIH1cblxuICBjbWQucHVzaCh0cnlEZXRlY3RSZXBvc2l0b3J5VXJsKHJlcG9zaXRvcnlVcmwpKTtcbiAgY21kLnB1c2godGFyZ2V0RGlyKTtcblxuICBzaGVsbC5ydW4oY21kLmpvaW4oJyAnKSk7XG59XG5cbmZ1bmN0aW9uIHRyeURldGVjdFJlcG9zaXRvcnlVcmwocmVwb3NpdG9yeVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZ2l0SHViVXNlU3NoID0gZGV0ZWN0U1NIKCk7XG4gIGlmIChnaXRIdWJVc2VTc2gpIHtcbiAgICBjb25zdCBzc2hSZXBvc2l0b3J5VXJsID0gcmVwb3NpdG9yeVVybC5yZXBsYWNlKCcvJywgJzonKTtcbiAgICByZXR1cm4gYGdpdEAke3NzaFJlcG9zaXRvcnlVcmx9LmdpdGA7XG4gIH1cblxuICBjb25zdCBnaXRIdWJUb2tlbiA9IGdldFRva2VuKGRldGVjdEdIRSgpKTtcbiAgaWYgKCFnaXRIdWJUb2tlbikge1xuICAgIHRocm93IG5ldyBFcnJvcignR0lUSFVCX1RPS0VOIGVudiB2YXJpYWJsZSBpcyByZXF1aXJlZCB3aGVuIEdJVEhVQl9VU0VfU1NIIGVudiB2YXJpYWJsZSBpcyBub3QgdXNlZCcpO1xuICB9XG4gIHJldHVybiBgaHR0cHM6Ly8ke2dpdEh1YlRva2VufUAke3JlcG9zaXRvcnlVcmx9LmdpdGA7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGlzIGFuIEdIRSBlbnZpcm9ubWVudC5cbiAqXG4gKiBUaGlzIGNoZWNrIGlzIHVzaW5nIEdJVEhVQl9BUElfVVJMIHNldCBpbiBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvdywgYXMgd2VsbCBhcyBjb21tb24gZ2ggY2xpIGVudiB2YXJpYWJsZXMuXG4gKiBodHRwczovL2RvY3MuZ2l0aHViLmNvbS9lbi9hY3Rpb25zL2xlYXJuLWdpdGh1Yi1hY3Rpb25zL3ZhcmlhYmxlcyNkZWZhdWx0LWVudmlyb25tZW50LXZhcmlhYmxlc1xuICogaHR0cHM6Ly9jbGkuZ2l0aHViLmNvbS9tYW51YWwvZ2hfaGVscF9lbnZpcm9ubWVudFxuICpcbiAqIEByZXR1cm4gLSBgdHJ1ZWAgaWYgR0hfSE9TVCBvciBHSVRIVUJfQVBJX1VSTCBlbnYgdmFyIGFyZSBkZWZpbmVkIGFuZCBub3QgZXF1YWwgdG8gdGhlIHB1YmxpYyBnaXRodWIgZW5kcG9pbnQsIG90aGVyd2lzZSBgZmFsc2VgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RHSEUoKTogYm9vbGVhbiB7XG4gIGNvbnN0IGdpdGh1YkFwaVVybCA9IHByb2Nlc3MuZW52LkdJVEhVQl9BUElfVVJMO1xuICBjb25zdCBnaEhvc3QgPSBwcm9jZXNzLmVudi5HSF9IT1NUO1xuXG4gIHJldHVybiAoQm9vbGVhbihnaEhvc3QpICYmIGdoSG9zdCEudHJpbSgpLnRvTG93ZXJDYXNlKCkgIT0gJ2dpdGh1Yi5jb20nKVxuICAgIHx8IChCb29sZWFuKGdpdGh1YkFwaVVybCkgJiYgZ2l0aHViQXBpVXJsIS50cmltKCkudG9Mb3dlckNhc2UoKSAhPSAnaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbScpO1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gYXBwcm9wcmlhdGUgZ2l0aHViIHRva2VuIGZyb20gdGhlIGVudmlyb25tZW50LlxuICpcbiAqIEByZXR1cm4gR0hfRU5URVJQUklTRV9UT0tFTiBvciBHSVRIVUJfRU5URVJQUklTRV9UT0tFTiBvciBHSVRIVUJfVE9LRU4gaWYgaW4gYW4gR0hFIGVudmlyb25tZW50LCBvdGhlcndpc2UgR0lUSFVCX1RPS0VOXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRva2VuKGlzR0hFOiBib29sZWFuKTogKHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICBpZiAoaXNHSEUpIHtcbiAgICBjb25zdCBnaXRodWJFbnRlcnBpc2VUb2tlbiA9IHByb2Nlc3MuZW52LkdIX0VOVEVSUFJJU0VfVE9LRU4gPz8gcHJvY2Vzcy5lbnYuR0lUSFVCX0VOVEVSUFJJU0VfVE9LRU4gPz8gcHJvY2Vzcy5lbnYuR0lUSFVCX1RPS0VOO1xuICAgIHJldHVybiBnaXRodWJFbnRlcnBpc2VUb2tlbjtcbiAgfVxuICByZXR1cm4gcHJvY2Vzcy5lbnYuR0lUSFVCX1RPS0VOO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBTU0ggc2hvdWxkIGJlIHVzZWQgdG8gY2xvbmUgcmVwby5cbiAqIFRoaXMgY2hlY2tzIHRoZSBwcmVzZW5jZSBhbmQgdmFsdWVzIG9mIHRoZSBHSVRfVVNFX1NTSCBlbnYgdmFyaWFibGUgYW5kIHRoZSBkZXByZWNhdGVkIEdJVEhVQl9VU0VfU1NIIGZvciBsZWdhY3kgcmVhc29uLiBSZXR1cm5zIHRydWUgaWYgZWl0aGVyIG9mIHRoZXNlIGVudiB2YXJzIGFyZSBkZWZpbmVkIGFuZCBub3QgZmFsc3kuXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdFNTSCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4ocHJvY2Vzcy5lbnYuR0lUX1VTRV9TU0ggPz8gcHJvY2Vzcy5lbnYuR0lUSFVCX1VTRV9TU0gpO1xufVxuXG4vKipcbiAqIFF1ZXJ5IHRoZSBnaXQgaW5kZXggZm9yIGNoYW5nZXMuXG4gKlxuICogQHJldHVybiBUcnVlIGlmIGNoYW5nZXMgZXhpc3QsIEZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZJbmRleCgpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBzaGVsbC5ydW4oJ2dpdCBkaWZmLWluZGV4IC0tZXhpdC1jb2RlIEhFQUQgLS0nKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogQWRkIGZpbGVzIHRvIHRoZSBpbmRleC5cbiAqXG4gKiBAcGFyYW0gcCB0aGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZChwOiBzdHJpbmcpIHtcbiAgc2hlbGwucnVuKGBnaXQgYWRkICR7cH1gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgZmlsZXMgZnJvbSB0aGUgd29ya2luZyB0cmVlIGFuZCBmcm9tIHRoZSBpbmRleFxuICpcbiAqIEBwYXJhbSBwIHRoZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm0ocDogc3RyaW5nLCBvcHRpb25zOiB7IHJlY3Vyc2l2ZT86IGJvb2xlYW4gfSA9IHt9KSB7XG4gIGNvbnN0IGNtZCA9IFsnZ2l0JywgJ3JtJ107XG4gIGlmIChvcHRpb25zLnJlY3Vyc2l2ZSkge1xuICAgIGNtZC5wdXNoKCctcicpO1xuICB9XG5cbiAgY21kLnB1c2gocCk7XG5cbiAgc2hlbGwucnVuKGNtZC5qb2luKCcgJykpO1xufVxuXG4vKipcbiAqIENvbW1pdC5cbiAqXG4gKiBAcGFyYW0gbWVzc2FnZSB0aGUgY29tbWl0IG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21taXQobWVzc2FnZTogc3RyaW5nKSB7XG4gIHNoZWxsLnJ1bihgZ2l0IGNvbW1pdCAtbSBcIiR7bWVzc2FnZX1cImApO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemUgYSByZXBvc2l0b3J5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdCgpIHtcbiAgc2hlbGwucnVuKCdnaXQgaW5pdCcpO1xufVxuXG4vKipcbiAqIENlcmF0ZSBhIHRhZy5cbiAqXG4gKiBAcGFyYW0gbmFtZSB0YWcgbmFtZS5cbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHRhZyB3YXMgY3JlYXRlZCwgZmFsc2UgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWcobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgc2hlbGwucnVuKGBnaXQgdGFnIC1hICR7bmFtZX0gLW0gJHtuYW1lfWAsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5tZXNzYWdlLmluY2x1ZGVzKCdhbHJlYWR5IGV4aXN0cycpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cbn1cblxuLyoqXG4gKiBQdXNoIGEgcmVmIHRvIG9yaWdpbi5cbiAqXG4gKiBAcGFyYW0gcmVmIHRoZSByZWZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1c2gocmVmOiBzdHJpbmcpIHtcbiAgc2hlbGwucnVuKGBnaXQgcHVzaCBvcmlnaW4gJHtyZWZ9YCk7XG59XG5cbi8qKlxuICogQ2hlY2tvdXQgdG8gYSBuZXcgYnJhbmNoLiBDcmVhdGVzIGEgbmV3IG9uZSBpZiBgb3B0aW9ucy5jcmVhdGVJZk1pc3NpbmdgIGlzIFRydWUgYW5kIHRoZSBicmFuY2ggZG9lc24ndCBleGlzdC5cbiAqXG4gKiBAcGFyYW0gYnJhbmNoIHRoZSBicmFuY2guXG4gKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tvdXQoYnJhbmNoOiBzdHJpbmcsIG9wdGlvbnM6IHsgY3JlYXRlSWZNaXNzaW5nPzogYm9vbGVhbiB9ICkge1xuICBpZiAob3B0aW9ucy5jcmVhdGVJZk1pc3NpbmcpIHtcbiAgICB0cnkge1xuICAgICAgc2hlbGwucnVuKGBnaXQgc2hvdy1icmFuY2ggb3JpZ2luLyR7YnJhbmNofWAsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUubWVzc2FnZS5pbmNsdWRlcygnZmF0YWw6IGJhZCBzaGExIHJlZmVyZW5jZScpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdSZW1vdGUgYnJhbmNoIG5vdCBmb3VuZCwgY3JlYXRpbmcgbmV3IGJyYW5jaC4nKTtcbiAgICAgICAgc2hlbGwucnVuKGBnaXQgY2hlY2tvdXQgLUIgJHticmFuY2h9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc2hlbGwucnVuKGBnaXQgY2hlY2tvdXQgJHticmFuY2h9YCk7XG59XG5cbi8qKlxuICogRmV0Y2ggdGhlIGNvbmZpZ3VyZWQgZ2l0IHVzZXIgbmFtZSBmb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuICogUmV0dXJucyB1bmRlZmluZWQgaWYgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VybmFtZSgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2hlbGwucnVuKCdnaXQgY29uZmlnIHVzZXIubmFtZScsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBjb25zb2xlLndhcm4oZXJyLm1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogRmV0Y2ggdGhlIGNvbmZpZ3VyZWQgZ2l0IHVzZXIgZW1haWwgZm9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiAqIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBjb25maWd1cmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1haWwoKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHNoZWxsLnJ1bignZ2l0IGNvbmZpZyB1c2VyLmVtYWlsJywgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybihlcnIubWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBJZGVudGlmeSB0aGUgY29tbWl0dGVyIHdpdGggYSB1c2VybmFtZSBhbmQgZW1haWwuXG4gKlxuICogQHBhcmFtIHVzZXIgdGhlIHVzZXJuYW1lLlxuICogQHBhcmFtIGVtYWlsIHRoZSBlbWFpbCBhZGRyZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpZnkodXNlcjogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpIHtcbiAgc2hlbGwucnVuKGBnaXQgY29uZmlnIHVzZXIubmFtZSBcIiR7dXNlcn1cImApO1xuICBzaGVsbC5ydW4oYGdpdCBjb25maWcgdXNlci5lbWFpbCBcIiR7YWRkcmVzc31cImApO1xufVxuXG4vKipcbiAqIERvZXMgdGhlIGdpdmVuIGJyYW5jaCBleGlzdHMgb24gdGhlIHJlbW90ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJyYW5jaEV4aXN0c09uUmVtb3RlKHJlcG9zaXRvcnlVcmw6IHN0cmluZywgYnJhbmNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHNoZWxsLmNoZWNrKGBnaXQgbHMtcmVtb3RlIC0tZXhpdC1jb2RlIC0taGVhZHMgJHt0cnlEZXRlY3RSZXBvc2l0b3J5VXJsKHJlcG9zaXRvcnlVcmwpfSAke2JyYW5jaH1gLCB7IGNhcHR1cmU6IHRydWUgfSk7XG59XG4iXX0=
|
|
265
|
+
/**
|
|
266
|
+
* Returns the `owner/repo` slug of the `origin` remote in the current
|
|
267
|
+
* directory, or undefined if it cannot be determined (e.g. not in a git
|
|
268
|
+
* repository, or no `origin` remote configured).
|
|
269
|
+
*/
|
|
270
|
+
function repositorySlug() {
|
|
271
|
+
try {
|
|
272
|
+
const url = shell.run('git remote get-url origin', { capture: true });
|
|
273
|
+
return parseRepositorySlug(url);
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return undefined;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Extracts the `owner/repo` slug from a git remote URL.
|
|
281
|
+
*
|
|
282
|
+
* Supports HTTPS (`https://github.com/owner/repo.git`), SSH
|
|
283
|
+
* (`git@github.com:owner/repo.git`, `ssh://git@github.com/owner/repo.git`)
|
|
284
|
+
* and URLs without a `.git` suffix.
|
|
285
|
+
*
|
|
286
|
+
* @returns the `owner/repo` slug, or undefined if it cannot be determined
|
|
287
|
+
*/
|
|
288
|
+
function parseRepositorySlug(url) {
|
|
289
|
+
const path = url
|
|
290
|
+
.trim()
|
|
291
|
+
.replace(/\.git$/, '')
|
|
292
|
+
// drop the scheme (https://, ssh://, git+ssh://, ...)
|
|
293
|
+
.replace(/^[a-z+]+:\/\//, '')
|
|
294
|
+
// normalize scp-like ssh syntax (git@host:owner/repo) to a path
|
|
295
|
+
.replace(/^git@[^:/]+[:/]/, '')
|
|
296
|
+
// strip a leading host segment (github.com/owner/repo)
|
|
297
|
+
.replace(/^[^/]+\.[^/]+\//, '');
|
|
298
|
+
const parts = path.split('/').filter(Boolean);
|
|
299
|
+
if (parts.length !== 2) {
|
|
300
|
+
return undefined;
|
|
301
|
+
}
|
|
302
|
+
return parts.join('/');
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Returns the commit hash of HEAD in the current directory, or undefined if
|
|
306
|
+
* it cannot be determined (e.g. not in a git repository).
|
|
307
|
+
*/
|
|
308
|
+
function head() {
|
|
309
|
+
try {
|
|
310
|
+
return shell.run('git rev-parse HEAD', { capture: true });
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
return undefined;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHAvZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLHNCQW1CQztBQXlCRCw4QkFNQztBQVFELDRCQU1DO0FBT0QsOEJBRUM7QUFPRCw4QkFPQztBQU9ELGtCQUVDO0FBT0QsZ0JBU0M7QUFPRCx3QkFFQztBQUtELG9CQUVDO0FBUUQsa0JBVUM7QUFPRCxvQkFFQztBQVFELDRCQWFDO0FBTUQsNEJBU0M7QUFNRCxzQkFTQztBQVFELDRCQUdDO0FBS0Qsb0RBRUM7QUFPRCx3Q0FPQztBQVdELGtEQWVDO0FBTUQsb0JBTUM7QUE3U0QsK0NBQWlDO0FBbUJqQzs7Ozs7R0FLRztBQUNILFNBQWdCLEtBQUssQ0FBQyxhQUFxQixFQUFFLFNBQWlCLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxLQUFLLEVBQUUsTUFBTSxLQUFtQixFQUFFO0lBQ3BILE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTdCLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsS0FBSyxDQUFDLEdB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QUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsSUFBSTtJQUNsQixJQUFJLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzaGVsbCBmcm9tICcuL3NoZWxsJztcblxuZXhwb3J0IGludGVyZmFjZSBDbG9uZU9wdGlvbnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGJyYW5jaFxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENsb25lcyBhIHJlcG9zaXRvcnkgZnJvbSBHaXRIdWIuIFJlcXVpcmVzIGEgYEdJVEhVQl9UT0tFTmAgZW52IHZhcmlhYmxlLlxuICpcbiAqIEBwYXJhbSByZXBvc2l0b3J5VXJsIHRoZSByZXBvc2l0b3J5IHRvIGNsb25lLlxuICogQHBhcmFtIHRhcmdldERpciB0aGUgY2xvbmUgZGlyZWN0b3J5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvbmUocmVwb3NpdG9yeVVybDogc3RyaW5nLCB0YXJnZXREaXI6IHN0cmluZywgeyBkZXB0aCA9IDEsIHRhZ3MgPSBmYWxzZSwgYnJhbmNoIH06IENsb25lT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IGNtZCA9IFsnZ2l0JywgJ2Nsb25lJ107XG5cbiAgaWYgKGRlcHRoKSB7XG4gICAgY21kLnB1c2goYC0tZGVwdGggJHtkZXB0aH1gKTtcbiAgfVxuXG4gIGlmIChicmFuY2gpIHtcbiAgICBjbWQucHVzaChgLS1icmFuY2ggJHticmFuY2h9YCk7XG4gIH1cblxuICBpZiAodGFncykge1xuICAgIGNtZC5wdXNoKCctLXRhZ3MnKTtcbiAgfVxuXG4gIGNtZC5wdXNoKHRyeURldGVjdFJlcG9zaXRvcnlVcmwocmVwb3NpdG9yeVVybCkpO1xuICBjbWQucHVzaCh0YXJnZXREaXIpO1xuXG4gIHNoZWxsLnJ1bihjbWQuam9pbignICcpKTtcbn1cblxuZnVuY3Rpb24gdHJ5RGV0ZWN0UmVwb3NpdG9yeVVybChyZXBvc2l0b3J5VXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBnaXRIdWJVc2VTc2ggPSBkZXRlY3RTU0goKTtcbiAgaWYgKGdpdEh1YlVzZVNzaCkge1xuICAgIGNvbnN0IHNzaFJlcG9zaXRvcnlVcmwgPSByZXBvc2l0b3J5VXJsLnJlcGxhY2UoJy8nLCAnOicpO1xuICAgIHJldHVybiBgZ2l0QCR7c3NoUmVwb3NpdG9yeVVybH0uZ2l0YDtcbiAgfVxuXG4gIGNvbnN0IGdpdEh1YlRva2VuID0gZ2V0VG9rZW4oZGV0ZWN0R0hFKCkpO1xuICBpZiAoIWdpdEh1YlRva2VuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdHSVRIVUJfVE9LRU4gZW52IHZhcmlhYmxlIGlzIHJlcXVpcmVkIHdoZW4gR0lUSFVCX1VTRV9TU0ggZW52IHZhcmlhYmxlIGlzIG5vdCB1c2VkJyk7XG4gIH1cbiAgcmV0dXJuIGBodHRwczovLyR7Z2l0SHViVG9rZW59QCR7cmVwb3NpdG9yeVVybH0uZ2l0YDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgYW4gR0hFIGVudmlyb25tZW50LlxuICpcbiAqIFRoaXMgY2hlY2sgaXMgdXNpbmcgR0lUSFVCX0FQSV9VUkwgc2V0IGluIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93LCBhcyB3ZWxsIGFzIGNvbW1vbiBnaCBjbGkgZW52IHZhcmlhYmxlcy5cbiAqIGh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2FjdGlvbnMvbGVhcm4tZ2l0aHViLWFjdGlvbnMvdmFyaWFibGVzI2RlZmF1bHQtZW52aXJvbm1lbnQtdmFyaWFibGVzXG4gKiBodHRwczovL2NsaS5naXRodWIuY29tL21hbnVhbC9naF9oZWxwX2Vudmlyb25tZW50XG4gKlxuICogQHJldHVybiAtIGB0cnVlYCBpZiBHSF9IT1NUIG9yIEdJVEhVQl9BUElfVVJMIGVudiB2YXIgYXJlIGRlZmluZWQgYW5kIG5vdCBlcXVhbCB0byB0aGUgcHVibGljIGdpdGh1YiBlbmRwb2ludCwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEdIRSgpOiBib29sZWFuIHtcbiAgY29uc3QgZ2l0aHViQXBpVXJsID0gcHJvY2Vzcy5lbnYuR0lUSFVCX0FQSV9VUkw7XG4gIGNvbnN0IGdoSG9zdCA9IHByb2Nlc3MuZW52LkdIX0hPU1Q7XG5cbiAgcmV0dXJuIChCb29sZWFuKGdoSG9zdCkgJiYgZ2hIb3N0IS50cmltKCkudG9Mb3dlckNhc2UoKSAhPSAnZ2l0aHViLmNvbScpXG4gICAgfHwgKEJvb2xlYW4oZ2l0aHViQXBpVXJsKSAmJiBnaXRodWJBcGlVcmwhLnRyaW0oKS50b0xvd2VyQ2FzZSgpICE9ICdodHRwczovL2FwaS5naXRodWIuY29tJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcHByb3ByaWF0ZSBnaXRodWIgdG9rZW4gZnJvbSB0aGUgZW52aXJvbm1lbnQuXG4gKlxuICogQHJldHVybiBHSF9FTlRFUlBSSVNFX1RPS0VOIG9yIEdJVEhVQl9FTlRFUlBSSVNFX1RPS0VOIG9yIEdJVEhVQl9UT0tFTiBpZiBpbiBhbiBHSEUgZW52aXJvbm1lbnQsIG90aGVyd2lzZSBHSVRIVUJfVE9LRU5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW4oaXNHSEU6IGJvb2xlYW4pOiAoc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gIGlmIChpc0dIRSkge1xuICAgIGNvbnN0IGdpdGh1YkVudGVycGlzZVRva2VuID0gcHJvY2Vzcy5lbnYuR0hfRU5URVJQUklTRV9UT0tFTiA/PyBwcm9jZXNzLmVudi5HSVRIVUJfRU5URVJQUklTRV9UT0tFTiA/PyBwcm9jZXNzLmVudi5HSVRIVUJfVE9LRU47XG4gICAgcmV0dXJuIGdpdGh1YkVudGVycGlzZVRva2VuO1xuICB9XG4gIHJldHVybiBwcm9jZXNzLmVudi5HSVRIVUJfVE9LRU47XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIFNTSCBzaG91bGQgYmUgdXNlZCB0byBjbG9uZSByZXBvLlxuICogVGhpcyBjaGVja3MgdGhlIHByZXNlbmNlIGFuZCB2YWx1ZXMgb2YgdGhlIEdJVF9VU0VfU1NIIGVudiB2YXJpYWJsZSBhbmQgdGhlIGRlcHJlY2F0ZWQgR0lUSFVCX1VTRV9TU0ggZm9yIGxlZ2FjeSByZWFzb24uIFJldHVybnMgdHJ1ZSBpZiBlaXRoZXIgb2YgdGhlc2UgZW52IHZhcnMgYXJlIGRlZmluZWQgYW5kIG5vdCBmYWxzeS5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0U1NIKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihwcm9jZXNzLmVudi5HSVRfVVNFX1NTSCA/PyBwcm9jZXNzLmVudi5HSVRIVUJfVVNFX1NTSCk7XG59XG5cbi8qKlxuICogUXVlcnkgdGhlIGdpdCBpbmRleCBmb3IgY2hhbmdlcy5cbiAqXG4gKiBAcmV0dXJuIFRydWUgaWYgY2hhbmdlcyBleGlzdCwgRmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZkluZGV4KCk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHNoZWxsLnJ1bignZ2l0IGRpZmYtaW5kZXggLS1leGl0LWNvZGUgSEVBRCAtLScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGQgZmlsZXMgdG8gdGhlIGluZGV4LlxuICpcbiAqIEBwYXJhbSBwIHRoZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkKHA6IHN0cmluZykge1xuICBzaGVsbC5ydW4oYGdpdCBhZGQgJHtwfWApO1xufVxuXG4vKipcbiAqIFJlbW92ZSBmaWxlcyBmcm9tIHRoZSB3b3JraW5nIHRyZWUgYW5kIGZyb20gdGhlIGluZGV4XG4gKlxuICogQHBhcmFtIHAgdGhlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBybShwOiBzdHJpbmcsIG9wdGlvbnM6IHsgcmVjdXJzaXZlPzogYm9vbGVhbiB9ID0ge30pIHtcbiAgY29uc3QgY21kID0gWydnaXQnLCAncm0nXTtcbiAgaWYgKG9wdGlvbnMucmVjdXJzaXZlKSB7XG4gICAgY21kLnB1c2goJy1yJyk7XG4gIH1cblxuICBjbWQucHVzaChwKTtcblxuICBzaGVsbC5ydW4oY21kLmpvaW4oJyAnKSk7XG59XG5cbi8qKlxuICogQ29tbWl0LlxuICpcbiAqIEBwYXJhbSBtZXNzYWdlIHRoZSBjb21taXQgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbW1pdChtZXNzYWdlOiBzdHJpbmcpIHtcbiAgc2hlbGwucnVuKGBnaXQgY29tbWl0IC1tIFwiJHttZXNzYWdlfVwiYCk7XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBhIHJlcG9zaXRvcnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0KCkge1xuICBzaGVsbC5ydW4oJ2dpdCBpbml0Jyk7XG59XG5cbi8qKlxuICogQ2VyYXRlIGEgdGFnLlxuICpcbiAqIEBwYXJhbSBuYW1lIHRhZyBuYW1lLlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgdGFnIHdhcyBjcmVhdGVkLCBmYWxzZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhZyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBzaGVsbC5ydW4oYGdpdCB0YWcgLWEgJHtuYW1lfSAtbSAke25hbWV9YCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLm1lc3NhZ2UuaW5jbHVkZXMoJ2FscmVhZHkgZXhpc3RzJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhyb3cgZTtcbiAgfVxufVxuXG4vKipcbiAqIFB1c2ggYSByZWYgdG8gb3JpZ2luLlxuICpcbiAqIEBwYXJhbSByZWYgdGhlIHJlZlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVzaChyZWY6IHN0cmluZykge1xuICBzaGVsbC5ydW4oYGdpdCBwdXNoIG9yaWdpbiAke3JlZn1gKTtcbn1cblxuLyoqXG4gKiBDaGVja291dCB0byBhIG5ldyBicmFuY2guIENyZWF0ZXMgYSBuZXcgb25lIGlmIGBvcHRpb25zLmNyZWF0ZUlmTWlzc2luZ2AgaXMgVHJ1ZSBhbmQgdGhlIGJyYW5jaCBkb2Vzbid0IGV4aXN0LlxuICpcbiAqIEBwYXJhbSBicmFuY2ggdGhlIGJyYW5jaC5cbiAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja291dChicmFuY2g6IHN0cmluZywgb3B0aW9uczogeyBjcmVhdGVJZk1pc3Npbmc/OiBib29sZWFuIH0gKSB7XG4gIGlmIChvcHRpb25zLmNyZWF0ZUlmTWlzc2luZykge1xuICAgIHRyeSB7XG4gICAgICBzaGVsbC5ydW4oYGdpdCBzaG93LWJyYW5jaCBvcmlnaW4vJHticmFuY2h9YCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5tZXNzYWdlLmluY2x1ZGVzKCdmYXRhbDogYmFkIHNoYTEgcmVmZXJlbmNlJykpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1JlbW90ZSBicmFuY2ggbm90IGZvdW5kLCBjcmVhdGluZyBuZXcgYnJhbmNoLicpO1xuICAgICAgICBzaGVsbC5ydW4oYGdpdCBjaGVja291dCAtQiAke2JyYW5jaH1gKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBzaGVsbC5ydW4oYGdpdCBjaGVja291dCAke2JyYW5jaH1gKTtcbn1cblxuLyoqXG4gKiBGZXRjaCB0aGUgY29uZmlndXJlZCBnaXQgdXNlciBuYW1lIGZvciB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4gKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub3QgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZXJuYW1lKCkge1xuICB0cnkge1xuICAgIHJldHVybiBzaGVsbC5ydW4oJ2dpdCBjb25maWcgdXNlci5uYW1lJywgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybihlcnIubWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBGZXRjaCB0aGUgY29uZmlndXJlZCBnaXQgdXNlciBlbWFpbCBmb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuICogUmV0dXJucyB1bmRlZmluZWQgaWYgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbWFpbCgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2hlbGwucnVuKCdnaXQgY29uZmlnIHVzZXIuZW1haWwnLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgY29uc29sZS53YXJuKGVyci5tZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIElkZW50aWZ5IHRoZSBjb21taXR0ZXIgd2l0aCBhIHVzZXJuYW1lIGFuZCBlbWFpbC5cbiAqXG4gKiBAcGFyYW0gdXNlciB0aGUgdXNlcm5hbWUuXG4gKiBAcGFyYW0gZW1haWwgdGhlIGVtYWlsIGFkZHJlc3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpZGVudGlmeSh1c2VyOiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZykge1xuICBzaGVsbC5ydW4oYGdpdCBjb25maWcgdXNlci5uYW1lIFwiJHt1c2VyfVwiYCk7XG4gIHNoZWxsLnJ1bihgZ2l0IGNvbmZpZyB1c2VyLmVtYWlsIFwiJHthZGRyZXNzfVwiYCk7XG59XG5cbi8qKlxuICogRG9lcyB0aGUgZ2l2ZW4gYnJhbmNoIGV4aXN0cyBvbiB0aGUgcmVtb3RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnJhbmNoRXhpc3RzT25SZW1vdGUocmVwb3NpdG9yeVVybDogc3RyaW5nLCBicmFuY2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gc2hlbGwuY2hlY2soYGdpdCBscy1yZW1vdGUgLS1leGl0LWNvZGUgLS1oZWFkcyAke3RyeURldGVjdFJlcG9zaXRvcnlVcmwocmVwb3NpdG9yeVVybCl9ICR7YnJhbmNofWAsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBgb3duZXIvcmVwb2Agc2x1ZyBvZiB0aGUgYG9yaWdpbmAgcmVtb3RlIGluIHRoZSBjdXJyZW50XG4gKiBkaXJlY3RvcnksIG9yIHVuZGVmaW5lZCBpZiBpdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCAoZS5nLiBub3QgaW4gYSBnaXRcbiAqIHJlcG9zaXRvcnksIG9yIG5vIGBvcmlnaW5gIHJlbW90ZSBjb25maWd1cmVkKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcG9zaXRvcnlTbHVnKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3QgdXJsID0gc2hlbGwucnVuKCdnaXQgcmVtb3RlIGdldC11cmwgb3JpZ2luJywgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgIHJldHVybiBwYXJzZVJlcG9zaXRvcnlTbHVnKHVybCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBFeHRyYWN0cyB0aGUgYG93bmVyL3JlcG9gIHNsdWcgZnJvbSBhIGdpdCByZW1vdGUgVVJMLlxuICpcbiAqIFN1cHBvcnRzIEhUVFBTIChgaHR0cHM6Ly9naXRodWIuY29tL293bmVyL3JlcG8uZ2l0YCksIFNTSFxuICogKGBnaXRAZ2l0aHViLmNvbTpvd25lci9yZXBvLmdpdGAsIGBzc2g6Ly9naXRAZ2l0aHViLmNvbS9vd25lci9yZXBvLmdpdGApXG4gKiBhbmQgVVJMcyB3aXRob3V0IGEgYC5naXRgIHN1ZmZpeC5cbiAqXG4gKiBAcmV0dXJucyB0aGUgYG93bmVyL3JlcG9gIHNsdWcsIG9yIHVuZGVmaW5lZCBpZiBpdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZXBvc2l0b3J5U2x1Zyh1cmw6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBhdGggPSB1cmxcbiAgICAudHJpbSgpXG4gICAgLnJlcGxhY2UoL1xcLmdpdCQvLCAnJylcbiAgICAvLyBkcm9wIHRoZSBzY2hlbWUgKGh0dHBzOi8vLCBzc2g6Ly8sIGdpdCtzc2g6Ly8sIC4uLilcbiAgICAucmVwbGFjZSgvXlthLXorXSs6XFwvXFwvLywgJycpXG4gICAgLy8gbm9ybWFsaXplIHNjcC1saWtlIHNzaCBzeW50YXggKGdpdEBob3N0Om93bmVyL3JlcG8pIHRvIGEgcGF0aFxuICAgIC5yZXBsYWNlKC9eZ2l0QFteOi9dK1s6L10vLCAnJylcbiAgICAvLyBzdHJpcCBhIGxlYWRpbmcgaG9zdCBzZWdtZW50IChnaXRodWIuY29tL293bmVyL3JlcG8pXG4gICAgLnJlcGxhY2UoL15bXi9dK1xcLlteL10rXFwvLywgJycpO1xuICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy8nKS5maWx0ZXIoQm9vbGVhbik7XG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBwYXJ0cy5qb2luKCcvJyk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgY29tbWl0IGhhc2ggb2YgSEVBRCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnksIG9yIHVuZGVmaW5lZCBpZlxuICogaXQgY2Fubm90IGJlIGRldGVybWluZWQgKGUuZy4gbm90IGluIGEgZ2l0IHJlcG9zaXRvcnkpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGVhZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIHJldHVybiBzaGVsbC5ydW4oJ2dpdCByZXYtcGFyc2UgSEVBRCcsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates GitHub releases via the GitHub REST API, tolerating a release that
|
|
3
|
+
* already exists so that re-running a release is a no-op rather than a
|
|
4
|
+
* failure.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Options for creating a GitHub release.
|
|
8
|
+
*/
|
|
9
|
+
export interface GitHubReleaseOptions {
|
|
10
|
+
/**
|
|
11
|
+
* The tag name of the release (e.g. `v1.2.3`).
|
|
12
|
+
*/
|
|
13
|
+
readonly tag: string;
|
|
14
|
+
/**
|
|
15
|
+
* The repository to release to, in `owner/repo` format.
|
|
16
|
+
*/
|
|
17
|
+
readonly repository: string;
|
|
18
|
+
/**
|
|
19
|
+
* The token used to authenticate against the GitHub API.
|
|
20
|
+
*/
|
|
21
|
+
readonly token: string;
|
|
22
|
+
/**
|
|
23
|
+
* Markdown body of the release (release notes).
|
|
24
|
+
*
|
|
25
|
+
* @default - no release notes
|
|
26
|
+
*/
|
|
27
|
+
readonly body?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The commitish the release tag will point to, if the tag does not exist
|
|
30
|
+
* yet. Ignored by GitHub when the tag already exists.
|
|
31
|
+
*
|
|
32
|
+
* @default - the repository's default branch
|
|
33
|
+
*/
|
|
34
|
+
readonly target?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Mark the release as a prerelease.
|
|
37
|
+
*
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
readonly prerelease?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Whether this release should be explicitly marked as the latest release
|
|
43
|
+
* (`true`) or explicitly not marked as the latest release (`false`).
|
|
44
|
+
*
|
|
45
|
+
* Passed to the GitHub API as `make_latest`.
|
|
46
|
+
*
|
|
47
|
+
* @default - not sent; GitHub determines the latest release
|
|
48
|
+
*/
|
|
49
|
+
readonly latest?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Base URL of the GitHub API.
|
|
52
|
+
*
|
|
53
|
+
* @default 'https://api.github.com'
|
|
54
|
+
*/
|
|
55
|
+
readonly apiUrl?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The outcome of `createGitHubRelease`.
|
|
59
|
+
*/
|
|
60
|
+
export type GitHubReleaseResult = 'created' | 'already_exists';
|
|
61
|
+
/**
|
|
62
|
+
* Creates a GitHub release.
|
|
63
|
+
*
|
|
64
|
+
* Returns `'already_exists'` instead of failing when a release for the tag
|
|
65
|
+
* already exists, so that a re-run of a (partially failed) release workflow is
|
|
66
|
+
* a no-op rather than a failure. The existing release is left untouched. Any
|
|
67
|
+
* other error is thrown.
|
|
68
|
+
*/
|
|
69
|
+
export declare function createGitHubRelease(options: GitHubReleaseOptions): Promise<GitHubReleaseResult>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Creates GitHub releases via the GitHub REST API, tolerating a release that
|
|
4
|
+
* already exists so that re-running a release is a no-op rather than a
|
|
5
|
+
* failure.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createGitHubRelease = createGitHubRelease;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a GitHub release.
|
|
11
|
+
*
|
|
12
|
+
* Returns `'already_exists'` instead of failing when a release for the tag
|
|
13
|
+
* already exists, so that a re-run of a (partially failed) release workflow is
|
|
14
|
+
* a no-op rather than a failure. The existing release is left untouched. Any
|
|
15
|
+
* other error is thrown.
|
|
16
|
+
*/
|
|
17
|
+
async function createGitHubRelease(options) {
|
|
18
|
+
const apiUrl = (options.apiUrl ?? 'https://api.github.com').replace(/\/+$/, '');
|
|
19
|
+
const response = await fetch(`${apiUrl}/repos/${options.repository}/releases`, {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
headers: {
|
|
22
|
+
'Accept': 'application/vnd.github+json',
|
|
23
|
+
'Authorization': `Bearer ${options.token}`,
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
|
+
'X-GitHub-Api-Version': '2022-11-28',
|
|
26
|
+
},
|
|
27
|
+
body: JSON.stringify({
|
|
28
|
+
tag_name: options.tag,
|
|
29
|
+
name: options.tag,
|
|
30
|
+
body: options.body ?? '',
|
|
31
|
+
prerelease: options.prerelease ?? false,
|
|
32
|
+
...(options.target ? { target_commitish: options.target } : {}),
|
|
33
|
+
...(options.latest !== undefined ? { make_latest: String(options.latest) } : {}),
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
if (response.ok) {
|
|
37
|
+
return 'created';
|
|
38
|
+
}
|
|
39
|
+
const body = await response.text();
|
|
40
|
+
if (response.status === 422 && releaseAlreadyExists(body)) {
|
|
41
|
+
return 'already_exists';
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`GitHub release creation failed: HTTP ${response.status} ${response.statusText}: ${body}`);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether a 422 response body indicates that a release for the tag already
|
|
47
|
+
* exists.
|
|
48
|
+
*
|
|
49
|
+
* The API reports this as
|
|
50
|
+
* `{ errors: [{ resource: 'Release', code: 'already_exists', field: 'tag_name' }] }`.
|
|
51
|
+
*/
|
|
52
|
+
function releaseAlreadyExists(responseBody) {
|
|
53
|
+
try {
|
|
54
|
+
const parsed = JSON.parse(responseBody);
|
|
55
|
+
const errors = Array.isArray(parsed?.errors) ? parsed.errors : [];
|
|
56
|
+
return errors.some((e) => e?.resource === 'Release' && e?.code === 'already_exists');
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhcmdldHMvZ2l0aHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOztBQTBFSCxrREErQkM7QUF2Q0Q7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxPQUE2QjtJQUNyRSxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksd0JBQXdCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWhGLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsTUFBTSxVQUFVLE9BQU8sQ0FBQyxVQUFVLFdBQVcsRUFBRTtRQUM3RSxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSw2QkFBNkI7WUFDdkMsZUFBZSxFQUFFLFVBQVUsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUMxQyxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLHNCQUFzQixFQUFFLFlBQVk7U0FDckM7UUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNuQixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDckIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2pCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksS0FBSztZQUN2QyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2pGLENBQUM7S0FDSCxDQUFDLENBQUM7SUFFSCxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzFELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzdHLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLG9CQUFvQixDQUFDLFlBQW9CO0lBQ2hELElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsTUFBTSxNQUFNLEdBQVUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEtBQUssU0FBUyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBHaXRIdWIgcmVsZWFzZXMgdmlhIHRoZSBHaXRIdWIgUkVTVCBBUEksIHRvbGVyYXRpbmcgYSByZWxlYXNlIHRoYXRcbiAqIGFscmVhZHkgZXhpc3RzIHNvIHRoYXQgcmUtcnVubmluZyBhIHJlbGVhc2UgaXMgYSBuby1vcCByYXRoZXIgdGhhbiBhXG4gKiBmYWlsdXJlLlxuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYSBHaXRIdWIgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRIdWJSZWxlYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGFnIG5hbWUgb2YgdGhlIHJlbGVhc2UgKGUuZy4gYHYxLjIuM2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFnOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IHRvIHJlbGVhc2UgdG8sIGluIGBvd25lci9yZXBvYCBmb3JtYXQuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0b2tlbiB1c2VkIHRvIGF1dGhlbnRpY2F0ZSBhZ2FpbnN0IHRoZSBHaXRIdWIgQVBJLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW46IHN0cmluZztcblxuICAvKipcbiAgICogTWFya2Rvd24gYm9keSBvZiB0aGUgcmVsZWFzZSAocmVsZWFzZSBub3RlcykuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVsZWFzZSBub3Rlc1xuICAgKi9cbiAgcmVhZG9ubHkgYm9keT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbW1pdGlzaCB0aGUgcmVsZWFzZSB0YWcgd2lsbCBwb2ludCB0bywgaWYgdGhlIHRhZyBkb2VzIG5vdCBleGlzdFxuICAgKiB5ZXQuIElnbm9yZWQgYnkgR2l0SHViIHdoZW4gdGhlIHRhZyBhbHJlYWR5IGV4aXN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcmVwb3NpdG9yeSdzIGRlZmF1bHQgYnJhbmNoXG4gICAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hcmsgdGhlIHJlbGVhc2UgYXMgYSBwcmVyZWxlYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyByZWxlYXNlIHNob3VsZCBiZSBleHBsaWNpdGx5IG1hcmtlZCBhcyB0aGUgbGF0ZXN0IHJlbGVhc2VcbiAgICogKGB0cnVlYCkgb3IgZXhwbGljaXRseSBub3QgbWFya2VkIGFzIHRoZSBsYXRlc3QgcmVsZWFzZSAoYGZhbHNlYCkuXG4gICAqXG4gICAqIFBhc3NlZCB0byB0aGUgR2l0SHViIEFQSSBhcyBgbWFrZV9sYXRlc3RgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBzZW50OyBHaXRIdWIgZGV0ZXJtaW5lcyB0aGUgbGF0ZXN0IHJlbGVhc2VcbiAgICovXG4gIHJlYWRvbmx5IGxhdGVzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEJhc2UgVVJMIG9mIHRoZSBHaXRIdWIgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbSdcbiAgICovXG4gIHJlYWRvbmx5IGFwaVVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgb3V0Y29tZSBvZiBgY3JlYXRlR2l0SHViUmVsZWFzZWAuXG4gKi9cbmV4cG9ydCB0eXBlIEdpdEh1YlJlbGVhc2VSZXN1bHQgPSAnY3JlYXRlZCcgfCAnYWxyZWFkeV9leGlzdHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBHaXRIdWIgcmVsZWFzZS5cbiAqXG4gKiBSZXR1cm5zIGAnYWxyZWFkeV9leGlzdHMnYCBpbnN0ZWFkIG9mIGZhaWxpbmcgd2hlbiBhIHJlbGVhc2UgZm9yIHRoZSB0YWdcbiAqIGFscmVhZHkgZXhpc3RzLCBzbyB0aGF0IGEgcmUtcnVuIG9mIGEgKHBhcnRpYWxseSBmYWlsZWQpIHJlbGVhc2Ugd29ya2Zsb3cgaXNcbiAqIGEgbm8tb3AgcmF0aGVyIHRoYW4gYSBmYWlsdXJlLiBUaGUgZXhpc3RpbmcgcmVsZWFzZSBpcyBsZWZ0IHVudG91Y2hlZC4gQW55XG4gKiBvdGhlciBlcnJvciBpcyB0aHJvd24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVHaXRIdWJSZWxlYXNlKG9wdGlvbnM6IEdpdEh1YlJlbGVhc2VPcHRpb25zKTogUHJvbWlzZTxHaXRIdWJSZWxlYXNlUmVzdWx0PiB7XG4gIGNvbnN0IGFwaVVybCA9IChvcHRpb25zLmFwaVVybCA/PyAnaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbScpLnJlcGxhY2UoL1xcLyskLywgJycpO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YXBpVXJsfS9yZXBvcy8ke29wdGlvbnMucmVwb3NpdG9yeX0vcmVsZWFzZXNgLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi92bmQuZ2l0aHViK2pzb24nLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7b3B0aW9ucy50b2tlbn1gLFxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICdYLUdpdEh1Yi1BcGktVmVyc2lvbic6ICcyMDIyLTExLTI4JyxcbiAgICB9LFxuICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHRhZ19uYW1lOiBvcHRpb25zLnRhZyxcbiAgICAgIG5hbWU6IG9wdGlvbnMudGFnLFxuICAgICAgYm9keTogb3B0aW9ucy5ib2R5ID8/ICcnLFxuICAgICAgcHJlcmVsZWFzZTogb3B0aW9ucy5wcmVyZWxlYXNlID8/IGZhbHNlLFxuICAgICAgLi4uKG9wdGlvbnMudGFyZ2V0ID8geyB0YXJnZXRfY29tbWl0aXNoOiBvcHRpb25zLnRhcmdldCB9IDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMubGF0ZXN0ICE9PSB1bmRlZmluZWQgPyB7IG1ha2VfbGF0ZXN0OiBTdHJpbmcob3B0aW9ucy5sYXRlc3QpIH0gOiB7fSksXG4gICAgfSksXG4gIH0pO1xuXG4gIGlmIChyZXNwb25zZS5vaykge1xuICAgIHJldHVybiAnY3JlYXRlZCc7XG4gIH1cblxuICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MjIgJiYgcmVsZWFzZUFscmVhZHlFeGlzdHMoYm9keSkpIHtcbiAgICByZXR1cm4gJ2FscmVhZHlfZXhpc3RzJztcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgR2l0SHViIHJlbGVhc2UgY3JlYXRpb24gZmFpbGVkOiBIVFRQICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9OiAke2JvZHl9YCk7XG59XG5cbi8qKlxuICogV2hldGhlciBhIDQyMiByZXNwb25zZSBib2R5IGluZGljYXRlcyB0aGF0IGEgcmVsZWFzZSBmb3IgdGhlIHRhZyBhbHJlYWR5XG4gKiBleGlzdHMuXG4gKlxuICogVGhlIEFQSSByZXBvcnRzIHRoaXMgYXNcbiAqIGB7IGVycm9yczogW3sgcmVzb3VyY2U6ICdSZWxlYXNlJywgY29kZTogJ2FscmVhZHlfZXhpc3RzJywgZmllbGQ6ICd0YWdfbmFtZScgfV0gfWAuXG4gKi9cbmZ1bmN0aW9uIHJlbGVhc2VBbHJlYWR5RXhpc3RzKHJlc3BvbnNlQm9keTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShyZXNwb25zZUJvZHkpO1xuICAgIGNvbnN0IGVycm9yczogYW55W10gPSBBcnJheS5pc0FycmF5KHBhcnNlZD8uZXJyb3JzKSA/IHBhcnNlZC5lcnJvcnMgOiBbXTtcbiAgICByZXR1cm4gZXJyb3JzLnNvbWUoKGUpID0+IGU/LnJlc291cmNlID09PSAnUmVsZWFzZScgJiYgZT8uY29kZSA9PT0gJ2FscmVhZHlfZXhpc3RzJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"bin": {
|
|
9
9
|
"jsii-release": "./bin/jsii-release-shim",
|
|
10
10
|
"jsii-release-ca": "./bin/jsii-release-shim",
|
|
11
|
+
"jsii-release-github": "./bin/jsii-release-shim",
|
|
11
12
|
"jsii-release-golang": "./bin/jsii-release-shim",
|
|
12
13
|
"jsii-release-maven": "./bin/jsii-release-shim",
|
|
13
14
|
"jsii-release-npm": "./bin/jsii-release-shim",
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
"jsii-release-shim": "bin/jsii-release-shim",
|
|
17
18
|
"publib": "bin/publib",
|
|
18
19
|
"publib-ca": "bin/publib-ca",
|
|
20
|
+
"publib-github": "bin/publib-github",
|
|
19
21
|
"publib-golang": "bin/publib-golang",
|
|
20
22
|
"publib-maven": "bin/publib-maven",
|
|
21
23
|
"publib-npm": "bin/publib-npm",
|
|
@@ -23,28 +25,29 @@
|
|
|
23
25
|
"publib-pypi": "bin/publib-pypi"
|
|
24
26
|
},
|
|
25
27
|
"scripts": {
|
|
26
|
-
"build": "
|
|
27
|
-
"bump": "
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"package
|
|
36
|
-
"
|
|
37
|
-
"post-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"test
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"upgrade
|
|
45
|
-
"upgrade-
|
|
46
|
-
"
|
|
47
|
-
"
|
|
28
|
+
"build": "projen build",
|
|
29
|
+
"bump": "projen bump",
|
|
30
|
+
"bump:releasable-commits": "projen bump:releasable-commits",
|
|
31
|
+
"clobber": "projen clobber",
|
|
32
|
+
"compile": "projen compile",
|
|
33
|
+
"default": "projen default",
|
|
34
|
+
"eject": "projen eject",
|
|
35
|
+
"eslint": "projen eslint",
|
|
36
|
+
"integ": "projen integ",
|
|
37
|
+
"package": "projen package",
|
|
38
|
+
"package-legacy": "projen package-legacy",
|
|
39
|
+
"post-compile": "projen post-compile",
|
|
40
|
+
"post-upgrade": "projen post-upgrade",
|
|
41
|
+
"pre-compile": "projen pre-compile",
|
|
42
|
+
"release": "projen release",
|
|
43
|
+
"test": "projen test",
|
|
44
|
+
"test:watch": "projen test:watch",
|
|
45
|
+
"unbump": "projen unbump",
|
|
46
|
+
"upgrade": "projen upgrade",
|
|
47
|
+
"upgrade-cdklabs-projen-project-types": "projen upgrade-cdklabs-projen-project-types",
|
|
48
|
+
"upgrade-dev-deps": "projen upgrade-dev-deps",
|
|
49
|
+
"watch": "projen watch",
|
|
50
|
+
"projen": "projen"
|
|
48
51
|
},
|
|
49
52
|
"author": {
|
|
50
53
|
"name": "Amazon Web Services",
|
|
@@ -53,46 +56,50 @@
|
|
|
53
56
|
"organization": true
|
|
54
57
|
},
|
|
55
58
|
"devDependencies": {
|
|
56
|
-
"@aws-sdk/client-sts": "^3.
|
|
59
|
+
"@aws-sdk/client-sts": "^3.1117.0",
|
|
60
|
+
"@smithy/types": "^4.17.2",
|
|
57
61
|
"@stylistic/eslint-plugin": "^2",
|
|
58
|
-
"@types/
|
|
59
|
-
"@types/jest": "^
|
|
60
|
-
"@types/node": "^
|
|
62
|
+
"@types/fs-extra": "^8.1.5",
|
|
63
|
+
"@types/jest": "^30.0.0",
|
|
64
|
+
"@types/node": "^20",
|
|
61
65
|
"@types/yargs": "^17",
|
|
62
66
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
63
67
|
"@typescript-eslint/parser": "^8",
|
|
64
|
-
"cdklabs-projen-project-types": "^0.
|
|
68
|
+
"cdklabs-projen-project-types": "^0.6.13",
|
|
65
69
|
"commit-and-tag-version": "^12",
|
|
66
70
|
"constructs": "^10.0.0",
|
|
67
71
|
"eslint": "^9",
|
|
68
|
-
"eslint-import-resolver-typescript": "^
|
|
72
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
69
73
|
"eslint-plugin-import": "^2.32.0",
|
|
70
|
-
"jest": "^
|
|
71
|
-
"jest-junit": "^
|
|
72
|
-
"projen": "^0.
|
|
73
|
-
"ts-jest": "^
|
|
74
|
-
"
|
|
75
|
-
"typescript": "~
|
|
74
|
+
"jest": "^30",
|
|
75
|
+
"jest-junit": "^17",
|
|
76
|
+
"projen": "^0.103.11",
|
|
77
|
+
"ts-jest": "^29.4.12",
|
|
78
|
+
"tsx": "^4.23.13",
|
|
79
|
+
"typescript": "~6.0"
|
|
76
80
|
},
|
|
77
81
|
"dependencies": {
|
|
78
|
-
"@aws-sdk/client-codeartifact": "^3.
|
|
79
|
-
"@aws-sdk/credential-providers": "^3.
|
|
80
|
-
"
|
|
81
|
-
"@types/fs-extra": "^8.0.0",
|
|
82
|
-
"fs-extra": "^8.0.0",
|
|
83
|
-
"glob": "10.0.0",
|
|
82
|
+
"@aws-sdk/client-codeartifact": "^3.1120.0",
|
|
83
|
+
"@aws-sdk/credential-providers": "^3.1120.0",
|
|
84
|
+
"fs-extra": "^8.1.0",
|
|
84
85
|
"p-queue": "6",
|
|
85
86
|
"shlex": "^2.1.2",
|
|
86
87
|
"yargs": "^17",
|
|
87
88
|
"zx": "^8.8.5"
|
|
88
89
|
},
|
|
90
|
+
"devEngines": {
|
|
91
|
+
"packageManager": {
|
|
92
|
+
"name": "npm",
|
|
93
|
+
"onFail": "ignore"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
89
96
|
"main": "lib/index.js",
|
|
90
97
|
"license": "Apache-2.0",
|
|
91
98
|
"homepage": "https://github.com/cdklabs/publib",
|
|
92
99
|
"publishConfig": {
|
|
93
100
|
"access": "public"
|
|
94
101
|
},
|
|
95
|
-
"version": "0.
|
|
102
|
+
"version": "0.3.1",
|
|
96
103
|
"jest": {
|
|
97
104
|
"coverageProvider": "v8",
|
|
98
105
|
"testMatch": [
|
|
@@ -129,11 +136,13 @@
|
|
|
129
136
|
}
|
|
130
137
|
]
|
|
131
138
|
],
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
139
|
+
"transform": {
|
|
140
|
+
"^.+\\.[t]sx?$": [
|
|
141
|
+
"ts-jest",
|
|
142
|
+
{
|
|
143
|
+
"tsconfig": "test/tsconfig.json"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
137
146
|
}
|
|
138
147
|
},
|
|
139
148
|
"types": "lib/index.d.ts",
|
package/package.json.bak
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"bin": {
|
|
9
9
|
"jsii-release": "./bin/jsii-release-shim",
|
|
10
10
|
"jsii-release-ca": "./bin/jsii-release-shim",
|
|
11
|
+
"jsii-release-github": "./bin/jsii-release-shim",
|
|
11
12
|
"jsii-release-golang": "./bin/jsii-release-shim",
|
|
12
13
|
"jsii-release-maven": "./bin/jsii-release-shim",
|
|
13
14
|
"jsii-release-npm": "./bin/jsii-release-shim",
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
"jsii-release-shim": "bin/jsii-release-shim",
|
|
17
18
|
"publib": "bin/publib",
|
|
18
19
|
"publib-ca": "bin/publib-ca",
|
|
20
|
+
"publib-github": "bin/publib-github",
|
|
19
21
|
"publib-golang": "bin/publib-golang",
|
|
20
22
|
"publib-maven": "bin/publib-maven",
|
|
21
23
|
"publib-npm": "bin/publib-npm",
|
|
@@ -23,28 +25,29 @@
|
|
|
23
25
|
"publib-pypi": "bin/publib-pypi"
|
|
24
26
|
},
|
|
25
27
|
"scripts": {
|
|
26
|
-
"build": "
|
|
27
|
-
"bump": "
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"package
|
|
36
|
-
"
|
|
37
|
-
"post-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"test
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"upgrade
|
|
45
|
-
"upgrade-
|
|
46
|
-
"
|
|
47
|
-
"
|
|
28
|
+
"build": "projen build",
|
|
29
|
+
"bump": "projen bump",
|
|
30
|
+
"bump:releasable-commits": "projen bump:releasable-commits",
|
|
31
|
+
"clobber": "projen clobber",
|
|
32
|
+
"compile": "projen compile",
|
|
33
|
+
"default": "projen default",
|
|
34
|
+
"eject": "projen eject",
|
|
35
|
+
"eslint": "projen eslint",
|
|
36
|
+
"integ": "projen integ",
|
|
37
|
+
"package": "projen package",
|
|
38
|
+
"package-legacy": "projen package-legacy",
|
|
39
|
+
"post-compile": "projen post-compile",
|
|
40
|
+
"post-upgrade": "projen post-upgrade",
|
|
41
|
+
"pre-compile": "projen pre-compile",
|
|
42
|
+
"release": "projen release",
|
|
43
|
+
"test": "projen test",
|
|
44
|
+
"test:watch": "projen test:watch",
|
|
45
|
+
"unbump": "projen unbump",
|
|
46
|
+
"upgrade": "projen upgrade",
|
|
47
|
+
"upgrade-cdklabs-projen-project-types": "projen upgrade-cdklabs-projen-project-types",
|
|
48
|
+
"upgrade-dev-deps": "projen upgrade-dev-deps",
|
|
49
|
+
"watch": "projen watch",
|
|
50
|
+
"projen": "projen"
|
|
48
51
|
},
|
|
49
52
|
"author": {
|
|
50
53
|
"name": "Amazon Web Services",
|
|
@@ -53,46 +56,50 @@
|
|
|
53
56
|
"organization": true
|
|
54
57
|
},
|
|
55
58
|
"devDependencies": {
|
|
56
|
-
"@aws-sdk/client-sts": "^3.
|
|
59
|
+
"@aws-sdk/client-sts": "^3.1117.0",
|
|
60
|
+
"@smithy/types": "^4.17.2",
|
|
57
61
|
"@stylistic/eslint-plugin": "^2",
|
|
58
|
-
"@types/
|
|
59
|
-
"@types/jest": "^
|
|
60
|
-
"@types/node": "^
|
|
62
|
+
"@types/fs-extra": "^8.1.5",
|
|
63
|
+
"@types/jest": "^30.0.0",
|
|
64
|
+
"@types/node": "^20",
|
|
61
65
|
"@types/yargs": "^17",
|
|
62
66
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
63
67
|
"@typescript-eslint/parser": "^8",
|
|
64
|
-
"cdklabs-projen-project-types": "^0.
|
|
68
|
+
"cdklabs-projen-project-types": "^0.6.13",
|
|
65
69
|
"commit-and-tag-version": "^12",
|
|
66
70
|
"constructs": "^10.0.0",
|
|
67
71
|
"eslint": "^9",
|
|
68
|
-
"eslint-import-resolver-typescript": "^
|
|
72
|
+
"eslint-import-resolver-typescript": "^4.4.5",
|
|
69
73
|
"eslint-plugin-import": "^2.32.0",
|
|
70
|
-
"jest": "^
|
|
71
|
-
"jest-junit": "^
|
|
72
|
-
"projen": "^0.
|
|
73
|
-
"ts-jest": "^
|
|
74
|
-
"
|
|
75
|
-
"typescript": "~
|
|
74
|
+
"jest": "^30",
|
|
75
|
+
"jest-junit": "^17",
|
|
76
|
+
"projen": "^0.103.11",
|
|
77
|
+
"ts-jest": "^29.4.12",
|
|
78
|
+
"tsx": "^4.23.13",
|
|
79
|
+
"typescript": "~6.0"
|
|
76
80
|
},
|
|
77
81
|
"dependencies": {
|
|
78
|
-
"@aws-sdk/client-codeartifact": "^3.
|
|
79
|
-
"@aws-sdk/credential-providers": "^3.
|
|
80
|
-
"
|
|
81
|
-
"@types/fs-extra": "^8.0.0",
|
|
82
|
-
"fs-extra": "^8.0.0",
|
|
83
|
-
"glob": "10.0.0",
|
|
82
|
+
"@aws-sdk/client-codeartifact": "^3.1120.0",
|
|
83
|
+
"@aws-sdk/credential-providers": "^3.1120.0",
|
|
84
|
+
"fs-extra": "^8.1.0",
|
|
84
85
|
"p-queue": "6",
|
|
85
86
|
"shlex": "^2.1.2",
|
|
86
87
|
"yargs": "^17",
|
|
87
88
|
"zx": "^8.8.5"
|
|
88
89
|
},
|
|
90
|
+
"devEngines": {
|
|
91
|
+
"packageManager": {
|
|
92
|
+
"name": "npm",
|
|
93
|
+
"onFail": "ignore"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
89
96
|
"main": "lib/index.js",
|
|
90
97
|
"license": "Apache-2.0",
|
|
91
98
|
"homepage": "https://github.com/cdklabs/publib",
|
|
92
99
|
"publishConfig": {
|
|
93
100
|
"access": "public"
|
|
94
101
|
},
|
|
95
|
-
"version": "0.
|
|
102
|
+
"version": "0.3.1",
|
|
96
103
|
"jest": {
|
|
97
104
|
"coverageProvider": "v8",
|
|
98
105
|
"testMatch": [
|
|
@@ -129,11 +136,13 @@
|
|
|
129
136
|
}
|
|
130
137
|
]
|
|
131
138
|
],
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
139
|
+
"transform": {
|
|
140
|
+
"^.+\\.[t]sx?$": [
|
|
141
|
+
"ts-jest",
|
|
142
|
+
{
|
|
143
|
+
"tsconfig": "test/tsconfig.json"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
137
146
|
}
|
|
138
147
|
},
|
|
139
148
|
"types": "lib/index.d.ts",
|