Comparing version 4.3.1 to 4.4.1
@@ -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 @@ |
@@ -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": { |
69742
988
+ Added@types/glob@7.2.0(transitive)
+ Added@types/minimatch@5.1.2(transitive)
+ Added@types/node@22.13.2(transitive)
+ Addedcommander@2.20.0(transitive)
+ Addedglobby@9.2.0(transitive)
+ Addedsemver@6.0.0(transitive)
+ Addedundici-types@6.20.0(transitive)
- Removedcommander@2.19.0(transitive)
- Removedglobby@9.0.0(transitive)
- Removedsemver@5.6.0(transitive)
Updatedcommander@2.20.0
Updatedglobby@9.2.0
Updatedsemver@6.0.0