build-strap 4.0.0-dev.46 → 4.0.0-dev.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +3 -34
  2. package/package.json +23 -19
  3. package/src/ant.d.ts +19 -0
  4. package/src/ant.js +12 -36
  5. package/src/cert.d.ts +12 -0
  6. package/src/cert.js +87 -148
  7. package/src/clean.d.ts +4 -0
  8. package/src/clean.js +5 -13
  9. package/src/copy.d.ts +7 -0
  10. package/src/copy.js +48 -74
  11. package/src/cp.d.ts +17 -0
  12. package/src/cp.js +81 -165
  13. package/src/docker.container.d.ts +73 -0
  14. package/src/docker.container.js +208 -350
  15. package/src/docker.d.ts +68 -0
  16. package/src/docker.js +163 -339
  17. package/src/docker.network.d.ts +42 -0
  18. package/src/docker.network.js +67 -141
  19. package/src/docker.volume.d.ts +26 -0
  20. package/src/docker.volume.js +50 -124
  21. package/src/dockerCleanup.d.ts +38 -0
  22. package/src/dockerCleanup.js +62 -136
  23. package/src/dockerCompose.d.ts +154 -0
  24. package/src/dockerCompose.js +390 -716
  25. package/src/fs.d.ts +5 -0
  26. package/src/fs.js +33 -91
  27. package/src/git.d.ts +9 -0
  28. package/src/git.js +19 -29
  29. package/src/index.d.ts +20 -0
  30. package/src/index.js +20 -26
  31. package/src/maps.d.ts +33 -0
  32. package/src/maps.js +12 -82
  33. package/src/npm.d.ts +48 -0
  34. package/src/npm.js +128 -131
  35. package/src/pkg.d.ts +38 -0
  36. package/src/pkg.js +27 -74
  37. package/src/publish.d.ts +27 -0
  38. package/src/publish.js +51 -138
  39. package/src/run.d.ts +13 -0
  40. package/src/run.js +39 -84
  41. package/src/tgz.d.ts +13 -0
  42. package/src/tgz.js +54 -88
  43. package/src/version.d.ts +34 -0
  44. package/src/version.js +85 -126
  45. package/src/yarn.d.ts +44 -0
  46. package/src/yarn.js +147 -115
  47. package/ant.js +0 -43
  48. package/ant.js.flow +0 -42
  49. package/artifactory.js +0 -617
  50. package/artifactory.js.flow +0 -616
  51. package/cert.conf +0 -20
  52. package/cert.js +0 -153
  53. package/cert.js.flow +0 -152
  54. package/clean.js +0 -20
  55. package/clean.js.flow +0 -19
  56. package/copy.js +0 -80
  57. package/copy.js.flow +0 -79
  58. package/cp.js +0 -173
  59. package/cp.js.flow +0 -172
  60. package/docker.container.js +0 -390
  61. package/docker.container.js.flow +0 -389
  62. package/docker.js +0 -365
  63. package/docker.js.flow +0 -364
  64. package/docker.network.js +0 -160
  65. package/docker.network.js.flow +0 -159
  66. package/docker.volume.js +0 -136
  67. package/docker.volume.js.flow +0 -136
  68. package/dockerCleanup.js +0 -152
  69. package/dockerCleanup.js.flow +0 -151
  70. package/dockerCompose.js +0 -766
  71. package/dockerCompose.js.flow +0 -765
  72. package/flow.js +0 -21
  73. package/flow.js.flow +0 -20
  74. package/fs.js +0 -95
  75. package/fs.js.flow +0 -96
  76. package/git.js +0 -35
  77. package/git.js.flow +0 -34
  78. package/hg.js +0 -35
  79. package/hg.js.flow +0 -34
  80. package/index.js +0 -27
  81. package/index.js.flow +0 -26
  82. package/inline-resources.js +0 -158
  83. package/inline-resources.js.flow +0 -157
  84. package/maps.js +0 -112
  85. package/maps.js.flow +0 -111
  86. package/npm.js +0 -145
  87. package/npm.js.flow +0 -144
  88. package/pkg.js +0 -81
  89. package/pkg.js.flow +0 -80
  90. package/publish.js +0 -145
  91. package/publish.js.flow +0 -144
  92. package/run.js +0 -90
  93. package/run.js.flow +0 -89
  94. package/src/artifactory.js +0 -616
  95. package/src/cert.conf +0 -20
  96. package/src/flow.js +0 -20
  97. package/src/hg.js +0 -34
  98. package/src/inline-resources.js +0 -157
  99. package/src/test.js +0 -55
  100. package/test.js +0 -56
  101. package/test.js.flow +0 -55
  102. package/tgz.js +0 -102
  103. package/tgz.js.flow +0 -101
  104. package/version.js +0 -143
  105. package/version.js.flow +0 -142
  106. package/yarn.js +0 -124
  107. package/yarn.js.flow +0 -123
