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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +3 -34
  2. package/ant.d.ts +19 -0
  3. package/ant.js +12 -37
  4. package/cert.d.ts +12 -0
  5. package/cert.js +89 -151
  6. package/clean.d.ts +4 -0
  7. package/clean.js +7 -16
  8. package/copy.d.ts +7 -0
  9. package/copy.js +49 -76
  10. package/cp.d.ts +17 -0
  11. package/cp.js +85 -170
  12. package/docker.container.d.ts +73 -0
  13. package/docker.container.js +219 -362
  14. package/docker.d.ts +68 -0
  15. package/docker.js +167 -344
  16. package/docker.network.d.ts +42 -0
  17. package/docker.network.js +69 -144
  18. package/docker.volume.d.ts +26 -0
  19. package/docker.volume.js +52 -126
  20. package/dockerCleanup.d.ts +38 -0
  21. package/dockerCleanup.js +66 -141
  22. package/dockerCompose.d.ts +154 -0
  23. package/dockerCompose.js +400 -727
  24. package/fs.d.ts +5 -0
  25. package/fs.js +38 -95
  26. package/git.d.ts +9 -0
  27. package/git.js +19 -30
  28. package/index.d.ts +20 -0
  29. package/index.js +20 -27
  30. package/maps.d.ts +33 -0
  31. package/maps.js +16 -87
  32. package/npm.d.ts +48 -0
  33. package/npm.js +131 -135
  34. package/package.json +23 -19
  35. package/pkg.d.ts +39 -0
  36. package/pkg.js +26 -74
  37. package/publish.d.ts +27 -0
  38. package/publish.js +52 -140
  39. package/run.d.ts +13 -0
  40. package/run.js +39 -85
  41. package/tgz.d.ts +13 -0
  42. package/tgz.js +61 -96
  43. package/version.d.ts +34 -0
  44. package/version.js +86 -128
  45. package/yarn.d.ts +44 -0
  46. package/yarn.js +150 -119
  47. package/ant.js.flow +0 -42
  48. package/artifactory.js +0 -617
  49. package/artifactory.js.flow +0 -616
  50. package/cert.conf +0 -20
  51. package/cert.js.flow +0 -152
  52. package/clean.js.flow +0 -19
  53. package/copy.js.flow +0 -79
  54. package/cp.js.flow +0 -172
  55. package/docker.container.js.flow +0 -389
  56. package/docker.js.flow +0 -364
  57. package/docker.network.js.flow +0 -159
  58. package/docker.volume.js.flow +0 -136
  59. package/dockerCleanup.js.flow +0 -151
  60. package/dockerCompose.js.flow +0 -765
  61. package/flow.js +0 -21
  62. package/flow.js.flow +0 -20
  63. package/fs.js.flow +0 -96
  64. package/git.js.flow +0 -34
  65. package/hg.js +0 -35
  66. package/hg.js.flow +0 -34
  67. package/index.js.flow +0 -26
  68. package/inline-resources.js +0 -158
  69. package/inline-resources.js.flow +0 -157
  70. package/maps.js.flow +0 -111
  71. package/npm.js.flow +0 -144
  72. package/pkg.js.flow +0 -80
  73. package/publish.js.flow +0 -144
  74. package/run.js.flow +0 -89
  75. package/src/ant.js +0 -42
  76. package/src/artifactory.js +0 -616
  77. package/src/cert.conf +0 -20
  78. package/src/cert.js +0 -152
  79. package/src/clean.js +0 -19
  80. package/src/copy.js +0 -79
  81. package/src/cp.js +0 -172
  82. package/src/docker.container.js +0 -389
  83. package/src/docker.js +0 -364
  84. package/src/docker.network.js +0 -159
  85. package/src/docker.volume.js +0 -136
  86. package/src/dockerCleanup.js +0 -151
  87. package/src/dockerCompose.js +0 -765
  88. package/src/flow.js +0 -20
  89. package/src/fs.js +0 -96
  90. package/src/git.js +0 -34
  91. package/src/hg.js +0 -34
  92. package/src/index.js +0 -26
  93. package/src/inline-resources.js +0 -157
  94. package/src/maps.js +0 -111
  95. package/src/npm.js +0 -144
  96. package/src/pkg.js +0 -80
  97. package/src/publish.js +0 -144
  98. package/src/run.js +0 -89
  99. package/src/test.js +0 -55
  100. package/src/tgz.js +0 -101
  101. package/src/version.js +0 -142
  102. package/src/yarn.js +0 -123
  103. package/test.js +0 -56
  104. package/test.js.flow +0 -55
  105. package/tgz.js.flow +0 -101
  106. package/version.js.flow +0 -142
  107. package/yarn.js.flow +0 -123
package/version.js CHANGED
@@ -1,143 +1,101 @@
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';
1
+ import fs from 'fs';
2
+ import { gitInfo } from './git.js';
3
+ import { getCfg, getPkg } from './pkg.js';
4
+ import { buildLog } from './run.js';
5
+ export function getBuild() {
6
+ const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
7
+ return (arg && arg.substring(11)) || process.env.BUILD_NUMBER || '0';
11
8
  }
