@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
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatPublishResult = void 0;
7
+ const node_os_1 = __importDefault(require("node:os"));
8
+ /**
9
+ * Format publish results into a string.
10
+ *
11
+ * @param manifest Package manifest
12
+ * @param options Configuration options.
13
+ * @param result Results from running npm publish.
14
+ * @returns Formatted string.
15
+ */
16
+ function formatPublishResult(manifest, options, result) {
17
+ if (result.id === undefined) {
18
+ return `🙅‍♀️ ${manifest.name}@${manifest.version} publish skipped.`;
19
+ }
20
+ return [
21
+ `📦 ${result.id}${options.dryRun.value ? " (DRY RUN)" : ""}`,
22
+ "=== Contents ===",
23
+ ...result.files.map(({ path, size }) => `${formatSize(size)}\t${path}`),
24
+ ].join(node_os_1.default.EOL);
25
+ }
26
+ exports.formatPublishResult = formatPublishResult;
27
+ const formatSize = (size) => {
28
+ if (size < 1000) {
29
+ return `${size} B`;
30
+ }
31
+ if (size < 1000000) {
32
+ return `${(size / 1000).toFixed(1)} kB`;
33
+ }
34
+ return `${(size / 1000000).toFixed(1)} MB`;
35
+ };
36
+ //# sourceMappingURL=format-publish-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-publish-result.js","sourceRoot":"","sources":["../src/format-publish-result.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AAMzB;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,QAAyB,EACzB,OAA0B,EAC1B,MAAqB;IAErB,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;QAC3B,OAAO,SAAS,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,mBAAmB,CAAC;KACtE;IAED,OAAO;QACL,MAAM,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5D,kBAAkB;QAClB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;KACxE,CAAC,IAAI,CAAC,iBAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAdD,kDAcC;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1C,IAAI,IAAI,GAAG,IAAI,EAAE;QACf,OAAO,GAAG,IAAI,IAAI,CAAC;KACpB;IACD,IAAI,IAAI,GAAG,OAAS,EAAE;QACpB,OAAO,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;KACzC;IAED,OAAO,GAAG,CAAC,IAAI,GAAG,OAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { npmPublish } from "./npm-publish";
2
- export * from "./options";
3
- export * from "./results";
4
- export { npmPublish };
5
- export default npmPublish;
1
+ export * from "./options.js";
2
+ export * from "./results.js";
3
+ export * from "./errors.js";
4
+ export { npmPublish } from "./npm-publish.js";
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,14 +15,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  exports.npmPublish = void 0;
14
- const npm_publish_1 = require("./npm-publish");
15
- Object.defineProperty(exports, "npmPublish", { enumerable: true, get: function () { return npm_publish_1.npmPublish; } });
16
18
  // Export the external type definitions as named exports
