build-strap 3.0.0-dev.42 → 4.0.0-dev.2
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/LICENSE +1 -1
- package/README.md +3 -34
- package/ant.d.ts +19 -0
- package/ant.js +12 -37
- package/cert.d.ts +12 -0
- package/cert.js +89 -151
- package/clean.d.ts +4 -0
- package/clean.js +7 -16
- package/copy.d.ts +7 -0
- package/copy.js +49 -76
- package/cp.d.ts +17 -0
- package/cp.js +85 -170
- package/docker.container.d.ts +73 -0
- package/docker.container.js +219 -362
- package/docker.d.ts +68 -0
- package/docker.js +167 -347
- package/docker.network.d.ts +42 -0
- package/docker.network.js +69 -144
- package/docker.volume.d.ts +26 -0
- package/docker.volume.js +52 -126
- package/dockerCleanup.d.ts +38 -0
- package/dockerCleanup.js +66 -141
- package/dockerCompose.d.ts +154 -0
- package/dockerCompose.js +400 -727
- package/fs.d.ts +5 -0
- package/fs.js +38 -95
- package/git.d.ts +9 -0
- package/git.js +19 -30
- package/index.d.ts +20 -0
- package/index.js +20 -27
- package/maps.d.ts +33 -0
- package/maps.js +16 -87
- package/npm.d.ts +34 -0
- package/npm.js +97 -138
- package/package.json +23 -19
- package/pkg.d.ts +39 -0
- package/pkg.js +26 -74
- package/publish.d.ts +27 -0
- package/publish.js +52 -140
- package/run.d.ts +13 -0
- package/run.js +39 -85
- package/tgz.d.ts +13 -0
- package/tgz.js +61 -96
- package/version.d.ts +34 -0
- package/version.js +86 -127
- package/yarn.d.ts +26 -0
- package/yarn.js +70 -119
- 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.flow +0 -152
- package/clean.js.flow +0 -19
- package/copy.js.flow +0 -79
- package/cp.js.flow +0 -172
- package/docker.container.js.flow +0 -389
- package/docker.js.flow +0 -367
- package/docker.network.js.flow +0 -159
- package/docker.volume.js.flow +0 -136
- package/dockerCleanup.js.flow +0 -151
- package/dockerCompose.js.flow +0 -765
- package/flow.js +0 -21
- package/flow.js.flow +0 -20
- package/fs.js.flow +0 -96
- package/git.js.flow +0 -34
- package/hg.js +0 -35
- package/hg.js.flow +0 -34
- package/index.js.flow +0 -26
- package/inline-resources.js +0 -158
- package/inline-resources.js.flow +0 -157
- package/maps.js.flow +0 -111
- package/npm.js.flow +0 -144
- package/pkg.js.flow +0 -80
- package/publish.js.flow +0 -144
- 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 -367
- 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 -141
- package/src/yarn.js +0 -123
- package/test.js +0 -56
- package/test.js.flow +0 -55
- package/tgz.js.flow +0 -101
- package/version.js.flow +0 -141
- package/yarn.js.flow +0 -123
package/publish.js
CHANGED
|
@@ -1,145 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _npm = require("./npm");
|
|
14
|
-
|
|
15
|
-
var _tgz = require("./tgz");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { npmPublish } from './npm.js';
|
|
4
|
+
import { getPkgName } from './pkg.js';
|
|
5
|
+
import { buildLog, run } from './run.js';
|
|
6
|
+
import { tgzDir } from './tgz.js';
|
|
7
|
+
import { getVersion } from './version.js';
|
|
31
8
|
// create tgz from distDir in outDir
|
|
32
|
-
async function createArtifact({
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return {
|
|
54
|
-
name,
|
|
55
|
-
version,
|
|
56
|
-
info,
|
|
57
|
-
fileName: tgzFileName,
|
|
58
|
-
filePath: tgzFilePath };
|
|
59
|
-
|
|
9
|
+
export async function createArtifact({ distDir, fileName, outDir, }) {
|
|
10
|
+
const version = await getVersion();
|
|
11
|
+
const name = getPkgName();
|
|
12
|
+
buildLog(`gzipping ${name} v${version.info}...`);
|
|
13
|
+
const tgzFileName = fileName || `${name}-${version.info}.tgz`;
|
|
14
|
+
const tgzFilePath = path.join(outDir, tgzFileName);
|
|
15
|
+
const info = await tgzDir(distDir, tgzFilePath, {
|
|
16
|
+
prefix: 'package',
|
|
17
|
+
});
|
|
18
|
+
buildLog(`md5: ${info.md5}`);
|
|
19
|
+
buildLog(`sha1: ${info.sha1}`);
|
|
20
|
+
buildLog(`sha512: ${info.sha512}`);
|
|
21
|
+
buildLog(`size: ${info.size} bytes`);
|
|
22
|
+
return {
|
|
23
|
+
fileName: tgzFileName,
|
|
24
|
+
filePath: tgzFilePath,
|
|
25
|
+
info,
|
|
26
|
+
name,
|
|
27
|
+
version,
|
|
28
|
+
};
|
|
60
29
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
30
|
// tgz the distDir, and copy it to the outDir
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
await (
|
|
95
|
-
|
|
31
|
+
export async function publish({ distDir, doPublish, fileName, npmAuthToken, npmConfig, npmCreds, npmPath, npmSkipExisting = false, npmTag, outDir, prePublishFn, }) {
|
|
32
|
+
if (typeof prePublishFn === 'function') {
|
|
33
|
+
await run(async () => {
|
|
34
|
+
await prePublishFn();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
const { filePath: tgzFilePath } = await createArtifact({
|
|
38
|
+
distDir,
|
|
39
|
+
fileName,
|
|
40
|
+
outDir,
|
|
41
|
+
});
|
|
42
|
+
if (!doPublish) {
|
|
43
|
+
buildLog('Skipping publish for dev build. Use `--publish` arg to publish for real.');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// Publish to all repos configured in package.json
|
|
47
|
+
await fs.copyFile(path.join(distDir, 'package.json'), path.join(outDir, 'package.json'));
|
|
48
|
+
await npmPublish({
|
|
49
|
+
npmAuthToken,
|
|
50
|
+
npmConfig,
|
|
51
|
+
npmCreds,
|
|
52
|
+
npmPath,
|
|
53
|
+
publishPath: tgzFilePath,
|
|
54
|
+
skipExisting: npmSkipExisting,
|
|
55
|
+
tag: npmTag,
|
|
96
56
|
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const {
|
|
100
|
-
info,
|
|
101
|
-
filePath: tgzFilePath,
|
|
102
|
-
fileName: tgzFileName } =
|
|
103
|
-
await createArtifact({ distDir, outDir, fileName });
|
|
104
|
-
|
|
105
|
-
if (!doPublish) {
|
|
106
|
-
(0, _run.buildLog)(
|
|
107
|
-
'Skipping publish for dev build. Use `--publish` arg to publish for real.');
|
|
108
|
-
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// Publish to all repos configured in package.json
|
|
113
|
-
await _fsExtra.default.copyFile(
|
|
114
|
-
_path.default.join(distDir, 'package.json'),
|
|
115
|
-
_path.default.join(outDir, 'package.json'));
|
|
116
|
-
|
|
117
|
-
const artifact = _fsExtra.default.createReadStream(tgzFilePath);
|
|
118
|
-
await Promise.all([
|
|
119
|
-
(0, _npm.npmPublish)({
|
|
120
|
-
publishPath: tgzFilePath,
|
|
121
|
-
npmConfig,
|
|
122
|
-
npmCreds,
|
|
123
|
-
npmAuthToken,
|
|
124
|
-
tag: npmTag,
|
|
125
|
-
skipExisting: npmSkipExisting,
|
|
126
|
-
npmPath }),
|
|
127
|
-
|
|
128
|
-
(0, _artifactory.artifactoryStandard)(
|
|
129
|
-
artifact,
|
|
130
|
-
info,
|
|
131
|
-
tgzFileName,
|
|
132
|
-
artifactoryConfig,
|
|
133
|
-
artifactoryCreds),
|
|
134
|
-
|
|
135
|
-
(0, _artifactory.artifactoryNpm)(
|
|
136
|
-
distDir,
|
|
137
|
-
artifactoryConfig,
|
|
138
|
-
artifactoryCreds,
|
|
139
|
-
npmPath,
|
|
140
|
-
npmTag,
|
|
141
|
-
npmSkipExisting)]);
|
|
142
|
-
|
|
143
|
-
|
|
144
57
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wdWJsaXNoLmpzIl0sIm5hbWVzIjpbImNyZWF0ZUFydGlmYWN0IiwiZGlzdERpciIsIm91dERpciIsImZpbGVOYW1lIiwidmVyc2lvbiIsIm5hbWUiLCJpbmZvIiwidGd6RmlsZU5hbWUiLCJ0Z3pGaWxlUGF0aCIsInBhdGgiLCJqb2luIiwicHJlZml4IiwibWQ1Iiwic2hhMSIsInNoYTUxMiIsInNpemUiLCJmaWxlUGF0aCIsInB1Ymxpc2giLCJkb1B1Ymxpc2giLCJwcmVQdWJsaXNoRm4iLCJhcnRpZmFjdG9yeUNvbmZpZyIsImFydGlmYWN0b3J5Q3JlZHMiLCJucG1QYXRoIiwibnBtVGFnIiwibnBtU2tpcEV4aXN0aW5nIiwibnBtQ29uZmlnIiwibnBtQ3JlZHMiLCJucG1BdXRoVG9rZW4iLCJmcyIsImNvcHlGaWxlIiwiYXJ0aWZhY3QiLCJjcmVhdGVSZWFkU3RyZWFtIiwiUHJvbWlzZSIsImFsbCIsInB1Ymxpc2hQYXRoIiwidGFnIiwic2tpcEV4aXN0aW5nIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7QUFNQTs7QUFFQSw0Qjs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQTtBQUNPLGVBQWVBLGNBQWYsQ0FBOEI7QUFDbkNDLEVBQUFBLE9BRG1DO0FBRW5DQyxFQUFBQSxNQUZtQztBQUduQ0MsRUFBQUEsUUFIbUMsRUFBOUI7QUFJc0M7QUFDM0MsUUFBTUMsT0FBTyxHQUFHLE1BQU0sMEJBQXRCO0FBQ0EsUUFBTUMsSUFBSSxHQUFHLHNCQUFiOztBQUVBLHFCQUFVLFlBQVdBLElBQUssS0FBSUQsT0FBTyxDQUFDRSxJQUFLLEtBQTNDOztBQUVBLFFBQU1DLFdBQVcsR0FBR0osUUFBUSxJQUFLLEdBQUVFLElBQUssSUFBR0QsT0FBTyxDQUFDRSxJQUFLLE1BQXhEO0FBQ0EsUUFBTUUsV0FBVyxHQUFHQyxjQUFLQyxJQUFMLENBQVVSLE1BQVYsRUFBa0JLLFdBQWxCLENBQXBCO0FBQ0EsUUFBTUQsSUFBSSxHQUFHLE1BQU0saUJBQU9MLE9BQVAsRUFBZ0JPLFdBQWhCLEVBQTZCO0FBQzlDRyxJQUFBQSxNQUFNLEVBQUUsU0FEc0MsRUFBN0IsQ0FBbkI7OztBQUlBLHFCQUFVLFFBQU9MLElBQUksQ0FBQ00sR0FBSSxFQUExQjtBQUNBLHFCQUFVLFNBQVFOLElBQUksQ0FBQ08sSUFBSyxFQUE1QjtBQUNBLHFCQUFVLFdBQVVQLElBQUksQ0FBQ1EsTUFBTyxFQUFoQztBQUNBLHFCQUFVLFNBQVFSLElBQUksQ0FBQ1MsSUFBSyxRQUE1Qjs7QUFFQSxTQUFPO0FBQ0xWLElBQUFBLElBREs7QUFFTEQsSUFBQUEsT0FGSztBQUdMRSxJQUFBQSxJQUhLO0FBSUxILElBQUFBLFFBQVEsRUFBRUksV0FKTDtBQUtMUyxJQUFBQSxRQUFRLEVBQUVSLFdBTEwsRUFBUDs7QUFPRDs7Ozs7Ozs7Ozs7Ozs7OztBQWdCRDtBQUNBO0FBQ08sZUFBZVMsT0FBZixDQUF1QjtBQUM1QmhCLEVBQUFBLE9BRDRCO0FBRTVCQyxFQUFBQSxNQUY0QjtBQUc1QmdCLEVBQUFBLFNBSDRCO0FBSTVCQyxFQUFBQSxZQUo0QjtBQUs1QmhCLEVBQUFBLFFBTDRCO0FBTTVCaUIsRUFBQUEsaUJBTjRCO0FBTzVCQyxFQUFBQSxnQkFQNEI7QUFRNUJDLEVBQUFBLE9BUjRCO0FBUzVCQyxFQUFBQSxNQVQ0QjtBQVU1QkMsRUFBQUEsZUFBZSxHQUFHLEtBVlU7QUFXNUJDLEVBQUFBLFNBWDRCO0FBWTVCQyxFQUFBQSxRQVo0QjtBQWE1QkMsRUFBQUEsWUFiNEIsRUFBdkI7QUFja0I7QUFDdkIsTUFBSSxPQUFPUixZQUFQLEtBQXdCLFVBQTVCLEVBQXdDO0FBQ3RDLFVBQU0sY0FBSSxZQUFZO0FBQ3BCLFlBQU1BLFlBQVksRUFBbEI7QUFDRCxLQUZLLENBQU47QUFHRDs7QUFFRCxRQUFNO0FBQ0piLElBQUFBLElBREk7QUFFSlUsSUFBQUEsUUFBUSxFQUFFUixXQUZOO0FBR0pMLElBQUFBLFFBQVEsRUFBRUksV0FITjtBQUlGLFFBQU1QLGNBQWMsQ0FBQyxFQUFFQyxPQUFGLEVBQVdDLE1BQVgsRUFBbUJDLFFBQW5CLEVBQUQsQ0FKeEI7O0FBTUEsTUFBSSxDQUFDZSxTQUFMLEVBQWdCO0FBQ2Q7QUFDRSw4RUFERjs7QUFHQTtBQUNEOztBQUVEO0FBQ0EsUUFBTVUsaUJBQUdDLFFBQUg7QUFDSnBCLGdCQUFLQyxJQUFMLENBQVVULE9BQVYsRUFBbUIsY0FBbkIsQ0FESTtBQUVKUSxnQkFBS0MsSUFBTCxDQUFVUixNQUFWLEVBQWtCLGNBQWxCLENBRkksQ0FBTjs7QUFJQSxRQUFNNEIsUUFBUSxHQUFHRixpQkFBR0csZ0JBQUgsQ0FBb0J2QixXQUFwQixDQUFqQjtBQUNBLFFBQU13QixPQUFPLENBQUNDLEdBQVIsQ0FBWTtBQUNoQix1QkFBVztBQUNUQyxJQUFBQSxXQUFXLEVBQUUxQixXQURKO0FBRVRpQixJQUFBQSxTQUZTO0FBR1RDLElBQUFBLFFBSFM7QUFJVEMsSUFBQUEsWUFKUztBQUtUUSxJQUFBQSxHQUFHLEVBQUVaLE1BTEk7QUFNVGEsSUFBQUEsWUFBWSxFQUFFWixlQU5MO0FBT1RGLElBQUFBLE9BUFMsRUFBWCxDQURnQjs7QUFVaEI7QUFDRVEsRUFBQUEsUUFERjtBQUVFeEIsRUFBQUEsSUFGRjtBQUdFQyxFQUFBQSxXQUhGO0FBSUVhLEVBQUFBLGlCQUpGO0FBS0VDLEVBQUFBLGdCQUxGLENBVmdCOztBQWlCaEI7QUFDRXBCLEVBQUFBLE9BREY7QUFFRW1CLEVBQUFBLGlCQUZGO0FBR0VDLEVBQUFBLGdCQUhGO0FBSUVDLEVBQUFBLE9BSkY7QUFLRUMsRUFBQUEsTUFMRjtBQU1FQyxFQUFBQSxlQU5GLENBakJnQixDQUFaLENBQU47OztBQTBCRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgeyBydW4sIGJ1aWxkTG9nIH0gZnJvbSAnLi9ydW4nO1xuaW1wb3J0IHsgZ2V0VmVyc2lvbiwgdHlwZSBWZXJzaW9uIH0gZnJvbSAnLi92ZXJzaW9uJztcbmltcG9ydCB7IGdldFBrZ05hbWUgfSBmcm9tICcuL3BrZyc7XG5pbXBvcnQge1xuICBhcnRpZmFjdG9yeU5wbSxcbiAgYXJ0aWZhY3RvcnlTdGFuZGFyZCxcbiAgdHlwZSBBcnRpZmFjdG9yeUNvbmZpZyxcbiAgdHlwZSBBcnRpZmFjdG9yeUNyZWRzLFxufSBmcm9tICcuL2FydGlmYWN0b3J5JztcbmltcG9ydCB7IG5wbVB1Ymxpc2ggfSBmcm9tICcuL25wbSc7XG5pbXBvcnQgdHlwZSB7IE5wbUNvbmZpZywgTnBtQ3JlZHMgfSBmcm9tICcuL25wbSc7XG5pbXBvcnQgeyB0Z3pEaXIsIHR5cGUgQXJ0aWZhY3RJbmZvIH0gZnJvbSAnLi90Z3onO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVBcnRpZmFjdE9wdGlvbnMgPSB7XG4gIGRpc3REaXI6IHN0cmluZywgLy8gV2hhdCB0byBidW5kbGUgdXAgYW5kIHB1Ymxpc2hcbiAgb3V0RGlyOiBzdHJpbmcsIC8vIFdoZXJlIHRoZSBidW5kbGVkIHRneiBmaWxlIHNob3VsZCBnb1xuICBmaWxlTmFtZT86IHN0cmluZywgLy8gKG9wdGlvbmFsKSBTcGVjaWZ5IHRoZSB0Z3ogZmlsZSBuYW1lXG59O1xuXG5leHBvcnQgdHlwZSBBcnRpZmFjdCA9IHtcbiAgbmFtZTogc3RyaW5nLFxuICB2ZXJzaW9uOiBWZXJzaW9uLFxuICBpbmZvOiBBcnRpZmFjdEluZm8sXG4gIGZpbGVOYW1lOiBzdHJpbmcsXG4gIGZpbGVQYXRoOiBzdHJpbmcsXG59XG5cbi8vIGNyZWF0ZSB0Z3ogZnJvbSBkaXN0RGlyIGluIG91dERpclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUFydGlmYWN0KHtcbiAgZGlzdERpcixcbiAgb3V0RGlyLFxuICBmaWxlTmFtZSxcbn06IENyZWF0ZUFydGlmYWN0T3B0aW9ucyk6IFByb21pc2U8QXJ0aWZhY3Q+IHtcbiAgY29uc3QgdmVyc2lvbiA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgY29uc3QgbmFtZSA9IGdldFBrZ05hbWUoKTtcblxuICBidWlsZExvZyhgZ3ppcHBpbmcgJHtuYW1lfSB2JHt2ZXJzaW9uLmluZm99Li4uYCk7XG5cbiAgY29uc3QgdGd6RmlsZU5hbWUgPSBmaWxlTmFtZSB8fCBgJHtuYW1lfS0ke3ZlcnNpb24uaW5mb30udGd6YDtcbiAgY29uc3QgdGd6RmlsZVBhdGggPSBwYXRoLmpvaW4ob3V0RGlyLCB0Z3pGaWxlTmFtZSk7XG4gIGNvbnN0IGluZm8gPSBhd2FpdCB0Z3pEaXIoZGlzdERpciwgdGd6RmlsZVBhdGgsIHtcbiAgICBwcmVmaXg6ICdwYWNrYWdlJyxcbiAgfSk7XG5cbiAgYnVpbGRMb2coYG1kNTogJHtpbmZvLm1kNX1gKTtcbiAgYnVpbGRMb2coYHNoYTE6ICR7aW5mby5zaGExfWApO1xuICBidWlsZExvZyhgc2hhNTEyOiAke2luZm8uc2hhNTEyfWApO1xuICBidWlsZExvZyhgc2l6ZTogJHtpbmZvLnNpemV9IGJ5dGVzYCk7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHZlcnNpb24sXG4gICAgaW5mbyxcbiAgICBmaWxlTmFtZTogdGd6RmlsZU5hbWUsXG4gICAgZmlsZVBhdGg6IHRnekZpbGVQYXRoLFxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBQdWJsaXNoQ29uZmlndXJhdGlvbiA9IHtcbiAgLi4uQ3JlYXRlQXJ0aWZhY3RPcHRpb25zLFxuICBkb1B1Ymxpc2g6IGJvb2xlYW4sIC8vIEFjdHVhbGx5IHB1Ymxpc2g/XG4gIHByZVB1Ymxpc2hGbj86ICgpID0+IGFueSwgLy8gKG9wdGlvbmFsKSBDYWxsYmFjayB0byBpbnZva2UgYmVmb3JlIHB1Ymxpc2hpbmdcbiAgYXJ0aWZhY3RvcnlDb25maWc/OiBBcnRpZmFjdG9yeUNvbmZpZywgLy8gKG9wdGlvbmFsKSBBcnRpZmFjdG9yeSBjb25maWcgaW5mbyAobm9ybWFsbHkgaW4gcGFja2FnZS5qc29uKVxuICBhcnRpZmFjdG9yeUNyZWRzPzogQXJ0aWZhY3RvcnlDcmVkcywgLy8gKG9wdGlvbmFsKSBBcnRpZmFjdG9yeSBjcmVkZW50aWFscyAobm9ybWFsbHkgZnJvbSBFTlYgdmFyKVxuICBucG1QYXRoPzogc3RyaW5nLCAvLyAob3B0aW9uYWwpIFBhdGggdG8gbnBtIGV4ZWN1dGFibGVcbiAgbnBtVGFnPzogc3RyaW5nLCAvLyAob3B0aW9uYWwpIHRhZyB0byBhcHBseSB0byBucG0gcGFja2FnZVxuICBucG1Ta2lwRXhpc3Rpbmc/OiBib29sZWFuLCAvLyAob3B0aW9uYWwpIGlmIHRydWUsIGRvbid0IGVycm9yIHdoZW4gYXJ0aWZhY3QgYWxyZWFkeSBleGlzdHMgKHNraXAgcHVibGlzaClcbiAgbnBtQ29uZmlnPzogTnBtQ29uZmlnLCAvLyAob3B0aW9uYWwpIE5wbSBjb25maWcgaW5mbyAobm9ybWFsbHkgaW4gcGFja2FnZS5qc29uKVxuICBucG1DcmVkcz86IE5wbUNyZWRzLCAvLyAob3B0aW9uYWwpIE5wbSBjcmVkZW50aWFscyAobm9ybWFsbHkgZnJvbSBFTlYgdmFyKVxuICBucG1BdXRoVG9rZW4/OiBzdHJpbmcsIC8vIChvcHRpb25hbCkgTnBtIGF1dGggdG9rZW4gKG5vcm1hbGx5IGZyb20gRU5WIHZhcilcbn07XG5cbi8vIHRneiB0aGUgZGlzdERpciwgYW5kIGNvcHkgaXQgdG8gdGhlIG91dERpclxuLy8gaWYgdG9BcnRpZmFjdG9yeSBpcyB0cnVlLCBhbHNvIHB1Ymxpc2hlcyB0byBhcnRpZmFjdG9yeVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHB1Ymxpc2goe1xuICBkaXN0RGlyLFxuICBvdXREaXIsXG4gIGRvUHVibGlzaCxcbiAgcHJlUHVibGlzaEZuLFxuICBmaWxlTmFtZSxcbiAgYXJ0aWZhY3RvcnlDb25maWcsXG4gIGFydGlmYWN0b3J5Q3JlZHMsXG4gIG5wbVBhdGgsXG4gIG5wbVRhZyxcbiAgbnBtU2tpcEV4aXN0aW5nID0gZmFsc2UsXG4gIG5wbUNvbmZpZyxcbiAgbnBtQ3JlZHMsXG4gIG5wbUF1dGhUb2tlbixcbn06IFB1Ymxpc2hDb25maWd1cmF0aW9uKSB7XG4gIGlmICh0eXBlb2YgcHJlUHVibGlzaEZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgYXdhaXQgcnVuKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHByZVB1Ymxpc2hGbigpO1xuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qge1xuICAgIGluZm8sXG4gICAgZmlsZVBhdGg6IHRnekZpbGVQYXRoLFxuICAgIGZpbGVOYW1lOiB0Z3pGaWxlTmFtZSxcbiAgfSA9IGF3YWl0IGNyZWF0ZUFydGlmYWN0KHsgZGlzdERpciwgb3V0RGlyLCBmaWxlTmFtZSB9KTtcblxuICBpZiAoIWRvUHVibGlzaCkge1xuICAgIGJ1aWxkTG9nKFxuICAgICAgJ1NraXBwaW5nIHB1Ymxpc2ggZm9yIGRldiBidWlsZC4gVXNlIGAtLXB1Ymxpc2hgIGFyZyB0byBwdWJsaXNoIGZvciByZWFsLicsXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBQdWJsaXNoIHRvIGFsbCByZXBvcyBjb25maWd1cmVkIGluIHBhY2thZ2UuanNvblxuICBhd2FpdCBmcy5jb3B5RmlsZShcbiAgICBwYXRoLmpvaW4oZGlzdERpciwgJ3BhY2thZ2UuanNvbicpLFxuICAgIHBhdGguam9pbihvdXREaXIsICdwYWNrYWdlLmpzb24nKSxcbiAgKTtcbiAgY29uc3QgYXJ0aWZhY3QgPSBmcy5jcmVhdGVSZWFkU3RyZWFtKHRnekZpbGVQYXRoKTtcbiAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIG5wbVB1Ymxpc2goe1xuICAgICAgcHVibGlzaFBhdGg6IHRnekZpbGVQYXRoLFxuICAgICAgbnBtQ29uZmlnLFxuICAgICAgbnBtQ3JlZHMsXG4gICAgICBucG1BdXRoVG9rZW4sXG4gICAgICB0YWc6IG5wbVRhZyxcbiAgICAgIHNraXBFeGlzdGluZzogbnBtU2tpcEV4aXN0aW5nLFxuICAgICAgbnBtUGF0aCxcbiAgICB9KSxcbiAgICBhcnRpZmFjdG9yeVN0YW5kYXJkKFxuICAgICAgYXJ0aWZhY3QsXG4gICAgICBpbmZvLFxuICAgICAgdGd6RmlsZU5hbWUsXG4gICAgICBhcnRpZmFjdG9yeUNvbmZpZyxcbiAgICAgIGFydGlmYWN0b3J5Q3JlZHMsXG4gICAgKSxcbiAgICBhcnRpZmFjdG9yeU5wbShcbiAgICAgIGRpc3REaXIsXG4gICAgICBhcnRpZmFjdG9yeUNvbmZpZyxcbiAgICAgIGFydGlmYWN0b3J5Q3JlZHMsXG4gICAgICBucG1QYXRoLFxuICAgICAgbnBtVGFnLFxuICAgICAgbnBtU2tpcEV4aXN0aW5nLFxuICAgICksXG4gIF0pO1xufVxuIl19
|
package/run.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function format(time?: Date): string;
|
|
2
|
+
export declare function buildLog(msg: string, time?: Date): void;
|
|
3
|
+
export declare type RunnableModule<Args extends string[], Result> = ((...args: Args) => Promise<Result>) | {
|
|
4
|
+
default: (...args: Args) => Promise<Result>;
|
|
5
|
+
};
|
|
6
|
+
export declare function run<Args extends string[], Result>(fn: RunnableModule<Args, Result>, ...options: Args): Promise<Result>;
|
|
7
|
+
export interface RunCliOptions<Args extends string[], Result> {
|
|
8
|
+
argv?: string[];
|
|
9
|
+
defaultAction?: string | RunnableModule<Args, Result>;
|
|
10
|
+
passthroughArgv?: Args | boolean;
|
|
11
|
+
resolveFn?: (path: string) => Promise<RunnableModule<Args, Result>> | RunnableModule<Args, Result>;
|
|
12
|
+
}
|
|
13
|
+
export declare function runCli<Args extends string[], Result>({ resolveFn, defaultAction, argv, passthroughArgv, }?: RunCliOptions<Args, Result>): Promise<Result>;
|
package/run.js
CHANGED
|
@@ -1,90 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return time.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, '$1');
|
|
1
|
+
export function format(time = new Date()) {
|
|
2
|
+
return time.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, '$1');
|
|
4
3
|
}
|
|
5
|
-
|
|
6
4
|
const silenceLogs = process.argv.includes('--silence-buildLog');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
console.info(`[${format(time || new Date())}] ${msg}`);
|
|
5
|
+
export function buildLog(msg, time) {
|
|
6
|
+
if (silenceLogs) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
console.info(`[${format(time || new Date())}] ${msg}`);
|
|
13
10
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
'First argument to run must be a function or module with default function.');
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
const start = new Date();
|
|
33
|
-
buildLog(`Starting '${task.name}'...`, start);
|
|
34
|
-
const result = await task(...options);
|
|
35
|
-
const end = new Date();
|
|
36
|
-
const time = end.getTime() - start.getTime();
|
|
37
|
-
buildLog(`Finished '${task.name}' after ${time} ms`, end);
|
|
38
|
-
return result;
|
|
11
|
+
export async function run(fn, ...options) {
|
|
12
|
+
if (fn == null) {
|
|
13
|
+
throw new Error(`Invalid argument passed to run(${fn})`);
|
|
14
|
+
}
|
|
15
|
+
const task = typeof fn === 'function' ? fn : fn.default;
|
|
16
|
+
if (typeof task !== 'function') {
|
|
17
|
+
throw new Error('First argument to run must be a function or module with default function.');
|
|
18
|
+
}
|
|
19
|
+
const start = new Date();
|
|
20
|
+
buildLog(`Starting '${task.name}'...`, start);
|
|
21
|
+
const result = await task(...options);
|
|
22
|
+
const end = new Date();
|
|
23
|
+
const time = end.getTime() - start.getTime();
|
|
24
|
+
buildLog(`Finished '${task.name}' after ${time} ms`, end);
|
|
25
|
+
return result;
|
|
39
26
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
argv.length > 2 ?
|
|
58
|
-
resolveFn(argv[2]) :
|
|
59
|
-
typeof defaultAction === 'string' ?
|
|
60
|
-
resolveFn(defaultAction) :
|
|
61
|
-
defaultAction;
|
|
62
|
-
const args = Array.isArray(passthroughArgv) ?
|
|
63
|
-
passthroughArgv.includes(argv[2] || defaultAction) ?
|
|
64
|
-
argv.slice(3) :
|
|
65
|
-
[] :
|
|
66
|
-
passthroughArgv ?
|
|
67
|
-
argv.slice(3) :
|
|
68
|
-
[];
|
|
69
|
-
return run(module, ...args).catch((err) => {
|
|
70
|
-
console.error(err && err.stack || err);
|
|
71
|
-
process.exit(1);
|
|
72
|
-
throw err;
|
|
73
|
-
});
|
|
27
|
+
export async function runCli({ resolveFn = async (path) => import(`./${path}.js`), defaultAction = 'build', argv = process.argv, passthroughArgv = false, } = {}) {
|
|
28
|
+
const module = argv.length > 2
|
|
29
|
+
? await resolveFn(argv[2])
|
|
30
|
+
: typeof defaultAction === 'string'
|
|
31
|
+
? await resolveFn(defaultAction)
|
|
32
|
+
: defaultAction;
|
|
33
|
+
const args = Array.isArray(passthroughArgv)
|
|
34
|
+
? passthroughArgv.includes(argv[2] || defaultAction)
|
|
35
|
+
? argv.slice(3)
|
|
36
|
+
: []
|
|
37
|
+
: passthroughArgv
|
|
38
|
+
? argv.slice(3)
|
|
39
|
+
: [];
|
|
40
|
+
return run(module, ...args).catch((err) => {
|
|
41
|
+
console.error((err && err.stack) || err);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
});
|
|
74
44
|
}
|
|
75
|
-
|
|
76
|
-
function handleEntryPoint(
|
|
77
|
-
mainModule,
|
|
78
|
-
mainModuleFilename,
|
|
79
|
-
cliOptions)
|
|
80
|
-
{
|
|
81
|
-
if (require.main === mainModule) {
|
|
82
|
-
delete require.cache[mainModuleFilename]; // eslint-disable-line no-underscore-dangle
|
|
83
|
-
runCli(cliOptions);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
handleEntryPoint(module, __filename);var _default =
|
|
88
|
-
|
|
89
|
-
run;exports.default = _default;
|
|
90
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW4uanMiXSwibmFtZXMiOlsiZm9ybWF0IiwidGltZSIsIkRhdGUiLCJ0b1RpbWVTdHJpbmciLCJyZXBsYWNlIiwic2lsZW5jZUxvZ3MiLCJwcm9jZXNzIiwiYXJndiIsImluY2x1ZGVzIiwiYnVpbGRMb2ciLCJtc2ciLCJjb25zb2xlIiwiaW5mbyIsInJ1biIsImZuIiwib3B0aW9ucyIsIkVycm9yIiwidGFzayIsImRlZmF1bHQiLCJzdGFydCIsIm5hbWUiLCJyZXN1bHQiLCJlbmQiLCJnZXRUaW1lIiwicnVuQ2xpIiwicmVzb2x2ZUZuIiwicGF0aCIsInJlcXVpcmUiLCJkZWZhdWx0QWN0aW9uIiwicGFzc3Rocm91Z2hBcmd2IiwibW9kdWxlIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiaXNBcnJheSIsInNsaWNlIiwiY2F0Y2giLCJlcnIiLCJlcnJvciIsInN0YWNrIiwiZXhpdCIsImhhbmRsZUVudHJ5UG9pbnQiLCJtYWluTW9kdWxlIiwibWFpbk1vZHVsZUZpbGVuYW1lIiwiY2xpT3B0aW9ucyIsIm1haW4iLCJjYWNoZSIsIl9fZmlsZW5hbWUiXSwibWFwcGluZ3MiOiI7QUFDTyxTQUFTQSxNQUFULENBQWdCQyxJQUFXLEdBQUcsSUFBSUMsSUFBSixFQUE5QixFQUFrRDtBQUN2RCxTQUFPRCxJQUFJLENBQUNFLFlBQUwsR0FBb0JDLE9BQXBCLENBQTRCLHlCQUE1QixFQUF1RCxJQUF2RCxDQUFQO0FBQ0Q7O0FBRUQsTUFBTUMsV0FBVyxHQUFHQyxPQUFPLENBQUNDLElBQVIsQ0FBYUMsUUFBYixDQUFzQixvQkFBdEIsQ0FBcEI7O0FBRU8sU0FBU0MsUUFBVCxDQUFrQkMsR0FBbEIsRUFBK0JULElBQS9CLEVBQTRDO0FBQ2pELE1BQUlJLFdBQUosRUFBaUI7QUFDZjtBQUNEO0FBQ0RNLEVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFjLElBQUdaLE1BQU0sQ0FBQ0MsSUFBSSxJQUFJLElBQUlDLElBQUosRUFBVCxDQUFxQixLQUFJUSxH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QUFDRjs7QUFFREgsZ0JBQWdCLENBQUNYLE1BQUQsRUFBU2lCLFVBQVQsQ0FBaEIsQzs7QUFFZWxDLEciLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdCh0aW1lPzogRGF0ZSA9IG5ldyBEYXRlKCkpOiBzdHJpbmcge1xuICByZXR1cm4gdGltZS50b1RpbWVTdHJpbmcoKS5yZXBsYWNlKC8uKihcXGR7Mn06XFxkezJ9OlxcZHsyfSkuKi8sICckMScpO1xufVxuXG5jb25zdCBzaWxlbmNlTG9ncyA9IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1zaWxlbmNlLWJ1aWxkTG9nJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZExvZyhtc2c6IHN0cmluZywgdGltZT86IERhdGUpIHtcbiAgaWYgKHNpbGVuY2VMb2dzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnNvbGUuaW5mbyhgWyR7Zm9ybWF0KHRpbWUgfHwgbmV3IERhdGUoKSl9XSAke21zZ31gKTtcbn1cblxuZXhwb3J0IHR5cGUgUnVubmFibGVNb2R1bGU8VD4gPVxuICB8ICgoKSA9PiBQcm9taXNlPFQ+KVxuICB8IHsgZGVmYXVsdDogKCkgPT4gUHJvbWlzZTxUPiB9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuPFQ+KFxuICBmbjogUnVubmFibGVNb2R1bGU8VD4sXG4gIC4uLm9wdGlvbnM6IGFueVtdXG4pOiBQcm9taXNlPFQ+IHtcbiAgaWYgKGZuID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIHJ1bigke2ZufSlgKTtcbiAgfVxuICBjb25zdCB0YXNrID0gdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nID8gZm4gOiBmbi5kZWZhdWx0O1xuICBpZiAodHlwZW9mIHRhc2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnRmlyc3QgYXJndW1lbnQgdG8gcnVuIG11c3QgYmUgYSBmdW5jdGlvbiBvciBtb2R1bGUgd2l0aCBkZWZhdWx0IGZ1bmN0aW9uLicsXG4gICAgKTtcbiAgfVxuICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKCk7XG4gIGJ1aWxkTG9nKGBTdGFydGluZyAnJHt0YXNrLm5hbWV9Jy4uLmAsIHN0YXJ0KTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGFzayguLi5vcHRpb25zKTtcbiAgY29uc3QgZW5kID0gbmV3IERhdGUoKTtcbiAgY29uc3QgdGltZSA9IGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7XG4gIGJ1aWxkTG9nKGBGaW5pc2hlZCAnJHt0YXNrLm5hbWV9JyBhZnRlciAke3RpbWV9IG1zYCwgZW5kKTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IHR5cGUgUnVuQ2xpT3B0aW9uczxUPiA9IHtcbiAgcmVzb2x2ZUZuPzogKHBhdGg6IHN0cmluZykgPT4gUnVubmFibGVNb2R1bGU8VD4sXG4gIGRlZmF1bHRBY3Rpb24/OiBzdHJpbmcgfCBSdW5uYWJsZU1vZHVsZTxUPixcbiAgYXJndj86IHN0cmluZ1tdLFxuICBwYXNzdGhyb3VnaEFyZ3Y/OiBib29sZWFuLFxufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkNsaTxUPih7XG4gIHJlc29sdmVGbiA9IChwYXRoOiBzdHJpbmcpID0+XG4gICAgLy8gJEZsb3dGaXhNZVxuICAgIHJlcXVpcmUoYC4vJHtwYXRofWApLmRlZmF1bHQsIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgZGVmYXVsdEFjdGlvbiA9ICdwdWJsaXNoJyxcbiAgYXJndiA9IHByb2Nlc3MuYXJndixcbiAgcGFzc3Rocm91Z2hBcmd2ID0gZmFsc2UsXG59OiBSdW5DbGlPcHRpb25zPFQ+ID0ge30pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgbW9kdWxlID1cbiAgICBhcmd2Lmxlbmd0aCA+IDJcbiAgICAgID8gcmVzb2x2ZUZuKGFyZ3ZbMl0pXG4gICAgICA6IHR5cGVvZiBkZWZhdWx0QWN0aW9uID09PSAnc3RyaW5nJ1xuICAgICAgPyByZXNvbHZlRm4oZGVmYXVsdEFjdGlvbilcbiAgICAgIDogZGVmYXVsdEFjdGlvbjtcbiAgY29uc3QgYXJncyA9IEFycmF5LmlzQXJyYXkocGFzc3Rocm91Z2hBcmd2KVxuICAgID8gcGFzc3Rocm91Z2hBcmd2LmluY2x1ZGVzKGFyZ3ZbMl0gfHwgZGVmYXVsdEFjdGlvbilcbiAgICAgID8gYXJndi5zbGljZSgzKVxuICAgICAgOiBbXVxuICAgIDogcGFzc3Rocm91Z2hBcmd2XG4gICAgPyBhcmd2LnNsaWNlKDMpXG4gICAgOiBbXTtcbiAgcmV0dXJuIHJ1bihtb2R1bGUsIC4uLmFyZ3MpLmNhdGNoKChlcnIpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKChlcnIgJiYgZXJyLnN0YWNrKSB8fCBlcnIpO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICB0aHJvdyBlcnI7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRW50cnlQb2ludDxUPihcbiAgbWFpbk1vZHVsZTogdHlwZW9mIG1vZHVsZSxcbiAgbWFpbk1vZHVsZUZpbGVuYW1lOiBzdHJpbmcsXG4gIGNsaU9wdGlvbnM/OiBSdW5DbGlPcHRpb25zPFQ+LFxuKSB7XG4gIGlmIChyZXF1aXJlLm1haW4gPT09IG1haW5Nb2R1bGUpIHtcbiAgICBkZWxldGUgcmVxdWlyZS5jYWNoZVttYWluTW9kdWxlRmlsZW5hbWVdOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgcnVuQ2xpKGNsaU9wdGlvbnMpO1xuICB9XG59XG5cbmhhbmRsZUVudHJ5UG9pbnQobW9kdWxlLCBfX2ZpbGVuYW1lKTtcblxuZXhwb3J0IGRlZmF1bHQgcnVuO1xuIl19
|
package/tgz.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Readable } from 'stream';
|
|
3
|
+
import tar from 'tar';
|
|
4
|
+
export declare type ArtifactInfo = {
|
|
5
|
+
contentType?: string;
|
|
6
|
+
md5: string;
|
|
7
|
+
sha1: string;
|
|
8
|
+
sha512: string;
|
|
9
|
+
size: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const generateFileHash: (filePath: string, type: 'md5' | 'sha1' | 'sha512') => Promise<string>;
|
|
12
|
+
export declare function getArtifactInfo(artifact: string | Readable): Promise<ArtifactInfo>;
|
|
13
|
+
export declare function tgzDir(srcDir: string, outPath: string, options?: tar.CreateOptions): Promise<ArtifactInfo>;
|
package/tgz.js
CHANGED
|
@@ -1,102 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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));
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import StreamCounter from 'stream-counter';
|
|
5
|
+
import tar from 'tar';
|
|
6
|
+
import { buildLog } from './run.js';
|
|
7
|
+
const generateHash = async (stream, type) => new Promise((resolve, reject) => {
|
|
8
|
+
stream
|
|
9
|
+
.pipe(crypto.createHash(type).setEncoding('hex'))
|
|
10
|
+
.on('finish', function onFinish() {
|
|
11
|
+
resolve(this.read());
|
|
12
|
+
})
|
|
13
|
+
.on('end', function onEnd() {
|
|
14
|
+
resolve(this.read());
|
|
15
|
+
})
|
|
16
|
+
.on('error', (err) => reject(err));
|
|
32
17
|
});
|
|
33
|
-
|
|
34
|
-
const countBytes = async (stream) =>
|
|
35
|
-
new
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
on('error', (err) => reject(err));
|
|
18
|
+
export const generateFileHash = async (filePath, type) => generateHash(fs.createReadStream(filePath), type);
|
|
19
|
+
const countBytes = async (stream) => new Promise((resolve, reject) => {
|
|
20
|
+
const counter = new StreamCounter();
|
|
21
|
+
stream
|
|
22
|
+
.pipe(counter)
|
|
23
|
+
.on('finish', () => resolve(counter.bytes))
|
|
24
|
+
.on('end', () => resolve(counter.bytes))
|
|
25
|
+
.on('error', (err) => reject(err));
|
|
42
26
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}).
|
|
52
|
-
on('error', (err) => reject(err));
|
|
27
|
+
const writeStreamToFile = async (stream, filePath) => new Promise((resolve, reject) => {
|
|
28
|
+
stream
|
|
29
|
+
.pipe(fs.createWriteStream(filePath))
|
|
30
|
+
.on('finish', () => {
|
|
31
|
+
buildLog(`Successfully wrote file: ${filePath}`);
|
|
32
|
+
resolve();
|
|
33
|
+
})
|
|
34
|
+
.on('error', (err) => reject(err));
|
|
53
35
|
});
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
artifact)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
generateHash(stream, 'sha1'),
|
|
67
|
-
generateHash(stream, 'sha512'),
|
|
68
|
-
countBytes(stream)]);
|
|
69
|
-
|
|
70
|
-
return { md5, sha1, sha512, size };
|
|
36
|
+
// Take the given file (path or stream) and compute metadata for it.
|
|
37
|
+
// md5 + sha hashes, and size in bytes
|
|
38
|
+
export async function getArtifactInfo(artifact) {
|
|
39
|
+
// make it into a stream
|
|
40
|
+
const stream = typeof artifact === 'string' ? fs.createReadStream(artifact) : artifact;
|
|
41
|
+
const [md5, sha1, sha512, size] = await Promise.all([
|
|
42
|
+
generateHash(stream, 'md5'),
|
|
43
|
+
generateHash(stream, 'sha1'),
|
|
44
|
+
generateHash(stream, 'sha512'),
|
|
45
|
+
countBytes(stream),
|
|
46
|
+
]);
|
|
47
|
+
return { md5, sha1, sha512, size };
|
|
71
48
|
}
|
|
72
|
-
|
|
73
49
|
// Creates a gzipped tarball of a directory, returns sha1 + md5 hash and size of resulting file
|
|
74
|
-
async function tgzDir(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
50
|
+
export async function tgzDir(srcDir, outPath, options) {
|
|
51
|
+
await fs.ensureDir(path.dirname(outPath));
|
|
52
|
+
const tgzStream = tar.c({
|
|
53
|
+
cwd: srcDir,
|
|
54
|
+
gzip: true,
|
|
55
|
+
portable: true,
|
|
56
|
+
...options,
|
|
57
|
+
}, ['.']);
|
|
58
|
+
// write the file to disk (outPath)
|
|
59
|
+
const [info] = await Promise.all([
|
|
60
|
+
getArtifactInfo(tgzStream),
|
|
61
|
+
writeStreamToFile(tgzStream, `${outPath}`),
|
|
62
|
+
]);
|
|
63
|
+
return {
|
|
64
|
+
...info,
|
|
65
|
+
contentType: 'application/gzip',
|
|
66
|
+
};
|
|
101
67
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90Z3ouanMiXSwibmFtZXMiOlsiZ2VuZXJhdGVIYXNoIiwic3RyZWFtIiwidHlwZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicGlwZSIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJzZXRFbmNvZGluZyIsIm9uIiwicmVhZCIsImVyciIsImNvdW50Qnl0ZXMiLCJjb3VudGVyIiwiU3RyZWFtQ291bnRlciIsImJ5dGVzIiwid3JpdGVTdHJlYW1Ub0ZpbGUiLCJmaWxlUGF0aCIsImZzIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJnZXRBcnRpZmFjdEluZm8iLCJhcnRpZmFjdCIsImNyZWF0ZVJlYWRTdHJlYW0iLCJtZDUiLCJzaGExIiwic2hhNTEyIiwic2l6ZSIsImFsbCIsInRnekRpciIsInNyY0RpciIsIm91dFBhdGgiLCJvcHRpb25zIiwicGF0aCIsImRpcm5hbWUiLCJ0Z3pTdHJlYW0iLCJ0YXIiLCJjIiwiZ3ppcCIsImN3ZCIsInBvcnRhYmxlIiwiaW5mbyIsImNvbnRlbnRUeXBlIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEI7Ozs7Ozs7Ozs7QUFVQSxNQUFNQSxZQUFZLEdBQUc7QUFDbkJDLE1BRG1CO0FBRW5CQyxJQUZtQjs7QUFJbkIsSUFBSUMsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVUMsTUFBVixLQUFxQjtBQUMvQkosRUFBQUEsTUFBTTtBQUNISyxFQUFBQSxJQURILENBQ1FDLGdCQUFPQyxVQUFQLENBQWtCTixJQUFsQixFQUF3Qk8sV0FBeEIsQ0FBb0MsS0FBcEMsQ0FEUjtBQUVHQyxFQUFBQSxFQUZILENBRU0sUUFGTixFQUVnQixZQUFZO0FBQ3hCTixJQUFBQSxPQUFPLENBQUMsS0FBS08sSUFBTCxFQUFELENBQVA7QUFDRCxHQUpIO0FBS0dELEVBQUFBLEVBTEgsQ0FLTSxLQUxOLEVBS2EsWUFBWTtBQUNyQk4sSUFBQUEsT0FBTyxDQUFDLEtBQUtPLElBQUwsRUFB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Q0FBckI7O0FBSUEsU0FBTztBQUNMLE9BQUdVLElBREU7QUFFTEMsSUFBQUEsV0FBVyxFQUFFLGtCQUZSLEVBQVA7O0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdGFyIGZyb20gJ3Rhcic7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IFN0cmVhbUNvdW50ZXIgZnJvbSAnc3RyZWFtLWNvdW50ZXInO1xuaW1wb3J0IHsgbWFrZURpciB9IGZyb20gJy4vZnMnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCB0eXBlIEFydGlmYWN0SW5mbyA9IHtcbiAgbWQ1OiBzdHJpbmcsXG4gIHNoYTE6IHN0cmluZyxcbiAgc2hhNTEyOiBzdHJpbmcsXG4gIHNpemU6IG51bWJlcixcbiAgY29udGVudFR5cGU/OiBzdHJpbmcsXG59O1xuXG5jb25zdCBnZW5lcmF0ZUhhc2ggPSBhc3luYyAoXG4gIHN0cmVhbTogc3RyZWFtJFJlYWRhYmxlLFxuICB0eXBlOiAnbWQ1JyB8ICdzaGExJyB8ICdzaGE1MTInLFxuKTogUHJvbWlzZTxzdHJpbmc+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBzdHJlYW1cbiAgICAgIC5waXBlKGNyeXB0by5jcmVhdGVIYXNoKHR5cGUpLnNldEVuY29kaW5nKCdoZXgnKSlcbiAgICAgIC5vbignZmluaXNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXNvbHZlKHRoaXMucmVhZCgpKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2VuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnJlYWQoKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIChlcnIpID0+IHJlamVjdChlcnIpKTtcbiAgfSk7XG5cbmNvbnN0IGNvdW50Qnl0ZXMgPSBhc3luYyAoc3RyZWFtOiBzdHJlYW0kUmVhZGFibGUpOiBQcm9taXNlPG51bWJlcj4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ZXIgPSBuZXcgU3RyZWFtQ291bnRlcigpO1xuICAgIHN0cmVhbVxuICAgICAgLnBpcGUoY291bnRlcilcbiAgICAgIC5vbignZmluaXNoJywgKCkgPT4gcmVzb2x2ZShjb3VudGVyLmJ5dGVzKSlcbiAgICAgIC5vbignZW5kJywgKCkgPT4gcmVzb2x2ZShjb3VudGVyLmJ5dGVzKSlcbiAgICAgIC5vbignZXJyb3InLCAoZXJyKSA9PiByZWplY3QoZXJyKSk7XG4gIH0pO1xuXG5jb25zdCB3cml0ZVN0cmVhbVRvRmlsZSA9IGFzeW5jIChzdHJlYW06IHN0cmVhbSRSZWFkYWJsZSwgZmlsZVBhdGg6IHN0cmluZykgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHN0cmVhbVxuICAgICAgLnBpcGUoZnMuY3JlYXRlV3JpdGVTdHJlYW0oZmlsZVBhdGgpKVxuICAgICAgLm9uKCdmaW5pc2gnLCAoKSA9PiB7XG4gICAgICAgIGJ1aWxkTG9nKGBTdWNjZXNzZnVsbHkgd3JvdGUgZmlsZTogJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSlcbiAgICAgIC5vbignZXJyb3InLCAoZXJyKSA9PiByZWplY3QoZXJyKSk7XG4gIH0pO1xuXG4vLyBUYWtlIHRoZSBnaXZlbiBmaWxlIChwYXRoIG9yIHN0cmVhbSkgYW5kIGNvbXB1dGUgdGhlIGluZm8gdGhhdCBhcnRpZmFjdG9yeSBuZWVkcy5cbi8vIG1kNSArIHNoYTEgaGFzaCwgYW5kIHNpemUgaW4gYnl0ZXNcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBcnRpZmFjdEluZm8oXG4gIGFydGlmYWN0OiBzdHJpbmcgfCBzdHJlYW0kUmVhZGFibGUsXG4pOiBQcm9taXNlPEFydGlmYWN0SW5mbz4ge1xuICAvLyBtYWtlIGl0IGludG8gYSBzdHJlYW1cbiAgY29uc3Qgc3RyZWFtOiBzdHJlYW0kUmVhZGFibGUgPVxuICAgIHR5cGVvZiBhcnRpZmFjdCA9PT0gJ3N0cmluZycgPyBmcy5jcmVhdGVSZWFkU3RyZWFtKGFydGlmYWN0KSA6IGFydGlmYWN0O1xuXG4gIGNvbnN0IFttZDUsIHNoYTEsIHNoYTUxMiwgc2l6ZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgZ2VuZXJhdGVIYXNoKHN0cmVhbSwgJ21kNScpLFxuICAgIGdlbmVyYXRlSGFzaChzdHJlYW0sICdzaGExJyksXG4gICAgZ2VuZXJhdGVIYXNoKHN0cmVhbSwgJ3NoYTUxMicpLFxuICAgIGNvdW50Qnl0ZXMoc3RyZWFtKSxcbiAgXSk7XG4gIHJldHVybiB7IG1kNSwgc2hhMSwgc2hhNTEyLCBzaXplIH07XG59XG5cbi8vIENyZWF0ZXMgYSBnemlwcGVkIHRhcmJhbGwgb2YgYSBkaXJlY3RvcnksIHJldHVybnMgc2hhMSArIG1kNSBoYXNoIGFuZCBzaXplIG9mIHJlc3VsdGluZyBmaWxlXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGd6RGlyKFxuICBzcmNEaXI6IHN0cmluZyxcbiAgb3V0UGF0aDogc3RyaW5nLFxuICBvcHRpb25zPzogP3sgW3N0cmluZ106IGFueSB9LFxuKTogUHJvbWlzZTxBcnRpZmFjdEluZm8+IHtcbiAgYXdhaXQgbWFrZURpcihwYXRoLmRpcm5hbWUob3V0UGF0aCkpO1xuICBjb25zdCB0Z3pTdHJlYW0gPSB0YXIuYyhcbiAgICAvLyAkRmxvd0ZpeE1lXG4gICAge1xuICAgICAgZ3ppcDogdHJ1ZSxcbiAgICAgIGN3ZDogc3JjRGlyLFxuICAgICAgcG9ydGFibGU6IHRydWUsXG4gICAgICAvLyAkRmxvd0ZpeE1lXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0sXG4gICAgWycuJ10sXG4gICk7XG5cbiAgLy8gd3JpdGUgdGhlIGZpbGUgdG8gZGlzayAob3V0UGF0aClcbiAgY29uc3QgW2luZm9dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIGdldEFydGlmYWN0SW5mbyh0Z3pTdHJlYW0pLFxuICAgIHdyaXRlU3RyZWFtVG9GaWxlKHRnelN0cmVhbSwgYCR7b3V0UGF0aH1gKSxcbiAgXSk7XG4gIHJldHVybiB7XG4gICAgLi4uaW5mbyxcbiAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2d6aXAnLFxuICB9O1xufVxuIl19
|
package/version.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare function getBuild(): string;
|
|
2
|
+
export declare function getReleaseBranch(): string;
|
|
3
|
+
declare enum RepoType {
|
|
4
|
+
git = "git",
|
|
5
|
+
hg = "hg",
|
|
6
|
+
unknown = "unknown"
|
|
7
|
+
}
|
|
8
|
+
export declare function getRepoType(): Promise<RepoType>;
|
|
9
|
+
declare type RepoInfo = {
|
|
10
|
+
branch: string;
|
|
11
|
+
revision: string;
|
|
12
|
+
};
|
|
13
|
+
export declare function getRepoInfo(): Promise<RepoInfo>;
|
|
14
|
+
export declare function getDevBranch(): Promise<string>;
|
|
15
|
+
export declare function getIsRelease(passedBranch?: null | string, releaseOverride?: null | boolean): Promise<boolean>;
|
|
16
|
+
export declare function useVersionCache(useCache?: boolean): void;
|
|
17
|
+
export interface Version {
|
|
18
|
+
branch: string;
|
|
19
|
+
build: string;
|
|
20
|
+
info: string;
|
|
21
|
+
isRelease: boolean;
|
|
22
|
+
major: string;
|
|
23
|
+
minor: string;
|
|
24
|
+
name: string;
|
|
25
|
+
npm: string;
|
|
26
|
+
patch: string;
|
|
27
|
+
revision: string;
|
|
28
|
+
short: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function getVersion(logIt?: boolean, release?: null | boolean): Promise<Version>;
|
|
31
|
+
export declare function getBanner(): Promise<string>;
|
|
32
|
+
export declare function getVersionCode(): Promise<string>;
|
|
33
|
+
export declare function getUniqueBuildTag(): Promise<string>;
|
|
34
|
+
export {};
|