build-strap 3.0.0-dev.42 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -34
  3. package/dist/src/ant.d.ts +19 -0
  4. package/dist/src/ant.js +18 -0
  5. package/dist/src/cert.d.ts +12 -0
  6. package/dist/src/cert.js +91 -0
  7. package/dist/src/clean.d.ts +4 -0
  8. package/dist/src/clean.js +11 -0
  9. package/dist/src/copy.d.ts +7 -0
  10. package/dist/src/copy.js +53 -0
  11. package/dist/src/cp.d.ts +17 -0
  12. package/dist/src/cp.js +88 -0
  13. package/dist/src/docker.container.d.ts +73 -0
  14. package/dist/src/docker.container.js +247 -0
  15. package/dist/src/docker.d.ts +68 -0
  16. package/dist/src/docker.js +188 -0
  17. package/dist/src/docker.network.d.ts +42 -0
  18. package/dist/src/docker.network.js +85 -0
  19. package/dist/src/docker.volume.d.ts +26 -0
  20. package/dist/src/docker.volume.js +62 -0
  21. package/dist/src/dockerCleanup.d.ts +38 -0
  22. package/dist/src/dockerCleanup.js +77 -0
  23. package/dist/src/dockerCompose.d.ts +154 -0
  24. package/dist/src/dockerCompose.js +439 -0
  25. package/dist/src/fs.d.ts +5 -0
  26. package/dist/src/fs.js +38 -0
  27. package/dist/src/git.d.ts +9 -0
  28. package/dist/src/git.js +24 -0
  29. package/dist/src/index.d.ts +20 -0
  30. package/dist/src/index.js +20 -0
  31. package/dist/src/maps.d.ts +33 -0
  32. package/dist/src/maps.js +41 -0
  33. package/dist/src/npm.d.ts +35 -0
  34. package/dist/src/npm.js +104 -0
  35. package/dist/src/pkg.d.ts +33 -0
  36. package/dist/src/pkg.js +33 -0
  37. package/dist/src/publish.d.ts +27 -0
  38. package/dist/src/publish.js +57 -0
  39. package/dist/src/run.d.ts +13 -0
  40. package/dist/src/run.js +44 -0
  41. package/dist/src/tgz.d.ts +13 -0
  42. package/dist/src/tgz.js +67 -0
  43. package/dist/src/version.d.ts +34 -0
  44. package/dist/src/version.js +101 -0
  45. package/dist/src/yarn.d.ts +26 -0
  46. package/dist/src/yarn.js +75 -0
  47. package/package.json +74 -20
  48. package/ant.js +0 -43
  49. package/ant.js.flow +0 -42
  50. package/artifactory.js +0 -617
  51. package/artifactory.js.flow +0 -616
  52. package/cert.conf +0 -20
  53. package/cert.js +0 -153
  54. package/cert.js.flow +0 -152
  55. package/clean.js +0 -20
  56. package/clean.js.flow +0 -19
  57. package/copy.js +0 -80
  58. package/copy.js.flow +0 -79
  59. package/cp.js +0 -173
  60. package/cp.js.flow +0 -172
  61. package/docker.container.js +0 -390
  62. package/docker.container.js.flow +0 -389
  63. package/docker.js +0 -368
  64. package/docker.js.flow +0 -367
  65. package/docker.network.js +0 -160
  66. package/docker.network.js.flow +0 -159
  67. package/docker.volume.js +0 -136
  68. package/docker.volume.js.flow +0 -136
  69. package/dockerCleanup.js +0 -152
  70. package/dockerCleanup.js.flow +0 -151
  71. package/dockerCompose.js +0 -766
  72. package/dockerCompose.js.flow +0 -765
  73. package/flow.js +0 -21
  74. package/flow.js.flow +0 -20
  75. package/fs.js +0 -95
  76. package/fs.js.flow +0 -96
  77. package/git.js +0 -35
  78. package/git.js.flow +0 -34
  79. package/hg.js +0 -35
  80. package/hg.js.flow +0 -34
  81. package/index.js +0 -27
  82. package/index.js.flow +0 -26
  83. package/inline-resources.js +0 -158
  84. package/inline-resources.js.flow +0 -157
  85. package/maps.js +0 -112
  86. package/maps.js.flow +0 -111
  87. package/npm.js +0 -145
  88. package/npm.js.flow +0 -144
  89. package/pkg.js +0 -81
  90. package/pkg.js.flow +0 -80
  91. package/publish.js +0 -145
  92. package/publish.js.flow +0 -144
  93. package/run.js +0 -90
  94. package/run.js.flow +0 -89
  95. package/src/ant.js +0 -42
  96. package/src/artifactory.js +0 -616
  97. package/src/cert.conf +0 -20
  98. package/src/cert.js +0 -152
  99. package/src/clean.js +0 -19
  100. package/src/copy.js +0 -79
  101. package/src/cp.js +0 -172
  102. package/src/docker.container.js +0 -389
  103. package/src/docker.js +0 -367
  104. package/src/docker.network.js +0 -159
  105. package/src/docker.volume.js +0 -136
  106. package/src/dockerCleanup.js +0 -151
  107. package/src/dockerCompose.js +0 -765
  108. package/src/flow.js +0 -20
  109. package/src/fs.js +0 -96
  110. package/src/git.js +0 -34
  111. package/src/hg.js +0 -34
  112. package/src/index.js +0 -26
  113. package/src/inline-resources.js +0 -157
  114. package/src/maps.js +0 -111
  115. package/src/npm.js +0 -144
  116. package/src/pkg.js +0 -80
  117. package/src/publish.js +0 -144
  118. package/src/run.js +0 -89
  119. package/src/test.js +0 -55
  120. package/src/tgz.js +0 -101
  121. package/src/version.js +0 -141
  122. package/src/yarn.js +0 -123
  123. package/test.js +0 -56
  124. package/test.js.flow +0 -55
  125. package/tgz.js +0 -102
  126. package/tgz.js.flow +0 -101
  127. package/version.js +0 -142
  128. package/version.js.flow +0 -141
  129. package/yarn.js +0 -124
  130. package/yarn.js.flow +0 -123
