@lerna-lite/publish 0.3.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 (69) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +415 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +15 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/create-temp-licenses.d.ts +7 -0
  7. package/dist/lib/create-temp-licenses.js +33 -0
  8. package/dist/lib/create-temp-licenses.js.map +1 -0
  9. package/dist/lib/fetch-config.d.ts +7 -0
  10. package/dist/lib/fetch-config.js +22 -0
  11. package/dist/lib/fetch-config.js.map +1 -0
  12. package/dist/lib/get-current-sha.d.ts +6 -0
  13. package/dist/lib/get-current-sha.js +20 -0
  14. package/dist/lib/get-current-sha.js.map +1 -0
  15. package/dist/lib/get-current-tags.d.ts +8 -0
  16. package/dist/lib/get-current-tags.js +36 -0
  17. package/dist/lib/get-current-tags.js.map +1 -0
  18. package/dist/lib/get-npm-username.d.ts +7 -0
  19. package/dist/lib/get-npm-username.js +50 -0
  20. package/dist/lib/get-npm-username.js.map +1 -0
  21. package/dist/lib/get-packages-without-license.d.ts +8 -0
  22. package/dist/lib/get-packages-without-license.js +23 -0
  23. package/dist/lib/get-packages-without-license.js.map +1 -0
  24. package/dist/lib/get-packed.d.ts +2 -0
  25. package/dist/lib/get-packed.js +66 -0
  26. package/dist/lib/get-packed.js.map +1 -0
  27. package/dist/lib/get-profile-data.d.ts +7 -0
  28. package/dist/lib/get-profile-data.js +23 -0
  29. package/dist/lib/get-profile-data.js.map +1 -0
  30. package/dist/lib/get-tagged-packages.d.ts +8 -0
  31. package/dist/lib/get-tagged-packages.js +30 -0
  32. package/dist/lib/get-tagged-packages.js.map +1 -0
  33. package/dist/lib/get-two-factor-auth-required.d.ts +7 -0
  34. package/dist/lib/get-two-factor-auth-required.js +43 -0
  35. package/dist/lib/get-two-factor-auth-required.js.map +1 -0
  36. package/dist/lib/get-unpublished-packages.d.ts +7 -0
  37. package/dist/lib/get-unpublished-packages.js +34 -0
  38. package/dist/lib/get-unpublished-packages.js.map +1 -0
  39. package/dist/lib/get-whoami.d.ts +11 -0
  40. package/dist/lib/get-whoami.js +21 -0
  41. package/dist/lib/get-whoami.js.map +1 -0
  42. package/dist/lib/git-checkout.d.ts +7 -0
  43. package/dist/lib/git-checkout.js +21 -0
  44. package/dist/lib/git-checkout.js.map +1 -0
  45. package/dist/lib/index.d.ts +19 -0
  46. package/dist/lib/index.js +32 -0
  47. package/dist/lib/index.js.map +1 -0
  48. package/dist/lib/log-packed.d.ts +1 -0
  49. package/dist/lib/log-packed.js +68 -0
  50. package/dist/lib/log-packed.js.map +1 -0
  51. package/dist/lib/npm-dist-tag.d.ts +30 -0
  52. package/dist/lib/npm-dist-tag.js +142 -0
  53. package/dist/lib/npm-dist-tag.js.map +1 -0
  54. package/dist/lib/npm-publish.d.ts +11 -0
  55. package/dist/lib/npm-publish.js +116 -0
  56. package/dist/lib/npm-publish.js.map +1 -0
  57. package/dist/lib/pack-directory.d.ts +8 -0
  58. package/dist/lib/pack-directory.js +68 -0
  59. package/dist/lib/pack-directory.js.map +1 -0
  60. package/dist/lib/remove-temp-licenses.d.ts +6 -0
  61. package/dist/lib/remove-temp-licenses.js +20 -0
  62. package/dist/lib/remove-temp-licenses.js.map +1 -0
  63. package/dist/lib/verify-npm-package-access.d.ts +9 -0
  64. package/dist/lib/verify-npm-package-access.js +56 -0
  65. package/dist/lib/verify-npm-package-access.js.map +1 -0
  66. package/dist/publishCommand.d.ts +59 -0
  67. package/dist/publishCommand.js +628 -0
  68. package/dist/publishCommand.js.map +1 -0
  69. package/package.json +82 -0
