New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

syncpack

Package Overview
Dependencies
Maintainers
1
Versions
92
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

syncpack - npm Package Compare versions

Comparing version 4.3.1 to 4.4.1

7

CHANGELOG.md

@@ -0,1 +1,8 @@

## [4.4.1](https://github.com/JamieMason/syncpack/compare/4.3.1...4.4.1) (2019-04-29)
### Features
- **options:** add dependency filter regex
([9df5684](https://github.com/JamieMason/syncpack/commit/9df5684))
## [4.3.1](https://github.com/JamieMason/syncpack/compare/4.0.1...4.3.1) (2019-02-03)

@@ -2,0 +9,0 @@

2

dist/bin-fix-mismatches.js

@@ -10,5 +10,5 @@ #!/usr/bin/env node

console.log('');
console.log("Examples:\n " + chalk_1["default"].grey('# uses packages defined in lerna.json by default') + "\n syncpack fix-mismatches\n " + chalk_1["default"].grey('# uses packages defined by --source when provided') + "\n syncpack fix-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + "\n " + chalk_1["default"].grey('# multiple globs can be provided like this') + "\n syncpack fix-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + " --source " + chalk_1["default"].yellow('"core/*/package.json"') + "\n " + chalk_1["default"].grey('# only fix "devDependencies"') + "\n syncpack fix-mismatches --dev\n " + chalk_1["default"].grey('# only fix "devDependencies" and "peerDependencies"') + "\n syncpack fix-mismatches --dev --peer\n " + chalk_1["default"].grey('# indent package.json with 4 spaces instead of 2') + "\n syncpack fix-mismatches --indent " + chalk_1["default"].yellow('" "') + "\n ");
console.log("Examples:\n " + chalk_1["default"].grey('# uses packages defined in lerna.json by default') + "\n syncpack fix-mismatches\n " + chalk_1["default"].grey('# uses packages defined by --source when provided') + "\n syncpack fix-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + "\n " + chalk_1["default"].grey('# uses dependencies regular expression defined by --filter when provided') + "\n syncpack fix-mismatches --filter " + chalk_1["default"].yellow('"typescript|tslint"') + "\n " + chalk_1["default"].grey('# multiple globs can be provided like this') + "\n syncpack fix-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + " --source " + chalk_1["default"].yellow('"core/*/package.json"') + "\n " + chalk_1["default"].grey('# only fix "devDependencies"') + "\n syncpack fix-mismatches --dev\n " + chalk_1["default"].grey('# only fix "devDependencies" and "peerDependencies"') + "\n syncpack fix-mismatches --dev --peer\n " + chalk_1["default"].grey('# indent package.json with 4 spaces instead of 2') + "\n syncpack fix-mismatches --indent " + chalk_1["default"].yellow('" "') + "\n ");
console.log("Reference:\n lerna.json\n " + chalk_1["default"].blue.underline('https://github.com/lerna/lerna#lernajson') + "\n globs\n " + chalk_1["default"].blue.underline('https://github.com/isaacs/node-glob#glob-primer'));
});
fix_mismatches_1.run(program);

@@ -10,5 +10,5 @@ #!/usr/bin/env node

console.log('');
console.log("Examples:\n " + chalk_1["default"].grey('# uses packages defined in lerna.json by default') + "\n syncpack list-mismatches\n " + chalk_1["default"].grey('# uses packages defined by --source when provided') + "\n syncpack list-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + "\n " + chalk_1["default"].grey('# multiple globs can be provided like this') + "\n syncpack list-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + " --source " + chalk_1["default"].yellow('"core/*/package.json"') + "\n " + chalk_1["default"].grey('# only list "devDependencies"') + "\n syncpack list-mismatches --dev\n " + chalk_1["default"].grey('# only list "devDependencies" and "peerDependencies"') + "\n syncpack list-mismatches --dev --peer\n ");
console.log("Examples:\n " + chalk_1["default"].grey('# uses packages defined in lerna.json by default') + "\n syncpack list-mismatches\n " + chalk_1["default"].grey('# uses packages defined by --source when provided') + "\n syncpack list-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + "\n " + chalk_1["default"].grey('# multiple globs can be provided like this') + "\n syncpack list-mismatches --source " + chalk_1["default"].yellow('"apps/*/package.json"') + " --source " + chalk_1["default"].yellow('"core/*/package.json"') + "\n " + chalk_1["default"].grey('# uses dependencies regular expression defined by --filter when provided') + "\n syncpack list-mismatches --filter " + chalk_1["default"].yellow('"typescript|tslint"') + "\n " + chalk_1["default"].grey('# only list "devDependencies"') + "\n syncpack list-mismatches --dev\n " + chalk_1["default"].grey('# only list "devDependencies" and "peerDependencies"') + "\n syncpack list-mismatches --dev --peer\n ");
console.log("Reference:\n lerna.json\n " + chalk_1["default"].blue.underline('https://github.com/lerna/lerna#lernajson') + "\n globs\n " + chalk_1["default"].blue.underline('https://github.com/isaacs/node-glob#glob-primer'));
});
list_mismatches_1.run(program);

@@ -10,5 +10,5 @@ #!/usr/bin/env node

console.log('');
console.log("Examples:\n " + chalk_1["default"].grey('# uses packages defined in lerna.json by default') + "\n syncpack list\n " + chalk_1["default"].grey('# uses packages defined by --source when provided') + "\n syncpack list --source " + chalk_1["default"].yellow('"apps/*/package.json"') + "\n " + chalk_1["default"].grey('# multiple globs can be provided like this') + "\n syncpack list --source " + chalk_1["default"].yellow('"apps/*/package.json"') + " --source " + chalk_1["default"].yellow('"core/*/package.json"') + "\n " + chalk_1["default"].grey('# only inspect "devDependencies"') + "\n syncpack list --dev\n " + chalk_1["default"].grey('# only inspect "devDependencies" and "peerDependencies"') + "\n syncpack list --dev --peer\n ");
console.log("Examples:\n " + chalk_1["default"].grey('# uses packages defined in lerna.json by default') + "\n syncpack list\n " + chalk_1["default"].grey('# uses packages defined by --source when provided') + "\n syncpack list --source " + chalk_1["default"].yellow('"apps/*/package.json"') + "\n " + chalk_1["default"].grey('# uses dependencies regular expression defined by --filter when provided') + "\n syncpack list --filter " + chalk_1["default"].yellow('"typescript|tslint"') + "\n " + chalk_1["default"].grey('# multiple globs can be provided like this') + "\n syncpack list --source " + chalk_1["default"].yellow('"apps/*/package.json"') + " --source " + chalk_1["default"].yellow('"core/*/package.json"') + "\n " + chalk_1["default"].grey('# only inspect "devDependencies"') + "\n syncpack list --dev\n " + chalk_1["default"].grey('# only inspect "devDependencies" and "peerDependencies"') + "\n syncpack list --dev --peer\n ");
console.log("Reference:\n lerna.json\n " + chalk_1["default"].blue.underline('https://github.com/lerna/lerna#lernajson') + "\n globs\n " + chalk_1["default"].blue.underline('https://github.com/isaacs/node-glob#glob-primer'));
});
list_1.run(program);