package/test.js DELETED
@@ -1,56 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.karmaTest = karmaTest;
2
- var _run = require("./run");
3
- var _cp = require("./cp");
4
-
5
- async function karmaTest(
6
- karma,
7
- karmaConfig,
8
- preTestFn,
9
- watch = process.argv.includes('--watch'))
10
- {
11
- // Lazy require karma
12
- const { Server, runner, stopper, config } = karma;
13
-
14
- const testConfig = config.parseConfig(karmaConfig, {
15
- autoWatch: false,
16
- singleRun: !watch });
17
-
18
- const server = new Server(testConfig, (exitCode) => {
19
- (0, _run.buildLog)(`Karma has exited with code ${exitCode}`);
20
- });
21
- (0, _cp.onKillSignal)(() => stopper.stop(testConfig));
22
-
23
- let started = false;
24
- async function doTest() {
25
- if (!started) {
26
- await Promise.all([
27
- new Promise((resolve) => {
28
- server.on('browsers_ready', resolve);
29
- }),
30
- server.start()]);
31
-
32
- started = true;
33
- }
34
- if (watch) {
35
- // await server.refreshFiles();
36
- await new Promise((resolve, reject) => {
37
- runner.run(testConfig, (exitCode) => {
38
- (0, _run.buildLog)(`Karma run completed with exit code ${exitCode}`);
39
- if (exitCode === 0 || watch) {
40
- resolve(exitCode);
41
- } else {
42
- reject(exitCode);
43
- }
44
- });
45
- });
46
- }
47
- }
48
-
49
- if (typeof preTestFn === 'function') {
50
- // preTestFn is expected to callback and run doTest
51
- await (0, _run.run)(preTestFn, doTest);
52
- } else {
53
- await doTest();
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0LmpzIl0sIm5hbWVzIjpbImthcm1hVGVzdCIsImthcm1hIiwia2FybWFDb25maWciLCJwcmVUZXN0Rm4iLCJ3YXRjaCIsInByb2Nlc3MiLCJhcmd2IiwiaW5jbHVkZXMiLCJTZXJ2ZXIiLCJydW5uZXIiLCJzdG9wcGVyIiwiY29uZmlnIiwidGVzdENvbmZpZyIsInBhcnNlQ29uZmlnIiwiYXV0b1dhdGNoIiwic2luZ2xlUnVuIiwic2VydmVyIiwiZXhpdENvZGUiLCJzdG9wIiwic3RhcnRlZCIsImRvVGVzdCIsIlByb21pc2UiLCJhbGwiLCJyZXNvbHZlIiwib24iLCJzdGFydCIsInJlamVjdCIsInJ1biJdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7O0FBRU8sZUFBZUEsU0FBZjtBQUNMQyxLQURLO0FBRUxDLFdBRks7QUFHTEMsU0FISztBQUlMQyxLQUFjLEdBQUdDLE9BQU8sQ0FBQ0MsSUFBUixDQUFhQyxRQUFiLENBQXNCLFNBQXRCLENBSlo7QUFLTDtBQUNBO0FBQ0EsUUFBTSxFQUFFQyxNQUFGLEVBQVVDLE1BQVYsRUFBa0JDLE9BQWxCLEVBQTJCQyxNQUEzQixLQUFzQ1YsS0FBNUM7O0FBRUEsUUFBTVcsVUFBVSxHQUFHRCxNQUFNLENBQUNFLFdBQVAsQ0FBbUJYLFdBQW5CLEVBQWdDO0FBQ2pEWSxJQUFBQSxTQUFTLEVBQUUsS0FEc0M7QUFFakRDLElBQUFBLFNBQVMsRUFBRSxDQUFDWCxLQUZxQyxFQUFoQyxDQUFuQjs7QUFJQSxRQUFNWSxNQUFNLEdBQUcsSUFBSVIsTUFBSixDQUFXSSxVQUFYLEVBQXVCLENBQUNLLFFBQUQsS0FBYztBQUNsRCx1QkFBVSw4QkFBNkJBLFFBQVMsRUFBaEQ7QUFDRCxHQUZjLENBQWY7QUFHQSx3QkFBYSxNQUFNUCxPQUFPLENBQUNRLElBQVIsQ0FBYU4sVUFBYixDQUFuQjs7QUFFQSxNQUFJTyxPQUFPLEdBQUcsS0FBZDtBQUNBLGlCQUFlQyxNQUFmLEdBQXdCO0FBQ3RCLFFBQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ1osWUFBTUUsT0FBTyxDQUFDQyxHQUFSLENBQVk7QUFDaEIsVUFBSUQsT0FBSixDQUFZLENBQUNFLE9BQUQsS0FBYTtBQUN2QlAsUUFBQUEsTUFBTSxDQUFDUSxFQUFQLENBQVUsZ0JBQVYsRUFBNEJELE9BQTVCO0FBQ0QsT0FGRCxDQURnQjtBQUloQlAsTUFBQUEsTUFBTSxDQUFDUyxLQUFQLEVBSmdCLENBQVosQ0FBTjs7QUFNQU4sTUFBQUEsT0FBTyxHQUFHLElBQVY7QUFDRDtBQUNELFFBQUlmLEtBQUosRUFBVztBQUNUO0FBQ0EsWUFBTSxJQUFJaUIsT0FBSixDQUFZLENBQUNFLE9BQUQsRUFBVUcsTUFBVixLQUFxQjtBQUNyQ2pCLFFBQUFBLE1BQU0sQ0FBQ2tCLEdBQVAsQ0FBV2YsVUFBWCxFQUF1QixDQUFDSyxRQUFELEtBQWM7QUFDbkMsNkJBQVUsc0NBQXFDQSxRQUFTLEVBQXhEO0FBQ0EsY0FBSUEsUUFBUSxLQUFLLENBQWIsSUFBa0JiLEtBQXRCLEVBQTZCO0FBQzNCbUIsWUFBQUEsT0FBTyxDQUFDTixRQUFELENBQVA7QUFDRCxXQUZELE1BRU87QUFDTFMsWUFBQUEsTUFBTSxDQUFDVCxRQUFELENBQU47QUFDRDtBQUNGLFNBUEQ7QUFRRCxPQVRLLENBQU47QUFVRDtBQUNGOztBQUVELE1BQUksT0FBT2QsU0FBUCxLQUFxQixVQUF6QixFQUFxQztBQUNuQztBQUNBLFVBQU0sY0FBSUEsU0FBSixFQUFlaUIsTUFBZixDQUFOO0FBQ0QsR0FIRCxNQUdPO0FBQ0wsVUFBTUEsTUFBTSxFQUFaO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgeyBydW4sIGJ1aWxkTG9nIH0gZnJvbSAnLi9ydW4nO1xuaW1wb3J0IHsgb25LaWxsU2lnbmFsIH0gZnJvbSAnLi9jcCc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBrYXJtYVRlc3QoXG4gIGthcm1hOiBPYmplY3QsXG4gIGthcm1hQ29uZmlnOiBhbnksXG4gIHByZVRlc3RGbj86ICgpID0+IGFueSxcbiAgd2F0Y2g6IGJvb2xlYW4gPSBwcm9jZXNzLmFyZ3YuaW5jbHVkZXMoJy0td2F0Y2gnKSxcbikge1xuICAvLyBMYXp5IHJlcXVpcmUga2FybWFcbiAgY29uc3QgeyBTZXJ2ZXIsIHJ1bm5lciwgc3RvcHBlciwgY29uZmlnIH0gPSBrYXJtYTtcblxuICBjb25zdCB0ZXN0Q29uZmlnID0gY29uZmlnLnBhcnNlQ29uZmlnKGthcm1hQ29uZmlnLCB7XG4gICAgYXV0b1dhdGNoOiBmYWxzZSxcbiAgICBzaW5nbGVSdW46ICF3YXRjaCxcbiAgfSk7XG4gIGNvbnN0IHNlcnZlciA9IG5ldyBTZXJ2ZXIodGVzdENvbmZpZywgKGV4aXRDb2RlKSA9PiB7XG4gICAgYnVpbGRMb2coYEthcm1hIGhhcyBleGl0ZWQgd2l0aCBjb2RlICR7ZXhpdENvZGV9YCk7XG4gIH0pO1xuICBvbktpbGxTaWduYWwoKCkgPT4gc3RvcHBlci5zdG9wKHRlc3RDb25maWcpKTtcblxuICBsZXQgc3RhcnRlZCA9IGZhbHNlO1xuICBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKSB7XG4gICAgaWYgKCFzdGFydGVkKSB7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgc2VydmVyLm9uKCdicm93c2Vyc19yZWFkeScsIHJlc29sdmUpO1xuICAgICAgICB9KSxcbiAgICAgICAgc2VydmVyLnN0YXJ0KCksXG4gICAgICBdKTtcbiAgICAgIHN0YXJ0ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAod2F0Y2gpIHtcbiAgICAgIC8vIGF3YWl0IHNlcnZlci5yZWZyZXNoRmlsZXMoKTtcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgcnVubmVyLnJ1bih0ZXN0Q29uZmlnLCAoZXhpdENvZGUpID0+IHtcbiAgICAgICAgICBidWlsZExvZyhgS2FybWEgcnVuIGNvbXBsZXRlZCB3aXRoIGV4aXQgY29kZSAke2V4aXRDb2RlfWApO1xuICAgICAgICAgIGlmIChleGl0Q29kZSA9PT0gMCB8fCB3YXRjaCkge1xuICAgICAgICAgICAgcmVzb2x2ZShleGl0Q29kZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlamVjdChleGl0Q29kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgcHJlVGVzdEZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gcHJlVGVzdEZuIGlzIGV4cGVjdGVkIHRvIGNhbGxiYWNrIGFuZCBydW4gZG9UZXN0XG4gICAgYXdhaXQgcnVuKHByZVRlc3RGbiwgZG9UZXN0KTtcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBkb1Rlc3QoKTtcbiAgfVxufVxuIl19
package/test.js.flow DELETED
@@ -1,55 +0,0 @@
1
- // @flow
2
- import { run, buildLog } from './run';
3
- import { onKillSignal } from './cp';
4
-
5
- export async function karmaTest(
6
- karma: Object,
7
- karmaConfig: any,
8
- preTestFn?: () => any,
9
- watch: boolean = process.argv.includes('--watch'),
10
- ) {
11
- // Lazy require karma
12
- const { Server, runner, stopper, config } = karma;
13
-
14
- const testConfig = config.parseConfig(karmaConfig, {
15
- autoWatch: false,
16
- singleRun: !watch,
17
- });
18
- const server = new Server(testConfig, (exitCode) => {
19
- buildLog(`Karma has exited with code ${exitCode}`);
20
- });
21
- onKillSignal(() => stopper.stop(testConfig));
22
-
23
- let started = false;
24
- async function doTest() {
25
- if (!started) {
26
- await Promise.all([
27
- new Promise((resolve) => {
28
- server.on('browsers_ready', resolve);
29
- }),
30
- server.start(),
31
- ]);
32
- started = true;
33
- }
34
- if (watch) {
35
- // await server.refreshFiles();
36
- await new Promise((resolve, reject) => {
37
- runner.run(testConfig, (exitCode) => {
38
- buildLog(`Karma run completed with exit code ${exitCode}`);
39
- if (exitCode === 0 || watch) {
40
- resolve(exitCode);
41
- } else {
42
- reject(exitCode);
43
- }
44
- });
45
- });
46
- }
47
- }
48
-
49
- if (typeof preTestFn === 'function') {
50
- // preTestFn is expected to callback and run doTest
51
- await run(preTestFn, doTest);
52
- } else {
53
- await doTest();
54
- }
55
- }
package/tgz.js DELETED
@@ -1,102 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getArtifactInfo = getArtifactInfo;exports.tgzDir = tgzDir;
2
- var _path = _interopRequireDefault(require("path"));
3
- var _tar = _interopRequireDefault(require("tar"));
4
- var _fs = _interopRequireDefault(require("fs"));
5
- var _crypto = _interopRequireDefault(require("crypto"));
6
- var _streamCounter = _interopRequireDefault(require("stream-counter"));
7
- var _fs2 = require("./fs");
8
- var _run = require("./run");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
- const generateHash = async (
19
- stream,
20
- type) =>
21
-
22
- new Promise((resolve, reject) => {
23
- stream.
24
- pipe(_crypto.default.createHash(type).setEncoding('hex')).
25
- on('finish', function () {
26
- resolve(this.read());
27
- }).
28
- on('end', function () {
29
- resolve(this.read());
30
- }).
31
- on('error', (err) => reject(err));
32
- });
33
-
34
- const countBytes = async (stream) =>
35
- new Promise((resolve, reject) => {
36
- const counter = new _streamCounter.default();
37
- stream.
38
- pipe(counter).
39
- on('finish', () => resolve(counter.bytes)).
40
- on('end', () => resolve(counter.bytes)).
41
- on('error', (err) => reject(err));
42
- });
43
-
44
- const writeStreamToFile = async (stream, filePath) =>
45
- new Promise((resolve, reject) => {
46
- stream.
47
- pipe(_fs.default.createWriteStream(filePath)).
48
- on('finish', () => {
49
- (0, _run.buildLog)(`Successfully wrote file: ${filePath}`);
50
- resolve();
51
- }).
52
- on('error', (err) => reject(err));
53
- });
54
-
55
- // Take the given file (path or stream) and compute the info that artifactory needs.
56
- // md5 + sha1 hash, and size in bytes
57
- async function getArtifactInfo(
58
- artifact)
59
- {
60
- // make it into a stream
61
- const stream =
62
- typeof artifact === 'string' ? _fs.default.createReadStream(artifact) : artifact;
63
-
64
- const [md5, sha1, sha512, size] = await Promise.all([
65
- generateHash(stream, 'md5'),
66
- generateHash(stream, 'sha1'),
67
- generateHash(stream, 'sha512'),
68
- countBytes(stream)]);
69
-
70
- return { md5, sha1, sha512, size };
71
- }
72
-
73
- // Creates a gzipped tarball of a directory, returns sha1 + md5 hash and size of resulting file
74
- async function tgzDir(
75
- srcDir,
76
- outPath,
77
- options)
78
- {
79
- await (0, _fs2.makeDir)(_path.default.dirname(outPath));
80
- const tgzStream = _tar.default.c(
81
- // $FlowFixMe
82
- {
83
- gzip: true,
84
- cwd: srcDir,
85
- portable: true,
86
- // $FlowFixMe
87
- ...options },
88
-
89
- ['.']);
90
-
91
-
92
- // write the file to disk (outPath)
93
- const [info] = await Promise.all([
94
- getArtifactInfo(tgzStream),
95
- writeStreamToFile(tgzStream, `${outPath}`)]);
96
-
97
- return {
98
- ...info,
99
- contentType: 'application/gzip' };
100
-
101
- }
102
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90Z3ouanMiXSwibmFtZXMiOlsiZ2VuZXJhdGVIYXNoIiwic3RyZWFtIiwidHlwZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicGlwZSIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJzZXRFbmNvZGluZyIsIm9uIiwicmVhZCIsImVyciIsImNvdW50Qnl0ZXMiLCJjb3VudGVyIiwiU3RyZWFtQ291bnRlciIsImJ5dGVzIiwid3JpdGVTdHJlYW1Ub0ZpbGUiLCJmaWxlUGF0aCIsImZzIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJnZXRBcnRpZmFjdEluZm8iLCJhcnRpZmFjdCIsImNyZWF0ZVJlYWRTdHJlYW0iLCJtZDUiLCJzaGExIiwic2hhNTEyIiwic2l6ZSIsImFsbCIsInRnekRpciIsInNyY0RpciIsIm91dFBhdGgiLCJvcHRpb25zIiwicGF0aCIsImRpcm5hbWUiLCJ0Z3pTdHJlYW0iLCJ0YXIiLCJjIiwiZ3ppcCIsImN3ZCIsInBvcnRhYmxlIiwiaW5mbyIsImNvbnRlbnRUeXBlIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEI7Ozs7Ozs7Ozs7QUFVQSxNQUFNQSxZQUFZLEdBQUc7QUFDbkJDLE1BRG1CO0FBRW5CQyxJQUZtQjs7QUFJbkIsSUFBSUMsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtBQUMvQkosRUFBQUEsTUFBTTtBQUNISyxFQUFBQSxJQURILENBQ1FDLGdCQUFPQyxVQUFQLENBQWtCTixJQUFsQixFQUF3Qk8sV0FBeEIsQ0FBb0MsS0FBcEMsQ0FEUjtBQUVHQyxFQUFBQSxFQUZILENBRU0sUUFGTixFQUVnQixZQUFZO0FBQ3hCTixJQUFBQSxPQUFPLENBQUMsS0FBS08sSUFBTCxFQUFELENBQVA7QUFDRCxHQUpIO0FBS0dELEVBQUFBLEVBTEgsQ0FLTSxLQUxOLEVBS2EsWUFBWTtBQUNyQk4sSUFBQUEsT0FBTyxDQUFDLEtBQUtPLElBQUwsRUFB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Q0FBckI7O0FBSUEsU0FBTztBQUNMLE9BQUdVLElBREU7QUFFTEMsSUFBQUEsV0FBVyxFQUFFLGtCQUZSLEVBQVA7O0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdGFyIGZyb20gJ3Rhcic7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IFN0cmVhbUNvdW50ZXIgZnJvbSAnc3RyZWFtLWNvdW50ZXInO1xuaW1wb3J0IHsgbWFrZURpciB9IGZyb20gJy4vZnMnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCB0eXBlIEFydGlmYWN0SW5mbyA9IHtcbiAgbWQ1OiBzdHJpbmcsXG4gIHNoYTE6IHN0cmluZyxcbiAgc2hhNTEyOiBzdHJpbmcsXG4gIHNpemU6IG51bWJlcixcbiAgY29udGVudFR5cGU/OiBzdHJpbmcsXG59O1xuXG5jb25zdCBnZW5lcmF0ZUhhc2ggPSBhc3luYyAoXG4gIHN0cmVhbTogc3RyZWFtJFJlYWRhYmxlLFxuICB0eXBlOiAnbWQ1JyB8ICdzaGExJyB8ICdzaGE1MTInLFxuKTogUHJvbWlzZTxzdHJpbmc+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBzdHJlYW1cbiAgICAgIC5waXBlKGNyeXB0by5jcmVhdGVIYXNoKHR5cGUpLnNldEVuY29kaW5nKCdoZXgnKSlcbiAgICAgIC5vbignZmluaXNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXNvbHZlKHRoaXMucmVhZCgpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2VuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnJlYWQoKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIChlcnIpID0+IHJlamVjdChlcnIpKTtcbiAgfSk7XG5cbmNvbnN0IGNvdW50Qnl0ZXMgPSBhc3luYyAoc3RyZWFtOiBzdHJlYW0kUmVhZGFibGUpOiBQcm9taXNlPG51bWJlcj4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ZXIgPSBuZXcgU3RyZWFtQ291bnRlcigpO1xuICAgIHN0cmVhbVxuICAgICAgLnBpcGUoY291bnRlcilcbiAgICAgIC5vbignZmluaXNoJywgKCkgPT4gcmVzb2x2ZShjb3VudGVyLmJ5dGVzKSlcbiAgICAgIC5vbignZW5kJywgKCkgPT4gcmVzb2x2ZShjb3VudGVyLmJ5dGVzKSlcbiAgICAgIC5vbignZXJyb3InLCAoZXJyKSA9PiByZWplY3QoZXJyKSk7XG4gIH0pO1xuXG5jb25zdCB3cml0ZVN0cmVhbVRvRmlsZSA9IGFzeW5jIChzdHJlYW06IHN0cmVhbSRSZWFkYWJsZSwgZmlsZVBhdGg6IHN0cmluZykgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHN0cmVhbVxuICAgICAgLnBpcGUoZnMuY3JlYXRlV3JpdGVTdHJlYW0oZmlsZVBhdGgpKVxuICAgICAgLm9uKCdmaW5pc2gnLCAoKSA9PiB7XG4gICAgICAgIGJ1aWxkTG9nKGBTdWNjZXNzZnVsbHkgd3JvdGUgZmlsZTogJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSlcbiAgICAgIC5vbignZXJyb3InLCAoZXJyKSA9PiByZWplY3QoZXJyKSk7XG4gIH0pO1xuXG4vLyBUYWtlIHRoZSBnaXZlbiBmaWxlIChwYXRoIG9yIHN0cmVhbSkgYW5kIGNvbXB1dGUgdGhlIGluZm8gdGhhdCBhcnRpZmFjdG9yeSBuZWVkcy5cbi8vIG1kNSArIHNoYTEgaGFzaCwgYW5kIHNpemUgaW4gYnl0ZXNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBcnRpZmFjdEluZm8oXG4gIGFydGlmYWN0OiBzdHJpbmcgfCBzdHJlYW0kUmVhZGFibGUsXG4pOiBQcm9taXNlPEFydGlmYWN0SW5mbz4ge1xuICAvLyBtYWtlIGl0IGludG8gYSBzdHJlYW1cbiAgY29uc3Qgc3RyZWFtOiBzdHJlYW0kUmVhZGFibGUgPVxuICAgIHR5cGVvZiBhcnRpZmFjdCA9PT0gJ3N0cmluZycgPyBmcy5jcmVhdGVSZWFkU3RyZWFtKGFydGlmYWN0KSA6IGFydGlmYWN0O1xuXG4gIGNvbnN0IFttZDUsIHNoYTEsIHNoYTUxMiwgc2l6ZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgZ2VuZXJhdGVIYXNoKHN0cmVhbSwgJ21kNScpLFxuICAgIGdlbmVyYXRlSGFzaChzdHJlYW0sICdzaGExJyksXG4gICAgZ2VuZXJhdGVIYXNoKHN0cmVhbSwgJ3NoYTUxMicpLFxuICAgIGNvdW50Qnl0ZXMoc3RyZWFtKSxcbiAgXSk7XG4gIHJldHVybiB7IG1kNSwgc2hhMSwgc2hhNTEyLCBzaXplIH07XG59XG5cbi8vIENyZWF0ZXMgYSBnemlwcGVkIHRhcmJhbGwgb2YgYSBkaXJlY3RvcnksIHJldHVybnMgc2hhMSArIG1kNSBoYXNoIGFuZCBzaXplIG9mIHJlc3VsdGluZyBmaWxlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGd6RGlyKFxuICBzcmNEaXI6IHN0cmluZyxcbiAgb3V0UGF0aDogc3RyaW5nLFxuICBvcHRpb25zPzogP3sgW3N0cmluZ106IGFueSB9LFxuKTogUHJvbWlzZTxBcnRpZmFjdEluZm8+IHtcbiAgYXdhaXQgbWFrZURpcihwYXRoLmRpcm5hbWUob3V0UGF0aCkpO1xuICBjb25zdCB0Z3pTdHJlYW0gPSB0YXIuYyhcbiAgICAvLyAkRmxvd0ZpeE1lXG4gICAge1xuICAgICAgZ3ppcDogdHJ1ZSxcbiAgICAgIGN3ZDogc3JjRGlyLFxuICAgICAgcG9ydGFibGU6IHRydWUsXG4gICAgICAvLyAkRmxvd0ZpeE1lXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0sXG4gICAgWycuJ10sXG4gICk7XG5cbiAgLy8gd3JpdGUgdGhlIGZpbGUgdG8gZGlzayAob3V0UGF0aClcbiAgY29uc3QgW2luZm9dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIGdldEFydGlmYWN0SW5mbyh0Z3pTdHJlYW0pLFxuICAgIHdyaXRlU3RyZWFtVG9GaWxlKHRnelN0cmVhbSwgYCR7b3V0UGF0aH1gKSxcbiAgXSk7XG4gIHJldHVybiB7XG4gICAgLi4uaW5mbyxcbiAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2d6aXAnLFxuICB9O1xufVxuIl19
package/tgz.js.flow DELETED
@@ -1,101 +0,0 @@
1
- // @flow
2
- import path from 'path';
3
- import tar from 'tar';
4
- import fs from 'fs';
5
- import crypto from 'crypto';
6
- import StreamCounter from 'stream-counter';
7
- import { makeDir } from './fs';
8
- import { buildLog } from './run';
9
-
10
- export type ArtifactInfo = {
11
- md5: string,
12
- sha1: string,
13
- sha512: string,
14
- size: number,
15
- contentType?: string,
16
- };
17
-
18
- const generateHash = async (
19
- stream: stream$Readable,
20
- type: 'md5' | 'sha1' | 'sha512',
21
- ): Promise<string> =>
22
- new Promise((resolve, reject) => {
23
- stream
24
- .pipe(crypto.createHash(type).setEncoding('hex'))
25
- .on('finish', function () {
26
- resolve(this.read());
27
- })
28
- .on('end', function () {
29
- resolve(this.read());
30
- })
31
- .on('error', (err) => reject(err));
32
- });
33
-
34
- const countBytes = async (stream: stream$Readable): Promise<number> =>
35
- new Promise((resolve, reject) => {
36
- const counter = new StreamCounter();
37
- stream
38
- .pipe(counter)
39
- .on('finish', () => resolve(counter.bytes))
40
- .on('end', () => resolve(counter.bytes))
41
- .on('error', (err) => reject(err));
42
- });
43
-
44
- const writeStreamToFile = async (stream: stream$Readable, filePath: string) =>
45
- new Promise((resolve, reject) => {
46
- stream
47
- .pipe(fs.createWriteStream(filePath))
48
- .on('finish', () => {
49
- buildLog(`Successfully wrote file: ${filePath}`);
50
- resolve();
51
- })
52
- .on('error', (err) => reject(err));
53
- });
54
-
55
- // Take the given file (path or stream) and compute the info that artifactory needs.
56
- // md5 + sha1 hash, and size in bytes
57
- export async function getArtifactInfo(
58
- artifact: string | stream$Readable,
59
- ): Promise<ArtifactInfo> {
60
- // make it into a stream
61
- const stream: stream$Readable =
62
- typeof artifact === 'string' ? fs.createReadStream(artifact) : artifact;
63
-
64
- const [md5, sha1, sha512, size] = await Promise.all([
65
- generateHash(stream, 'md5'),
66
- generateHash(stream, 'sha1'),
67
- generateHash(stream, 'sha512'),
68
- countBytes(stream),
69
- ]);
70
- return { md5, sha1, sha512, size };
71
- }
72
-
73
- // Creates a gzipped tarball of a directory, returns sha1 + md5 hash and size of resulting file
74
- export async function tgzDir(
75
- srcDir: string,
76
- outPath: string,
77
- options?: ?{ [string]: any },
78
- ): Promise<ArtifactInfo> {
79
- await makeDir(path.dirname(outPath));
80
- const tgzStream = tar.c(
81
- // $FlowFixMe
82
- {
83
- gzip: true,
84
- cwd: srcDir,
85
- portable: true,
86
- // $FlowFixMe
87
- ...options,
88
- },
89
- ['.'],
90
- );
91
-
92
- // write the file to disk (outPath)
93
- const [info] = await Promise.all([
94
- getArtifactInfo(tgzStream),
95
- writeStreamToFile(tgzStream, `${outPath}`),
96
- ]);
97
- return {
98
- ...info,
99
- contentType: 'application/gzip',
100
- };
101
- }
package/version.js DELETED
@@ -1,142 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getBanner = getBanner;exports.getBuild = getBuild;exports.getDevBranch = getDevBranch;exports.getIsRelease = getIsRelease;exports.getReleaseBranch = getReleaseBranch;exports.getRepoInfo = getRepoInfo;exports.getRepoType = getRepoType;exports.getUniqueBuildTag = getUniqueBuildTag;exports.getVersion = getVersion;exports.getVersionCode = getVersionCode;exports.useVersionCache = useVersionCache;
2
- var _fs = _interopRequireDefault(require("fs"));
3
- var _git = require("./git");
4
- var _hg = require("./hg");
5
- var _pkg = require("./pkg");
6
- var _run = require("./run");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
7
-
8
- function getBuild() {
9
- let arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
10
- arg = arg && arg.substr(11);
11
- return arg || process.env.BUILD_NUMBER || '0';
12
- }
13
-
14
- function getReleaseBranch() {
15
- const { releaseBranch } = (0, _pkg.getCfg)();
16
- return releaseBranch || 'master';
17
- }
18
-
19
-
20
- function getRepoType() {
21
- const { repoType } = (0, _pkg.getCfg)();
22
-
23
- return (
24
- repoType || (
25
- _fs.default.existsSync('./.hg') ?
26
- 'hg' :
27
- _fs.default.existsSync('./.git') ?
28
- 'git' :
29
- 'unknown'));
30
-
31
- }
32
-
33
-
34
-
35
-
36
-
37
-
38
- async function getRepoInfo() {
39
- const repoType = getRepoType();
40
- const { branch, revision } =
41
- repoType === 'git' ?
42
- await (0, _git.gitInfo)() :
43
- repoType === 'hg' ?
44
- await (0, _hg.hgInfo)() :
45
- {};
46
- if (!branch || !revision) {
47
- throw new Error('Failed to parse branch and revision from source repo.');
48
- }
49
- return { branch, revision };
50
- }
51
-
52
- function getDevBranch() {
53
- const { devBranch } = (0, _pkg.getCfg)();
54
- return devBranch || getRepoType() === 'hg' ? 'default' : 'dev';
55
- }
56
-
57
- async function getIsRelease(
58
- passedBranch = null,
59
- releaseOverride = null)
60
- {
61
- const branch = passedBranch || (await getRepoInfo()).branch;
62
- return releaseOverride != null ?
63
- releaseOverride :
64
- process.argv.includes('--force-release-version') ?
65
- true :
66
- branch === getReleaseBranch();
67
- }
68
-
69
- let cacheVersion = true;
70
- function useVersionCache(useCache = true) {
71
- cacheVersion = useCache;
72
- }
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
- let version = null;
89
- async function getVersion(
90
- logIt = true,
91
- release = null)
92
- {
93
- if (!cacheVersion || version == null) {
94
- const { version: pkgVers, name } = (0, _pkg.getPkg)();
95
- const { branch, revision } = await getRepoInfo();
96
- const [, major, minor, patch] =
97
- pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
98
- if (!major || !minor || !patch) {
99
- throw new Error('Invalid version format in package.json');
100
- }
101
- const build = getBuild();
102
- const isRelease = await getIsRelease(branch, release);
103
- const short = `${major}.${minor}.${patch}`;
104
- const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
105
- const info = `${short}${
106
- isRelease ? `+${build}.` : `-${branch}.${build}+`
107
- }${revision}`;
108
- version = {
109
- name,
110
- branch,
111
- revision,
112
- major,
113
- minor,
114
- patch,
115
- build,
116
- short,
117
- isRelease,
118
- npm,
119
- info };
120
-
121
- if (logIt) (0, _run.buildLog)(`Building version ${info}`);
122
- }
123
- return version;
124
- }
125
-
126
- async function getBanner() {
127
- const { copyright = '' } = (0, _pkg.getCfg)();
128
- const { info, name } = await getVersion();
129
- const today = new Date();
130
- return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
131
- }
132
-
133
- async function getVersionCode() {
134
- return `// This file is auto-generated
135
- export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
136
- }
137
-
138
- async function getUniqueBuildTag() {
139
- const { branch, revision, build } = await getVersion();
140
- return `${branch}-${revision}-${build}`;
141
- }
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLE1BQUlDLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVY7QUFDQUosRUFBQUEsR0FBRyxHQUFHQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBYjtBQUNBLFNBQU9OLEdBQUcsSUFB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dUIsaUJBQWYsR0FBb0Q7QUFDekQsUUFBTSxFQUFFcEMsTUFBRixFQUFVQyxRQUFWLEVBQW9CcUIsS0FBcEIsS0FBOEIsTUFBTVQsVUFBVSxFQUFwRDtBQUNBLFNBQVEsR0FBRWIsTUFBTyxJQUFHQyxRQUFTLElBQUdxQixLQUFNLEVBQXRDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGdpdEluZm8gfSBmcm9tICcuL2dpdCc7XG5pbXBvcnQgeyBoZ0luZm8gfSBmcm9tICcuL2hnJztcbmltcG9ydCB7IGdldENmZywgZ2V0UGtnIH0gZnJvbSAnLi9wa2cnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZCgpOiBzdHJpbmcge1xuICBsZXQgYXJnID0gcHJvY2Vzcy5hcmd2LmZpbmQoKGVsKSA9PiAvXi0tYnVpbGROdW09XFxkKyQvLnRlc3QoZWwpKTtcbiAgYXJnID0gYXJnICYmIGFyZy5zdWJzdHIoMTEpO1xuICByZXR1cm4gYXJnIHx8IHByb2Nlc3MuZW52LkJVSUxEX05VTUJFUiB8fCAnMCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxlYXNlQnJhbmNoKCk6IHN0cmluZyB7XG4gIGNvbnN0IHsgcmVsZWFzZUJyYW5jaCB9ID0gZ2V0Q2ZnKCk7XG4gIHJldHVybiByZWxlYXNlQnJhbmNoIHx8ICdtYXN0ZXInO1xufVxuXG50eXBlIFJlcG9UeXBlID0gJ2dpdCcgfCAnaGcnIHwgJ3Vua25vd24nO1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9UeXBlKCk6IFJlcG9UeXBlIHtcbiAgY29uc3QgeyByZXBvVHlwZSB9ID0gZ2V0Q2ZnKCk7XG5cbiAgcmV0dXJuIChcbiAgICByZXBvVHlwZSB8fFxuICAgIChmcy5leGlzdHNTeW5jKCcuLy5oZycpXG4gICAgICA/ICdoZydcbiAgICAgIDogZnMuZXhpc3RzU3luYygnLi8uZ2l0JylcbiAgICAgID8gJ2dpdCdcbiAgICAgIDogJ3Vua25vd24nKVxuICApO1xufVxuXG50eXBlIFJlcG9JbmZvID0ge1xuICBicmFuY2g6IHN0cmluZyxcbiAgcmV2aXNpb246IHN0cmluZyxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvSW5mbygpOiBQcm9taXNlPFJlcG9JbmZvPiB7XG4gIGNvbnN0IHJlcG9UeXBlID0gZ2V0UmVwb1R5cGUoKTtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPVxuICAgIHJlcG9UeXBlID09PSAnZ2l0J1xuICAgICAgPyBhd2FpdCBnaXRJbmZvKClcbiAgICAgIDogcmVwb1R5cGUgPT09ICdoZydcbiAgICAgID8gYXdhaXQgaGdJbmZvKClcbiAgICAgIDoge307XG4gIGlmICghYnJhbmNoIHx8ICFyZXZpc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHBhcnNlIGJyYW5jaCBhbmQgcmV2aXNpb24gZnJvbSBzb3VyY2UgcmVwby4nKTtcbiAgfVxuICByZXR1cm4geyBicmFuY2gsIHJldmlzaW9uIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXZCcmFuY2goKTogc3RyaW5nIHtcbiAgY29uc3QgeyBkZXZCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gZGV2QnJhbmNoIHx8IGdldFJlcG9UeXBlKCkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gIH1cbiAgcmV0dXJuIHZlcnNpb247XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYW5uZXIoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBjb3B5cmlnaHQgPSAnJyB9ID0gZ2V0Q2ZnKCk7XG4gIGNvbnN0IHsgaW5mbywgbmFtZSB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gIHJldHVybiBgJHtuYW1lfSB2JHtpbmZvfSB8IChjKSAke3RvZGF5LmdldEZ1bGxZZWFyKCl9ICR7Y29weXJpZ2h0fSB8IGJ1aWx0IG9uICR7dG9kYXkudG9JU09TdHJpbmcoKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmVyc2lvbkNvZGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGAvLyBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWRcbmV4cG9ydCBjb25zdCB2ZXJzaW9uID0gJHtKU09OLnN0cmluZ2lmeShhd2FpdCBnZXRWZXJzaW9uKCksIG51bGwsIDIpfWA7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVbmlxdWVCdWlsZFRhZygpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7IGJyYW5jaCwgcmV2aXNpb24sIGJ1aWxkIH0gPSBhd2FpdCBnZXRWZXJzaW9uKCk7XG4gIHJldHVybiBgJHticmFuY2h9LSR7cmV2aXNpb259LSR7YnVpbGR9YDtcbn1cbiJdfQ==
package/version.js.flow DELETED
@@ -1,141 +0,0 @@
1
- // @flow
2
- import fs from 'fs';
3
- import { gitInfo } from './git';
4
- import { hgInfo } from './hg';
5
- import { getCfg, getPkg } from './pkg';
6
- import { buildLog } from './run';
7
-
8
- export function getBuild(): string {
9
- let arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
10
- arg = arg && arg.substr(11);
11
- return arg || process.env.BUILD_NUMBER || '0';
12
- }
13
-
14
- export function getReleaseBranch(): string {
15
- const { releaseBranch } = getCfg();
16
- return releaseBranch || 'master';
17
- }
18
-
19
- type RepoType = 'git' | 'hg' | 'unknown';
20
- export function getRepoType(): RepoType {
21
- const { repoType } = getCfg();
22
-
23
- return (
24
- repoType ||
25
- (fs.existsSync('./.hg')
26
- ? 'hg'
27
- : fs.existsSync('./.git')
28
- ? 'git'
29
- : 'unknown')
30
- );
31
- }
32
-
33
- type RepoInfo = {
34
- branch: string,
35
- revision: string,
36
- };
37
-
38
- export async function getRepoInfo(): Promise<RepoInfo> {
39
- const repoType = getRepoType();
40
- const { branch, revision } =
41
- repoType === 'git'
42
- ? await gitInfo()
43
- : repoType === 'hg'
44
- ? await hgInfo()
45
- : {};
46
- if (!branch || !revision) {
47
- throw new Error('Failed to parse branch and revision from source repo.');
48
- }
49
- return { branch, revision };
50
- }
51
-
52
- export function getDevBranch(): string {
53
- const { devBranch } = getCfg();
54
- return devBranch || getRepoType() === 'hg' ? 'default' : 'dev';
55
- }
56
-
57
- export async function getIsRelease(
58
- passedBranch?: ?string = null,
59
- releaseOverride?: ?boolean = null,
60
- ): Promise<boolean> {
61
- const branch = passedBranch || (await getRepoInfo()).branch;
62
- return releaseOverride != null
63
- ? releaseOverride
64
- : process.argv.includes('--force-release-version')
65
- ? true
66
- : branch === getReleaseBranch();
67
- }
68
-
69
- let cacheVersion = true;
70
- export function useVersionCache(useCache: boolean = true): void {
71
- cacheVersion = useCache;
72
- }
73
-
74
- export type Version = {|
75
- branch: string,
76
- build: string,
77
- info: string,
78
- isRelease: boolean,
79
- major: string,
80
- minor: string,
81
- name: string,
82
- npm: string,
83
- patch: string,
84
- revision: string,
85
- short: string,
86
- |};
87
-
88
- let version = null;
89
- export async function getVersion(
90
- logIt: boolean = true,
91
- release: ?boolean = null,
92
- ): Promise<Version> {
93
- if (!cacheVersion || version == null) {
94
- const { version: pkgVers, name } = getPkg();
95
- const { branch, revision } = await getRepoInfo();
96
- const [, major, minor, patch] =
97
- pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
98
- if (!major || !minor || !patch) {
99
- throw new Error('Invalid version format in package.json');
100
- }
101
- const build = getBuild();
102
- const isRelease = await getIsRelease(branch, release);
103
- const short = `${major}.${minor}.${patch}`;
104
- const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
105
- const info = `${short}${
106
- isRelease ? `+${build}.` : `-${branch}.${build}+`
107
- }${revision}`;
108
- version = {
109
- name,
110
- branch,
111
- revision,
112
- major,
113
- minor,
114
- patch,
115
- build,
116
- short,
117
- isRelease,
118
- npm,
119
- info,
120
- };
121
- if (logIt) buildLog(`Building version ${info}`);
122
- }
123
- return version;
124
- }
125
-
126
- export async function getBanner(): Promise<string> {
127
- const { copyright = '' } = getCfg();
128
- const { info, name } = await getVersion();
129
- const today = new Date();
130
- return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
131
- }
132
-
133
- export async function getVersionCode(): Promise<string> {
134
- return `// This file is auto-generated
135
- export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
136
- }
137
-
138
- export async function getUniqueBuildTag(): Promise<string> {
139
- const { branch, revision, build } = await getVersion();
140
- return `${branch}-${revision}-${build}`;
141
- }