@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.
- package/LICENSE +20 -0
- package/README.md +415 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/create-temp-licenses.d.ts +7 -0
- package/dist/lib/create-temp-licenses.js +33 -0
- package/dist/lib/create-temp-licenses.js.map +1 -0
- package/dist/lib/fetch-config.d.ts +7 -0
- package/dist/lib/fetch-config.js +22 -0
- package/dist/lib/fetch-config.js.map +1 -0
- package/dist/lib/get-current-sha.d.ts +6 -0
- package/dist/lib/get-current-sha.js +20 -0
- package/dist/lib/get-current-sha.js.map +1 -0
- package/dist/lib/get-current-tags.d.ts +8 -0
- package/dist/lib/get-current-tags.js +36 -0
- package/dist/lib/get-current-tags.js.map +1 -0
- package/dist/lib/get-npm-username.d.ts +7 -0
- package/dist/lib/get-npm-username.js +50 -0
- package/dist/lib/get-npm-username.js.map +1 -0
- package/dist/lib/get-packages-without-license.d.ts +8 -0
- package/dist/lib/get-packages-without-license.js +23 -0
- package/dist/lib/get-packages-without-license.js.map +1 -0
- package/dist/lib/get-packed.d.ts +2 -0
- package/dist/lib/get-packed.js +66 -0
- package/dist/lib/get-packed.js.map +1 -0
- package/dist/lib/get-profile-data.d.ts +7 -0
- package/dist/lib/get-profile-data.js +23 -0
- package/dist/lib/get-profile-data.js.map +1 -0
- package/dist/lib/get-tagged-packages.d.ts +8 -0
- package/dist/lib/get-tagged-packages.js +30 -0
- package/dist/lib/get-tagged-packages.js.map +1 -0
- package/dist/lib/get-two-factor-auth-required.d.ts +7 -0
- package/dist/lib/get-two-factor-auth-required.js +43 -0
- package/dist/lib/get-two-factor-auth-required.js.map +1 -0
- package/dist/lib/get-unpublished-packages.d.ts +7 -0
- package/dist/lib/get-unpublished-packages.js +34 -0
- package/dist/lib/get-unpublished-packages.js.map +1 -0
- package/dist/lib/get-whoami.d.ts +11 -0
- package/dist/lib/get-whoami.js +21 -0
- package/dist/lib/get-whoami.js.map +1 -0
- package/dist/lib/git-checkout.d.ts +7 -0
- package/dist/lib/git-checkout.js +21 -0
- package/dist/lib/git-checkout.js.map +1 -0
- package/dist/lib/index.d.ts +19 -0
- package/dist/lib/index.js +32 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/log-packed.d.ts +1 -0
- package/dist/lib/log-packed.js +68 -0
- package/dist/lib/log-packed.js.map +1 -0
- package/dist/lib/npm-dist-tag.d.ts +30 -0
- package/dist/lib/npm-dist-tag.js +142 -0
- package/dist/lib/npm-dist-tag.js.map +1 -0
- package/dist/lib/npm-publish.d.ts +11 -0
- package/dist/lib/npm-publish.js +116 -0
- package/dist/lib/npm-publish.js.map +1 -0
- package/dist/lib/pack-directory.d.ts +8 -0
- package/dist/lib/pack-directory.js +68 -0
- package/dist/lib/pack-directory.js.map +1 -0
- package/dist/lib/remove-temp-licenses.d.ts +6 -0
- package/dist/lib/remove-temp-licenses.js +20 -0
- package/dist/lib/remove-temp-licenses.js.map +1 -0
- package/dist/lib/verify-npm-package-access.d.ts +9 -0
- package/dist/lib/verify-npm-package-access.js +56 -0
- package/dist/lib/verify-npm-package-access.js.map +1 -0
- package/dist/publishCommand.d.ts +59 -0
- package/dist/publishCommand.js +628 -0
- package/dist/publishCommand.js.map +1 -0
- 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,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;
|