12
-
13
- function getReleaseBranch() {
14
- const { releaseBranch } = (0, _pkg.getCfg)();
15
- return releaseBranch || 'master';
9
+ export function getReleaseBranch() {
10
+ const { releaseBranch } = getCfg();
11
+ return releaseBranch || 'master';
16
12
  }
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
-
13
+ var RepoType;
14
+ (function (RepoType) {
15
+ RepoType["git"] = "git";
16
+ RepoType["hg"] = "hg";
17
+ RepoType["unknown"] = "unknown";
18
+ })(RepoType || (RepoType = {}));
19
+ export async function getRepoType() {
20
+ const { repoType } = getCfg();
21
+ return (repoType ||
22
+ (fs.existsSync('./.git')
23
+ ? RepoType.git
24
+ : fs.existsSync('./.hg')
25
+ ? RepoType.hg
26
+ : RepoType.unknown));
30
27
  }
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 };
28
+ export async function getRepoInfo() {
29
+ const repoType = await getRepoType();
30
+ if (repoType !== RepoType.git) {
31
+ throw new Error(`Unsupported repo type: ${repoType}`);
32
+ }
33
+ const { branch, revision } = await gitInfo();
34
+ if (!branch || !revision) {
35
+ throw new Error('Failed to parse branch and revision from source repo.');
36
+ }
37
+ return { branch, revision };
49
38
  }