package/flow.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.flow = flow;
2
- var _cp = require("./cp");
3
-
4
-
5
-
6
-
7
-
8
-
9
- // Run the flow linter
10
- async function flow(opts) {
11
- const { allBranches = false, incremental = true } = opts || {};
12
- return (0, _cp.spawn)(
13
- 'flow',
14
- [
15
- incremental ? 'status' : 'check',
16
- ...(allBranches ? ['--show-all-branches'] : [])],
17
-
18
- { stdio: 'inherit', shell: true });
19
-
20
- }
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mbG93LmpzIl0sIm5hbWVzIjpbImZsb3ciLCJvcHRzIiwiYWxsQnJhbmNoZXMiLCJpbmNyZW1lbnRhbCIsInN0ZGlvIiwic2hlbGwiXSwibWFwcGluZ3MiOiI7QUFDQTs7Ozs7OztBQU9BO0FBQ08sZUFBZUEsSUFBZixDQUFvQkMsSUFBcEIsRUFBeUQ7QUFDOUQsUUFBTSxFQUFFQyxXQUFXLEdBQUcsS0FBaEIsRUFBdUJDLFdBQVcsR0FBRyxJQUFyQyxLQUE4Q0YsSUFBSSxJQUFJLEVBQTVEO0FBQ0EsU0FBTztBQUNMLFFBREs7QUFFTDtBQUNFRSxFQUFBQSxXQUFXLEdBQUcsUUFBSCxHQUFjLE9BRDNCO0FBRUUsTUFBSUQsV0FBVyxHQUFHLENBQUMscUJBQUQsQ0FBSCxHQUE2QixFQUE1QyxDQUZGLENBRks7O0FBTUwsSUFBRUUsS0FBSyxFQUFFLFNBQVQsRUFBb0JDLEtBQUssRUFBRSxJQUEzQixFQU5LLENBQVA7O0FBUUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tICcuL2NwJztcblxuZXhwb3J0IHR5cGUgRmxvd09wdGlvbnMgPSB7fFxuICBhbGxCcmFuY2hlcz86IGJvb2xlYW4sXG4gIGluY3JlbWVudGFsPzogYm9vbGVhbixcbnx9O1xuXG4vLyBSdW4gdGhlIGZsb3cgbGludGVyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmxvdyhvcHRzPzogRmxvd09wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7IGFsbEJyYW5jaGVzID0gZmFsc2UsIGluY3JlbWVudGFsID0gdHJ1ZSB9ID0gb3B0cyB8fCB7fTtcbiAgcmV0dXJuIHNwYXduKFxuICAgICdmbG93JyxcbiAgICBbXG4gICAgICBpbmNyZW1lbnRhbCA/ICdzdGF0dXMnIDogJ2NoZWNrJyxcbiAgICAgIC4uLihhbGxCcmFuY2hlcyA/IFsnLS1zaG93LWFsbC1icmFuY2hlcyddIDogW10pLFxuICAgIF0sXG4gICAgeyBzdGRpbzogJ2luaGVyaXQnLCBzaGVsbDogdHJ1ZSB9LFxuICApO1xufVxuIl19
package/flow.js.flow DELETED
@@ -1,20 +0,0 @@
1
- // @flow
2
- import { spawn } from './cp';
3
-
4
- export type FlowOptions = {|
5
- allBranches?: boolean,
6
- incremental?: boolean,
7
- |};
8
-
9
- // Run the flow linter
10
- export async function flow(opts?: FlowOptions): Promise<string> {
11
- const { allBranches = false, incremental = true } = opts || {};
12
- return spawn(
13
- 'flow',
14
- [
15
- incremental ? 'status' : 'check',
16
- ...(allBranches ? ['--show-all-branches'] : []),
17
- ],
18
- { stdio: 'inherit', shell: true },
19
- );
20
- }
package/fs.js DELETED
@@ -1,95 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.writeFile = exports.renameFile = exports.readFile = exports.readDir = exports.moveDir = exports.makeDir = exports.copyFile = exports.copyDir = exports.cleanDir = void 0;
2
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
3
- var _path = _interopRequireDefault(require("path"));
4
- var _glob = _interopRequireDefault(require("glob"));
5
- var _rimraf = _interopRequireDefault(require("rimraf"));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
6
-
7
- const readFile = async (
8
- file,
9
- options =
10
-
11
-
12
-
13
-
14
-
15
- 'utf8') =>
16
- _fsExtra.default.readFile(file, options);exports.readFile = readFile;
17
-
18
- const writeFile = async (
19
- file,
20
- data,
21
- options) =>
22
- _fsExtra.default.writeFile(file, data, options);exports.writeFile = writeFile;
23
-
24
- const renameFile = async (
25
- source,
26
- target) =>
27
- _fsExtra.default.rename(source, target);exports.renameFile = renameFile;
28
-
29
- const copyFile = async (source, target) =>
30
- _fsExtra.default.copyFile(source, target);exports.copyFile = copyFile;
31
-
32
- const readDir = async (
33
- pattern,
34
- options) =>
35
-
36
- new Promise((resolve, reject) =>
37
- (0, _glob.default)(pattern, options || {}, (err, result) =>
38
- err ? reject(err) : resolve(result)));exports.readDir = readDir;
39
-
40
-
41
-
42
- const makeDir = async (name) =>
43
- _fsExtra.default.ensureDir(name);exports.makeDir = makeDir;
44
-
45
- const moveDir = async (
46
- source,
47
- target) =>
48
- {
49
- const dirs = await readDir('**/*.*', {
50
- cwd: source,
51
- nosort: true,
52
- dot: true });
53
-
54
- await Promise.all(
55
- dirs.map(async (dir) => {
56
- const from = _path.default.resolve(source, dir);
57
- const to = _path.default.resolve(target, dir);
58
- await makeDir(_path.default.dirname(to));
59
- await renameFile(from, to);
60
- }));
61
-
62
- };exports.moveDir = moveDir;
63
-
64
- const copyDir = async (
65
- source,
66
- target,
67
- fileGlob = '**/*.*',
68
- globOptions = null,
69
- renameFn = (n) => n) =>
70
- {
71
- const paths = await readDir(fileGlob, {
72
- cwd: source,
73
- nosort: true,
74
- nodir: true,
75
- dot: true,
76
- ...globOptions });
77
-
78
- await Promise.all(
79
- paths.map(async (p) => {
80
- const from = _path.default.resolve(source, p);
81
- const to = _path.default.resolve(target, renameFn(p));
82
- await makeDir(_path.default.dirname(to));
83
- await copyFile(from, to);
84
- }));
85
-
86
- };exports.copyDir = copyDir;
87
-
88
- const cleanDir = async (
89
- pattern,
90
- globOptions) =>
91
-
92
- new Promise((resolve, reject) =>
93
- (0, _rimraf.default)(pattern, { glob: globOptions }, (err) =>
94
- err ? reject(err) : resolve()));exports.cleanDir = cleanDir;
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcy5qcyJdLCJuYW1lcyI6WyJyZWFkRmlsZSIsImZpbGUiLCJvcHRpb25zIiwiZnMiLCJ3cml0ZUZpbGUiLCJkYXRhIiwicmVuYW1lRmlsZSIsInNvdXJjZSIsInRhcmdldCIsInJlbmFtZSIsImNvcHlGaWxlIiwicmVhZERpciIsInBhdHRlcm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVyciIsInJlc3VsdCIsIm1ha2VEaXIiLCJuYW1lIiwiZW5zdXJlRGlyIiwibW92ZURpciIsImRpcnMiLCJjd2QiLCJub3NvcnQiLCJkb3QiLCJhbGwiLCJtYXAiLCJkaXIiLCJmcm9tIiwicGF0aCIsInRvIiwiZGlybmFtZSIsImNvcHlEaXIiLCJmaWxlR2xvYiIsImdsb2JPcHRpb25zIiwicmVuYW1lRm4iLCJuIiwicGF0aHMiLCJub2RpciIsInAiLCJjbGVhbkRpciIsImdsb2IiXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RDs7QUFFTyxNQUFNQSxRQUFRLEdBQUc7QUFDdEJDLElBRHNCO0FBRXRCQyxPQU1LOzs7Ozs7QUFBRyxNQVJjO0FBU0ZDLGlCQUFHSCxRQUFILENBQVlDLElBQVosRUFBa0JDLE9BQWxCLENBVGYsQzs7QUFXQSxNQUFNRSxTQUFTLEdBQUc7QUFDdkJILElBRHVCO0FBRXZCSSxJQUZ1QjtBQUd2QkgsT0FIdUI7QUFJTEMsaUJBQUdDLFNBQUgsQ0FBYUgsSUFBYixFQUFtQkksSUFBbkIsRUFBeUJILE9BQXpCLENBSmIsQzs7QUFNQSxNQUFNSSxVQUFVLEdBQUc7QUFDeEJDLE1BRHdCO0FBRXhCQyxNQUZ3QjtBQUdOTCxpQkFBR00sTUFBSCxDQUFVRixNQUFWLEVBQWtCQyxNQUFsQixDQUhiLEM7O0FBS0EsTUFBTUUsUUFBUSxHQUFHLE9BQU9ILE1BQVAsRUFBdUJDLE1BQXZCO0FBQ3RCTCxpQkFBR08sUUFBSCxDQUFZSCxNQUFaLEVBQW9CQyxNQUFwQixDQURLLEM7O0FBR0EsTUFBTUcsT0FBTyxH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d1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGdsb2IsIHsgdHlwZSBPcHRpb25zIGFzIEdsb2JPcHRpb25zIH0gZnJvbSAnZ2xvYic7XG5pbXBvcnQgcmltcmFmIGZyb20gJ3JpbXJhZic7XG5cbmV4cG9ydCBjb25zdCByZWFkRmlsZSA9IGFzeW5jIChcbiAgZmlsZTogc3RyaW5nLFxuICBvcHRpb25zOlxuICAgIHwgc3RyaW5nXG4gICAgfCB7XG4gICAgICAgIGVuY29kaW5nOiBzdHJpbmcsXG4gICAgICAgIGZsYWc/OiBzdHJpbmcsXG4gICAgICAgIC4uLlxuICAgICAgfSA9ICd1dGY4Jyxcbik6IFByb21pc2U8c3RyaW5nPiA9PiBmcy5yZWFkRmlsZShmaWxlLCBvcHRpb25zKTtcblxuZXhwb3J0IGNvbnN0IHdyaXRlRmlsZSA9IGFzeW5jIChcbiAgZmlsZTogc3RyaW5nLFxuICBkYXRhOiBzdHJpbmcgfCBCdWZmZXIsXG4gIG9wdGlvbnM/OiBzdHJpbmcgfCBPYmplY3QsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IGZzLndyaXRlRmlsZShmaWxlLCBkYXRhLCBvcHRpb25zKTtcblxuZXhwb3J0IGNvbnN0IHJlbmFtZUZpbGUgPSBhc3luYyAoXG4gIHNvdXJjZTogc3RyaW5nLFxuICB0YXJnZXQ6IHN0cmluZyxcbik6IFByb21pc2U8dm9pZD4gPT4gZnMucmVuYW1lKHNvdXJjZSwgdGFyZ2V0KTtcblxuZXhwb3J0IGNvbnN0IGNvcHlGaWxlID0gYXN5bmMgKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT5cbiAgZnMuY29weUZpbGUoc291cmNlLCB0YXJnZXQpO1xuXG5leHBvcnQgY29uc3QgcmVhZERpciA9IGFzeW5jIChcbiAgcGF0dGVybjogc3RyaW5nLFxuICBvcHRpb25zPzogT2JqZWN0LFxuKTogUHJvbWlzZTxzdHJpbmdbXT4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICBnbG9iKHBhdHRlcm4sIG9wdGlvbnMgfHwge30sIChlcnIsIHJlc3VsdCkgPT5cbiAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShyZXN1bHQpLFxuICAgICksXG4gICk7XG5cbmV4cG9ydCBjb25zdCBtYWtlRGlyID0gYXN5bmMgKG5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT5cbiAgZnMuZW5zdXJlRGlyKG5hbWUpO1xuXG5leHBvcnQgY29uc3QgbW92ZURpciA9IGFzeW5jIChcbiAgc291cmNlOiBzdHJpbmcsXG4gIHRhcmdldDogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IGRpcnMgPSBhd2FpdCByZWFkRGlyKCcqKi8qLionLCB7XG4gICAgY3dkOiBzb3VyY2UsXG4gICAgbm9zb3J0OiB0cnVlLFxuICAgIGRvdDogdHJ1ZSxcbiAgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGRpcnMubWFwKGFzeW5jIChkaXIpID0+IHtcbiAgICAgIGNvbnN0IGZyb20gPSBwYXRoLnJlc29sdmUoc291cmNlLCBkaXIpO1xuICAgICAgY29uc3QgdG8gPSBwYXRoLnJlc29sdmUodGFyZ2V0LCBkaXIpO1xuICAgICAgYXdhaXQgbWFrZURpcihwYXRoLmRpcm5hbWUodG8pKTtcbiAgICAgIGF3YWl0IHJlbmFtZUZpbGUoZnJvbSwgdG8pO1xuICAgIH0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlEaXIgPSBhc3luYyAoXG4gIHNvdXJjZTogc3RyaW5nLFxuICB0YXJnZXQ6IHN0cmluZyxcbiAgZmlsZUdsb2I6IHN0cmluZyA9ICcqKi8qLionLFxuICBnbG9iT3B0aW9ucz86ID9PYmplY3QgPSBudWxsLFxuICByZW5hbWVGbjogKG5hbWU6IHN0cmluZykgPT4gc3RyaW5nID0gKG4pID0+IG4sXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcGF0aHMgPSBhd2FpdCByZWFkRGlyKGZpbGVHbG9iLCB7XG4gICAgY3dkOiBzb3VyY2UsXG4gICAgbm9zb3J0OiB0cnVlLFxuICAgIG5vZGlyOiB0cnVlLFxuICAgIGRvdDogdHJ1ZSxcbiAgICAuLi5nbG9iT3B0aW9ucyxcbiAgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIHBhdGhzLm1hcChhc3luYyAocCkgPT4ge1xuICAgICAgY29uc3QgZnJvbSA9IHBhdGgucmVzb2x2ZShzb3VyY2UsIHApO1xuICAgICAgY29uc3QgdG8gPSBwYXRoLnJlc29sdmUodGFyZ2V0LCByZW5hbWVGbihwKSk7XG4gICAgICBhd2FpdCBtYWtlRGlyKHBhdGguZGlybmFtZSh0bykpO1xuICAgICAgYXdhaXQgY29weUZpbGUoZnJvbSwgdG8pO1xuICAgIH0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFuRGlyID0gYXN5bmMgKFxuICBwYXR0ZXJuOiBzdHJpbmcsXG4gIGdsb2JPcHRpb25zPzogR2xvYk9wdGlvbnMgfCBib29sZWFuLFxuKTogUHJvbWlzZTx2b2lkPiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PlxuICAgIHJpbXJhZihwYXR0ZXJuLCB7IGdsb2I6IGdsb2JPcHRpb25zIH0sIChlcnIpID0+XG4gICAgICBlcnIgPyByZWplY3QoZXJyKSA6IHJlc29sdmUoKSxcbiAgICApLFxuICApO1xuIl19
package/fs.js.flow DELETED
@@ -1,96 +0,0 @@
1
- // @flow
2
- import fs from 'fs-extra';
3
- import path from 'path';
4
- import glob, { type Options as GlobOptions } from 'glob';
5
- import rimraf from 'rimraf';
6
-
7
- export const readFile = async (
8
- file: string,
9
- options:
10
- | string
11
- | {
12
- encoding: string,
13
- flag?: string,
14
- ...
15
- } = 'utf8',
16
- ): Promise<string> => fs.readFile(file, options);
17
-
18
- export const writeFile = async (
19
- file: string,
20
- data: string | Buffer,
21
- options?: string | Object,
22
- ): Promise<void> => fs.writeFile(file, data, options);
23
-
24
- export const renameFile = async (
25
- source: string,
26
- target: string,
27
- ): Promise<void> => fs.rename(source, target);
28
-
29
- export const copyFile = async (source: string, target: string): Promise<void> =>
30
- fs.copyFile(source, target);
31
-
32
- export const readDir = async (
33
- pattern: string,
34
- options?: Object,
35
- ): Promise<string[]> =>
36
- new Promise((resolve, reject) =>
37
- glob(pattern, options || {}, (err, result) =>
38
- err ? reject(err) : resolve(result),
39
- ),
40
- );
41
-
42
- export const makeDir = async (name: string): Promise<void> =>
43
- fs.ensureDir(name);
44
-
45
- export const moveDir = async (
46
- source: string,
47
- target: string,
48
- ): Promise<void> => {
49
- const dirs = await readDir('**/*.*', {
50
- cwd: source,
51
- nosort: true,
52
- dot: true,
53
- });
54
- await Promise.all(
55
- dirs.map(async (dir) => {
56
- const from = path.resolve(source, dir);
57
- const to = path.resolve(target, dir);
58
- await makeDir(path.dirname(to));
59
- await renameFile(from, to);
60
- }),
61
- );
62
- };
63
-
64
- export const copyDir = async (
65
- source: string,
66
- target: string,
67
- fileGlob: string = '**/*.*',
68
- globOptions?: ?Object = null,
69
- renameFn: (name: string) => string = (n) => n,
70
- ): Promise<void> => {
71
- const paths = await readDir(fileGlob, {
72
- cwd: source,
73
- nosort: true,
74
- nodir: true,
75
- dot: true,
76
- ...globOptions,
77
- });
78
- await Promise.all(
79
- paths.map(async (p) => {
80
- const from = path.resolve(source, p);
81
- const to = path.resolve(target, renameFn(p));
82
- await makeDir(path.dirname(to));
83
- await copyFile(from, to);
84
- }),
85
- );
86
- };
87
-
88
- export const cleanDir = async (
89
- pattern: string,
90
- globOptions?: GlobOptions | boolean,
91
- ): Promise<void> =>
92
- new Promise((resolve, reject) =>
93
- rimraf(pattern, { glob: globOptions }, (err) =>
94
- err ? reject(err) : resolve(),
95
- ),
96
- );
package/git.js DELETED
@@ -1,35 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.git = git;exports.gitBranch = gitBranch;exports.gitInfo = gitInfo;exports.gitRevId = gitRevId;
2
- var _cp = require("./cp");
3
-
4
- async function git(args) {
5
- return (await (0, _cp.exec)(`git ${args.join(' ')}`)).stdout.toString();
6
- }
7
-
8
- async function gitBranch() {
9
- return (await git(['symbolic-ref', '--short', 'HEAD'])).
10
- replace(/[_+/]/g, '-').
11
- trim();
12
- }
13
-
14
- async function gitRevId() {
15
- return (await git(['rev-parse', '--short=12', 'HEAD'])).
16
- replace(/[+]/g, '').
17
- trim();
18
- }
19
-
20
-
21
-
22
-
23
-
24
-
25
- let info = null;
26
- async function gitInfo(noCache = false) {
27
- if (!info || noCache) {
28
- info = {
29
- branch: await gitBranch(),
30
- revision: await gitRevId() };
31
-
32
- }
33
- return info;
34
- }
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9naXQuanMiXSwibmFtZXMiOlsiZ2l0IiwiYXJncyIsImpvaW4iLCJzdGRvdXQiLCJ0b1N0cmluZyIsImdpdEJyYW5jaCIsInJlcGxhY2UiLCJ0cmltIiwiZ2l0UmV2SWQiLCJpbmZvIiwiZ2l0SW5mbyIsIm5vQ2FjaGUiLCJicmFuY2giLCJyZXZpc2lvbiJdLCJtYXBwaW5ncyI6IjtBQUNBOztBQUVPLGVBQWVBLEdBQWYsQ0FBbUJDLElBQW5CLEVBQW9EO0FBQ3pELFNBQU8sQ0FBQyxNQUFNLGNBQU0sT0FBTUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsR0FBVixDQUFlLEVBQTNCLENBQVAsRUFBc0NDLE1BQXRDLENBQTZDQyxRQUE3QyxFQUFQO0FBQ0Q7O0FBRU0sZUFBZUMsU0FBZixHQUE0QztBQUNqRCxTQUFPLENBQUMsTUFBTUwsR0FBRyxDQUFDLENBQUMsY0FBRCxFQUFpQixTQUFqQixFQUE0QixNQUE1QixDQUFELENBQVY7QUFDSk0sRUFBQUEsT0FESSxDQUNJLFFBREosRUFDYyxHQURkO0FBRUpDLEVBQUFBLElBRkksRUFBUDtBQUdEOztBQUVNLGVBQWVDLFFBQWYsR0FBMkM7QUFDaEQsU0FBTyxDQUFDLE1BQU1SLEdBQUcsQ0FBQyxDQUFDLFdBQUQsRUFBYyxZQUFkLEVBQTRCLE1BQTVCLENBQUQsQ0FBVjtBQUNKTSxFQUFBQSxPQURJLENBQ0ksTUFESixFQUNZLEVBRFo7QUFFSkMsRUFBQUEsSUFGSSxFQUFQO0FBR0Q7Ozs7Ozs7QUFPRCxJQUFJRSxJQUFJLEdBQUcsSUFBWDtBQUNPLGVBQWVDLE9BQWYsQ0FBdUJDLE9BQWdCLEdBQUcsS0FBMUMsRUFBbUU7QUFDeEUsTUFBSSxDQUFDRixJQUFELElBQVNFLE9BQWIsRUFBc0I7QUFDcEJGLElBQUFBLElBQUksR0FBRztBQUNMRyxNQUFBQSxNQUFNLEVBQUUsTUFBTVAsU0FBUyxFQURsQjtBQUVMUSxNQUFBQSxRQUFRLEVBQUUsTUFBTUwsUUFBUSxFQUZuQixFQUFQOztBQUlEO0FBQ0QsU0FBT0MsSUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICcuL2NwJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdpdChhcmdzOiBzdHJpbmdbXSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZXhlYyhgZ2l0ICR7YXJncy5qb2luKCcgJyl9YCkpLnN0ZG91dC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2l0QnJhbmNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZ2l0KFsnc3ltYm9saWMtcmVmJywgJy0tc2hvcnQnLCAnSEVBRCddKSlcbiAgICAucmVwbGFjZSgvW18rL10vZywgJy0nKVxuICAgIC50cmltKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnaXRSZXZJZCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gKGF3YWl0IGdpdChbJ3Jldi1wYXJzZScsICctLXNob3J0PTEyJywgJ0hFQUQnXSkpXG4gICAgLnJlcGxhY2UoL1srXS9nLCAnJylcbiAgICAudHJpbSgpO1xufVxuXG50eXBlIEdpdEluZm8gPSB7XG4gIGJyYW5jaDogc3RyaW5nLFxuICByZXZpc2lvbjogc3RyaW5nLFxufTtcblxubGV0IGluZm8gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdpdEluZm8obm9DYWNoZTogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxHaXRJbmZvPiB7XG4gIGlmICghaW5mbyB8fCBub0NhY2hlKSB7XG4gICAgaW5mbyA9IHtcbiAgICAgIGJyYW5jaDogYXdhaXQgZ2l0QnJhbmNoKCksXG4gICAgICByZXZpc2lvbjogYXdhaXQgZ2l0UmV2SWQoKSxcbiAgICB9O1xuICB9XG4gIHJldHVybiBpbmZvO1xufVxuIl19
package/git.js.flow DELETED
@@ -1,34 +0,0 @@
1
- // @flow
2
- import { exec } from './cp';
3
-
4
- export async function git(args: string[]): Promise<string> {
5
- return (await exec(`git ${args.join(' ')}`)).stdout.toString();
6
- }
7
-
8
- export async function gitBranch(): Promise<string> {
9
- return (await git(['symbolic-ref', '--short', 'HEAD']))
10
- .replace(/[_+/]/g, '-')
11
- .trim();
12
- }
13
-
14
- export async function gitRevId(): Promise<string> {
15
- return (await git(['rev-parse', '--short=12', 'HEAD']))
16
- .replace(/[+]/g, '')
17
- .trim();
18
- }
19
-
20
- type GitInfo = {
21
- branch: string,
22
- revision: string,
23
- };
24
-
25
- let info = null;
26
- export async function gitInfo(noCache: boolean = false): Promise<GitInfo> {
27
- if (!info || noCache) {
28
- info = {
29
- branch: await gitBranch(),
30
- revision: await gitRevId(),
31
- };
32
- }
33
- return info;
34
- }
package/hg.js DELETED
@@ -1,35 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.hg = hg;exports.hgBranch = hgBranch;exports.hgInfo = hgInfo;exports.hgRevId = hgRevId;
2
- var _cp = require("./cp");
3
-
4
- async function hg(args, cwd) {
5
- // $FlowFixMe
6
- return (await (0, _cp.exec)(`hg ${args.join(' ')}`, cwd ? { cwd } : {})).stdout;
7
- }
8
-
9
- async function hgBranch(cwd) {
10
- return (await hg(['branch'], cwd)).replace(/[_+/]/g, '-').trim();
11
- }
12
-
13
- async function hgRevId(cwd) {
14
- return (await hg(['id', '-i'], cwd)).replace(/[+]/g, '').trim();
15
- }
16
-
17
-
18
-
19
-
20
-
21
-
22
- let info = null;
23
- async function hgInfo(
24
- noCache = false,
25
- cwd)
26
- {
27
- if (!info || noCache) {
28
- info = {
29
- branch: await hgBranch(cwd),
30
- revision: await hgRevId(cwd) };
31
-
32
- }
33
- return info;
34
- }
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oZy5qcyJdLCJuYW1lcyI6WyJoZyIsImFyZ3MiLCJjd2QiLCJqb2luIiwic3Rkb3V0IiwiaGdCcmFuY2giLCJyZXBsYWNlIiwidHJpbSIsImhnUmV2SWQiLCJpbmZvIiwiaGdJbmZvIiwibm9DYWNoZSIsImJyYW5jaCIsInJldmlzaW9uIl0sIm1hcHBpbmdzIjoiO0FBQ0E7O0FBRU8sZUFBZUEsRUFBZixDQUFrQkMsSUFBbEIsRUFBa0NDLEdBQWxDLEVBQWlFO0FBQ3RFO0FBQ0EsU0FBTyxDQUFDLE1BQU0sY0FBTSxNQUFLRCxJQUFJLENBQUNFLElBQUwsQ0FBVSxHQUFWLENBQWUsRUFBMUIsRUFBNkJELEdBQUcsR0FBRyxFQUFFQSxHQUFGLEVBQUgsR0FBYSxFQUE3QyxDQUFQLEVBQXlERSxNQUFoRTtBQUNEOztBQUVNLGVBQWVDLFFBQWYsQ0FBd0JILEdBQXhCLEVBQXVEO0FBQzVELFNBQU8sQ0FBQyxNQUFNRixFQUFFLENBQUMsQ0FBQyxRQUFELENBQUQsRUFBYUUsR0FBYixDQUFULEVBQTRCSSxPQUE1QixDQUFvQyxRQUFwQyxFQUE4QyxHQUE5QyxFQUFtREMsSUFBbkQsRUFBUDtBQUNEOztBQUVNLGVBQWVDLE9BQWYsQ0FBdUJOLEdBQXZCLEVBQXNEO0FBQzNELFNBQU8sQ0FBQyxNQUFNRixFQUFFLENBQUMsQ0FBQyxJQUFELEVBQU8sSUFBUCxDQUFELEVBQWVFLEdBQWYsQ0FBVCxFQUE4QkksT0FBOUIsQ0FBc0MsTUFBdEMsRUFBOEMsRUFBOUMsRUFBa0RDLElBQWxELEVBQVA7QUFDRDs7Ozs7OztBQU9ELElBQUlFLElBQUksR0FBRyxJQUFYO0FBQ08sZUFBZUMsTUFBZjtBQUNMQyxPQUFnQixHQUFHLEtBRGQ7QUFFTFQsR0FGSztBQUdZO0FBQ2pCLE1BQUksQ0FBQ08sSUFBRCxJQUFTRSxPQUFiLEVBQXNCO0FBQ3BCRixJQUFBQSxJQUFJLEdBQUc7QUFDTEcsTUFBQUEsTUFBTSxFQUFFLE1BQU1QLFFBQVEsQ0FBQ0gsR0FBRCxDQURqQjtBQUVMVyxNQUFBQSxRQUFRLEVBQUUsTUFBTUwsT0FBTyxDQUFDTixHQUFELENBRmxCLEVBQVA7O0FBSUQ7QUFDRCxTQUFPTyxJQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJy4vY3AnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGcoYXJnczogc3RyaW5nW10sIGN3ZD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIC8vICRGbG93Rml4TWVcbiAgcmV0dXJuIChhd2FpdCBleGVjKGBoZyAke2FyZ3Muam9pbignICcpfWAsIGN3ZCA/IHsgY3dkIH0gOiB7fSkpLnN0ZG91dDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhnQnJhbmNoKGN3ZD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgaGcoWydicmFuY2gnXSwgY3dkKSkucmVwbGFjZSgvW18rL10vZywgJy0nKS50cmltKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoZ1JldklkKGN3ZD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgaGcoWydpZCcsICctaSddLCBjd2QpKS5yZXBsYWNlKC9bK10vZywgJycpLnRyaW0oKTtcbn1cblxudHlwZSBIZ0luZm8gPSB7XG4gIGJyYW5jaDogc3RyaW5nLFxuICByZXZpc2lvbjogc3RyaW5nLFxufTtcblxubGV0IGluZm8gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhnSW5mbyhcbiAgbm9DYWNoZTogYm9vbGVhbiA9IGZhbHNlLFxuICBjd2Q/OiBzdHJpbmcsXG4pOiBQcm9taXNlPEhnSW5mbz4ge1xuICBpZiAoIWluZm8gfHwgbm9DYWNoZSkge1xuICAgIGluZm8gPSB7XG4gICAgICBicmFuY2g6IGF3YWl0IGhnQnJhbmNoKGN3ZCksXG4gICAgICByZXZpc2lvbjogYXdhaXQgaGdSZXZJZChjd2QpLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIGluZm87XG59XG4iXX0=
package/hg.js.flow DELETED
@@ -1,34 +0,0 @@
1
- // @flow
2
- import { exec } from './cp';
3
-
4
- export async function hg(args: string[], cwd?: string): Promise<string> {
5
- // $FlowFixMe
6
- return (await exec(`hg ${args.join(' ')}`, cwd ? { cwd } : {})).stdout;
7
- }
8
-
9
- export async function hgBranch(cwd?: string): Promise<string> {
10
- return (await hg(['branch'], cwd)).replace(/[_+/]/g, '-').trim();
11
- }
12
-
13
- export async function hgRevId(cwd?: string): Promise<string> {
14
- return (await hg(['id', '-i'], cwd)).replace(/[+]/g, '').trim();
15
- }
16
-
17
- type HgInfo = {
18
- branch: string,
19
- revision: string,
20
- };
21
-
22
- let info = null;
23
- export async function hgInfo(
24
- noCache: boolean = false,
25
- cwd?: string,
26
- ): Promise<HgInfo> {
27
- if (!info || noCache) {
28
- info = {
29
- branch: await hgBranch(cwd),
30
- revision: await hgRevId(cwd),
31
- };
32
- }
33
- return info;
34
- }
package/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });
2
- var _ant = require("./ant");Object.keys(_ant).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _ant[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _ant[key];} });});
3
- var _artifactory = require("./artifactory");Object.keys(_artifactory).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _artifactory[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _artifactory[key];} });});
4
- var _cert = require("./cert");Object.keys(_cert).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _cert[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _cert[key];} });});
5
- var _clean = require("./clean");Object.keys(_clean).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _clean[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _clean[key];} });});
6
- var _copy = require("./copy");Object.keys(_copy).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _copy[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _copy[key];} });});
7
- var _cp = require("./cp");Object.keys(_cp).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _cp[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _cp[key];} });});
8
- var _docker = require("./docker");Object.keys(_docker).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _docker[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _docker[key];} });});
9
- var _docker2 = require("./docker.container");Object.keys(_docker2).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _docker2[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _docker2[key];} });});
10
- var _docker3 = require("./docker.network");Object.keys(_docker3).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _docker3[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _docker3[key];} });});
11
- var _docker4 = require("./docker.volume");Object.keys(_docker4).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _docker4[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _docker4[key];} });});
12
- var _dockerCleanup = require("./dockerCleanup");Object.keys(_dockerCleanup).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _dockerCleanup[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _dockerCleanup[key];} });});
13
- var _dockerCompose = require("./dockerCompose");Object.keys(_dockerCompose).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _dockerCompose[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _dockerCompose[key];} });});
14
- var _flow = require("./flow");Object.keys(_flow).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _flow[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _flow[key];} });});
15
- var _fs = require("./fs");Object.keys(_fs).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _fs[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _fs[key];} });});
16
- var _git = require("./git");Object.keys(_git).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _git[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _git[key];} });});
17
- var _hg = require("./hg");Object.keys(_hg).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _hg[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _hg[key];} });});
18
- var _inlineResources = require("./inline-resources");Object.keys(_inlineResources).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _inlineResources[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _inlineResources[key];} });});
19
- var _npm = require("./npm");Object.keys(_npm).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _npm[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _npm[key];} });});
20
- var _pkg = require("./pkg");Object.keys(_pkg).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _pkg[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _pkg[key];} });});
21
- var _publish = require("./publish");Object.keys(_publish).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _publish[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _publish[key];} });});
22
- var _run = require("./run");Object.keys(_run).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _run[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _run[key];} });});
23
- var _test = require("./test");Object.keys(_test).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _test[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _test[key];} });});
24
- var _tgz = require("./tgz");Object.keys(_tgz).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _tgz[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _tgz[key];} });});
25
- var _version = require("./version");Object.keys(_version).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _version[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _version[key];} });});
26
- var _yarn = require("./yarn");Object.keys(_yarn).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _yarn[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _yarn[key];} });});
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuZXhwb3J0ICogZnJvbSAnLi9hbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnRpZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NlcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL2NvcHknO1xuZXhwb3J0ICogZnJvbSAnLi9jcCc7XG5leHBvcnQgKiBmcm9tICcuL2RvY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2RvY2tlci5jb250YWluZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kb2NrZXIubmV0d29yayc7XG5leHBvcnQgKiBmcm9tICcuL2RvY2tlci52b2x1bWUnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2NrZXJDbGVhbnVwJztcbmV4cG9ydCAqIGZyb20gJy4vZG9ja2VyQ29tcG9zZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9mcyc7XG5leHBvcnQgKiBmcm9tICcuL2dpdCc7XG5leHBvcnQgKiBmcm9tICcuL2hnJztcbmV4cG9ydCAqIGZyb20gJy4vaW5saW5lLXJlc291cmNlcyc7XG5leHBvcnQgKiBmcm9tICcuL25wbSc7XG5leHBvcnQgKiBmcm9tICcuL3BrZyc7XG5leHBvcnQgKiBmcm9tICcuL3B1Ymxpc2gnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW4nO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vdGd6JztcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbic7XG5leHBvcnQgKiBmcm9tICcuL3lhcm4nO1xuIl19
package/index.js.flow DELETED
@@ -1,26 +0,0 @@
1
- // @flow
2
- export * from './ant';
3
- export * from './artifactory';
4
- export * from './cert';
5
- export * from './clean';
6
- export * from './copy';
7
- export * from './cp';
8
- export * from './docker';
9
- export * from './docker.container';
10
- export * from './docker.network';
11
- export * from './docker.volume';
12
- export * from './dockerCleanup';
13
- export * from './dockerCompose';
14
- export * from './flow';
15
- export * from './fs';
16
- export * from './git';
17
- export * from './hg';
18
- export * from './inline-resources';
19
- export * from './npm';
20
- export * from './pkg';
21
- export * from './publish';
22
- export * from './run';
23
- export * from './test';
24
- export * from './tgz';
25
- export * from './version';
26
- export * from './yarn';
@@ -1,158 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.dependencies = void 0;exports.inlineResources = inlineResources;exports.inlineResourcesFromString = inlineResourcesFromString;exports.requireResourcesLoader = requireResourcesLoader;exports.webpackInlineResourceLoader = webpackInlineResourceLoader;
2
- var _glob = _interopRequireDefault(require("glob"));
3
- var _path = _interopRequireDefault(require("path"));
4
- var _fs = _interopRequireDefault(require("fs"));
5
- var _fs2 = require("./fs");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
6
-
7
-
8
-
9
-
10
- // So we know to copy extra files when a dependency is modified
11
- const dependencies = {};exports.dependencies = dependencies;
12
-
13
- function recordDependency(parent, child) {
14
- dependencies[child] = dependencies[child] || [];
15
- if (!dependencies[child].includes(parent)) {
16
- dependencies[child].push(parent);
17
- }
18
- }
19
-
20
- /**
21
- * Inline resources in a tsc/ngc compilation.
22
- * @param projectPath {string} Path to the project.
23
- */
24
- async function inlineResources(projectPath) {
25
- // Match only TypeScript files in projectPath.
26
- const files = _glob.default.sync('**/*.ts', { cwd: projectPath });
27
-
28
- // For each file, inline the templates and styles under it and write the new file.
29
- await Promise.all(
30
- files.map(async (filePath) => {
31
- const fullFilePath = _path.default.join(projectPath, filePath);
32
- const content = await (0, _fs2.readFile)(fullFilePath, 'utf-8');
33
- const inlined = inlineResourcesFromString(content, (url) => {
34
- // Resolve the template url.
35
- const templatePath = _path.default.join(_path.default.dirname(fullFilePath), url);
36
- recordDependency(fullFilePath, templatePath);
37
- return templatePath;
38
- });
39
- await (0, _fs2.writeFile)(fullFilePath, inlined);
40
- }));
41
-
42
- }
43
-
44
- function requireResourcesLoader(content) {
45
- return [requireTemplate, requireStyle, removeModuleId].reduce(
46
- (c, fn) => fn(c, '!raw-loader!'),
47
- content);
48
-
49
- }
50
-
51
- // This is a webpack loader
52
- function webpackInlineResourceLoader(content) {
53
- this.cacheable(true);
54
- const dir = this.context;
55
- const that = this;
56
- return inlineResourcesFromString(content, (url) => {
57
- // Resolve the template url.
58
- const fullPath = _path.default.join(dir, url);
59
- // Make sure this file gets watched
60
- that.addDependency(fullPath);
61
- return fullPath;
62
- });
63
- }
64
-
65
-
66
-
67
- /**
68
- * Inline resources from a string content.
69
- * @param content {string} The source file's content.
70
- * @param urlResolver {Function} A resolver that takes a URL and return a path.
71
- * @returns {string} The content with resources inlined.
72
- */
73
- function inlineResourcesFromString(
74
- content,
75
- urlResolver)
76
- {
77
- // Curry through the inlining functions.
78
- return [inlineTemplate, inlineStyle, removeModuleId].reduce(
79
- (c, fn) => fn(c, urlResolver),
80
- content);
81
-
82
- }
83
-
84
- // The cbFn is given the template url, and should return the string to replace it
85
- function processTemplate(content, cbFn) {
86
- return content.replace(
87
- /templateUrl:\s*'([^']+?\.html)'/g,
88
- (m, templateUrl) => `template: ${cbFn(templateUrl)}`);
89
-
90
- }
91
-
92
- /**
93
- * Inline the templates for a source file. Simply search for instances of `templateUrl: ...` and
94
- * replace with `template: ...` (with the content of the file included).
95
- * @param content {string} The source file's content.
96
- * @param urlResolver {Function} A resolver that takes a URL and return a path.
97
- * @return {string} The content with all templates inlined.
98
- */
99
- function inlineTemplate(content, urlResolver) {
100
- return processTemplate(
101
- content,
102
- (templateUrl) =>
103
- `\`${_fs.default.
104
- readFileSync(urlResolver(templateUrl), 'utf-8').
105
- replace(/([\n\r]\s*)+/gm, ' ')}\``);
106
-
107
- }
108
-
109
- function requireTemplate(content, loader = '') {
110
- return processTemplate(content, (url) => `require('${loader}${url}')`);
111
- }
112
-
113
- // The cbFn is given the url of a single css file, and should return the string to replace it
114
- function processStyle(content, cbFn) {
115
- return content.replace(
116
- /styleUrls:\s*(\[[\s\S]*?\])/gm,
117
- (m, styleUrls) =>
118
- // eslint-disable-next-line no-eval
119
- `styles: [${eval(styleUrls).
120
- map((styleUrl) => cbFn(styleUrl)).
121
- join(',\n')}]`);
122
-
123
- }
124
-
125
- /**
126
- * Inline the styles for a source file. Simply search for instances of `styleUrls: [...]` and
127
- * replace with `styles: [...]` (with the content of the file included).
128
- * @param urlResolver {Function} A resolver that takes a URL and return a path.
129
- * @param content {string} The source file's content.
130
- * @return {string} The content with all styles inlined.
131
- */
132
- function inlineStyle(content, urlResolver) {
133
- return processStyle(
134
- content,
135
- (styleUrl) =>
136
- `\`${_fs.default.
137
- readFileSync(urlResolver(styleUrl), 'utf-8').
138
- replace(/([\n\r]\s*)+/gm, ' ')}\``);
139
-
140
- }
141
-
142
- function requireStyle(content, loader = '') {
143
- return processStyle(content, (url) => `require('${loader}${url}')`);
144
- }
145
-
146
- /**
147
- * Remove every mention of `moduleId: module.id`.
148
- * @param content {string} The source file's content.
149
- * @returns {string} The content with all moduleId: mentions removed.
150
- */
151
- function removeModuleId(
152
- content,
153
- // eslint-disable-next-line no-unused-vars
154
- urlResolver)
155
- {
156
- return content.replace(/\s*moduleId:\s*module\.id\s*,?\s*/gm, '');
157
- }
158
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtcmVzb3VyY2VzLmpzIl0sIm5hbWVzIjpbImRlcGVuZGVuY2llcyIsInJlY29yZERlcGVuZGVuY3kiLCJwYXJlbnQiLCJjaGlsZCIsImluY2x1ZGVzIiwicHVzaCIsImlubGluZVJlc291cmNlcyIsInByb2plY3RQYXRoIiwiZmlsZXMiLCJnbG9iIiwic3luYyIsImN3ZCIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJmaWxlUGF0aCIsImZ1bGxGaWxlUGF0aCIsInBhdGgiLCJqb2luIiwiY29udGVudCIsImlubGluZWQiLCJpbmxpbmVSZXNvdXJjZXNGcm9tU3RyaW5nIiwidXJsIiwidGVtcGxhdGVQYXRoIiwiZGlybmFtZSIsInJlcXVpcmVSZXNvdXJjZXNMb2FkZXIiLCJyZXF1aXJlVGVtcGxhdGUiLCJyZXF1aXJlU3R5bGUiLCJyZW1vdmVNb2R1bGVJZCIsInJlZHVjZSIsImMiLCJmbiIsIndlYnBhY2tJbmxpbmVSZXNvdXJjZUxvYWRlciIsImNhY2hlYWJsZSIsImRpciIsImNvbnRleHQiLCJ0aGF0IiwiZnVsbFBhdGgiLCJhZGREZXBlbmRlbmN5IiwidXJsUmVzb2x2ZXIiLCJpbmxpbmVUZW1wbGF0ZSIsImlubGluZVN0eWxlIiwicHJvY2Vzc1RlbXBsYXRlIiwiY2JGbiIsInJlcGxhY2UiLCJtIiwidGVtcGxhdGVVcmwiLCJmcyIsInJlYWRGaWxlU3luYyIsImxvYWRlciIsInByb2Nlc3NTdHlsZSIsInN0eWxlVXJscyIsImV2YWwiLCJzdHlsZVVybCJdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCOzs7OztBQUtBO0FBQ08sTUFBTUEsWUFBMkIsR0FBRyxFQUFwQyxDOztBQUVQLFNBQVNDLGdCQUFULENBQTBCQyxNQUExQixFQUFrQ0MsS0FBbEMsRUFBK0M7QUFDN0NILEVBQUFBLFlBQVksQ0FBQ0csS0FBRCxDQUFaLEdBQXNCSCxZQUFZLENBQUNHLEtBQUQsQ0FBWixJQUF1QixFQUE3QztBQUNBLE1BQUksQ0FBQ0gsWUFBWSxDQUFDRyxLQUFELENBQVosQ0FBb0JDLFFBQXBCLENBQTZCRixNQUE3QixDQUFMLEVBQTJDO0FBQ3pDRixJQUFBQSxZQUFZLENBQUNHLEtBQUQsQ0FBWixDQUFvQkUsSUFBcEIsQ0FBeUJILE1BQXpCO0FBQ0Q7QUFDRjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNPLGVBQWVJLGVBQWYsQ0FBK0JDLFdBQS9CLEVBQW1FO0FBQ3hFO0FBQ0EsUUFBTUMsS0FBSyxHQUFHQyxjQUFLQyxJQUFMLENBQVUsU0FBVixFQUFxQixFQUFFQyxHQUFHLEVBQUVKLFdBQVAsRUFBckIsQ0FBZDs7QUFFQTtBQUNBLFFBQU1LLE9BQU8sQ0FBQ0MsR0FBUjtBQUNKTCxFQUFBQSxLQUFLLENBQUNNLEdBQU4sQ0FBVSxPQUFPQyxRQUFQLEtBQW9CO0FBQzVCLFVBQU1DLFlBQVksR0FBR0MsY0FBS0MsSUFBTCxDQUFVWCxXQUFWLEVBQXVCUSxRQUF2QixDQUFyQjtBQUNBLFVBQU1JLE9BQU8sR0FBRyxNQUFNLG1CQUFTSCxZQUFULEVBQXVCLE9BQXZCLENBQXRCO0FBQ0EsVUFBTUksT0FBTyxHQUFHQyx5QkFBeUIsQ0FBQ0YsT0FBRCxFQUFVLENBQUNHLEdBQUQsS0FBUztBQUMxRDtBQUNBLFlBQU1DLFlBQVksR0FBR04sY0FBS0MsSUFBTCxDQUFVRCxjQUFLTyxPQUFMLENBQWFSLFlBQWIsQ0FBVixFQUFzQ00sR0FBdEMsQ0FBckI7QUFDQXJCLE1BQUFBLGdCQUFnQixDQUFDZSxZQUFELEVBQWVPLFlBQWYsQ0FBaEI7QUFDQSxhQUFPQSxZQUFQO0FBQ0QsS0FMd0MsQ0FBekM7QUFNQSxVQUFNLG9CQUFVUCxZQUFWLEVBQXdCSSxPQUF4QixDQUFOO0FBQ0QsR0FWRCxDQURJLENBQU47O0FBYUQ7O0FBRU0sU0FBU0ssc0JBQVQsQ0FBZ0NOLE9BQWhDLEVBQXlEO0FBQzlELFNBQU8sQ0FBQ08sZUFBRCxFQUFrQkMsWUFBbEIsRUFBZ0NDLGNBQWhDLEVBQWdEQyxNQUFoRDtBQUNMLEdBQUNDLENBQUQsRUFBSUMsRUFBSixLQUFXQSxFQUFFLENBQUNELENBQUQsRUFBSSxjQUFKLENBRFI7QUFFTFgsRUFBQUEsT0FGSyxDQUFQOztBQUlEOztBQUVEO0FBQ08sU0FBU2EsMkJBQVQsQ0FBcUNiLE9BQXJDLEVBQThEO0FBQ25FLE9BQUtjLFNBQUwsQ0FBZSxJQUFmO0FBQ0EsUUFBTUMsR0FBRyxHQUFHLEtBQUtDLE9BQWpCO0FBQ0EsUUFBTUMsSUFBSSxHQUFHLElBQWI7QUFDQSxTQUFPZix5QkFBeUIsQ0FBQ0YsT0FBRCxFQUFVLENBQUNHLEdBQUQsS0FBUztBQUNqRDtBQUNBLFVBQU1lLFFBQVEsR0FBR3BCLGNBQUtDLElBQUwsQ0FBVWdCLEdBQVYsRUFBZVosR0FBZixDQUFqQjtBQUNBO0FBQ0FjLElBQUFBLElBQUksQ0FBQ0UsYUFBTCxDQUFtQkQsUUFBbkI7QUFDQSxXQUFPQSxRQUFQO0FBQ0QsR0FOK0IsQ0FBaEM7QUFPRDs7OztBQUlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNoQix5QkFBVDtBQUNMRixPQURLO0FBRUxvQixXQUZLO0FBR0c7QUFDUjtBQUNBLFNBQU8sQ0FBQ0MsY0FBRCxFQUFpQkMsV0FBakIsRUFBOEJiLGNBQTlCLEVBQThDQyxNQUE5QztBQUNMLEdBQUNDLENBQUQsRUFBSUMsRUFBSixLQUFXQSxFQUFFLENBQUNELENBQUQsRUFBSVMsV0FBSixDQURSO0FBRUxwQixFQUFBQSxPQUZLLENBQVA7O0FBSUQ7O0FBRUQ7QUFDQSxTQUFTdUIsZUFBVCxDQUF5QnZCLE9BQXpCLEVBQTBDd0IsSUFBMUMsRUFBNkQ7QUFDM0QsU0FBT3hCLE9BQU8sQ0FBQ3lCLE9BQVI7QUFDTCxvQ0FESztBQUVMLEdBQUNDLENBQUQsRUFBSUMsV0FBSixLQUFxQixhQUFZSCxJQUFJLENBQUNHLFdBQUQsQ0FBYyxFQUY5QyxDQUFQOztBQUlEOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU04sY0FBVCxDQUF3QnJCLE9BQXhCLEVBQXlDb0IsV0FBekMsRUFBMkU7QUFDekUsU0FBT0csZUFBZTtBQUNwQnZCLEVBQUFBLE9BRG9CO0FBRXBCLEdBQUMyQixXQUFEO0FBQ0csT0FBSUM7QUFDRkMsRUFBQUEsWUFERSxDQUNXVCxXQUFXLENBQUNPLFdBQUQsQ0FEdEIsRUFDcUMsT0FEckM7QUFFRkYsRUFBQUEsT0FGRSxDQUVNLGdCQUZOLEVBRXdCLEdBRnhCLENBRTZCLElBTGhCLENBQXRCOztBQU9EOztBQUVELFNBQVNsQixlQUFULENBQXlCUCxPQUF6QixFQUEwQzhCLE1BQWMsR0FBRyxFQUEzRCxFQUF1RTtBQUNyRSxTQUFPUCxlQUFlLENBQUN2QixPQUFELEVBQVUsQ0FBQ0csR0FBRCxLQUFVLFlBQVcyQixNQUFPLEdBQUUzQixHQUFJLElBQTVDLENBQXRCO0FBQ0Q7O0FBRUQ7QUFDQSxTQUFTNEIsWUFBVCxDQUFzQi9CLE9BQXRCLEVBQXVDd0IsSUFBdkMsRUFBa0U7QUFDaEUsU0FBT3hCLE9BQU8sQ0FBQ3lCLE9BQVI7QUFDTCxpQ0FESztBQUVMLEdBQUNDLENBQUQsRUFBSU0sU0FBSjtBQUNFO0FBQ0MsY0FBV0MsSUFBSSxDQUFDRCxTQUFELENBQUo7QUFDVHJDLEVBQUFBLEdBRFMsQ0FDTCxDQUFDdUMsUUFBRCxLQUFjVixJQUFJLENBQUNVLFFBQUQsQ0FEYjtBQUVUbkMsRUFBQUEsSUFGUyxDQUVKLEtBRkksQ0FFRyxHQU5aLENBQVA7O0FBUUQ7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTdUIsV0FBVCxDQUFxQnRCLE9BQXJCLEVBQXNDb0IsV0FBdEMsRUFBd0U7QUFDdEUsU0FBT1csWUFBWTtBQUNqQi9CLEVBQUFBLE9BRGlCO0FBRWpCLEdBQUNrQyxRQUFEO0FBQ0csT0FBSU47QUFDRkMsRUFBQUEsWUFERSxDQUNXVCxXQUFXLENBQUNjLFFBQUQsQ0FEdEIsRUFDa0MsT0FEbEM7QUFFRlQsRUFBQUEsT0FGRSxDQUVNLGdCQUZOLEVBRXdCLEdBRnhCLENBRTZCLElBTG5CLENBQW5COztBQU9EOztBQUVELFNBQVNqQixZQUFULENBQXNCUixPQUF0QixFQUF1QzhCLE1BQWMsR0FBRyxFQUF4RCxFQUFvRTtBQUNsRSxTQUFPQyxZQUFZLENBQUMvQixPQUFELEVBQVUsQ0FBQ0csR0FBRCxLQUFVLFlBQVcyQixNQUFPLEdBQUUzQixHQUFJLElBQTVDLENBQW5CO0FBQ0Q7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNNLGNBQVQ7QUFDRVQsT0FERjtBQUVFO0FBQ0FvQixXQUhGO0FBSVU7QUFDUixTQUFPcEIsT0FBTyxDQUFDeUIsT0FBUixDQUFnQixxQ0FBaEIsRUFBdUQsRUFBdkQsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbmltcG9ydCBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgcmVhZEZpbGUsIHdyaXRlRmlsZSB9IGZyb20gJy4vZnMnO1xuXG50eXBlIERlcGVuZGVuY3lNYXAgPSB7XG4gIFtzdHJpbmddOiBzdHJpbmdbXSxcbn07XG4vLyBTbyB3ZSBrbm93IHRvIGNvcHkgZXh0cmEgZmlsZXMgd2hlbiBhIGRlcGVuZGVuY3kgaXMgbW9kaWZpZWRcbmV4cG9ydCBjb25zdCBkZXBlbmRlbmNpZXM6IERlcGVuZGVuY3lNYXAgPSB7fTtcblxuZnVuY3Rpb24gcmVjb3JkRGVwZW5kZW5jeShwYXJlbnQsIGNoaWxkKTogdm9pZCB7XG4gIGRlcGVuZGVuY2llc1tjaGlsZF0gPSBkZXBlbmRlbmNpZXNbY2hpbGRdIHx8IFtdO1xuICBpZiAoIWRlcGVuZGVuY2llc1tjaGlsZF0uaW5jbHVkZXMocGFyZW50KSkge1xuICAgIGRlcGVuZGVuY2llc1tjaGlsZF0ucHVzaChwYXJlbnQpO1xuICB9XG59XG5cbi8qKlxuICogSW5saW5lIHJlc291cmNlcyBpbiBhIHRzYy9uZ2MgY29tcGlsYXRpb24uXG4gKiBAcGFyYW0gcHJvamVjdFBhdGgge3N0cmluZ30gUGF0aCB0byB0aGUgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlubGluZVJlc291cmNlcyhwcm9qZWN0UGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIE1hdGNoIG9ubHkgVHlwZVNjcmlwdCBmaWxlcyBpbiBwcm9qZWN0UGF0aC5cbiAgY29uc3QgZmlsZXMgPSBnbG9iLnN5bmMoJyoqLyoudHMnLCB7IGN3ZDogcHJvamVjdFBhdGggfSk7XG5cbiAgLy8gRm9yIGVhY2ggZmlsZSwgaW5saW5lIHRoZSB0ZW1wbGF0ZXMgYW5kIHN0eWxlcyB1bmRlciBpdCBhbmQgd3JpdGUgdGhlIG5ldyBmaWxlLlxuICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBmaWxlcy5tYXAoYXN5bmMgKGZpbGVQYXRoKSA9PiB7XG4gICAgICBjb25zdCBmdWxsRmlsZVBhdGggPSBwYXRoLmpvaW4ocHJvamVjdFBhdGgsIGZpbGVQYXRoKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkRmlsZShmdWxsRmlsZVBhdGgsICd1dGYtOCcpO1xuICAgICAgY29uc3QgaW5saW5lZCA9IGlubGluZVJlc291cmNlc0Zyb21TdHJpbmcoY29udGVudCwgKHVybCkgPT4ge1xuICAgICAgICAvLyBSZXNvbHZlIHRoZSB0ZW1wbGF0ZSB1cmwuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlUGF0aCA9IHBhdGguam9pbihwYXRoLmRpcm5hbWUoZnVsbEZpbGVQYXRoKSwgdXJsKTtcbiAgICAgICAgcmVjb3JkRGVwZW5kZW5jeShmdWxsRmlsZVBhdGgsIHRlbXBsYXRlUGF0aCk7XG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZVBhdGg7XG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHdyaXRlRmlsZShmdWxsRmlsZVBhdGgsIGlubGluZWQpO1xuICAgIH0pLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZVJlc291cmNlc0xvYWRlcihjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gW3JlcXVpcmVUZW1wbGF0ZSwgcmVxdWlyZVN0eWxlLCByZW1vdmVNb2R1bGVJZF0ucmVkdWNlKFxuICAgIChjLCBmbikgPT4gZm4oYywgJyFyYXctbG9hZGVyIScpLFxuICAgIGNvbnRlbnQsXG4gICk7XG59XG5cbi8vIFRoaXMgaXMgYSB3ZWJwYWNrIGxvYWRlclxuZXhwb3J0IGZ1bmN0aW9uIHdlYnBhY2tJbmxpbmVSZXNvdXJjZUxvYWRlcihjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICB0aGlzLmNhY2hlYWJsZSh0cnVlKTtcbiAgY29uc3QgZGlyID0gdGhpcy5jb250ZXh0O1xuICBjb25zdCB0aGF0ID0gdGhpcztcbiAgcmV0dXJuIGlubGluZVJlc291cmNlc0Zyb21TdHJpbmcoY29udGVudCwgKHVybCkgPT4ge1xuICAgIC8vIFJlc29sdmUgdGhlIHRlbXBsYXRlIHVybC5cbiAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGguam9pbihkaXIsIHVybCk7XG4gICAgLy8gTWFrZSBzdXJlIHRoaXMgZmlsZSBnZXRzIHdhdGNoZWRcbiAgICB0aGF0LmFkZERlcGVuZGVuY3koZnVsbFBhdGgpO1xuICAgIHJldHVybiBmdWxsUGF0aDtcbiAgfSk7XG59XG5cbmV4cG9ydCB0eXBlIFVybFJlc29sdmVyID0gKHVybDogc3RyaW5nKSA9PiBzdHJpbmc7XG5cbi8qKlxuICogSW5saW5lIHJlc291cmNlcyBmcm9tIGEgc3RyaW5nIGNvbnRlbnQuXG4gKiBAcGFyYW0gY29udGVudCB7c3RyaW5nfSBUaGUgc291cmNlIGZpbGUncyBjb250ZW50LlxuICogQHBhcmFtIHVybFJlc29sdmVyIHtGdW5jdGlvbn0gQSByZXNvbHZlciB0aGF0IHRha2VzIGEgVVJMIGFuZCByZXR1cm4gYSBwYXRoLlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbnRlbnQgd2l0aCByZXNvdXJjZXMgaW5saW5lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlubGluZVJlc291cmNlc0Zyb21TdHJpbmcoXG4gIGNvbnRlbnQ6IHN0cmluZyxcbiAgdXJsUmVzb2x2ZXI6IFVybFJlc29sdmVyLFxuKTogc3RyaW5nIHtcbiAgLy8gQ3VycnkgdGhyb3VnaCB0aGUgaW5saW5pbmcgZnVuY3Rpb25zLlxuICByZXR1cm4gW2lubGluZVRlbXBsYXRlLCBpbmxpbmVTdHlsZSwgcmVtb3ZlTW9kdWxlSWRdLnJlZHVjZShcbiAgICAoYywgZm4pID0+IGZuKGMsIHVybFJlc29sdmVyKSxcbiAgICBjb250ZW50LFxuICApO1xufVxuXG4vLyBUaGUgY2JGbiBpcyBnaXZlbiB0aGUgdGVtcGxhdGUgdXJsLCBhbmQgc2hvdWxkIHJldHVybiB0aGUgc3RyaW5nIHRvIHJlcGxhY2UgaXRcbmZ1bmN0aW9uIHByb2Nlc3NUZW1wbGF0ZShjb250ZW50OiBzdHJpbmcsIGNiRm46IFVybFJlc29sdmVyKSB7XG4gIHJldHVybiBjb250ZW50LnJlcGxhY2UoXG4gICAgL3RlbXBsYXRlVXJsOlxccyonKFteJ10rP1xcLmh0bWwpJy9nLFxuICAgIChtLCB0ZW1wbGF0ZVVybCkgPT4gYHRlbXBsYXRlOiAke2NiRm4odGVtcGxhdGVVcmwpfWAsXG4gICk7XG59XG5cbi8qKlxuICogSW5saW5lIHRoZSB0ZW1wbGF0ZXMgZm9yIGEgc291cmNlIGZpbGUuIFNpbXBseSBzZWFyY2ggZm9yIGluc3RhbmNlcyBvZiBgdGVtcGxhdGVVcmw6IC4uLmAgYW5kXG4gKiByZXBsYWNlIHdpdGggYHRlbXBsYXRlOiAuLi5gICh3aXRoIHRoZSBjb250ZW50IG9mIHRoZSBmaWxlIGluY2x1ZGVkKS5cbiAqIEBwYXJhbSBjb250ZW50IHtzdHJpbmd9IFRoZSBzb3VyY2UgZmlsZSdzIGNvbnRlbnQuXG4gKiBAcGFyYW0gdXJsUmVzb2x2ZXIge0Z1bmN0aW9ufSBBIHJlc29sdmVyIHRoYXQgdGFrZXMgYSBVUkwgYW5kIHJldHVybiBhIHBhdGguXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjb250ZW50IHdpdGggYWxsIHRlbXBsYXRlcyBpbmxpbmVkLlxuICovXG5mdW5jdGlvbiBpbmxpbmVUZW1wbGF0ZShjb250ZW50OiBzdHJpbmcsIHVybFJlc29sdmVyOiBVcmxSZXNvbHZlcik6IHN0cmluZyB7XG4gIHJldHVybiBwcm9jZXNzVGVtcGxhdGUoXG4gICAgY29udGVudCxcbiAgICAodGVtcGxhdGVVcmwpID0+XG4gICAgICBgXFxgJHtmc1xuICAgICAgICAucmVhZEZpbGVTeW5jKHVybFJlc29sdmVyKHRlbXBsYXRlVXJsKSwgJ3V0Zi04JylcbiAgICAgICAgLnJlcGxhY2UoLyhbXFxuXFxyXVxccyopKy9nbSwgJyAnKX1cXGBgLFxuICApO1xufVxuXG5mdW5jdGlvbiByZXF1aXJlVGVtcGxhdGUoY29udGVudDogc3RyaW5nLCBsb2FkZXI6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgcmV0dXJuIHByb2Nlc3NUZW1wbGF0ZShjb250ZW50LCAodXJsKSA9PiBgcmVxdWlyZSgnJHtsb2FkZXJ9JHt1cmx9JylgKTtcbn1cblxuLy8gVGhlIGNiRm4gaXMgZ2l2ZW4gdGhlIHVybCBvZiBhIHNpbmdsZSBjc3MgZmlsZSwgYW5kIHNob3VsZCByZXR1cm4gdGhlIHN0cmluZyB0byByZXBsYWNlIGl0XG5mdW5jdGlvbiBwcm9jZXNzU3R5bGUoY29udGVudDogc3RyaW5nLCBjYkZuOiBVcmxSZXNvbHZlcik6IHN0cmluZyB7XG4gIHJldHVybiBjb250ZW50LnJlcGxhY2UoXG4gICAgL3N0eWxlVXJsczpcXHMqKFxcW1tcXHNcXFNdKj9cXF0pL2dtLFxuICAgIChtLCBzdHlsZVVybHMpID0+XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgICAgYHN0eWxlczogWyR7ZXZhbChzdHlsZVVybHMpXG4gICAgICAgIC5tYXAoKHN0eWxlVXJsKSA9PiBjYkZuKHN0eWxlVXJsKSlcbiAgICAgICAgLmpvaW4oJyxcXG4nKX1dYCxcbiAgKTtcbn1cblxuLyoqXG4gKiBJbmxpbmUgdGhlIHN0eWxlcyBmb3IgYSBzb3VyY2UgZmlsZS4gU2ltcGx5IHNlYXJjaCBmb3IgaW5zdGFuY2VzIG9mIGBzdHlsZVVybHM6IFsuLi5dYCBhbmRcbiAqIHJlcGxhY2Ugd2l0aCBgc3R5bGVzOiBbLi4uXWAgKHdpdGggdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgaW5jbHVkZWQpLlxuICogQHBhcmFtIHVybFJlc29sdmVyIHtGdW5jdGlvbn0gQSByZXNvbHZlciB0aGF0IHRha2VzIGEgVVJMIGFuZCByZXR1cm4gYSBwYXRoLlxuICogQHBhcmFtIGNvbnRlbnQge3N0cmluZ30gVGhlIHNvdXJjZSBmaWxlJ3MgY29udGVudC5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGNvbnRlbnQgd2l0aCBhbGwgc3R5bGVzIGlubGluZWQuXG4gKi9cbmZ1bmN0aW9uIGlubGluZVN0eWxlKGNvbnRlbnQ6IHN0cmluZywgdXJsUmVzb2x2ZXI6IFVybFJlc29sdmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIHByb2Nlc3NTdHlsZShcbiAgICBjb250ZW50LFxuICAgIChzdHlsZVVybCkgPT5cbiAgICAgIGBcXGAke2ZzXG4gICAgICAgIC5yZWFkRmlsZVN5bmModXJsUmVzb2x2ZXIoc3R5bGVVcmwpLCAndXRmLTgnKVxuICAgICAgICAucmVwbGFjZSgvKFtcXG5cXHJdXFxzKikrL2dtLCAnICcpfVxcYGAsXG4gICk7XG59XG5cbmZ1bmN0aW9uIHJlcXVpcmVTdHlsZShjb250ZW50OiBzdHJpbmcsIGxvYWRlcjogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICByZXR1cm4gcHJvY2Vzc1N0eWxlKGNvbnRlbnQsICh1cmwpID0+IGByZXF1aXJlKCcke2xvYWRlcn0ke3VybH0nKWApO1xufVxuXG4vKipcbiAqIFJlbW92ZSBldmVyeSBtZW50aW9uIG9mIGBtb2R1bGVJZDogbW9kdWxlLmlkYC5cbiAqIEBwYXJhbSBjb250ZW50IHtzdHJpbmd9IFRoZSBzb3VyY2UgZmlsZSdzIGNvbnRlbnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgY29udGVudCB3aXRoIGFsbCBtb2R1bGVJZDogbWVudGlvbnMgcmVtb3ZlZC5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlTW9kdWxlSWQoXG4gIGNvbnRlbnQ6IHN0cmluZyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIHVybFJlc29sdmVyPzogVXJsUmVzb2x2ZXIgfCBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gY29udGVudC5yZXBsYWNlKC9cXHMqbW9kdWxlSWQ6XFxzKm1vZHVsZVxcLmlkXFxzKiw/XFxzKi9nbSwgJycpO1xufVxuIl19