@@ -0,0 +1,142 @@
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.fetchTags = exports.list = exports.remove = exports.add = void 0;
7
+ const npmlog_1 = __importDefault(require("npmlog"));
8
+ const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
9
+ const npm_registry_fetch_1 = __importDefault(require("npm-registry-fetch"));
10
+ const core_1 = require("@lerna-lite/core");
11
+ /**
12
+ * @typedef {fetch.FetchOptions & { defaultTag?: string; dryRun?: boolean; }} DistTagOptions
13
+ */
14
+ /**
15
+ * Add a dist-tag to a package.
16
+ * @param {string} spec
17
+ * @param {string} [tag]
18
+ * @param {DistTagOptions} options
19
+ * @param {import("@lerna/otplease").OneTimePasswordCache} otpCache
20
+ */
21
+ function add(spec, tag, options, otpCache) {
22
+ const opts = {
23
+ log: npmlog_1.default,
24
+ ...options,
25
+ spec: (0, npm_package_arg_1.default)(spec),
26
+ };
27
+ const cleanTag = (tag || opts.defaultTag || opts.tag).trim();
28
+ const { name, rawSpec: version } = opts.spec;
29
+ opts.log.verbose('dist-tag', `adding "${cleanTag}" to ${name}@${version}`);
30
+ // istanbul ignore next
31
+ if (opts.dryRun) {
32
+ opts.log.silly('dist-tag', 'dry-run configured, bailing now');
33
+ return Promise.resolve();
34
+ }
35
+ return fetchTags(opts).then((tags) => {
36
+ if (tags[cleanTag] === version) {
37
+ opts.log.warn('dist-tag', `${name}@${cleanTag} already set to ${version}`);
38
+ return tags;
39
+ }
40
+ const uri = `/-/package/${opts.spec.escapedName}/dist-tags/${encodeURIComponent(cleanTag)}`;
41
+ const payload = {
42
+ ...opts,
43
+ method: 'PUT',
44
+ body: JSON.stringify(version),
45
+ headers: {
46
+ // cannot use fetch.json() due to HTTP 204 response,
47
+ // so we manually set the required content-type
48
+ 'content-type': 'application/json',
49
+ },
50
+ spec: opts.spec,
51
+ };
52
+ // success returns HTTP 204, thus no JSON to parse
53
+ return (0, core_1.otplease)((wrappedPayload) => (0, npm_registry_fetch_1.default)(uri, wrappedPayload), payload, otpCache).then(() => {
54
+ opts.log.verbose('dist-tag', `added "${cleanTag}" to ${name}@${version}`);
55
+ // eslint-disable-next-line no-param-reassign
56
+ tags[cleanTag] = version;
57
+ return tags;
58
+ });
59
+ });
60
+ }
61
+ exports.add = add;
62
+ /**
63
+ * Remove a dist-tag from a package.
64
+ * @param {string} spec
65
+ * @param {string} tag
66
+ * @param {DistTagOptions} options
67
+ * @param {import("@lerna/otplease").OneTimePasswordCache} otpCache
68
+ */
69
+ function remove(spec, tag, options, otpCache) {
70
+ const opts = {
71
+ log: npmlog_1.default,
72
+ ...options,
73
+ spec: (0, npm_package_arg_1.default)(spec),
74
+ };
75
+ opts.log.verbose('dist-tag', `removing "${tag}" from ${opts.spec.name}`);
76
+ // istanbul ignore next
77
+ if (opts.dryRun) {
78
+ opts.log.silly('dist-tag', 'dry-run configured, bailing now');
79
+ return Promise.resolve();
80
+ }
81
+ return fetchTags(opts).then((tags) => {
82
+ const version = tags[tag];
83
+ if (!version) {
84
+ opts.log.info('dist-tag', `"${tag}" is not a dist-tag on ${opts.spec.name}`);
85
+ return tags;
86
+ }
87
+ const uri = `/-/package/${opts.spec.escapedName}/dist-tags/${encodeURIComponent(tag)}`;
88
+ const payload = {
89
+ ...opts,
90
+ method: 'DELETE',
91
+ spec: opts.spec,
92
+ };
93
+ // the delete properly returns a 204, so no json to parse
94
+ return (0, core_1.otplease)((wrappedPayload) => (0, npm_registry_fetch_1.default)(uri, wrappedPayload), payload, otpCache).then(() => {
95
+ opts.log.verbose('dist-tag', `removed "${tag}" from ${opts.spec.name}@${version}`);
96
+ // eslint-disable-next-line no-param-reassign
97
+ delete tags[tag];
98
+ return tags;
99
+ });
100
+ });
101
+ }
102
+ exports.remove = remove;
103
+ /**
104
+ * List dist-tags of a package.
105
+ * @param {string} spec
106
+ * @param {DistTagOptions} options
107
+ */
108
+ function list(spec, options) {
109
+ const opts = {
110
+ log: npmlog_1.default,
111
+ ...options,
112
+ spec: (0, npm_package_arg_1.default)(spec),
113
+ };
114
+ // istanbul ignore next
115
+ if (opts.dryRun) {
116
+ opts.log.silly('dist-tag', 'dry-run configured, bailing now');
117
+ return Promise.resolve();
118
+ }
119
+ return fetchTags(opts);
120
+ }
121
+ exports.list = list;
122
+ /**
123
+ * Retrieve list of dist-tags for a package.
124
+ * @param {Omit<fetch.FetchOptions, 'spec'> & { spec: npa.Result }} opts
125
+ */
126
+ function fetchTags(opts) {
127
+ return npm_registry_fetch_1.default
128
+ .json(`/-/package/${opts.spec.escapedName}/dist-tags`, {
129
+ ...opts,
130
+ preferOnline: true,
131
+ spec: opts.spec,
132
+ })
133
+ .then((data) => {
134
+ if (data && typeof data === 'object') {
135
+ // eslint-disable-next-line no-param-reassign, no-underscore-dangle
136
+ delete data._etag;
137
+ }
138
+ return data || {};
139
+ });
140
+ }
141
+ exports.fetchTags = fetchTags;
142
+ //# sourceMappingURL=npm-dist-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-dist-tag.js","sourceRoot":"","sources":["../../src/lib/npm-dist-tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @typedef {import('npm-registry-fetch').FetchOptions & { access?: 'public' | 'restricted'; defaultTag?: string; }} LibNpmPublishOptions https://github.com/npm/libnpmpublish#opts
3
+ */
4
+ /**
5
+ * Publish a package to the configured registry.
6
+ * @param {import("@lerna/package").Package} pkg
7
+ * @param {string} tarFilePath
8
+ * @param {LibNpmPublishOptions & NpmPublishOptions} [options]
9
+ * @param {import("@lerna/otplease").OneTimePasswordCache} [otpCache]
10
+ */
11
+ export declare function npmPublish(pkg: any, tarFilePath: any, options: {} | undefined, otpCache: any): Promise<any>;
@@ -0,0 +1,116 @@
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.npmPublish = void 0;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const npmlog_1 = __importDefault(require("npmlog"));
9
+ const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const pify_1 = __importDefault(require("pify"));
12
+ const libnpmpublish_1 = require("libnpmpublish");
13
+ const read_package_json_1 = __importDefault(require("read-package-json"));
14
+ const core_1 = require("@lerna-lite/core");
15
+ const readJSONAsync = (0, pify_1.default)(read_package_json_1.default);
16
+ /**
17
+ * @typedef {object} NpmPublishOptions
18
+ * @property {boolean} [dryRun]
19
+ * @property {string} [tag] Passed to libnpmpublish as `opts.defaultTag` to preserve npm v6 back-compat
20
+ */
21
+ /**
22
+ * Alias dash-cased npmConf to camelCase
23
+ * @param {NpmPublishOptions} obj
24
+ * @returns {NpmPublishOptions}
25
+ */
26
+ function flattenOptions(obj) {
27
+ return {
28
+ // eslint-disable-next-line dot-notation -- (npm v7 compat)
29
+ defaultTag: obj['tag'] || 'latest',
30
+ dryRun: obj['dry-run'],
31
+ ...obj,
32
+ };
33
+ }
34
+ /**
35
+ * @typedef {import('npm-registry-fetch').FetchOptions & { access?: 'public' | 'restricted'; defaultTag?: string; }} LibNpmPublishOptions https://github.com/npm/libnpmpublish#opts
36
+ */
37
+ /**
38
+ * Publish a package to the configured registry.
39
+ * @param {import("@lerna/package").Package} pkg
40
+ * @param {string} tarFilePath
41
+ * @param {LibNpmPublishOptions & NpmPublishOptions} [options]
42
+ * @param {import("@lerna/otplease").OneTimePasswordCache} [otpCache]
43
+ */
44
+ function npmPublish(pkg, tarFilePath, options = {}, otpCache) {
45
+ const { dryRun, ...remainingOptions } = flattenOptions(options);
46
+ const { scope } = (0, npm_package_arg_1.default)(pkg.name);
47
+ // pass only the package scope to libnpmpublish
48
+ const opts = {
49
+ log: npmlog_1.default,
50
+ ...remainingOptions,
51
+ projectScope: scope,
52
+ };
53
+ opts.log.verbose('publish', pkg.name);
54
+ let chain = Promise.resolve();
55
+ if (!dryRun) {
56
+ chain = chain.then(() => {
57
+ let { manifestLocation } = pkg;
58
+ if (pkg.contents !== pkg.location) {
59
+ // 'rebase' manifest used to generated directory
60
+ manifestLocation = path_1.default.join(pkg.contents, 'package.json');
61
+ }
62
+ return Promise.all([fs_extra_1.default.readFile(tarFilePath), readJSONAsync(manifestLocation)]);
63
+ });
64
+ chain = chain.then(([tarData, manifest]) => {
65
+ // non-default tag needs to override publishConfig.tag,
66
+ // which is merged into opts below if necessary
67
+ if (opts.defaultTag !== 'latest' &&
68
+ manifest.publishConfig &&
69
+ manifest.publishConfig.tag &&
70
+ manifest.publishConfig.tag !== opts.defaultTag) {
71
+ // eslint-disable-next-line no-param-reassign
72
+ manifest.publishConfig.tag = opts.defaultTag;
73
+ }
74
+ // publishConfig is no longer consumed in n-r-f, so merge here
75
+ if (manifest.publishConfig) {
76
+ Object.assign(opts, publishConfigToOpts(manifest.publishConfig));
77
+ }
78
+ return (0, core_1.otplease)((innerOpts) => (0, libnpmpublish_1.publish)(manifest, tarData, innerOpts), opts, otpCache).catch((err) => {
79
+ var _a, _b;
80
+ opts.log.silly('', err);
81
+ opts.log.error(err.code, (_b = (_a = err.body) === null || _a === void 0 ? void 0 : _a.error) !== null && _b !== void 0 ? _b : err.message);
82
+ // avoid dumping logs, this isn't a lerna-lite problem
83
+ err.name = 'ValidationError';
84
+ // ensure process exits non-zero
85
+ process.exitCode = 'errno' in err ? err.errno : 1;
86
+ // re-throw to break chain upstream
87
+ throw err;
88
+ });
89
+ });
90
+ }
91
+ chain = chain.then(() => (0, core_1.runLifecycle)(pkg, 'publish', opts));
92
+ chain = chain.then(() => (0, core_1.runLifecycle)(pkg, 'postpublish', opts));
93
+ return chain;
94
+ }
95
+ exports.npmPublish = npmPublish;
96
+ /**
97
+ * @typedef {object} PackagePublishConfig
98
+ * @property {'public' | 'restricted'} [access]
99
+ * @property {string} [registry]
100
+ * @property {string} [tag]
101
+ */
102
+ /**
103
+ * Obtain an object suitable for assignment onto existing options from `pkg.publishConfig`.
104
+ * @param {PackagePublishConfig} publishConfig
105
+ * @returns {Omit<PackagePublishConfig, 'tag'> & { defaultTag?: string }}
106
+ */
107
+ function publishConfigToOpts(publishConfig) {
108
+ const opts = { ...publishConfig };
109
+ // npm v7 renamed tag internally
110
+ if (publishConfig.tag) {
111
+ opts.defaultTag = publishConfig.tag;
112
+ delete opts.tag;
113
+ }
114
+ return opts;
115
+ }
116
+ //# sourceMappingURL=npm-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-publish.js","sourceRoot":"","sources":["../../src/lib/npm-publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Package, PackConfig } from '@lerna-lite/core';
2
+ /**
3
+ * Pack a directory suitable for publishing, writing tarball to a tempfile.
4
+ * @param {Package|string} _pkg Package instance or path to manifest
5
+ * @param {string} dir to pack
6
+ * @param {PackConfig} options
7
+ */
8
+ export declare function packDirectory(_pkg: Package, dir: string, options: PackConfig): Promise<any>;
@@ -0,0 +1,68 @@
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.packDirectory = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const npm_packlist_1 = __importDefault(require("npm-packlist"));
9
+ const npmlog_1 = __importDefault(require("npmlog"));
10
+ const tar_1 = __importDefault(require("tar"));
11
+ const temp_write_1 = __importDefault(require("temp-write"));
12
+ const core_1 = require("@lerna-lite/core");
13
+ const get_packed_1 = require("./get-packed");
14
+ /**
15
+ * Pack a directory suitable for publishing, writing tarball to a tempfile.
16
+ * @param {Package|string} _pkg Package instance or path to manifest
17
+ * @param {string} dir to pack
18
+ * @param {PackConfig} options
19
+ */
20
+ function packDirectory(_pkg, dir, options) {
21
+ const pkg = core_1.Package.lazy(_pkg, dir);
22
+ const opts = {
23
+ // @ts-ignore
24
+ log: npmlog_1.default,
25
+ ...options,
26
+ };
27
+ opts.log.verbose('pack-directory', path_1.default.relative('.', pkg.contents));
28
+ let chain = Promise.resolve();
29
+ if (opts.ignorePrepublish !== true) {
30
+ chain = chain.then(() => (0, core_1.runLifecycle)(pkg, 'prepublish', opts));
31
+ }
32
+ chain = chain.then(() => (0, core_1.runLifecycle)(pkg, 'prepare', opts));
33
+ if (opts.lernaCommand === 'publish') {
34
+ chain = chain.then(() => pkg.refresh());
35
+ chain = chain.then(() => (0, core_1.runLifecycle)(pkg, 'prepublishOnly', opts));
36
+ chain = chain.then(() => pkg.refresh());
37
+ }
38
+ chain = chain.then(() => (0, core_1.runLifecycle)(pkg, 'prepack', opts));
39
+ chain = chain.then(() => pkg.refresh());
40
+ chain = chain.then(() => (0, npm_packlist_1.default)({ path: pkg.contents }));
41
+ chain = chain.then((files) => tar_1.default.create({
42
+ cwd: pkg.contents,
43
+ prefix: 'package/',
44
+ portable: true,
45
+ // Provide a specific date in the 1980s for the benefit of zip,
46
+ // which is confounded by files dated at the Unix epoch 0.
47
+ mtime: new Date('1985-10-26T08:15:00.000Z'),
48
+ gzip: true,
49
+ },
50
+ // NOTE: node-tar does some Magic Stuff depending on prefixes for files
51
+ // specifically with @ signs, so we just neutralize that one
52
+ // and any such future 'features' by prepending `./`
53
+ files.map((f) => `./${f}`)));
54
+ chain = chain.then((stream) => (0, temp_write_1.default)(stream, getTarballName(pkg)));
55
+ chain = chain.then((tarFilePath) => (0, get_packed_1.getPacked)(pkg, tarFilePath).then((packed) => Promise.resolve()
56
+ .then(() => (0, core_1.runLifecycle)(pkg, 'postpack', opts))
57
+ .then(() => packed)));
58
+ return chain;
59
+ }
60
+ exports.packDirectory = packDirectory;
61
+ function getTarballName(pkg) {
62
+ const name = pkg.name[0] === '@'
63
+ ? // scoped packages get special treatment
64
+ pkg.name.substr(1).replace(/\//g, '-')
65
+ : pkg.name;
66
+ return `${name}-${pkg.version}.tgz`;
67
+ }
68
+ //# sourceMappingURL=pack-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-directory.js","sourceRoot":"","sources":["../../src/lib/pack-directory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Package } from '@lerna-lite/core';
2
+ /**
3
+ * Remove temporary license files.
4
+ * @param {Package[]} packagesToBeLicensed
5
+ */
6
+ export declare function removeTempLicenses(packagesToBeLicensed: Package[]): Promise<any>;
@@ -0,0 +1,20 @@
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.removeTempLicenses = void 0;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const p_map_1 = __importDefault(require("p-map"));
9
+ /**
10
+ * Remove temporary license files.
11
+ * @param {Package[]} packagesToBeLicensed
12
+ */
13
+ function removeTempLicenses(packagesToBeLicensed) {
14
+ if (!packagesToBeLicensed.length) {
15
+ return Promise.resolve();
16
+ }
17
+ return (0, p_map_1.default)(packagesToBeLicensed, (pkg) => fs_extra_1.default.remove(pkg.licensePath));
18
+ }
19
+ exports.removeTempLicenses = removeTempLicenses;
20
+ //# sourceMappingURL=remove-temp-licenses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-temp-licenses.js","sourceRoot":"","sources":["../../src/lib/remove-temp-licenses.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,kDAAyB;AAIzB;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,oBAA+B;IAChE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;QAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,OAAO,IAAA,eAAI,EAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,CAAC;AAND,gDAMC"}
@@ -0,0 +1,9 @@
1
+ import { FetchConfig, Package } from '@lerna-lite/core';
2
+ /**
3
+ * Throw an error if the logged-in user does not have read-write access to all packages.
4
+ * @param {{ name: string; }[]} packages
5
+ * @param {string} username
6
+ * @param {import('./fetch-config').FetchConfig} options
7
+ * @returns {Promise<void>}
8
+ */
9
+ export declare function verifyNpmPackageAccess(packages: Package[], username: string, options: FetchConfig): Promise<void>;
@@ -0,0 +1,56 @@
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.verifyNpmPackageAccess = void 0;
7
+ const libnpmaccess_1 = __importDefault(require("libnpmaccess"));
8
+ const core_1 = require("@lerna-lite/core");
9
+ const fetch_config_1 = require("./fetch-config");
10
+ /**
11
+ * Throw an error if the logged-in user does not have read-write access to all packages.
12
+ * @param {{ name: string; }[]} packages
13
+ * @param {string} username
14
+ * @param {import('./fetch-config').FetchConfig} options
15
+ * @returns {Promise<void>}
16
+ */
17
+ function verifyNpmPackageAccess(packages, username, options) {
18
+ const opts = (0, fetch_config_1.getFetchConfig)(options, {
19
+ // don't wait forever for third-party failures to be dealt with
20
+ fetchRetries: 0,
21
+ });
22
+ opts.log.silly('verifyNpmPackageAccess');
23
+ return (0, core_1.pulseTillDone)(libnpmaccess_1.default.lsPackages(username, opts)).then(success, failure);
24
+ function success(result) {
25
+ // when _no_ results received, access.lsPackages returns null
26
+ // we can only assume that the packages in question have never been published
27
+ if (result === null) {
28
+ opts.log.warn('', 'The logged-in user does not have any previously-published packages, skipping permission checks...');
29
+ }
30
+ else {
31
+ for (const pkg of packages) {
32
+ if (pkg.name in result && result[pkg.name] !== 'read-write') {
33
+ throw new core_1.ValidationError('EACCESS', `You do not have write permission required to publish '${pkg.name}'`);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ function failure(err) {
39
+ // pass if registry does not support ls-packages endpoint
40
+ if (err.code === 'E500' || err.code === 'E404') {
41
+ // most likely a private registry (npm Enterprise, verdaccio, etc)
42
+ opts.log.warn('EREGISTRY', 'Registry %j does not support `npm access ls-packages`, skipping permission checks...',
43
+ // registry
44
+ opts.registry);
45
+ // don't log redundant errors
46
+ return;
47
+ }
48
+ // Log the error cleanly to stderr
49
+ opts.log.pause();
50
+ console.error(err.message); // eslint-disable-line no-console
51
+ opts.log.resume();
52
+ throw new core_1.ValidationError('EWHOAMI', 'Authentication error. Use `npm whoami` to troubleshoot.');
53
+ }
54
+ }
55
+ exports.verifyNpmPackageAccess = verifyNpmPackageAccess;
56
+ //# sourceMappingURL=verify-npm-package-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-npm-package-access.js","sourceRoot":"","sources":["../../src/lib/verify-npm-package-access.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAkC;AAElC,2CAAwF;AACxF,iDAAgD;AAEhD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,QAAmB,EAAE,QAAgB,EAAE,OAAoB;IAChG,MAAM,IAAI,GAAG,IAAA,6BAAc,EAAC,OAAO,EAAE;QACnC,+DAA+D;QAC/D,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAEzC,OAAO,IAAA,oBAAa,EAAC,sBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/E,SAAS,OAAO,CAAC,MAAM;QACrB,6DAA6D;QAC7D,6EAA6E;QAC7E,IAAI,MAAM,KAAK,IAAI,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,EAAE,EACF,mGAAmG,CACpG,CAAC;SACH;aAAM;YACL,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;gBAC1B,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,YAAY,EAAE;oBAC3D,MAAM,IAAI,sBAAe,CACvB,SAAS,EACT,yDAAyD,GAAG,CAAC,IAAI,GAAG,CACrE,CAAC;iBACH;aACF;SACF;IACH,CAAC;IAED,SAAS,OAAO,CAAC,GAAG;QAClB,yDAAyD;QACzD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YAC9C,kEAAkE;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,WAAW,EACX,sFAAsF;YACtF,WAAW;YACX,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,6BAA6B;YAC7B,OAAO;SACR;QAED,kCAAkC;QAClC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC;QAC7D,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAElB,MAAM,IAAI,sBAAe,CAAC,SAAS,EAAE,yDAAyD,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AApDD,wDAoDC"}
@@ -0,0 +1,59 @@
1
+ import { Command, Package } from '@lerna-lite/core';
2
+ export declare class PublishCommand extends Command {
3
+ /** command name */
4
+ name: string;
5
+ conf: any;
6
+ otpCache: any;
7
+ gitReset: boolean;
8
+ savePrefix: string;
9
+ tagPrefix: string;
10
+ hasRootedLeaf: boolean;
11
+ npmSession: string;
12
+ packagesToPublish: Package[];
13
+ packagesToBeLicensed?: Package[];
14
+ runPackageLifecycle: any;
15
+ runRootLifecycle: (stage: string) => Promise<void> | void;
16
+ verifyAccess: boolean;
17
+ twoFactorAuthRequired: boolean;
18
+ updates: any[];
19
+ updatesVersions?: Map<string, any>;
20
+ get otherCommandConfigs(): string[];
21
+ get requiresGit(): boolean;
22
+ configureProperties(): void;
23
+ get userAgent(): string;
24
+ initialize(): Promise<string | boolean>;
25
+ execute(): Promise<void>;
26
+ verifyWorkingTreeClean(): any;
27
+ detectFromGit(): Promise<any[] | {
28
+ updates: any;
29
+ updatesVersions: any;
30
+ needsConfirmation: boolean;
31
+ } | undefined>;
32
+ detectFromPackage(): Promise<{
33
+ updates: any;
34
+ updatesVersions: any;
35
+ needsConfirmation: boolean;
36
+ }>;
37
+ detectCanaryVersions(): Promise<{
38
+ updates: any;
39
+ updatesVersions: any;
40
+ needsConfirmation: boolean;
41
+ }>;
42
+ confirmPublish(): true | Promise<string>;
43
+ prepareLicenseActions(): Promise<void>;
44
+ prepareRegistryActions(): Promise<any>;
45
+ updateCanaryVersions(): Promise<void[]>;
46
+ resolveLocalDependencyLinks(): Promise<void[]>;
47
+ annotateGitHead(): void;
48
+ serializeChanges(): Promise<Package[]>;
49
+ resetChanges(): any;
50
+ execScript(pkg: any, script: any): any;
51
+ removeTempLicensesOnError(error: any): Promise<never>;
52
+ requestOneTimePassword(): Promise<string> | undefined;
53
+ topoMapPackages(mapper: any): Promise<unknown>;
54
+ packUpdated(): Promise<any>;
55
+ publishPacked(): Promise<any>;
56
+ npmUpdateAsLatest(): Promise<any>;
57
+ getDistTag(): any;
58
+ getPreDistTag(pkg: any): any;
59
+ }