@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,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNpmUsername = void 0;
4
+ const fetch_config_1 = require("./fetch-config");
5
+ const get_profile_data_1 = require("./get-profile-data");
6
+ const get_whoami_1 = require("./get-whoami");
7
+ const core_1 = require("@lerna-lite/core");
8
+ /**
9
+ * Retrieve username of logged-in user.
10
+ * @param {import("./fetch-config").FetchConfig} options
11
+ * @returns {Promise<string>}
12
+ */
13
+ function getNpmUsername(options) {
14
+ const opts = (0, fetch_config_1.getFetchConfig)(options, {
15
+ // don't wait forever for third-party failures to be dealt with
16
+ fetchRetries: 0,
17
+ });
18
+ opts.log.info('', 'Verifying npm credentials');
19
+ return (0, get_profile_data_1.getProfileData)(opts)
20
+ .catch((err) => {
21
+ // Many third-party registries do not implement the user endpoint
22
+ // Legacy npm Enterprise returns E500 instead of E404
23
+ if (err.code === 'E500' || err.code === 'E404') {
24
+ return (0, get_whoami_1.getWhoAmI)(opts);
25
+ }
26
+ // re-throw 401 Unauthorized (and all other unexpected errors)
27
+ throw err;
28
+ })
29
+ .then(success, failure);
30
+ function success(result) {
31
+ opts.log.silly('get npm username', 'received %j', result);
32
+ if (!result.username) {
33
+ throw new core_1.ValidationError('ENEEDAUTH', 'You must be logged in to publish packages. Use `npm login` and try again.');
34
+ }
35
+ return result.username;
36
+ }
37
+ // catch request errors, not auth expired errors
38
+ function failure(err) {
39
+ // Log the error cleanly to stderr
40
+ opts.log.pause();
41
+ console.error(err.message); // eslint-disable-line no-console
42
+ opts.log.resume();
43
+ if (opts.registry === 'https://registry.npmjs.org/') {
44
+ throw new core_1.ValidationError('EWHOAMI', 'Authentication error. Use `npm whoami` to troubleshoot.');
45
+ }
46
+ opts.log.warn('EWHOAMI', 'Unable to determine npm username from third-party registry, this command will likely fail soon!');
47
+ }
48
+ }
49
+ exports.getNpmUsername = getNpmUsername;
50
+ //# sourceMappingURL=get-npm-username.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-npm-username.js","sourceRoot":"","sources":["../../src/lib/get-npm-username.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAChD,yDAAoD;AACpD,6CAAyC;AACzC,2CAAgE;AAEhE;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAoB;IACjD,MAAM,IAAI,GAAG,IAAA,6BAAc,EAAC,OAAO,EAAE;QACnC,+DAA+D;QAC/D,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAE/C,OAAO,IAAA,iCAAc,EAAC,IAAI,CAAC;SACxB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,iEAAiE;QACjE,qDAAqD;QACrD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YAC9C,OAAO,IAAA,sBAAS,EAAC,IAAI,CAAC,CAAC;SACxB;QAED,8DAA8D;QAC9D,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC;SACD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1B,SAAS,OAAO,CAAC,MAAM;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,IAAI,sBAAe,CACvB,WAAW,EACX,2EAA2E,CAC5E,CAAC;SACH;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,gDAAgD;IAChD,SAAS,OAAO,CAAC,GAAG;QAClB,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,IAAI,IAAI,CAAC,QAAQ,KAAK,6BAA6B,EAAE;YACnD,MAAM,IAAI,sBAAe,CAAC,SAAS,EAAE,yDAAyD,CAAC,CAAC;SACjG;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,EACT,iGAAiG,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAlDD,wCAkDC"}
@@ -0,0 +1,8 @@
1
+ import { Package, Project } from '@lerna-lite/core';
2
+ /**
3
+ * Retrieve a list of packages that lack a license file.
4
+ * @param {Project} project
5
+ * @param {Package[]} packagesToPublish
6
+ * @returns {Package[]}
7
+ */
8
+ export declare function getPackagesWithoutLicense(project: Project, packagesToPublish: Package[]): Promise<Package[]>;
@@ -0,0 +1,23 @@
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.getPackagesWithoutLicense = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ /**
9
+ * Retrieve a list of packages that lack a license file.
10
+ * @param {Project} project
11
+ * @param {Package[]} packagesToPublish
12
+ * @returns {Package[]}
13
+ */
14
+ function getPackagesWithoutLicense(project, packagesToPublish) {
15
+ return project.getPackageLicensePaths().then((licensePaths) => {
16
+ // this assumes any existing license is a sibling of package.json, which is pretty safe
17
+ // it also dedupes package locations, since we don't care about duplicate license files
18
+ const licensed = new Set(licensePaths.map((lp) => path_1.default.dirname(lp)));
19
+ return packagesToPublish.filter((pkg) => !licensed.has(pkg.location));
20
+ });
21
+ }
22
+ exports.getPackagesWithoutLicense = getPackagesWithoutLicense;
23
+ //# sourceMappingURL=get-packages-without-license.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-packages-without-license.js","sourceRoot":"","sources":["../../src/lib/get-packages-without-license.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAGxB;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,OAAgB,EAAE,iBAA4B;IACtF,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;QAC5D,uFAAuF;QACvF,uFAAuF;QACvF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1E,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AARD,8DAQC"}
@@ -0,0 +1,2 @@
1
+ import { Package } from '@lerna-lite/core';
2
+ export declare function getPacked(pkg: Package, tarFilePath: string): any;
@@ -0,0 +1,66 @@
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.getPacked = void 0;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const ssri_1 = __importDefault(require("ssri"));
10
+ const tar_1 = __importDefault(require("tar"));
11
+ function getPacked(pkg, tarFilePath) {
12
+ const bundledWanted = new Set(/* pkg.bundleDependencies || pkg.bundledDependencies || */ []);
13
+ const bundled = new Set();
14
+ const files = [];
15
+ let totalEntries = 0;
16
+ let totalEntrySize = 0;
17
+ return tar_1.default
18
+ .list({
19
+ file: tarFilePath,
20
+ onentry(entry) {
21
+ totalEntries += 1;
22
+ totalEntrySize += entry.size;
23
+ const p = entry.path;
24
+ /* istanbul ignore if */
25
+ if (p.startsWith('package/node_modules/')) {
26
+ const name = p.match(/^package\/node_modules\/((?:@[^/]+\/)?[^/]+)/)[1];
27
+ if (bundledWanted.has(name)) {
28
+ bundled.add(name);
29
+ }
30
+ }
31
+ else {
32
+ files.push({
33
+ path: entry.path.replace(/^package\//, ''),
34
+ size: entry.size,
35
+ mode: entry.mode,
36
+ });
37
+ }
38
+ },
39
+ strip: 1,
40
+ })
41
+ .then(() => Promise.all([
42
+ fs_extra_1.default.stat(tarFilePath),
43
+ ssri_1.default.fromStream(fs_extra_1.default.createReadStream(tarFilePath), {
44
+ algorithms: ['sha1', 'sha512'],
45
+ }),
46
+ ]))
47
+ .then(([{ size }, { sha1, sha512 }]) => {
48
+ const shasum = sha1[0].hexDigest();
49
+ return {
50
+ id: `${pkg.name}@${pkg.version}`,
51
+ name: pkg.name,
52
+ version: pkg.version,
53
+ size,
54
+ unpackedSize: totalEntrySize,
55
+ shasum,
56
+ integrity: ssri_1.default.parse(sha512[0]),
57
+ filename: path_1.default.basename(tarFilePath),
58
+ files,
59
+ entryCount: totalEntries,
60
+ bundled: Array.from(bundled),
61
+ tarFilePath,
62
+ };
63
+ });
64
+ }
65
+ exports.getPacked = getPacked;
66
+ //# sourceMappingURL=get-packed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-packed.js","sourceRoot":"","sources":["../../src/lib/get-packed.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,gDAAwB;AACxB,8CAAsB;AAItB,SAAgB,SAAS,CAAC,GAAY,EAAE,WAAmB;IACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,0DAA0D,CAAA,EAAE,CAAC,CAAC;IACpG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAoD,EAAE,CAAC;IAElE,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,OAAO,aAAG;SACP,IAAI,CAAC;QACJ,IAAI,EAAE,WAAW;QACjB,OAAO,CAAC,KAAK;YACX,YAAY,IAAI,CAAC,CAAC;YAClB,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC;YAE7B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YAErB,wBAAwB;YACxB,IAAI,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;gBACzC,MAAM,IAAI,GAAW,CAAC,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhF,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACnB;aACF;iBAAM;gBACL,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;oBAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;aACJ;QACH,CAAC;QACD,KAAK,EAAE,CAAC;KACT,CAAC;SACD,IAAI,CAAC,GAAG,EAAE,CACT,OAAO,CAAC,GAAG,CAAC;QACV,kBAAE,CAAC,IAAI,CAAC,WAAW,CAAC;QACpB,cAAI,CAAC,UAAU,CAAC,kBAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE;YAChD,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;SAC/B,CAAC;KACH,CAAC,CACH;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAEnC,OAAO;YACL,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI;YACJ,YAAY,EAAE,cAAc;YAC5B,MAAM;YACN,SAAS,EAAE,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YACpC,KAAK;YACL,UAAU,EAAE,YAAY;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5B,WAAW;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AA5DD,8BA4DC"}
@@ -0,0 +1,7 @@
1
+ import { ProfileData } from '@lerna-lite/core';
2
+ /**
3
+ * Retrieve profile data of logged-in user.
4
+ * @param {import("./fetch-config").FetchConfig} opts
5
+ * @returns {Promise<ProfileData>}
6
+ */
7
+ export declare function getProfileData(opts: any): Promise<ProfileData>;
@@ -0,0 +1,23 @@
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.getProfileData = void 0;
7
+ const npm_registry_fetch_1 = __importDefault(require("npm-registry-fetch"));
8
+ const core_1 = require("@lerna-lite/core");
9
+ /**
10
+ * Retrieve profile data of logged-in user.
11
+ * @param {import("./fetch-config").FetchConfig} opts
12
+ * @returns {Promise<ProfileData>}
13
+ */
14
+ async function getProfileData(opts) {
15
+ opts.log.verbose('', 'Retrieving npm user profile');
16
+ const data = await (0, core_1.pulseTillDone)(await npm_registry_fetch_1.default.json('/-/npm/v1/user', opts));
17
+ opts.log.silly('npm profile get', 'received %j', data);
18
+ return Object.assign(
19
+ // remap to match legacy whoami format
20
+ { username: data.name }, data);
21
+ }
22
+ exports.getProfileData = getProfileData;
23
+ //# sourceMappingURL=get-profile-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-profile-data.js","sourceRoot":"","sources":["../../src/lib/get-profile-data.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAuC;AAEvC,2CAA8D;AAG9D;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,IAAI;IACvC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAgB,MAAM,IAAA,oBAAa,EAAC,MAAM,4BAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC,MAAM;IAClB,sCAAsC;IACtC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EACvB,IAAI,CACU,CAAC;AACnB,CAAC;AAXD,wCAWC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Retrieve a list of graph nodes for packages that were tagged in a non-independent release.
3
+ * @param {import("@lerna/package-graph").PackageGraph} packageGraph
4
+ * @param {string} rootPath
5
+ * @param {import("@lerna/child-process").ExecOpts} execOpts
6
+ * @returns {Promise<import("@lerna/package-graph").PackageGraphNode[]>}
7
+ */
8
+ export declare function getTaggedPackages(packageGraph: any, rootPath: any, execOpts: any, gitDryRun?: boolean): any;
@@ -0,0 +1,30 @@
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.getTaggedPackages = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const npmlog_1 = __importDefault(require("npmlog"));
9
+ const core_1 = require("@lerna-lite/core");
10
+ /**
11
+ * Retrieve a list of graph nodes for packages that were tagged in a non-independent release.
12
+ * @param {import("@lerna/package-graph").PackageGraph} packageGraph
13
+ * @param {string} rootPath
14
+ * @param {import("@lerna/child-process").ExecOpts} execOpts
15
+ * @returns {Promise<import("@lerna/package-graph").PackageGraphNode[]>}
16
+ */
17
+ function getTaggedPackages(packageGraph, rootPath, execOpts, gitDryRun = false) {
18
+ npmlog_1.default.silly('getTaggedPackages', '');
19
+ // @see https://stackoverflow.com/a/424142/5707
20
+ // FIXME: --root is only necessary for tests :P
21
+ return (0, core_1.exec)('git', ['diff-tree', '--name-only', '--no-commit-id', '--root', '-r', '-c', 'HEAD'], execOpts, gitDryRun)
22
+ .then(({ stdout }) => {
23
+ const manifests = stdout.split('\n').filter((fp) => path_1.default.basename(fp) === 'package.json');
24
+ const locations = new Set(manifests.map((fp) => path_1.default.join(rootPath, path_1.default.dirname(fp))));
25
+ // @ts-ignore
26
+ return Array.from(packageGraph.values()).filter((node) => locations.has(node.location));
27
+ });
28
+ }
29
+ exports.getTaggedPackages = getTaggedPackages;
30
+ //# sourceMappingURL=get-tagged-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-tagged-packages.js","sourceRoot":"","sources":["../../src/lib/get-tagged-packages.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,oDAAyB;AACzB,2CAAwC;AAExC;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK;IACnF,gBAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAEnC,+CAA+C;IAC/C,+CAA+C;IAC/C,OAAO,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC;SAClH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhG,aAAa;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAA0B,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,8CAaC"}
@@ -0,0 +1,7 @@
1
+ import { FetchConfig } from '@lerna-lite/core';
2
+ /**
3
+ * Determine if the logged-in user has enabled two-factor auth.
4
+ * @param {import('./fetch-config').FetchConfig} options
5
+ * @returns {Promise<boolean>}
6
+ */
7
+ export declare function getTwoFactorAuthRequired(options: FetchConfig): Promise<boolean>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTwoFactorAuthRequired = void 0;
4
+ const core_1 = require("@lerna-lite/core");
5
+ const fetch_config_1 = require("./fetch-config");
6
+ const get_profile_data_1 = require("./get-profile-data");
7
+ /**
8
+ * Determine if the logged-in user has enabled two-factor auth.
9
+ * @param {import('./fetch-config').FetchConfig} options
10
+ * @returns {Promise<boolean>}
11
+ */
12
+ function getTwoFactorAuthRequired(options) {
13
+ const opts = (0, fetch_config_1.getFetchConfig)(options, {
14
+ // don't wait forever for third-party failures to be dealt with
15
+ fetchRetries: 0,
16
+ });
17
+ opts.log.info('', 'Checking two-factor auth mode');
18
+ return (0, get_profile_data_1.getProfileData)(opts).then(success, failure);
19
+ function success(result) {
20
+ opts.log.silly('2FA', result.tfa);
21
+ if (result.tfa.pending) {
22
+ // if 2FA is pending, it is disabled
23
+ return false;
24
+ }
25
+ return result.tfa.mode === 'auth-and-writes';
26
+ }
27
+ function failure(err) {
28
+ // pass if registry does not support profile endpoint
29
+ if (err.code === 'E500' || err.code === 'E404') {
30
+ // most likely a private registry (npm Enterprise, verdaccio, etc)
31
+ opts.log.warn('EREGISTRY', `Registry '${opts.registry}' does not support 'npm profile get', skipping two-factor auth check...`);
32
+ // don't log redundant errors
33
+ return false;
34
+ }
35
+ // Log the error cleanly to stderr
36
+ opts.log.pause();
37
+ console.error(err.message); // eslint-disable-line no-console
38
+ opts.log.resume();
39
+ throw new core_1.ValidationError('ETWOFACTOR', 'Unable to obtain two-factor auth mode');
40
+ }
41
+ }
42
+ exports.getTwoFactorAuthRequired = getTwoFactorAuthRequired;
43
+ //# sourceMappingURL=get-two-factor-auth-required.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-two-factor-auth-required.js","sourceRoot":"","sources":["../../src/lib/get-two-factor-auth-required.ts"],"names":[],"mappings":";;;AAAA,2CAAgE;AAEhE,iDAAgD;AAChD,yDAAoD;AAEpD;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,OAAoB;IAC3D,MAAM,IAAI,GAAG,IAAA,6BAAc,EAAC,OAAO,EAAE;QACnC,+DAA+D;QAC/D,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAEnD,OAAO,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnD,SAAS,OAAO,CAAC,MAAM;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE;YACtB,oCAAoC;YACpC,OAAO,KAAK,CAAC;SACd;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC;IAC/C,CAAC;IAED,SAAS,OAAO,CAAC,GAAG;QAClB,qDAAqD;QACrD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YAC9C,kEAAkE;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,WAAW,EACX,aAAa,IAAI,CAAC,QAAQ,yEAAyE,CACpG,CAAC;YAEF,6BAA6B;YAC7B,OAAO,KAAK,CAAC;SACd;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,YAAY,EAAE,uCAAuC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAzCD,4DAyCC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Retrieve a list of graph nodes for packages that need to be published.
3
+ * @param {import("@lerna/package-graph").PackageGraph} packageGraph
4
+ * @param {import("./fetch-config").FetchConfig} opts
5
+ * @returns {Promise<import("@lerna/package-graph").PackageGraphNode[]>}
6
+ */
7
+ export declare function getUnpublishedPackages(packageGraph: any, opts: any): Promise<any>;
@@ -0,0 +1,34 @@
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.getUnpublishedPackages = void 0;
7
+ const npmlog_1 = __importDefault(require("npmlog"));
8
+ const p_map_1 = __importDefault(require("p-map"));
9
+ const pacote_1 = __importDefault(require("pacote"));
10
+ /**
11
+ * Retrieve a list of graph nodes for packages that need to be published.
12
+ * @param {import("@lerna/package-graph").PackageGraph} packageGraph
13
+ * @param {import("./fetch-config").FetchConfig} opts
14
+ * @returns {Promise<import("@lerna/package-graph").PackageGraphNode[]>}
15
+ */
16
+ function getUnpublishedPackages(packageGraph, opts) {
17
+ npmlog_1.default.silly('getUnpublishedPackages', '');
18
+ let chain = Promise.resolve();
19
+ // don't bother attempting to get the packument for private packages
20
+ // @ts-ignore
21
+ const graphNodesToCheck = Array.from(packageGraph.values()).filter(({ pkg }) => !pkg.private);
22
+ const mapper = (pkg) => pacote_1.default.packument(pkg.name, opts).then((packument) => {
23
+ if (packument.versions === undefined || packument.versions[pkg.version] === undefined) {
24
+ return pkg;
25
+ }
26
+ }, () => {
27
+ npmlog_1.default.warn('', 'Unable to determine published version, assuming %j unpublished.', pkg.name);
28
+ return pkg;
29
+ });
30
+ chain = chain.then(() => (0, p_map_1.default)(graphNodesToCheck, mapper, { concurrency: 4 }));
31
+ return chain.then((results) => results.filter(Boolean));
32
+ }
33
+ exports.getUnpublishedPackages = getUnpublishedPackages;
34
+ //# sourceMappingURL=get-unpublished-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-unpublished-packages.js","sourceRoot":"","sources":["../../src/lib/get-unpublished-packages.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAyB;AACzB,kDAAyB;AACzB,oDAA4B;AAE5B;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,YAAY,EAAE,IAAI;IACvD,gBAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAExC,IAAI,KAAK,GAAiB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE5C,oEAAoE;IACpE,aAAa;IACb,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CACrB,gBAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CACnC,CAAC,SAAS,EAAE,EAAE;QACZ,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;YACrF,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,EACD,GAAG,EAAE;QACH,gBAAG,CAAC,IAAI,CAAC,EAAE,EAAE,iEAAiE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO,GAAG,CAAC;IACb,CAAC,CACF,CAAC;IAEJ,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,eAAI,EAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9E,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC;AAzBD,wDAyBC"}
@@ -0,0 +1,11 @@
1
+ import { FetchConfig } from '@lerna-lite/core';
2
+ interface WhoIAm {
3
+ username: string;
4
+ }
5
+ /**
6
+ * Retrieve logged-in user's username via legacy API.
7
+ * @param {import("./fetch-config").FetchConfig} opts
8
+ * @returns {WhoIAm}
9
+ */
10
+ export declare function getWhoAmI(opts: FetchConfig): Promise<WhoIAm>;
11
+ export {};
@@ -0,0 +1,21 @@
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.getWhoAmI = void 0;
7
+ const npm_registry_fetch_1 = __importDefault(require("npm-registry-fetch"));
8
+ const core_1 = require("@lerna-lite/core");
9
+ /**
10
+ * Retrieve logged-in user's username via legacy API.
11
+ * @param {import("./fetch-config").FetchConfig} opts
12
+ * @returns {WhoIAm}
13
+ */
14
+ async function getWhoAmI(opts) {
15
+ opts.log.verbose('', 'Retrieving npm username');
16
+ const data = (0, core_1.pulseTillDone)(await npm_registry_fetch_1.default.json('/-/whoami', opts));
17
+ opts.log.silly('npm whoami', 'received %j', data);
18
+ return data;
19
+ }
20
+ exports.getWhoAmI = getWhoAmI;
21
+ //# sourceMappingURL=get-whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-whoami.js","sourceRoot":"","sources":["../../src/lib/get-whoami.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAuC;AAEvC,2CAA8D;AAM9D;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAAC,IAAiB;IAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,MAAM,4BAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,8BAOC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Reset files modified by publish steps.
3
+ * @param {string[]} stagedFiles
4
+ * @param {{ granularPathspec: boolean; }} gitOpts
5
+ * @param {import("@lerna/child-process").ExecOpts} execOpts
6
+ */
7
+ export declare function gitCheckout(stagedFiles: any, gitOpts: any, execOpts: any, gitDryRun?: boolean): any;
@@ -0,0 +1,21 @@
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.gitCheckout = void 0;
7
+ const npmlog_1 = __importDefault(require("npmlog"));
8
+ const core_1 = require("@lerna-lite/core");
9
+ /**
10
+ * Reset files modified by publish steps.
11
+ * @param {string[]} stagedFiles
12
+ * @param {{ granularPathspec: boolean; }} gitOpts
13
+ * @param {import("@lerna/child-process").ExecOpts} execOpts
14
+ */
15
+ function gitCheckout(stagedFiles, gitOpts, execOpts, gitDryRun = false) {
16
+ const files = gitOpts.granularPathspec ? stagedFiles : '.';
17
+ npmlog_1.default.silly('gitCheckout', files);
18
+ return (0, core_1.exec)('git', ['checkout', '--'].concat(files), execOpts, gitDryRun);
19
+ }
20
+ exports.gitCheckout = gitCheckout;
21
+ //# sourceMappingURL=git-checkout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-checkout.js","sourceRoot":"","sources":["../../src/lib/git-checkout.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAyB;AAEzB,2CAAwC;AAExC;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAE3D,gBAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEhC,OAAO,IAAA,WAAI,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC5E,CAAC;AAND,kCAMC"}
@@ -0,0 +1,19 @@
1
+ export * from './create-temp-licenses';
2
+ export * from './fetch-config';
3
+ export * from './get-current-sha';
4
+ export * from './get-current-tags';
5
+ export * from './get-npm-username';
6
+ export * from './get-packages-without-license';
7
+ export * from './get-packed';
8
+ export * from './get-profile-data';
9
+ export * from './get-tagged-packages';
10
+ export * from './get-two-factor-auth-required';
11
+ export * from './get-unpublished-packages';
12
+ export * from './get-whoami';
13
+ export * from './git-checkout';
14
+ export * from './log-packed';
15
+ export * from './npm-dist-tag';
16
+ export * from './npm-publish';
17
+ export * from './pack-directory';
18
+ export * from './remove-temp-licenses';
19
+ export * from './verify-npm-package-access';
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./create-temp-licenses"), exports);
14
+ __exportStar(require("./fetch-config"), exports);
15
+ __exportStar(require("./get-current-sha"), exports);
16
+ __exportStar(require("./get-current-tags"), exports);
17
+ __exportStar(require("./get-npm-username"), exports);
18
+ __exportStar(require("./get-packages-without-license"), exports);
19
+ __exportStar(require("./get-packed"), exports);
20
+ __exportStar(require("./get-profile-data"), exports);
21
+ __exportStar(require("./get-tagged-packages"), exports);
22
+ __exportStar(require("./get-two-factor-auth-required"), exports);
23
+ __exportStar(require("./get-unpublished-packages"), exports);
24
+ __exportStar(require("./get-whoami"), exports);
25
+ __exportStar(require("./git-checkout"), exports);
26
+ __exportStar(require("./log-packed"), exports);
27
+ __exportStar(require("./npm-dist-tag"), exports);
28
+ __exportStar(require("./npm-publish"), exports);
29
+ __exportStar(require("./pack-directory"), exports);
30
+ __exportStar(require("./remove-temp-licenses"), exports);
31
+ __exportStar(require("./verify-npm-package-access"), exports);
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAuC;AACvC,iDAA+B;AAC/B,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AACnC,iEAA+C;AAC/C,+CAA6B;AAC7B,qDAAmC;AACnC,wDAAsC;AACtC,iEAA+C;AAC/C,6DAA2C;AAC3C,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,yDAAuC;AACvC,8DAA4C"}
@@ -0,0 +1 @@
1
+ export declare function logPacked(tarball: any): void;
@@ -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.logPacked = void 0;
7
+ const byte_size_1 = __importDefault(require("byte-size"));
8
+ const columnify_1 = __importDefault(require("columnify"));
9
+ const hasUnicode = require('has-unicode')();
10
+ const npmlog_1 = __importDefault(require("npmlog"));
11
+ function logPacked(tarball) {
12
+ npmlog_1.default.notice('', '');
13
+ npmlog_1.default.notice('', `${hasUnicode ? '📦 ' : 'package:'} ${tarball.name}@${tarball.version}`);
14
+ if (tarball.files && tarball.files.length) {
15
+ npmlog_1.default.notice('=== Tarball Contents ===', '');
16
+ npmlog_1.default.notice('', (0, columnify_1.default)(tarball.files.map((f) => {
17
+ const bytes = (0, byte_size_1.default)(f.size);
18
+ return {
19
+ path: f.path,
20
+ size: `${bytes.value}${bytes.unit}`,
21
+ };
22
+ }), {
23
+ include: ['size', 'path'],
24
+ showHeaders: false,
25
+ }));
26
+ }
27
+ if (tarball.bundled && tarball.bundled.length) {
28
+ npmlog_1.default.notice('=== Bundled Dependencies ===', '');
29
+ tarball.bundled.forEach((name) => npmlog_1.default.notice('', name));
30
+ }
31
+ npmlog_1.default.notice('=== Tarball Details ===', '');
32
+ npmlog_1.default.notice('', (0, columnify_1.default)([
33
+ { name: 'name:', value: tarball.name },
34
+ { name: 'version:', value: tarball.version },
35
+ tarball.filename && { name: 'filename:', value: tarball.filename },
36
+ tarball.size && { name: 'package size:', value: (0, byte_size_1.default)(tarball.size) },
37
+ tarball.unpackedSize && { name: 'unpacked size:', value: (0, byte_size_1.default)(tarball.unpackedSize) },
38
+ tarball.shasum && { name: 'shasum:', value: tarball.shasum },
39
+ tarball.integrity && { name: 'integrity:', value: elideIntegrity(tarball.integrity) },
40
+ tarball.bundled &&
41
+ tarball.bundled.length && {
42
+ name: 'bundled deps:',
43
+ value: tarball.bundled.length,
44
+ },
45
+ tarball.bundled &&
46
+ tarball.bundled.length && {
47
+ name: 'bundled files:',
48
+ value: tarball.entryCount - tarball.files.length,
49
+ },
50
+ tarball.bundled &&
51
+ tarball.bundled.length && {
52
+ name: 'own files:',
53
+ value: tarball.files.length,
54
+ },
55
+ tarball.entryCount && { name: 'total files:', value: tarball.entryCount },
56
+ ].filter((x) => x), {
57
+ include: ['name', 'value'],
58
+ showHeaders: false,
59
+ }));
60
+ // an empty line
61
+ npmlog_1.default.notice('', '');
62
+ }
63
+ exports.logPacked = logPacked;
64
+ function elideIntegrity(integrity) {
65
+ const str = integrity.toString();
66
+ return `${str.substr(0, 20)}[...]${str.substr(80)}`;
67
+ }
68
+ //# sourceMappingURL=log-packed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-packed.js","sourceRoot":"","sources":["../../src/lib/log-packed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @typedef {fetch.FetchOptions & { defaultTag?: string; dryRun?: boolean; }} DistTagOptions
3
+ */
4
+ /**
5
+ * Add a dist-tag to a package.
6
+ * @param {string} spec
7
+ * @param {string} [tag]
8
+ * @param {DistTagOptions} options
9
+ * @param {import("@lerna/otplease").OneTimePasswordCache} otpCache
10
+ */
11
+ export declare function add(spec: any, tag: any, options: any, otpCache: any): any;
12
+ /**
13
+ * Remove a dist-tag from a package.
14
+ * @param {string} spec
15
+ * @param {string} tag
16
+ * @param {DistTagOptions} options
17
+ * @param {import("@lerna/otplease").OneTimePasswordCache} otpCache
18
+ */
19
+ export declare function remove(spec: any, tag: any, options: any, otpCache: any): any;
20
+ /**
21
+ * List dist-tags of a package.
22
+ * @param {string} spec
23
+ * @param {DistTagOptions} options
24
+ */
25
+ export declare function list(spec: any, options: any): any;
26
+ /**
27
+ * Retrieve list of dist-tags for a package.
28
+ * @param {Omit<fetch.FetchOptions, 'spec'> & { spec: npa.Result }} opts
29
+ */
30
+ export declare function fetchTags(opts: any): any;