build-strap 3.0.0 → 4.0.0-dev.4
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 +48 -0
- package/npm.js +133 -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 +150 -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/fs.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import glob from 'glob';
|
|
2
|
+
export declare const readDir: (pattern: string, options?: glob.IOptions | undefined) => Promise<string[]>;
|
|
3
|
+
export declare const moveDir: (source: string, target: string) => Promise<void>;
|
|
4
|
+
export declare const copyDir: (source: string, target: string, fileGlob?: string, globOptions?: null | glob.IOptions, renameFn?: (name: string) => string) => Promise<void>;
|
|
5
|
+
export declare const cleanDir: (pattern: string, globOptions?: false | glob.IOptions | undefined) => Promise<void>;
|
package/fs.js
CHANGED
|
@@ -1,95 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
new Promise((resolve, reject) =>
|
|
37
|
-
(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const makeDir = async (name) =>
|
|
43
|
-
_fsExtra.default.ensureDir(name);exports.makeDir = makeDir;
|
|
44
|
-
|
|
45
|
-
const moveDir = async (
|
|
46
|
-
source,
|
|
47
|
-
target) =>
|
|
48
|
-
{
|
|
49
|
-
const dirs = await readDir('**/*.*', {
|
|
50
|
-
cwd: source,
|
|
51
|
-
nosort: true,
|
|
52
|
-
dot: true });
|
|
53
|
-
|
|
54
|
-
await Promise.all(
|
|
55
|
-
dirs.map(async (dir) => {
|
|
56
|
-
const from = _path.default.resolve(source, dir);
|
|
57
|
-
const to = _path.default.resolve(target, dir);
|
|
58
|
-
await makeDir(_path.default.dirname(to));
|
|
59
|
-
await renameFile(from, to);
|
|
60
|
-
}));
|
|
61
|
-
|
|
62
|
-
};exports.moveDir = moveDir;
|
|
63
|
-
|
|
64
|
-
const copyDir = async (
|
|
65
|
-
source,
|
|
66
|
-
target,
|
|
67
|
-
fileGlob = '**/*.*',
|
|
68
|
-
globOptions = null,
|
|
69
|
-
renameFn = (n) => n) =>
|
|
70
|
-
{
|
|
71
|
-
const paths = await readDir(fileGlob, {
|
|
72
|
-
cwd: source,
|
|
73
|
-
nosort: true,
|
|
74
|
-
nodir: true,
|
|
75
|
-
dot: true,
|
|
76
|
-
...globOptions });
|
|
77
|
-
|
|
78
|
-
await Promise.all(
|
|
79
|
-
paths.map(async (p) => {
|
|
80
|
-
const from = _path.default.resolve(source, p);
|
|
81
|
-
const to = _path.default.resolve(target, renameFn(p));
|
|
82
|
-
await makeDir(_path.default.dirname(to));
|
|
83
|
-
await copyFile(from, to);
|
|
84
|
-
}));
|
|
85
|
-
|
|
86
|
-
};exports.copyDir = copyDir;
|
|
87
|
-
|
|
88
|
-
const cleanDir = async (
|
|
89
|
-
pattern,
|
|
90
|
-
globOptions) =>
|
|
91
|
-
|
|
92
|
-
new Promise((resolve, reject) =>
|
|
93
|
-
(0, _rimraf.default)(pattern, { glob: globOptions }, (err) =>
|
|
94
|
-
err ? reject(err) : resolve()));exports.cleanDir = cleanDir;
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcy5qcyJdLCJuYW1lcyI6WyJyZWFkRmlsZSIsImZpbGUiLCJvcHRpb25zIiwiZnMiLCJ3cml0ZUZpbGUiLCJkYXRhIiwicmVuYW1lRmlsZSIsInNvdXJjZSIsInRhcmdldCIsInJlbmFtZSIsImNvcHlGaWxlIiwicmVhZERpciIsInBhdHRlcm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVyciIsInJlc3VsdCIsIm1ha2VEaXIiLCJuYW1lIiwiZW5zdXJlRGlyIiwibW92ZURpciIsImRpcnMiLCJjd2QiLCJub3NvcnQiLCJkb3QiLCJhbGwiLCJtYXAiLCJkaXIiLCJmcm9tIiwicGF0aCIsInRvIiwiZGlybmFtZSIsImNvcHlEaXIiLCJmaWxlR2xvYiIsImdsb2JPcHRpb25zIiwicmVuYW1lRm4iLCJuIiwicGF0aHMiLCJub2RpciIsInAiLCJjbGVhbkRpciIsImdsb2IiXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RDs7QUFFTyxNQUFNQSxRQUFRLEdBQUc7QUFDdEJDLElBRHNCO0FBRXRCQyxPQU1LOzs7Ozs7QUFBRyxNQVJjO0FBU0ZDLGlCQUFHSCxRQUFILENBQVlDLElBQVosRUFBa0JDLE9BQWxCLENBVGYsQzs7QUFXQSxNQUFNRSxTQUFTLEdBQUc7QUFDdkJILElBRHVCO0FBRXZCSSxJQUZ1QjtBQUd2QkgsT0FIdUI7QUFJTEMsaUJBQUdDLFNBQUgsQ0FBYUgsSUFBYixFQUFtQkksSUFBbkIsRUFBeUJILE9BQXpCLENBSmIsQzs7QUFNQSxNQUFNSSxVQUFVLEdBQUc7QUFDeEJDLE1BRHdCO0FBRXhCQyxNQUZ3QjtBQUdOTCxpQkFBR00sTUFBSCxDQUFVRixNQUFWLEVBQWtCQyxNQUFsQixDQUhiLEM7O0FBS0EsTUFBTUUsUUFBUSxHQUFHLE9BQU9ILE1BQVAsRUFBdUJDLE1BQXZCO0FBQ3RCTCxpQkFBR08sUUFBSCxDQUFZSCxNQUFaLEVBQW9CQyxNQUFwQixDQURLLEM7O0FBR0EsTUFBTUcsT0FBTyxHQUFHO0FBQ3JCQyxPQURxQjtBQUVyQlYsT0FGcUI7O0FBSXJCLElBQUlXLE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVDLE1BQVY7QUFDVixtQkFBS0gsT0FBTCxFQUFjVixPQUFPLElBQUksRUFBekIsRUFBNkIsQ0FBQ2MsR0FBRCxFQUFNQyxNQUFOO0FBQzNCRCxHQUFHLEdBQUdELE1BQU0sQ0FBQ0MsR0FBRCxDQUFULEdBQWlCRixPQUFPLENBQUNHLE1BQUQsQ0FEN0IsQ0FERixDQUpLLEM7Ozs7QUFVQSxNQUFNQyxPQUFPLEdBQUcsT0FBT0MsSUFBUDtBQUNyQmhCLGlCQUFHaUIsU0FBSCxDQUFhRCxJQUFiLENBREssQzs7QUFHQSxNQUFNRSxPQUFPLEdBQUc7QUFDckJkLE1BRHFCO0FBRXJCQyxNQUZxQjtBQUdIO0FBQ2xCLFFBQU1jLElBQUksR0FBRyxNQUFNWCxPQUFPLENBQUMsUUFBRCxFQUFXO0FBQ25DWSxJQUFBQSxHQUFHLEVBQUVoQixNQUQ4QjtBQUVuQ2lCLElBQUFBLE1BQU0sRUFBRSxJQUYyQjtBQUduQ0MsSUFBQUEsR0FBRyxFQUFFLElBSDhCLEVBQVgsQ0FBMUI7O0FBS0EsUUFBTVosT0FBTyxDQUFDYSxHQUFSO0FBQ0pKLEVBQUFBLElBQUksQ0FBQ0ssR0FBTCxDQUFTLE9BQU9DLEdBQVAsS0FBZTtBQUN0QixVQUFNQyxJQUFJLEdBQUdDLGNBQUtoQixPQUFMLENBQWFQLE1BQWIsRUFBcUJxQixHQUFyQixDQUFiO0FBQ0EsVUFBTUcsRUFBRSxHQUFHRCxjQUFLaEIsT0FBTCxDQUFhTixNQUFiLEVBQXFCb0IsR0FBckIsQ0FBWDtBQUNBLFVBQU1WLE9BQU8sQ0FBQ1ksY0FBS0UsT0FBTCxDQUFhRCxFQUFiLENBQUQsQ0FBYjtBQUNBLFVBQU16QixVQUFVLENBQUN1QixJQUFELEVBQU9FLEVBQVAsQ0FBaEI7QUFDRCxHQUxELENBREksQ0FBTjs7QUFRRCxDQWpCTSxDOztBQW1CQSxNQUFNRSxPQUFPLEdBQUc7QUFDckIxQixNQURxQjtBQUVyQkMsTUFGcUI7QUFHckIwQixRQUFnQixHQUFHLFFBSEU7QUFJckJDLFdBQXFCLEdBQUcsSUFKSDtBQUtyQkMsUUFBa0MsR0FBRyxDQUFDQyxDQUFELEtBQU9BLENBTHZCO0FBTUg7QUFDbEIsUUFBTUMsS0FBSyxHQUFHLE1BQU0zQixPQUFPLENBQUN1QixRQUFELEVBQVc7QUFDcENYLElBQUFBLEdBQUcsRUFBRWhCLE1BRCtCO0FBRXBDaUIsSUFBQUEsTUFBTSxFQUFFLElBRjRCO0FBR3BDZSxJQUFBQSxLQUFLLEVBQUUsSUFINkI7QUFJcENkLElBQUFBLEdBQUcsRUFBRSxJQUorQjtBQUtwQyxPQUFHVSxXQUxpQyxFQUFYLENBQTNCOztBQU9BLFFBQU10QixPQUFPLENBQUNhLEdBQVI7QUFDSlksRUFBQUEsS0FBSyxDQUFDWCxHQUFOLENBQVUsT0FBT2EsQ0FBUCxLQUFhO0FBQ3JCLFVBQU1YLElBQUksR0FBR0MsY0FBS2hCLE9BQUwsQ0FBYVAsTUFBYixFQUFxQmlDLENBQXJCLENBQWI7QUFDQSxVQUFNVCxFQUFFLEdBQUdELGNBQUtoQixPQUFMLENBQWFOLE1BQWIsRUFBcUI0QixRQUFRLENBQUNJLENBQUQsQ0FBN0IsQ0FBWDtBQUNBLFVBQU10QixPQUFPLENBQUNZLGNBQUtFLE9BQUwsQ0FBYUQsRUFBYixDQUFELENBQWI7QUFDQSxVQUFNckIsUUFBUSxDQUFDbUIsSUFBRCxFQUFPRSxFQUFQLENBQWQ7QUFDRCxHQUxELENBREksQ0FBTjs7QUFRRCxDQXRCTSxDOztBQXdCQSxNQUFNVSxRQUFRLEdBQUc7QUFDdEI3QixPQURzQjtBQUV0QnVCLFdBRnNCOztBQUl0QixJQUFJdEIsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVUMsTUFBVjtBQUNWLHFCQUFPSCxPQUFQLEVBQWdCLEVBQUU4QixJQUFJLEVBQUVQLFdBQVIsRUFBaEIsRUFBdUMsQ0FBQ25CLEdBQUQ7QUFDckNBLEdBQUcsR0FBR0QsTUFBTSxDQUFDQyxHQUFELENBQVQsR0FBaUJGLE9BQU8sRUFEN0IsQ0FERixDQUpLLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGdsb2IsIHsgdHlwZSBPcHRpb25zIGFzIEdsb2JPcHRpb25zIH0gZnJvbSAnZ2xvYic7XG5pbXBvcnQgcmltcmFmIGZyb20gJ3JpbXJhZic7XG5cbmV4cG9ydCBjb25zdCByZWFkRmlsZSA9IGFzeW5jIChcbiAgZmlsZTogc3RyaW5nLFxuICBvcHRpb25zOlxuICAgIHwgc3RyaW5nXG4gICAgfCB7XG4gICAgICAgIGVuY29kaW5nOiBzdHJpbmcsXG4gICAgICAgIGZsYWc/OiBzdHJpbmcsXG4gICAgICAgIC4uLlxuICAgICAgfSA9ICd1dGY4Jyxcbik6IFByb21pc2U8c3RyaW5nPiA9PiBmcy5yZWFkRmlsZShmaWxlLCBvcHRpb25zKTtcblxuZXhwb3J0IGNvbnN0IHdyaXRlRmlsZSA9IGFzeW5jIChcbiAgZmlsZTogc3RyaW5nLFxuICBkYXRhOiBzdHJpbmcgfCBCdWZmZXIsXG4gIG9wdGlvbnM/OiBzdHJpbmcgfCBPYmplY3QsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IGZzLndyaXRlRmlsZShmaWxlLCBkYXRhLCBvcHRpb25zKTtcblxuZXhwb3J0IGNvbnN0IHJlbmFtZUZpbGUgPSBhc3luYyAoXG4gIHNvdXJjZTogc3RyaW5nLFxuICB0YXJnZXQ6IHN0cmluZyxcbik6IFByb21pc2U8dm9pZD4gPT4gZnMucmVuYW1lKHNvdXJjZSwgdGFyZ2V0KTtcblxuZXhwb3J0IGNvbnN0IGNvcHlGaWxlID0gYXN5bmMgKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT5cbiAgZnMuY29weUZpbGUoc291cmNlLCB0YXJnZXQpO1xuXG5leHBvcnQgY29uc3QgcmVhZERpciA9IGFzeW5jIChcbiAgcGF0dGVybjogc3RyaW5nLFxuICBvcHRpb25zPzogT2JqZWN0LFxuKTogUHJvbWlzZTxzdHJpbmdbXT4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICBnbG9iKHBhdHRlcm4sIG9wdGlvbnMgfHwge30sIChlcnIsIHJlc3VsdCkgPT5cbiAgICAgIGVyciA/IHJlamVjdChlcnIpIDogcmVzb2x2ZShyZXN1bHQpLFxuICAgICksXG4gICk7XG5cbmV4cG9ydCBjb25zdCBtYWtlRGlyID0gYXN5bmMgKG5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT5cbiAgZnMuZW5zdXJlRGlyKG5hbWUpO1xuXG5leHBvcnQgY29uc3QgbW92ZURpciA9IGFzeW5jIChcbiAgc291cmNlOiBzdHJpbmcsXG4gIHRhcmdldDogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IGRpcnMgPSBhd2FpdCByZWFkRGlyKCcqKi8qLionLCB7XG4gICAgY3dkOiBzb3VyY2UsXG4gICAgbm9zb3J0OiB0cnVlLFxuICAgIGRvdDogdHJ1ZSxcbiAgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGRpcnMubWFwKGFzeW5jIChkaXIpID0+IHtcbiAgICAgIGNvbnN0IGZyb20gPSBwYXRoLnJlc29sdmUoc291cmNlLCBkaXIpO1xuICAgICAgY29uc3QgdG8gPSBwYXRoLnJlc29sdmUodGFyZ2V0LCBkaXIpO1xuICAgICAgYXdhaXQgbWFrZURpcihwYXRoLmRpcm5hbWUodG8pKTtcbiAgICAgIGF3YWl0IHJlbmFtZUZpbGUoZnJvbSwgdG8pO1xuICAgIH0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvcHlEaXIgPSBhc3luYyAoXG4gIHNvdXJjZTogc3RyaW5nLFxuICB0YXJnZXQ6IHN0cmluZyxcbiAgZmlsZUdsb2I6IHN0cmluZyA9ICcqKi8qLionLFxuICBnbG9iT3B0aW9ucz86ID9PYmplY3QgPSBudWxsLFxuICByZW5hbWVGbjogKG5hbWU6IHN0cmluZykgPT4gc3RyaW5nID0gKG4pID0+IG4sXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcGF0aHMgPSBhd2FpdCByZWFkRGlyKGZpbGVHbG9iLCB7XG4gICAgY3dkOiBzb3VyY2UsXG4gICAgbm9zb3J0OiB0cnVlLFxuICAgIG5vZGlyOiB0cnVlLFxuICAgIGRvdDogdHJ1ZSxcbiAgICAuLi5nbG9iT3B0aW9ucyxcbiAgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIHBhdGhzLm1hcChhc3luYyAocCkgPT4ge1xuICAgICAgY29uc3QgZnJvbSA9IHBhdGgucmVzb2x2ZShzb3VyY2UsIHApO1xuICAgICAgY29uc3QgdG8gPSBwYXRoLnJlc29sdmUodGFyZ2V0LCByZW5hbWVGbihwKSk7XG4gICAgICBhd2FpdCBtYWtlRGlyKHBhdGguZGlybmFtZSh0bykpO1xuICAgICAgYXdhaXQgY29weUZpbGUoZnJvbSwgdG8pO1xuICAgIH0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFuRGlyID0gYXN5bmMgKFxuICBwYXR0ZXJuOiBzdHJpbmcsXG4gIGdsb2JPcHRpb25zPzogR2xvYk9wdGlvbnMgfCBib29sZWFuLFxuKTogUHJvbWlzZTx2b2lkPiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PlxuICAgIHJpbXJhZihwYXR0ZXJuLCB7IGdsb2I6IGdsb2JPcHRpb25zIH0sIChlcnIpID0+XG4gICAgICBlcnIgPyByZWplY3QoZXJyKSA6IHJlc29sdmUoKSxcbiAgICApLFxuICApO1xuIl19
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import glob from 'glob';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import rimraf from 'rimraf';
|
|
5
|
+
export const readDir = async (pattern, options) => new Promise((resolve, reject) => {
|
|
6
|
+
glob(pattern, options || {}, (err, result) => err ? reject(err) : resolve(result));
|
|
7
|
+
});
|
|
8
|
+
export const moveDir = async (source, target) => {
|
|
9
|
+
const dirs = await readDir('**/*.*', {
|
|
10
|
+
cwd: source,
|
|
11
|
+
dot: true,
|
|
12
|
+
nosort: true,
|
|
13
|
+
});
|
|
14
|
+
await Promise.all(dirs.map(async (dir) => {
|
|
15
|
+
const from = path.resolve(source, dir);
|
|
16
|
+
const to = path.resolve(target, dir);
|
|
17
|
+
await fs.ensureDir(path.dirname(to));
|
|
18
|
+
await fs.rename(from, to);
|
|
19
|
+
}));
|
|
20
|
+
};
|
|
21
|
+
export const copyDir = async (source, target, fileGlob = '**/*.*', globOptions = null, renameFn = (n) => n) => {
|
|
22
|
+
const paths = await readDir(fileGlob, {
|
|
23
|
+
cwd: source,
|
|
24
|
+
dot: true,
|
|
25
|
+
nodir: true,
|
|
26
|
+
nosort: true,
|
|
27
|
+
...globOptions,
|
|
28
|
+
});
|
|
29
|
+
await Promise.all(paths.map(async (p) => {
|
|
30
|
+
const from = path.resolve(source, p);
|
|
31
|
+
const to = path.resolve(target, renameFn(p));
|
|
32
|
+
await fs.ensureDir(path.dirname(to));
|
|
33
|
+
await fs.copyFile(from, to);
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
export const cleanDir = async (pattern, globOptions) => new Promise((resolve, reject) => {
|
|
37
|
+
rimraf(pattern, { glob: globOptions }, (err) => err ? reject(err) : resolve());
|
|
38
|
+
});
|
package/git.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function git(args: string[]): Promise<string>;
|
|
2
|
+
export declare function gitBranch(): Promise<string>;
|
|
3
|
+
export declare function gitRevId(): Promise<string>;
|
|
4
|
+
declare type GitInfo = {
|
|
5
|
+
branch: string;
|
|
6
|
+
revision: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function gitInfo(noCache?: boolean): Promise<GitInfo>;
|
|
9
|
+
export {};
|
package/git.js
CHANGED
|
@@ -1,35 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
async function git(args) {
|
|
5
|
-
return (await (0, _cp.exec)(`git ${args.join(' ')}`)).stdout.toString();
|
|
1
|
+
import { exec } from './cp.js';
|
|
2
|
+
export async function git(args) {
|
|
3
|
+
return (await exec(`git ${args.join(' ')}`)).stdout.toString();
|
|
6
4
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
trim();
|
|
5
|
+
export async function gitBranch() {
|
|
6
|
+
return (await git(['symbolic-ref', '--short', 'HEAD']))
|
|
7
|
+
.replace(/[_+/]/g, '-')
|
|
8
|
+
.trim();
|
|
12
9
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
trim();
|
|
10
|
+
export async function gitRevId() {
|
|
11
|
+
return (await git(['rev-parse', '--short=12', 'HEAD']))
|
|
12
|
+
.replace(/[+]/g, '')
|
|
13
|
+
.trim();
|
|
18
14
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
15
|
let info = null;
|
|
26
|
-
async function gitInfo(noCache = false) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
export async function gitInfo(noCache = false) {
|
|
17
|
+
if (!info || noCache) {
|
|
18
|
+
info = {
|
|
19
|
+
branch: await gitBranch(),
|
|
20
|
+
revision: await gitRevId(),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return info;
|
|
34
24
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9naXQuanMiXSwibmFtZXMiOlsiZ2l0IiwiYXJncyIsImpvaW4iLCJzdGRvdXQiLCJ0b1N0cmluZyIsImdpdEJyYW5jaCIsInJlcGxhY2UiLCJ0cmltIiwiZ2l0UmV2SWQiLCJpbmZvIiwiZ2l0SW5mbyIsIm5vQ2FjaGUiLCJicmFuY2giLCJyZXZpc2lvbiJdLCJtYXBwaW5ncyI6IjtBQUNBOztBQUVPLGVBQWVBLEdBQWYsQ0FBbUJDLElBQW5CLEVBQW9EO0FBQ3pELFNBQU8sQ0FBQyxNQUFNLGNBQU0sT0FBTUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsR0FBVixDQUFlLEVBQTNCLENBQVAsRUFBc0NDLE1BQXRDLENBQTZDQyxRQUE3QyxFQUFQO0FBQ0Q7O0FBRU0sZUFBZUMsU0FBZixHQUE0QztBQUNqRCxTQUFPLENBQUMsTUFBTUwsR0FBRyxDQUFDLENBQUMsY0FBRCxFQUFpQixTQUFqQixFQUE0QixNQUE1QixDQUFELENBQVY7QUFDSk0sRUFBQUEsT0FESSxDQUNJLFFBREosRUFDYyxHQURkO0FBRUpDLEVBQUFBLElBRkksRUFBUDtBQUdEOztBQUVNLGVBQWVDLFFBQWYsR0FBMkM7QUFDaEQsU0FBTyxDQUFDLE1BQU1SLEdBQUcsQ0FBQyxDQUFDLFdBQUQsRUFBYyxZQUFkLEVBQTRCLE1BQTVCLENBQUQsQ0FBVjtBQUNKTSxFQUFBQSxPQURJLENBQ0ksTUFESixFQUNZLEVBRFo7QUFFSkMsRUFBQUEsSUFGSSxFQUFQO0FBR0Q7Ozs7Ozs7QUFPRCxJQUFJRSxJQUFJLEdBQUcsSUFBWDtBQUNPLGVBQWVDLE9BQWYsQ0FBdUJDLE9BQWdCLEdBQUcsS0FBMUMsRUFBbUU7QUFDeEUsTUFBSSxDQUFDRixJQUFELElBQVNFLE9BQWIsRUFBc0I7QUFDcEJGLElBQUFBLElBQUksR0FBRztBQUNMRyxNQUFBQSxNQUFNLEVBQUUsTUFBTVAsU0FBUyxFQURsQjtBQUVMUSxNQUFBQSxRQUFRLEVBQUUsTUFBTUwsUUFBUSxFQUZuQixFQUFQOztBQUlEO0FBQ0QsU0FBT0MsSUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICcuL2NwJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdpdChhcmdzOiBzdHJpbmdbXSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZXhlYyhgZ2l0ICR7YXJncy5qb2luKCcgJyl9YCkpLnN0ZG91dC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2l0QnJhbmNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZ2l0KFsnc3ltYm9saWMtcmVmJywgJy0tc2hvcnQnLCAnSEVBRCddKSlcbiAgICAucmVwbGFjZSgvW18rL10vZywgJy0nKVxuICAgIC50cmltKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnaXRSZXZJZCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gKGF3YWl0IGdpdChbJ3Jldi1wYXJzZScsICctLXNob3J0PTEyJywgJ0hFQUQnXSkpXG4gICAgLnJlcGxhY2UoL1srXS9nLCAnJylcbiAgICAudHJpbSgpO1xufVxuXG50eXBlIEdpdEluZm8gPSB7XG4gIGJyYW5jaDogc3RyaW5nLFxuICByZXZpc2lvbjogc3RyaW5nLFxufTtcblxubGV0IGluZm8gPSBudWxsO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdpdEluZm8obm9DYWNoZTogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxHaXRJbmZvPiB7XG4gIGlmICghaW5mbyB8fCBub0NhY2hlKSB7XG4gICAgaW5mbyA9IHtcbiAgICAgIGJyYW5jaDogYXdhaXQgZ2l0QnJhbmNoKCksXG4gICAgICByZXZpc2lvbjogYXdhaXQgZ2l0UmV2SWQoKSxcbiAgICB9O1xuICB9XG4gIHJldHVybiBpbmZvO1xufVxuIl19
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './ant.js';
|
|
2
|
+
export * from './cert.js';
|
|
3
|
+
export * from './clean.js';
|
|
4
|
+
export * from './copy.js';
|
|
5
|
+
export * from './cp.js';
|
|
6
|
+
export * from './docker.js';
|
|
7
|
+
export * from './docker.container.js';
|
|
8
|
+
export * from './docker.network.js';
|
|
9
|
+
export * from './docker.volume.js';
|
|
10
|
+
export * from './dockerCleanup.js';
|
|
11
|
+
export * from './dockerCompose.js';
|
|
12
|
+
export * from './fs.js';
|
|
13
|
+
export * from './git.js';
|
|
14
|
+
export * from './npm.js';
|
|
15
|
+
export * from './pkg.js';
|
|
16
|
+
export * from './publish.js';
|
|
17
|
+
export * from './run.js';
|
|
18
|
+
export * from './tgz.js';
|
|
19
|
+
export * from './version.js';
|
|
20
|
+
export * from './yarn.js';
|
package/index.js
CHANGED
|
@@ -1,27 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var _publish = require("./publish");Object.keys(_publish).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _publish[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _publish[key];} });});
|
|
22
|
-
var _run = require("./run");Object.keys(_run).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _run[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _run[key];} });});
|
|
23
|
-
var _test = require("./test");Object.keys(_test).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _test[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _test[key];} });});
|
|
24
|
-
var _tgz = require("./tgz");Object.keys(_tgz).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _tgz[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _tgz[key];} });});
|
|
25
|
-
var _version = require("./version");Object.keys(_version).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _version[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _version[key];} });});
|
|
26
|
-
var _yarn = require("./yarn");Object.keys(_yarn).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (key in exports && exports[key] === _yarn[key]) return;Object.defineProperty(exports, key, { enumerable: true, get: function () {return _yarn[key];} });});
|
|
27
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuZXhwb3J0ICogZnJvbSAnLi9hbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnRpZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NlcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGVhbic7XG5leHBvcnQgKiBmcm9tICcuL2NvcHknO1xuZXhwb3J0ICogZnJvbSAnLi9jcCc7XG5leHBvcnQgKiBmcm9tICcuL2RvY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2RvY2tlci5jb250YWluZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kb2NrZXIubmV0d29yayc7XG5leHBvcnQgKiBmcm9tICcuL2RvY2tlci52b2x1bWUnO1xuZXhwb3J0ICogZnJvbSAnLi9kb2NrZXJDbGVhbnVwJztcbmV4cG9ydCAqIGZyb20gJy4vZG9ja2VyQ29tcG9zZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9mcyc7XG5leHBvcnQgKiBmcm9tICcuL2dpdCc7XG5leHBvcnQgKiBmcm9tICcuL2hnJztcbmV4cG9ydCAqIGZyb20gJy4vaW5saW5lLXJlc291cmNlcyc7XG5leHBvcnQgKiBmcm9tICcuL25wbSc7XG5leHBvcnQgKiBmcm9tICcuL3BrZyc7XG5leHBvcnQgKiBmcm9tICcuL3B1Ymxpc2gnO1xuZXhwb3J0ICogZnJvbSAnLi9ydW4nO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vdGd6JztcbmV4cG9ydCAqIGZyb20gJy4vdmVyc2lvbic7XG5leHBvcnQgKiBmcm9tICcuL3lhcm4nO1xuIl19
|
|
1
|
+
export * from './ant.js';
|
|
2
|
+
export * from './cert.js';
|
|
3
|
+
export * from './clean.js';
|
|
4
|
+
export * from './copy.js';
|
|
5
|
+
export * from './cp.js';
|
|
6
|
+
export * from './docker.js';
|
|
7
|
+
export * from './docker.container.js';
|
|
8
|
+
export * from './docker.network.js';
|
|
9
|
+
export * from './docker.volume.js';
|
|
10
|
+
export * from './dockerCleanup.js';
|
|
11
|
+
export * from './dockerCompose.js';
|
|
12
|
+
export * from './fs.js';
|
|
13
|
+
export * from './git.js';
|
|
14
|
+
export * from './npm.js';
|
|
15
|
+
export * from './pkg.js';
|
|
16
|
+
export * from './publish.js';
|
|
17
|
+
export * from './run.js';
|
|
18
|
+
export * from './tgz.js';
|
|
19
|
+
export * from './version.js';
|
|
20
|
+
export * from './yarn.js';
|
package/maps.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Given a `ObjMap`, iterate over each entry and run it through the given `map` function.
|
|
3
|
+
* @param {ObjMap} obj the input object
|
|
4
|
+
* @param {Function} map the mapping operation
|
|
5
|
+
* @returns {ObjMap} a new object
|
|
6
|
+
*/
|
|
7
|
+
export declare const mapValues: <K extends string, V, R>(obj: Record<K, V> | null | undefined, map: (value: V, key: K, map: Record<K, V>) => R) => Record<K, R>;
|
|
8
|
+
/**
|
|
9
|
+
* Given a `ObjMap`, iterate over each entry and run it through the given async `map` function.
|
|
10
|
+
* The promise returned by the `map` is awaited, such that the resulting `ObjMap` values are
|
|
11
|
+
* the result of the resolved promise.
|
|
12
|
+
* @param {ObjMap} obj the input object
|
|
13
|
+
* @param {Function} map the async mapping operation
|
|
14
|
+
* @returns {Promise} a promise for a new object
|
|
15
|
+
*/
|
|
16
|
+
export declare const mapValuesAsync: <K extends string, V, R>(obj: Record<K, V> | null | undefined, map: (value: V, key: K, objMap: Record<K, V>) => Promise<R>) => Promise<Record<K, R>>;
|
|
17
|
+
/**
|
|
18
|
+
* Given a `ObjMap`, iterate over each entry and run it through the given `filter` function.
|
|
19
|
+
* Any entry for which the `filter` returns `false` is removed from the resulting `ObjMap`.
|
|
20
|
+
* All other entries are left as-is. The resulting output is a subset of the input.
|
|
21
|
+
* If no `filter` is specified, default to filtering out nullish values.
|
|
22
|
+
* @param {ObjMap} obj the input object
|
|
23
|
+
* @param {Function} filter the filter operation
|
|
24
|
+
* @returns {ObjMap} a new object, a subset of the input
|
|
25
|
+
*/
|
|
26
|
+
export declare const filterKeys: <V, K extends string = string>(obj: Record<K, V> | null | undefined, filter?: (value: V, key: K, objMap: Record<K, V>) => boolean) => Partial<Record<K, V>>;
|
|
27
|
+
/**
|
|
28
|
+
* Given an object, removes any top level keys with a nullish value.
|
|
29
|
+
* The type system should preserve the incoming object type, with all such keys typed as `empty`.
|
|
30
|
+
* @param {Object} obj the input object
|
|
31
|
+
* @returns {Object} a new object, a subset of the input
|
|
32
|
+
*/
|
|
33
|
+
export declare const filterNullish: <T>(obj: Record<string, T>) => Record<string, Exclude<T, null | undefined>>;
|
package/maps.js
CHANGED
|
@@ -1,62 +1,12 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.filterNullish = exports.filterKeys = exports.mapValuesAsync = exports.mapValues = exports.entries = exports.values = exports.keys = void 0;
|
|
2
|
-
// Util functions for using objects as maps and preserving type information
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* An object with arbitrary keys, where every key's value is of the same type.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// Alias for above, generics in opposite order (for backwards compat)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Given an input object, return an array of the keys.
|
|
15
|
-
* This is a wrapper around the standard `Object.keys` that preserves type information.
|
|
16
|
-
* @param {ObjMap} obj the input object
|
|
17
|
-
* @returns {Array} an array of keys. These will always be strings, but flow may assign
|
|
18
|
-
* a more specific type when possible
|
|
19
|
-
*/
|
|
20
|
-
const keys = (obj) =>
|
|
21
|
-
Object.keys(obj || {});
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Given an input object, return an array of the values.
|
|
25
|
-
* This is a wrapper around the standard `Object.values` that preserves type information.
|
|
26
|
-
* @param {ObjMap} obj the input object
|
|
27
|
-
* @returns {Array} an array of values
|
|
28
|
-
*/exports.keys = keys;
|
|
29
|
-
const values = (obj) =>
|
|
30
|
-
Object.values(obj || {});
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Given a `ObjMap`, return an array of the entries.
|
|
34
|
-
* This is a wrapper around the standard `Object.entries` that preserves type information.
|
|
35
|
-
* It assumes an object with homogenous values.
|
|
36
|
-
* @param {ObjMap} obj the input object
|
|
37
|
-
* @returns {Array} an array of entry [key, value] tuples
|
|
38
|
-
*/exports.values = values;
|
|
39
|
-
const entries = (obj) =>
|
|
40
|
-
Object.entries(obj || {});
|
|
41
|
-
|
|
42
1
|
/**
|
|
43
2
|
* Given a `ObjMap`, iterate over each entry and run it through the given `map` function.
|
|
44
3
|
* @param {ObjMap} obj the input object
|
|
45
4
|
* @param {Function} map the mapping operation
|
|
46
5
|
* @returns {ObjMap} a new object
|
|
47
|
-
*/
|
|
48
|
-
const mapValues = (
|
|
49
|
-
obj,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
entries(obj).reduce(
|
|
53
|
-
(acc, [k, v]) =>
|
|
54
|
-
Object.assign(acc, {
|
|
55
|
-
[k]: map(v, k, obj || {}) }),
|
|
56
|
-
|
|
57
|
-
{});
|
|
58
|
-
|
|
59
|
-
|
|
6
|
+
*/
|
|
7
|
+
export const mapValues = (obj, map) => Object.entries(obj ?? {}).reduce((acc, [k, v]) => Object.assign(acc, {
|
|
8
|
+
[k]: map(v, k, (obj ?? {})),
|
|
9
|
+
}), {});
|
|
60
10
|
/**
|
|
61
11
|
* Given a `ObjMap`, iterate over each entry and run it through the given async `map` function.
|
|
62
12
|
* The promise returned by the `map` is awaited, such that the resulting `ObjMap` values are
|
|
@@ -64,19 +14,10 @@ Object.assign(acc, {
|
|
|
64
14
|
* @param {ObjMap} obj the input object
|
|
65
15
|
* @param {Function} map the async mapping operation
|
|
66
16
|
* @returns {Promise} a promise for a new object
|
|
67
|
-
*/
|
|
68
|
-
const mapValuesAsync = async (
|
|
69
|
-
obj,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
entries(obj).reduce(
|
|
73
|
-
async (acc, [k, v]) =>
|
|
74
|
-
Object.assign(await acc, {
|
|
75
|
-
[k]: await map(v, k, obj || {}) }),
|
|
76
|
-
|
|
77
|
-
{});
|
|
78
|
-
|
|
79
|
-
|
|
17
|
+
*/
|
|
18
|
+
export const mapValuesAsync = async (obj, map) => Object.entries(obj ?? {}).reduce(async (acc, [k, v]) => Object.assign(await acc, {
|
|
19
|
+
[k]: await map(v, k, (obj ?? {})),
|
|
20
|
+
}), Promise.resolve({}));
|
|
80
21
|
/**
|
|
81
22
|
* Given a `ObjMap`, iterate over each entry and run it through the given `filter` function.
|
|
82
23
|
* Any entry for which the `filter` returns `false` is removed from the resulting `ObjMap`.
|
|
@@ -85,28 +26,16 @@ Object.assign(await acc, {
|
|
|
85
26
|
* @param {ObjMap} obj the input object
|
|
86
27
|
* @param {Function} filter the filter operation
|
|
87
28
|
* @returns {ObjMap} a new object, a subset of the input
|
|
88
|
-
*/
|
|
89
|
-
const filterKeys = (
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
(acc, [k, v]) =>
|
|
95
|
-
filter(v, k, obj || {}) ?
|
|
96
|
-
Object.assign(acc, {
|
|
97
|
-
[k]: v }) :
|
|
98
|
-
|
|
99
|
-
acc,
|
|
100
|
-
{});
|
|
101
|
-
|
|
102
|
-
|
|
29
|
+
*/
|
|
30
|
+
export const filterKeys = (obj, filter = (v) => v != null) => Object.entries(obj ?? {}).reduce((acc, [k, v]) => filter(v, k, (obj ?? {}))
|
|
31
|
+
? Object.assign(acc, {
|
|
32
|
+
[k]: v,
|
|
33
|
+
})
|
|
34
|
+
: acc, {});
|
|
103
35
|
/**
|
|
104
36
|
* Given an object, removes any top level keys with a nullish value.
|
|
105
37
|
* The type system should preserve the incoming object type, with all such keys typed as `empty`.
|
|
106
38
|
* @param {Object} obj the input object
|
|
107
39
|
* @returns {Object} a new object, a subset of the input
|
|
108
|
-
*/
|
|
109
|
-
const filterNullish = (
|
|
110
|
-
obj) =>
|
|
111
|
-
filterKeys(obj);exports.filterNullish = filterNullish;
|
|
112
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXBzLmpzIl0sIm5hbWVzIjpbImtleXMiLCJvYmoiLCJPYmplY3QiLCJ2YWx1ZXMiLCJlbnRyaWVzIiwibWFwVmFsdWVzIiwibWFwIiwicmVkdWNlIiwiYWNjIiwiayIsInYiLCJhc3NpZ24iLCJtYXBWYWx1ZXNBc3luYyIsImZpbHRlcktleXMiLCJmaWx0ZXIiLCJmaWx0ZXJOdWxsaXNoIl0sIm1hcHBpbmdzIjoiO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7O0FBSUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sTUFBTUEsSUFBSSxHQUFHLENBQXdCQyxHQUF4QjtBQUNqQkMsTUFBTSxDQUFDRixJQUFQLENBQVlDLEdBQUcsSUFBSSxFQUFuQixDQURJOztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHO0FBQ08sTUFBTUUsTUFBTSxHQUFHLENBQXdCRixHQUF4QjtBQUNuQkMsTUFBTSxDQUFDQyxNQUFQLENBQWNGLEdBQUcsSUFBSSxFQUFyQixDQURJOztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEc7QUFDTyxNQUFNRyxPQUFPLEdBQUcsQ0FBd0JILEdBQXhCO0FBQ3BCQyxNQUFNLENBQUNFLE9BQVAsQ0FBZUgsR0FBRyxJQUFJLEVBQXRCLENBREk7O0FBR1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEc7QUFDTyxNQUFNSSxTQUFTLEdBQUc7QUFDdkJKLEdBRHVCO0FBRXZCSyxHQUZ1Qjs7QUFJdkJGLE9BQU8sQ0FBQ0gsR0FBRCxDQUFQLENBQWFNLE1BQWI7QUFDRSxDQUFDQyxHQUFELEVBQU0sQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQU47QUFDRVIsTUFBTSxDQUFDUyxNQUFQLENBQWNILEdBQWQsRUFBbUI7QUFDakIsR0FBQ0MsQ0FBRCxHQUFLSCxHQUFHLENBQUNJLENBQUQsRUFBSUQsQ0FBSixFQUFPUixHQUFHLElBQUksRUFBZCxDQURTLEVBQW5CLENBRko7O0FBS0UsRUFMRixDQUpLOzs7QUFZUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEc7QUFDTyxNQUFNVyxjQUFjLEdBQUc7QUFDNUJYLEdBRDRCO0FBRTVCSyxHQUY0Qjs7QUFJNUJGLE9BQU8sQ0FBQ0gsR0FBRCxDQUFQLENBQWFNLE1BQWI7QUFDRSxPQUFPQyxHQUFQLEVBQVksQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQVo7QUFDRVIsTUFBTSxDQUFDUyxNQUFQLENBQWMsTUFBTUgsR0FBcEIsRUFBeUI7QUFDdkIsR0FBQ0MsQ0FBRCxHQUFLLE1BQU1ILEdBQUcsQ0FBQ0ksQ0FBRCxFQUFJRCxDQUFKLEVBQU9SLEdBQUcsSUFBSSxFQUFkLENBRFMsRUFBekIsQ0FGSjs7QUFLRSxFQUxGLENBSks7OztBQVlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHO0FBQ08sTUFBTVksVUFBVSxHQUFHO0FBQ3hCWixHQUR3QjtBQUV4QmEsTUFBd0MsR0FBRyxDQUFDSixDQUFELEtBQU9BLENBQUMsSUFBSSxJQUYvQjs7QUFJeEJOLE9BQU8sQ0FBQ0gsR0FBRCxDQUFQLENBQWFNLE1BQWI7QUFDRSxDQUFDQyxHQUFELEVBQU0sQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQU47QUFDRUksTUFBTSxDQUFDSixDQUFELEVBQUlELENBQUosRUFBT1IsR0FBRyxJQUFJLEVBQWQsQ0FBTjtBQUNJQyxNQUFNLENBQUNTLE1BQVAsQ0FBY0gsR0FBZCxFQUFtQjtBQUNqQixHQUFDQyxDQUFELEdBQUtDLENBRFksRUFBbkIsQ0FESjs7QUFJSUYsR0FOUjtBQU9FLEVBUEYsQ0FKSzs7O0FBY1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEc7QUFDTyxNQUFNTyxhQUFhLEdBQUc7QUFDM0JkLEdBRDJCO0FBRWdCWSxVQUFVLENBQUNaLEdBQUQsQ0FGaEQsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG4vLyBVdGlsIGZ1bmN0aW9ucyBmb3IgdXNpbmcgb2JqZWN0cyBhcyBtYXBzIGFuZCBwcmVzZXJ2aW5nIHR5cGUgaW5mb3JtYXRpb25cblxuLyoqXG4gKiBBbiBvYmplY3Qgd2l0aCBhcmJpdHJhcnkga2V5cywgd2hlcmUgZXZlcnkga2V5J3MgdmFsdWUgaXMgb2YgdGhlIHNhbWUgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgT2JqTWFwPFYsIEs6IHN0cmluZyA9IHN0cmluZz4gPSB7XG4gICtbS106IFYsXG59O1xuLy8gQWxpYXMgZm9yIGFib3ZlLCBnZW5lcmljcyBpbiBvcHBvc2l0ZSBvcmRlciAoZm9yIGJhY2t3YXJkcyBjb21wYXQpXG5leHBvcnQgdHlwZSBNYXBPYmo8SywgVj4gPSBPYmpNYXA8ViwgSz47XG5cbi8qKlxuICogR2l2ZW4gYW4gaW5wdXQgb2JqZWN0LCByZXR1cm4gYW4gYXJyYXkgb2YgdGhlIGtleXMuXG4gKiBUaGlzIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlIHN0YW5kYXJkIGBPYmplY3Qua2V5c2AgdGhhdCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbi5cbiAqIEBwYXJhbSB7T2JqTWFwfSBvYmogdGhlIGlucHV0IG9iamVjdFxuICogQHJldHVybnMge0FycmF5fSBhbiBhcnJheSBvZiBrZXlzLiBUaGVzZSB3aWxsIGFsd2F5cyBiZSBzdHJpbmdzLCBidXQgZmxvdyBtYXkgYXNzaWduXG4gKiBhIG1vcmUgc3BlY2lmaWMgdHlwZSB3aGVuIHBvc3NpYmxlXG4gKi9cbmV4cG9ydCBjb25zdCBrZXlzID0gPFYsIEs6IHN0cmluZyA9IHN0cmluZz4ob2JqPzogP09iak1hcDxWLCBLPik6IEtbXSA9PlxuICAoT2JqZWN0LmtleXMob2JqIHx8IHt9KTogYW55KTtcblxuLyoqXG4gKiBHaXZlbiBhbiBpbnB1dCBvYmplY3QsIHJldHVybiBhbiBhcnJheSBvZiB0aGUgdmFsdWVzLlxuICogVGhpcyBpcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBzdGFuZGFyZCBgT2JqZWN0LnZhbHVlc2AgdGhhdCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbi5cbiAqIEBwYXJhbSB7T2JqTWFwfSBvYmogdGhlIGlucHV0IG9iamVjdFxuICogQHJldHVybnMge0FycmF5fSBhbiBhcnJheSBvZiB2YWx1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbHVlcyA9IDxWLCBLOiBzdHJpbmcgPSBzdHJpbmc+KG9iaj86ID9PYmpNYXA8ViwgSz4pOiBWW10gPT5cbiAgKE9iamVjdC52YWx1ZXMob2JqIHx8IHt9KTogYW55KTtcblxuLyoqXG4gKiBHaXZlbiBhIGBPYmpNYXBgLCByZXR1cm4gYW4gYXJyYXkgb2YgdGhlIGVudHJpZXMuXG4gKiBUaGlzIGlzIGEgd3JhcHBlciBhcm91bmQgdGhlIHN0YW5kYXJkIGBPYmplY3QuZW50cmllc2AgdGhhdCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbi5cbiAqIEl0IGFzc3VtZXMgYW4gb2JqZWN0IHdpdGggaG9tb2dlbm91cyB2YWx1ZXMuXG4gKiBAcGFyYW0ge09iak1hcH0gb2JqIHRoZSBpbnB1dCBvYmplY3RcbiAqIEByZXR1cm5zIHtBcnJheX0gYW4gYXJyYXkgb2YgZW50cnkgW2tleSwgdmFsdWVdIHR1cGxlc1xuICovXG5leHBvcnQgY29uc3QgZW50cmllcyA9IDxWLCBLOiBzdHJpbmcgPSBzdHJpbmc+KG9iaj86ID9PYmpNYXA8ViwgSz4pOiBbSywgVl1bXSA9PlxuICAoT2JqZWN0LmVudHJpZXMob2JqIHx8IHt9KTogYW55KTtcblxuLyoqXG4gKiBHaXZlbiBhIGBPYmpNYXBgLCBpdGVyYXRlIG92ZXIgZWFjaCBlbnRyeSBhbmQgcnVuIGl0IHRocm91Z2ggdGhlIGdpdmVuIGBtYXBgIGZ1bmN0aW9uLlxuICogQHBhcmFtIHtPYmpNYXB9IG9iaiB0aGUgaW5wdXQgb2JqZWN0XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBtYXAgdGhlIG1hcHBpbmcgb3BlcmF0aW9uXG4gKiBAcmV0dXJucyB7T2JqTWFwfSBhIG5ldyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IG1hcFZhbHVlcyA9IDxWLCBLOiBzdHJpbmcsIFI+KFxuICBvYmo/OiA/T2JqTWFwPFYsIEs+LFxuICBtYXA6IChWLCBLLCBPYmpNYXA8ViwgSz4pID0+IFIsXG4pOiBPYmpNYXA8UiwgSz4gPT5cbiAgZW50cmllcyhvYmopLnJlZHVjZShcbiAgICAoYWNjLCBbaywgdl0pID0+XG4gICAgICBPYmplY3QuYXNzaWduKGFjYywge1xuICAgICAgICBba106IG1hcCh2LCBrLCBvYmogfHwge30pLFxuICAgICAgfSksXG4gICAge30sXG4gICk7XG5cbi8qKlxuICogR2l2ZW4gYSBgT2JqTWFwYCwgaXRlcmF0ZSBvdmVyIGVhY2ggZW50cnkgYW5kIHJ1biBpdCB0aHJvdWdoIHRoZSBnaXZlbiBhc3luYyBgbWFwYCBmdW5jdGlvbi5cbiAqIFRoZSBwcm9taXNlIHJldHVybmVkIGJ5IHRoZSBgbWFwYCBpcyBhd2FpdGVkLCBzdWNoIHRoYXQgdGhlIHJlc3VsdGluZyBgT2JqTWFwYCB2YWx1ZXMgYXJlXG4gKiB0aGUgcmVzdWx0IG9mIHRoZSByZXNvbHZlZCBwcm9taXNlLlxuICogQHBhcmFtIHtPYmpNYXB9IG9iaiB0aGUgaW5wdXQgb2JqZWN0XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBtYXAgdGhlIGFzeW5jIG1hcHBpbmcgb3BlcmF0aW9uXG4gKiBAcmV0dXJucyB7UHJvbWlzZX0gYSBwcm9taXNlIGZvciBhIG5ldyBvYmplY3RcbiAqL1xuZXhwb3J0IGNvbnN0IG1hcFZhbHVlc0FzeW5jID0gYXN5bmMgPFYsIEs6IHN0cmluZywgUj4oXG4gIG9iaj86ID9PYmpNYXA8ViwgSz4sXG4gIG1hcDogKFYsIEssIE9iak1hcDxWLCBLPikgPT4gUHJvbWlzZTxSPixcbik6IFByb21pc2U8T2JqTWFwPFIsIEs+PiA9PlxuICBlbnRyaWVzKG9iaikucmVkdWNlKFxuICAgIGFzeW5jIChhY2MsIFtrLCB2XSkgPT5cbiAgICAgIE9iamVjdC5hc3NpZ24oYXdhaXQgYWNjLCB7XG4gICAgICAgIFtrXTogYXdhaXQgbWFwKHYsIGssIG9iaiB8fCB7fSksXG4gICAgICB9KSxcbiAgICB7fSxcbiAgKTtcblxuLyoqXG4gKiBHaXZlbiBhIGBPYmpNYXBgLCBpdGVyYXRlIG92ZXIgZWFjaCBlbnRyeSBhbmQgcnVuIGl0IHRocm91Z2ggdGhlIGdpdmVuIGBmaWx0ZXJgIGZ1bmN0aW9uLlxuICogQW55IGVudHJ5IGZvciB3aGljaCB0aGUgYGZpbHRlcmAgcmV0dXJucyBgZmFsc2VgIGlzIHJlbW92ZWQgZnJvbSB0aGUgcmVzdWx0aW5nIGBPYmpNYXBgLlxuICogQWxsIG90aGVyIGVudHJpZXMgYXJlIGxlZnQgYXMtaXMuIFRoZSByZXN1bHRpbmcgb3V0cHV0IGlzIGEgc3Vic2V0IG9mIHRoZSBpbnB1dC5cbiAqIElmIG5vIGBmaWx0ZXJgIGlzIHNwZWNpZmllZCwgZGVmYXVsdCB0byBmaWx0ZXJpbmcgb3V0IG51bGxpc2ggdmFsdWVzLlxuICogQHBhcmFtIHtPYmpNYXB9IG9iaiB0aGUgaW5wdXQgb2JqZWN0XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmaWx0ZXIgdGhlIGZpbHRlciBvcGVyYXRpb25cbiAqIEByZXR1cm5zIHtPYmpNYXB9IGEgbmV3IG9iamVjdCwgYSBzdWJzZXQgb2YgdGhlIGlucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBmaWx0ZXJLZXlzID0gPFYsIEs6IHN0cmluZyA9IHN0cmluZz4oXG4gIG9iaj86ID9PYmpNYXA8ViwgSz4sXG4gIGZpbHRlcj86IChWLCBLLCBPYmpNYXA8ViwgSz4pID0+IGJvb2xlYW4gPSAodikgPT4gdiAhPSBudWxsLFxuKTogT2JqTWFwPFYsIEs+ID0+XG4gIGVudHJpZXMob2JqKS5yZWR1Y2UoXG4gICAgKGFjYywgW2ssIHZdKSA9PlxuICAgICAgZmlsdGVyKHYsIGssIG9iaiB8fCB7fSlcbiAgICAgICAgPyBPYmplY3QuYXNzaWduKGFjYywge1xuICAgICAgICAgICAgW2tdOiB2LFxuICAgICAgICAgIH0pXG4gICAgICAgIDogYWNjLFxuICAgIHt9LFxuICApO1xuXG4vKipcbiAqIEdpdmVuIGFuIG9iamVjdCwgcmVtb3ZlcyBhbnkgdG9wIGxldmVsIGtleXMgd2l0aCBhIG51bGxpc2ggdmFsdWUuXG4gKiBUaGUgdHlwZSBzeXN0ZW0gc2hvdWxkIHByZXNlcnZlIHRoZSBpbmNvbWluZyBvYmplY3QgdHlwZSwgd2l0aCBhbGwgc3VjaCBrZXlzIHR5cGVkIGFzIGBlbXB0eWAuXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIHRoZSBpbnB1dCBvYmplY3RcbiAqIEByZXR1cm5zIHtPYmplY3R9IGEgbmV3IG9iamVjdCwgYSBzdWJzZXQgb2YgdGhlIGlucHV0XG4gKi9cbmV4cG9ydCBjb25zdCBmaWx0ZXJOdWxsaXNoID0gPFQ6IHsgLi4uIH0+KFxuICBvYmo6IFQsXG4pOiAkT2JqTWFwPFQsIDxWPihWKSA9PiAkTm9uTWF5YmVUeXBlPFY+PiA9PiBmaWx0ZXJLZXlzKG9iaik7XG4iXX0=
|
|
40
|
+
*/
|
|
41
|
+
export const filterNullish = (obj) => filterKeys(obj);
|
package/npm.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SpawnOptions, SpawnResult } from './cp.js';
|
|
2
|
+
export declare type NpmCreds = {
|
|
3
|
+
email?: string;
|
|
4
|
+
password?: string;
|
|
5
|
+
username?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare type NpmConfig = {
|
|
8
|
+
access?: 'public' | 'restricted';
|
|
9
|
+
dryRun?: boolean;
|
|
10
|
+
name?: string;
|
|
11
|
+
publish?: boolean;
|
|
12
|
+
registry?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function getNpmConfig(): NpmConfig;
|
|
15
|
+
export declare const envNpmCreds: null | NpmCreds;
|
|
16
|
+
export interface NpmOptions {
|
|
17
|
+
args?: string[];
|
|
18
|
+
npmPath?: string;
|
|
19
|
+
spawnOptions?: SpawnOptions;
|
|
20
|
+
}
|
|
21
|
+
export declare function npm({ args, spawnOptions, npmPath, }?: NpmOptions): Promise<SpawnResult>;
|
|
22
|
+
export declare function npmGetVersions(packageName: string, npmPath?: string): Promise<string[]>;
|
|
23
|
+
interface NpmWriteRcOptions {
|
|
24
|
+
authToken?: string;
|
|
25
|
+
creds?: NpmCreds | null;
|
|
26
|
+
outPath: string;
|
|
27
|
+
registry?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function npmWriteRc({ authToken, creds, outPath, registry, }: NpmWriteRcOptions): Promise<void>;
|
|
30
|
+
export interface NpmPublishOptions {
|
|
31
|
+
npmAuthToken?: string;
|
|
32
|
+
npmConfig?: NpmConfig;
|
|
33
|
+
npmCreds?: NpmCreds;
|
|
34
|
+
npmPath?: string;
|
|
35
|
+
publishPath?: string;
|
|
36
|
+
skipExisting?: boolean;
|
|
37
|
+
tag?: string;
|
|
38
|
+
workDir?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function npmPublish({ npmAuthToken, npmConfig, npmCreds, npmPath, publishPath, skipExisting, tag, workDir: passedWorkDir, }?: NpmPublishOptions): Promise<boolean>;
|
|
41
|
+
interface NpmPackOptions {
|
|
42
|
+
destination?: string;
|
|
43
|
+
npmConfig?: NpmConfig;
|
|
44
|
+
npmPath?: string;
|
|
45
|
+
workDir?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare function npmPack({ destination, npmConfig, npmPath, workDir, }: NpmPackOptions): Promise<string>;
|
|
48
|
+
export {};
|