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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +3 -34
  2. package/ant.d.ts +19 -0
  3. package/ant.js +12 -37
  4. package/cert.d.ts +12 -0
  5. package/cert.js +89 -151
  6. package/clean.d.ts +4 -0
  7. package/clean.js +7 -16
  8. package/copy.d.ts +7 -0
  9. package/copy.js +49 -76
  10. package/cp.d.ts +17 -0
  11. package/cp.js +85 -170
  12. package/docker.container.d.ts +73 -0
  13. package/docker.container.js +219 -362
  14. package/docker.d.ts +68 -0
  15. package/docker.js +167 -344
  16. package/docker.network.d.ts +42 -0
  17. package/docker.network.js +69 -144
  18. package/docker.volume.d.ts +26 -0
  19. package/docker.volume.js +52 -126
  20. package/dockerCleanup.d.ts +38 -0
  21. package/dockerCleanup.js +66 -141
  22. package/dockerCompose.d.ts +154 -0
  23. package/dockerCompose.js +400 -727
  24. package/fs.d.ts +5 -0
  25. package/fs.js +38 -95
  26. package/git.d.ts +9 -0
  27. package/git.js +19 -30
  28. package/index.d.ts +20 -0
  29. package/index.js +20 -27
  30. package/maps.d.ts +33 -0
  31. package/maps.js +16 -87
  32. package/npm.d.ts +48 -0
  33. package/npm.js +131 -135
  34. package/package.json +23 -19
  35. package/pkg.d.ts +39 -0
  36. package/pkg.js +26 -74
  37. package/publish.d.ts +27 -0
  38. package/publish.js +52 -140
  39. package/run.d.ts +13 -0
  40. package/run.js +39 -85
  41. package/tgz.d.ts +13 -0
  42. package/tgz.js +61 -96
  43. package/version.d.ts +34 -0
  44. package/version.js +86 -128
  45. package/yarn.d.ts +44 -0
  46. package/yarn.js +150 -119
  47. package/ant.js.flow +0 -42
  48. package/artifactory.js +0 -617
  49. package/artifactory.js.flow +0 -616
  50. package/cert.conf +0 -20
  51. package/cert.js.flow +0 -152
  52. package/clean.js.flow +0 -19
  53. package/copy.js.flow +0 -79
  54. package/cp.js.flow +0 -172
  55. package/docker.container.js.flow +0 -389
  56. package/docker.js.flow +0 -364
  57. package/docker.network.js.flow +0 -159
  58. package/docker.volume.js.flow +0 -136
  59. package/dockerCleanup.js.flow +0 -151
  60. package/dockerCompose.js.flow +0 -765
  61. package/flow.js +0 -21
  62. package/flow.js.flow +0 -20
  63. package/fs.js.flow +0 -96
  64. package/git.js.flow +0 -34
  65. package/hg.js +0 -35
  66. package/hg.js.flow +0 -34
  67. package/index.js.flow +0 -26
  68. package/inline-resources.js +0 -158
  69. package/inline-resources.js.flow +0 -157
  70. package/maps.js.flow +0 -111
  71. package/npm.js.flow +0 -144
  72. package/pkg.js.flow +0 -80
  73. package/publish.js.flow +0 -144
  74. package/run.js.flow +0 -89
  75. package/src/ant.js +0 -42
  76. package/src/artifactory.js +0 -616
  77. package/src/cert.conf +0 -20
  78. package/src/cert.js +0 -152
  79. package/src/clean.js +0 -19
  80. package/src/copy.js +0 -79
  81. package/src/cp.js +0 -172
  82. package/src/docker.container.js +0 -389
  83. package/src/docker.js +0 -364
  84. package/src/docker.network.js +0 -159
  85. package/src/docker.volume.js +0 -136
  86. package/src/dockerCleanup.js +0 -151
  87. package/src/dockerCompose.js +0 -765
  88. package/src/flow.js +0 -20
  89. package/src/fs.js +0 -96
  90. package/src/git.js +0 -34
  91. package/src/hg.js +0 -34
  92. package/src/index.js +0 -26
  93. package/src/inline-resources.js +0 -157
  94. package/src/maps.js +0 -111
  95. package/src/npm.js +0 -144
  96. package/src/pkg.js +0 -80
  97. package/src/publish.js +0 -144
  98. package/src/run.js +0 -89
  99. package/src/test.js +0 -55
  100. package/src/tgz.js +0 -101
  101. package/src/version.js +0 -142
  102. package/src/yarn.js +0 -123
  103. package/test.js +0 -56
  104. package/test.js.flow +0 -55
  105. package/tgz.js.flow +0 -101
  106. package/version.js.flow +0 -142
  107. package/yarn.js.flow +0 -123
package/npm.js CHANGED
@@ -1,145 +1,141 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getNpmConfig = getNpmConfig;exports.npmExec = npmExec;exports.npmGetVersions = npmGetVersions;exports.npmPublish = npmPublish;
2
- var _os = require("os");
3
- var _path = _interopRequireDefault(require("path"));
4
- var _fsExtra = _interopRequireDefault(require("fs-extra"));
5
-
6
- var _cp = require("./cp");
7
- var _pkg = require("./pkg");
8
- var _version = require("./version");
9
- var _run = require("./run");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
- function getNpmConfig() {
25
- return (0, _pkg.getCfg)().npm || {};
1
+ import fs from 'fs-extra';
2
+ import { platform } from 'os';
3
+ import path from 'path';
4
+ import { spawn } from './cp.js';
5
+ import { getCfg, getPkgName } from './pkg.js';
6
+ import { buildLog } from './run.js';
7
+ import { getDevBranch, getVersion } from './version.js';
8
+ export function getNpmConfig() {
9
+ return getCfg().npm || {};
26
10
  }
27
-
28
- const envNpmCreds =
29
- process.env.NPM_CREDS && JSON.parse(process.env.NPM_CREDS) || null;
30
-
31
- const npmExe = (npmPath) =>
32
- npmPath || ((0, _os.platform)() === 'win32' ? 'npm.cmd' : 'npm');
33
-
34
- async function npmExec(
35
- args,
36
- npmPath)
37
- {
38
- return (await (0, _cp.exec)(`${npmExe(npmPath)} ${args.join(' ')}`)).stdout.toString();
11
+ export const envNpmCreds = (process.env.NPM_CREDS && JSON.parse(process.env.NPM_CREDS)) || null;
12
+ const npmExe = (npmPath) => npmPath || (platform() === 'win32' ? 'npm.cmd' : 'npm');
13
+ export async function npm({ args = [], spawnOptions, npmPath, } = {}) {
14
+ const localNpm = path.join(path.dirname(process.execPath), 'lib/node_modules/npm/bin/npm-cli.js');
15
+ const spawnOpts = {
16
+ env: process.env,
17
+ shell: true,
18
+ stdio: 'inherit',
19
+ ...spawnOptions,
20
+ };
21
+ return npmPath
22
+ ? spawn(npmPath, args, spawnOpts)
23
+ : (await fs.pathExists(localNpm))
24
+ ? // prefer to use local copy of npm
25
+ spawn(process.execPath, [localNpm, ...args], spawnOpts)
26
+ : // fall back to globally installed npm
27
+ spawn(npmExe(), args, spawnOpts);
39
28
  }
40
-
41
- async function npmGetVersions(
42
- packageName,
43
- npmPath)
44
- {
45
- try {
46
- return JSON.parse(
47
- await npmExec(['show', packageName, 'versions'], npmPath));
48
-
49
- } catch (err) {
50
- (0, _run.buildLog)(
51
- `warning: failed to find existing package for ${packageName} in npm registry: ${err.message}`);
52
-
53
- return [];
54
- }
29
+ export async function npmGetVersions(packageName, npmPath) {
30
+ try {
31
+ return JSON.parse((await npm({
32
+ args: ['show', packageName, 'versions', '--json'],
33
+ npmPath,
34
+ spawnOptions: {
35
+ captureOutput: true,
36
+ stdio: 'pipe',
37
+ },
38
+ })).stdout.trim());
39
+ }
40
+ catch (err) {
41
+ buildLog(`warning: failed to find existing package for ${packageName} in npm registry: ${err.message}`);
42
+ return [];
43
+ }
55
44
  }
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
- async function npmPublish({
68
- publishPath,
69
- npmConfig,
70
- npmCreds,
71
- npmAuthToken,
72
- tag,
73
- skipExisting = false,
74
- npmPath } =
75
- {}) {
76
- const creds = npmCreds || envNpmCreds;
77
- const authToken = npmAuthToken || process.env.NPM_TOKEN;
78
- const name = (0, _pkg.getPkgName)();
79
- const { publish, registry, access, dryRun } = npmConfig || getNpmConfig();
80
- if (!publish) {
81
- (0, _run.buildLog)(
82
- 'npm publish info missing from package.json, skipping npm publish');
83
-
84
- return false;
85
- }
86
- const resolvedPath = _path.default.resolve(publishPath);
87
- const workDir = (await _fsExtra.default.stat(resolvedPath)).isDirectory() ?
88
- resolvedPath :
89
- _path.default.dirname(resolvedPath);
90
- if (creds || registry || authToken) {
45
+ export async function npmWriteRc({ authToken, creds, outPath, registry, }) {
91
46
  // Write out .npmrc with credentials
92
47
  const theRegistry = registry || 'https://registry.npmjs.org/';
93
48
  const [, host] = /^(?:http(?:s)?:\/\/)?(.+)$/.exec(theRegistry) || [];
94
- await _fsExtra.default.mkdirp(workDir);
95
- await _fsExtra.default.writeFile(
96
- _path.default.join(workDir, '.npmrc'),
97
- `registry=${theRegistry}
49
+ await fs.mkdirp(path.dirname(outPath));
50
+ await fs.writeFile(outPath, `registry=${theRegistry}
98
51
  ${authToken ? `//${host}:_authToken=${authToken}` : ''}
99
- ${
100
- creds ?
101
- `_auth=${Buffer.from(`${creds.username}:${creds.password}`).toString(
102
- 'base64')
103
- }
52
+ ${creds
53
+ ? `_auth=${Buffer.from(`${creds.username}:${creds.password}`).toString('base64')}
104
54
  always-auth=true
105
- email=${creds.email}` :
106
- ''
107
- }`);
108
-
109
- }
110
- const existing = await npmGetVersions(name, npmPath);
111
- const { isRelease, npm: npmVersion, branch } = await (0, _version.getVersion)();
112
- if (existing.includes(npmVersion)) {
113
- if (skipExisting) {
114
- (0, _run.buildLog)(
115
- 'npm package with this same version already exists. Skipping publish...');
116
-
117
- return false;
55
+ email=${creds.email}`
56
+ : ''}`);
57
+ }
58
+ export async function npmPublish({ npmAuthToken, npmConfig, npmCreds, npmPath, publishPath = '.', skipExisting = false, tag, workDir: passedWorkDir, } = {}) {
59
+ const creds = npmCreds || envNpmCreds;
60
+ const authToken = npmAuthToken || process.env.NPM_TOKEN;
61
+ const name = getPkgName();
62
+ const { access, dryRun, publish, registry } = npmConfig || getNpmConfig();
63
+ if (!publish) {
64
+ buildLog('npm publish info missing from package.json, skipping npm publish');
65
+ return false;
66
+ }
67
+ const resolvedPath = path.resolve(publishPath);
68
+ const workDir = passedWorkDir ||
69
+ ((await fs.stat(resolvedPath)).isDirectory()
70
+ ? resolvedPath
71
+ : path.dirname(resolvedPath));
72
+ if (!(await fs.pathExists(path.join(workDir, 'package.json')))) {
73
+ buildLog(`warning: no package.json found in ${workDir}, skipping npm publish`);
74
+ return false;
75
+ }
76
+ if (creds || registry || authToken) {
77
+ // Write out .npmrc with credentials
78
+ await npmWriteRc({
79
+ authToken: authToken ? `\${NPM_TOKEN}` : undefined,
80
+ creds,
81
+ outPath: path.join(workDir, '.npmrc'),
82
+ registry,
83
+ });
84
+ }
85
+ const existing = await npmGetVersions(name, npmPath);
86
+ const { branch, isRelease, npm: npmVersion } = await getVersion();
87
+ if (existing.includes(npmVersion)) {
88
+ if (skipExisting) {
89
+ buildLog('npm package with this same version already exists. Skipping publish...');
90
+ return false;
91
+ }
92
+ throw new Error('Failed to publish npm package, this version already exists!');
93
+ }
94
+ await npm({
95
+ args: [
96
+ 'publish',
97
+ resolvedPath,
98
+ '--tag',
99
+ tag ||
100
+ (isRelease
101
+ ? 'latest'
102
+ : branch === (await getDevBranch())
103
+ ? 'next'
104
+ : 'branch'),
105
+ ...(access ? ['--access', access] : []),
106
+ ...(dryRun ? ['--dry-run'] : []),
107
+ '--color=always',
108
+ ],
109
+ npmPath,
110
+ spawnOptions: {
111
+ cwd: workDir,
112
+ env: {
113
+ ...process.env,
114
+ NPM_TOKEN: authToken,
115
+ },
116
+ },
117
+ });
118
+ return true;
119
+ }
120
+ export async function npmPack({ destination, npmConfig, npmPath, workDir = '.', }) {
121
+ const { dryRun } = npmConfig || getNpmConfig();
122
+ if (destination) {
123
+ await fs.ensureDir(destination);
118
124
  }
119
- throw new Error(
120
- 'Failed to publish npm package, this version already exists!');
121
-
122
- }
123
- await (0, _cp.spawn)(
124
- npmExe(npmPath),
125
- [
126
- 'publish',
127
- resolvedPath,
128
- '--tag',
129
- tag || (
130
- isRelease ?
131
- 'latest' :
132
- branch === (await (0, _version.getDevBranch)()) ?
133
- 'next' :
134
- 'branch'),
135
- ...(access ? ['--access', access] : []),
136
- ...(dryRun ? ['--dry-run'] : [])],
137
-
138
- {
139
- stdio: 'inherit',
140
- cwd: workDir });
141
-
142
-
143
- return true;
125
+ const { stdout } = await npm({
126
+ args: [
127
+ 'pack',
128
+ ...(dryRun ? ['--dry-run'] : []),
129
+ ...(destination ? ['--pack-destination', path.resolve(destination)] : []),
130
+ '--color=always',
131
+ ],
132
+ npmPath,
133
+ spawnOptions: {
134
+ captureOutput: true,
135
+ cwd: path.resolve(workDir),
136
+ pipeOutput: true,
137
+ stdio: 'pipe',
138
+ },
139
+ });
140
+ return path.resolve(destination || '.', stdout.trim());
144
141
  }
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ucG0uanMiXSwibmFtZXMiOlsiZ2V0TnBtQ29uZmlnIiwibnBtIiwiZW52TnBtQ3JlZHMiLCJwcm9jZXNzIiwiZW52IiwiTlBNX0NSRURTIiwiSlNPTiIsInBhcnNlIiwibnBtRXhlIiwibnBtUGF0aCIsIm5wbUV4ZWMiLCJhcmdzIiwiam9pbiIsInN0ZG91dCIsInRvU3RyaW5nIiwibnBtR2V0VmVyc2lvbnMiLCJwYWNrYWdlTmFtZSIsImVyciIsIm1lc3NhZ2UiLCJucG1QdWJsaXNoIiwicHVibGlzaFBhdGgiLCJucG1Db25maWciLCJucG1DcmVkcyIsIm5wbUF1dGhUb2tlbiIsInRhZyIsInNraXBFeGlzdGluZyIsImNyZWRzIiwiYXV0aFRva2VuIiwiTlBNX1RPS0VOIiwibmFtZSIsInB1Ymxpc2giLCJyZWdpc3RyeSIsImFjY2VzcyIsImRyeVJ1biIsInJlc29sdmVkUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwid29ya0RpciIsImZzIiwic3RhdCIsImlzRGlyZWN0b3J5IiwiZGlybmFtZSIsInRoZVJlZ2lzdHJ5IiwiaG9zdCIsImV4ZWMiLCJta2RpcnAiLCJ3cml0ZUZpbGUiLCJCdWZmZXIiLCJmcm9tIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImVtYWlsIiwiZXhpc3RpbmciLCJpc1JlbGVhc2UiLCJucG1WZXJzaW9uIiwiYnJhbmNoIiwiaW5jbHVkZXMiLCJFcnJvciIsInN0ZGlvIiwiY3dkIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCOzs7Ozs7Ozs7Ozs7Ozs7QUFlTyxTQUFTQSxZQUFULEdBQW1DO0FBQ3hDLFNBQU8sbUJBQVNDLEdBQVQsSUFBZ0IsRUFBdkI7QUFDRDs7QUFFRCxNQUFNQyxXQUFzQjtBQUN6QkMsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFNBQVosSUFBeUJDLElBQUksQ0FBQ0MsS0FBTCxDQUFXSixPQUFPLENBQUNDLEdBQVIsQ0FBWUMsU0FBdkIsQ0FBMUIsSUFBZ0UsSUFEbEU7O0FBR0EsTUFBTUcsTUFBTSxHQUFHLENBQUNDLE9BQUQ7QUFDYkEsT0FBTyxLQUFLLHdCQUFlLE9BQWYsR0FBeUIsU0FBekIsR0FBcUMsS0FBMUMsQ0FEVDs7QUFHTyxlQUFlQyxPQUFmO0FBQ0xDLElBREs7QUFFTEYsT0FGSztBQUdZO0FBQ2pCLFNBQU8sQ0FBQyxNQUFNLGNBQU0sR0FBRUQsTUFBTSxDQUFDQyxPQUFELENBQVUsSUFBR0UsSUFBSSxDQUFDQyxJQUFMLENBQVUsR0FBVixDQUFlLEVBQTFDLENBQVAsRUFBcURDLE1BQXJELENBQTREQyxRQUE1RCxFQUFQO0FBQ0Q7O0FBRU0sZUFBZUMsY0FBZjtBQUNMQyxXQURLO0FBRUxQLE9BRks7QUFHYztBQUNuQixNQUFJO0FBQ0YsV0FBT0gsSUFBSSxDQUFDQyxLQUFMO0FBQ0wsVUFBTUcsT0FBTyxDQUFDLENBQUMsTUFBRCxFQUFTTSxXQUFULEVBQXNCLFVBQXRCLENBQUQsRUFBb0NQLE9BQXBDLENBRFIsQ0FBUDs7QUFHRCxHQUpELENBSUUsT0FBT1EsR0FBUCxFQUFZO0FBQ1o7QUFDRyxvREFBK0NELFdBQVkscUJBQW9CQyxHQUFHLENBQUNDLE9BQVEsRUFEOUY7O0FBR0EsV0FBTyxFQUFQO0FBQ0Q7QUFDRjs7Ozs7Ozs7Ozs7O0FBWU0sZUFBZUMsVUFBZixDQUEwQjtBQUMvQkMsRUFBQUEsV0FEK0I7QUFFL0JDLEVBQUFBLFNBRitCO0FBRy9CQyxFQUFBQSxRQUgrQjtBQUkvQkMsRUFBQUEsWUFKK0I7QUFLL0JDLEVBQUFBLEdBTCtCO0FBTS9CQyxFQUFBQSxZQUFZLEdBQUcsS0FOZ0I7QUFPL0JoQixFQUFBQSxPQVArQjtBQVFWLEVBUmhCLEVBUXNDO0FBQzNDLFFBQU1pQixLQUFLLEdBQUdKLFFBQVEsSUFBSXBCLFdBQTFCO0FBQ0EsUUFBTXlCLFNBQVMsR0FBR0osWUFBWSxJQUFJcEIsT0FBTyxDQUFDQyxHQUFSLENBQVl3QixTQUE5QztBQUNBLFFBQU1DLElBQUksR0FBRyxzQkFBYjtBQUNBLFFBQU0sRUFBRUMsT0FBRixFQUFXQyxRQUFYLEVBQXFCQyxNQUFyQixFQUE2QkMsTUFBN0IsS0FBd0NaLFNBQVMsSUFBSXJCLFlBQVksRUFBdkU7QUFDQSxNQUFJLENBQUM4QixPQUFMLEVBQWM7QUFDWjtBQUNFLHNFQURGOztBQUdBLFdBQU8sS0FBUDtBQUNEO0FBQ0QsUUFBTUksWUFBWSxHQUFHQyxjQUFLQyxPQUFMLENBQWFoQixXQUFiLENBQXJCO0FBQ0EsUUFBTWlCLE9BQU8sR0FBRyxDQUFDLE1BQU1DLGlCQUFHQyxJQUFILENBQVFMLFlBQVIsQ0FBUCxFQUE4Qk0sV0FBOUI7QUFDWk4sRUFBQUEsWUFEWTtBQUVaQyxnQkFBS00sT0FBTCxDQUFhUCxZQUFiLENBRko7QUFHQSxNQUFJUixLQUFLLElBQUlLLFFBQVQsSUFBcUJKLFNBQXpCLEVBQW9DO0FBQ2xDO0FBQ0EsVUFBTWUsV0FBVyxHQUFHWCxRQUFRLElBQUksNkJBQWhDO0FBQ0EsVUFBTSxHQUFHWSxJQUFILElBQVcsNkJBQTZCQyxJQUE3QixDQUFrQ0YsV0FBbEMsS0FBa0QsRUFBbkU7QUFDQSxVQUFNSixpQkFBR08sTUFBSCxDQUFVUixPQUFWLENBQU47QUFDQSxVQUFNQyxpQkFBR1EsU0FBSDtBQUNKWCxrQkFBS3ZCLElBQUwsQ0FBVXlCLE9BQVYsRUFBbUIsUUFBbkIsQ0FESTtBQUVILGdCQUFXSyxXQUFZO0FBQzlCLEVBQUVmLFNBQVMsR0FBSSxLQUFJZ0IsSUFBSyxlQUFjaEIsU0FBVSxFQUFyQyxHQUF5QyxFQUFHO0FBQ3ZEO0FBQ0VELElBQUFBLEtBQUs7QUFDQSxhQUFRcUIsTUFBTSxDQUFDQyxJQUFQLENBQWEsR0FBRXRCLEtBQUssQ0FBQ3VCLFFBQVMsSUFBR3ZCLEtBQUssQ0FBQ3dCLFFBQVMsRUFBaEQsRUFBbURwQyxRQUFuRDtBQUNQLFlBRE87QUFFUDtBQUNSO0FBQ0EsUUFBUVksS0FBSyxDQUFDeUIsS0FBTSxFQUxiO0FBTUQ7QUFDTCxNQVpTLENBQU47O0FBY0Q7QUFDRCxRQUFNQyxRQUFRLEdBQUcsTUFBTXJDLGNBQWMsQ0FBQ2MsSUFBRCxFQUFPcEIsT0FBUCxDQUFyQztBQUNBLFFBQU0sRUFBRTRDLFNBQUYsRUFBYXBELEdBQUcsRUFBRXFELFVBQWxCLEVBQThCQyxNQUE5QixLQUF5QyxNQUFNLDBCQUFyRDtBQUNBLE1BQUlILFFBQVEsQ0FBQ0ksUUFBVCxDQUFrQkYsVUFBbEIsQ0FBSixFQUFtQztBQUNqQyxRQUFJN0IsWUFBSixFQUFrQjtBQUNoQjtBQUNFLDhFQURGOztBQUdBLGFBQU8sS0FBUDtBQUNEO0FBQ0QsVUFBTSxJQUFJZ0MsS0FBSjtBQUNKLGlFQURJLENBQU47O0FBR0Q7QUFDRCxRQUFNO0FBQ0pqRCxFQUFBQSxNQUFNLENBQUNDLE9BQUQsQ0FERjtBQUVKO0FBQ0UsV0FERjtBQUVFeUIsRUFBQUEsWUFGRjtBQUdFLFNBSEY7QUFJRVYsRUFBQUEsR0FBRztBQUNBNkIsRUFBQUEsU0FBUztBQUNOLFVBRE07QUFFTkUsRUFBQUEsTUFBTSxNQUFNLE1BQU0sNEJBQVosQ0FBTjtBQUNBLFFBREE7QUFFQSxVQUxILENBSkw7QUFVRSxNQUFJdkIsTUFBTSxHQUFHLENBQUMsVUFBRCxFQUFhQSxNQUFiLENBQUgsR0FBMEIsRUFBcEMsQ0FWRjtBQVdFLE1BQUlDLE1BQU0sR0FBRyxDQUFDLFdBQUQsQ0FBSCxHQUFtQixFQUE3QixDQVhGLENBRkk7O0FBZUo7QUFDRXlCLElBQUFBLEtBQUssRUFBRSxTQURUO0FBRUVDLElBQUFBLEdBQUcsRUFBRXRCLE9BRlAsRUFmSSxDQUFOOzs7QUFvQkEsU0FBTyxJQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHsgcGxhdGZvcm0gfSBmcm9tICdvcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5cbmltcG9ydCB7IHNwYXduLCBleGVjIH0gZnJvbSAnLi9jcCc7XG5pbXBvcnQgeyBnZXRDZmcsIGdldFBrZ05hbWUgfSBmcm9tICcuL3BrZyc7XG5pbXBvcnQgeyBnZXRWZXJzaW9uLCBnZXREZXZCcmFuY2ggfSBmcm9tICcuL3ZlcnNpb24nO1xuaW1wb3J0IHsgYnVpbGRMb2cgfSBmcm9tICcuL3J1bic7XG5cbmV4cG9ydCB0eXBlIE5wbUNyZWRzID0ge1xuICB1c2VybmFtZTogc3RyaW5nLFxuICBwYXNzd29yZDogc3RyaW5nLFxuICBlbWFpbDogc3RyaW5nLFxufTtcblxuZXhwb3J0IHR5cGUgTnBtQ29uZmlnID0ge1xuICBwdWJsaXNoOiBib29sZWFuLFxuICByZWdpc3RyeT86IHN0cmluZyxcbiAgYWNjZXNzPzogJ3B1YmxpYycgfCAncmVzdHJpY3RlZCcsXG4gIGRyeVJ1bj86IGJvb2xlYW4sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TnBtQ29uZmlnKCk6IE5wbUNvbmZpZyB7XG4gIHJldHVybiBnZXRDZmcoKS5ucG0gfHwge307XG59XG5cbmNvbnN0IGVudk5wbUNyZWRzOiA/TnBtQ3JlZHMgPVxuICAocHJvY2Vzcy5lbnYuTlBNX0NSRURTICYmIEpTT04ucGFyc2UocHJvY2Vzcy5lbnYuTlBNX0NSRURTKSkgfHwgbnVsbDtcblxuY29uc3QgbnBtRXhlID0gKG5wbVBhdGg/OiBzdHJpbmcpID0+XG4gIG5wbVBhdGggfHwgKHBsYXRmb3JtKCkgPT09ICd3aW4zMicgPyAnbnBtLmNtZCcgOiAnbnBtJyk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1FeGVjKFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgbnBtUGF0aD86IHN0cmluZyxcbik6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiAoYXdhaXQgZXhlYyhgJHtucG1FeGUobnBtUGF0aCl9ICR7YXJncy5qb2luKCcgJyl9YCkpLnN0ZG91dC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbnBtR2V0VmVyc2lvbnMoXG4gIHBhY2thZ2VOYW1lOiBzdHJpbmcsXG4gIG5wbVBhdGg/OiBzdHJpbmcsXG4pOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoXG4gICAgICBhd2FpdCBucG1FeGVjKFsnc2hvdycsIHBhY2thZ2VOYW1lLCAndmVyc2lvbnMnXSwgbnBtUGF0aCksXG4gICAgKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgYnVpbGRMb2coXG4gICAgICBgd2FybmluZzogZmFpbGVkIHRvIGZpbmQgZXhpc3RpbmcgcGFja2FnZSBmb3IgJHtwYWNrYWdlTmFtZX0gaW4gbnBtIHJlZ2lzdHJ5OiAke2Vyci5tZXNzYWdlfWAsXG4gICAgKTtcbiAgICByZXR1cm4gW107XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgTnBtUHVibGlzaE9wdGlvbnMgPSB7fFxuICBwdWJsaXNoUGF0aDogc3RyaW5nLCAvLyBkaXN0RGlyLCBvciBwYWNrYWdlLnRneiBmaWxlXG4gIG5wbUNvbmZpZz86IE5wbUNvbmZpZyxcbiAgbnBtQ3JlZHM/OiBOcG1DcmVkcyxcbiAgbnBtQXV0aFRva2VuPzogc3RyaW5nLFxuICB0YWc/OiBzdHJpbmcsXG4gIHNraXBFeGlzdGluZz86IGJvb2xlYW4sXG4gIG5wbVBhdGg/OiBzdHJpbmcsIC8vIHBhdGggdG8gZXhlY3V0YWJsZVxufH07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBucG1QdWJsaXNoKHtcbiAgcHVibGlzaFBhdGgsXG4gIG5wbUNvbmZpZyxcbiAgbnBtQ3JlZHMsXG4gIG5wbUF1dGhUb2tlbixcbiAgdGFnLFxuICBza2lwRXhpc3RpbmcgPSBmYWxzZSxcbiAgbnBtUGF0aCxcbn06IE5wbVB1Ymxpc2hPcHRpb25zID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgY3JlZHMgPSBucG1DcmVkcyB8fCBlbnZOcG1DcmVkcztcbiAgY29uc3QgYXV0aFRva2VuID0gbnBtQXV0aFRva2VuIHx8IHByb2Nlc3MuZW52Lk5QTV9UT0tFTjtcbiAgY29uc3QgbmFtZSA9IGdldFBrZ05hbWUoKTtcbiAgY29uc3QgeyBwdWJsaXNoLCByZWdpc3RyeSwgYWNjZXNzLCBkcnlSdW4gfSA9IG5wbUNvbmZpZyB8fCBnZXROcG1Db25maWcoKTtcbiAgaWYgKCFwdWJsaXNoKSB7XG4gICAgYnVpbGRMb2coXG4gICAgICAnbnBtIHB1Ymxpc2ggaW5mbyBtaXNzaW5nIGZyb20gcGFja2FnZS5qc29uLCBza2lwcGluZyBucG0gcHVibGlzaCcsXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgcmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHB1Ymxpc2hQYXRoKTtcbiAgY29uc3Qgd29ya0RpciA9IChhd2FpdCBmcy5zdGF0KHJlc29sdmVkUGF0aCkpLmlzRGlyZWN0b3J5KClcbiAgICA/IHJlc29sdmVkUGF0aFxuICAgIDogcGF0aC5kaXJuYW1lKHJlc29sdmVkUGF0aCk7XG4gIGlmIChjcmVkcyB8fCByZWdpc3RyeSB8fCBhdXRoVG9rZW4pIHtcbiAgICAvLyBXcml0ZSBvdXQgLm5wbXJjIHdpdGggY3JlZGVudGlhbHNcbiAgICBjb25zdCB0aGVSZWdpc3RyeSA9IHJlZ2lzdHJ5IHx8ICdodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy8nO1xuICAgIGNvbnN0IFssIGhvc3RdID0gL14oPzpodHRwKD86cyk/OlxcL1xcLyk/KC4rKSQvLmV4ZWModGhlUmVnaXN0cnkpIHx8IFtdO1xuICAgIGF3YWl0IGZzLm1rZGlycCh3b3JrRGlyKTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICBwYXRoLmpvaW4od29ya0RpciwgJy5ucG1yYycpLFxuICAgICAgYHJlZ2lzdHJ5PSR7dGhlUmVnaXN0cnl9XG4ke2F1dGhUb2tlbiA/IGAvLyR7aG9zdH06X2F1dGhUb2tlbj0ke2F1dGhUb2tlbn1gIDogJyd9XG4ke1xuICBjcmVkc1xuICAgID8gYF9hdXRoPSR7QnVmZmVyLmZyb20oYCR7Y3JlZHMudXNlcm5hbWV9OiR7Y3JlZHMucGFzc3dvcmR9YCkudG9TdHJpbmcoXG4gICAgICAgICdiYXNlNjQnLFxuICAgICAgKX1cbmFsd2F5cy1hdXRoPXRydWVcbmVtYWlsPSR7Y3JlZHMuZW1haWx9YFxuICAgIDogJydcbn1gLFxuICAgICk7XG4gIH1cbiAgY29uc3QgZXhpc3RpbmcgPSBhd2FpdCBucG1HZXRWZXJzaW9ucyhuYW1lLCBucG1QYXRoKTtcbiAgY29uc3QgeyBpc1JlbGVhc2UsIG5wbTogbnBtVmVyc2lvbiwgYnJhbmNoIH0gPSBhd2FpdCBnZXRWZXJzaW9uKCk7XG4gIGlmIChleGlzdGluZy5pbmNsdWRlcyhucG1WZXJzaW9uKSkge1xuICAgIGlmIChza2lwRXhpc3RpbmcpIHtcbiAgICAgIGJ1aWxkTG9nKFxuICAgICAgICAnbnBtIHBhY2thZ2Ugd2l0aCB0aGlzIHNhbWUgdmVyc2lvbiBhbHJlYWR5IGV4aXN0cy4gU2tpcHBpbmcgcHVibGlzaC4uLicsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnRmFpbGVkIHRvIHB1Ymxpc2ggbnBtIHBhY2thZ2UsIHRoaXMgdmVyc2lvbiBhbHJlYWR5IGV4aXN0cyEnLFxuICAgICk7XG4gIH1cbiAgYXdhaXQgc3Bhd24oXG4gICAgbnBtRXhlKG5wbVBhdGgpLFxuICAgIFtcbiAgICAgICdwdWJsaXNoJyxcbiAgICAgIHJlc29sdmVkUGF0aCxcbiAgICAgICctLXRhZycsXG4gICAgICB0YWcgfHxcbiAgICAgICAgKGlzUmVsZWFzZVxuICAgICAgICAgID8gJ2xhdGVzdCdcbiAgICAgICAgICA6IGJyYW5jaCA9PT0gKGF3YWl0IGdldERldkJyYW5jaCgpKVxuICAgICAgICAgID8gJ25leHQnXG4gICAgICAgICAgOiAnYnJhbmNoJyksXG4gICAgICAuLi4oYWNjZXNzID8gWyctLWFjY2VzcycsIGFjY2Vzc10gOiBbXSksXG4gICAgICAuLi4oZHJ5UnVuID8gWyctLWRyeS1ydW4nXSA6IFtdKSxcbiAgICBdLFxuICAgIHtcbiAgICAgIHN0ZGlvOiAnaW5oZXJpdCcsXG4gICAgICBjd2Q6IHdvcmtEaXIsXG4gICAgfSxcbiAgKTtcbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,31 +1,35 @@
1
1
  {
2
2
  "name": "build-strap",
3
- "version": "4.0.0-dev.46",
4
- "main": "index.js",
3
+ "version": "4.0.0-dev.5",
4
+ "description": "Node scripts for building things",
5
+ "license": "MIT",
6
+ "authors": [
7
+ "Justin Murray <justin@murrayju.com>"
8
+ ],
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/murrayju/build-strap"
12
+ },
13
+ "type": "module",
14
+ "module": "index.js",
15
+ "types": "index.d.ts",
16
+ "engines": {
17
+ "node": ">=16"
18
+ },
5
19
  "dependencies": {
6
- "bytes": "3",
20
+ "bytes": "^3.1.1",
7
21
  "chokidar": "^3.5.2",
8
22
  "cross-spawn": "^7.0.3",
9
23
  "fs-extra": "^10.0.0",
10
- "get-port": "^5.1.1",
11
- "glob": "^7.1.7",
12
- "is-reachable": "^5.0.0",
24
+ "get-port": "^6.0.0",
25
+ "glob": "^7.2.0",
26
+ "is-reachable": "^5.1.1",
13
27
  "js-yaml": "^4.1.0",
14
- "lodash": "^4.17.21",
15
- "md5-file": "^5.0.0",
28
+ "lodash-es": "^4.17.21",
16
29
  "moment": "^2.29.1",
17
- "request": "^2.88.2",
18
- "request-promise-native": "^1.0.9",
19
- "rimraf": "^3.0.2",
20
- "set-value": "^4.0.1",
21
- "source-map-support": "^0.5.16",
30
+ "node-fetch": "^3.1.0",
22
31
  "stream-counter": "1",
23
- "tar": "^6.1.9",
32
+ "tar": "^6.1.11",
24
33
  "url-join": "^4.0.1"
25
- },
26
- "peerDependencies": {},
27
- "engines": {
28
- "node": ">=7",
29
- "npm": ">=4"
30
34
  }
31
35
  }
package/pkg.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ import { CertConfig } from './cert.js';
2
+ import { DockerConfig } from './docker.js';
3
+ import { NpmConfig } from './npm.js';
4
+ export interface BuildStrapConfig {
5
+ cert?: CertConfig;
6
+ copyright?: string;
7
+ devBranch?: string;
8
+ docker?: DockerConfig;
9
+ npm?: NpmConfig;
10
+ releaseBranch?: string;
11
+ repoType?: 'git' | 'hg';
12
+ }
13
+ export interface PackageJson {
14
+ authors?: string[];
15
+ buildStrap: BuildStrapConfig;
16
+ dependencies?: Record<string, string>;
17
+ description?: string;
18
+ devDependencies?: Record<string, string>;
19
+ engines?: Record<string, string>;
20
+ license?: string;
21
+ main?: string;
22
+ module?: string;
23
+ name: string;
24
+ peerDependencies?: Record<string, string>;
25
+ private?: boolean;
26
+ repository?: string | {
27
+ type: string;
28
+ url: string;
29
+ };
30
+ scripts?: Record<string, string>;
31
+ type?: string;
32
+ types?: string;
33
+ version: string;
34
+ }
35
+ export declare function getPkg(): PackageJson;
36
+ export declare function getCfg(): BuildStrapConfig;
37
+ export declare function setPkg(p: PackageJson): void;
38
+ export declare function getPkgName(includeScope?: boolean): string;
39
+ export declare function getPkgScope(): null | string;
package/pkg.js CHANGED
@@ -1,81 +1,33 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getCfg = getCfg;exports.getPkg = getPkg;exports.getPkgName = getPkgName;exports.getPkgScope = getPkgScope;exports.setPkg = setPkg;
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
-
37
-
38
-
39
-
1
+ // eslint-disable-next-line no-underscore-dangle
40
2
  let _pkg = null;
41
- function getPkg() {
42
- if (_pkg == null) {
43
- throw new Error(
44
- 'Must call setPkg() with package.json content before building.');
45
-
46
- }
47
- return _pkg;
3
+ export function getPkg() {
4
+ if (_pkg == null) {
5
+ throw new Error('Must call setPkg() with package.json content before building.');
6
+ }
7
+ return _pkg;
48
8
  }
49
-
50
- function getCfg() {
51
- return getPkg().buildStrap || {};
9
+ export function getCfg() {
10
+ return getPkg().buildStrap || {};
52
11
  }
53
-
54
- function setPkg(p) {
55
- _pkg = p;
12
+ export function setPkg(p) {
13
+ _pkg = p;
56
14
  }
57
-
58
15
  const pkgNameRegex = /^(?:(@[^/]+)\/)?(.+)$/i;
59
-
60
- function getPkgName(includeScope = false) {
61
- const pkg = getPkg();
62
- if (!(pkg.name && pkg.name.length)) {
63
- throw new Error(
64
- 'Package name not found in package.json, but this is a required property!');
65
-
66
- }
67
- if (includeScope) {
68
- return pkg.name;
69
- }
70
- const [,, shortName] = pkg.name.match(pkgNameRegex) || [];
71
- if (!shortName) {
72
- throw new Error('Package name in package.json has invalid format.');
73
- }
74
- return shortName;
16
+ export function getPkgName(includeScope = false) {
17
+ const pkg = getPkg();
18
+ if (!(pkg.name && pkg.name.length)) {
19
+ throw new Error('Package name not found in package.json, but this is a required property!');
20
+ }
21
+ if (includeScope) {
22
+ return pkg.name;
23
+ }
24
+ const [, , shortName] = pkg.name.match(pkgNameRegex) || [];
25
+ if (!shortName) {
26
+ throw new Error('Package name in package.json has invalid format.');
27
+ }
28
+ return shortName;
75
29
  }
76
-
77
- function getPkgScope() {var _pkgName$match;
78
- const pkgName = getPkgName(true);
79
- return ((_pkgName$match = pkgName.match(pkgNameRegex)) === null || _pkgName$match === void 0 ? void 0 : _pkgName$match[1]) || null;
30
+ export function getPkgScope() {
31
+ const pkgName = getPkgName(true);
32
+ return pkgName.match(pkgNameRegex)?.[1] || null;
80
33
  }
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wa2cuanMiXSwibmFtZXMiOlsiX3BrZyIsImdldFBrZyIsIkVycm9yIiwiZ2V0Q2ZnIiwiYnVpbGRTdHJhcCIsInNldFBrZyIsInAiLCJwa2dOYW1lUmVnZXgiLCJnZXRQa2dOYW1lIiwiaW5jbHVkZVNjb3BlIiwicGtnIiwibmFtZSIsImxlbmd0aCIsInNob3J0TmFtZSIsIm1hdGNoIiwiZ2V0UGtnU2NvcGUiLCJwa2dOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1Q0EsSUFBSUEsSUFBa0IsR0FBRyxJQUF6QjtBQUNPLFNBQVNDLE1BQVQsR0FBK0I7QUFDcEMsTUFBSUQsSUFBSSxJQUFJLElBQVosRUFBa0I7QUFDaEIsVUFBTSxJQUFJRSxLQUFKO0FBQ0osbUVBREksQ0FBTjs7QUFHRDtBQUNELFNBQU9GLElBQVA7QUFDRDs7QUFFTSxTQUFTRyxNQUFULEdBQW9DO0FBQ3pDLFNBQU9GLE1BQU0sR0FBR0csVUFBVCxJQUF1QixFQUE5QjtBQUNEOztBQUVNLFNBQVNDLE1BQVQsQ0FBZ0JDLENBQWhCLEVBQWdDO0FBQ3JDTixFQUFBQSxJQUFJLEdBQUdNLENBQVA7QUFDRDs7QUFFRCxNQUFNQyxZQUFZLEdBQUcsd0JBQXJCOztBQUVPLFNBQVNDLFVBQVQsQ0FBb0JDLFlBQXFCLEdBQUcsS0FBNUMsRUFBMkQ7QUFDaEUsUUFBTUMsR0FBRyxHQUFHVCxNQUFNLEVBQWxCO0FBQ0EsTUFBSSxFQUFFUyxHQUFHLENBQUNDLElBQUosSUFBWUQsR0FBRyxDQUFDQyxJQUFKLENBQVNDLE1BQXZCLENBQUosRUFBb0M7QUFDbEMsVUFBTSxJQUFJVixLQUFKO0FBQ0osOEVBREksQ0FBTjs7QUFHRDtBQUNELE1BQUlPLFlBQUosRUFBa0I7QUFDaEIsV0FBT0MsR0FBRyxDQUFDQyxJQUFYO0FBQ0Q7QUFDRCxRQUFNLElBQUtFLFNBQUwsSUFBa0JILEdBQUcsQ0FBQ0MsSUFBSixDQUFTRyxLQUFULENBQWVQLFlBQWYsS0FBZ0MsRUFBeEQ7QUFDQSxNQUFJLENBQUNNLFNBQUwsRUFBZ0I7QUFDZCxVQUFNLElBQUlYLEtBQUosQ0FBVSxrREFBVixDQUFOO0FBQ0Q7QUFDRCxTQUFPVyxTQUFQO0FBQ0Q7O0FBRU0sU0FBU0UsV0FBVCxHQUFnQztBQUNyQyxRQUFNQyxPQUFPLEdBQUdSLFVBQVUsQ0FBQyxJQUFELENBQTFCO0FBQ0EsU0FBTyxtQkFBQVEsT0FBTyxDQUFDRixLQUFSLENBQWNQLFlBQWQsbUVBQThCLENBQTlCLE1BQW9DLElBQTNDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHR5cGUgeyBBcnRpZmFjdG9yeUNvbmZpZyB9IGZyb20gJy4vYXJ0aWZhY3RvcnknO1xuaW1wb3J0IHR5cGUgeyBDZXJ0Q29uZmlnIH0gZnJvbSAnLi9jZXJ0JztcbmltcG9ydCB0eXBlIHsgRG9ja2VyQ29uZmlnIH0gZnJvbSAnLi9kb2NrZXInO1xuaW1wb3J0IHR5cGUgeyBOcG1Db25maWcgfSBmcm9tICcuL25wbSc7XG5cbmV4cG9ydCB0eXBlIEJ1aWxkU3RyYXBDb25maWcgPSB7XG4gIHJlcG9UeXBlPzogJ2dpdCcgfCAnaGcnLFxuICBjb3B5cmlnaHQ/OiBzdHJpbmcsXG4gIHJlbGVhc2VCcmFuY2g/OiBzdHJpbmcsXG4gIGRldkJyYW5jaD86IHN0cmluZyxcbiAgYXJ0aWZhY3Rvcnk/OiBBcnRpZmFjdG9yeUNvbmZpZyxcbiAgY2VydD86IENlcnRDb25maWcsXG4gIGRvY2tlcj86IERvY2tlckNvbmZpZyxcbiAgbnBtPzogTnBtQ29uZmlnLFxufTtcblxudHlwZSBTdHJpbmdNYXAgPSB7XG4gIFtzdHJpbmddOiBzdHJpbmcsXG59O1xuXG5leHBvcnQgdHlwZSBQYWNrYWdlSnNvbiA9IHtcbiAgbmFtZTogc3RyaW5nLFxuICB2ZXJzaW9uOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxuICBwcml2YXRlPzogYm9vbGVhbixcbiAgbGljZW5zZT86IHN0cmluZyxcbiAgYXV0aG9ycz86IHN0cmluZ1tdLFxuICByZXBvc2l0b3J5Pzogc3RyaW5nLFxuICBtYWluPzogc3RyaW5nLFxuICBkZXBlbmRlbmNpZXM/OiBTdHJpbmdNYXAsXG4gIGRldkRlcGVuZGVuY2llcz86IFN0cmluZ01hcCxcbiAgcGVlckRlcGVuZGVuY2llcz86IFN0cmluZ01hcCxcbiAgZW5naW5lcz86IFN0cmluZ01hcCxcbiAgc2NyaXB0cz86IFN0cmluZ01hcCxcbiAgLy8gb3VyIGFkZGl0aW9uXG4gIGJ1aWxkU3RyYXA6IEJ1aWxkU3RyYXBDb25maWcsXG59O1xuXG5sZXQgX3BrZzogP1BhY2thZ2VKc29uID0gbnVsbDtcbmV4cG9ydCBmdW5jdGlvbiBnZXRQa2coKTogUGFja2FnZUpzb24ge1xuICBpZiAoX3BrZyA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ011c3QgY2FsbCBzZXRQa2coKSB3aXRoIHBhY2thZ2UuanNvbiBjb250ZW50IGJlZm9yZSBidWlsZGluZy4nLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIF9wa2c7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZmcoKTogQnVpbGRTdHJhcENvbmZpZyB7XG4gIHJldHVybiBnZXRQa2coKS5idWlsZFN0cmFwIHx8IHt9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UGtnKHA6IFBhY2thZ2VKc29uKSB7XG4gIF9wa2cgPSBwO1xufVxuXG5jb25zdCBwa2dOYW1lUmVnZXggPSAvXig/OihAW14vXSspXFwvKT8oLispJC9pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGtnTmFtZShpbmNsdWRlU2NvcGU6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gIGNvbnN0IHBrZyA9IGdldFBrZygpO1xuICBpZiAoIShwa2cubmFtZSAmJiBwa2cubmFtZS5sZW5ndGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1BhY2thZ2UgbmFtZSBub3QgZm91bmQgaW4gcGFja2FnZS5qc29uLCBidXQgdGhpcyBpcyBhIHJlcXVpcmVkIHByb3BlcnR5IScsXG4gICAgKTtcbiAgfVxuICBpZiAoaW5jbHVkZVNjb3BlKSB7XG4gICAgcmV0dXJuIHBrZy5uYW1lO1xuICB9XG4gIGNvbnN0IFssICwgc2hvcnROYW1lXSA9IHBrZy5uYW1lLm1hdGNoKHBrZ05hbWVSZWdleCkgfHwgW107XG4gIGlmICghc2hvcnROYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYWNrYWdlIG5hbWUgaW4gcGFja2FnZS5qc29uIGhhcyBpbnZhbGlkIGZvcm1hdC4nKTtcbiAgfVxuICByZXR1cm4gc2hvcnROYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGtnU2NvcGUoKTogP3N0cmluZyB7XG4gIGNvbnN0IHBrZ05hbWUgPSBnZXRQa2dOYW1lKHRydWUpO1xuICByZXR1cm4gcGtnTmFtZS5tYXRjaChwa2dOYW1lUmVnZXgpPy5bMV0gfHwgbnVsbDtcbn1cbiJdfQ==
package/publish.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ import { NpmConfig, NpmCreds } from './npm.js';
2
+ import { ArtifactInfo } from './tgz.js';
3
+ import { type Version } from './version.js';
4
+ export interface CreateArtifactOptions {
5
+ distDir: string;
6
+ fileName?: string;
7
+ outDir: string;
8
+ }
9
+ export interface Artifact {
10
+ fileName: string;
11
+ filePath: string;
12
+ info: ArtifactInfo;
13
+ name: string;
14
+ version: Version;
15
+ }
16
+ export declare function createArtifact({ distDir, fileName, outDir, }: CreateArtifactOptions): Promise<Artifact>;
17
+ export interface PublishConfiguration extends CreateArtifactOptions {
18
+ doPublish: boolean;
19
+ npmAuthToken?: string;
20
+ npmConfig?: NpmConfig;
21
+ npmCreds?: NpmCreds;
22
+ npmPath?: string;
23
+ npmSkipExisting?: boolean;
24
+ npmTag?: string;
25
+ prePublishFn?: () => any;
26
+ }
27
+ export declare function publish({ distDir, doPublish, fileName, npmAuthToken, npmConfig, npmCreds, npmPath, npmSkipExisting, npmTag, outDir, prePublishFn, }: PublishConfiguration): Promise<void>;