@jsdevtools/npm-publish 1.4.3 → 2.1.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.
Files changed (100) hide show
  1. package/README.md +174 -147
  2. package/bin/npm-publish.js +10 -2
  3. package/lib/action/core.d.ts +45 -0
  4. package/lib/action/core.js +59 -0
  5. package/lib/action/core.js.map +1 -0
  6. package/lib/action/main.js +55 -0
  7. package/lib/action/main.js.map +1 -0
  8. package/lib/cli/index.d.ts +4 -2
  9. package/lib/cli/index.js +60 -53
  10. package/lib/cli/index.js.map +1 -1
  11. package/lib/cli/parse-cli-arguments.d.ts +17 -0
  12. package/lib/cli/parse-cli-arguments.js +40 -0
  13. package/lib/cli/parse-cli-arguments.js.map +1 -0
  14. package/lib/compare-and-publish/compare-and-publish.d.ts +21 -0
  15. package/lib/compare-and-publish/compare-and-publish.js +49 -0
  16. package/lib/compare-and-publish/compare-and-publish.js.map +1 -0
  17. package/lib/compare-and-publish/compare-versions.d.ts +16 -0
  18. package/lib/compare-and-publish/compare-versions.js +41 -0
  19. package/lib/compare-and-publish/compare-versions.js.map +1 -0
  20. package/lib/compare-and-publish/get-arguments.d.ts +21 -0
  21. package/lib/compare-and-publish/get-arguments.js +50 -0
  22. package/lib/compare-and-publish/get-arguments.js.map +1 -0
  23. package/lib/compare-and-publish/index.d.ts +1 -0
  24. package/lib/compare-and-publish/index.js +18 -0
  25. package/lib/compare-and-publish/index.js.map +1 -0
  26. package/lib/errors.d.ts +39 -0
  27. package/lib/errors.js +121 -0
  28. package/lib/errors.js.map +1 -0
  29. package/lib/format-publish-result.d.ts +12 -0
  30. package/lib/format-publish-result.js +36 -0
  31. package/lib/format-publish-result.js.map +1 -0
  32. package/lib/index.d.ts +4 -5
  33. package/lib/index.js +11 -10
  34. package/lib/index.js.map +1 -1
  35. package/lib/normalize-options.d.ts +28 -1
  36. package/lib/normalize-options.js +89 -14
  37. package/lib/normalize-options.js.map +1 -1
  38. package/lib/npm/call-npm-cli.d.ts +38 -0
  39. package/lib/npm/call-npm-cli.js +113 -0
  40. package/lib/npm/call-npm-cli.js.map +1 -0
  41. package/lib/npm/index.d.ts +2 -0
  42. package/lib/npm/index.js +19 -0
  43. package/lib/npm/index.js.map +1 -0
  44. package/lib/npm/use-npm-environment.d.ts +15 -0
  45. package/lib/npm/use-npm-environment.js +44 -0
  46. package/lib/npm/use-npm-environment.js.map +1 -0
  47. package/lib/npm-publish.d.ts +7 -4
  48. package/lib/npm-publish.js +25 -26
  49. package/lib/npm-publish.js.map +1 -1
  50. package/lib/options.d.ts +67 -44
  51. package/lib/options.js +5 -0
  52. package/lib/options.js.map +1 -1
  53. package/lib/read-manifest.d.ts +22 -1
  54. package/lib/read-manifest.js +122 -22
  55. package/lib/read-manifest.js.map +1 -1
  56. package/lib/results.d.ts +30 -28
  57. package/lib/results.js +3 -0
  58. package/lib/results.js.map +1 -1
  59. package/package.json +47 -35
  60. package/src/action/core.ts +91 -0
  61. package/src/action/main.ts +32 -0
  62. package/src/cli/index.ts +72 -0
  63. package/src/cli/parse-cli-arguments.ts +49 -0
  64. package/src/compare-and-publish/compare-and-publish.ts +75 -0
  65. package/src/compare-and-publish/compare-versions.ts +48 -0
  66. package/src/compare-and-publish/get-arguments.ts +61 -0
  67. package/src/compare-and-publish/index.ts +1 -0
  68. package/src/errors.ts +137 -0
  69. package/src/format-publish-result.ts +40 -0
  70. package/src/index.ts +7 -0
  71. package/src/normalize-options.ts +123 -0
  72. package/src/npm/call-npm-cli.ts +140 -0
  73. package/src/npm/index.ts +2 -0
  74. package/src/npm/use-npm-environment.ts +57 -0
  75. package/src/npm-publish.ts +40 -0
  76. package/src/options.ts +108 -0
  77. package/src/read-manifest.ts +142 -0
  78. package/src/results.ts +50 -0
  79. package/CHANGELOG.md +0 -49
  80. package/lib/action/index.js +0 -67
  81. package/lib/action/index.js.map +0 -1
  82. package/lib/cli/exit-code.d.ts +0 -1
  83. package/lib/cli/exit-code.js +0 -16
  84. package/lib/cli/exit-code.js.map +0 -1
  85. package/lib/cli/help.d.ts +0 -1
  86. package/lib/cli/help.js +0 -28
  87. package/lib/cli/help.js.map +0 -1
  88. package/lib/cli/parse-args.d.ts +0 -1
  89. package/lib/cli/parse-args.js +0 -58
  90. package/lib/cli/parse-args.js.map +0 -1
  91. package/lib/npm-config.d.ts +0 -1
  92. package/lib/npm-config.js +0 -85
  93. package/lib/npm-config.js.map +0 -1
  94. package/lib/npm-env.d.ts +0 -6
  95. package/lib/npm-env.js +0 -24
  96. package/lib/npm-env.js.map +0 -1
  97. package/lib/npm.d.ts +0 -1
  98. package/lib/npm.js +0 -95
  99. package/lib/npm.js.map +0 -1
  100. /package/lib/action/{index.d.ts → main.d.ts} +0 -0