17
- __exportStar(require("./options"), exports);
18
- __exportStar(require("./results"), exports);
19
- exports.default = npm_publish_1.npmPublish;
20
- // CommonJS default export hack
21
- if (typeof module === "object" && typeof module.exports === "object") {
22
- module.exports = Object.assign(module.exports.default, module.exports);
23
- }
19
+ __exportStar(require("./options.js"), exports);
20
+ __exportStar(require("./results.js"), exports);
21
+ __exportStar(require("./errors.js"), exports);
22
+ // Export `npmPublish` as a named export and the default export
23
+ var npm_publish_js_1 = require("./npm-publish.js");
24
+ Object.defineProperty(exports, "npmPublish", { enumerable: true, get: function () { return npm_publish_js_1.npmPublish; } });
24
25
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+CAA2C;AAOlC,2FAPA,wBAAU,OAOA;AALnB,wDAAwD;AACxD,4CAA0B;AAC1B,4CAA0B;AAI1B,kBAAe,wBAAU,CAAC;AAE1B,+BAA+B;AAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;IACpE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAwD;AACxD,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B;AAE5B,+DAA+D;AAC/D,mDAA8C;AAArC,4GAAA,UAAU,OAAA"}
@@ -1 +1,28 @@
1
- export {};
1
+ import type { PackageManifest } from "./read-manifest.js";
2
+ import { type Access, type Strategy, type Options, type Logger } from "./options.js";
3
+ export declare const TAG_LATEST = "latest";
4
+ /** Normalized and sanitized auth, publish, and runtime configurations. */
5
+ export interface NormalizedOptions {
6
+ registry: URL;
7
+ token: string;
8
+ tag: ConfigValue<string>;
9
+ access: ConfigValue<Access | undefined>;
10
+ provenance: ConfigValue<boolean>;
11
+ dryRun: ConfigValue<boolean>;
12
+ strategy: ConfigValue<Strategy>;
13
+ logger: Logger | undefined;
14
+ temporaryDirectory: string;
15
+ }
16
+ /** A config value, and whether that value differs from default. */
17
+ export interface ConfigValue<TValue> {
18
+ value: TValue;
19
+ isDefault: boolean;
20
+ }
21
+ /**
22
+ * Normalizes and sanitizes options, and fills-in any default values.
23
+ *
24
+ * @param manifest Package metadata from package.json.
25
+ * @param options User-input options.
26
+ * @returns Validated auth and publish configuration.
27
+ */
28
+ export declare function normalizeOptions(manifest: PackageManifest, options: Options): NormalizedOptions;
@@ -1,24 +1,99 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
2
28
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeOptions = void 0;
4
- const url_1 = require("url");
29
+ exports.normalizeOptions = exports.TAG_LATEST = void 0;
30
+ const node_os_1 = __importDefault(require("node:os"));
31
+ const errors = __importStar(require("./errors.js"));
32
+ const options_js_1 = require("./options.js");
33
+ const REGISTRY_NPM = "https://registry.npmjs.org/";
34
+ exports.TAG_LATEST = "latest";
5
35
  /**
6
36
  * Normalizes and sanitizes options, and fills-in any default values.
7
- * @internal
37
+ *
38
+ * @param manifest Package metadata from package.json.
39
+ * @param options User-input options.
40
+ * @returns Validated auth and publish configuration.
8
41
  */
