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.
Files changed (108) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -34
  3. package/ant.d.ts +19 -0
  4. package/ant.js +12 -37
  5. package/cert.d.ts +12 -0
  6. package/cert.js +89 -151
  7. package/clean.d.ts +4 -0
  8. package/clean.js +7 -16
  9. package/copy.d.ts +7 -0
  10. package/copy.js +49 -76
  11. package/cp.d.ts +17 -0
  12. package/cp.js +85 -170
  13. package/docker.container.d.ts +73 -0
  14. package/docker.container.js +219 -362
  15. package/docker.d.ts +68 -0
  16. package/docker.js +167 -347
  17. package/docker.network.d.ts +42 -0
  18. package/docker.network.js +69 -144
  19. package/docker.volume.d.ts +26 -0
  20. package/docker.volume.js +52 -126
  21. package/dockerCleanup.d.ts +38 -0
  22. package/dockerCleanup.js +66 -141
  23. package/dockerCompose.d.ts +154 -0
  24. package/dockerCompose.js +400 -727
  25. package/fs.d.ts +5 -0
  26. package/fs.js +38 -95
  27. package/git.d.ts +9 -0
  28. package/git.js +19 -30
  29. package/index.d.ts +20 -0
  30. package/index.js +20 -27
  31. package/maps.d.ts +33 -0
  32. package/maps.js +16 -87
  33. package/npm.d.ts +34 -0
  34. package/npm.js +97 -138
  35. package/package.json +23 -19
  36. package/pkg.d.ts +39 -0
  37. package/pkg.js +26 -74
  38. package/publish.d.ts +27 -0
  39. package/publish.js +52 -140
  40. package/run.d.ts +13 -0
  41. package/run.js +39 -85
  42. package/tgz.d.ts +13 -0
  43. package/tgz.js +61 -96
  44. package/version.d.ts +34 -0
  45. package/version.js +86 -127
  46. package/yarn.d.ts +26 -0
  47. package/yarn.js +70 -119
  48. package/ant.js.flow +0 -42
  49. package/artifactory.js +0 -617
  50. package/artifactory.js.flow +0 -616
  51. package/cert.conf +0 -20
  52. package/cert.js.flow +0 -152
  53. package/clean.js.flow +0 -19
  54. package/copy.js.flow +0 -79
  55. package/cp.js.flow +0 -172
  56. package/docker.container.js.flow +0 -389
  57. package/docker.js.flow +0 -367
  58. package/docker.network.js.flow +0 -159
  59. package/docker.volume.js.flow +0 -136
  60. package/dockerCleanup.js.flow +0 -151
  61. package/dockerCompose.js.flow +0 -765
  62. package/flow.js +0 -21
  63. package/flow.js.flow +0 -20
  64. package/fs.js.flow +0 -96
  65. package/git.js.flow +0 -34
  66. package/hg.js +0 -35
  67. package/hg.js.flow +0 -34
  68. package/index.js.flow +0 -26
  69. package/inline-resources.js +0 -158
  70. package/inline-resources.js.flow +0 -157
  71. package/maps.js.flow +0 -111
  72. package/npm.js.flow +0 -144
  73. package/pkg.js.flow +0 -80
  74. package/publish.js.flow +0 -144
  75. package/run.js.flow +0 -89
  76. package/src/ant.js +0 -42
  77. package/src/artifactory.js +0 -616
  78. package/src/cert.conf +0 -20
  79. package/src/cert.js +0 -152
  80. package/src/clean.js +0 -19
  81. package/src/copy.js +0 -79
  82. package/src/cp.js +0 -172
  83. package/src/docker.container.js +0 -389
  84. package/src/docker.js +0 -367
  85. package/src/docker.network.js +0 -159
  86. package/src/docker.volume.js +0 -136
  87. package/src/dockerCleanup.js +0 -151
  88. package/src/dockerCompose.js +0 -765
  89. package/src/flow.js +0 -20
  90. package/src/fs.js +0 -96
  91. package/src/git.js +0 -34
  92. package/src/hg.js +0 -34
  93. package/src/index.js +0 -26
  94. package/src/inline-resources.js +0 -157
  95. package/src/maps.js +0 -111
  96. package/src/npm.js +0 -144
  97. package/src/pkg.js +0 -80
  98. package/src/publish.js +0 -144
  99. package/src/run.js +0 -89
  100. package/src/test.js +0 -55
  101. package/src/tgz.js +0 -101
  102. package/src/version.js +0 -141
  103. package/src/yarn.js +0 -123
  104. package/test.js +0 -56
  105. package/test.js.flow +0 -55
  106. package/tgz.js.flow +0 -101
  107. package/version.js.flow +0 -141
  108. package/yarn.js.flow +0 -123
package/publish.js CHANGED
@@ -1,145 +1,57 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.createArtifact = createArtifact;exports.publish = publish;
2
- var _path = _interopRequireDefault(require("path"));
3
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
4
- var _run = require("./run");
5
- var _version = require("./version");
6
- var _pkg = require("./pkg");
7
- var _artifactory = require("./artifactory");
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
- distDir,
34
- outDir,
35
- fileName })
36
- {
37
- const version = await (0, _version.getVersion)();
38
- const name = (0, _pkg.getPkgName)();
39
-
40
- (0, _run.buildLog)(`gzipping ${name} v${version.info}...`);
41
-
42
- const tgzFileName = fileName || `${name}-${version.info}.tgz`;
43
- const tgzFilePath = _path.default.join(outDir, tgzFileName);
44
- const info = await (0, _tgz.tgzDir)(distDir, tgzFilePath, {
45
- prefix: 'package' });
46
-
47
-
48
- (0, _run.buildLog)(`md5: ${info.md5}`);
49
- (0, _run.buildLog)(`sha1: ${info.sha1}`);
50
- (0, _run.buildLog)(`sha512: ${info.sha512}`);
51
- (0, _run.buildLog)(`size: ${info.size} bytes`);
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
- // if toArtifactory is true, also publishes to artifactory
78
- async function publish({
79
- distDir,
80
- outDir,
81
- doPublish,
82
- prePublishFn,
83
- fileName,
84
- artifactoryConfig,
85
- artifactoryCreds,
86
- npmPath,
87
- npmTag,
88
- npmSkipExisting = false,
89
- npmConfig,
90
- npmCreds,
91
- npmAuthToken })
92
- {
93
- if (typeof prePublishFn === 'function') {
94
- await (0, _run.run)(async () => {
95
- await prePublishFn();
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
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.buildLog = buildLog;exports.default = void 0;exports.format = format;exports.handleEntryPoint = handleEntryPoint;exports.run = run;exports.runCli = runCli;
2
- function format(time = new Date()) {
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
- function buildLog(msg, time) {
9
- if (silenceLogs) {
10
- return;
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
- async function run(
20
- fn,
21
- ...options)
22
- {
23
- if (fn == null) {
24
- throw new Error(`Invalid argument passed to run(${fn})`);
25
- }
26
- const task = typeof fn === 'function' ? fn : fn.default;
27
- if (typeof task !== 'function') {
28
- throw new Error(
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
- async function runCli({
49
- resolveFn = (path) =>
50
- // $FlowFixMe
51
- require(`./${path}`).default, // eslint-disable-line
52
- defaultAction = 'publish',
53
- argv = process.argv,
54
- passthroughArgv = false } =
55
- {}) {
56
- const module =
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
- "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));
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 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));
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
- 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));
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
- // 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 };
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
- 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
-
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 {};