build-strap 3.0.0-dev.45 → 4.0.0-dev.3
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 +42 -0
- package/npm.js +104 -135
- 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 +44 -0
- package/yarn.js +156 -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/version.js
CHANGED
|
@@ -1,142 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
function getBuild() {
|
|
9
|
-
let arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
|
|
10
|
-
arg = arg && arg.substr(11);
|
|
11
|
-
return arg || process.env.BUILD_NUMBER || '0';
|
|
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';
|
|
12
8
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return releaseBranch || 'master';
|
|
9
|
+
export function getReleaseBranch() {
|
|
10
|
+
const { releaseBranch } = getCfg();
|
|
11
|
+
return releaseBranch || 'master';
|
|
17
12
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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));
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
await (0, _git.gitInfo)() :
|
|
43
|
-
repoType === 'hg' ?
|
|
44
|
-
await (0, _hg.hgInfo)() :
|
|
45
|
-
{};
|
|
46
|
-
if (!branch || !revision) {
|
|
47
|
-
throw new Error('Failed to parse branch and revision from source repo.');
|
|
48
|
-
}
|
|
49
|
-
return { branch, revision };
|
|
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 };
|
|
50
38
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return devBranch || getRepoType() === 'hg' ? 'default' : 'dev';
|
|
39
|
+
export async function getDevBranch() {
|
|
40
|
+
const { devBranch } = getCfg();
|
|
41
|
+
return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
|
|
55
42
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
releaseOverride
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
releaseOverride :
|
|
64
|
-
process.argv.includes('--force-release-version') ?
|
|
65
|
-
true :
|
|
66
|
-
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();
|
|
67
50
|
}
|
|
68
|
-
|
|
69
51
|
let cacheVersion = true;
|
|
70
|
-
function useVersionCache(useCache = true) {
|
|
71
|
-
|
|
52
|
+
export function useVersionCache(useCache = true) {
|
|
53
|
+
cacheVersion = useCache;
|
|
72
54
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
55
|
let version = null;
|
|
89
|
-
async function getVersion(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
{
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
+
}
|
|
100
85
|
}
|
|
101
|
-
|
|
102
|
-
const isRelease = await getIsRelease(branch, release);
|
|
103
|
-
const short = `${major}.${minor}.${patch}`;
|
|
104
|
-
const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
|
|
105
|
-
const info = `${short}${
|
|
106
|
-
isRelease ? `+${build}.` : `-${branch}.${build}+`
|
|
107
|
-
}${revision}`;
|
|
108
|
-
version = {
|
|
109
|
-
name,
|
|
110
|
-
branch,
|
|
111
|
-
revision,
|
|
112
|
-
major,
|
|
113
|
-
minor,
|
|
114
|
-
patch,
|
|
115
|
-
build,
|
|
116
|
-
short,
|
|
117
|
-
isRelease,
|
|
118
|
-
npm,
|
|
119
|
-
info };
|
|
120
|
-
|
|
121
|
-
if (logIt) (0, _run.buildLog)(`Building version ${info}`);
|
|
122
|
-
}
|
|
123
|
-
return version;
|
|
86
|
+
return version;
|
|
124
87
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
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()}`;
|
|
131
93
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return `// This file is auto-generated
|
|
94
|
+
export async function getVersionCode() {
|
|
95
|
+
return `// This file is auto-generated
|
|
135
96
|
export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
|
|
136
97
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
return `${branch}-${revision}-${build}`;
|
|
98
|
+
export async function getUniqueBuildTag() {
|
|
99
|
+
const { branch, build, revision } = await getVersion();
|
|
100
|
+
return `${branch}-${revision}-${build}`;
|
|
141
101
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLE1BQUlDLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVY7QUFDQUosRUFBQUEsR0FBRyxHQUFHQSxHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBYjtBQUNBLFNBQU9OLEdBQUcsSUFBSUMsT0FBTyxDQUFDTSxHQUFSLENBQVlDLFlBQW5CLElBQW1DLEdBQTFDO0FBQ0Q7O0FBRU0sU0FBU0MsZ0JBQVQsR0FBb0M7QUFDekMsUUFBTSxFQUFFQyxhQUFGLEtBQW9CLGtCQUExQjtBQUNBLFNBQU9BLGFBQWEsSUFBSSxRQUF4QjtBQUNEOzs7QUFHTSxTQUFTQyxXQUFULEdBQWlDO0FBQ3RDLFFBQU0sRUFBRUMsUUFBRixLQUFlLGtCQUFyQjs7QUFFQTtBQUNFQSxJQUFBQSxRQUFRO0FBQ1BDLGdCQUFHQyxVQUFILENBQWMsT0FBZDtBQUNHLFFBREg7QUFFR0QsZ0JBQUdDLFVBQUgsQ0FBYyxRQUFkO0FBQ0EsU0FEQTtBQUVBLGFBTEksQ0FEVjs7QUFRRDs7Ozs7OztBQU9NLGVBQWVDLFdBQWYsR0FBZ0Q7QUFDckQsUUFBTUgsUUFBUSxHQUFHRCxXQUFXLEVBQTVCO0FBQ0EsUUFBTSxFQUFFSyxNQUFGLEVBQVVDLFFBQVY7QUFDSkwsRUFBQUEsUUFBUSxLQUFLLEtBQWI7QUFDSSxRQUFNLG1CQURWO0FBRUlBLEVBQUFBLFFBQVEsS0FBSyxJQUFiO0FBQ0EsUUFBTSxpQkFETjtBQUVBLElBTE47QUFNQSxNQUFJLENBQUNJLE1BQUQsSUFBVyxDQUFDQyxRQUFoQixFQUEwQjtBQUN4QixVQUFNLElBQUlDLEtBQUosQ0FBVSx1REFBVixDQUFOO0FBQ0Q7QUFDRCxTQUFPLEVBQUVGLE1BQUYsRUFBVUMsUUFBVixFQUFQO0FBQ0Q7O0FBRU0sU0FBU0UsWUFBVCxHQUFnQztBQUNyQyxRQUFNLEVBQUVDLFNBQUYsS0FBZ0Isa0JBQXRCO0FBQ0EsU0FBT0EsU0FBUyxJQUFJVCxXQUFXLE9BQU8sSUFBL0IsR0FBc0MsU0FBdEMsR0FBa0QsS0FBekQ7QUFDRDs7QUFFTSxlQUFlVSxZQUFmO0FBQ0xDLFlBQXNCLEdBQUcsSUFEcEI7QUFFTEMsZUFBMEIsR0FBRyxJQUZ4QjtBQUdhO0FBQ2xCLFFBQU1QLE1BQU0sR0FBR00sWUFBWSxJQUFJLENBQUMsTUFBTVAsV0FBVyxFQUFsQixFQUFzQkMsTUFBckQ7QUFDQSxTQUFPTyxlQUFlLElBQUksSUFBbkI7QUFDSEEsRUFBQUEsZUFERztBQUVIdEIsRUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWFzQixRQUFiLENBQXNCLHlCQUF0QjtBQUNBLE1BREE7QUFFQVIsRUFBQUEsTUFBTSxLQUFLUCxnQkFBZ0IsRUFKL0I7QUFLRDs7QUFFRCxJQUFJZ0IsWUFBWSxHQUFHLElBQW5CO0FBQ08sU0FBU0MsZUFBVCxDQUF5QkMsUUFBaUIsR0FBRyxJQUE3QyxFQUF5RDtBQUM5REYsRUFBQUEsWUFBWSxHQUFHRSxRQUFmO0FBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkQsSUFBSUMsT0FBTyxHQUFHLElBQWQ7QUFDTyxlQUFlQyxVQUFmO0FBQ0xDLEtBQWMsR0FBRyxJQURaO0FBRUxDLE9BQWlCLEdBQUcsSUFGZjtBQUdhO0FBQ2xCLE1BQUksQ0FBQ04sWUFBRCxJQUFpQkcsT0FBTyxJQUFJLElBQWhDLEVBQXNDO0FBQ3BDLFVBQU0sRUFBRUEsT0FBTyxFQUFFSSxPQUFYLEVBQW9CQyxJQUFwQixLQUE2QixrQkFBbkM7QUFDQSxVQUFNLEVBQUVqQixNQUFGLEVBQVVDLFFBQVYsS0FBdUIsTUFBTUYsV0FBVyxFQUE5QztBQUNBLFVBQU0sR0FBR21CLEtBQUgsRUFBVUMsS0FBVixFQUFpQkMsS0FBakI7QUFDSkosSUFBQUEsT0FBTyxDQUFDSyxLQUFSLENBQWMsdUJBQWQsS0FBMEMsRUFENUM7QUFFQSxRQUFJLENBQUNILEtBQUQsSUFBVSxDQUFDQyxLQUFYLElBQW9CLENBQUNDLEtBQXpCLEVBQWdDO0FBQzlCLFlBQU0sSUFBSWxCLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7QUFDRCxVQUFNb0IsS0FBSyxHQUFHdkMsUUFBUSxFQUF0QjtBQUNBLFVBQU13QyxTQUFTLEdBQUcsTUFBTWxCLFlBQVksQ0FBQ0wsTUFBRCxFQUFTZSxPQUFULENBQXBDO0FBQ0EsVUFBTVMsS0FBSyxHQUFJLEdBQUVOLEtBQU0sSUFBR0MsS0FBTSxJQUFHQyxLQUFNLEVBQXpDO0FBQ0EsVUFBTUssR0FBRyxHQUFJLEdBQUVELEtBQU0sR0FBRUQsU0FBUyxHQUFHLEVBQUgsR0FBUyxJQUFHdkIsTUFBTyxJQUFHc0IsS0FBTSxFQUFFLEVBQTlEO0FBQ0EsVUFBTUksSUFBSSxHQUFJLEdBQUVGLEtBQU07QUFDcEJELElBQUFBLFNBQVMsR0FBSSxJQUFHRCxLQUFNLEdBQWIsR0FBbUIsSUFBR3RCLE1BQU8sSUFBR3NCLEtBQU07QUFDaEQsT0FBRXJCLFFBQVMsRUFGWjtBQUdBVyxJQUFBQSxPQUFPLEdBQUc7QUFDUkssTUFBQUEsSUFEUTtBQUVSakIsTUFBQUEsTUFGUTtBQUdSQyxNQUFBQSxRQUhRO0FBSVJpQixNQUFBQSxLQUpRO0FBS1JDLE1BQUFBLEtBTFE7QUFNUkMsTUFBQUEsS0FOUTtBQU9SRSxNQUFBQSxLQVBRO0FBUVJFLE1BQUFBLEtBUlE7QUFTUkQsTUFBQUEsU0FUUTtBQVVSRSxNQUFBQSxHQVZRO0FBV1JDLE1BQUFBLElBWFEsRUFBVjs7QUFhQSxRQUFJWixLQUFKLEVBQVcsbUJBQVUsb0JBQW1CWSxJQUFLLEVBQWxDO0FBQ1o7QUFDRCxTQUFPZCxPQUFQO0FBQ0Q7O0FBRU0sZUFBZWUsU0FBZixHQUE0QztBQUNqRCxRQUFNLEVBQUVDLFNBQVMsR0FBRyxFQUFkLEtBQXFCLGtCQUEzQjtBQUNBLFFBQU0sRUFBRUYsSUFBRixFQUFRVCxJQUFSLEtBQWlCLE1BQU1KLFVBQVUsRUFBdkM7QUFDQSxRQUFNZ0IsS0FBSyxHQUFHLElBQUlDLElBQUosRUFBZDtBQUNBLFNBQVEsR0FBRWIsSUFBSyxLQUFJUyxJQUFLLFVBQVNHLEtBQUssQ0FBQ0UsV0FBTixFQUFvQixJQUFHSCxTQUFVLGVBQWNDLEtBQUssQ0FBQ0csV0FBTixFQUFvQixFQUFwRztBQUNEOztBQUVNLGVBQWVDLGNBQWYsR0FBaUQ7QUFDdEQsU0FBUTtBQUNWLHlCQUF5QkMsSUFBSSxDQUFDQyxTQUFMLENBQWUsTUFBTXRCLFVBQVUsRUFBL0IsRUFBbUMsSUFBbkMsRUFBeUMsQ0FBekMsQ0FBNEMsRUFEbkU7QUFFRDs7QUFFTSxlQUFldUIsaUJBQWYsR0FBb0Q7QUFDekQsUUFBTSxFQUFFcEMsTUFBRixFQUFVQyxRQUFWLEVBQW9CcUIsS0FBcEIsS0FBOEIsTUFBTVQsVUFBVSxFQUFwRDtBQUNBLFNBQVEsR0FBRWIsTUFBTyxJQUFHQyxRQUFTLElBQUdxQixLQUFNLEVBQXRDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGdpdEluZm8gfSBmcm9tICcuL2dpdCc7XG5pbXBvcnQgeyBoZ0luZm8gfSBmcm9tICcuL2hnJztcbmltcG9ydCB7IGdldENmZywgZ2V0UGtnIH0gZnJvbSAnLi9wa2cnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWlsZCgpOiBzdHJpbmcge1xuICBsZXQgYXJnID0gcHJvY2Vzcy5hcmd2LmZpbmQoKGVsKSA9PiAvXi0tYnVpbGROdW09XFxkKyQvLnRlc3QoZWwpKTtcbiAgYXJnID0gYXJnICYmIGFyZy5zdWJzdHIoMTEpO1xuICByZXR1cm4gYXJnIHx8IHByb2Nlc3MuZW52LkJVSUxEX05VTUJFUiB8fCAnMCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxlYXNlQnJhbmNoKCk6IHN0cmluZyB7XG4gIGNvbnN0IHsgcmVsZWFzZUJyYW5jaCB9ID0gZ2V0Q2ZnKCk7XG4gIHJldHVybiByZWxlYXNlQnJhbmNoIHx8ICdtYXN0ZXInO1xufVxuXG50eXBlIFJlcG9UeXBlID0gJ2dpdCcgfCAnaGcnIHwgJ3Vua25vd24nO1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9UeXBlKCk6IFJlcG9UeXBlIHtcbiAgY29uc3QgeyByZXBvVHlwZSB9ID0gZ2V0Q2ZnKCk7XG5cbiAgcmV0dXJuIChcbiAgICByZXBvVHlwZSB8fFxuICAgIChmcy5leGlzdHNTeW5jKCcuLy5oZycpXG4gICAgICA/ICdoZydcbiAgICAgIDogZnMuZXhpc3RzU3luYygnLi8uZ2l0JylcbiAgICAgID8gJ2dpdCdcbiAgICAgIDogJ3Vua25vd24nKVxuICApO1xufVxuXG50eXBlIFJlcG9JbmZvID0ge1xuICBicmFuY2g6IHN0cmluZyxcbiAgcmV2aXNpb246IHN0cmluZyxcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvSW5mbygpOiBQcm9taXNlPFJlcG9JbmZvPiB7XG4gIGNvbnN0IHJlcG9UeXBlID0gZ2V0UmVwb1R5cGUoKTtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPVxuICAgIHJlcG9UeXBlID09PSAnZ2l0J1xuICAgICAgPyBhd2FpdCBnaXRJbmZvKClcbiAgICAgIDogcmVwb1R5cGUgPT09ICdoZydcbiAgICAgID8gYXdhaXQgaGdJbmZvKClcbiAgICAgIDoge307XG4gIGlmICghYnJhbmNoIHx8ICFyZXZpc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHBhcnNlIGJyYW5jaCBhbmQgcmV2aXNpb24gZnJvbSBzb3VyY2UgcmVwby4nKTtcbiAgfVxuICByZXR1cm4geyBicmFuY2gsIHJldmlzaW9uIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXZCcmFuY2goKTogc3RyaW5nIHtcbiAgY29uc3QgeyBkZXZCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gZGV2QnJhbmNoIHx8IGdldFJlcG9UeXBlKCkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gIH1cbiAgcmV0dXJuIHZlcnNpb247XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYW5uZXIoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBjb3B5cmlnaHQgPSAnJyB9ID0gZ2V0Q2ZnKCk7XG4gIGNvbnN0IHsgaW5mbywgbmFtZSB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gIHJldHVybiBgJHtuYW1lfSB2JHtpbmZvfSB8IChjKSAke3RvZGF5LmdldEZ1bGxZZWFyKCl9ICR7Y29weXJpZ2h0fSB8IGJ1aWx0IG9uICR7dG9kYXkudG9JU09TdHJpbmcoKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmVyc2lvbkNvZGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGAvLyBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWRcbmV4cG9ydCBjb25zdCB2ZXJzaW9uID0gJHtKU09OLnN0cmluZ2lmeShhd2FpdCBnZXRWZXJzaW9uKCksIG51bGwsIDIpfWA7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRVbmlxdWVCdWlsZFRhZygpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB7IGJyYW5jaCwgcmV2aXNpb24sIGJ1aWxkIH0gPSBhd2FpdCBnZXRWZXJzaW9uKCk7XG4gIHJldHVybiBgJHticmFuY2h9LSR7cmV2aXNpb259LSR7YnVpbGR9YDtcbn1cbiJdfQ==
|
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,161 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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);
|
|
46
|
+
}
|
|
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
|
+
}
|
|
75
|
+
}
|
|
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
|
+
'--tag',
|
|
119
|
+
tag ||
|
|
120
|
+
(isRelease
|
|
121
|
+
? 'latest'
|
|
122
|
+
: branch === (await getDevBranch())
|
|
123
|
+
? 'next'
|
|
124
|
+
: 'branch'),
|
|
125
|
+
...(access ? ['--access', access] : []),
|
|
126
|
+
],
|
|
127
|
+
spawnOptions: {
|
|
128
|
+
cwd: workDir,
|
|
129
|
+
env: {
|
|
130
|
+
...process.env,
|
|
131
|
+
FORCE_COLOR: 'true',
|
|
132
|
+
NPM_TOKEN: authToken,
|
|
133
|
+
},
|
|
134
|
+
shell: true,
|
|
135
|
+
stdio: 'inherit',
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
return true;
|
|
80
139
|
}
|
|
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
|
-
}
|
|
140
|
+
export async function yarnPack({ destination, workDir = '.', }) {
|
|
141
|
+
if (destination) {
|
|
142
|
+
await fs.ensureDir(destination);
|
|
120
143
|
}
|
|
121
|
-
|
|
122
|
-
|
|
144
|
+
const { stdout } = await yarn({
|
|
145
|
+
args: [
|
|
146
|
+
'pack',
|
|
147
|
+
...(destination ? ['--filename', path.resolve(destination)] : []),
|
|
148
|
+
],
|
|
149
|
+
spawnOptions: {
|
|
150
|
+
captureOutput: true,
|
|
151
|
+
cwd: path.resolve(workDir),
|
|
152
|
+
env: {
|
|
153
|
+
...process.env,
|
|
154
|
+
FORCE_COLOR: 'true',
|
|
155
|
+
},
|
|
156
|
+
pipeOutput: true,
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
console.log({ stdout });
|
|
160
|
+
return path.resolve(destination || '.', stdout.trim());
|
|
123
161
|
}
|
|
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
|
-
}
|