build-strap 4.0.0-dev.46 → 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.
- package/README.md +3 -34
- package/dist/src/ant.d.ts +19 -0
- package/dist/src/ant.js +18 -0
- package/dist/src/cert.d.ts +12 -0
- package/dist/src/cert.js +91 -0
- package/dist/src/clean.d.ts +4 -0
- package/dist/src/clean.js +11 -0
- package/dist/src/copy.d.ts +7 -0
- package/dist/src/copy.js +53 -0
- package/dist/src/cp.d.ts +17 -0
- package/dist/src/cp.js +88 -0
- package/dist/src/docker.container.d.ts +73 -0
- package/dist/src/docker.container.js +247 -0
- package/dist/src/docker.d.ts +68 -0
- package/dist/src/docker.js +188 -0
- package/dist/src/docker.network.d.ts +42 -0
- package/dist/src/docker.network.js +85 -0
- package/dist/src/docker.volume.d.ts +26 -0
- package/dist/src/docker.volume.js +62 -0
- package/dist/src/dockerCleanup.d.ts +38 -0
- package/dist/src/dockerCleanup.js +77 -0
- package/dist/src/dockerCompose.d.ts +154 -0
- package/dist/src/dockerCompose.js +439 -0
- package/dist/src/fs.d.ts +5 -0
- package/dist/src/fs.js +38 -0
- package/dist/src/git.d.ts +9 -0
- package/dist/src/git.js +24 -0
- package/dist/src/index.d.ts +20 -0
- package/dist/src/index.js +20 -0
- package/dist/src/maps.d.ts +33 -0
- package/dist/src/maps.js +41 -0
- package/dist/src/npm.d.ts +35 -0
- package/dist/src/npm.js +104 -0
- package/dist/src/pkg.d.ts +33 -0
- package/dist/src/pkg.js +33 -0
- package/dist/src/publish.d.ts +27 -0
- package/dist/src/publish.js +57 -0
- package/dist/src/run.d.ts +13 -0
- package/dist/src/run.js +44 -0
- package/dist/src/tgz.d.ts +13 -0
- package/dist/src/tgz.js +67 -0
- package/dist/src/version.d.ts +34 -0
- package/dist/src/version.js +101 -0
- package/dist/src/yarn.d.ts +26 -0
- package/dist/src/yarn.js +75 -0
- package/package.json +74 -20
- package/ant.js +0 -43
- package/ant.js.flow +0 -42
- package/artifactory.js +0 -617
- package/artifactory.js.flow +0 -616
- package/cert.conf +0 -20
- package/cert.js +0 -153
- package/cert.js.flow +0 -152
- package/clean.js +0 -20
- package/clean.js.flow +0 -19
- package/copy.js +0 -80
- package/copy.js.flow +0 -79
- package/cp.js +0 -173
- package/cp.js.flow +0 -172
- package/docker.container.js +0 -390
- package/docker.container.js.flow +0 -389
- package/docker.js +0 -365
- package/docker.js.flow +0 -364
- package/docker.network.js +0 -160
- package/docker.network.js.flow +0 -159
- package/docker.volume.js +0 -136
- package/docker.volume.js.flow +0 -136
- package/dockerCleanup.js +0 -152
- package/dockerCleanup.js.flow +0 -151
- package/dockerCompose.js +0 -766
- package/dockerCompose.js.flow +0 -765
- package/flow.js +0 -21
- package/flow.js.flow +0 -20
- package/fs.js +0 -95
- package/fs.js.flow +0 -96
- package/git.js +0 -35
- package/git.js.flow +0 -34
- package/hg.js +0 -35
- package/hg.js.flow +0 -34
- package/index.js +0 -27
- package/index.js.flow +0 -26
- package/inline-resources.js +0 -158
- package/inline-resources.js.flow +0 -157
- package/maps.js +0 -112
- package/maps.js.flow +0 -111
- package/npm.js +0 -145
- package/npm.js.flow +0 -144
- package/pkg.js +0 -81
- package/pkg.js.flow +0 -80
- package/publish.js +0 -145
- package/publish.js.flow +0 -144
- package/run.js +0 -90
- package/run.js.flow +0 -89
- package/src/ant.js +0 -42
- package/src/artifactory.js +0 -616
- package/src/cert.conf +0 -20
- package/src/cert.js +0 -152
- package/src/clean.js +0 -19
- package/src/copy.js +0 -79
- package/src/cp.js +0 -172
- package/src/docker.container.js +0 -389
- package/src/docker.js +0 -364
- package/src/docker.network.js +0 -159
- package/src/docker.volume.js +0 -136
- package/src/dockerCleanup.js +0 -151
- package/src/dockerCompose.js +0 -765
- package/src/flow.js +0 -20
- package/src/fs.js +0 -96
- package/src/git.js +0 -34
- package/src/hg.js +0 -34
- package/src/index.js +0 -26
- package/src/inline-resources.js +0 -157
- package/src/maps.js +0 -111
- package/src/npm.js +0 -144
- package/src/pkg.js +0 -80
- package/src/publish.js +0 -144
- package/src/run.js +0 -89
- package/src/test.js +0 -55
- package/src/tgz.js +0 -101
- package/src/version.js +0 -142
- package/src/yarn.js +0 -123
- package/test.js +0 -56
- package/test.js.flow +0 -55
- package/tgz.js +0 -102
- package/tgz.js.flow +0 -101
- package/version.js +0 -143
- package/version.js.flow +0 -142
- package/yarn.js +0 -124
- 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90Z3ouanMiXSwibmFtZXMiOlsiZ2VuZXJhdGVIYXNoIiwic3RyZWFtIiwidHlwZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicGlwZSIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJzZXRFbmNvZGluZyIsIm9uIiwicmVhZCIsImVyciIsImNvdW50Qnl0ZXMiLCJjb3VudGVyIiwiU3RyZWFtQ291bnRlciIsImJ5dGVzIiwid3JpdGVTdHJlYW1Ub0ZpbGUiLCJmaWxlUGF0aCIsImZzIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJnZXRBcnRpZmFjdEluZm8iLCJhcnRpZmFjdCIsImNyZWF0ZVJlYWRTdHJlYW0iLCJtZDUiLCJzaGExIiwic2hhNTEyIiwic2l6ZSIsImFsbCIsInRnekRpciIsInNyY0RpciIsIm91dFBhdGgiLCJvcHRpb25zIiwicGF0aCIsImRpcm5hbWUiLCJ0Z3pTdHJlYW0iLCJ0YXIiLCJjIiwiZ3ppcCIsImN3ZCIsInBvcnRhYmxlIiwiaW5mbyIsImNvbnRlbnRUeXBlIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEI7Ozs7Ozs7Ozs7QUFVQSxNQUFNQSxZQUFZLEdBQUc7QUFDbkJDLE1BRG1CO0FBRW5CQyxJQUZtQjs7QUFJbkIsSUFBSUMsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtBQUMvQkosRUFBQUEsTUFBTTtBQUNISyxFQUFBQSxJQURILENBQ1FDLGdCQUFPQyxVQUFQLENBQWtCTixJQUFsQixFQUF3Qk8sV0FBeEIsQ0FBb0MsS0FBcEMsQ0FEUjtBQUVHQyxFQUFBQSxFQUZILENBRU0sUUFGTixFQUVnQixZQUFZO0FBQ3hCTixJQUFBQSxPQUFPLENBQUMsS0FBS08sSUFBTCxFQUFELENBQVA7QUFDRCxHQUpIO0FBS0dELEVBQUFBLEVBTEgsQ0FLTSxLQUxOLEVBS2EsWUFBWTtBQUNyQk4sSUFBQUEsT0FBTyxDQUFDLEtBQUtPLElBQUwsRUFBRCxDQUFQO0FBQ0QsR0FQSDtBQVFHRCxFQUFBQSxFQVJILENBUU0sT0FSTixFQVFlLENBQUNFLEdBQUQsS0FBU1AsTUFBTSxDQUFDTyxHQUFELENBUjlCO0FBU0QsQ0FWRCxDQUpGOztBQWdCQSxNQUFNQyxVQUFVLEdBQUcsT0FBT1osTUFBUDtBQUNqQixJQUFJRSxPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQy9CLFFBQU1TLE9BQU8sR0FBRyxJQUFJQyxzQkFBSixFQUFoQjtBQUNBZCxFQUFBQSxNQUFNO0FBQ0hLLEVBQUFBLElBREgsQ0FDUVEsT0FEUjtBQUVHSixFQUFBQSxFQUZILENBRU0sUUFGTixFQUVnQixNQUFNTixPQUFPLENBQUNVLE9BQU8sQ0FBQ0UsS0FBVCxDQUY3QjtBQUdHTixFQUFBQSxFQUhILENBR00sS0FITixFQUdhLE1BQU1OLE9BQU8sQ0FBQ1UsT0FBTyxDQUFDRSxLQUFULENBSDFCO0FBSUdOLEVBQUFBLEVBSkgsQ0FJTSxPQUpOLEVBSWUsQ0FBQ0UsR0FBRCxLQUFTUCxNQUFNLENBQUNPLEdBQUQsQ0FKOUI7QUFLRCxDQVBELENBREY7O0FBVUEsTUFBTUssaUJBQWlCLEdBQUcsT0FBT2hCLE1BQVAsRUFBZ0NpQixRQUFoQztBQUN4QixJQUFJZixPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQy9CSixFQUFBQSxNQUFNO0FBQ0hLLEVBQUFBLElBREgsQ0FDUWEsWUFBR0MsaUJBQUgsQ0FBcUJGLFFBQXJCLENBRFI7QUFFR1IsRUFBQUEsRUFGSCxDQUVNLFFBRk4sRUFFZ0IsTUFBTTtBQUNsQix1QkFBVSw0QkFBMkJRLFFBQVMsRUFBOUM7QUFDQWQsSUFBQUEsT0FBTztBQUNSLEdBTEg7QUFNR00sRUFBQUEsRUFOSCxDQU1NLE9BTk4sRUFNZSxDQUFDRSxHQUFELEtBQVNQLE1BQU0sQ0FBQ08sR0FBRCxDQU45QjtBQU9ELENBUkQsQ0FERjs7QUFXQTtBQUNBO0FBQ08sZUFBZVMsZUFBZjtBQUNMQyxRQURLO0FBRWtCO0FBQ3ZCO0FBQ0EsUUFBTXJCLE1BQXVCO0FBQzNCLFNBQU9xQixRQUFQLEtBQW9CLFFBQXBCLEdBQStCSCxZQUFHSSxnQkFBSCxDQUFvQkQsUUFBcEIsQ0FBL0IsR0FBK0RBLFFBRGpFOztBQUdBLFFBQU0sQ0FBQ0UsR0FBRCxFQUFNQyxJQUFOLEVBQVlDLE1BQVosRUFBb0JDLElBQXBCLElBQTRCLE1BQU14QixPQUFPLENBQUN5QixHQUFSLENBQVk7QUFDbEQ1QixFQUFBQSxZQUFZLENBQUNDLE1BQUQsRUFBUyxLQUFULENBRHNDO0FBRWxERCxFQUFBQSxZQUFZLENBQUNDLE1BQUQsRUFBUyxNQUFULENBRnNDO0FBR2xERCxFQUFBQSxZQUFZLENBQUNDLE1BQUQsRUFBUyxRQUFULENBSHNDO0FBSWxEWSxFQUFBQSxVQUFVLENBQUNaLE1BQUQsQ0FKd0MsQ0FBWixDQUF4Qzs7QUFNQSxTQUFPLEVBQUV1QixHQUFGLEVBQU9DLElBQVAsRUFBYUMsTUFBYixFQUFxQkMsSUFBckIsRUFBUDtBQUNEOztBQUVEO0FBQ08sZUFBZUUsTUFBZjtBQUNMQyxNQURLO0FBRUxDLE9BRks7QUFHTEMsT0FISztBQUlrQjtBQUN2QixRQUFNLGtCQUFRQyxjQUFLQyxPQUFMLENBQWFILE9BQWIsQ0FBUixDQUFOO0FBQ0EsUUFBTUksU0FBUyxHQUFHQyxhQUFJQyxDQUFKO0FBQ2hCO0FBQ0E7QUFDRUMsSUFBQUEsSUFBSSxFQUFFLElBRFI7QUFFRUMsSUFBQUEsR0FBRyxFQUFFVCxNQUZQO0FBR0VVLElBQUFBLFFBQVEsRUFBRSxJQUhaO0FBSUU7QUFDQSxPQUFHUixPQUxMLEVBRmdCOztBQVNoQixHQUFDLEdBQUQsQ0FUZ0IsQ0FBbEI7OztBQVlBO0FBQ0EsUUFBTSxDQUFDUyxJQUFELElBQVMsTUFBTXRDLE9BQU8sQ0FBQ3lCLEdBQVIsQ0FBWTtBQUMvQlAsRUFBQUEsZUFBZSxDQUFDYyxTQUFELENBRGdCO0FBRS9CbEIsRUFBQUEsaUJBQWlCLENBQUNrQixTQUFELEVBQWEsR0FBRUosT0FBUSxFQUF2QixDQUZjLENBQVosQ0FBckI7O0FBSUEsU0FBTztBQUNMLE9BQUdVLElBREU7QUFFTEMsSUFBQUEsV0FBVyxFQUFFLGtCQUZSLEVBQVA7O0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdGFyIGZyb20gJ3Rhcic7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IFN0cmVhbUNvdW50ZXIgZnJvbSAnc3RyZWFtLWNvdW50ZXInO1xuaW1wb3J0IHsgbWFrZURpciB9IGZyb20gJy4vZnMnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCB0eXBlIEFydGlmYWN0SW5mbyA9IHtcbiAgbWQ1OiBzdHJpbmcsXG4gIHNoYTE6IHN0cmluZyxcbiAgc2hhNTEyOiBzdHJpbmcsXG4gIHNpemU6IG51bWJlcixcbiAgY29udGVudFR5cGU/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,143 +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
|
-
const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
|
|
10
|
-
return arg && arg.substr(11) || process.env.BUILD_NUMBER || '0';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function getReleaseBranch() {
|
|
14
|
-
const { releaseBranch } = (0, _pkg.getCfg)();
|
|
15
|
-
return releaseBranch || 'master';
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
async function getRepoType() {
|
|
20
|
-
const { repoType } = (0, _pkg.getCfg)();
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
repoType || (
|
|
24
|
-
_fs.default.existsSync('./.hg') ?
|
|
25
|
-
'hg' :
|
|
26
|
-
_fs.default.existsSync('./.git') ?
|
|
27
|
-
'git' :
|
|
28
|
-
'unknown'));
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
async function getRepoInfo() {
|
|
38
|
-
const repoType = await getRepoType();
|
|
39
|
-
const { branch, revision } =
|
|
40
|
-
repoType === 'git' ?
|
|
41
|
-
await (0, _git.gitInfo)() :
|
|
42
|
-
repoType === 'hg' ?
|
|
43
|
-
await (0, _hg.hgInfo)() :
|
|
44
|
-
{};
|
|
45
|
-
if (!branch || !revision) {
|
|
46
|
-
throw new Error('Failed to parse branch and revision from source repo.');
|
|
47
|
-
}
|
|
48
|
-
return { branch, revision };
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
async function getDevBranch() {
|
|
52
|
-
const { devBranch } = (0, _pkg.getCfg)();
|
|
53
|
-
return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async function getIsRelease(
|
|
57
|
-
passedBranch = null,
|
|
58
|
-
releaseOverride = null)
|
|
59
|
-
{
|
|
60
|
-
const branch = passedBranch || (await getRepoInfo()).branch;
|
|
61
|
-
return releaseOverride != null ?
|
|
62
|
-
releaseOverride :
|
|
63
|
-
process.argv.includes('--force-release-version') ?
|
|
64
|
-
true :
|
|
65
|
-
branch === getReleaseBranch();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
let cacheVersion = true;
|
|
69
|
-
function useVersionCache(useCache = true) {
|
|
70
|
-
cacheVersion = useCache;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
let version = null;
|
|
88
|
-
async function getVersion(
|
|
89
|
-
logIt = true,
|
|
90
|
-
release = null)
|
|
91
|
-
{
|
|
92
|
-
if (!cacheVersion || version == null) {
|
|
93
|
-
const { version: pkgVers, name } = (0, _pkg.getPkg)();
|
|
94
|
-
const { branch, revision } = await getRepoInfo();
|
|
95
|
-
const [, major, minor, patch] =
|
|
96
|
-
pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
|
|
97
|
-
if (!major || !minor || !patch) {
|
|
98
|
-
throw new Error('Invalid version format in package.json');
|
|
99
|
-
}
|
|
100
|
-
const build = getBuild();
|
|
101
|
-
const isRelease = await getIsRelease(branch, release);
|
|
102
|
-
const short = `${major}.${minor}.${patch}`;
|
|
103
|
-
const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
|
|
104
|
-
const info = `${short}${
|
|
105
|
-
isRelease ? `+${build}.` : `-${branch}.${build}+`
|
|
106
|
-
}${revision}`;
|
|
107
|
-
version = {
|
|
108
|
-
name,
|
|
109
|
-
branch,
|
|
110
|
-
revision,
|
|
111
|
-
major,
|
|
112
|
-
minor,
|
|
113
|
-
patch,
|
|
114
|
-
build,
|
|
115
|
-
short,
|
|
116
|
-
isRelease,
|
|
117
|
-
npm,
|
|
118
|
-
info };
|
|
119
|
-
|
|
120
|
-
if (logIt) {
|
|
121
|
-
(0, _run.buildLog)(`Building version ${info}`);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return version;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
async function getBanner() {
|
|
128
|
-
const { copyright = '' } = (0, _pkg.getCfg)();
|
|
129
|
-
const { info, name } = await getVersion();
|
|
130
|
-
const today = new Date();
|
|
131
|
-
return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
async function getVersionCode() {
|
|
135
|
-
return `// This file is auto-generated
|
|
136
|
-
export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
async function getUniqueBuildTag() {
|
|
140
|
-
const { branch, revision, build } = await getVersion();
|
|
141
|
-
return `${branch}-${revision}-${build}`;
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLFFBQU1DLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVo7QUFDQSxTQUFRSixHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBUixJQUEyQkwsT0FBTyxDQUFDTSxHQUFSLENBQVlDLFlB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LGVBQWV1QixpQkFBZixHQUFvRDtBQUN6RCxRQUFNLEVBQUVwQyxNQUFGLEVBQVVDLFFBQVYsRUFBb0JxQixLQUFwQixLQUE4QixNQUFNVCxVQUFVLEVBQXBEO0FBQ0EsU0FBUSxHQUFFYixNQUFPLElBQUdDLFFBQVMsSUFBR3FCLEtBQU0sRUFBdEM7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZ2l0SW5mbyB9IGZyb20gJy4vZ2l0JztcbmltcG9ydCB7IGhnSW5mbyB9IGZyb20gJy4vaGcnO1xuaW1wb3J0IHsgZ2V0Q2ZnLCBnZXRQa2cgfSBmcm9tICcuL3BrZyc7XG5pbXBvcnQgeyBidWlsZExvZyB9IGZyb20gJy4vcnVuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkKCk6IHN0cmluZyB7XG4gIGNvbnN0IGFyZyA9IHByb2Nlc3MuYXJndi5maW5kKChlbCkgPT4gL14tLWJ1aWxkTnVtPVxcZCskLy50ZXN0KGVsKSk7XG4gIHJldHVybiAoYXJnICYmIGFyZy5zdWJzdHIoMTEpKSB8fCBwcm9jZXNzLmVudi5CVUlMRF9OVU1CRVIgfHwgJzAnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsZWFzZUJyYW5jaCgpOiBzdHJpbmcge1xuICBjb25zdCB7IHJlbGVhc2VCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gcmVsZWFzZUJyYW5jaCB8fCAnbWFzdGVyJztcbn1cblxudHlwZSBSZXBvVHlwZSA9ICdnaXQnIHwgJ2hnJyB8ICd1bmtub3duJztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvVHlwZSgpOiBQcm9taXNlPFJlcG9UeXBlPiB7XG4gIGNvbnN0IHsgcmVwb1R5cGUgfSA9IGdldENmZygpO1xuXG4gIHJldHVybiAoXG4gICAgcmVwb1R5cGUgfHxcbiAgICAoZnMuZXhpc3RzU3luYygnLi8uaGcnKVxuICAgICAgPyAnaGcnXG4gICAgICA6IGZzLmV4aXN0c1N5bmMoJy4vLmdpdCcpXG4gICAgICA/ICdnaXQnXG4gICAgICA6ICd1bmtub3duJylcbiAgKTtcbn1cblxudHlwZSBSZXBvSW5mbyA9IHtcbiAgYnJhbmNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVwb0luZm8oKTogUHJvbWlzZTxSZXBvSW5mbz4ge1xuICBjb25zdCByZXBvVHlwZSA9IGF3YWl0IGdldFJlcG9UeXBlKCk7XG4gIGNvbnN0IHsgYnJhbmNoLCByZXZpc2lvbiB9ID1cbiAgICByZXBvVHlwZSA9PT0gJ2dpdCdcbiAgICAgID8gYXdhaXQgZ2l0SW5mbygpXG4gICAgICA6IHJlcG9UeXBlID09PSAnaGcnXG4gICAgICA/IGF3YWl0IGhnSW5mbygpXG4gICAgICA6IHt9O1xuICBpZiAoIWJyYW5jaCB8fCAhcmV2aXNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBicmFuY2ggYW5kIHJldmlzaW9uIGZyb20gc291cmNlIHJlcG8uJyk7XG4gIH1cbiAgcmV0dXJuIHsgYnJhbmNoLCByZXZpc2lvbiB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGV2QnJhbmNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgZGV2QnJhbmNoIH0gPSBnZXRDZmcoKTtcbiAgcmV0dXJuIGRldkJyYW5jaCB8fCAoYXdhaXQgZ2V0UmVwb1R5cGUoKSkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSB7XG4gICAgICBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFubmVyKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgY29weXJpZ2h0ID0gJycgfSA9IGdldENmZygpO1xuICBjb25zdCB7IGluZm8sIG5hbWUgfSA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICByZXR1cm4gYCR7bmFtZX0gdiR7aW5mb30gfCAoYykgJHt0b2RheS5nZXRGdWxsWWVhcigpfSAke2NvcHlyaWdodH0gfCBidWlsdCBvbiAke3RvZGF5LnRvSVNPU3RyaW5nKCl9YDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb25Db2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBgLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9ICR7SlNPTi5zdHJpbmdpZnkoYXdhaXQgZ2V0VmVyc2lvbigpLCBudWxsLCAyKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VW5pcXVlQnVpbGRUYWcoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uLCBidWlsZCB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICByZXR1cm4gYCR7YnJhbmNofS0ke3JldmlzaW9ufS0ke2J1aWxkfWA7XG59XG4iXX0=
|
package/version.js.flow
DELETED
|
@@ -1,142 +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
|
-
const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
|
|
10
|
-
return (arg && arg.substr(11)) || process.env.BUILD_NUMBER || '0';
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function getReleaseBranch(): string {
|
|
14
|
-
const { releaseBranch } = getCfg();
|
|
15
|
-
return releaseBranch || 'master';
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
type RepoType = 'git' | 'hg' | 'unknown';
|
|
19
|
-
export async function getRepoType(): Promise<RepoType> {
|
|
20
|
-
const { repoType } = getCfg();
|
|
21
|
-
|
|
22
|
-
return (
|
|
23
|
-
repoType ||
|
|
24
|
-
(fs.existsSync('./.hg')
|
|
25
|
-
? 'hg'
|
|
26
|
-
: fs.existsSync('./.git')
|
|
27
|
-
? 'git'
|
|
28
|
-
: 'unknown')
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
type RepoInfo = {
|
|
33
|
-
branch: string,
|
|
34
|
-
revision: string,
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export async function getRepoInfo(): Promise<RepoInfo> {
|
|
38
|
-
const repoType = await getRepoType();
|
|
39
|
-
const { branch, revision } =
|
|
40
|
-
repoType === 'git'
|
|
41
|
-
? await gitInfo()
|
|
42
|
-
: repoType === 'hg'
|
|
43
|
-
? await hgInfo()
|
|
44
|
-
: {};
|
|
45
|
-
if (!branch || !revision) {
|
|
46
|
-
throw new Error('Failed to parse branch and revision from source repo.');
|
|
47
|
-
}
|
|
48
|
-
return { branch, revision };
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export async function getDevBranch(): Promise<string> {
|
|
52
|
-
const { devBranch } = getCfg();
|
|
53
|
-
return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export async function getIsRelease(
|
|
57
|
-
passedBranch?: ?string = null,
|
|
58
|
-
releaseOverride?: ?boolean = null,
|
|
59
|
-
): Promise<boolean> {
|
|
60
|
-
const branch = passedBranch || (await getRepoInfo()).branch;
|
|
61
|
-
return releaseOverride != null
|
|
62
|
-
? releaseOverride
|
|
63
|
-
: process.argv.includes('--force-release-version')
|
|
64
|
-
? true
|
|
65
|
-
: branch === getReleaseBranch();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
let cacheVersion = true;
|
|
69
|
-
export function useVersionCache(useCache: boolean = true): void {
|
|
70
|
-
cacheVersion = useCache;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export type Version = {|
|
|
74
|
-
branch: string,
|
|
75
|
-
build: string,
|
|
76
|
-
info: string,
|
|
77
|
-
isRelease: boolean,
|
|
78
|
-
major: string,
|
|
79
|
-
minor: string,
|
|
80
|
-
name: string,
|
|
81
|
-
npm: string,
|
|
82
|
-
patch: string,
|
|
83
|
-
revision: string,
|
|
84
|
-
short: string,
|
|
85
|
-
|};
|
|
86
|
-
|
|
87
|
-
let version = null;
|
|
88
|
-
export async function getVersion(
|
|
89
|
-
logIt: boolean = true,
|
|
90
|
-
release: ?boolean = null,
|
|
91
|
-
): Promise<Version> {
|
|
92
|
-
if (!cacheVersion || version == null) {
|
|
93
|
-
const { version: pkgVers, name } = getPkg();
|
|
94
|
-
const { branch, revision } = await getRepoInfo();
|
|
95
|
-
const [, major, minor, patch] =
|
|
96
|
-
pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
|
|
97
|
-
if (!major || !minor || !patch) {
|
|
98
|
-
throw new Error('Invalid version format in package.json');
|
|
99
|
-
}
|
|
100
|
-
const build = getBuild();
|
|
101
|
-
const isRelease = await getIsRelease(branch, release);
|
|
102
|
-
const short = `${major}.${minor}.${patch}`;
|
|
103
|
-
const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
|
|
104
|
-
const info = `${short}${
|
|
105
|
-
isRelease ? `+${build}.` : `-${branch}.${build}+`
|
|
106
|
-
}${revision}`;
|
|
107
|
-
version = {
|
|
108
|
-
name,
|
|
109
|
-
branch,
|
|
110
|
-
revision,
|
|
111
|
-
major,
|
|
112
|
-
minor,
|
|
113
|
-
patch,
|
|
114
|
-
build,
|
|
115
|
-
short,
|
|
116
|
-
isRelease,
|
|
117
|
-
npm,
|
|
118
|
-
info,
|
|
119
|
-
};
|
|
120
|
-
if (logIt) {
|
|
121
|
-
buildLog(`Building version ${info}`);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return version;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export async function getBanner(): Promise<string> {
|
|
128
|
-
const { copyright = '' } = getCfg();
|
|
129
|
-
const { info, name } = await getVersion();
|
|
130
|
-
const today = new Date();
|
|
131
|
-
return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
export async function getVersionCode(): Promise<string> {
|
|
135
|
-
return `// This file is auto-generated
|
|
136
|
-
export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export async function getUniqueBuildTag(): Promise<string> {
|
|
140
|
-
const { branch, revision, build } = await getVersion();
|
|
141
|
-
return `${branch}-${revision}-${build}`;
|
|
142
|
-
}
|