@lerna/listable
Advanced tools
Comparing version 3.18.5 to 4.0.0
@@ -6,2 +6,31 @@ # Change Log | ||
# [4.0.0](https://github.com/lerna/lerna/compare/v3.22.1...v4.0.0) (2021-02-10) | ||
### Bug Fixes | ||
* Improve accuracy of JSDoc type annotations ([1ec69f0](https://github.com/lerna/lerna/commit/1ec69f0e0f7a3f1e0c74dbacb17fab2d7b7a8a44)) | ||
### Features | ||
* Consume named exports of sibling modules ([63499e3](https://github.com/lerna/lerna/commit/63499e33652bc78fe23751875d74017e2f16a689)) | ||
* **deps:** chalk@^4.1.0 ([d2a9ed5](https://github.com/lerna/lerna/commit/d2a9ed537139f49561a7e29b3ebf624c97f48c77)) | ||
* Drop support for Node v6.x & v8.x ([ff4bb4d](https://github.com/lerna/lerna/commit/ff4bb4da215555e3bb136f5af09b5cbc631e57bb)) | ||
### BREAKING CHANGES | ||
* Node v6.x & v8.x are no longer supported. Please upgrade to the latest LTS release. | ||
Here's the gnarly one-liner I used to make these changes: | ||
``` | ||
npx lerna exec --concurrency 1 --stream -- 'json -I -f package.json -e '"'"'this.engines=this.engines||{};this.engines.node=">= 10.18.0"'"'" | ||
``` | ||
(requires `npm i -g json` beforehand) | ||
## [3.18.5](https://github.com/lerna/lerna/compare/v3.18.4...v3.18.5) (2019-11-20) | ||
@@ -8,0 +37,0 @@ |
"use strict"; | ||
exports.format = require("./lib/listable-format"); | ||
exports.options = require("./lib/listable-options"); | ||
exports.format = require("./lib/listable-format").listableFormat; | ||
exports.options = require("./lib/listable-options").listableOptions; |
@@ -6,6 +6,11 @@ "use strict"; | ||
const path = require("path"); | ||
const QueryGraph = require("@lerna/query-graph"); | ||
const { QueryGraph } = require("@lerna/query-graph"); | ||
module.exports = listableFormat; | ||
module.exports.listableFormat = listableFormat; | ||
/** | ||
* Format a list of packages according to specified options. | ||
* @param {import("@lerna/package").Package[]} pkgList | ||
* @param {import("./listable-options").ListableOptions} options | ||
*/ | ||
function listableFormat(pkgList, options) { | ||
@@ -33,2 +38,5 @@ const viewOptions = parseViewOptions(options); | ||
/** | ||
* @param {import("./listable-options").ListableOptions} options | ||
*/ | ||
function parseViewOptions(options) { | ||
@@ -48,4 +56,8 @@ const alias = options._[0]; | ||
/** | ||
* @param {import("@lerna/package").Package[]} pkgList | ||
* @param {ReturnType<typeof parseViewOptions>} viewOptions | ||
*/ | ||
function filterResultList(pkgList, viewOptions) { | ||
let result = viewOptions.showAll ? pkgList.slice() : pkgList.filter(pkg => !pkg.private); | ||
let result = viewOptions.showAll ? pkgList.slice() : pkgList.filter((pkg) => !pkg.private); | ||
@@ -60,5 +72,8 @@ if (viewOptions.isTopological) { | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
*/ | ||
function toJSONList(resultList) { | ||
// explicit re-mapping exposes non-enumerable properties | ||
return resultList.map(pkg => ({ | ||
return resultList.map((pkg) => ({ | ||
name: pkg.name, | ||
@@ -71,2 +86,5 @@ version: pkg.version, | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
*/ | ||
function formatJSON(resultList) { | ||
@@ -76,8 +94,15 @@ return JSON.stringify(toJSONList(resultList), null, 2); | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
*/ | ||
function formatNDJSON(resultList) { | ||
return toJSONList(resultList) | ||
.map(data => JSON.stringify(data)) | ||
.map((data) => JSON.stringify(data)) | ||
.join("\n"); | ||
} | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
* @param {ReturnType<typeof parseViewOptions>} viewOptions | ||
*/ | ||
function formatJSONGraph(resultList, viewOptions) { | ||
@@ -87,3 +112,3 @@ // https://en.wikipedia.org/wiki/Adjacency_list | ||
const getNeighbors = viewOptions.showAll | ||
? pkg => | ||
? (pkg) => | ||
Object.keys( | ||
@@ -98,3 +123,3 @@ Object.assign( | ||
).sort() | ||
: pkg => | ||
: (pkg) => | ||
Object.keys( | ||
@@ -117,2 +142,5 @@ Object.assign( | ||
/** | ||
* @param {import("@lerna/package").Package} pkg | ||
*/ | ||
function makeParseable(pkg) { | ||
@@ -135,6 +163,13 @@ const result = [pkg.location, pkg.name]; | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
* @param {ReturnType<typeof parseViewOptions>} viewOptions | ||
*/ | ||
function formatParseable(resultList, viewOptions) { | ||
return resultList.map(viewOptions.showLong ? makeParseable : pkg => pkg.location).join("\n"); | ||
return resultList.map(viewOptions.showLong ? makeParseable : (pkg) => pkg.location).join("\n"); | ||
} | ||
/** | ||
* @param {ReturnType<typeof parseViewOptions>} viewOptions | ||
*/ | ||
function getColumnOrder(viewOptions) { | ||
@@ -154,2 +189,6 @@ const columns = ["name"]; | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
* @param {ReturnType<typeof parseViewOptions>} viewOptions | ||
*/ | ||
function trimmedColumns(formattedResults, viewOptions) { | ||
@@ -169,8 +208,12 @@ const str = columnify(formattedResults, { | ||
.split("\n") | ||
.map(line => line.trimRight()) | ||
.map((line) => line.trimRight()) | ||
.join("\n"); | ||
} | ||
/** | ||
* @param {ReturnType<typeof filterResultList>} resultList | ||
* @param {ReturnType<typeof parseViewOptions>} viewOptions | ||
*/ | ||
function formatColumns(resultList, viewOptions) { | ||
const formattedResults = resultList.map(result => { | ||
const formattedResults = resultList.map((result) => { | ||
const formatted = { | ||
@@ -177,0 +220,0 @@ name: result.name, |
"use strict"; | ||
module.exports = listableOptions; | ||
module.exports.listableOptions = listableOptions; | ||
/** | ||
* @typedef {object} ListableOptions Because yargs.InferredOptionsTypes is next to useless here | ||
* @property {boolean} json | ||
* @property {boolean} ndjson | ||
* @property {boolean} all | ||
* @property {boolean} long | ||
* @property {boolean} parseable | ||
* @property {boolean} toposort | ||
* @property {boolean} graph | ||
*/ | ||
/** | ||
* Add list-related options to a Yargs instance. | ||
* @param {import("yargs").Argv} yargs | ||
* @param {string} [group] | ||
*/ | ||
function listableOptions(yargs, group = "Command Options:") { | ||
@@ -6,0 +22,0 @@ return yargs.options({ |
{ | ||
"name": "@lerna/listable", | ||
"version": "3.18.5", | ||
"version": "4.0.0", | ||
"description": "Shared logic for listing package information", | ||
@@ -18,3 +18,3 @@ "keywords": [ | ||
"engines": { | ||
"node": ">= 6.9.0" | ||
"node": ">= 10.18.0" | ||
}, | ||
@@ -33,7 +33,7 @@ "publishConfig": { | ||
"dependencies": { | ||
"@lerna/query-graph": "3.18.5", | ||
"chalk": "^2.3.1", | ||
"@lerna/query-graph": "4.0.0", | ||
"chalk": "^4.1.0", | ||
"columnify": "^1.5.4" | ||
}, | ||
"gitHead": "2612f51e7eecec58eacf0571724e6989e4b8e42d" | ||
"gitHead": "4582c476e07dddddd6b2e3ab6e7f52c1f9eed59a" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
13346
255
+ Added@lerna/package-graph@4.0.0(transitive)
+ Added@lerna/prerelease-id-from-version@4.0.0(transitive)
+ Added@lerna/query-graph@4.0.0(transitive)
+ Added@lerna/validation-error@4.0.0(transitive)
+ Addedansi-styles@4.3.0(transitive)
+ Addedchalk@4.1.2(transitive)
+ Addedcolor-convert@2.0.1(transitive)
+ Addedcolor-name@1.1.4(transitive)
+ Addedhas-flag@4.0.0(transitive)
+ Addedhosted-git-info@4.1.0(transitive)
+ Addedlru-cache@6.0.0(transitive)
+ Addednpm-package-arg@8.1.5(transitive)
+ Addedsemver@7.6.3(transitive)
+ Addedsupports-color@7.2.0(transitive)
+ Addedyallist@4.0.0(transitive)
- Removed@lerna/package-graph@3.18.5(transitive)
- Removed@lerna/prerelease-id-from-version@3.16.0(transitive)
- Removed@lerna/query-graph@3.18.5(transitive)
- Removed@lerna/validation-error@3.13.0(transitive)
- Removedansi-styles@3.2.1(transitive)
- Removedchalk@2.4.2(transitive)
- Removedcolor-convert@1.9.3(transitive)
- Removedcolor-name@1.1.3(transitive)
- Removedescape-string-regexp@1.0.5(transitive)
- Removedfiggy-pudding@3.5.2(transitive)
- Removedhas-flag@3.0.0(transitive)
- Removedhosted-git-info@2.8.9(transitive)
- Removednpm-package-arg@6.1.1(transitive)
- Removedos-homedir@1.0.2(transitive)
- Removedos-tmpdir@1.0.2(transitive)
- Removedosenv@0.1.5(transitive)
- Removedsemver@5.7.26.3.1(transitive)
- Removedsupports-color@5.5.0(transitive)
Updated@lerna/query-graph@4.0.0
Updatedchalk@^4.1.0