@@ -61,2 +61,6 @@ import { IManifestKey } from './typings';

};
export declare const OPTIONS_FILTER_DEPENDENCIES: {
description: string;
spec: string;
};
export declare const OPTION_INDENT: {

@@ -63,0 +67,0 @@ default: string;

@@ -89,2 +89,6 @@ "use strict";

};
exports.OPTIONS_FILTER_DEPENDENCIES = {
description: 'regex for depdendency filter',
spec: '-f, --filter'
};
exports.OPTION_INDENT = {

@@ -91,0 +95,0 @@ "default": DEFAULT_INDENT,

@@ -60,2 +60,3 @@ "use strict";

.option(constants_1.OPTION_INDENT.spec, constants_1.OPTION_INDENT.description)
.option(constants_1.OPTIONS_FILTER_DEPENDENCIES.spec, constants_1.OPTIONS_FILTER_DEPENDENCIES.description)
.parse(process.argv);

@@ -65,3 +66,3 @@ pkgs = get_packages_1.getPackages(program);

indent = get_indent_1.getIndent(program);
mismatchedVersionsByName = get_versions_by_name_1.getMismatchedVersionsByName(dependencyTypes, pkgs);
mismatchedVersionsByName = get_versions_by_name_1.getMismatchedVersionsByName(dependencyTypes, pkgs, program.filter);
return [4 /*yield*/, Promise.all(pkgs.map(function (_a) {

@@ -68,0 +69,0 @@ var data = _a.data, path = _a.path;

@@ -77,4 +77,4 @@ "use strict";

.reduce(function (next, _a) {
var _b;
var key = _a[0], value = _a[1];
var _b;
return (__assign({}, next, (_b = {}, _b[key] = value, _b)));

@@ -114,4 +114,4 @@ }, {});

return _(firstSorted.concat(restSorted)).reduce(function (obj, _a) {
var _b;
var key = _a[0], value = _a[1];
var _b;
return (__assign({}, obj, (_b = {}, _b[key] = value, _b)));

@@ -118,0 +118,0 @@ }, {});

@@ -5,4 +5,5 @@ import { IManifestDescriptor, IManifestKey } from '../typings';

}
export declare type GetVersionsByName = (dependencyTypes: IManifestKey[], pkgs: IManifestDescriptor[]) => IVersionsByName;
export declare type GetVersionsByName = (dependencyTypes: IManifestKey[], pkgs: IManifestDescriptor[], dependencyFilterPattern?: string) => IVersionsByName;
export declare const getDependencyFilter: (dependencyFilterPattern?: string | undefined) => (dependencyName: string) => boolean;
export declare const getVersionsByName: GetVersionsByName;
export declare const getMismatchedVersionsByName: GetVersionsByName;
"use strict";
exports.__esModule = true;
exports.getVersionsByName = function (dependencyTypes, pkgs) {
exports.getDependencyFilter = function (dependencyFilterPattern) {
if (!dependencyFilterPattern) {
return function () { return true; };
}
var dependencyMatcher = new RegExp(dependencyFilterPattern);
return function (dependencyName) { return dependencyMatcher.test(dependencyName); };
};
exports.getVersionsByName = function (dependencyTypes, pkgs, dependencyFilterPattern) {
var dependencyFilter = exports.getDependencyFilter(dependencyFilterPattern);
var versionsByName = {};

@@ -12,2 +20,5 @@ for (var _i = 0, dependencyTypes_1 = dependencyTypes; _i < dependencyTypes_1.length; _i++) {

for (var name in dependencies) {
if (!dependencyFilter(name)) {
continue;
}
if (dependencies.hasOwnProperty(name)) {

@@ -26,5 +37,6 @@ var version = dependencies[name];

};
exports.getMismatchedVersionsByName = function (dependencyTypes, pkgs) {
exports.getMismatchedVersionsByName = function (dependencyTypes, pkgs, dependencyFilterPattern) {
var dependencyFilter = exports.getDependencyFilter(dependencyFilterPattern);
var mismatchedVersionsByName = {};
var versionsByName = exports.getVersionsByName(dependencyTypes, pkgs);
var versionsByName = exports.getVersionsByName(dependencyTypes, pkgs, dependencyFilterPattern);
for (var _i = 0, dependencyTypes_2 = dependencyTypes; _i < dependencyTypes_2.length; _i++) {

@@ -37,2 +49,5 @@ var type = dependencyTypes_2[_i];

for (var name in dependencies) {
if (!dependencyFilter(name)) {
continue;
}
if (dependencies.hasOwnProperty(name)) {

@@ -39,0 +54,0 @@ if (versionsByName[name].length > 1) {

@@ -54,6 +54,7 @@ "use strict";

.option(constants_1.OPTIONS_PEER.spec, constants_1.OPTIONS_PEER.description)
.option(constants_1.OPTIONS_FILTER_DEPENDENCIES.spec, constants_1.OPTIONS_FILTER_DEPENDENCIES.description)
.parse(process.argv);
dependencyTypes = get_dependency_types_1.getDependencyTypes(program);
pkgs = get_packages_1.getPackages(program);
mismatchedVersionsByName = get_versions_by_name_1.getMismatchedVersionsByName(dependencyTypes, pkgs);
mismatchedVersionsByName = get_versions_by_name_1.getMismatchedVersionsByName(dependencyTypes, pkgs, program.filter);
_.each(mismatchedVersionsByName, function (versions, name) {

@@ -60,0 +61,0 @@ console.log(chalk_1["default"].yellow(name), chalk_1["default"].dim(versions.join(', ')));

@@ -54,6 +54,7 @@ "use strict";

.option(constants_1.OPTIONS_PEER.spec, constants_1.OPTIONS_PEER.description)
.option(constants_1.OPTIONS_FILTER_DEPENDENCIES.spec, constants_1.OPTIONS_FILTER_DEPENDENCIES.description)
.parse(process.argv);
dependencyTypes = get_dependency_types_1.getDependencyTypes(program);
pkgs = get_packages_1.getPackages(program);
versionsByName = get_versions_by_name_1.getVersionsByName(dependencyTypes, pkgs);
versionsByName = get_versions_by_name_1.getVersionsByName(dependencyTypes, pkgs, program.filter);
_(versionsByName)

@@ -60,0 +61,0 @@ .entries()

@@ -49,5 +49,6 @@ "use strict";

var get_packages_1 = require("./lib/get-packages");
var get_versions_by_name_1 = require("./lib/get-versions-by-name");
var version_1 = require("./lib/version");
exports.run = function (program) { return __awaiter(_this, void 0, void 0, function () {
var semverRange, pkgs, dependencyTypes, indent;
var semverRange, pkgs, dependencyTypes, indent, dependencyFilter;
return __generator(this, function (_a) {

@@ -62,2 +63,3 @@ switch (_a.label) {

.option(constants_1.OPTIONS_PEER.spec, constants_1.OPTIONS_PEER.description)
.option(constants_1.OPTIONS_FILTER_DEPENDENCIES.spec, constants_1.OPTIONS_FILTER_DEPENDENCIES.description)
.option(constants_1.OPTION_INDENT.spec, constants_1.OPTION_INDENT.description)

@@ -69,2 +71,3 @@ .parse(process.argv);

indent = get_indent_1.getIndent(program);
dependencyFilter = get_versions_by_name_1.getDependencyFilter(program.filter);
_(pkgs).each(function (pkg) {

@@ -76,2 +79,5 @@ return _(dependencyTypes)

_(dependencies).each(function (version, name) {
if (!dependencyFilter(name)) {
return;
}
var versionNumber = version_1.getVersionNumber(version)

@@ -78,0 +84,0 @@ .split('.x')

{
"name": "syncpack",
"description": "Manage multiple package.json files, such as in Lerna Monorepos",
"version": "4.3.1",
"version": "4.4.1",
"author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",

@@ -22,25 +22,25 @@ "bin": {

"chalk": "2.4.2",
"commander": "2.19.0",
"commander": "2.20.0",
"fs-extra": "7.0.1",
"globby": "9.0.0",
"globby": "9.2.0",
"lodash": "4.17.11",
"semver": "5.6.0"
"semver": "6.0.0"
},
"devDependencies": {
"@types/chalk": "2.2.0",
"@types/fs-extra": "5.0.4",
"@types/globby": "8.0.0",
"@types/jest": "23.3.13",
"@types/lodash": "4.14.120",
"@types/fs-extra": "5.0.5",
"@types/globby": "9.1.0",
"@types/jest": "24.0.12",
"@types/lodash": "4.14.123",
"@types/mock-fs": "3.6.30",
"@types/node": "10.12.21",
"@types/semver": "5.5.0",
"@types/node": "11.13.8",
"@types/semver": "6.0.0",
"expect-more-jest": "2.4.1",
"jest": "24.0.0",
"mock-fs": "4.7.0",
"prettier": "1.16.3",
"jest": "24.7.1",
"mock-fs": "4.9.0",
"prettier": "1.17.0",
"rimraf": "2.6.3",
"ts-jest": "23.10.5",
"tslint": "5.12.1",
"typescript": "3.3.1"
"ts-jest": "24.0.2",
"tslint": "5.16.0",
"typescript": "3.4.5"
},

@@ -47,0 +47,0 @@ "engines": {

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