package/lib/cli/help.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/lib/cli/help.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.usageText = void 0;
4
- /**
5
- * Text explaining how to use the CLI
6
- * @internal
7
- */
8
- exports.usageText = `
9
- Usage: npm-publish [options] [package_path]
10
-
11
- options:
12
- --token <token> The NPM access token to use when publishing
13
-
14
- --registry <url> The NPM registry URL to use
15
-
16
- --debug, -d Enable debug mode, with increased logging
17
-
18
- --quiet, -q Suppress unnecessary output
19
-
20
- --version, -v Print the version number
21
-
22
- --help, -h Show help
23
-
24
- package_path The absolute or relative path of the NPM package to publish.
25
- Can be a directory path, or the path of a package.json file.
26
- Defaults to the current directory.
27
- `;
28
- //# sourceMappingURL=help.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,SAAS,GAAG;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseArgs = void 0;
4
- const commandLineArgs = require("command-line-args");
5
- const exit_code_1 = require("./exit-code");
6
- const help_1 = require("./help");
7
- /**
8
- * Parses the command-line arguments
9
- * @internal
10
- */
11
- function parseArgs(argv) {
12
- try {
13
- let args = commandLineArgs([
14
- { name: "token", type: String },
15
- { name: "registry", type: String },
16
- { name: "package", type: String, defaultOption: true },
17
- { name: "tag", type: String },
18
- { name: "access", type: String },
19
- { name: "dry-run", type: Boolean },
20
- { name: "debug", alias: "d", type: Boolean },
21
- { name: "quiet", alias: "q", type: Boolean },
22
- { name: "version", alias: "v", type: Boolean },
23
- { name: "help", alias: "h", type: Boolean },
24
- ], { argv });
25
- if (args.token === null) {
26
- throw new SyntaxError("The --token argument requires a value");
27
- }
28
- if (args.registry === null) {
29
- throw new SyntaxError("The --registry argument requires a value");
30
- }
31
- let parsedArgs = {
32
- help: args.help,
33
- version: args.version,
34
- options: {
35
- token: args.token,
36
- registry: args.registry,
37
- package: args.package,
38
- tag: args.tag,
39
- access: args.access,
40
- dryRun: args["dry-run"],
41
- debug: args.debug ? console.debug : undefined,
42
- quiet: args.quiet,
43
- }
44
- };
45
- return parsedArgs;
46
- }
47
- catch (error) {
48
- // There was an error parsing the command-line args
49
- return errorHandler(error);
50
- }
51
- }
52
- exports.parseArgs = parseArgs;
53
- function errorHandler(error) {
54
- console.error(error.message);
55
- console.error(help_1.usageText);
56
- return process.exit(exit_code_1.ExitCode.InvalidArgument);
57
- }
58
- //# sourceMappingURL=parse-args.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-args.js","sourceRoot":"","sources":["../../src/cli/parse-args.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AAErD,2CAAuC;AACvC,iCAAmC;AAYnC;;;GAGG;AACH,SAAgB,SAAS,CAAC,IAAc;IACtC,IAAI;QACF,IAAI,IAAI,GAAG,eAAe,CACxB;YACE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;YAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE;YACtD,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;YAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;YAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;YAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5C,EACD,EAAE,IAAI,EAAE,CACT,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,MAAM,IAAI,WAAW,CAAC,uCAAuC,CAAC,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,WAAW,CAAC,0CAA0C,CAAC,CAAC;SACnE;QAED,IAAI,UAAU,GAAe;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAe;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAkB;YAChC,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAkB;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAiB;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAa;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAgB;gBAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAY;gBAClC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAgB;aAC7B;SACF,CAAC;QAEF,OAAO,UAAU,CAAC;KACnB;IACD,OAAO,KAAK,EAAE;QACZ,mDAAmD;QACnD,OAAO,YAAY,CAAC,KAAc,CAAC,CAAC;KACrC;AACH,CAAC;AA/CD,8BA+CC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,gBAAS,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC,IAAI,CAAC,oBAAQ,CAAC,eAAe,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +0,0 @@
1
- export {};
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
@@ -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
@@ -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