Socket
Socket
Sign inDemoInstall

@lerna/listable

Package Overview
Dependencies
Maintainers
2
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lerna/listable - npm Package Compare versions

Comparing version 3.18.5 to 4.0.0

29

CHANGELOG.md

@@ -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 @@

4

index.js
"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"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc