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

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/package.json +23 -19
  3. package/src/ant.d.ts +19 -0
  4. package/src/ant.js +12 -36
  5. package/src/cert.d.ts +12 -0
  6. package/src/cert.js +87 -148
  7. package/src/clean.d.ts +4 -0
  8. package/src/clean.js +5 -13
  9. package/src/copy.d.ts +7 -0
  10. package/src/copy.js +48 -74
  11. package/src/cp.d.ts +17 -0
  12. package/src/cp.js +81 -165
  13. package/src/docker.container.d.ts +73 -0
  14. package/src/docker.container.js +208 -350
  15. package/src/docker.d.ts +68 -0
  16. package/src/docker.js +163 -339
  17. package/src/docker.network.d.ts +42 -0
  18. package/src/docker.network.js +67 -141
  19. package/src/docker.volume.d.ts +26 -0
  20. package/src/docker.volume.js +50 -124
  21. package/src/dockerCleanup.d.ts +38 -0
  22. package/src/dockerCleanup.js +62 -136
  23. package/src/dockerCompose.d.ts +154 -0
  24. package/src/dockerCompose.js +390 -716
  25. package/src/fs.d.ts +5 -0
  26. package/src/fs.js +33 -91
  27. package/src/git.d.ts +9 -0
  28. package/src/git.js +19 -29
  29. package/src/index.d.ts +20 -0
  30. package/src/index.js +20 -26
  31. package/src/maps.d.ts +33 -0
  32. package/src/maps.js +12 -82
  33. package/src/npm.d.ts +48 -0
  34. package/src/npm.js +128 -131
  35. package/src/pkg.d.ts +38 -0
  36. package/src/pkg.js +27 -74
  37. package/src/publish.d.ts +27 -0
  38. package/src/publish.js +51 -138
  39. package/src/run.d.ts +13 -0
  40. package/src/run.js +39 -84
  41. package/src/tgz.d.ts +13 -0
  42. package/src/tgz.js +54 -88
  43. package/src/version.d.ts +34 -0
  44. package/src/version.js +85 -126
  45. package/src/yarn.d.ts +44 -0
  46. package/src/yarn.js +147 -115
  47. package/ant.js +0 -43
  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 +0 -153
  53. package/cert.js.flow +0 -152
  54. package/clean.js +0 -20
  55. package/clean.js.flow +0 -19
  56. package/copy.js +0 -80
  57. package/copy.js.flow +0 -79
  58. package/cp.js +0 -173
  59. package/cp.js.flow +0 -172
  60. package/docker.container.js +0 -390
  61. package/docker.container.js.flow +0 -389
  62. package/docker.js +0 -365
  63. package/docker.js.flow +0 -364
  64. package/docker.network.js +0 -160
  65. package/docker.network.js.flow +0 -159
  66. package/docker.volume.js +0 -136
  67. package/docker.volume.js.flow +0 -136
  68. package/dockerCleanup.js +0 -152
  69. package/dockerCleanup.js.flow +0 -151
  70. package/dockerCompose.js +0 -766
  71. package/dockerCompose.js.flow +0 -765
  72. package/flow.js +0 -21
  73. package/flow.js.flow +0 -20
  74. package/fs.js +0 -95
  75. package/fs.js.flow +0 -96
  76. package/git.js +0 -35
  77. package/git.js.flow +0 -34
  78. package/hg.js +0 -35
  79. package/hg.js.flow +0 -34
  80. package/index.js +0 -27
  81. package/index.js.flow +0 -26
  82. package/inline-resources.js +0 -158
  83. package/inline-resources.js.flow +0 -157
  84. package/maps.js +0 -112
  85. package/maps.js.flow +0 -111
  86. package/npm.js +0 -145
  87. package/npm.js.flow +0 -144
  88. package/pkg.js +0 -81
  89. package/pkg.js.flow +0 -80
  90. package/publish.js +0 -145
  91. package/publish.js.flow +0 -144
  92. package/run.js +0 -90
  93. package/run.js.flow +0 -89
  94. package/src/artifactory.js +0 -616
  95. package/src/cert.conf +0 -20
  96. package/src/flow.js +0 -20
  97. package/src/hg.js +0 -34
  98. package/src/inline-resources.js +0 -157
  99. package/src/test.js +0 -55
  100. package/test.js +0 -56
  101. package/test.js.flow +0 -55
  102. package/tgz.js +0 -102
  103. package/tgz.js.flow +0 -101
  104. package/version.js +0 -143
  105. package/version.js.flow +0 -142
  106. package/yarn.js +0 -124
  107. package/yarn.js.flow +0 -123
package/version.js DELETED
@@ -1,143 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getBanner = getBanner;exports.getBuild = getBuild;exports.getDevBranch = getDevBranch;exports.getIsRelease = getIsRelease;exports.getReleaseBranch = getReleaseBranch;exports.getRepoInfo = getRepoInfo;exports.getRepoType = getRepoType;exports.getUniqueBuildTag = getUniqueBuildTag;exports.getVersion = getVersion;exports.getVersionCode = getVersionCode;exports.useVersionCache = useVersionCache;
2
- var _fs = _interopRequireDefault(require("fs"));
3
- var _git = require("./git");
4
- var _hg = require("./hg");
5
- var _pkg = require("./pkg");
6
- var _run = require("./run");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
7
-
8
- function getBuild() {
9
- const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
10
- return arg && arg.substr(11) || process.env.BUILD_NUMBER || '0';
11
- }
12
-
13
- function getReleaseBranch() {
14
- const { releaseBranch } = (0, _pkg.getCfg)();
15
- return releaseBranch || 'master';
16
- }
17
-
18
-
19
- async function getRepoType() {
20
- const { repoType } = (0, _pkg.getCfg)();
21
-
22
- return (
23
- repoType || (
24
- _fs.default.existsSync('./.hg') ?
25
- 'hg' :
26
- _fs.default.existsSync('./.git') ?
27
- 'git' :
28
- 'unknown'));
29
-
30
- }
31
-
32
-
33
-
34
-
35
-
36
-
37
- async function getRepoInfo() {
38
- const repoType = await getRepoType();
39
- const { branch, revision } =
40
- repoType === 'git' ?
41
- await (0, _git.gitInfo)() :
42
- repoType === 'hg' ?
43
- await (0, _hg.hgInfo)() :
44
- {};
45
- if (!branch || !revision) {
46
- throw new Error('Failed to parse branch and revision from source repo.');
47
- }
48
- return { branch, revision };
49
- }
50
-
51
- async function getDevBranch() {
52
- const { devBranch } = (0, _pkg.getCfg)();
53
- return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
54
- }
55
-
56
- async function getIsRelease(
57
- passedBranch = null,
58
- releaseOverride = null)
59
- {
60
- const branch = passedBranch || (await getRepoInfo()).branch;
61
- return releaseOverride != null ?
62
- releaseOverride :
63
- process.argv.includes('--force-release-version') ?
64
- true :
65
- branch === getReleaseBranch();
66
- }
67
-
68
- let cacheVersion = true;
69
- function useVersionCache(useCache = true) {
70
- cacheVersion = useCache;
71
- }
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
- let version = null;
88
- async function getVersion(
89
- logIt = true,
90
- release = null)
91
- {
92
- if (!cacheVersion || version == null) {
93
- const { version: pkgVers, name } = (0, _pkg.getPkg)();
94
- const { branch, revision } = await getRepoInfo();
95
- const [, major, minor, patch] =
96
- pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
97
- if (!major || !minor || !patch) {
98
- throw new Error('Invalid version format in package.json');
99
- }
100
- const build = getBuild();
101
- const isRelease = await getIsRelease(branch, release);
102
- const short = `${major}.${minor}.${patch}`;
103
- const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
104
- const info = `${short}${
105
- isRelease ? `+${build}.` : `-${branch}.${build}+`
106
- }${revision}`;
107
- version = {
108
- name,
109
- branch,
110
- revision,
111
- major,
112
- minor,
113
- patch,
114
- build,
115
- short,
116
- isRelease,
117
- npm,
118
- info };
119
-
120
- if (logIt) {
121
- (0, _run.buildLog)(`Building version ${info}`);
122
- }
123
- }
124
- return version;
125
- }
126
-
127
- async function getBanner() {
128
- const { copyright = '' } = (0, _pkg.getCfg)();
129
- const { info, name } = await getVersion();
130
- const today = new Date();
131
- return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
132
- }
133
-
134
- async function getVersionCode() {
135
- return `// This file is auto-generated
136
- export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
137
- }
138
-
139
- async function getUniqueBuildTag() {
140
- const { branch, revision, build } = await getVersion();
141
- return `${branch}-${revision}-${build}`;
142
- }
143
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbImdldEJ1aWxkIiwiYXJnIiwicHJvY2VzcyIsImFyZ3YiLCJmaW5kIiwiZWwiLCJ0ZXN0Iiwic3Vic3RyIiwiZW52IiwiQlVJTERfTlVNQkVSIiwiZ2V0UmVsZWFzZUJyYW5jaCIsInJlbGVhc2VCcmFuY2giLCJnZXRSZXBvVHlwZSIsInJlcG9UeXBlIiwiZnMiLCJleGlzdHNTeW5jIiwiZ2V0UmVwb0luZm8iLCJicmFuY2giLCJyZXZpc2lvbiIsIkVycm9yIiwiZ2V0RGV2QnJhbmNoIiwiZGV2QnJhbmNoIiwiZ2V0SXNSZWxlYXNlIiwicGFzc2VkQnJhbmNoIiwicmVsZWFzZU92ZXJyaWRlIiwiaW5jbHVkZXMiLCJjYWNoZVZlcnNpb24iLCJ1c2VWZXJzaW9uQ2FjaGUiLCJ1c2VDYWNoZSIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9nSXQiLCJyZWxlYXNlIiwicGtnVmVycyIsIm5hbWUiLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJtYXRjaCIsImJ1aWxkIiwiaXNSZWxlYXNlIiwic2hvcnQiLCJucG0iLCJpbmZvIiwiZ2V0QmFubmVyIiwiY29weXJpZ2h0IiwidG9kYXkiLCJEYXRlIiwiZ2V0RnVsbFllYXIiLCJ0b0lTT1N0cmluZyIsImdldFZlcnNpb25Db2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldFVuaXF1ZUJ1aWxkVGFnIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Qjs7QUFFTyxTQUFTQSxRQUFULEdBQTRCO0FBQ2pDLFFBQU1DLEdBQUcsR0FBR0MsT0FBTyxDQUFDQyxJQUFSLENBQWFDLElBQWIsQ0FBa0IsQ0FBQ0MsRUFBRCxLQUFRLG1CQUFtQkMsSUFBbkIsQ0FBd0JELEVBQXhCLENBQTFCLENBQVo7QUFDQSxTQUFRSixHQUFHLElBQUlBLEdBQUcsQ0FBQ00sTUFBSixDQUFXLEVBQVgsQ0FBUixJQUEyQkwsT0FBTyxDQUFDTSxHQUFSLENBQVlDLFlB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LGVBQWV1QixpQkFBZixHQUFvRDtBQUN6RCxRQUFNLEVBQUVwQyxNQUFGLEVBQVVDLFFBQVYsRUFBb0JxQixLQUFwQixLQUE4QixNQUFNVCxVQUFVLEVBQXBEO0FBQ0EsU0FBUSxHQUFFYixNQUFPLElBQUdDLFFBQVMsSUFBR3FCLEtBQU0sRUFBdEM7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZ2l0SW5mbyB9IGZyb20gJy4vZ2l0JztcbmltcG9ydCB7IGhnSW5mbyB9IGZyb20gJy4vaGcnO1xuaW1wb3J0IHsgZ2V0Q2ZnLCBnZXRQa2cgfSBmcm9tICcuL3BrZyc7XG5pbXBvcnQgeyBidWlsZExvZyB9IGZyb20gJy4vcnVuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkKCk6IHN0cmluZyB7XG4gIGNvbnN0IGFyZyA9IHByb2Nlc3MuYXJndi5maW5kKChlbCkgPT4gL14tLWJ1aWxkTnVtPVxcZCskLy50ZXN0KGVsKSk7XG4gIHJldHVybiAoYXJnICYmIGFyZy5zdWJzdHIoMTEpKSB8fCBwcm9jZXNzLmVudi5CVUlMRF9OVU1CRVIgfHwgJzAnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsZWFzZUJyYW5jaCgpOiBzdHJpbmcge1xuICBjb25zdCB7IHJlbGVhc2VCcmFuY2ggfSA9IGdldENmZygpO1xuICByZXR1cm4gcmVsZWFzZUJyYW5jaCB8fCAnbWFzdGVyJztcbn1cblxudHlwZSBSZXBvVHlwZSA9ICdnaXQnIHwgJ2hnJyB8ICd1bmtub3duJztcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRSZXBvVHlwZSgpOiBQcm9taXNlPFJlcG9UeXBlPiB7XG4gIGNvbnN0IHsgcmVwb1R5cGUgfSA9IGdldENmZygpO1xuXG4gIHJldHVybiAoXG4gICAgcmVwb1R5cGUgfHxcbiAgICAoZnMuZXhpc3RzU3luYygnLi8uaGcnKVxuICAgICAgPyAnaGcnXG4gICAgICA6IGZzLmV4aXN0c1N5bmMoJy4vLmdpdCcpXG4gICAgICA/ICdnaXQnXG4gICAgICA6ICd1bmtub3duJylcbiAgKTtcbn1cblxudHlwZSBSZXBvSW5mbyA9IHtcbiAgYnJhbmNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVwb0luZm8oKTogUHJvbWlzZTxSZXBvSW5mbz4ge1xuICBjb25zdCByZXBvVHlwZSA9IGF3YWl0IGdldFJlcG9UeXBlKCk7XG4gIGNvbnN0IHsgYnJhbmNoLCByZXZpc2lvbiB9ID1cbiAgICByZXBvVHlwZSA9PT0gJ2dpdCdcbiAgICAgID8gYXdhaXQgZ2l0SW5mbygpXG4gICAgICA6IHJlcG9UeXBlID09PSAnaGcnXG4gICAgICA/IGF3YWl0IGhnSW5mbygpXG4gICAgICA6IHt9O1xuICBpZiAoIWJyYW5jaCB8fCAhcmV2aXNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBicmFuY2ggYW5kIHJldmlzaW9uIGZyb20gc291cmNlIHJlcG8uJyk7XG4gIH1cbiAgcmV0dXJuIHsgYnJhbmNoLCByZXZpc2lvbiB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGV2QnJhbmNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgZGV2QnJhbmNoIH0gPSBnZXRDZmcoKTtcbiAgcmV0dXJuIGRldkJyYW5jaCB8fCAoYXdhaXQgZ2V0UmVwb1R5cGUoKSkgPT09ICdoZycgPyAnZGVmYXVsdCcgOiAnZGV2Jztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElzUmVsZWFzZShcbiAgcGFzc2VkQnJhbmNoPzogP3N0cmluZyA9IG51bGwsXG4gIHJlbGVhc2VPdmVycmlkZT86ID9ib29sZWFuID0gbnVsbCxcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBicmFuY2ggPSBwYXNzZWRCcmFuY2ggfHwgKGF3YWl0IGdldFJlcG9JbmZvKCkpLmJyYW5jaDtcbiAgcmV0dXJuIHJlbGVhc2VPdmVycmlkZSAhPSBudWxsXG4gICAgPyByZWxlYXNlT3ZlcnJpZGVcbiAgICA6IHByb2Nlc3MuYXJndi5pbmNsdWRlcygnLS1mb3JjZS1yZWxlYXNlLXZlcnNpb24nKVxuICAgID8gdHJ1ZVxuICAgIDogYnJhbmNoID09PSBnZXRSZWxlYXNlQnJhbmNoKCk7XG59XG5cbmxldCBjYWNoZVZlcnNpb24gPSB0cnVlO1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVZlcnNpb25DYWNoZSh1c2VDYWNoZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgY2FjaGVWZXJzaW9uID0gdXNlQ2FjaGU7XG59XG5cbmV4cG9ydCB0eXBlIFZlcnNpb24gPSB7fFxuICBicmFuY2g6IHN0cmluZyxcbiAgYnVpbGQ6IHN0cmluZyxcbiAgaW5mbzogc3RyaW5nLFxuICBpc1JlbGVhc2U6IGJvb2xlYW4sXG4gIG1ham9yOiBzdHJpbmcsXG4gIG1pbm9yOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgbnBtOiBzdHJpbmcsXG4gIHBhdGNoOiBzdHJpbmcsXG4gIHJldmlzaW9uOiBzdHJpbmcsXG4gIHNob3J0OiBzdHJpbmcsXG58fTtcblxubGV0IHZlcnNpb24gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb24oXG4gIGxvZ0l0OiBib29sZWFuID0gdHJ1ZSxcbiAgcmVsZWFzZTogP2Jvb2xlYW4gPSBudWxsLFxuKTogUHJvbWlzZTxWZXJzaW9uPiB7XG4gIGlmICghY2FjaGVWZXJzaW9uIHx8IHZlcnNpb24gPT0gbnVsbCkge1xuICAgIGNvbnN0IHsgdmVyc2lvbjogcGtnVmVycywgbmFtZSB9ID0gZ2V0UGtnKCk7XG4gICAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uIH0gPSBhd2FpdCBnZXRSZXBvSW5mbygpO1xuICAgIGNvbnN0IFssIG1ham9yLCBtaW5vciwgcGF0Y2hdID1cbiAgICAgIHBrZ1ZlcnMubWF0Y2goL14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykkLykgfHwgW107XG4gICAgaWYgKCFtYWpvciB8fCAhbWlub3IgfHwgIXBhdGNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbiBmb3JtYXQgaW4gcGFja2FnZS5qc29uJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkID0gZ2V0QnVpbGQoKTtcbiAgICBjb25zdCBpc1JlbGVhc2UgPSBhd2FpdCBnZXRJc1JlbGVhc2UoYnJhbmNoLCByZWxlYXNlKTtcbiAgICBjb25zdCBzaG9ydCA9IGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofWA7XG4gICAgY29uc3QgbnBtID0gYCR7c2hvcnR9JHtpc1JlbGVhc2UgPyAnJyA6IGAtJHticmFuY2h9LiR7YnVpbGR9YH1gO1xuICAgIGNvbnN0IGluZm8gPSBgJHtzaG9ydH0ke1xuICAgICAgaXNSZWxlYXNlID8gYCske2J1aWxkfS5gIDogYC0ke2JyYW5jaH0uJHtidWlsZH0rYFxuICAgIH0ke3JldmlzaW9ufWA7XG4gICAgdmVyc2lvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICBicmFuY2gsXG4gICAgICByZXZpc2lvbixcbiAgICAgIG1ham9yLFxuICAgICAgbWlub3IsXG4gICAgICBwYXRjaCxcbiAgICAgIGJ1aWxkLFxuICAgICAgc2hvcnQsXG4gICAgICBpc1JlbGVhc2UsXG4gICAgICBucG0sXG4gICAgICBpbmZvLFxuICAgIH07XG4gICAgaWYgKGxvZ0l0KSB7XG4gICAgICBidWlsZExvZyhgQnVpbGRpbmcgdmVyc2lvbiAke2luZm99YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB2ZXJzaW9uO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmFubmVyKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHsgY29weXJpZ2h0ID0gJycgfSA9IGdldENmZygpO1xuICBjb25zdCB7IGluZm8sIG5hbWUgfSA9IGF3YWl0IGdldFZlcnNpb24oKTtcbiAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICByZXR1cm4gYCR7bmFtZX0gdiR7aW5mb30gfCAoYykgJHt0b2RheS5nZXRGdWxsWWVhcigpfSAke2NvcHlyaWdodH0gfCBidWlsdCBvbiAke3RvZGF5LnRvSVNPU3RyaW5nKCl9YDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFZlcnNpb25Db2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBgLy8gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9ICR7SlNPTi5zdHJpbmdpZnkoYXdhaXQgZ2V0VmVyc2lvbigpLCBudWxsLCAyKX1gO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VW5pcXVlQnVpbGRUYWcoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBicmFuY2gsIHJldmlzaW9uLCBidWlsZCB9ID0gYXdhaXQgZ2V0VmVyc2lvbigpO1xuICByZXR1cm4gYCR7YnJhbmNofS0ke3JldmlzaW9ufS0ke2J1aWxkfWA7XG59XG4iXX0=
package/version.js.flow DELETED
@@ -1,142 +0,0 @@
1
- // @flow
2
- import fs from 'fs';
3
- import { gitInfo } from './git';
4
- import { hgInfo } from './hg';
5
- import { getCfg, getPkg } from './pkg';
6
- import { buildLog } from './run';
7
-
8
- export function getBuild(): string {
9
- const arg = process.argv.find((el) => /^--buildNum=\d+$/.test(el));
10
- return (arg && arg.substr(11)) || process.env.BUILD_NUMBER || '0';
11
- }
12
-
13
- export function getReleaseBranch(): string {
14
- const { releaseBranch } = getCfg();
15
- return releaseBranch || 'master';
16
- }
17
-
18
- type RepoType = 'git' | 'hg' | 'unknown';
19
- export async function getRepoType(): Promise<RepoType> {
20
- const { repoType } = getCfg();
21
-
22
- return (
23
- repoType ||
24
- (fs.existsSync('./.hg')
25
- ? 'hg'
26
- : fs.existsSync('./.git')
27
- ? 'git'
28
- : 'unknown')
29
- );
30
- }
31
-
32
- type RepoInfo = {
33
- branch: string,
34
- revision: string,
35
- };
36
-
37
- export async function getRepoInfo(): Promise<RepoInfo> {
38
- const repoType = await getRepoType();
39
- const { branch, revision } =
40
- repoType === 'git'
41
- ? await gitInfo()
42
- : repoType === 'hg'
43
- ? await hgInfo()
44
- : {};
45
- if (!branch || !revision) {
46
- throw new Error('Failed to parse branch and revision from source repo.');
47
- }
48
- return { branch, revision };
49
- }
50
-
51
- export async function getDevBranch(): Promise<string> {
52
- const { devBranch } = getCfg();
53
- return devBranch || (await getRepoType()) === 'hg' ? 'default' : 'dev';
54
- }
55
-
56
- export async function getIsRelease(
57
- passedBranch?: ?string = null,
58
- releaseOverride?: ?boolean = null,
59
- ): Promise<boolean> {
60
- const branch = passedBranch || (await getRepoInfo()).branch;
61
- return releaseOverride != null
62
- ? releaseOverride
63
- : process.argv.includes('--force-release-version')
64
- ? true
65
- : branch === getReleaseBranch();
66
- }
67
-
68
- let cacheVersion = true;
69
- export function useVersionCache(useCache: boolean = true): void {
70
- cacheVersion = useCache;
71
- }
72
-
73
- export type Version = {|
74
- branch: string,
75
- build: string,
76
- info: string,
77
- isRelease: boolean,
78
- major: string,
79
- minor: string,
80
- name: string,
81
- npm: string,
82
- patch: string,
83
- revision: string,
84
- short: string,
85
- |};
86
-
87
- let version = null;
88
- export async function getVersion(
89
- logIt: boolean = true,
90
- release: ?boolean = null,
91
- ): Promise<Version> {
92
- if (!cacheVersion || version == null) {
93
- const { version: pkgVers, name } = getPkg();
94
- const { branch, revision } = await getRepoInfo();
95
- const [, major, minor, patch] =
96
- pkgVers.match(/^(\d+)\.(\d+)\.(\d+)$/) || [];
97
- if (!major || !minor || !patch) {
98
- throw new Error('Invalid version format in package.json');
99
- }
100
- const build = getBuild();
101
- const isRelease = await getIsRelease(branch, release);
102
- const short = `${major}.${minor}.${patch}`;
103
- const npm = `${short}${isRelease ? '' : `-${branch}.${build}`}`;
104
- const info = `${short}${
105
- isRelease ? `+${build}.` : `-${branch}.${build}+`
106
- }${revision}`;
107
- version = {
108
- name,
109
- branch,
110
- revision,
111
- major,
112
- minor,
113
- patch,
114
- build,
115
- short,
116
- isRelease,
117
- npm,
118
- info,
119
- };
120
- if (logIt) {
121
- buildLog(`Building version ${info}`);
122
- }
123
- }
124
- return version;
125
- }
126
-
127
- export async function getBanner(): Promise<string> {
128
- const { copyright = '' } = getCfg();
129
- const { info, name } = await getVersion();
130
- const today = new Date();
131
- return `${name} v${info} | (c) ${today.getFullYear()} ${copyright} | built on ${today.toISOString()}`;
132
- }
133
-
134
- export async function getVersionCode(): Promise<string> {
135
- return `// This file is auto-generated
136
- export const version = ${JSON.stringify(await getVersion(), null, 2)}`;
137
- }
138
-
139
- export async function getUniqueBuildTag(): Promise<string> {
140
- const { branch, revision, build } = await getVersion();
141
- return `${branch}-${revision}-${build}`;
142
- }
package/yarn.js DELETED
@@ -1,124 +0,0 @@
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);
35
- }
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
-
53
- // 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);
80
- }
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
- }
120
- }
121
- }
122
- await yarn({ args: ['upgrade'] });
123
- }
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy95YXJuLmpzIl0sIm5hbWVzIjpbInlhcm5BZHYiLCJvcHRzIiwiYXJncyIsInNwYXduT3B0aW9ucyIsImxvY2FsWWFybiIsInBhdGgiLCJqb2luIiwiZGlybmFtZSIsInByb2Nlc3MiLCJleGVjUGF0aCIsInNwYXduT3B0cyIsInN0ZGlvIiwic2hlbGwiLCJlbnYiLCJmcyIsImV4aXN0cyIsInlhcm4iLCJyZWplY3RPbkVycm9yQ29kZSIsInRoZW4iLCJyIiwib3V0cHV0IiwieWFybkZpbGVzIiwieWFybkluc3RhbGwiLCJub2RlTW9kdWxlc1BhdGgiLCJoYXNoRmlsZVBhdGgiLCJmb3JjZSIsImVuc3VyZURpciIsImN1cnJlbnRIYXNoIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImYiLCJlbnN1cmVGaWxlIiwicHJldkhhc2giLCJyZWFkRmlsZSIsImxlbmd0aCIsIndyaXRlRmlsZSIsInlhcm5VcGdyYWRlIiwib3V0ZGF0ZWQiLCJjb2RlIiwic3Rkb3V0IiwiY2FwdHVyZU91dHB1dCIsImRlcGVuZGVuY2llcyIsImRldkRlcGVuZGVuY2llcyIsInBhY2thZ2VzIiwic3BsaXQiLCJzbGljZSIsImwiLCJmaWx0ZXIiLCJwIiwidGVzdCJdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Qjs7Ozs7OztBQU9PLGVBQWVBLE9BQWYsQ0FBdUJDLElBQXZCLEVBQWlFO0FBQ3RFLFFBQU0sRUFBRUMsSUFBSSxHQUFHLEVBQVQsRUFBYUMsWUFBYixLQUE4QkYsSUFBSSxJQUFJLEVBQTVDO0FBQ0EsUUFBTUcsU0FBUyxHQUFHQyxjQUFLQyxJQUFMO0FBQ2hCRCxnQkFBS0UsT0FBTCxDQUFhQyxPQUFPLENBQUNDLFFBQXJCLENBRGdCO0FBRWhCLGtDQUZnQixDQUFsQjs7O0FBS0EsUUFBTUMsU0FBUyxHQUFHO0FBQ2hCQyxJQUFBQSxLQUFLLEVBQUUsU0FEUztBQUVoQkMsSUFBQUEsS0FBSyxFQUFFLElBRlM7QUFH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LEVBQUVHLFlBQVksR0FBRyxFQUFqQixFQUFxQkMsZUFBZSxHQUFHLEVBQXZDLEtBQThDLGtCQUFwRDtBQUNBLFlBQU1DLFFBQVEsR0FBR0osTUFBTTtBQUNwQkssTUFBQUEsS0FEYyxDQUNSLElBRFE7QUFFZEMsTUFBQUEsS0FGYyxDQUVSLENBRlEsRUFFTCxDQUFDLENBRkk7QUFHZGhCLE1BQUFBLEdBSGMsQ0FHVixDQUFDaUIsQ0FBRCxLQUFPQSxDQUFDLENBQUNGLEtBQUYsQ0FBUSxLQUFSLEVBQWUsQ0FBZixDQUhHO0FBSWRHLE1BQUFBLE1BSmM7QUFLYixPQUFDQyxDQUFEO0FBQ0VwQixNQUFBQSxHQUFHLElBQUksQ0FBQyxNQUFNcUIsSUFBTixDQUFXUixZQUFZLENBQUNPLENBQUQsQ0FBWixJQUFtQk4sZUFBZSxDQUFDTSxDQUFELENBQWxDLElBQXlDLEVBQXBELENBTkcsQ0FBakI7O0FBUUEsVUFBSUwsUUFBUSxDQUFDVCxNQUFiLEVBQXFCO0FBQ25CLGNBQU1uQixJQUFJLENBQUMsRUFBRWQsSUFBSSxFQUFFLENBQUMsS0FBRCxFQUFRLEdBQUcwQyxRQUFYLENBQVIsRUFBRCxDQUFWO0FBQ0EsMkJBQVUsYUFBWUEsUUFBUSxDQUFDdEMsSUFBVCxDQUFjLElBQWQsQ0FBb0IsRUFBMUM7QUFDRCxPQUhELE1BR087QUFDTCwyQkFBUywrQkFBVDtBQUNEO0FBQ0Y7QUFDRjtBQUNELFFBQU1VLElBQUksQ0FBQyxFQUFFZCxJQUFJLEVBQUUsQ0FBQyxTQUFELENBQVIsRUFBRCxDQUFWO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IG1kNUZpbGUgZnJvbSAnbWQ1LWZpbGUnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgc3Bhd25BZHYgfSBmcm9tICcuL2NwJztcbmltcG9ydCB0eXBlIHsgU3Bhd25PcHRpb25zLCBTcGF3blJlc3VsdCB9IGZyb20gJy4vY3AnO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5pbXBvcnQgeyByZWFkRGlyIH0gZnJvbSAnLi9mcyc7XG5pbXBvcnQgeyBnZXRQa2cgfSBmcm9tICcuL3BrZyc7XG5cbmV4cG9ydCB0eXBlIFlhcm5PcHRpb25zID0ge3xcbiAgYXJncz86IHN0cmluZ1tdLFxuICBzcGF3bk9wdGlvbnM/OiA/U3Bhd25PcHRpb25zLFxufH07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB5YXJuQWR2KG9wdHM/OiBZYXJuT3B0aW9ucyk6IFByb21pc2U8U3Bhd25SZXN1bHQ+IHtcbiAgY29uc3QgeyBhcmdzID0gW10sIHNwYXduT3B0aW9ucyB9ID0gb3B0cyB8fCB7fTtcbiAgY29uc3QgbG9jYWxZYXJuID0gcGF0aC5qb2luKFxuICAgIHBhdGguZGlybmFtZShwcm9jZXNzLmV4ZWNQYXRoKSxcbiAgICAnL25vZGVfbW9kdWxlcy95YXJuL2Jpbi95YXJuLmpzJyxcbiAgKTtcblxuICBjb25zdCBzcGF3bk9wdHMgPSB7XG4gICAgc3RkaW86ICdpbmhlcml0JyxcbiAgICBzaGVsbDogdHJ1ZSxcbiAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgIC4uLnNwYXduT3B0aW9ucyxcbiAgfTtcblxuICByZXR1cm4gKGF3YWl0IGZzLmV4aXN0cyhsb2NhbFlhcm4pKVxuICAgID8gLy8gcHJlZmVyIHRvIHVzZSBsb2NhbCBjb3B5IG9mIHlhcm5cbiAgICAgIHNwYXduQWR2KHByb2Nlc3MuZXhlY1BhdGgsIFtsb2NhbFlhcm4sIC4uLmFyZ3NdLCBzcGF3bk9wdHMpXG4gICAgOiAvLyBmYWxsIGJhY2sgdG8gZ2xvYmFsbHkgaW5zdGFsbGVkIHlhcm5cbiAgICAgIHNwYXduQWR2KCd5YXJuJywgYXJncywgc3Bhd25PcHRzKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHlhcm4ob3B0cz86IFlhcm5PcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBhcmdzID0gW10sIHNwYXduT3B0aW9ucyB9ID0gb3B0cyB8fCB7fTtcbiAgcmV0dXJuIHlhcm5BZHYoe1xuICAgIGFyZ3MsXG4gICAgc3Bhd25PcHRpb25zOiB7IHJlamVjdE9uRXJyb3JDb2RlOiB0cnVlLCAuLi5zcGF3bk9wdGlvbnMgfSxcbiAgfSkudGhlbigocikgPT4gci5vdXRwdXQpO1xufVxuXG5leHBvcnQgY29uc3QgeWFybkZpbGVzID0gWycuL3BhY2thZ2UuanNvbicsICcuL3lhcm4ubG9jayddO1xuXG5leHBvcnQgdHlwZSBZYXJuSW5zdGFsbE9wdGlvbnMgPSB7fFxuICBub2RlTW9kdWxlc1BhdGg/OiBzdHJpbmcsXG4gIGhhc2hGaWxlUGF0aD86IHN0cmluZyxcbiAgZm9yY2U/OiBib29sZWFuLFxufH07XG5cbi8vIFNtYXJ0IHlhcm4gaW52b2NhdGlvbiwgb25seSBpZiBwYWNrYWdlIGNoYW5nZWRcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB5YXJuSW5zdGFsbChvcHRzPzogWWFybkluc3RhbGxPcHRpb25zKSB7XG4gIGNvbnN0IHtcbiAgICBub2RlTW9kdWxlc1BhdGggPSAnLi9ub2RlX21vZHVsZXMnLFxuICAgIGhhc2hGaWxlUGF0aCA9ICcuL2Rvd25sb2FkL2J1aWxkSGFzaF95YXJuLm1kNScsXG4gICAgZm9yY2UgPSBmYWxzZSxcbiAgfSA9IG9wdHMgfHwge307XG4gIGF3YWl0IGZzLmVuc3VyZURpcihub2RlTW9kdWxlc1BhdGgpO1xuICBjb25zdCBjdXJyZW50SGFzaCA9IChcbiAgICBhd2FpdCBQcm9taXNlLmFsbCh5YXJuRmlsZXMubWFwKGFzeW5jIChmKSA9PiBtZDVGaWxlKGYpKSlcbiAgKS5qb2luKCd8Jyk7XG4gIGF3YWl0IGZzLmVuc3VyZUZpbGUoaGFzaEZpbGVQYXRoKTtcbiAgY29uc3QgcHJldkhhc2ggPSBhd2FpdCBmcy5yZWFkRmlsZShoYXNoRmlsZVBhdGgsICd1dGY4Jyk7XG4gIGlmIChjdXJyZW50SGFzaCAhPT0gcHJldkhhc2gpIHtcbiAgICBidWlsZExvZyhcbiAgICAgICdub2RlIHBhY2thZ2UgZGVmaW5pdGlvbiBjaGFuZ2VkIHNpbmNlIGxhc3QgYnVpbGQsIGludm9raW5nIHlhcm4uJyxcbiAgICApO1xuICB9IGVsc2UgaWYgKCEoYXdhaXQgcmVhZERpcihgJHtub2RlTW9kdWxlc1BhdGh9LyoqLyouanNgKSkubGVuZ3RoKSB7XG4gICAgYnVpbGRMb2coJ25vZGUgcGFja2FnZXMgbWlzc2luZywgaW52b2tpbmcgeWFybi4nKTtcbiAgfSBlbHNlIGlmIChmb3JjZSkge1xuICAgIGJ1aWxkTG9nKCdub2RlIHBhY2thZ2VzIHVuY2hhbmdlZCwgYnV0IHlhcm4gZm9yY2VkIG9uIGNvbW1hbmQgbGluZS4uLicpO1xuICB9IGVsc2Uge1xuICAgIGJ1aWxkTG9nKCdub2RlIHBhY2thZ2VzIHVuY2hhbmdlZCBzaW5jZSBsYXN0IGJ1aWxkLCBza2lwcGluZyB5YXJuLicpO1xuICAgIHJldHVybjtcbiAgfVxuICBhd2FpdCB5YXJuKCk7XG4gIGF3YWl0IGZzLndyaXRlRmlsZShoYXNoRmlsZVBhdGgsIGN1cnJlbnRIYXNoKTtcbn1cblxuZXhwb3J0IHR5cGUgWWFyblVwZ3JhZGVPcHRpb25zID0ge3xcbiAgLyoqXG4gICAqIFVzZSBgeWFybiBvdXRkYXRlZGAgdG8gZmluZCBwYWNrYWdlcyB0aGF0IHNob3VsZCBiZSB1cGdyYWRlZFxuICAgKiBNYXkgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzIChtYWpvciB2ZXJzaW9uIGNoYW5nZXMpXG4gICAqL1xuICBvdXRkYXRlZD86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBgZmFsc2VgIGJ5IGRlZmF1bHRcbiAgICogd2UgYXNzdW1lIGFueSBwYWNrYWdlIHdpdGggYW4gZXhwbGljaXQgdmVyc2lvbiBzaG91bGRuJ3QgYmUgdG91Y2hlZFxuICAgKi9cbiAgYWxsPzogYm9vbGVhbixcbnx9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24geWFyblVwZ3JhZGUob3B0cz86IFlhcm5VcGdyYWRlT3B0aW9ucykge1xuICBjb25zdCB7IG91dGRhdGVkID0gZmFsc2UsIGFsbCA9IGZhbHNlIH0gPSBvcHRzIHx8IHt9O1xuICBpZiAob3V0ZGF0ZWQpIHtcbiAgICBjb25zdCB7IGNvZGUsIHN0ZG91dCB9ID0gYXdhaXQgeWFybkFkdih7XG4gICAgICBhcmdzOiBbJ291dGRhdGVkJ10sXG4gICAgICBzcGF3bk9wdGlvbnM6IHsgc3RkaW86ICdwaXBlJywgY2FwdHVyZU91dHB1dDogdHJ1ZSB9LFxuICAgIH0pO1xuICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICBidWlsZExvZygnTm8gb3V0ZGF0ZWQgcGFja2FnZXMuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgZGVwZW5kZW5jaWVzID0ge30sIGRldkRlcGVuZGVuY2llcyA9IHt9IH0gPSBnZXRQa2coKTtcbiAgICAgIGNvbnN0IHBhY2thZ2VzID0gc3Rkb3V0XG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLnNsaWNlKDUsIC0xKVxuICAgICAgICAubWFwKChsKSA9PiBsLnNwbGl0KC9cXHMrLylbMF0pXG4gICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgKHApID0+XG4gICAgICAgICAgICBhbGwgfHwgIS9eXFxkLy50ZXN0KGRlcGVuZGVuY2llc1twXSB8fCBkZXZEZXBlbmRlbmNpZXNbcF0gfHwgJycpLFxuICAgICAgICApO1xuICAgICAgaWYgKHBhY2thZ2VzLmxlbmd0aCkge1xuICAgICAgICBhd2FpdCB5YXJuKHsgYXJnczogWydhZGQnLCAuLi5wYWNrYWdlc10gfSk7XG4gICAgICAgIGJ1aWxkTG9nKGBVcGdyYWRlZDogJHtwYWNrYWdlcy5qb2luKCcsICcpfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnVpbGRMb2coJ05vIGVsaWdpYmxlIG91dGRhdGVkIHBhY2thZ2VzJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGF3YWl0IHlhcm4oeyBhcmdzOiBbJ3VwZ3JhZGUnXSB9KTtcbn1cbiJdfQ==
package/yarn.js.flow DELETED
@@ -1,123 +0,0 @@
1
- // @flow
2
- import md5File from 'md5-file';
3
- import fs from 'fs-extra';
4
- import path from 'path';
5
- import { spawnAdv } from './cp';
6
- import type { SpawnOptions, SpawnResult } from './cp';
7
- import { buildLog } from './run';
8
- import { readDir } from './fs';
9
- import { getPkg } from './pkg';
10
-
11
- export type YarnOptions = {|
12
- args?: string[],
13
- spawnOptions?: ?SpawnOptions,
14
- |};
15
-
16
- export async function yarnAdv(opts?: YarnOptions): Promise<SpawnResult> {
17
- const { args = [], spawnOptions } = opts || {};
18
- const localYarn = path.join(
19
- path.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 fs.exists(localYarn))
31
- ? // prefer to use local copy of yarn
32
- spawnAdv(process.execPath, [localYarn, ...args], spawnOpts)
33
- : // fall back to globally installed yarn
34
- spawnAdv('yarn', args, spawnOpts);
35
- }
36
-
37
- export async function yarn(opts?: YarnOptions): Promise<string> {
38
- const { args = [], spawnOptions } = opts || {};
39
- return yarnAdv({
40
- args,
41
- spawnOptions: { rejectOnErrorCode: true, ...spawnOptions },
42
- }).then((r) => r.output);
43
- }
44
-
45
- export const yarnFiles = ['./package.json', './yarn.lock'];
46
-
47
- export type YarnInstallOptions = {|
48
- nodeModulesPath?: string,
49
- hashFilePath?: string,
50
- force?: boolean,
51
- |};
52
-
53
- // Smart yarn invocation, only if package changed
54
- export async function yarnInstall(opts?: YarnInstallOptions) {
55
- const {
56
- nodeModulesPath = './node_modules',
57
- hashFilePath = './download/buildHash_yarn.md5',
58
- force = false,
59
- } = opts || {};
60
- await fs.ensureDir(nodeModulesPath);
61
- const currentHash = (
62
- await Promise.all(yarnFiles.map(async (f) => md5File(f)))
63
- ).join('|');
64
- await fs.ensureFile(hashFilePath);
65
- const prevHash = await fs.readFile(hashFilePath, 'utf8');
66
- if (currentHash !== prevHash) {
67
- buildLog(
68
- 'node package definition changed since last build, invoking yarn.',
69
- );
70
- } else if (!(await readDir(`${nodeModulesPath}/**/*.js`)).length) {
71
- buildLog('node packages missing, invoking yarn.');
72
- } else if (force) {
73
- buildLog('node packages unchanged, but yarn forced on command line...');
74
- } else {
75
- buildLog('node packages unchanged since last build, skipping yarn.');
76
- return;
77
- }
78
- await yarn();
79
- await fs.writeFile(hashFilePath, currentHash);
80
- }
81
-
82
- export type YarnUpgradeOptions = {|
83
- /**
84
- * Use `yarn outdated` to find packages that should be upgraded
85
- * May include breaking changes (major version changes)
86
- */
87
- outdated?: boolean,
88
- /**
89
- * `false` by default
90
- * we assume any package with an explicit version shouldn't be touched
91
- */
92
- all?: boolean,
93
- |};
94
-
95
- export async function yarnUpgrade(opts?: YarnUpgradeOptions) {
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
- buildLog('No outdated packages.');
104
- } else {
105
- const { dependencies = {}, devDependencies = {} } = 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
- buildLog(`Upgraded: ${packages.join(', ')}`);
117
- } else {
118
- buildLog('No eligible outdated packages');
119
- }
120
- }
121
- }
122
- await yarn({ args: ['upgrade'] });
123
- }