lerna-projen 0.0.215 → 0.0.216
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/.jsii +2 -2
- package/lib/cli.js +10 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
package/lib/cli.js
CHANGED
|
@@ -6,7 +6,16 @@ const program = new commander_1.Command();
|
|
|
6
6
|
program
|
|
7
7
|
.command('clean-dist <distFolder>')
|
|
8
8
|
.action(async (distFolder) => {
|
|
9
|
+
const changeLogFilePath = `${distFolder}/changelog.md`;
|
|
10
|
+
const versionFilePath = `${distFolder}/version.txt`;
|
|
11
|
+
const releaseTagFilePath = `${distFolder}/releasetag.txt`;
|
|
12
|
+
const changeLogFile = fs_extra_1.readFileSync(changeLogFilePath);
|
|
13
|
+
const versionFile = fs_extra_1.readFileSync(versionFilePath);
|
|
14
|
+
const releaseTagFile = fs_extra_1.readFileSync(releaseTagFilePath);
|
|
9
15
|
fs_extra_1.emptyDirSync(distFolder);
|
|
16
|
+
fs_extra_1.writeFileSync(changeLogFilePath, changeLogFile);
|
|
17
|
+
fs_extra_1.writeFileSync(versionFilePath, versionFile);
|
|
18
|
+
fs_extra_1.writeFileSync(releaseTagFilePath, releaseTagFile);
|
|
10
19
|
});
|
|
11
20
|
program
|
|
12
21
|
.command('copy-dist <subProjectDist> <parentDist>')
|
|
@@ -39,4 +48,4 @@ async function moveDocs(parentDocsDirectory, subProjectPath, subPath, isFile) {
|
|
|
39
48
|
}
|
|
40
49
|
}
|
|
41
50
|
program.parse(process.argv);
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlDQUFpQztBQUNqQyx1Q0FBdUc7QUFFdkcsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBTyxFQUFFLENBQUE7QUFFN0IsT0FBTztLQUNKLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztLQUNsQyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO0lBQzNCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxVQUFVLGVBQWUsQ0FBQTtJQUN0RCxNQUFNLGVBQWUsR0FBRyxHQUFHLFVBQVUsY0FBYyxDQUFBO0lBQ25ELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxVQUFVLGlCQUFpQixDQUFBO0lBQ3pELE1BQU0sYUFBYSxHQUFHLHVCQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNyRCxNQUFNLFdBQVcsR0FBRyx1QkFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBQ2pELE1BQU0sY0FBYyxHQUFHLHVCQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUN2RCx1QkFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3hCLHdCQUFhLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDL0Msd0JBQWEsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDM0Msd0JBQWEsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUNuRCxDQUFDLENBQUMsQ0FBQTtBQUVKLE9BQU87S0FDSixPQUFPLENBQUMseUNBQXlDLENBQUM7S0FDbEQsTUFBTSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEVBQUU7SUFDM0MsTUFBTSxjQUFjLEdBQUcsS0FBSyxjQUFjLEVBQUUsQ0FBQTtJQUM1QyxJQUFJLENBQUMscUJBQVUsQ0FBQyxjQUFjLENBQUM7UUFDN0IsT0FBTTtJQUVSLE1BQU0sT0FBTyxHQUFHLHNCQUFXLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDM0MsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxlQUFJLENBQUMsR0FBRyxjQUFjLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxVQUFVLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUMvSCxDQUFDLENBQUMsQ0FBQTtBQUdKLE9BQU87S0FDSixPQUFPLENBQUMsNEVBQTRFLENBQUM7S0FDckYsTUFBTSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsRUFBRTtJQUM3RSxNQUFNLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDbkYsTUFBTSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNyRSxDQUFDLENBQUMsQ0FBQTtBQUVKLEtBQUssVUFBVSxRQUFRLENBQUMsbUJBQTJCLEVBQUUsY0FBc0IsRUFBRSxPQUFlLEVBQUUsTUFBZTtJQUMzRyxNQUFNLGNBQWMsR0FBRyxLQUFLLGNBQWMsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN2RCxJQUFJLENBQUMscUJBQVUsQ0FBQyxjQUFjLENBQUM7UUFDN0IsT0FBTTtJQUVSLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQTtJQUN0RSx1QkFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDL0IsTUFBTSxXQUFXLEdBQUcsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUE7SUFDckMsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLGVBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxpQkFBaUIsSUFBSSxPQUFPLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQTtLQUMzRTtTQUFNO1FBQ0wsTUFBTSxPQUFPLEdBQUcsc0JBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUMzQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQUksQ0FBQyxHQUFHLGNBQWMsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLGlCQUFpQixJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUM5RztBQUNILENBQUM7QUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbWFuZH0gZnJvbSAnY29tbWFuZGVyJ1xuaW1wb3J0IHtjb3B5LCByZWFkZGlyU3luYywgZXhpc3RzU3luYywgbW92ZSwgZW1wdHlEaXJTeW5jLCByZWFkRmlsZVN5bmMsIHdyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzLWV4dHJhJ1xuXG5jb25zdCBwcm9ncmFtID0gbmV3IENvbW1hbmQoKVxuXG5wcm9ncmFtXG4gIC5jb21tYW5kKCdjbGVhbi1kaXN0IDxkaXN0Rm9sZGVyPicpXG4gIC5hY3Rpb24oYXN5bmMgKGRpc3RGb2xkZXIpID0+IHtcbiAgICBjb25zdCBjaGFuZ2VMb2dGaWxlUGF0aCA9IGAke2Rpc3RGb2xkZXJ9L2NoYW5nZWxvZy5tZGBcbiAgICBjb25zdCB2ZXJzaW9uRmlsZVBhdGggPSBgJHtkaXN0Rm9sZGVyfS92ZXJzaW9uLnR4dGBcbiAgICBjb25zdCByZWxlYXNlVGFnRmlsZVBhdGggPSBgJHtkaXN0Rm9sZGVyfS9yZWxlYXNldGFnLnR4dGBcbiAgICBjb25zdCBjaGFuZ2VMb2dGaWxlID0gcmVhZEZpbGVTeW5jKGNoYW5nZUxvZ0ZpbGVQYXRoKVxuICAgIGNvbnN0IHZlcnNpb25GaWxlID0gcmVhZEZpbGVTeW5jKHZlcnNpb25GaWxlUGF0aClcbiAgICBjb25zdCByZWxlYXNlVGFnRmlsZSA9IHJlYWRGaWxlU3luYyhyZWxlYXNlVGFnRmlsZVBhdGgpXG4gICAgZW1wdHlEaXJTeW5jKGRpc3RGb2xkZXIpXG4gICAgd3JpdGVGaWxlU3luYyhjaGFuZ2VMb2dGaWxlUGF0aCwgY2hhbmdlTG9nRmlsZSlcbiAgICB3cml0ZUZpbGVTeW5jKHZlcnNpb25GaWxlUGF0aCwgdmVyc2lvbkZpbGUpXG4gICAgd3JpdGVGaWxlU3luYyhyZWxlYXNlVGFnRmlsZVBhdGgsIHJlbGVhc2VUYWdGaWxlKVxuICB9KVxuXG5wcm9ncmFtXG4gIC5jb21tYW5kKCdjb3B5LWRpc3QgPHN1YlByb2plY3REaXN0PiA8cGFyZW50RGlzdD4nKVxuICAuYWN0aW9uKGFzeW5jIChzdWJQcm9qZWN0UGF0aCwgcGFyZW50RGlzdCkgPT4ge1xuICAgIGNvbnN0IHN1YlByb2plY3REaXN0ID0gYC4vJHtzdWJQcm9qZWN0UGF0aH1gXG4gICAgaWYgKCFleGlzdHNTeW5jKHN1YlByb2plY3REaXN0KSlcbiAgICAgIHJldHVyblxuXG4gICAgY29uc3QgZW50cmllcyA9IHJlYWRkaXJTeW5jKHN1YlByb2plY3REaXN0KVxuICAgIGF3YWl0IFByb21pc2UuYWxsKGVudHJpZXMubWFwKGYgPT4gY29weShgJHtzdWJQcm9qZWN0RGlzdH0vJHtmfWAsIGAke3BhcmVudERpc3R9LyR7Zn1gLCB7cmVjdXJzaXZlOiB0cnVlLCBvdmVyd3JpdGU6IHRydWV9KSkpXG4gIH0pXG5cblxucHJvZ3JhbVxuICAuY29tbWFuZCgnbW92ZS1kb2NzIDxwYXJlbnREb2NzRGlyZWN0b3J5PiA8c3ViUHJvamVjdFBhdGg+IDxzdWJQcm9qZWN0RG9jc0RpcmVjdG9yeT4nKVxuICAuYWN0aW9uKGFzeW5jIChwYXJlbnREb2NzRGlyZWN0b3J5LCBzdWJQcm9qZWN0UGF0aCwgc3ViUHJvamVjdERvY3NEaXJlY3RvcnkpID0+IHtcbiAgICBhd2FpdCBtb3ZlRG9jcyhwYXJlbnREb2NzRGlyZWN0b3J5LCBzdWJQcm9qZWN0UGF0aCwgc3ViUHJvamVjdERvY3NEaXJlY3RvcnksIGZhbHNlKVxuICAgIGF3YWl0IG1vdmVEb2NzKHBhcmVudERvY3NEaXJlY3RvcnksIHN1YlByb2plY3RQYXRoLCAnQVBJLm1kJywgdHJ1ZSlcbiAgfSlcblxuYXN5bmMgZnVuY3Rpb24gbW92ZURvY3MocGFyZW50RG9jc0RpcmVjdG9yeTogc3RyaW5nLCBzdWJQcm9qZWN0UGF0aDogc3RyaW5nLCBzdWJQYXRoOiBzdHJpbmcsIGlzRmlsZTogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBzdWJQcm9qZWN0RG9jcyA9IGAuLyR7c3ViUHJvamVjdFBhdGh9LyR7c3ViUGF0aH1gXG4gIGlmICghZXhpc3RzU3luYyhzdWJQcm9qZWN0RG9jcykpXG4gICAgcmV0dXJuXG5cbiAgY29uc3QgZGVzdGluYXRpb25Gb2xkZXIgPSBgLi8ke3BhcmVudERvY3NEaXJlY3Rvcnl9LyR7c3ViUHJvamVjdFBhdGh9YFxuICBlbXB0eURpclN5bmMoZGVzdGluYXRpb25Gb2xkZXIpXG4gIGNvbnN0IG1vdmVPcHRpb25zID0ge292ZXJ3cml0ZTogdHJ1ZX1cbiAgaWYgKGlzRmlsZSkge1xuICAgIGF3YWl0IG1vdmUoc3ViUHJvamVjdERvY3MsIGAke2Rlc3RpbmF0aW9uRm9sZGVyfS8ke3N1YlBhdGh9YCwgbW92ZU9wdGlvbnMpXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZW50cmllcyA9IHJlYWRkaXJTeW5jKHN1YlByb2plY3REb2NzKVxuICAgIGF3YWl0IFByb21pc2UuYWxsKGVudHJpZXMubWFwKGYgPT4gbW92ZShgJHtzdWJQcm9qZWN0RG9jc30vJHtmfWAsIGAke2Rlc3RpbmF0aW9uRm9sZGVyfS8ke2Z9YCwgbW92ZU9wdGlvbnMpKSlcbiAgfVxufVxuXG5wcm9ncmFtLnBhcnNlKHByb2Nlc3MuYXJndikiXX0=
|
package/lib/index.js
CHANGED
|
@@ -170,5 +170,5 @@ class LernaProject extends projen_1.javascript.NodeProject {
|
|
|
170
170
|
}
|
|
171
171
|
exports.LernaProject = LernaProject;
|
|
172
172
|
_a = JSII_RTTI_SYMBOL_1;
|
|
173
|
-
LernaProject[_a] = { fqn: "lerna-projen.LernaProject", version: "0.0.
|
|
173
|
+
LernaProject[_a] = { fqn: "lerna-projen.LernaProject", version: "0.0.216" };
|
|
174
174
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBQXVFO0FBR3ZFLDBDQUF1QjtBQUV2QixTQUFTLGdCQUFnQixDQUFDLE9BQWdCO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLGVBQWUsQ0FBQyxDQUFBO0lBQy9FLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxPQUFnQjtJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3BGLE9BQU8sTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDcEIsQ0FBQztBQUVELE1BQU0sZUFBZSxHQUFHLGdDQUFnQyxDQUFBO0FBRXhELFNBQVMscUJBQXFCLENBQUMsS0FBWTtJQUN6QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0RyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7UUFDbkMsT0FBTTtJQUVSLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENB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QixTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEIsQ0FBQzs7QUE3S0gsb0NBOEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtKc29uRmlsZSwgamF2YXNjcmlwdCwgUHJvamVjdCwgVGFza3MsIFNvdXJjZUNvZGV9IGZyb20gJ3Byb2plbidcbmltcG9ydCB7TGVybmFQcm9qZWN0T3B0aW9uc30gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcblxuZnVuY3Rpb24gZ2V0RG9jc0RpcmVjdG9yeShwcm9qZWN0OiBQcm9qZWN0KSB7XG4gIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5lbnRyaWVzKHByb2plY3QpLmZpbmQoKFtrZXldKSA9PiBrZXkgPT09ICdkb2NzRGlyZWN0b3J5JylcbiAgcmV0dXJuIHJlc3VsdD8uWzFdLnJlcGxhY2UoL1xcLyQvLCAnJylcbn1cblxuZnVuY3Rpb24gZ2V0QXJ0aWZhY3RzRGlyZWN0b3J5KHByb2plY3Q6IFByb2plY3QpIHtcbiAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmVudHJpZXMocHJvamVjdCkuZmluZCgoW2tleV0pID0+IGtleSA9PT0gJ2FydGlmYWN0c0RpcmVjdG9yeScpXG4gIHJldHVybiByZXN1bHQ/LlsxXVxufVxuXG5jb25zdCBqc2lpVGFza1BhdHRlcm4gPSAvanNpaS1kb2NnZW4gLW8gKD88b3V0cHV0Pi4rKSQvaVxuXG5mdW5jdGlvbiBleHRyYWN0SnNpaURvY3NPdXRwdXQodGFza3M6IFRhc2tzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QganNpaURvY1N0ZXAgPSB0YXNrcy50cnlGaW5kKCdkb2NnZW4nKT8uc3RlcHMuZmluZChzdGVwID0+IGpzaWlUYXNrUGF0dGVybi50ZXN0KHN0ZXAuZXhlYyA/PyAnJykpXG4gIGlmICghanNpaURvY1N0ZXAgfHwgIWpzaWlEb2NTdGVwLmV4ZWMpXG4gICAgcmV0dXJuXG5cbiAgY29uc3QgbWF0Y2ggPSBqc2lpRG9jU3RlcC5leGVjLm1hdGNoKGpzaWlUYXNrUGF0dGVybilcbiAgcmV0dXJuIG1hdGNoPy5ncm91cHM/Lm91dHB1dFxufVxuXG5jb25zdCBsb2NrZWRUYXNrTmFtZXMgPSBbJ2J1aWxkJywgJ3VwZ3JhZGUnLCAndXBncmFkZS1wcm9qZW4nXVxuXG5leHBvcnQgY2xhc3MgTGVybmFQcm9qZWN0IGV4dGVuZHMgamF2YXNjcmlwdC5Ob2RlUHJvamVjdCB7XG5cbiAgcHJpdmF0ZSBzdWJQcm9qZWN0czogUmVjb3JkPHN0cmluZywgUHJvamVjdD5cbiAgcHJpdmF0ZSBwcm9qZW5yY1RzOiBib29sZWFuXG5cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nXG4gIHJlYWRvbmx5IGRvY2dlbjogYm9vbGVhblxuICByZWFkb25seSBzaW5jZUxhc3RSZWxlYXNlOiBib29sZWFuXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTGVybmFQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBqZXN0OiBmYWxzZSxcbiAgICB9KVxuXG4gICAgdGhpcy5hZGREZXZEZXBzKCdsZXJuYS1wcm9qZW4nLCAnbGVybmFANScpXG5cbiAgICBpZiAob3B0aW9ucy5wcm9qZW5yY1RzKVxuICAgICAgdGhpcy5hZGREZXZEZXBzKCd0cy1ub2RlJywgJ3R5cGVzY3JpcHQnKVxuXG4gICAgdGhpcy5zdWJQcm9qZWN0cyA9IHt9XG4gICAgdGhpcy5kb2NzRGlyZWN0b3J5ID0gb3B0aW9ucy5kb2NzRGlyZWN0b3J5ID8/ICdkb2NzJ1xuICAgIHRoaXMuZG9jZ2VuID0gb3B0aW9ucy5kb2NnZW4gPz8gZmFsc2VcbiAgICB0aGlzLnNpbmNlTGFzdFJlbGVhc2UgPSBvcHRpb25zLnNpbmNlTGFzdFJlbGVhc2UgPz8gZmFsc2VcbiAgICB0aGlzLnByb2plbnJjVHMgPSBvcHRpb25zLnByb2plbnJjVHMgPz8gZmFsc2VcbiAgfVxuXG4gIGFkZFN1YlByb2plY3Qoc3ViUHJvamVjdDogUHJvamVjdCkge1xuICAgIGNvbnN0IHtvdXRkaXJ9ID0gc3ViUHJvamVjdFxuXG4gICAgaWYgKCFvdXRkaXIgfHwgIW91dGRpci5pbmNsdWRlcyh0aGlzLm91dGRpcikpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Egc3ViIHByb2plY3Qgb3V0IGRpciBzaG91bGQgZXhpc3RzIHdpdGhpbiB0aGUgbGVybmEgcGFja2FnZScpXG5cbiAgICBjb25zdCByZWxhdGl2ZU91dERpciA9IG91dGRpci5yZXBsYWNlKGAke3RoaXMub3V0ZGlyfS9gLCAnJylcblxuICAgIHRoaXMuc3ViUHJvamVjdHNbcmVsYXRpdmVPdXREaXJdID0gc3ViUHJvamVjdFxuICB9XG5cbiAgcHJlU3ludGhlc2l6ZSgpIHtcbiAgICBzdXBlci5wcmVTeW50aGVzaXplKClcbiAgICBjb25zdCBwcm9qZW5Db21tYW5kID0gdGhpcy5wcm9qZW5yY1RzID8gJ3RzLW5vZGUgLS1za2lwLXByb2plY3QgLnByb2plbnJjLnRzJyA6ICdub2RlIC5wcm9qZW5yYy5qcydcbiAgICBjb25zdCB7ZGVmYXVsdFRhc2t9ID0gdGhpc1xuICAgIGlmICghZGVmYXVsdFRhc2spXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGRlZmF1bHQgdGFzaycpXG4gICAgZGVmYXVsdFRhc2sucmVzZXQoJ25wbSBpIGxlcm5hLXByb2plbiAtLXBhY2thZ2UtbG9jaz1mYWxzZScpXG4gICAgZGVmYXVsdFRhc2suZXhlYyhwcm9qZW5Db21tYW5kKVxuICAgIHRoaXMucGFja2FnZVRhc2sucmVzZXQoYG1rZGlyIC1wICR7dGhpcy5hcnRpZmFjdHNKYXZhc2NyaXB0RGlyZWN0b3J5fWApXG5cbiAgICB0aGlzLmFwcGVuZExlcm5hQ29tbWFuZHMoKVxuXG4gICAgdGhpcy5wcmVDb21waWxlVGFzay5leGVjKGBsZXJuYS1wcm9qZW4gY2xlYW4tZGlzdCAke3RoaXMuYXJ0aWZhY3RzRGlyZWN0b3J5fWApXG5cbiAgICB0aGlzLmZpbGVzLnB1c2gobmV3IEpzb25GaWxlKHRoaXMsICdsZXJuYS5qc29uJywge1xuICAgICAgb2JqOiB7XG4gICAgICAgIHBhY2thZ2VzOiBPYmplY3Qua2V5cyh0aGlzLnN1YlByb2plY3RzKSxcbiAgICAgICAgdmVyc2lvbjogJzQuMC4wJyxcbiAgICAgIH0sXG4gICAgfSkpXG5cbiAgICB0aGlzLnVwZGF0ZVN1YlByb2plY3RzKClcbiAgICB0aGlzLmFkZERvY3VtZW50c0luZGV4KClcbiAgfVxuXG4gIHByaXZhdGUgYXBwZW5kTGVybmFDb21tYW5kcygpIHtcbiAgICBjb25zdCB1cGdyYWRlVGFza05hbWUgPSAndXBncmFkZSdcbiAgICBjb25zdCBwb3N0VXBncmFkZVRhc2tOYW1lID0gJ3Bvc3QtdXBncmFkZSdcbiAgICBjb25zdCBwb3N0VXBncmFkZVRhc2sgPSB0aGlzLnRhc2tzLnRyeUZpbmQocG9zdFVwZ3JhZGVUYXNrTmFtZSlcbiAgICBwb3N0VXBncmFkZVRhc2s/LnByZXBlbmRFeGVjKHRoaXMuZ2V0TGVybmFDb21tYW5kKHVwZ3JhZGVUYXNrTmFtZSwgZmFsc2UpKVxuICAgIHBvc3RVcGdyYWRlVGFzaz8uZXhlYygnbnB4IHByb2plbicpXG4gICAgcG9zdFVwZ3JhZGVUYXNrPy5leGVjKHRoaXMuZ2V0TGVybmFDb21tYW5kKHBvc3RVcGdyYWRlVGFza05hbWUpKVxuXG4gICAgdGhpcy50YXNrcy5hbGxcbiAgICAgIC5mb3JFYWNoKHRhc2sgPT4ge1xuICAgICAgICBpZiAobG9ja2VkVGFza05hbWVzLmluY2x1ZGVzKHRhc2submFtZSkgfHwgdGFzay5uYW1lID09PSBwb3N0VXBncmFkZVRhc2tOYW1lKVxuICAgICAgICAgIHJldHVyblxuXG4gICAgICAgIHRhc2suZXhlYyh0aGlzLmdldExlcm5hQ29tbWFuZCh0YXNrLm5hbWUpKVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGVybmFDb21tYW5kKHRhc2tOYW1lOiBzdHJpbmcsIHVzZVNpbmNlRmxhZyA9IHRydWUpIHtcbiAgICBjb25zdCBtYWluQ29tbWFuZCA9IGBsZXJuYSBydW4gJHt0YXNrTmFtZX0gLS1zdHJlYW1gXG4gICAgY29uc3QgcG9zdENvbW1hbmQgPSB1c2VTaW5jZUZsYWcgJiYgdGhpcy5zaW5jZUxhc3RSZWxlYXNlID8gJyAtLXNpbmNlICQoZ2l0IGRlc2NyaWJlIC0tYWJicmV2PTAgLS10YWdzIC0tbWF0Y2ggXCJ2KlwiKScgOiAnJ1xuICAgIHJldHVybiBgJHttYWluQ29tbWFuZH0ke3Bvc3RDb21tYW5kfWBcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3ViUHJvamVjdHMoKSB7XG4gICAgY29uc3QgYnVtcFRhc2sgPSB0aGlzLnRhc2tzLnRyeUZpbmQoJ2J1bXAnKVxuICAgIGNvbnN0IHVuYnVtcFRhc2sgPSB0aGlzLnRhc2tzLnRyeUZpbmQoJ3VuYnVtcCcpXG5cbiAgICBPYmplY3QuZW50cmllcyh0aGlzLnN1YlByb2plY3RzKS5mb3JFYWNoKChbc3ViUHJvamVjdFBhdGgsIHN1YlByb2plY3RdKSA9PiB7XG4gICAgICBjb25zdCBzdWJQcm9qZWN0RG9jc0RpcmVjdG9yeSA9IGdldERvY3NEaXJlY3Rvcnkoc3ViUHJvamVjdClcbiAgICAgIGlmICh0aGlzLmRvY2dlbiAmJiBzdWJQcm9qZWN0RG9jc0RpcmVjdG9yeSlcbiAgICAgICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suZXhlYyhgbGVybmEtcHJvamVuIG1vdmUtZG9jcyAke3RoaXMuZG9jc0RpcmVjdG9yeX0gJHtzdWJQcm9qZWN0UGF0aH0gJHtzdWJQcm9qZWN0RG9jc0RpcmVjdG9yeX1gKVxuXG4gICAgICBjb25zdCBwYWNrYWdlQWxsVGFzayA9IHN1YlByb2plY3QudGFza3MudHJ5RmluZCgncGFja2FnZS1hbGwnKVxuXG4gICAgICBpZiAocGFja2FnZUFsbFRhc2spXG4gICAgICAgIHN1YlByb2plY3QucGFja2FnZVRhc2suc3Bhd24ocGFja2FnZUFsbFRhc2spXG5cbiAgICAgIGNvbnN0IGFydGlmYWN0c0RpcmVjdG9yeSA9IGdldEFydGlmYWN0c0RpcmVjdG9yeShzdWJQcm9qZWN0KVxuXG4gICAgICB0aGlzLnBhY2thZ2VUYXNrLmV4ZWMoYGxlcm5hLXByb2plbiBjb3B5LWRpc3QgJHtzdWJQcm9qZWN0UGF0aH0vJHthcnRpZmFjdHNEaXJlY3Rvcnl9ICR7dGhpcy5hcnRpZmFjdHNEaXJlY3Rvcnl9YClcblxuICAgICAgc3ViUHJvamVjdC5kZWZhdWx0VGFzaz8ucmVzZXQoKVxuXG4gICAgICBjb25zdCBidW1wRW52cyA9IHtcbiAgICAgICAgT1VURklMRTogJ3BhY2thZ2UuanNvbicsXG4gICAgICAgIENIQU5HRUxPRzogYCR7YXJ0aWZhY3RzRGlyZWN0b3J5fS9jaGFuZ2Vsb2cubWRgLFxuICAgICAgICBCVU1QRklMRTogYCR7YXJ0aWZhY3RzRGlyZWN0b3J5fS92ZXJzaW9uLnR4dGAsXG4gICAgICAgIFJFTEVBU0VUQUc6IGAke2FydGlmYWN0c0RpcmVjdG9yeX0vcmVsZWFzZXRhZy50eHRgLFxuICAgICAgICBSRUxFQVNFX1RBR19QUkVGSVg6ICcnLFxuICAgICAgfVxuXG4gICAgICBpZiAoYnVtcFRhc2spIHtcbiAgICAgICAgY29uc3Qgc3ViQnVtcFRhc2sgPSBzdWJQcm9qZWN0LmFkZFRhc2soYnVtcFRhc2submFtZSwge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBidW1wVGFzay5kZXNjcmlwdGlvbixcbiAgICAgICAgICBjb25kaXRpb246IGJ1bXBUYXNrLmNvbmRpdGlvbixcbiAgICAgICAgICBlbnY6IGJ1bXBFbnZzLFxuICAgICAgICB9KVxuICAgICAgICBzdWJCdW1wVGFzay5idWlsdGluKCdyZWxlYXNlL2J1bXAtdmVyc2lvbicpXG4gICAgICB9XG5cbiAgICAgIGlmICh1bmJ1bXBUYXNrKSB7XG4gICAgICAgIGNvbnN0IHN1YkJ1bXBUYXNrID0gc3ViUHJvamVjdC5hZGRUYXNrKHVuYnVtcFRhc2submFtZSwge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiB1bmJ1bXBUYXNrLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGNvbmRpdGlvbjogdW5idW1wVGFzay5jb25kaXRpb24sXG4gICAgICAgICAgZW52OiBidW1wRW52cyxcbiAgICAgICAgfSlcbiAgICAgICAgc3ViQnVtcFRhc2suYnVpbHRpbigncmVsZWFzZS9yZXNldC12ZXJzaW9uJylcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBhZGREb2N1bWVudHNJbmRleCgpIHtcbiAgICBpZiAoIXRoaXMuZG9jZ2VuKVxuICAgICAgcmV0dXJuXG5cbiAgICBjb25zdCBzdWJQcm9qZWN0c0RvY3M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuXG4gICAgY29uc3QgaW5kZXhNYXJrZG93biA9IG5ldyBTb3VyY2VDb2RlKHRoaXMsIGAke3RoaXMuZG9jc0RpcmVjdG9yeX0vaW5kZXgubWRgKVxuXG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5zdWJQcm9qZWN0cykuZm9yRWFjaCgoW3N1YlByb2plY3RQYXRoLCBzdWJQcm9qZWN0XSkgPT4ge1xuICAgICAgY29uc3Qgc3ViUHJvamVjdERvY3NEaXJlY3RvcnkgPSBnZXREb2NzRGlyZWN0b3J5KHN1YlByb2plY3QpXG4gICAgICBpZiAoIXN1YlByb2plY3REb2NzRGlyZWN0b3J5KVxuICAgICAgICByZXR1cm5cblxuICAgICAgY29uc3QganNpaURvY3NPdXRwdXQgPSBleHRyYWN0SnNpaURvY3NPdXRwdXQoc3ViUHJvamVjdC50YXNrcylcbiAgICAgIGlmIChqc2lpRG9jc091dHB1dCkge1xuICAgICAgICBjb25zdCBwYXRoID0gYCR7c3ViUHJvamVjdFBhdGh9LyR7anNpaURvY3NPdXRwdXR9YFxuICAgICAgICBpbmRleE1hcmtkb3duLmxpbmUoYC0gIyMgWyR7c3ViUHJvamVjdC5uYW1lfV0oJHtwYXRofSlgKVxuICAgICAgICBzdWJQcm9qZWN0c0RvY3Nbc3ViUHJvamVjdC5uYW1lXSA9IHBhdGhcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1YlByb2plY3RzRG9jc1tzdWJQcm9qZWN0Lm5hbWVdID0gYCR7c3ViUHJvamVjdFBhdGh9L2luZGV4Lmh0bWxgXG4gICAgICB9XG4gICAgfSlcblxuICAgIGNvbnN0IGluZGV4SHRtbCA9IG5ldyBTb3VyY2VDb2RlKHRoaXMsIGAke3RoaXMuZG9jc0RpcmVjdG9yeX0vaW5kZXguaHRtbGApXG4gICAgaW5kZXhIdG1sLmxpbmUoJzwhRE9DVFlQRSBodG1sPicpXG4gICAgaW5kZXhIdG1sLmxpbmUoJzxodG1sPicpXG4gICAgaW5kZXhIdG1sLm9wZW4oJzxib2R5PicpXG4gICAgaW5kZXhIdG1sLm9wZW4oJzx1bD4nKVxuICAgIE9iamVjdC5lbnRyaWVzKHN1YlByb2plY3RzRG9jcykuZm9yRWFjaCgoW25hbWUsIHBhdGhdKSA9PiB7XG4gICAgICBpbmRleEh0bWwub3BlbignPGxpPicpXG4gICAgICBpbmRleEh0bWwub3BlbihgPGEgaHJlZj1cIiR7cGF0aH1cIj5gKVxuICAgICAgaW5kZXhIdG1sLmxpbmUobmFtZSlcbiAgICAgIGluZGV4SHRtbC5jbG9zZSgnPC9hPicpXG4gICAgICBpbmRleEh0bWwuY2xvc2UoJzwvbGk+JylcbiAgICB9KVxuICAgIGluZGV4SHRtbC5jbG9zZSgnPC91bD4nKVxuICAgIGluZGV4SHRtbC5jbG9zZSgnPC9ib2R5PicpXG4gICAgaW5kZXhIdG1sLmxpbmUoJzwvaHRtbD4nKVxuICAgIGluZGV4SHRtbC5saW5lKClcbiAgfVxufSJdfQ==
|