Comparing version 8.4.11 to 8.5.14
@@ -1,3 +0,2 @@ | ||
import type { Disk } from '../lib/disk'; | ||
import type { ProgramInput } from '../lib/get-input'; | ||
export declare function fixMismatches(input: ProgramInput, disk: Disk): void; | ||
import type { Context } from '../lib/get-context'; | ||
export declare function fixMismatches(ctx: Context): Context; |
"use strict"; | ||
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { | ||
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } | ||
return cooked; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
exports.__esModule = true; | ||
exports.fixMismatches = void 0; | ||
var chalk_1 = __importDefault(require("chalk")); | ||
var expect_more_1 = require("expect-more"); | ||
var list_version_groups_1 = require("../bin-list/list-version-groups"); | ||
var write_if_changed_1 = require("../lib/write-if-changed"); | ||
var get_expected_version_1 = require("./get-expected-version"); | ||
function fixMismatches(input, disk) { | ||
/** | ||
* Reverse the list so the default/ungrouped version group is rendered first | ||
* (appears at the top). The actual version groups which the user configured | ||
* will then start from index 1. | ||
*/ | ||
input.instances.versionGroups.reverse().forEach(function (versionGroup, i) { | ||
var isVersionGroup = i > 0; | ||
var groups = (0, list_version_groups_1.listVersionGroups)(versionGroup); | ||
if (isVersionGroup) { | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{dim = Version Group ", " ", "}"], ["{dim = Version Group ", " ", "}"])), i, '='.repeat(63))); | ||
} | ||
groups.forEach(function (_a) { | ||
var hasMismatches = _a.hasMismatches, instances = _a.instances, isIgnored = _a.isIgnored, name = _a.name; | ||
if (hasMismatches && !isIgnored) { | ||
var nextVersion_1 = (0, get_expected_version_1.getExpectedVersion)(name, versionGroup, input); | ||
instances.forEach(function (_a) { | ||
var dependencyType = _a.dependencyType, version = _a.version, wrapper = _a.wrapper; | ||
var root = wrapper.contents; | ||
if (version !== nextVersion_1) { | ||
if (dependencyType === 'pnpmOverrides') { | ||
root.pnpm.overrides[name] = nextVersion_1; | ||
} | ||
else { | ||
root[dependencyType][name] = nextVersion_1; | ||
} | ||
} | ||
}); | ||
} | ||
function fixMismatches(ctx) { | ||
ctx.versionGroups.reverse().forEach(function (versionGroup) { | ||
var invalidGroups = versionGroup.getInvalidInstanceGroups(); | ||
// Nothing to do if there are no mismatches | ||
if (invalidGroups.length === 0) | ||
return; | ||
// Set the correct version on each instance. | ||
invalidGroups.forEach(function (instanceGroup) { | ||
var nextVersion = instanceGroup.getExpectedVersion(); | ||
instanceGroup.instances.forEach(function (instance) { | ||
return instance.setVersion(nextVersion); | ||
}); | ||
}); | ||
}); | ||
input.wrappers.forEach(function (wrapper) { | ||
removeEmptyIndexes(wrapper); | ||
(0, write_if_changed_1.writeIfChanged)(disk, { | ||
contents: wrapper.contents, | ||
filePath: wrapper.filePath, | ||
indent: input.indent, | ||
json: wrapper.json | ||
}); | ||
}); | ||
/** | ||
* Remove eg `{"dependencies": {}, "devDependencies": {}}` | ||
*/ | ||
function removeEmptyIndexes(wrapper) { | ||
input.dependencyTypes.forEach(function (dependencyType) { | ||
var deps = wrapper.contents[dependencyType]; | ||
/** Remove eg `{"dependencies": {}, "devDependencies": {}}` */ | ||
ctx.packageJsonFiles.forEach(function (packageJsonFile) { | ||
ctx.dependencyTypes.forEach(function (dependencyType) { | ||
var deps = packageJsonFile.contents[dependencyType]; | ||
if (deps && Object.values(deps).every(expect_more_1.isUndefined)) { | ||
delete wrapper.contents[dependencyType]; | ||
delete packageJsonFile.contents[dependencyType]; | ||
} | ||
}); | ||
} | ||
}); | ||
return ctx; | ||
} | ||
exports.fixMismatches = fixMismatches; | ||
var templateObject_1; |
@@ -40,5 +40,4 @@ #!/usr/bin/env node | ||
var disk_1 = require("../lib/disk"); | ||
var get_input_1 = require("../lib/get-input"); | ||
var option_1 = require("../option"); | ||
var fix_mismatches_1 = require("./fix-mismatches"); | ||
var fix_mismatches_cli_1 = require("./fix-mismatches-cli"); | ||
commander_1.program.description((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Ensure that multiple packages requiring the same dependency define the same\n version, so that every package requires eg. {yellow react@16.4.2}, instead of a\n combination of {yellow react@16.4.2}, {yellow react@0.15.9}, and {yellow react@16.0.0}."], ["\n Ensure that multiple packages requiring the same dependency define the same\n version, so that every package requires eg. {yellow react@16.4.2}, instead of a\n combination of {yellow react@16.4.2}, {yellow react@0.15.9}, and {yellow react@16.0.0}."]))).replace(/^\n/, '')); | ||
@@ -59,3 +58,3 @@ commander_1.program.on('--help', function () { | ||
.option.apply(_a, __spreadArray([], __read(option_1.option.indent), false)).parse(process.argv); | ||
(0, fix_mismatches_1.fixMismatches)((0, get_input_1.getInput)(disk_1.disk, { | ||
(0, fix_mismatches_cli_1.fixMismatchesCli)({ | ||
configPath: commander_1.program.opts().config, | ||
@@ -72,3 +71,3 @@ dev: commander_1.program.opts().dev, | ||
workspace: commander_1.program.opts().workspace | ||
}), disk_1.disk); | ||
}, disk_1.disk); | ||
var templateObject_1, templateObject_2; |
@@ -1,3 +0,2 @@ | ||
import type { Disk } from '../lib/disk'; | ||
import type { ProgramInput } from '../lib/get-input'; | ||
export declare function format(input: ProgramInput, disk: Disk): void; | ||
import type { Context } from '../lib/get-context'; | ||
export declare function format(ctx: Context): Context; |
@@ -5,14 +5,13 @@ "use strict"; | ||
var expect_more_1 = require("expect-more"); | ||
var write_if_changed_1 = require("../lib/write-if-changed"); | ||
function format(input, disk) { | ||
var indent = input.indent, sortAz = input.sortAz, sortFirst = input.sortFirst, wrappers = input.wrappers; | ||
wrappers.forEach(function (_a) { | ||
var _b, _c, _d; | ||
var contents = _a.contents, filePath = _a.filePath, json = _a.json; | ||
function format(ctx) { | ||
var sortAz = ctx.sortAz, sortFirst = ctx.sortFirst, packageJsonFiles = ctx.packageJsonFiles; | ||
packageJsonFiles.forEach(function (packageJsonFile) { | ||
var _a, _b, _c; | ||
var contents = packageJsonFile.contents; | ||
var sortedKeys = Object.keys(contents).sort(); | ||
var keys = new Set(sortFirst.concat(sortedKeys)); | ||
var optionalChaining = contents; | ||
var bugsUrl = (_b = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.bugs) === null || _b === void 0 ? void 0 : _b.url; | ||
var repoUrl = (_c = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.repository) === null || _c === void 0 ? void 0 : _c.url; | ||
var repoDir = (_d = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.repository) === null || _d === void 0 ? void 0 : _d.directory; | ||
var bugsUrl = (_a = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.bugs) === null || _a === void 0 ? void 0 : _a.url; | ||
var repoUrl = (_b = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.repository) === null || _b === void 0 ? void 0 : _b.url; | ||
var repoDir = (_c = optionalChaining === null || optionalChaining === void 0 ? void 0 : optionalChaining.repository) === null || _c === void 0 ? void 0 : _c.directory; | ||
if (bugsUrl) { | ||
@@ -28,4 +27,4 @@ contents.bugs = bugsUrl; | ||
sortObject(keys, contents); | ||
(0, write_if_changed_1.writeIfChanged)(disk, { contents: contents, filePath: filePath, indent: indent, json: json }); | ||
}); | ||
return ctx; | ||
function sortObject(sortedKeys, obj) { | ||
@@ -42,3 +41,3 @@ sortedKeys.forEach(function (key) { | ||
} | ||
else if (value && typeof value === 'object') { | ||
else if ((0, expect_more_1.isObject)(value)) { | ||
sortObject(Object.keys(value).sort(), value); | ||
@@ -45,0 +44,0 @@ } |
@@ -40,5 +40,4 @@ #!/usr/bin/env node | ||
var disk_1 = require("../lib/disk"); | ||
var get_input_1 = require("../lib/get-input"); | ||
var option_1 = require("../option"); | ||
var format_1 = require("./format"); | ||
var format_cli_1 = require("./format-cli"); | ||
commander_1.program.description((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Organise package.json files according to a conventional format, where fields\n appear in a predictable order and nested fields are ordered alphabetically.\n Shorthand properties are used where available, such as the {yellow repository} and\n {yellow bugs} fields."], ["\n Organise package.json files according to a conventional format, where fields\n appear in a predictable order and nested fields are ordered alphabetically.\n Shorthand properties are used where available, such as the {yellow repository} and\n {yellow bugs} fields."]))).replace(/^\n/, '')); | ||
@@ -52,7 +51,7 @@ commander_1.program.on('--help', function () { | ||
.option.apply(_a, __spreadArray([], __read(option_1.option.indent), false)).parse(process.argv); | ||
(0, format_1.format)((0, get_input_1.getInput)(disk_1.disk, { | ||
(0, format_cli_1.formatCli)({ | ||
configPath: commander_1.program.opts().config, | ||
indent: commander_1.program.opts().indent, | ||
source: commander_1.program.opts().source | ||
}), disk_1.disk); | ||
}, disk_1.disk); | ||
var templateObject_1, templateObject_2; |
@@ -40,5 +40,4 @@ #!/usr/bin/env node | ||
var disk_1 = require("../lib/disk"); | ||
var get_input_1 = require("../lib/get-input"); | ||
var option_1 = require("../option"); | ||
var lint_semver_ranges_1 = require("./lint-semver-ranges"); | ||
var lint_semver_ranges_cli_1 = require("./lint-semver-ranges-cli"); | ||
commander_1.program.description((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Check dependency versions within {yellow dependencies}, {yellow devDependencies},\n {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format."], ["\n Check dependency versions within {yellow dependencies}, {yellow devDependencies},\n {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format."]))).replace(/^\n/, '')); | ||
@@ -59,3 +58,3 @@ commander_1.program.on('--help', function () { | ||
.option.apply(_a, __spreadArray([], __read(option_1.option.workspace), false)).parse(process.argv); | ||
(0, lint_semver_ranges_1.lintSemverRanges)((0, get_input_1.getInput)(disk_1.disk, { | ||
(0, lint_semver_ranges_cli_1.lintSemverRangesCli)({ | ||
configPath: commander_1.program.opts().config, | ||
@@ -72,3 +71,3 @@ dev: commander_1.program.opts().dev, | ||
workspace: commander_1.program.opts().workspace | ||
}), disk_1.disk); | ||
}, disk_1.disk); | ||
var templateObject_1, templateObject_2; |
@@ -1,3 +0,2 @@ | ||
import type { Disk } from '../lib/disk'; | ||
import type { ProgramInput } from '../lib/get-input'; | ||
export declare function lintSemverRanges(input: ProgramInput, disk: Disk): void; | ||
import type { Context } from '../lib/get-context'; | ||
export declare function lintSemverRanges(ctx: Context): Context; |
@@ -6,2 +6,41 @@ "use strict"; | ||
}; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __read = (this && this.__read) || function (o, n) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
if (!m) return o; | ||
var i = m.call(o), r, ar = [], e; | ||
try { | ||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); | ||
} | ||
catch (error) { e = { error: error }; } | ||
finally { | ||
try { | ||
if (r && !r.done && (m = i["return"])) m.call(i); | ||
} | ||
finally { if (e) throw e.error; } | ||
} | ||
return ar; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -13,33 +52,40 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
var chalk_1 = __importDefault(require("chalk")); | ||
var is_semver_1 = require("../lib/is-semver"); | ||
var constants_1 = require("../constants"); | ||
var log = __importStar(require("../lib/log")); | ||
var set_semver_range_1 = require("../lib/set-semver-range"); | ||
var list_semver_group_mismatches_1 = require("./list-semver-group-mismatches"); | ||
function lintSemverRanges(input, disk) { | ||
var isInvalid = false; | ||
/** | ||
* Reverse the list so the default/ungrouped semver group is rendered first | ||
* (appears at the top). The actual semver groups which the user configured | ||
* will then start from index 1. | ||
*/ | ||
input.instances.semverGroups.reverse().forEach(function (semverGroup, i) { | ||
if ('range' in semverGroup && (0, is_semver_1.isValidSemverRange)(semverGroup.range)) { | ||
var isSemverGroup = i > 0; | ||
var mismatches = (0, list_semver_group_mismatches_1.listSemverGroupMismatches)(semverGroup); | ||
if (isSemverGroup && mismatches.length > 0) { | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{dim = Semver Group ", " ", "}"], ["{dim = Semver Group ", " ", "}"])), i, '='.repeat(63))); | ||
} | ||
mismatches.forEach(function (_a) { | ||
var dependencyType = _a.dependencyType, name = _a.name, version = _a.version, wrapper = _a.wrapper; | ||
console.log((0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{red \u2715 ", "} {red.dim ", " in ", " of ", " should be ", "}"], ["{red \u2715 ", "} {red.dim ", " in ", " of ", " should be ", "}"])), name, version, dependencyType, wrapper.contents.name, (0, set_semver_range_1.setSemverRange)(semverGroup.range, version))); | ||
function lintSemverRanges(ctx) { | ||
ctx.semverGroups.reverse().forEach(function (semverGroup, i) { | ||
Object.entries(semverGroup.instancesByName).forEach(function (_a) { | ||
var _b = __read(_a, 2), name = _b[0], instances = _b[1]; | ||
var range = semverGroup.range; | ||
var hasMismatches = instances.some(function (obj) { return !obj.hasRange(range); }); | ||
// Nothing to do if there are no mismatches | ||
if (!hasMismatches) | ||
return; | ||
// Annotate user-defined version groups | ||
if (!semverGroup.isDefault) | ||
log.semverGroupHeader(i); | ||
// Record that this project has mismatches, so that eg. the CLI can exit | ||
// with the correct status code. | ||
ctx.isInvalid = true; | ||
// Log the dependency name | ||
log.invalid(name); | ||
// Log each of the dependencies mismatches | ||
instances.forEach(function (instance) { | ||
if (!instance.hasRange(range)) { | ||
logSemverRangeMismatch(instance, semverGroup); | ||
} | ||
}); | ||
if (mismatches.length > 0) { | ||
isInvalid = true; | ||
} | ||
} | ||
}); | ||
}); | ||
if (isInvalid) { | ||
disk.process.exit(1); | ||
} | ||
return ctx; | ||
} | ||
exports.lintSemverRanges = lintSemverRanges; | ||
var templateObject_1, templateObject_2; | ||
function logSemverRangeMismatch(instance, semverGroup) { | ||
var type = instance.dependencyType; | ||
var shortPath = instance.packageJsonFile.shortPath; | ||
var actual = instance.version; | ||
var expected = (0, set_semver_range_1.setSemverRange)(semverGroup.range, actual); | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject([" {red ", "} ", " {green ", "} {dim in ", " of ", "}"], [" {red ", "} ", " {green ", "} {dim in ", " of ", "}"])), actual, constants_1.ICON.rightArrow, expected, type, shortPath)); | ||
} | ||
var templateObject_1; |
@@ -40,5 +40,4 @@ #!/usr/bin/env node | ||
var disk_1 = require("../lib/disk"); | ||
var get_input_1 = require("../lib/get-input"); | ||
var option_1 = require("../option"); | ||
var list_mismatches_1 = require("./list-mismatches"); | ||
var list_mismatches_cli_1 = require("./list-mismatches-cli"); | ||
commander_1.program.description("\n List dependencies which are required by multiple packages, where the version\n is not the same across every package.".replace(/^\n/, '')); | ||
@@ -58,3 +57,3 @@ commander_1.program.on('--help', function () { | ||
.option.apply(_a, __spreadArray([], __read(option_1.option.workspace), false)).parse(process.argv); | ||
(0, list_mismatches_1.listMismatches)((0, get_input_1.getInput)(disk_1.disk, { | ||
(0, list_mismatches_cli_1.listMismatchesCli)({ | ||
configPath: commander_1.program.opts().config, | ||
@@ -70,3 +69,3 @@ dev: commander_1.program.opts().dev, | ||
workspace: commander_1.program.opts().workspace | ||
}), disk_1.disk); | ||
}, disk_1.disk); | ||
var templateObject_1; |
@@ -1,3 +0,2 @@ | ||
import type { Disk } from '../lib/disk'; | ||
import type { ProgramInput } from '../lib/get-input'; | ||
export declare function listMismatches(input: ProgramInput, disk: Disk): void; | ||
import type { Context } from '../lib/get-context'; | ||
export declare function listMismatches(ctx: Context): Context; |
@@ -6,12 +6,24 @@ "use strict"; | ||
}; | ||
var __values = (this && this.__values) || function(o) { | ||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; | ||
if (m) return m.call(o); | ||
if (o && typeof o.length === "number") return { | ||
next: function () { | ||
if (o && i >= o.length) o = void 0; | ||
return { value: o && o[i++], done: !o }; | ||
} | ||
}; | ||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
@@ -24,76 +36,66 @@ var __importDefault = (this && this.__importDefault) || function (mod) { | ||
var chalk_1 = __importDefault(require("chalk")); | ||
var path_1 = require("path"); | ||
var get_expected_version_1 = require("../bin-fix-mismatches/get-expected-version"); | ||
var list_version_groups_1 = require("../bin-list/list-version-groups"); | ||
var constants_1 = require("../constants"); | ||
function listMismatches(input, disk) { | ||
var isInvalid = false; | ||
/** | ||
* Reverse the list so the default/ungrouped version group is rendered first | ||
* (appears at the top). The actual version groups which the user configured | ||
* will then start from index 1. | ||
*/ | ||
input.instances.versionGroups.reverse().forEach(function (versionGroup, i) { | ||
var isVersionGroup = i > 0; | ||
var groups = (0, list_version_groups_1.listVersionGroups)(versionGroup).filter(function (group) { return !group.isIgnored && group.hasMismatches; }); | ||
if (groups.length > 0) { | ||
isInvalid = true; | ||
if (isVersionGroup) { | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{dim = Version Group ", " ", "}"], ["{dim = Version Group ", " ", "}"])), i, '='.repeat(63))); | ||
var log = __importStar(require("../lib/log")); | ||
function listMismatches(ctx) { | ||
ctx.versionGroups.reverse().forEach(function (versionGroup, i) { | ||
var invalidGroups = versionGroup.getInvalidInstanceGroups(); | ||
// Nothing to do if there are no mismatches | ||
if (invalidGroups.length === 0) | ||
return; | ||
// Record that this project has mismatches, so that eg. the CLI can exit | ||
// with the correct status code. | ||
ctx.isInvalid = true; | ||
// Annotate user-defined version groups | ||
if (!versionGroup.isDefault) | ||
log.versionGroupHeader(i); | ||
// Log the mismatches | ||
invalidGroups.forEach(function (instanceGroup) { | ||
var name = instanceGroup.name; | ||
var workspaceInstance = instanceGroup.getWorkspaceInstance(); | ||
var expected = instanceGroup.getExpectedVersion() || 'nice b'; | ||
var isBanned = instanceGroup.versionGroup.isBanned; | ||
var isUnpinned = instanceGroup.isUnpinned; | ||
// Log the dependency name | ||
if (isBanned) { | ||
logBanned(name); | ||
} | ||
} | ||
groups.forEach(function (_a) { | ||
var e_1, _b; | ||
var instances = _a.instances, isBanned = _a.isBanned, name = _a.name; | ||
var workspaceMatch = null; | ||
var expected = (0, get_expected_version_1.getExpectedVersion)(name, versionGroup, input); | ||
try { | ||
for (var instances_1 = __values(instances), instances_1_1 = instances_1.next(); !instances_1_1.done; instances_1_1 = instances_1.next()) { | ||
var instance = instances_1_1.value; | ||
var isMatch = instance.version === expected; | ||
var isWorkspace = instance.dependencyType === 'workspace'; | ||
if (isMatch && isWorkspace) { | ||
workspaceMatch = instance; | ||
} | ||
} | ||
else if (isUnpinned) { | ||
logPinVersionMismatch(name, instanceGroup); | ||
} | ||
catch (e_1_1) { e_1 = { error: e_1_1 }; } | ||
finally { | ||
try { | ||
if (instances_1_1 && !instances_1_1.done && (_b = instances_1["return"])) _b.call(instances_1); | ||
} | ||
finally { if (e_1) throw e_1.error; } | ||
else if (workspaceInstance) { | ||
logWorkspaceMismatch(workspaceInstance, expected, name); | ||
} | ||
if (isBanned) { | ||
console.log((0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{red ", " ", "} {dim.red is defined in this version group as banned from use}"], ["{red ", " ", "} {dim.red is defined in this version group as banned from use}"])), constants_1.ICON.cross, name)); | ||
} | ||
else if (workspaceMatch) { | ||
var shortPath = (0, path_1.relative)(constants_1.CWD, workspaceMatch.wrapper.filePath); | ||
var reason = (0, chalk_1["default"])(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{dim : ", " is developed in this repo at ", "}"], ["{dim : ", " is developed in this repo at ", "}"])), expected, shortPath); | ||
console.log((0, chalk_1["default"])(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{dim -} ", "", ""], ["{dim -} ", "", ""])), name, reason)); | ||
} | ||
else { | ||
var reason = (0, chalk_1["default"])(templateObject_5 || (templateObject_5 = __makeTemplateObject(["{dim : ", " is the highest valid semver version in use}"], ["{dim : ", " is the highest valid semver version in use}"])), expected); | ||
console.log((0, chalk_1["default"])(templateObject_6 || (templateObject_6 = __makeTemplateObject(["{dim -} ", "", ""], ["{dim -} ", "", ""])), name, reason)); | ||
logHighestVersionMismatch(expected, name); | ||
} | ||
instances.forEach(function (_a) { | ||
var dependencyType = _a.dependencyType, version = _a.version, wrapper = _a.wrapper; | ||
var isMatch = version === expected; | ||
var isLocal = dependencyType === 'workspace'; | ||
var shortPath = (0, path_1.relative)(constants_1.CWD, wrapper.filePath); | ||
var loc = isLocal ? 'version' : dependencyType; | ||
if (isMatch) { | ||
console.log((0, chalk_1["default"])(templateObject_7 || (templateObject_7 = __makeTemplateObject(["{green ", " in ", " of ", "}"], ["{green ", " in ", " of ", "}"])), version, loc, shortPath)); | ||
// Log each of the dependencies mismatches | ||
instanceGroup.instances.forEach(function (instance) { | ||
if (instance.version !== expected) { | ||
logVersionMismatch(instance); | ||
} | ||
else { | ||
console.log((0, chalk_1["default"])(templateObject_8 || (templateObject_8 = __makeTemplateObject(["{red ", " in ", " of ", "}"], ["{red ", " in ", " of ", "}"])), version, loc, shortPath)); | ||
} | ||
}); | ||
}); | ||
}); | ||
if (isInvalid) { | ||
disk.process.exit(1); | ||
return ctx; | ||
function logBanned(name) { | ||
log.invalid(name, 'is banned in this version group'); | ||
} | ||
function logPinVersionMismatch(name, instanceGroup) { | ||
var pinVersion = instanceGroup.versionGroup.pinVersion; | ||
log.invalid(name, (0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["is pinned in this version group at {reset.green ", "}"], ["is pinned in this version group at {reset.green ", "}"])), pinVersion)); | ||
} | ||
function logWorkspaceMismatch(workspaceInstance, expected, name) { | ||
var shortPath = workspaceInstance.packageJsonFile.shortPath; | ||
log.invalid(name, (0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{reset.green ", "} {dim is developed in this repo at ", "}"], ["{reset.green ", "} {dim is developed in this repo at ", "}"])), expected, shortPath)); | ||
} | ||
function logHighestVersionMismatch(expected, name) { | ||
log.invalid(name, (0, chalk_1["default"])(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{reset.green ", "} {dim is the highest valid semver version in use}"], ["{reset.green ", "} {dim is the highest valid semver version in use}"])), expected)); | ||
} | ||
function logVersionMismatch(instance) { | ||
var type = instance.dependencyType; | ||
var shortPath = instance.packageJsonFile.shortPath; | ||
var actual = instance.version; | ||
console.log((0, chalk_1["default"])(templateObject_4 || (templateObject_4 = __makeTemplateObject([" {red ", "} {dim in ", " of ", "}"], [" {red ", "} {dim in ", " of ", "}"])), actual, type, shortPath)); | ||
} | ||
} | ||
exports.listMismatches = listMismatches; | ||
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8; | ||
var templateObject_1, templateObject_2, templateObject_3, templateObject_4; |
@@ -40,5 +40,4 @@ #!/usr/bin/env node | ||
var disk_1 = require("../lib/disk"); | ||
var get_input_1 = require("../lib/get-input"); | ||
var option_1 = require("../option"); | ||
var list_1 = require("./list"); | ||
var list_cli_1 = require("./list-cli"); | ||
commander_1.program.description(' List all dependencies required by your packages.'); | ||
@@ -58,3 +57,3 @@ commander_1.program.on('--help', function () { | ||
.option.apply(_a, __spreadArray([], __read(option_1.option.workspace), false)).parse(process.argv); | ||
(0, list_1.list)((0, get_input_1.getInput)(disk_1.disk, { | ||
(0, list_cli_1.listCli)({ | ||
configPath: commander_1.program.opts().config, | ||
@@ -70,3 +69,3 @@ dev: commander_1.program.opts().dev, | ||
workspace: commander_1.program.opts().workspace | ||
}), disk_1.disk); | ||
}, disk_1.disk); | ||
var templateObject_1; |
@@ -1,3 +0,2 @@ | ||
import type { Disk } from '../lib/disk'; | ||
import type { ProgramInput } from '../lib/get-input'; | ||
export declare function list(input: ProgramInput, disk: Disk): void; | ||
import type { Context } from '../lib/get-context'; | ||
export declare function list(ctx: Context): Context; |
@@ -6,2 +6,25 @@ "use strict"; | ||
}; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -13,42 +36,44 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
var chalk_1 = __importDefault(require("chalk")); | ||
var get_expected_version_1 = require("../bin-fix-mismatches/get-expected-version"); | ||
var constants_1 = require("../constants"); | ||
var list_version_groups_1 = require("./list-version-groups"); | ||
function list(input, disk) { | ||
var isInvalid = false; | ||
/** | ||
* Reverse the list so the default/ungrouped version group is rendered first | ||
* (appears at the top). The actual version groups which the user configured | ||
* will then start from index 1. | ||
*/ | ||
input.instances.versionGroups.reverse().forEach(function (versionGroup, i) { | ||
var isVersionGroup = i > 0; | ||
var groups = (0, list_version_groups_1.listVersionGroups)(versionGroup); | ||
if (isVersionGroup) { | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{dim = Version Group ", " ", "}"], ["{dim = Version Group ", " ", "}"])), i, '='.repeat(63))); | ||
} | ||
groups.forEach(function (_a) { | ||
var hasMismatches = _a.hasMismatches, isBanned = _a.isBanned, isIgnored = _a.isIgnored, name = _a.name, uniques = _a.uniques; | ||
var versionList = uniques.sort(); | ||
var expected = (0, get_expected_version_1.getExpectedVersion)(name, versionGroup, input); | ||
console.log(isBanned | ||
? (0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{red ", " ", "} {dim.red is defined in this version group as banned from use}"], ["{red ", " ", "} {dim.red is defined in this version group as banned from use}"])), constants_1.ICON.cross, name) : isIgnored | ||
? (0, chalk_1["default"])(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{dim ", " ", "} is ignored in this version group"], ["{dim ", " ", "} is ignored in this version group"])), constants_1.ICON.skip, name) : hasMismatches | ||
? (0, chalk_1["default"])(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{red ", " ", "} ", ""], ["{red ", " ", "} ", ""])), constants_1.ICON.cross, name, versionList | ||
.map(function (version) { | ||
return version === expected | ||
? chalk_1["default"].green(version) | ||
: chalk_1["default"].red(version); | ||
}) | ||
.join(chalk_1["default"].dim(', '))) : (0, chalk_1["default"])(templateObject_5 || (templateObject_5 = __makeTemplateObject(["{dim -} {white ", "} {dim ", "}"], ["{dim -} {white ", "} {dim ", "}"])), name, versionList)); | ||
var log = __importStar(require("../lib/log")); | ||
function list(ctx) { | ||
ctx.versionGroups.reverse().forEach(function (versionGroup, i) { | ||
// Annotate user-defined version groups | ||
if (!versionGroup.isDefault) | ||
log.versionGroupHeader(i); | ||
versionGroup.instanceGroups.forEach(function (instanceGroup) { | ||
var expected = instanceGroup.getExpectedVersion(); | ||
var uniques = instanceGroup.uniques; | ||
// Record that this project has mismatches, so that eg. the CLI can exit | ||
// with the correct status code. | ||
if (instanceGroup.isInvalid) | ||
ctx.isInvalid = true; | ||
instanceGroup.versionGroup.isBanned | ||
? logBanned(instanceGroup) | ||
: instanceGroup.versionGroup.isIgnored | ||
? logIgnored(instanceGroup) | ||
: instanceGroup.hasMismatches | ||
? logVersionMismatch(instanceGroup, uniques, expected) | ||
: logVersionMatch(instanceGroup, uniques); | ||
}); | ||
if (groups.some(function (group) { return !group.isIgnored && group.hasMismatches; })) { | ||
isInvalid = true; | ||
} | ||
}); | ||
if (isInvalid) { | ||
disk.process.exit(1); | ||
return ctx; | ||
function logVersionMatch(instanceGroup, uniques) { | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{dim -} {white ", "} {dim ", "}"], ["{dim -} {white ", "} {dim ", "}"])), instanceGroup.name, uniques)); | ||
} | ||
function logVersionMismatch(instanceGroup, uniques, expected) { | ||
console.log((0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{red ", " ", "} ", ""], ["{red ", " ", "} ", ""])), constants_1.ICON.cross, instanceGroup.name, uniques | ||
.map(function (version) { | ||
return version === expected ? chalk_1["default"].green(version) : chalk_1["default"].red(version); | ||
}) | ||
.join(chalk_1["default"].dim(', ')))); | ||
} | ||
function logIgnored(instanceGroup) { | ||
console.log((0, chalk_1["default"])(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{dim ", " ", "} is ignored in this version group"], ["{dim ", " ", "} is ignored in this version group"])), constants_1.ICON.skip, instanceGroup.name)); | ||
} | ||
function logBanned(instanceGroup) { | ||
console.log((0, chalk_1["default"])(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{red ", " ", "} {dim.red is banned in this version group}"], ["{red ", " ", "} {dim.red is banned in this version group}"])), constants_1.ICON.cross, instanceGroup.name)); | ||
} | ||
} | ||
exports.list = list; | ||
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5; | ||
var templateObject_1, templateObject_2, templateObject_3, templateObject_4; |
@@ -40,5 +40,4 @@ #!/usr/bin/env node | ||
var disk_1 = require("../lib/disk"); | ||
var get_input_1 = require("../lib/get-input"); | ||
var option_1 = require("../option"); | ||
var set_semver_ranges_1 = require("./set-semver-ranges"); | ||
var set_semver_ranges_cli_1 = require("./set-semver-ranges-cli"); | ||
commander_1.program.description((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n Ensure dependency versions within {yellow dependencies}, {yellow devDependencies},\n {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format."], ["\n Ensure dependency versions within {yellow dependencies}, {yellow devDependencies},\n {yellow peerDependencies}, {yellow overrides}, and {yellow resolutions} follow a consistent format."]))).replace(/^\n/, '')); | ||
@@ -60,3 +59,3 @@ commander_1.program.on('--help', function () { | ||
.option.apply(_a, __spreadArray([], __read(option_1.option.indent), false)).parse(process.argv); | ||
(0, set_semver_ranges_1.setSemverRanges)((0, get_input_1.getInput)(disk_1.disk, { | ||
(0, set_semver_ranges_cli_1.setSemverRangesCli)({ | ||
configPath: commander_1.program.opts().config, | ||
@@ -74,3 +73,3 @@ dev: commander_1.program.opts().dev, | ||
workspace: commander_1.program.opts().workspace | ||
}), disk_1.disk); | ||
}, disk_1.disk); | ||
var templateObject_1, templateObject_2; |
@@ -1,3 +0,2 @@ | ||
import type { Disk } from '../lib/disk'; | ||
import type { ProgramInput } from '../lib/get-input'; | ||
export declare const setSemverRanges: (input: ProgramInput, disk: Disk) => void; | ||
import type { Context } from '../lib/get-context'; | ||
export declare const setSemverRanges: (ctx: Context) => Context; |
"use strict"; | ||
exports.__esModule = true; | ||
exports.setSemverRanges = void 0; | ||
var list_semver_group_mismatches_1 = require("../bin-lint-semver-ranges/list-semver-group-mismatches"); | ||
var is_semver_1 = require("../lib/is-semver"); | ||
var set_semver_range_1 = require("../lib/set-semver-range"); | ||
var write_if_changed_1 = require("../lib/write-if-changed"); | ||
var setSemverRanges = function (input, disk) { | ||
input.instances.semverGroups.reverse().forEach(function (semverGroup) { | ||
if ('range' in semverGroup && (0, is_semver_1.isValidSemverRange)(semverGroup.range)) { | ||
var mismatches = (0, list_semver_group_mismatches_1.listSemverGroupMismatches)(semverGroup); | ||
mismatches.forEach(function (_a) { | ||
var dependencyType = _a.dependencyType, name = _a.name, version = _a.version, wrapper = _a.wrapper; | ||
if (dependencyType === 'workspace') | ||
return; | ||
var root = wrapper.contents; | ||
var nextVersion = (0, set_semver_range_1.setSemverRange)(semverGroup.range, version); | ||
if (dependencyType === 'pnpmOverrides') { | ||
root.pnpm.overrides[name] = nextVersion; | ||
} | ||
else { | ||
root[dependencyType][name] = nextVersion; | ||
} | ||
}); | ||
} | ||
}); | ||
input.wrappers.forEach(function (wrapper) { | ||
(0, write_if_changed_1.writeIfChanged)(disk, { | ||
contents: wrapper.contents, | ||
filePath: wrapper.filePath, | ||
indent: input.indent, | ||
json: wrapper.json | ||
var setSemverRanges = function (ctx) { | ||
ctx.semverGroups.reverse().forEach(function (semverGroup) { | ||
semverGroup.instances.forEach(function (instance) { | ||
instance.setRange(semverGroup.range); | ||
}); | ||
}); | ||
return ctx; | ||
}; | ||
exports.setSemverRanges = setSemverRanges; |
@@ -1,24 +0,30 @@ | ||
import type { DependencyType, SyncpackConfig, ValidRange } from './types'; | ||
export declare const ALL_PATTERNS: string[]; | ||
export declare const DEPENDENCY_TYPES: DependencyType[]; | ||
import type { Config } from './lib/get-context/get-config/config'; | ||
/** Single source of truth, intended to aid testing or to override */ | ||
export declare const CWD: string; | ||
export declare const GREATER = 1; | ||
export declare const LESSER = -1; | ||
export declare const SAME = 0; | ||
export declare const RANGE_ANY = "*"; | ||
export declare const RANGE_EXACT = ""; | ||
export declare const RANGE_GT = ">"; | ||
export declare const RANGE_GTE = ">="; | ||
export declare const RANGE_LOOSE = ".x"; | ||
export declare const RANGE_LT = "<"; | ||
export declare const RANGE_LTE = "<="; | ||
export declare const RANGE_MINOR = "^"; | ||
export declare const RANGE_PATCH = "~"; | ||
export declare const SEMVER_ORDER: ValidRange[]; | ||
/** Where to search for packages if none are provided by the user */ | ||
export declare const DEFAULT_SOURCES: string[]; | ||
/** Single source of truth for icons used in output */ | ||
export declare const ICON: { | ||
cross: string; | ||
debug: string; | ||
skip: string; | ||
tick: string; | ||
readonly rightArrow: "→"; | ||
readonly cross: "✘"; | ||
readonly debug: "?"; | ||
readonly skip: "-"; | ||
readonly tick: "✓"; | ||
}; | ||
export declare const DEFAULT_CONFIG: SyncpackConfig; | ||
/** | ||
* Aliases for locations of versions within package.json files, it is looped | ||
* over by each command to operate on each are as defined by the user. | ||
*/ | ||
export declare const ALL_DEPENDENCY_TYPES: readonly ["dependencies", "devDependencies", "overrides", "peerDependencies", "pnpmOverrides", "resolutions", "workspace"]; | ||
export declare const RANGE: { | ||
readonly ANY: "*"; | ||
readonly EXACT: ""; | ||
readonly GT: ">"; | ||
readonly GTE: ">="; | ||
readonly LOOSE: ".x"; | ||
readonly LT: "<"; | ||
readonly LTE: "<="; | ||
readonly MINOR: "^"; | ||
readonly PATCH: "~"; | ||
}; | ||
export declare const DEFAULT_CONFIG: Config.RcFile; |
"use strict"; | ||
exports.__esModule = true; | ||
exports.DEFAULT_CONFIG = exports.ICON = exports.SEMVER_ORDER = exports.RANGE_PATCH = exports.RANGE_MINOR = exports.RANGE_LTE = exports.RANGE_LT = exports.RANGE_LOOSE = exports.RANGE_GTE = exports.RANGE_GT = exports.RANGE_EXACT = exports.RANGE_ANY = exports.SAME = exports.LESSER = exports.GREATER = exports.CWD = exports.DEPENDENCY_TYPES = exports.ALL_PATTERNS = void 0; | ||
exports.ALL_PATTERNS = ['package.json', 'packages/*/package.json']; | ||
exports.DEPENDENCY_TYPES = [ | ||
exports.DEFAULT_CONFIG = exports.RANGE = exports.ALL_DEPENDENCY_TYPES = exports.ICON = exports.DEFAULT_SOURCES = exports.CWD = void 0; | ||
/** Single source of truth, intended to aid testing or to override */ | ||
exports.CWD = process.cwd(); | ||
/** Where to search for packages if none are provided by the user */ | ||
exports.DEFAULT_SOURCES = ['package.json', 'packages/*/package.json']; | ||
/** Single source of truth for icons used in output */ | ||
exports.ICON = { | ||
rightArrow: '→', | ||
cross: '✘', | ||
debug: '?', | ||
skip: '-', | ||
tick: '✓' | ||
}; | ||
/** | ||
* Aliases for locations of versions within package.json files, it is looped | ||
* over by each command to operate on each are as defined by the user. | ||
*/ | ||
exports.ALL_DEPENDENCY_TYPES = [ | ||
'dependencies', | ||
@@ -14,33 +29,14 @@ 'devDependencies', | ||
]; | ||
exports.CWD = process.cwd(); | ||
exports.GREATER = 1; | ||
exports.LESSER = -1; | ||
exports.SAME = 0; | ||
exports.RANGE_ANY = '*'; | ||
exports.RANGE_EXACT = ''; | ||
exports.RANGE_GT = '>'; | ||
exports.RANGE_GTE = '>='; | ||
exports.RANGE_LOOSE = '.x'; | ||
exports.RANGE_LT = '<'; | ||
exports.RANGE_LTE = '<='; | ||
exports.RANGE_MINOR = '^'; | ||
exports.RANGE_PATCH = '~'; | ||
exports.SEMVER_ORDER = [ | ||
exports.RANGE_LT, | ||
exports.RANGE_LTE, | ||
exports.RANGE_EXACT, | ||
exports.RANGE_PATCH, | ||
exports.RANGE_MINOR, | ||
exports.RANGE_GTE, | ||
exports.RANGE_GT, | ||
exports.RANGE_ANY, | ||
]; | ||
exports.ICON = { | ||
cross: '✘', | ||
debug: '?', | ||
skip: '-', | ||
tick: '✓' | ||
exports.RANGE = { | ||
ANY: '*', | ||
EXACT: '', | ||
GT: '>', | ||
GTE: '>=', | ||
LOOSE: '.x', | ||
LT: '<', | ||
LTE: '<=', | ||
MINOR: '^', | ||
PATCH: '~' | ||
}; | ||
exports.DEFAULT_CONFIG = { | ||
dependencyTypes: [], | ||
dev: true, | ||
@@ -47,0 +43,0 @@ filter: '.', |
@@ -1,3 +0,3 @@ | ||
import type { SyncpackConfig } from '../types'; | ||
export declare type Disk = typeof disk; | ||
import type { Config } from './get-context/get-config/config'; | ||
export type Disk = typeof disk; | ||
export declare const disk: { | ||
@@ -8,3 +8,3 @@ readonly process: { | ||
readonly globSync: (pattern: string) => string[]; | ||
readonly readConfigFileSync: (configPath?: string) => Partial<SyncpackConfig>; | ||
readonly readConfigFileSync: (configPath?: string) => Partial<Config.RcFile>; | ||
readonly readFileSync: (filePath: string) => string; | ||
@@ -11,0 +11,0 @@ readonly readYamlFileSync: <T = unknown>(filePath: string) => T; |
@@ -37,3 +37,2 @@ "use strict"; | ||
var rcConfig_1 = (_a = pjson === null || pjson === void 0 ? void 0 : pjson.config) === null || _a === void 0 ? void 0 : _a.syncpack; | ||
console.log(rcConfig_1); | ||
if ((0, expect_more_1.isNonEmptyObject)(rcConfig_1)) | ||
@@ -40,0 +39,0 @@ return rcConfig_1; |
@@ -1,4 +0,4 @@ | ||
import type { ValidRange } from '../types'; | ||
import type { ValidRange } from './get-context/get-config/config'; | ||
export declare function isValidSemverRange(value: unknown): value is ValidRange; | ||
export declare function isSemver(version: unknown): boolean; | ||
export declare function isLooseSemver(version: unknown): boolean; |
@@ -7,11 +7,11 @@ "use strict"; | ||
function isValidSemverRange(value) { | ||
return (value === constants_1.RANGE_ANY || | ||
value === constants_1.RANGE_EXACT || | ||
value === constants_1.RANGE_GT || | ||
value === constants_1.RANGE_GTE || | ||
value === constants_1.RANGE_LOOSE || | ||
value === constants_1.RANGE_LT || | ||
value === constants_1.RANGE_LTE || | ||
value === constants_1.RANGE_MINOR || | ||
value === constants_1.RANGE_PATCH); | ||
return (value === constants_1.RANGE.ANY || | ||
value === constants_1.RANGE.EXACT || | ||
value === constants_1.RANGE.GT || | ||
value === constants_1.RANGE.GTE || | ||
value === constants_1.RANGE.LOOSE || | ||
value === constants_1.RANGE.LT || | ||
value === constants_1.RANGE.LTE || | ||
value === constants_1.RANGE.MINOR || | ||
value === constants_1.RANGE.PATCH); | ||
} | ||
@@ -18,0 +18,0 @@ exports.isValidSemverRange = isValidSemverRange; |
export declare function verbose(...values: unknown[]): void; | ||
export declare function fixed(message: string): void; | ||
export declare function skip(message: string): void; | ||
export declare function semverGroupHeader(order: number): void; | ||
export declare function versionGroupHeader(order: number): void; | ||
export declare function valid(message: string, comment?: string): void; | ||
export declare function invalid(message: string, comment?: string): void; |
"use strict"; | ||
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { | ||
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } | ||
return cooked; | ||
}; | ||
var __read = (this && this.__read) || function (o, n) { | ||
@@ -31,3 +35,3 @@ var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
exports.__esModule = true; | ||
exports.verbose = void 0; | ||
exports.invalid = exports.valid = exports.versionGroupHeader = exports.semverGroupHeader = exports.skip = exports.fixed = exports.verbose = void 0; | ||
var chalk_1 = __importDefault(require("chalk")); | ||
@@ -51,1 +55,36 @@ var expect_more_1 = require("expect-more"); | ||
exports.verbose = verbose; | ||
function fixed(message) { | ||
console.log((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{green ", "}"], ["{green ", "}"])), constants_1.ICON.tick), message); | ||
} | ||
exports.fixed = fixed; | ||
function skip(message) { | ||
console.log(chalk_1["default"].dim(constants_1.ICON.skip), chalk_1["default"].dim(message)); | ||
} | ||
exports.skip = skip; | ||
function semverGroupHeader(order) { | ||
console.log((0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{dim = Semver Group ", " ", "}"], ["{dim = Semver Group ", " ", "}"])), order, '='.repeat(63))); | ||
} | ||
exports.semverGroupHeader = semverGroupHeader; | ||
function versionGroupHeader(order) { | ||
console.log((0, chalk_1["default"])(templateObject_3 || (templateObject_3 = __makeTemplateObject(["{dim = Version Group ", " ", "}"], ["{dim = Version Group ", " ", "}"])), order, '='.repeat(63))); | ||
} | ||
exports.versionGroupHeader = versionGroupHeader; | ||
function valid(message, comment) { | ||
if (comment) { | ||
console.log((0, chalk_1["default"])(templateObject_4 || (templateObject_4 = __makeTemplateObject(["{dim ", "} ", " {dim ", "}"], ["{dim ", "} ", " {dim ", "}"])), constants_1.ICON.skip, message, comment)); | ||
} | ||
else { | ||
console.log((0, chalk_1["default"])(templateObject_5 || (templateObject_5 = __makeTemplateObject(["{dim ", "} ", ""], ["{dim ", "} ", ""])), constants_1.ICON.skip, message)); | ||
} | ||
} | ||
exports.valid = valid; | ||
function invalid(message, comment) { | ||
if (comment) { | ||
console.log((0, chalk_1["default"])(templateObject_6 || (templateObject_6 = __makeTemplateObject(["{red ", "} ", " {dim ", "}"], ["{red ", "} ", " {dim ", "}"])), constants_1.ICON.cross, message, comment)); | ||
} | ||
else { | ||
console.log((0, chalk_1["default"])(templateObject_7 || (templateObject_7 = __makeTemplateObject(["{red ", "} ", ""], ["{red ", "} ", ""])), constants_1.ICON.cross, message)); | ||
} | ||
} | ||
exports.invalid = invalid; | ||
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7; |
@@ -1,2 +0,2 @@ | ||
import type { ValidRange } from '../types'; | ||
import type { ValidRange } from './get-context/get-config/config'; | ||
export declare function setSemverRange(semverRange: ValidRange, version: string): string; |
@@ -16,3 +16,3 @@ "use strict"; | ||
var from1stDot = nextVersion.indexOf('.'); | ||
return semverRange === constants_1.RANGE_LOOSE | ||
return semverRange === constants_1.RANGE.LOOSE | ||
? "".concat(nextVersion.slice(from1stNumber, from1stDot), ".x.x") | ||
@@ -19,0 +19,0 @@ : "".concat(semverRange).concat(nextVersion.slice(from1stNumber)); |
@@ -1,2 +0,1 @@ | ||
import { collect } from './lib/collect'; | ||
export declare const option: { | ||
@@ -16,1 +15,3 @@ readonly config: readonly ["-c, --config <path>", "path to a syncpack config file"]; | ||
}; | ||
declare function collect(value: string, previous: string[]): string[]; | ||
export {}; |
@@ -13,3 +13,2 @@ "use strict"; | ||
var constants_1 = require("./constants"); | ||
var collect_1 = require("./lib/collect"); | ||
exports.option = { | ||
@@ -44,3 +43,3 @@ config: ['-c, --config <path>', 'path to a syncpack config file'], | ||
'glob pattern for package.json files to read from', | ||
collect_1.collect, | ||
collect, | ||
[], | ||
@@ -50,2 +49,5 @@ ], | ||
}; | ||
function collect(value, previous) { | ||
return previous.concat([value]); | ||
} | ||
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7; |
{ | ||
"name": "syncpack", | ||
"description": "Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces", | ||
"version": "8.4.11", | ||
"version": "8.5.14", | ||
"author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)", | ||
@@ -30,9 +30,9 @@ "bin": { | ||
"chalk": "4.1.2", | ||
"commander": "9.4.1", | ||
"cosmiconfig": "7.0.1", | ||
"expect-more": "1.2.0", | ||
"commander": "10.0.0", | ||
"cosmiconfig": "8.0.0", | ||
"expect-more": "1.3.0", | ||
"fp-ts": "2.13.1", | ||
"fs-extra": "10.1.0", | ||
"glob": "8.0.3", | ||
"minimatch": "5.1.0", | ||
"fs-extra": "11.1.0", | ||
"glob": "8.1.0", | ||
"minimatch": "6.1.6", | ||
"read-yaml-file": "2.1.0", | ||
@@ -42,17 +42,17 @@ "semver": "7.3.8" | ||
"devDependencies": { | ||
"@types/fs-extra": "9.0.13", | ||
"@types/glob": "8.0.0", | ||
"@types/jest": "29.2.0", | ||
"@types/node": "18.11.7", | ||
"@types/fs-extra": "11.0.1", | ||
"@types/glob": "8.0.1", | ||
"@types/jest": "29.4.0", | ||
"@types/node": "18.11.19", | ||
"@types/semver": "7.3.13", | ||
"@typescript-eslint/eslint-plugin": "5.41.0", | ||
"@typescript-eslint/parser": "5.41.0", | ||
"eslint": "8.26.0", | ||
"eslint-plugin-import": "2.26.0", | ||
"expect-more-jest": "5.4.1", | ||
"jest": "29.2.2", | ||
"prettier": "2.7.1", | ||
"rimraf": "3.0.2", | ||
"ts-jest": "29.0.3", | ||
"typescript": "4.8.4" | ||
"@typescript-eslint/eslint-plugin": "5.51.0", | ||
"@typescript-eslint/parser": "5.51.0", | ||
"eslint": "8.33.0", | ||
"eslint-plugin-import": "2.27.5", | ||
"expect-more-jest": "5.5.0", | ||
"jest": "29.4.1", | ||
"prettier": "2.8.3", | ||
"rimraf": "4.1.2", | ||
"ts-jest": "29.0.5", | ||
"typescript": "4.9.5" | ||
}, | ||
@@ -59,0 +59,0 @@ "engines": { |
@@ -8,3 +8,3 @@ # syncpack | ||
[![NPM downloads](http://img.shields.io/npm/dm/syncpack.svg?style=flat-square)](https://www.npmjs.com/package/syncpack) | ||
[![Build Status](https://img.shields.io/github/workflow/status/JamieMason/syncpack/ci)](https://github.com/JamieMason/syncpack/actions) | ||
[![Build Status](https://img.shields.io/github/actions/workflow/status/JamieMason/syncpack/ci.yaml?branch=master)](https://github.com/JamieMason/syncpack/actions) | ||
[![Maintainability](https://api.codeclimate.com/v1/badges/516439365fdd0e3c6526/maintainability)](https://codeclimate.com/github/JamieMason/syncpack/maintainability) | ||
@@ -11,0 +11,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
179018
109
3059
1
+ Addedcommander@10.0.0(transitive)
+ Addedcosmiconfig@8.0.0(transitive)
+ Addedexpect-more@1.3.0(transitive)
+ Addedfs-extra@11.1.0(transitive)
+ Addedglob@8.1.0(transitive)
+ Addedminimatch@5.1.66.1.6(transitive)
- Removed@types/parse-json@4.0.2(transitive)
- Removedcommander@9.4.1(transitive)
- Removedcosmiconfig@7.0.1(transitive)
- Removedexpect-more@1.2.0(transitive)
- Removedfs-extra@10.1.0(transitive)
- Removedglob@8.0.3(transitive)
- Removedminimatch@5.1.0(transitive)
- Removedyaml@1.10.2(transitive)
Updatedcommander@10.0.0
Updatedcosmiconfig@8.0.0
Updatedexpect-more@1.3.0
Updatedfs-extra@11.1.0
Updatedglob@8.1.0
Updatedminimatch@6.1.6