9
- function normalizeOptions(options) {
10
- let registryURL = typeof options.registry === "string" ? new url_1.URL(options.registry) : options.registry;
42
+ function normalizeOptions(manifest, options) {
43
+ const defaultTag = manifest.publishConfig?.tag ?? exports.TAG_LATEST;
44
+ const defaultRegistry = manifest.publishConfig?.registry ?? REGISTRY_NPM;
45
+ const defaultAccess = manifest.publishConfig?.access ??
46
+ (manifest.scope === undefined ? options_js_1.ACCESS_PUBLIC : undefined);
47
+ const defaultProvenance = manifest.publishConfig?.provenance ?? false;
11
48
  return {
12
- token: options.token || "",
13
- registry: registryURL || new url_1.URL("https://registry.npmjs.org/"),
14
- package: options.package || "package.json",
15
- tag: options.tag || "latest",
16
- access: options.access,
17
- dryRun: options.dryRun || false,
18
- checkVersion: options.checkVersion === undefined ? true : Boolean(options.checkVersion),
19
- quiet: options.quiet || false,
20
- debug: options.debug || (() => undefined),
49
+ token: validateToken(options.token),
50
+ registry: validateRegistry(options.registry ?? defaultRegistry),
51
+ tag: setValue(options.tag, defaultTag, validateTag),
52
+ access: setValue(options.access, defaultAccess, validateAccess),
53
+ provenance: setValue(options.provenance, defaultProvenance, Boolean),
54
+ dryRun: setValue(options.dryRun, false, Boolean),
55
+ strategy: setValue(options.strategy, options_js_1.STRATEGY_ALL, validateStrategy),
56
+ logger: options.logger,
57
+ temporaryDirectory: options.temporaryDirectory ?? node_os_1.default.tmpdir(),
21
58
  };
22
59
  }
23
60
  exports.normalizeOptions = normalizeOptions;
61
+ const setValue = (value, defaultValue, validate) => ({
62
+ value: validate(value ?? defaultValue),
63
+ isDefault: value === undefined,
64
+ });
65
+ const validateToken = (value) => {
66
+ if (typeof value === "string" && value.length > 0) {
67
+ return value;
68
+ }
69
+ throw new errors.InvalidTokenError();
70
+ };
71
+ const validateRegistry = (value) => {
72
+ try {
73
+ return new URL(value);
74
+ }
75
+ catch {
76
+ throw new errors.InvalidRegistryUrlError(value);
77
+ }
78
+ };
79
+ const validateTag = (value) => {
80
+ if (typeof value === "string" && value.length > 0) {
81
+ return value;
82
+ }
83
+ throw new errors.InvalidTagError(value);
84
+ };
85
+ const validateAccess = (value) => {
86
+ if (value === undefined ||
87
+ value === options_js_1.ACCESS_PUBLIC ||
88
+ value === options_js_1.ACCESS_RESTRICTED) {
89
+ return value;
90
+ }
91
+ throw new errors.InvalidAccessError(value);
92
+ };
93
+ const validateStrategy = (value) => {
94
+ if (value === options_js_1.STRATEGY_ALL || value === options_js_1.STRATEGY_UPGRADE) {
95
+ return value;
96
+ }
97
+ throw new errors.InvalidStrategyError(value);
98
+ };
24
99
  //# sourceMappingURL=normalize-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../src/normalize-options.ts"],"names":[],"mappings":";;;AAAA,6BAA0B;AAmB1B;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,WAAW,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAEtG,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,QAAQ,EAAE,WAAW,IAAI,IAAI,SAAG,CAAC,6BAA6B,CAAC;QAC/D,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,cAAc;QAC1C,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,QAAQ;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACvF,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC;AAdD,4CAcC"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../src/normalize-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { Logger } from "../options.js";
2
+ import type { NpmCliEnvironment } from "./use-npm-environment.js";
3
+ export interface NpmCliOptions {
4
+ environment: NpmCliEnvironment;
5
+ logger?: Logger | undefined;
6
+ }
7
+ export interface NpmCallResult<CommandT extends Command> {
8
+ successData: SuccessData<CommandT> | undefined;
9
+ errorCode: string | undefined;
10
+ error: Error | undefined;
11
+ }
12
+ type SuccessData<T extends Command> = T extends typeof VIEW ? NpmViewData : T extends typeof PUBLISH ? NpmPublishData : unknown;
13
+ export interface NpmViewData {
14
+ "dist-tags": Record<string, string>;
15
+ versions: string[];
16
+ }
17
+ export interface NpmPublishData {
18
+ id: string;
19
+ files: {
20
+ path: string;
21
+ size: number;
22
+ }[];
23
+ }
24
+ export type Command = typeof VIEW | typeof PUBLISH | string;
25
+ export declare const VIEW = "view";
26
+ export declare const PUBLISH = "publish";
27
+ export declare const E404 = "E404";
28
+ export declare const EPUBLISHCONFLICT = "EPUBLISHCONFLICT";
29
+ /**
30
+ * Call the NPM CLI in JSON mode.
31
+ *
32
+ * @param command The command of the NPM CLI to call
33
+ * @param cliArguments Any arguments to send to the command
34
+ * @param options Customize environment variables or add an error handler.
35
+ * @returns The parsed JSON, or stdout if unparsable.
36
+ */
37
+ export declare function callNpmCli<CommandT extends Command>(command: CommandT, cliArguments: string[], options: NpmCliOptions): Promise<NpmCallResult<CommandT>>;
38
+ export {};
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.callNpmCli = exports.EPUBLISHCONFLICT = exports.E404 = exports.PUBLISH = exports.VIEW = void 0;
30
+ const node_child_process_1 = __importDefault(require("node:child_process"));
31
+ const node_os_1 = __importDefault(require("node:os"));
32
+ const errors = __importStar(require("../errors.js"));
33
+ exports.VIEW = "view";
34
+ exports.PUBLISH = "publish";
35
+ exports.E404 = "E404";
36
+ exports.EPUBLISHCONFLICT = "EPUBLISHCONFLICT";
37
+ const NPM = node_os_1.default.platform() === "win32" ? "npm.cmd" : "npm";
38
+ const JSON_MATCH_RE = /(\{[\s\S]*\})/mu;
39
+ /**
40
+ * Call the NPM CLI in JSON mode.
41
+ *
42
+ * @param command The command of the NPM CLI to call
43
+ * @param cliArguments Any arguments to send to the command
44
+ * @param options Customize environment variables or add an error handler.
45
+ * @returns The parsed JSON, or stdout if unparsable.
46
+ */
47
+ async function callNpmCli(command, cliArguments, options) {
48
+ const { stdout, stderr, exitCode } = await execNpm([command, "--ignore-scripts", "--json", ...cliArguments], options.environment, options.logger);
49
+ let successData;
50
+ let errorCode;
51
+ let error;
52
+ if (exitCode === 0) {
53
+ successData = parseJson(stdout);
54
+ }
55
+ else {
56
+ const errorPayload = parseJson(stdout, stderr);
57
+ errorCode = errorPayload?.error?.code?.toUpperCase();
58
+ error = new errors.NpmCallError(command, exitCode, stderr);
59
+ }
60
+ return { successData, errorCode, error };
61
+ }
62
+ exports.callNpmCli = callNpmCli;
63
+ /**
64
+ * Execute the npm CLI.
65
+ *
66
+ * @param commandArguments Npm subcommand and arguments.
67
+ * @param environment Environment variables.
68
+ * @param logger Optional logger.
69
+ * @returns Stdout, stderr, and the exit code.
70
+ */
71
+ async function execNpm(commandArguments, environment, logger) {
72
+ logger?.debug?.(`Running command: ${NPM} ${commandArguments.join(" ")}`);
73
+ return new Promise((resolve) => {
74
+ let stdout = "";
75
+ let stderr = "";
76
+ const npm = node_child_process_1.default.spawn(NPM, commandArguments, {
77
+ env: { ...process.env, ...environment },
78
+ });
79
+ npm.stdout.on("data", (data) => (stdout += data));
80
+ npm.stderr.on("data", (data) => (stderr += data));
81
+ npm.on("close", (code) => {
82
+ resolve({
83
+ stdout: stdout.trim(),
84
+ stderr: stderr.trim(),
85
+ exitCode: code ?? 0,
86
+ });
87
+ });
88
+ });
89
+ }
90
+ /**
91
+ * Parse CLI outputs for JSON data.
92
+ *
93
+ * Certain versions of the npm CLI may intersperse JSON with human-readable
94
+ * output, which this function accounts for.
95
+ *
96
+ * @param values CLI outputs to check
97
+ * @returns Parsed JSON, if able to parse.
98
+ */
99
+ function parseJson(...values) {
100
+ for (const value of values) {
101
+ const jsonValue = JSON_MATCH_RE.exec(value)?.[1];
102
+ if (jsonValue) {
103
+ try {
104
+ return JSON.parse(jsonValue);
105
+ }
106
+ catch {
107
+ return undefined;
108
+ }
109
+ }
110
+ }
111
+ return undefined;
112
+ }
113
+ //# sourceMappingURL=call-npm-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-npm-cli.js","sourceRoot":"","sources":["../../src/npm/call-npm-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./call-npm-cli.js";
2
+ export * from "./use-npm-environment.js";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./call-npm-cli.js"), exports);
18
+ __exportStar(require("./use-npm-environment.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/npm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,2DAAyC"}
@@ -0,0 +1,15 @@
1
+ import type { PackageManifest } from "../read-manifest.js";
2
+ import type { NormalizedOptions } from "../normalize-options.js";
3
+ export type NpmCliEnvironment = Record<string, string>;
4
+ export type NpmCliTask<TReturn> = (manifest: PackageManifest, options: NormalizedOptions, environment: NpmCliEnvironment) => Promise<TReturn>;
5
+ /**
6
+ * Create a temporary .npmrc file with the given auth token, and call a task
7
+ * with env vars set to use that .npmrc.
8
+ *
9
+ * @param manifest Pacakge metadata.
10
+ * @param options Configuration options.
11
+ * @param task A function called with the configured environment. After the
12
+ * function resolves, the temporary .npmrc file will be removed.
13
+ * @returns The resolved value of `task`
14
+ */
15
+ export declare function useNpmEnvironment<TReturn>(manifest: PackageManifest, options: NormalizedOptions, task: NpmCliTask<TReturn>): Promise<TReturn>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useNpmEnvironment = void 0;
7
+ const promises_1 = __importDefault(require("node:fs/promises"));
8
+ const node_os_1 = __importDefault(require("node:os"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ /**
11
+ * Create a temporary .npmrc file with the given auth token, and call a task
12
+ * with env vars set to use that .npmrc.
13
+ *
14
+ * @param manifest Pacakge metadata.
15
+ * @param options Configuration options.
16
+ * @param task A function called with the configured environment. After the
17
+ * function resolves, the temporary .npmrc file will be removed.
18
+ * @returns The resolved value of `task`
19
+ */
20
+ async function useNpmEnvironment(manifest, options, task) {
21
+ const { registry, token, logger, temporaryDirectory } = options;
22
+ const npmrcDirectory = await promises_1.default.mkdtemp(node_path_1.default.join(temporaryDirectory, "npm-publish-"));
23
+ const npmrc = node_path_1.default.join(npmrcDirectory, ".npmrc");
24
+ const environment = {
25
+ NODE_AUTH_TOKEN: token,
26
+ npm_config_userconfig: npmrc,
27
+ };
28
+ const config = [
29
+ "; created by jsdevtools/npm-publish",
30
+ `//${registry.host}/:_authToken=\${NODE_AUTH_TOKEN}`,
31
+ `registry=${registry.href}`,
32
+ "",
33
+ ].join(node_os_1.default.EOL);
34
+ await promises_1.default.writeFile(npmrc, config, "utf8");
35
+ logger?.debug?.(`Temporary .npmrc created at ${npmrc}\n${config}`);
36
+ try {
37
+ return await task(manifest, options, environment);
38
+ }
39
+ finally {
40
+ await promises_1.default.rm(npmrcDirectory, { force: true, recursive: true });
41
+ }
42
+ }
43
+ exports.useNpmEnvironment = useNpmEnvironment;
44
+ //# sourceMappingURL=use-npm-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-npm-environment.js","sourceRoot":"","sources":["../../src/npm/use-npm-environment.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAkC;AAClC,sDAAyB;AACzB,0DAA6B;AAa7B;;;;;;;;;GASG;AACI,KAAK,UAAU,iBAAiB,CACrC,QAAyB,EACzB,OAA0B,EAC1B,IAAyB;IAEzB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,kBAAE,CAAC,OAAO,CACrC,mBAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAC9C,CAAC;IACF,MAAM,KAAK,GAAG,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG;QAClB,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,KAAK;KAC7B,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,qCAAqC;QACrC,KAAK,QAAQ,CAAC,IAAI,kCAAkC;QACpD,YAAY,QAAQ,CAAC,IAAI,EAAE;QAC3B,EAAE;KACH,CAAC,IAAI,CAAC,iBAAE,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,kBAAE,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C,MAAM,EAAE,KAAK,EAAE,CAAC,+BAA+B,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;IAEnE,IAAI;QACF,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;KACnD;YAAS;QACR,MAAM,kBAAE,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC;AA/BD,8CA+BC"}
@@ -1,6 +1,9 @@
1
- import { Options } from "./options";
2
- import { Results } from "./results";
1
+ import type { Options } from "./options.js";
2
+ import type { Results } from "./results.js";
3
3
  /**
4
- * Publishes a package to NPM, if its version has changed
4
+ * Publishes a package to NPM, if its version has changed.
5
+ *
6
+ * @param options Publish options.
7
+ * @returns Release metadata.
5
8
  */
6
- export declare function npmPublish(opts?: Options): Promise<Results>;
9
+ export declare function npmPublish(options: Options): Promise<Results>;
@@ -1,35 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.npmPublish = void 0;
4
- const semver = require("semver");
5
- const normalize_options_1 = require("./normalize-options");
6
- const npm_1 = require("./npm");
7
- const read_manifest_1 = require("./read-manifest");
4
+ const read_manifest_js_1 = require("./read-manifest.js");
5
+ const normalize_options_js_1 = require("./normalize-options.js");
6
+ const index_js_1 = require("./npm/index.js");
7
+ const index_js_2 = require("./compare-and-publish/index.js");
8
+ const format_publish_result_js_1 = require("./format-publish-result.js");
8
9
  /**
9
- * Publishes a package to NPM, if its version has changed
10
+ * Publishes a package to NPM, if its version has changed.
11
+ *
12
+ * @param options Publish options.
13
+ * @returns Release metadata.
10
14
  */
11
- async function npmPublish(opts = {}) {
12
- let options = normalize_options_1.normalizeOptions(opts);
13
- // Get the old and new version numbers
14
- let manifest = await read_manifest_1.readManifest(options.package, options.debug);
15
- let publishedVersion = await npm_1.npm.getLatestVersion(manifest.name, options);
16
- // Determine if/how the version has changed
17
- let diff = semver.diff(manifest.version, publishedVersion);
18
- if (diff || !options.checkVersion) {
19
- // Publish the new version to NPM
20
- await npm_1.npm.publish(manifest, options);
21
- }
22
- let results = {
23
- package: manifest.name,
24
- type: diff || "none",
25
- version: manifest.version.raw,
26
- oldVersion: publishedVersion.raw,
27
- tag: options.tag,
28
- access: options.access || (manifest.name.startsWith("@") ? "restricted" : "public"),
29
- dryRun: options.dryRun
15
+ async function npmPublish(options) {
16
+ const manifest = await (0, read_manifest_js_1.readManifest)(options.package);
17
+ const normalizedOptions = (0, normalize_options_js_1.normalizeOptions)(manifest, options);
18
+ const publishResult = await (0, index_js_1.useNpmEnvironment)(manifest, normalizedOptions, index_js_2.compareAndPublish);
19
+ normalizedOptions.logger?.info?.((0, format_publish_result_js_1.formatPublishResult)(manifest, normalizedOptions, publishResult));
20
+ return {
21
+ id: publishResult.id,
22
+ type: publishResult.type,
23
+ oldVersion: publishResult.oldVersion,
24
+ name: manifest.name,
25
+ version: manifest.version,
26
+ registry: normalizedOptions.registry,
27
+ tag: normalizedOptions.tag.value,
28
+ access: normalizedOptions.access.value,
29
+ strategy: normalizedOptions.strategy.value,
30
+ dryRun: normalizedOptions.dryRun.value,
30
31
  };
31
- options.debug("OUTPUT:", results);
32
- return results;
33
32
  }
34
33
  exports.npmPublish = npmPublish;
35
34
  //# sourceMappingURL=npm-publish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm-publish.js","sourceRoot":"","sources":["../src/npm-publish.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,2DAAuD;AACvD,+BAA4B;AAE5B,mDAA+C;AAG/C;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,OAAgB,EAAE;IACjD,IAAI,OAAO,GAAG,oCAAgB,CAAC,IAAI,CAAC,CAAC;IAErC,sCAAsC;IACtC,IAAI,QAAQ,GAAG,MAAM,4BAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,gBAAgB,GAAG,MAAM,SAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1E,2CAA2C;IAC3C,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAE3D,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;QACjC,iCAAiC;QACjC,MAAM,SAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACtC;IAED,IAAI,OAAO,GAAY;QACrB,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,IAAI,EAAE,IAAI,IAAI,MAAM;QACpB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG;QAC7B,UAAU,EAAE,gBAAgB,CAAC,GAAG;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnF,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AACjB,CAAC;AA3BD,gCA2BC"}
1
+ {"version":3,"file":"npm-publish.js","sourceRoot":"","sources":["../src/npm-publish.ts"],"names":[],"mappings":";;;AAAA,yDAAkD;AAClD,iEAA0D;AAC1D,6CAAmD;AACnD,6DAAmE;AACnE,yEAAiE;AAIjE;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,OAAgB;IAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAA,uCAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,MAAM,IAAA,4BAAiB,EAC3C,QAAQ,EACR,iBAAiB,EACjB,4BAAiB,CAClB,CAAC;IAEF,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,CAC9B,IAAA,8CAAmB,EAAC,QAAQ,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAChE,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,aAAa,CAAC,EAAE;QACpB,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;QACpC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK;QAChC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK;QACtC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK;QAC1C,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK;KACvC,CAAC;AACJ,CAAC;AAzBD,gCAyBC"}