50
-
51
- async function getDevBranch() {
52
- const { devBranch } = (0, _pkg.getCfg)();
53
- return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
39
+ export async function getDevBranch() {
40
+ const { devBranch } = getCfg();
41
+ return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
54
42
  }
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();
43
+ export async function getIsRelease(passedBranch = null, releaseOverride = null) {
44
+ const branch = passedBranch || (await getRepoInfo()).branch;
45
+ return releaseOverride != null
46
+ ? releaseOverride
47
+ : process.argv.includes('--force-release-version')
48
+ ? true
49
+ : branch === getReleaseBranch();
66
50
  }
67
-
68
51
  let cacheVersion = true;
69
- function useVersionCache(useCache = true) {
70
- cacheVersion = useCache;
52
+ export function useVersionCache(useCache = true) {
53
+ cacheVersion = useCache;
71
54
  }
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
55
  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}`);
56
+ export async function getVersion(logIt = true, release = null) {
57
+ if (!cacheVersion || version == null) {
58
+ const { name, version: pkgVers } = getPkg();
59
+ const { branch, revision } = await getRepoInfo();
60
+ const [, major, minor, patch] = pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
61
+ if (!major || !minor || !patch) {
62
+ throw new Error('Invalid version format in package.json');
63
+ }
64
+ const build = getBuild();
65
+ const isRelease = await getIsRelease(branch, release);
66
+ const short = `${major}.${minor}.${patch}`;
67
+ const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
68
+ const info = `${short}${isRelease ? `+${build}.` : `-${branch}.${build}+`}${revision}`;
69
+ version = {
70
+ branch,
71
+ build,
72
+ info,
73
+ isRelease,
74
+ major,
75
+ minor,
76
+ name,
77
+ npm,
78
+ patch,
79
+ revision,
80
+ short,
81
+ };
82
+ if (logIt) {
83
+ buildLog(`Building version ${info}`);
84
+ }
122
85
  }
123
- }
124
- return version;
86
+ return version;
125
87
  }
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()}`;
88
+ export async function getBanner() {
89
+ const { copyright = '' } = getCfg();
90
+ const { info, name } = await getVersion();
91
+ const today = new Date();
92
+ return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
132
93
  }
133
-
134
- async function getVersionCode() {
135
- return `// This file is auto-generated
94
+ export async function getVersionCode() {
95
+ return `// This file is auto-generated
136
96
  export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
137
97
  }
138
-
139
- async function getUniqueBuildTag() {
140
- const { branch, revision, build } = await getVersion();
141
- return `${branch}-${revision}-${build}`;
98
+ export async function getUniqueBuildTag() {
99
+ const { branch, build, revision } = await getVersion();
100
+ return `${branch}-${revision}-${build}`;
142
101
  }
143
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLFFBQU1DLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVo7QUFDQSxTQUFRSixHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBUixJQUEyQkwsT0FBTyxDQUFDTSxHQUFSLENBQVlDLFlB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LGVBQWV1QixpQkFBZixHQUFvRDtBQUN6RCxRQUFNLEVBQUVwQyxNQUFGLEVBQVVDLFFBQVYsRUFBb0JxQixLQUFwQixLQUE4QixNQUFNVCxVQUFVLEVBQXBEO0FBQ0EsU0FBUSxHQUFFYixNQUFPLElBQUdDLFFBQVMsSUFBR3FCLEtBQU0sRUFBdEM7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZ2l0SW5mbyB9IGZyb20gJy4vZ2l0JztcbmltcG9ydCB7IGhnSW5mbyB9IGZyb20gJy4vaGcnO1xuaW1wb3J0IHsgZ2V0Q2ZnLCBnZXRQa2cgfSBmcm9tICcuL3BrZyc7XG5pbXBvcnQgeyBidWlsZExvZyB9IGZyb20gJy4vcnVuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkKCk6IHN0cmluZyB7XG4gIGNvbnN0IGFyZyA9IHByb2Nlc3MuYXJndi5maW5kKChlbCkgPT4gL14tLWJ1aWxkTnVtPVxcZCskLy50ZXN0KGVsKSk7XG4gIHJldHVybiAoYXJnICYmIGFyZy5zdWJzdHIoMTEpKSB8fCBwcm9jZXNzLmVudi5CVUlMRF9OVU1CRVIgfHwgJzAnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsZWFzZUJyYW5jaCgpOiBzdHJpbmcge1xuICBjb25zdCB7IHJlbGVhc2VCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gcmVsZWFzZUJyYW5jaCB8fCAnbWFzdGVyJztcbn1cblxudHlwZSBSZXBvVHlwZSA9ICdnaXQnIHwgJ2hnJyB8ICd1bmtub3duJztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvVHlwZSgpOiBQcm9taXNlPFJlcG9UeXBlPiB7XG4gIGNvbnN0IHsgcmVwb1R5cGUgfSA9IGdldENmZygpO1xuXG4gIHJldHVybiAoXG4gICAgcmVwb1R5cGUgfHxcbiAgICAoZnMuZXhpc3RzU3luYygnLi8uaGcnKVxuICAgICAgPyAnaGcnXG4gICAgICA6IGZzLmV4aXN0c1N5bmMoJy4vLmdpdCcpXG4gICAgICA/ICdnaXQnXG4gICAgICA6ICd1bmtub3duJylcbiAgKTtcbn1cblxudHlwZSBSZXBvSW5mbyA9IHtcbiAgYnJhbmNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVwb0luZm8oKTogUHJvbWlzZTxSZXBvSW5mbz4ge1xuICBjb25zdCByZXBvVHlwZSA9IGF3YWl0IGdldFJlcG9UeXBlKCk7XG4gIGNvbnN0IHsgYnJhbmNoLCByZXZpc2lvbiB9ID1cbiAgICByZXBvVHlwZSA9PT0gJ2dpdCdcbiAgICAgID8gYXdhaXQgZ2l0SW5mbygpXG4gICAgICA6IHJlcG9UeXBlID09PSAnaGcnXG4gICAgICA/IGF3YWl0IGhnSW5mbygpXG4gICAgICA6IHt9O1xuICBpZiAoIWJyYW5jaCB8fCAhcmV2aXNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBicmFuY2ggYW5kIHJldmlzaW9uIGZyb20gc291cmNlIHJlcG8uJyk7XG4gIH1cbiAgcmV0dXJuIHsgYnJhbmNoLCByZXZpc2lvbiB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGV2QnJhbmNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgZGV2QnJhbmNoIH0gPSBnZXRDZmcoKTtcbiAgcmV0dXJuIGRldkJyYW5jaCB8fCAoYXdhaXQgZ2V0UmVwb1R5cGUoKSkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSB7XG4gICAgICBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFubmVyKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgY29weXJpZ2h0ID0gJycgfSA9IGdldENmZygpO1xuICBjb25zdCB7IGluZm8sIG5hbWUgfSA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICByZXR1cm4gYCR7bmFtZX0gdiR7aW5mb30gfCAoYykgJHt0b2RheS5nZXRGdWxsWWVhcigpfSAke2NvcHlyaWdodH0gfCBidWlsdCBvbiAke3RvZGF5LnRvSVNPU3RyaW5nKCl9YDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb25Db2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBgLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9ICR7SlNPTi5zdHJpbmdpZnkoYXdhaXQgZ2V0VmVyc2lvbigpLCBudWxsLCAyKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VW5pcXVlQnVpbGRUYWcoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uLCBidWlsZCB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICByZXR1cm4gYCR7YnJhbmNofS0ke3JldmlzaW9ufS0ke2J1aWxkfWA7XG59XG4iXX0=
package/yarn.d.ts ADDED
@@ -0,0 +1,44 @@
1
+ import { SpawnOptions, SpawnResult } from './cp.js';
2
+ import { NpmConfig, NpmCreds } from './npm.js';
3
+ export interface YarnOptions {
4
+ args?: string[];
5
+ spawnOptions?: SpawnOptions;
6
+ }
7
+ export declare function yarn({ args, spawnOptions, }?: YarnOptions): Promise<SpawnResult>;
8
+ export declare const yarnFiles: string[];
9
+ export interface YarnInstallOptions {
10
+ force?: boolean;
11
+ hashFilePath?: string;
12
+ nodeModulesPath?: string;
13
+ }
14
+ export declare function yarnInstall({ force, hashFilePath, nodeModulesPath, }?: YarnInstallOptions): Promise<void>;
15
+ export interface YarnUpgradeOptions {
16
+ /**
17
+ * `false` by default
18
+ * we assume any package with an explicit version shouldn't be touched
19
+ */
20
+ all?: boolean;
21
+ /**
22
+ * Use `yarn outdated` to find packages that should be upgraded
23
+ * May include breaking changes (major version changes)
24
+ */
25
+ outdated?: boolean;
26
+ }
27
+ export declare function yarnUpgrade({ all, outdated, }?: YarnUpgradeOptions): Promise<void>;
28
+ export interface YarnPublishOptions {
29
+ npmAuthToken?: string;
30
+ npmConfig?: NpmConfig;
31
+ npmCreds?: NpmCreds;
32
+ npmPath?: string;
33
+ publishPath?: string;
34
+ skipExisting?: boolean;
35
+ tag?: string;
36
+ workDir?: string;
37
+ }
38
+ export declare function yarnPublish({ npmAuthToken, npmConfig, npmCreds, npmPath, publishPath, skipExisting, tag, workDir: passedWorkDir, }?: YarnPublishOptions): Promise<boolean>;
39
+ interface YarnPackOptions {
40
+ destination: string;
41
+ workDir?: string;
42
+ }
43
+ export declare function yarnPack({ destination, workDir, }: YarnPackOptions): Promise<string>;
44
+ export {};
package/yarn.js CHANGED
@@ -1,124 +1,155 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.yarn = yarn;exports.yarnAdv = yarnAdv;exports.yarnFiles = void 0;exports.yarnInstall = yarnInstall;exports.yarnUpgrade = yarnUpgrade;
2
- var _md5File = _interopRequireDefault(require("md5-file"));
3
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
4
- var _path = _interopRequireDefault(require("path"));
5
- var _cp = require("./cp");
6
-
7
- var _run = require("./run");
8
- var _fs = require("./fs");
9
- var _pkg = require("./pkg");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
10
-
11
-
12
-
13
-
14
-
15
-
16
- async function yarnAdv(opts) {
17
- const { args = [], spawnOptions } = opts || {};
18
- const localYarn = _path.default.join(
19
- _path.default.dirname(process.execPath),
20
- '/node_modules/yarn/bin/yarn.js');
21
-
22
-
23
- const spawnOpts = {
24
- stdio: 'inherit',
25
- shell: true,
26
- env: process.env,
27
- ...spawnOptions };
28
-
29
-
30
- return (await _fsExtra.default.exists(localYarn)) ?
31
- // prefer to use local copy of yarn
32
- (0, _cp.spawnAdv)(process.execPath, [localYarn, ...args], spawnOpts) :
33
- // fall back to globally installed yarn
34
- (0, _cp.spawnAdv)('yarn', args, spawnOpts);
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import { spawn } from './cp.js';
4
+ import { readDir } from './fs.js';
5
+ import { envNpmCreds, getNpmConfig, npmGetVersions, npmWriteRc, } from './npm.js';
6
+ import { getPkg, getPkgName } from './pkg.js';
7
+ import { buildLog } from './run.js';
8
+ import { generateFileHash } from './tgz.js';
9
+ import { getDevBranch, getVersion } from './version.js';
10
+ export async function yarn({ args = [], spawnOptions, } = {}) {
11
+ const localYarn = path.join(path.dirname(process.execPath), '/node_modules/yarn/bin/yarn.js');
12
+ const spawnOpts = {
13
+ env: process.env,
14
+ shell: true,
15
+ stdio: 'inherit',
16
+ ...spawnOptions,
17
+ };
18
+ return (await fs.pathExists(localYarn))
19
+ ? // prefer to use local copy of yarn
20
+ spawn(process.execPath, [localYarn, ...args], spawnOpts)
21
+ : // fall back to globally installed yarn
22
+ spawn('yarn', args, spawnOpts);
35
23
  }
36
-
37
- async function yarn(opts) {
38
- const { args = [], spawnOptions } = opts || {};
39
- return yarnAdv({
40
- args,
41
- spawnOptions: { rejectOnErrorCode: true, ...spawnOptions } }).
42
- then((r) => r.output);
43
- }
44
-
45
- const yarnFiles = ['./package.json', './yarn.lock'];exports.yarnFiles = yarnFiles;
46
-
47
-
48
-
49
-
50
-
51
-
52
-
24
+ export const yarnFiles = ['./package.json', './yarn.lock'];
53
25
  // Smart yarn invocation, only if package changed
54
- async function yarnInstall(opts) {
55
- const {
56
- nodeModulesPath = './node_modules',
57
- hashFilePath = './download/buildHash_yarn.md5',
58
- force = false } =
59
- opts || {};
60
- await _fsExtra.default.ensureDir(nodeModulesPath);
61
- const currentHash = (
62
- await Promise.all(yarnFiles.map(async (f) => (0, _md5File.default)(f)))).
63
- join('|');
64
- await _fsExtra.default.ensureFile(hashFilePath);
65
- const prevHash = await _fsExtra.default.readFile(hashFilePath, 'utf8');
66
- if (currentHash !== prevHash) {
67
- (0, _run.buildLog)(
68
- 'node package definition changed since last build, invoking yarn.');
69
-
70
- } else if (!(await (0, _fs.readDir)(`${nodeModulesPath}/**/*.js`)).length) {
71
- (0, _run.buildLog)('node packages missing, invoking yarn.');
72
- } else if (force) {
73
- (0, _run.buildLog)('node packages unchanged, but yarn forced on command line...');
74
- } else {
75
- (0, _run.buildLog)('node packages unchanged since last build, skipping yarn.');
76
- return;
77
- }
78
- await yarn();
79
- await _fsExtra.default.writeFile(hashFilePath, currentHash);
26
+ export async function yarnInstall({ force = false, hashFilePath = './download/buildHash_yarn.md5', nodeModulesPath = './node_modules', } = {}) {
27
+ await fs.ensureDir(nodeModulesPath);
28
+ const currentHash = (await Promise.all(yarnFiles.map(async (f) => generateFileHash(f, 'md5')))).join('|');
29
+ await fs.ensureFile(hashFilePath);
30
+ const prevHash = await fs.readFile(hashFilePath, 'utf8');
31
+ if (currentHash !== prevHash) {
32
+ buildLog('node package definition changed since last build, invoking yarn.');
33
+ }
34
+ else if (!(await readDir(`${nodeModulesPath}/**/*.js`)).length) {
35
+ buildLog('node packages missing, invoking yarn.');
36
+ }
37
+ else if (force) {
38
+ buildLog('node packages unchanged, but yarn forced on command line...');
39
+ }
40
+ else {
41
+ buildLog('node packages unchanged since last build, skipping yarn.');
42
+ return;
43
+ }
44
+ await yarn();
45
+ await fs.writeFile(hashFilePath, currentHash);
80
46
  }
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
- async function yarnUpgrade(opts) {
96
- const { outdated = false, all = false } = opts || {};
97
- if (outdated) {
98
- const { code, stdout } = await yarnAdv({
99
- args: ['outdated'],
100
- spawnOptions: { stdio: 'pipe', captureOutput: true } });
101
-
102
- if (code === 0) {
103
- (0, _run.buildLog)('No outdated packages.');
104
- } else {
105
- const { dependencies = {}, devDependencies = {} } = (0, _pkg.getPkg)();
106
- const packages = stdout.
107
- split('\n').
108
- slice(5, -1).
109
- map((l) => l.split(/\s+/)[0]).
110
- filter(
111
- (p) =>
112
- all || !/^\d/.test(dependencies[p] || devDependencies[p] || ''));
113
-
114
- if (packages.length) {
115
- await yarn({ args: ['add', ...packages] });
116
- (0, _run.buildLog)(`Upgraded: ${packages.join(', ')}`);
117
- } else {
118
- (0, _run.buildLog)('No eligible outdated packages');
119
- }
47
+ export async function yarnUpgrade({ all = false, outdated = false, } = {}) {
48
+ if (outdated) {
49
+ const { code, stdout } = await yarn({
50
+ args: ['outdated'],
51
+ spawnOptions: {
52
+ captureOutput: true,
53
+ rejectOnErrorCode: false,
54
+ stdio: 'pipe',
55
+ },
56
+ });
57
+ if (code === 0) {
58
+ buildLog('No outdated packages.');
59
+ }
60
+ else {
61
+ const { dependencies = {}, devDependencies = {} } = getPkg();
62
+ const packages = stdout
63
+ .split('\n')
64
+ .slice(5, -1)
65
+ .map((l) => l.split(/\s+/)[0])
66
+ .filter((p) => all || !/^\d/.test(dependencies[p] || devDependencies[p] || ''));
67
+ if (packages.length) {
68
+ await yarn({ args: ['add', ...packages] });
69
+ buildLog(`Upgraded: ${packages.join(', ')}`);
70
+ }
71
+ else {
72
+ buildLog('No eligible outdated packages');
73
+ }
74
+ }
120
75
  }
121
- }
122
- await yarn({ args: ['upgrade'] });
76
+ await yarn({ args: ['upgrade'] });
77
+ }
78
+ export async function yarnPublish({ npmAuthToken, npmConfig, npmCreds, npmPath, publishPath = '.', skipExisting = false, tag, workDir: passedWorkDir, } = {}) {
79
+ const creds = npmCreds || envNpmCreds;
80
+ const authToken = npmAuthToken || process.env.NPM_TOKEN;
81
+ const name = getPkgName();
82
+ const { access, publish, registry } = npmConfig || getNpmConfig();
83
+ if (!publish) {
84
+ buildLog('npm publish info missing from package.json, skipping npm publish');
85
+ return false;
86
+ }
87
+ const resolvedPath = path.resolve(publishPath);
88
+ const workDir = passedWorkDir ||
89
+ ((await fs.stat(resolvedPath)).isDirectory()
90
+ ? resolvedPath
91
+ : path.dirname(resolvedPath));
92
+ if (!(await fs.pathExists(path.join(workDir, 'package.json')))) {
93
+ buildLog(`warning: no package.json found in ${workDir}, skipping npm publish`);
94
+ return false;
95
+ }
96
+ if (creds || registry || authToken) {
97
+ // Write out .npmrc with credentials
98
+ await npmWriteRc({
99
+ authToken: authToken ? `\${NPM_TOKEN}` : undefined,
100
+ creds,
101
+ outPath: path.join(workDir, '.npmrc'),
102
+ registry,
103
+ });
104
+ }
105
+ const existing = await npmGetVersions(name, npmPath);
106
+ const { branch, isRelease, npm: npmVersion } = await getVersion();
107
+ if (existing.includes(npmVersion)) {
108
+ if (skipExisting) {
109
+ buildLog('npm package with this same version already exists. Skipping publish...');
110
+ return false;
111
+ }
112
+ throw new Error('Failed to publish npm package, this version already exists!');
113
+ }
114
+ await yarn({
115
+ args: [
116
+ 'publish',
117
+ resolvedPath,
118
+ '--new-version',
119
+ npmVersion,
120
+ '--tag',
121
+ tag ||
122
+ (isRelease
123
+ ? 'latest'
124
+ : branch === (await getDevBranch())
125
+ ? 'next'
126
+ : 'branch'),
127
+ ...(access ? ['--access', access] : []),
128
+ ],
129
+ spawnOptions: {
130
+ cwd: workDir,
131
+ env: {
132
+ ...process.env,
133
+ FORCE_COLOR: 'true',
134
+ NPM_TOKEN: authToken,
135
+ },
136
+ shell: true,
137
+ stdio: 'inherit',
138
+ },
139
+ });
140
+ return true;
141
+ }
142
+ export async function yarnPack({ destination, workDir = '.', }) {
143
+ await fs.ensureDir(destination);
144
+ const version = await getVersion();
145
+ const name = getPkgName();
146
+ const filename = path.resolve(destination, `${name}-${version.npm}.tgz`);
147
+ await yarn({
148
+ args: ['pack', ...(destination ? ['--filename', filename] : [])],
149
+ spawnOptions: {
150
+ cwd: path.resolve(workDir),
151
+ pipeOutput: true,
152
+ },
153
+ });
154
+ return filename;
123
155
  }
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXJuLmpzIl0sIm5hbWVzIjpbInlhcm5BZHYiLCJvcHRzIiwiYXJncyIsInNwYXduT3B0aW9ucyIsImxvY2FsWWFybiIsInBhdGgiLCJqb2luIiwiZGlybmFtZSIsInByb2Nlc3MiLCJleGVjUGF0aCIsInNwYXduT3B0cyIsInN0ZGlvIiwic2hlbGwiLCJlbnYiLCJmcyIsImV4aXN0cyIsInlhcm4iLCJyZWplY3RPbkVycm9yQ29kZSIsInRoZW4iLCJyIiwib3V0cHV0IiwieWFybkZpbGVzIiwieWFybkluc3RhbGwiLCJub2RlTW9kdWxlc1BhdGgiLCJoYXNoRmlsZVBhdGgiLCJmb3JjZSIsImVuc3VyZURpciIsImN1cnJlbnRIYXNoIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImYiLCJlbnN1cmVGaWxlIiwicHJldkhhc2giLCJyZWFkRmlsZSIsImxlbmd0aCIsIndyaXRlRmlsZSIsInlhcm5VcGdyYWRlIiwib3V0ZGF0ZWQiLCJjb2RlIiwic3Rkb3V0IiwiY2FwdHVyZU91dHB1dCIsImRlcGVuZGVuY2llcyIsImRldkRlcGVuZGVuY2llcyIsInBhY2thZ2VzIiwic3BsaXQiLCJzbGljZSIsImwiLCJmaWx0ZXIiLCJwIiwidGVzdCJdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Qjs7Ozs7OztBQU9PLGVBQWVBLE9BQWYsQ0FBdUJDLElBQXZCLEVBQWlFO0FBQ3RFLFFBQU0sRUFBRUMsSUFBSSxHQUFHLEVBQVQsRUFBYUMsWUFBYixLQUE4QkYsSUFBSSxJQUFJLEVBQTVDO0FBQ0EsUUFBTUcsU0FBUyxHQUFHQyxjQUFLQyxJQUFMO0FBQ2hCRCxnQkFBS0UsT0FBTCxDQUFhQyxPQUFPLENBQUNDLFFBQXJCLENBRGdCO0FBRWhCLGtDQUZnQixDQUFsQjs7O0FBS0EsUUFBTUMsU0FBUyxHQUFHO0FBQ2hCQyxJQUFBQSxLQUFLLEVBQUUsU0FEUztBQUVoQkMsSUFBQUEsS0FBSyxFQUFFLElBRlM7QUFH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LEVBQUVHLFlBQVksR0FBRyxFQUFqQixFQUFxQkMsZUFBZSxHQUFHLEVBQXZDLEtBQThDLGtCQUFwRDtBQUNBLFlBQU1DLFFBQVEsR0FBR0osTUFBTTtBQUNwQkssTUFBQUEsS0FEYyxDQUNSLElBRFE7QUFFZEMsTUFBQUEsS0FGYyxDQUVSLENBRlEsRUFFTCxDQUFDLENBRkk7QUFHZGhCLE1BQUFBLEdBSGMsQ0FHVixDQUFDaUIsQ0FBRCxLQUFPQSxDQUFDLENBQUNGLEtBQUYsQ0FBUSxLQUFSLEVBQWUsQ0FBZixDQUhHO0FBSWRHLE1BQUFBLE1BSmM7QUFLYixPQUFDQyxDQUFEO0FBQ0VwQixNQUFBQSxHQUFHLElBQUksQ0FBQyxNQUFNcUIsSUFBTixDQUFXUixZQUFZLENBQUNPLENBQUQsQ0FBWixJQUFtQk4sZUFBZSxDQUFDTSxDQUFELENBQWxDLElBQXlDLEVBQXBELENBTkcsQ0FBakI7O0FBUUEsVUFBSUwsUUFBUSxDQUFDVCxNQUFiLEVBQXFCO0FBQ25CLGNBQU1uQixJQUFJLENBQUMsRUFBRWQsSUFBSSxFQUFFLENBQUMsS0FBRCxFQUFRLEdBQUcwQyxRQUFYLENBQVIsRUFBRCxDQUFWO0FBQ0EsMkJBQVUsYUFBWUEsUUFBUSxDQUFDdEMsSUFBVCxDQUFjLElBQWQsQ0FBb0IsRUFBMUM7QUFDRCxPQUhELE1BR087QUFDTCwyQkFBUywrQkFBVDtBQUNEO0FBQ0Y7QUFDRjtBQUNELFFBQU1VLElBQUksQ0FBQyxFQUFFZCxJQUFJLEVBQUUsQ0FBQyxTQUFELENBQVIsRUFBRCxDQUFWO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IG1kNUZpbGUgZnJvbSAnbWQ1LWZpbGUnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgc3Bhd25BZHYgfSBmcm9tICcuL2NwJztcbmltcG9ydCB0eXBlIHsgU3Bhd25PcHRpb25zLCBTcGF3blJlc3VsdCB9IGZyb20gJy4vY3AnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5pbXBvcnQgeyByZWFkRGlyIH0gZnJvbSAnLi9mcyc7XG5pbXBvcnQgeyBnZXRQa2cgfSBmcm9tICcuL3BrZyc7XG5cbmV4cG9ydCB0eXBlIFlhcm5PcHRpb25zID0ge3xcbiAgYXJncz86IHN0cmluZ1tdLFxuICBzcGF3bk9wdGlvbnM/OiA/U3Bhd25PcHRpb25zLFxufH07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB5YXJuQWR2KG9wdHM/OiBZYXJuT3B0aW9ucyk6IFByb21pc2U8U3Bhd25SZXN1bHQ+IHtcbiAgY29uc3QgeyBhcmdzID0gW10sIHNwYXduT3B0aW9ucyB9ID0gb3B0cyB8fCB7fTtcbiAgY29uc3QgbG9jYWxZYXJuID0gcGF0aC5qb2luKFxuICAgIHBhdGguZGlybmFtZShwcm9jZXNzLmV4ZWNQYXRoKSxcbiAgICAnL25vZGVfbW9kdWxlcy95YXJuL2Jpbi95YXJuLmpzJyxcbiAgKTtcblxuICBjb25zdCBzcGF3bk9wdHMgPSB7XG4gICAgc3RkaW86ICdpbmhlcml0JyxcbiAgICBzaGVsbDogdHJ1ZSxcbiAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIC4uLnNwYXduT3B0aW9ucyxcbiAgfTtcblxuICByZXR1cm4gKGF3YWl0IGZzLmV4aXN0cyhsb2NhbFlhcm4pKVxuICAgID8gLy8gcHJlZmVyIHRvIHVzZSBsb2NhbCBjb3B5IG9mIHlhcm5cbiAgICAgIHNwYXduQWR2KHByb2Nlc3MuZXhlY1BhdGgsIFtsb2NhbFlhcm4sIC4uLmFyZ3NdLCBzcGF3bk9wdHMpXG4gICAgOiAvLyBmYWxsIGJhY2sgdG8gZ2xvYmFsbHkgaW5zdGFsbGVkIHlhcm5cbiAgICAgIHNwYXduQWR2KCd5YXJuJywgYXJncywgc3Bhd25PcHRzKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHlhcm4ob3B0cz86IFlhcm5PcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBhcmdzID0gW10sIHNwYXduT3B0aW9ucyB9ID0gb3B0cyB8fCB7fTtcbiAgcmV0dXJuIHlhcm5BZHYoe1xuICAgIGFyZ3MsXG4gICAgc3Bhd25PcHRpb25zOiB7IHJlamVjdE9uRXJyb3JDb2RlOiB0cnVlLCAuLi5zcGF3bk9wdGlvbnMgfSxcbiAgfSkudGhlbigocikgPT4gci5vdXRwdXQpO1xufVxuXG5leHBvcnQgY29uc3QgeWFybkZpbGVzID0gWycuL3BhY2thZ2UuanNvbicsICcuL3lhcm4ubG9jayddO1xuXG5leHBvcnQgdHlwZSBZYXJuSW5zdGFsbE9wdGlvbnMgPSB7fFxuICBub2RlTW9kdWxlc1BhdGg/OiBzdHJpbmcsXG4gIGhhc2hGaWxlUGF0aD86IHN0cmluZyxcbiAgZm9yY2U/OiBib29sZWFuLFxufH07XG5cbi8vIFNtYXJ0IHlhcm4gaW52b2NhdGlvbiwgb25seSBpZiBwYWNrYWdlIGNoYW5nZWRcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB5YXJuSW5zdGFsbChvcHRzPzogWWFybkluc3RhbGxPcHRpb25zKSB7XG4gIGNvbnN0IHtcbiAgICBub2RlTW9kdWxlc1BhdGggPSAnLi9ub2RlX21vZHVsZXMnLFxuICAgIGhhc2hGaWxlUGF0aCA9ICcuL2Rvd25sb2FkL2J1aWxkSGFzaF95YXJuLm1kNScsXG4gICAgZm9yY2UgPSBmYWxzZSxcbiAgfSA9IG9wdHMgfHwge307XG4gIGF3YWl0IGZzLmVuc3VyZURpcihub2RlTW9kdWxlc1BhdGgpO1xuICBjb25zdCBjdXJyZW50SGFzaCA9IChcbiAgICBhd2FpdCBQcm9taXNlLmFsbCh5YXJuRmlsZXMubWFwKGFzeW5jIChmKSA9PiBtZDVGaWxlKGYpKSlcbiAgKS5qb2luKCd8Jyk7XG4gIGF3YWl0IGZzLmVuc3VyZUZpbGUoaGFzaEZpbGVQYXRoKTtcbiAgY29uc3QgcHJldkhhc2ggPSBhd2FpdCBmcy5yZWFkRmlsZShoYXNoRmlsZVBhdGgsICd1dGY4Jyk7XG4gIGlmIChjdXJyZW50SGFzaCAhPT0gcHJldkhhc2gpIHtcbiAgICBidWlsZExvZyhcbiAgICAgICdub2RlIHBhY2thZ2UgZGVmaW5pdGlvbiBjaGFuZ2VkIHNpbmNlIGxhc3QgYnVpbGQsIGludm9raW5nIHlhcm4uJyxcbiAgICApO1xuICB9IGVsc2UgaWYgKCEoYXdhaXQgcmVhZERpcihgJHtub2RlTW9kdWxlc1BhdGh9LyoqLyouanNgKSkubGVuZ3RoKSB7XG4gICAgYnVpbGRMb2coJ25vZGUgcGFja2FnZXMgbWlzc2luZywgaW52b2tpbmcgeWFybi4nKTtcbiAgfSBlbHNlIGlmIChmb3JjZSkge1xuICAgIGJ1aWxkTG9nKCdub2RlIHBhY2thZ2VzIHVuY2hhbmdlZCwgYnV0IHlhcm4gZm9yY2VkIG9uIGNvbW1hbmQgbGluZS4uLicpO1xuICB9IGVsc2Uge1xuICAgIGJ1aWxkTG9nKCdub2RlIHBhY2thZ2VzIHVuY2hhbmdlZCBzaW5jZSBsYXN0IGJ1aWxkLCBza2lwcGluZyB5YXJuLicpO1xuICAgIHJldHVybjtcbiAgfVxuICBhd2FpdCB5YXJuKCk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShoYXNoRmlsZVBhdGgsIGN1cnJlbnRIYXNoKTtcbn1cblxuZXhwb3J0IHR5cGUgWWFyblVwZ3JhZGVPcHRpb25zID0ge3xcbiAgLyoqXG4gICAqIFVzZSBgeWFybiBvdXRkYXRlZGAgdG8gZmluZCBwYWNrYWdlcyB0aGF0IHNob3VsZCBiZSB1cGdyYWRlZFxuICAgKiBNYXkgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzIChtYWpvciB2ZXJzaW9uIGNoYW5nZXMpXG4gICAqL1xuICBvdXRkYXRlZD86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBgZmFsc2VgIGJ5IGRlZmF1bHRcbiAgICogd2UgYXNzdW1lIGFueSBwYWNrYWdlIHdpdGggYW4gZXhwbGljaXQgdmVyc2lvbiBzaG91bGRuJ3QgYmUgdG91Y2hlZFxuICAgKi9cbiAgYWxsPzogYm9vbGVhbixcbnx9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24geWFyblVwZ3JhZGUob3B0cz86IFlhcm5VcGdyYWRlT3B0aW9ucykge1xuICBjb25zdCB7IG91dGRhdGVkID0gZmFsc2UsIGFsbCA9IGZhbHNlIH0gPSBvcHRzIHx8IHt9O1xuICBpZiAob3V0ZGF0ZWQpIHtcbiAgICBjb25zdCB7IGNvZGUsIHN0ZG91dCB9ID0gYXdhaXQgeWFybkFkdih7XG4gICAgICBhcmdzOiBbJ291dGRhdGVkJ10sXG4gICAgICBzcGF3bk9wdGlvbnM6IHsgc3RkaW86ICdwaXBlJywgY2FwdHVyZU91dHB1dDogdHJ1ZSB9LFxuICAgIH0pO1xuICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICBidWlsZExvZygnTm8gb3V0ZGF0ZWQgcGFja2FnZXMuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgZGVwZW5kZW5jaWVzID0ge30sIGRldkRlcGVuZGVuY2llcyA9IHt9IH0gPSBnZXRQa2coKTtcbiAgICAgIGNvbnN0IHBhY2thZ2VzID0gc3Rkb3V0XG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLnNsaWNlKDUsIC0xKVxuICAgICAgICAubWFwKChsKSA9PiBsLnNwbGl0KC9cXHMrLylbMF0pXG4gICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgKHApID0+XG4gICAgICAgICAgICBhbGwgfHwgIS9eXFxkLy50ZXN0KGRlcGVuZGVuY2llc1twXSB8fCBkZXZEZXBlbmRlbmNpZXNbcF0gfHwgJycpLFxuICAgICAgICApO1xuICAgICAgaWYgKHBhY2thZ2VzLmxlbmd0aCkge1xuICAgICAgICBhd2FpdCB5YXJuKHsgYXJnczogWydhZGQnLCAuLi5wYWNrYWdlc10gfSk7XG4gICAgICAgIGJ1aWxkTG9nKGBVcGdyYWRlZDogJHtwYWNrYWdlcy5qb2luKCcsICcpfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnVpbGRMb2coJ05vIGVsaWdpYmxlIG91dGRhdGVkIHBhY2thZ2VzJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGF3YWl0IHlhcm4oeyBhcmdzOiBbJ3VwZ3JhZGUnXSB9KTtcbn1cbiJdfQ==
package/ant.js.flow DELETED
@@ -1,42 +0,0 @@
1
- // @flow
2
- import { spawn } from './cp';
3
- import type { SpawnOptions } from './cp';
4
-
5
- /**
6
- * Named value pair to use when configuring an Ant build property
7
- */
8
- export type AntPropertyConfiguration = {|
9
- name: string,
10
- value: string,
11
- |};
12
-
13
- export type AntSpawnOptions = {|
14
- properties?: AntPropertyConfiguration[], // Ant property values to configure
15
- args?: string[], // Any additional command line arguments to pass
16
- spawnOptions?: SpawnOptions, // Optional spawn configuration. Defaults to run the project root directory
17
- |};
18
-
19
- /**
20
- * Executes the given ant command
21
- * @param {string} target the ant target to invoke
22
- * @param {AntSpawnOptions} options
23
- */
24
- export async function ant(target: string, opts?: AntSpawnOptions) {
25
- const { properties = [], args = [], spawnOptions } = opts || {};
26
-
27
- const execOptions = {
28
- stdio: 'inherit',
29
- pipeOutput: true,
30
- ...spawnOptions,
31
- };
32
-
33
- await spawn(
34
- 'ant',
35
- [
36
- target,
37
- ...args,
38
- ...properties.map(({ name, value }) => `-D${name}=${value}`),
39
- ],
40
- execOptions,
41
- );
42
- }