@jsdevtools/npm-publish 1.4.3 → 2.0.0
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/README.md +161 -147
- package/bin/npm-publish.js +10 -2
- package/lib/action/core.d.ts +45 -0
- package/lib/action/core.js +59 -0
- package/lib/action/core.js.map +1 -0
- package/lib/action/main.js +54 -0
- package/lib/action/main.js.map +1 -0
- package/lib/cli/index.d.ts +4 -2
- package/lib/cli/index.js +57 -53
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/parse-cli-arguments.d.ts +17 -0
- package/lib/cli/parse-cli-arguments.js +39 -0
- package/lib/cli/parse-cli-arguments.js.map +1 -0
- package/lib/compare-versions.d.ts +20 -0
- package/lib/compare-versions.js +36 -0
- package/lib/compare-versions.js.map +1 -0
- package/lib/errors.d.ts +36 -0
- package/lib/errors.js +114 -0
- package/lib/errors.js.map +1 -0
- package/lib/format-publish-result.d.ts +12 -0
- package/lib/format-publish-result.js +36 -0
- package/lib/format-publish-result.js.map +1 -0
- package/lib/index.d.ts +4 -5
- package/lib/index.js +11 -10
- package/lib/index.js.map +1 -1
- package/lib/normalize-options.d.ts +26 -1
- package/lib/normalize-options.js +86 -13
- package/lib/normalize-options.js.map +1 -1
- package/lib/npm/call-npm-cli.d.ts +16 -0
- package/lib/npm/call-npm-cli.js +91 -0
- package/lib/npm/call-npm-cli.js.map +1 -0
- package/lib/npm/get-publish-arguments.d.ts +9 -0
- package/lib/npm/get-publish-arguments.js +29 -0
- package/lib/npm/get-publish-arguments.js.map +1 -0
- package/lib/npm/index.d.ts +29 -0
- package/lib/npm/index.js +41 -0
- package/lib/npm/index.js.map +1 -0
- package/lib/npm/use-npm-environment.d.ts +13 -0
- package/lib/npm/use-npm-environment.js +42 -0
- package/lib/npm/use-npm-environment.js.map +1 -0
- package/lib/npm-publish.d.ts +7 -4
- package/lib/npm-publish.js +29 -25
- package/lib/npm-publish.js.map +1 -1
- package/lib/options.d.ts +58 -46
- package/lib/options.js +5 -0
- package/lib/options.js.map +1 -1
- package/lib/read-manifest.d.ts +25 -1
- package/lib/read-manifest.js +119 -22
- package/lib/read-manifest.js.map +1 -1
- package/lib/results.d.ts +26 -28
- package/package.json +43 -35
- package/src/action/core.ts +91 -0
- package/src/action/main.ts +31 -0
- package/src/cli/index.ts +69 -0
- package/src/cli/parse-cli-arguments.ts +48 -0
- package/src/compare-versions.ts +52 -0
- package/src/errors.ts +130 -0
- package/src/format-publish-result.ts +40 -0
- package/src/index.ts +7 -0
- package/src/normalize-options.ts +119 -0
- package/src/npm/call-npm-cli.ts +98 -0
- package/src/npm/get-publish-arguments.ts +34 -0
- package/src/npm/index.ts +64 -0
- package/src/npm/use-npm-environment.ts +51 -0
- package/src/npm-publish.ts +47 -0
- package/src/options.ts +96 -0
- package/src/read-manifest.ts +143 -0
- package/src/results.ts +45 -0
- package/CHANGELOG.md +0 -49
- package/lib/action/index.js +0 -67
- package/lib/action/index.js.map +0 -1
- package/lib/cli/exit-code.d.ts +0 -1
- package/lib/cli/exit-code.js +0 -16
- package/lib/cli/exit-code.js.map +0 -1
- package/lib/cli/help.d.ts +0 -1
- package/lib/cli/help.js +0 -28
- package/lib/cli/help.js.map +0 -1
- package/lib/cli/parse-args.d.ts +0 -1
- package/lib/cli/parse-args.js +0 -58
- package/lib/cli/parse-args.js.map +0 -1
- package/lib/npm-config.d.ts +0 -1
- package/lib/npm-config.js +0 -85
- package/lib/npm-config.js.map +0 -1
- package/lib/npm-env.d.ts +0 -6
- package/lib/npm-env.js +0 -24
- package/lib/npm-env.js.map +0 -1
- package/lib/npm.d.ts +0 -1
- package/lib/npm.js +0 -95
- package/lib/npm.js.map +0 -1
- /package/lib/action/{index.d.ts → main.d.ts} +0 -0
package/lib/npm-config.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setNpmConfig = void 0;
|
|
4
|
-
const ezSpawn = require("@jsdevtools/ez-spawn");
|
|
5
|
-
const ono_1 = require("@jsdevtools/ono");
|
|
6
|
-
const fs_1 = require("fs");
|
|
7
|
-
const os_1 = require("os");
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
const npm_env_1 = require("./npm-env");
|
|
10
|
-
/**
|
|
11
|
-
* Sets/updates the NPM config based on the options.
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
async function setNpmConfig(options) {
|
|
15
|
-
// Read the current NPM config
|
|
16
|
-
let configPath = await getNpmConfigPath(options);
|
|
17
|
-
let config = await readNpmConfig(configPath, options);
|
|
18
|
-
// Update the config
|
|
19
|
-
config = updateConfig(config, options);
|
|
20
|
-
// Save the new config
|
|
21
|
-
await writeNpmConfig(configPath, config, options);
|
|
22
|
-
}
|
|
23
|
-
exports.setNpmConfig = setNpmConfig;
|
|
24
|
-
/**
|
|
25
|
-
* Updates the given NPM config with the specified options.
|
|
26
|
-
*/
|
|
27
|
-
function updateConfig(config, { registry, debug }) {
|
|
28
|
-
let authDomain = registry.origin.slice(registry.protocol.length);
|
|
29
|
-
let lines = config.split(/\r?\n/);
|
|
30
|
-
// Remove any existing lines that set the registry or token
|
|
31
|
-
lines = lines.filter((line) => !(line.startsWith("registry=") || line.includes("_authToken=")));
|
|
32
|
-
// Append the new registry and token to the end of the file
|
|
33
|
-
lines.push(`${authDomain}/:_authToken=\${INPUT_TOKEN}`);
|
|
34
|
-
lines.push(`registry=${registry.href}`);
|
|
35
|
-
config = lines.join(os_1.EOL).trim() + os_1.EOL;
|
|
36
|
-
debug(`NEW NPM CONFIG: \n${config}`);
|
|
37
|
-
return config;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Gets the path of the NPM config file.
|
|
41
|
-
*/
|
|
42
|
-
async function getNpmConfigPath(options) {
|
|
43
|
-
try {
|
|
44
|
-
// Get the environment variables to pass to NPM
|
|
45
|
-
let env = npm_env_1.getNpmEnvironment(options);
|
|
46
|
-
options.debug("Running command: npm config get userconfig");
|
|
47
|
-
let process = await ezSpawn.async("npm", "config", "get", "userconfig", { env });
|
|
48
|
-
return process.stdout.trim();
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
throw ono_1.ono(error, "Unable to determine the NPM config file path.");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Reads the NPM config file.
|
|
56
|
-
*/
|
|
57
|
-
async function readNpmConfig(configPath, { debug }) {
|
|
58
|
-
try {
|
|
59
|
-
debug(`Reading NPM config from ${configPath}`);
|
|
60
|
-
let config = await fs_1.promises.readFile(configPath, "utf-8");
|
|
61
|
-
debug(`OLD NPM CONFIG: \n${config}`);
|
|
62
|
-
return config;
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
if (error.code === "ENOENT") {
|
|
66
|
-
debug("OLD NPM CONFIG: <none>");
|
|
67
|
-
return "";
|
|
68
|
-
}
|
|
69
|
-
throw ono_1.ono(error, `Unable to read the NPM config file: ${configPath}`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Writes the NPM config file.
|
|
74
|
-
*/
|
|
75
|
-
async function writeNpmConfig(configPath, config, { debug }) {
|
|
76
|
-
try {
|
|
77
|
-
debug(`Writing new NPM config to ${configPath}`);
|
|
78
|
-
await fs_1.promises.mkdir(path_1.dirname(configPath), { recursive: true });
|
|
79
|
-
await fs_1.promises.writeFile(configPath, config);
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
throw ono_1.ono(error, `Unable to update the NPM config file: ${configPath}`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=npm-config.js.map
|
package/lib/npm-config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm-config.js","sourceRoot":"","sources":["../src/npm-config.ts"],"names":[],"mappings":"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"}
|
package/lib/npm-env.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { NormalizedOptions } from "./normalize-options";
|
|
3
|
-
/**
|
|
4
|
-
* Returns the environment variables that should be passed to NPM, based on the given options.
|
|
5
|
-
*/
|
|
6
|
-
export declare function getNpmEnvironment(options: NormalizedOptions): NodeJS.ProcessEnv;
|
package/lib/npm-env.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNpmEnvironment = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Returns the environment variables that should be passed to NPM, based on the given options.
|
|
6
|
-
*/
|
|
7
|
-
function getNpmEnvironment(options) {
|
|
8
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
9
|
-
let env = {
|
|
10
|
-
// Copy all the host's environment variables
|
|
11
|
-
...process.env,
|
|
12
|
-
// Don't pass Node.js runtime variables to NPM
|
|
13
|
-
NODE_ENV: "",
|
|
14
|
-
NODE_OPTIONS: "",
|
|
15
|
-
};
|
|
16
|
-
// Determine if we need to set the NPM token
|
|
17
|
-
let needsToken = Boolean(options.token && process.env.INPUT_TOKEN !== options.token);
|
|
18
|
-
if (needsToken) {
|
|
19
|
-
env.INPUT_TOKEN = options.token;
|
|
20
|
-
}
|
|
21
|
-
return env;
|
|
22
|
-
}
|
|
23
|
-
exports.getNpmEnvironment = getNpmEnvironment;
|
|
24
|
-
//# sourceMappingURL=npm-env.js.map
|
package/lib/npm-env.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm-env.js","sourceRoot":"","sources":["../src/npm-env.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAA0B;IAC1D,yDAAyD;IACzD,IAAI,GAAG,GAAsB;QAC3B,4CAA4C;QAC5C,GAAG,OAAO,CAAC,GAAG;QAEd,8CAA8C;QAC9C,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;KACjB,CAAC;IAEF,4CAA4C;IAC5C,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAErF,IAAI,UAAU,EAAE;QACd,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;KACjC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAnBD,8CAmBC"}
|
package/lib/npm.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/npm.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.npm = void 0;
|
|
4
|
-
const ezSpawn = require("@jsdevtools/ez-spawn");
|
|
5
|
-
const ono_1 = require("@jsdevtools/ono");
|
|
6
|
-
const path_1 = require("path");
|
|
7
|
-
const semver_1 = require("semver");
|
|
8
|
-
const npm_config_1 = require("./npm-config");
|
|
9
|
-
const npm_env_1 = require("./npm-env");
|
|
10
|
-
/**
|
|
11
|
-
* Runs NPM commands.
|
|
12
|
-
* @internal
|
|
13
|
-
*/
|
|
14
|
-
exports.npm = {
|
|
15
|
-
/**
|
|
16
|
-
* Gets the latest published version of the specified package.
|
|
17
|
-
*/
|
|
18
|
-
async getLatestVersion(name, options) {
|
|
19
|
-
// Update the NPM config with the specified registry and token
|
|
20
|
-
await npm_config_1.setNpmConfig(options);
|
|
21
|
-
try {
|
|
22
|
-
let command = ["npm", "view"];
|
|
23
|
-
if (options.tag === "latest") {
|
|
24
|
-
command.push(name);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
command.push(`${name}@${options.tag}`);
|
|
28
|
-
}
|
|
29
|
-
command.push("version");
|
|
30
|
-
// Get the environment variables to pass to NPM
|
|
31
|
-
let env = npm_env_1.getNpmEnvironment(options);
|
|
32
|
-
// Run NPM to get the latest published version of the package
|
|
33
|
-
options.debug(`Running command: npm view ${name} version`, { command, env });
|
|
34
|
-
let result;
|
|
35
|
-
try {
|
|
36
|
-
result = await ezSpawn.async(command, { env });
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
// In case ezSpawn.async throws, it still has stdout and stderr properties.
|
|
40
|
-
result = err;
|
|
41
|
-
}
|
|
42
|
-
let version = result.stdout.trim();
|
|
43
|
-
let error = result.stderr.trim();
|
|
44
|
-
let status = result.status || 0;
|
|
45
|
-
// If the package was not previously published, return version 0.0.0.
|
|
46
|
-
if ((status === 0 && !version) || error.includes("E404")) {
|
|
47
|
-
options.debug(`The latest version of ${name} is at v0.0.0, as it was never published.`);
|
|
48
|
-
return new semver_1.SemVer("0.0.0");
|
|
49
|
-
}
|
|
50
|
-
else if (result instanceof Error) {
|
|
51
|
-
// NPM failed for some reason
|
|
52
|
-
throw result;
|
|
53
|
-
}
|
|
54
|
-
// Parse/validate the version number
|
|
55
|
-
let semver = new semver_1.SemVer(version);
|
|
56
|
-
options.debug(`The latest version of ${name} is at v${semver}`);
|
|
57
|
-
return semver;
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
throw ono_1.ono(error, `Unable to determine the current version of ${name} on NPM.`);
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
/**
|
|
64
|
-
* Publishes the specified package to NPM
|
|
65
|
-
*/
|
|
66
|
-
async publish({ name, version }, options) {
|
|
67
|
-
// Update the NPM config with the specified registry and token
|
|
68
|
-
await npm_config_1.setNpmConfig(options);
|
|
69
|
-
try {
|
|
70
|
-
let command = ["npm", "publish"];
|
|
71
|
-
if (options.tag !== "latest") {
|
|
72
|
-
command.push("--tag", options.tag);
|
|
73
|
-
}
|
|
74
|
-
if (options.access) {
|
|
75
|
-
command.push("--access", options.access);
|
|
76
|
-
}
|
|
77
|
-
if (options.dryRun) {
|
|
78
|
-
command.push("--dry-run");
|
|
79
|
-
}
|
|
80
|
-
// Run "npm publish" in the package.json directory
|
|
81
|
-
let cwd = path_1.resolve(path_1.dirname(options.package));
|
|
82
|
-
// Determine whether to suppress NPM's output
|
|
83
|
-
let stdio = options.quiet ? "pipe" : "inherit";
|
|
84
|
-
// Get the environment variables to pass to NPM
|
|
85
|
-
let env = npm_env_1.getNpmEnvironment(options);
|
|
86
|
-
// Run NPM to publish the package
|
|
87
|
-
options.debug("Running command: npm publish", { command, stdio, cwd, env });
|
|
88
|
-
await ezSpawn.async(command, { cwd, stdio, env });
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
throw ono_1.ono(error, `Unable to publish ${name} v${version} to NPM.`);
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=npm.js.map
|
package/lib/npm.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../src/npm.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|