syncpack 8.4.11 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -109
- package/dist/bin-fix-mismatches/fix-mismatches-cli.d.ts +3 -0
- package/dist/bin-fix-mismatches/fix-mismatches-cli.js +10 -0
- package/dist/bin-fix-mismatches/fix-mismatches.d.ts +2 -3
- package/dist/bin-fix-mismatches/fix-mismatches.js +46 -58
- package/dist/bin-fix-mismatches/index.js +12 -22
- package/dist/bin-format/format-cli.d.ts +3 -0
- package/dist/bin-format/format-cli.js +10 -0
- package/dist/bin-format/format.d.ts +2 -3
- package/dist/bin-format/format.js +10 -11
- package/dist/bin-format/index.js +5 -4
- package/dist/bin-lint-semver-ranges/index.js +13 -23
- package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.d.ts +3 -0
- package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.js +10 -0
- package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +2 -3
- package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +72 -27
- package/dist/bin-list/index.js +12 -22
- package/dist/bin-list/list-cli.d.ts +3 -0
- package/dist/bin-list/list-cli.js +10 -0
- package/dist/bin-list/list.d.ts +2 -3
- package/dist/bin-list/list.js +60 -35
- package/dist/bin-list-mismatches/index.js +12 -22
- package/dist/bin-list-mismatches/list-mismatches-cli.d.ts +3 -0
- package/dist/bin-list-mismatches/list-mismatches-cli.js +10 -0
- package/dist/bin-list-mismatches/list-mismatches.d.ts +2 -3
- package/dist/bin-list-mismatches/list-mismatches.js +75 -73
- package/dist/bin-set-semver-ranges/index.js +13 -23
- package/dist/bin-set-semver-ranges/set-semver-ranges-cli.d.ts +3 -0
- package/dist/bin-set-semver-ranges/set-semver-ranges-cli.js +10 -0
- package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +2 -3
- package/dist/bin-set-semver-ranges/set-semver-ranges.js +5 -29
- package/dist/constants.d.ts +31 -21
- package/dist/constants.js +27 -42
- package/dist/get-context/$R.d.ts +13 -0
- package/dist/get-context/$R.js +56 -0
- package/dist/get-context/get-all-instances.d.ts +3 -0
- package/dist/get-context/get-all-instances.js +8 -0
- package/dist/get-context/get-config/get-core-types.d.ts +36 -0
- package/dist/get-context/get-config/get-core-types.js +68 -0
- package/dist/get-context/get-config/get-custom-types.d.ts +4 -0
- package/dist/get-context/get-config/get-custom-types.js +28 -0
- package/dist/get-context/get-config/get-enabled-types.d.ts +4 -0
- package/dist/get-context/get-config/get-enabled-types.js +19 -0
- package/dist/get-context/get-config/index.d.ts +7 -0
- package/dist/get-context/get-config/index.js +115 -0
- package/dist/get-context/get-config/path-strategy/index.d.ts +8 -0
- package/dist/get-context/get-config/path-strategy/index.js +18 -0
- package/dist/get-context/get-config/path-strategy/lib/get-non-empty-string-prop.d.ts +4 -0
- package/dist/get-context/get-config/path-strategy/lib/get-non-empty-string-prop.js +11 -0
- package/dist/get-context/get-config/path-strategy/name-and-version-props.d.ts +2 -0
- package/dist/get-context/get-config/path-strategy/name-and-version-props.js +66 -0
- package/dist/get-context/get-config/path-strategy/name-and-version-string.d.ts +2 -0
- package/dist/get-context/get-config/path-strategy/name-and-version-string.js +60 -0
- package/dist/get-context/get-config/path-strategy/types.d.ts +15 -0
- package/dist/{types/index.js → get-context/get-config/path-strategy/types.js} +0 -0
- package/dist/get-context/get-config/path-strategy/version-string.d.ts +2 -0
- package/dist/get-context/get-config/path-strategy/version-string.js +60 -0
- package/dist/get-context/get-config/path-strategy/versions-by-name.d.ts +2 -0
- package/dist/get-context/get-config/path-strategy/versions-by-name.js +39 -0
- package/dist/get-context/get-config/schema/base-group.d.ts +6 -0
- package/dist/get-context/get-config/schema/base-group.js +9 -0
- package/dist/get-context/get-config/schema/index.d.ts +1276 -0
- package/dist/get-context/get-config/schema/index.js +104 -0
- package/dist/get-context/get-config/schema/paths.d.ts +89 -0
- package/dist/get-context/get-config/schema/paths.js +33 -0
- package/dist/get-context/get-config/schema/semver-group.d.ts +101 -0
- package/dist/get-context/get-config/schema/semver-group.js +50 -0
- package/dist/get-context/get-config/schema/semver-range.d.ts +2 -0
- package/dist/get-context/get-config/schema/semver-range.js +16 -0
- package/dist/get-context/get-config/schema/version-group.d.ts +151 -0
- package/dist/get-context/get-config/schema/version-group.js +31 -0
- package/dist/get-context/get-groups/get-semver-groups.d.ts +4 -0
- package/dist/get-context/get-groups/get-semver-groups.js +46 -0
- package/dist/get-context/get-groups/get-version-groups.d.ts +4 -0
- package/dist/get-context/get-groups/get-version-groups.js +72 -0
- package/dist/get-context/get-groups/semver-group/index.d.ts +29 -0
- package/dist/get-context/get-groups/semver-group/index.js +56 -0
- package/dist/get-context/get-groups/version-group/index.d.ts +29 -0
- package/dist/get-context/get-groups/version-group/index.js +23 -0
- package/dist/{bin-fix-mismatches/get-expected-version → get-context/get-groups/version-group/instance-group}/get-highest-version.d.ts +0 -0
- package/dist/{bin-fix-mismatches/get-expected-version → get-context/get-groups/version-group/instance-group}/get-highest-version.js +10 -10
- package/dist/get-context/get-groups/version-group/instance-group/index.d.ts +34 -0
- package/dist/get-context/get-groups/version-group/instance-group/index.js +80 -0
- package/dist/{lib/get-input/get-wrappers → get-context/get-package-json-files}/get-file-paths.d.ts +7 -5
- package/dist/get-context/get-package-json-files/get-file-paths.js +40 -0
- package/dist/get-context/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +4 -0
- package/dist/get-context/get-package-json-files/get-patterns/get-lerna-patterns.js +19 -0
- package/dist/get-context/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +4 -0
- package/dist/get-context/get-package-json-files/get-patterns/get-pnpm-patterns.js +23 -0
- package/dist/get-context/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +4 -0
- package/dist/get-context/get-package-json-files/get-patterns/get-yarn-patterns.js +20 -0
- package/dist/get-context/get-package-json-files/get-patterns/index.d.ts +11 -0
- package/dist/get-context/get-package-json-files/get-patterns/index.js +70 -0
- package/dist/get-context/get-package-json-files/get-patterns/lib/get-array-of-strings.d.ts +1 -0
- package/dist/get-context/get-package-json-files/get-patterns/lib/get-array-of-strings.js +10 -0
- package/dist/get-context/get-package-json-files/get-patterns/props.d.ts +6 -0
- package/dist/get-context/get-package-json-files/get-patterns/props.js +48 -0
- package/dist/get-context/get-package-json-files/get-patterns/read-json-safe.d.ts +12 -0
- package/dist/get-context/get-package-json-files/get-patterns/read-json-safe.js +20 -0
- package/dist/get-context/get-package-json-files/get-patterns/read-yaml-safe.d.ts +4 -0
- package/dist/get-context/get-package-json-files/get-patterns/read-yaml-safe.js +11 -0
- package/dist/get-context/get-package-json-files/index.d.ts +5 -0
- package/dist/get-context/get-package-json-files/index.js +16 -0
- package/dist/get-context/get-package-json-files/package-json-file/index.d.ts +51 -0
- package/dist/get-context/get-package-json-files/package-json-file/index.js +85 -0
- package/dist/get-context/get-package-json-files/package-json-file/instance.d.ts +25 -0
- package/dist/get-context/get-package-json-files/package-json-file/instance.js +62 -0
- package/dist/get-context/index.d.ts +21 -0
- package/dist/get-context/index.js +38 -0
- package/dist/lib/disk.d.ts +11 -11
- package/dist/lib/disk.js +0 -1
- package/dist/lib/error.d.ts +12 -0
- package/dist/lib/error.js +43 -0
- package/dist/lib/exit-if-invalid.d.ts +2 -0
- package/dist/lib/exit-if-invalid.js +10 -0
- package/dist/lib/is-semver.d.ts +2 -2
- package/dist/lib/is-semver.js +9 -9
- package/dist/lib/log.d.ts +6 -0
- package/dist/lib/log.js +40 -1
- package/dist/lib/newlines.d.ts +6 -0
- package/dist/lib/newlines.js +24 -0
- package/dist/lib/set-semver-range.d.ts +2 -2
- package/dist/lib/set-semver-range.js +1 -1
- package/dist/lib/show-help-on-error.d.ts +2 -0
- package/dist/lib/show-help-on-error.js +16 -0
- package/dist/lib/write-if-changed.d.ts +2 -0
- package/dist/lib/{get-input/get-wrappers/get-patterns/read-yaml-safe.js → write-if-changed.js} +14 -8
- package/dist/option.d.ts +6 -11
- package/dist/option.js +10 -18
- package/dist/types.d.ts +88 -0
- package/dist/{types/semver-group.js → types.js} +0 -0
- package/package.json +24 -23
- package/dist/bin-fix-mismatches/get-expected-version/get-pinned-version.d.ts +0 -2
- package/dist/bin-fix-mismatches/get-expected-version/get-pinned-version.js +0 -7
- package/dist/bin-fix-mismatches/get-expected-version/get-workspace-version.d.ts +0 -6
- package/dist/bin-fix-mismatches/get-expected-version/get-workspace-version.js +0 -17
- package/dist/bin-fix-mismatches/get-expected-version/index.d.ts +0 -3
- package/dist/bin-fix-mismatches/get-expected-version/index.js +0 -27
- package/dist/bin-lint-semver-ranges/list-semver-group-mismatches.d.ts +0 -2
- package/dist/bin-lint-semver-ranges/list-semver-group-mismatches.js +0 -12
- package/dist/bin-list/list-version-groups.d.ts +0 -10
- package/dist/bin-list/list-version-groups.js +0 -52
- package/dist/lib/collect.d.ts +0 -1
- package/dist/lib/collect.js +0 -7
- package/dist/lib/get-input/get-config.d.ts +0 -12
- package/dist/lib/get-input/get-config.js +0 -135
- package/dist/lib/get-input/get-instances.d.ts +0 -29
- package/dist/lib/get-input/get-instances.js +0 -172
- package/dist/lib/get-input/get-wrappers/get-file-paths.js +0 -50
- package/dist/lib/get-input/get-wrappers/get-patterns/get-lerna-patterns.d.ts +0 -3
- package/dist/lib/get-input/get-wrappers/get-patterns/get-lerna-patterns.js +0 -40
- package/dist/lib/get-input/get-wrappers/get-patterns/get-pnpm-patterns.d.ts +0 -3
- package/dist/lib/get-input/get-wrappers/get-patterns/get-pnpm-patterns.js +0 -45
- package/dist/lib/get-input/get-wrappers/get-patterns/get-yarn-patterns.d.ts +0 -3
- package/dist/lib/get-input/get-wrappers/get-patterns/get-yarn-patterns.js +0 -46
- package/dist/lib/get-input/get-wrappers/get-patterns/index.d.ts +0 -10
- package/dist/lib/get-input/get-wrappers/get-patterns/index.js +0 -79
- package/dist/lib/get-input/get-wrappers/get-patterns/props.d.ts +0 -7
- package/dist/lib/get-input/get-wrappers/get-patterns/props.js +0 -43
- package/dist/lib/get-input/get-wrappers/get-patterns/read-json-safe.d.ts +0 -4
- package/dist/lib/get-input/get-wrappers/get-patterns/read-json-safe.js +0 -41
- package/dist/lib/get-input/get-wrappers/get-patterns/read-yaml-safe.d.ts +0 -3
- package/dist/lib/get-input/get-wrappers/index.d.ts +0 -38
- package/dist/lib/get-input/get-wrappers/index.js +0 -40
- package/dist/lib/get-input/get-wrappers/readonly.d.ts +0 -4
- package/dist/lib/get-input/get-wrappers/readonly.js +0 -10
- package/dist/lib/get-input/get-wrappers/tap.d.ts +0 -15
- package/dist/lib/get-input/get-wrappers/tap.js +0 -56
- package/dist/lib/get-input/get-wrappers/try-catch.d.ts +0 -5
- package/dist/lib/get-input/get-wrappers/try-catch.js +0 -13
- package/dist/lib/get-input/index.d.ts +0 -20
- package/dist/lib/get-input/index.js +0 -32
- package/dist/lib/group-by.d.ts +0 -1
- package/dist/lib/group-by.js +0 -11
- package/dist/lib/write-if-changed/index.d.ts +0 -10
- package/dist/lib/write-if-changed/index.js +0 -25
- package/dist/lib/write-if-changed/set-newlines.d.ts +0 -4
- package/dist/lib/write-if-changed/set-newlines.js +0 -24
- package/dist/types/index.d.ts +0 -77
- package/dist/types/semver-group.d.ts +0 -30
- package/dist/types/version-group.d.ts +0 -35
- package/dist/types/version-group.js +0 -2
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.newlines = void 0;
|
|
4
|
+
var os_1 = require("os");
|
|
5
|
+
var CR = '\r';
|
|
6
|
+
var CRLF = '\r\n';
|
|
7
|
+
var LF = '\n';
|
|
8
|
+
exports.newlines = {
|
|
9
|
+
detect: function (source) {
|
|
10
|
+
var cr = source.split(CR).length;
|
|
11
|
+
var lf = source.split(LF).length;
|
|
12
|
+
var crlf = source.split(CRLF).length;
|
|
13
|
+
if (cr + lf === 0)
|
|
14
|
+
return os_1.EOL;
|
|
15
|
+
if (crlf === cr && crlf === lf)
|
|
16
|
+
return CRLF;
|
|
17
|
+
if (cr > lf)
|
|
18
|
+
return CR;
|
|
19
|
+
return LF;
|
|
20
|
+
},
|
|
21
|
+
fix: function (source, lineEnding) {
|
|
22
|
+
return source.replace(/\r\n|\n|\r/g, lineEnding);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function setSemverRange(semverRange:
|
|
1
|
+
import type { Syncpack } from '../types';
|
|
2
|
+
export declare function setSemverRange(semverRange: Syncpack.Config.SemverRange.Value, version: string): string;
|
|
@@ -13,7 +13,7 @@ function setSemverRange(semverRange, version) {
|
|
|
13
13
|
: version;
|
|
14
14
|
var from1stNumber = nextVersion.search(/[0-9]/);
|
|
15
15
|
var from1stDot = nextVersion.indexOf('.');
|
|
16
|
-
return semverRange === constants_1.
|
|
16
|
+
return semverRange === constants_1.RANGE.LOOSE
|
|
17
17
|
? "".concat(nextVersion.slice(from1stNumber, from1stDot), ".x.x")
|
|
18
18
|
: "".concat(semverRange).concat(nextVersion.slice(from1stNumber));
|
|
19
19
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
exports.__esModule = true;
|
|
10
|
+
exports.showHelpOnError = void 0;
|
|
11
|
+
var chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
function showHelpOnError(program) {
|
|
13
|
+
program.showHelpAfterError((0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n1. The following options were replaced in syncpack@9.0.0:\n{red\n -p, --prod include dependencies\n -d, --dev include devDependencies\n -P, --peer include peerDependencies\n -R, --resolutions include resolutions (yarn)\n -o, --overrides include overrides (npm)\n -O, --pnpmOverrides include overrides (pnpm)\n -w, --workspace include locally developed package versions\n}\n Instead use the new {green --types} option like so:\n\n {green --types dev,prod,peer}\n\n2. In .syncpackrc, the following options were replaced:\n{red\n \"dev\": true,\n \"overrides\": true,\n \"peer\": true,\n \"pnpmOverrides\": true,\n \"prod\": true,\n \"resolutions\": true,\n \"workspace\": true,\n}\n Instead use the new {green dependencyTypes} array like so:\n {green\n \"dependencyTypes\": [\"dev\", \"prod\", \"peer\"]\n}"], ["\n1. The following options were replaced in syncpack@9.0.0:\n{red\n -p, --prod include dependencies\n -d, --dev include devDependencies\n -P, --peer include peerDependencies\n -R, --resolutions include resolutions (yarn)\n -o, --overrides include overrides (npm)\n -O, --pnpmOverrides include overrides (pnpm)\n -w, --workspace include locally developed package versions\n}\n Instead use the new {green --types} option like so:\n\n {green --types dev,prod,peer}\n\n2. In .syncpackrc, the following options were replaced:\n{red\n \"dev\": true,\n \"overrides\": true,\n \"peer\": true,\n \"pnpmOverrides\": true,\n \"prod\": true,\n \"resolutions\": true,\n \"workspace\": true,\n}\n Instead use the new {green dependencyTypes} array like so:\n {green\n \"dependencyTypes\": [\"dev\", \"prod\", \"peer\"]\n}"]))));
|
|
14
|
+
}
|
|
15
|
+
exports.showHelpOnError = showHelpOnError;
|
|
16
|
+
var templateObject_1;
|
package/dist/lib/{get-input/get-wrappers/get-patterns/read-yaml-safe.js → write-if-changed.js}
RENAMED
|
@@ -23,12 +23,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
exports.__esModule = true;
|
|
26
|
-
exports.
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
function
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
exports.writeIfChanged = void 0;
|
|
27
|
+
var log = __importStar(require("./log"));
|
|
28
|
+
function writeIfChanged(ctx) {
|
|
29
|
+
ctx.packageJsonFiles.forEach(function (packageJsonFile) {
|
|
30
|
+
if (packageJsonFile.hasChanged()) {
|
|
31
|
+
packageJsonFile.write();
|
|
32
|
+
log.fixed(packageJsonFile.shortPath);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
log.skip(packageJsonFile.shortPath);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return ctx;
|
|
33
39
|
}
|
|
34
|
-
exports.
|
|
40
|
+
exports.writeIfChanged = writeIfChanged;
|
package/dist/option.d.ts
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { collect } from './lib/collect';
|
|
2
1
|
export declare const option: {
|
|
3
2
|
readonly config: readonly ["-c, --config <path>", "path to a syncpack config file"];
|
|
4
|
-
readonly dev: readonly ["-d, --dev", string];
|
|
5
3
|
readonly filter: readonly ["-f, --filter [pattern]", string];
|
|
6
|
-
readonly indent: readonly ["-i, --indent [value]",
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly prod: readonly ["-p, --prod", string];
|
|
11
|
-
readonly resolutions: readonly ["-R, --resolutions", string];
|
|
12
|
-
readonly semverRange: readonly ["-r, --semver-range <range>", "see supported ranges below. defaults to \"\"" | "see supported ranges below. defaults to \"*\"" | "see supported ranges below. defaults to \">\"" | "see supported ranges below. defaults to \">=\"" | "see supported ranges below. defaults to \".x\"" | "see supported ranges below. defaults to \"<\"" | "see supported ranges below. defaults to \"<=\"" | "see supported ranges below. defaults to \"^\"" | "see supported ranges below. defaults to \"~\""];
|
|
13
|
-
readonly source: readonly ["-s, --source [pattern]", "glob pattern for package.json files to read from", typeof collect, string[]];
|
|
14
|
-
readonly workspace: readonly ["-w, --workspace", "include locally developed package versions"];
|
|
4
|
+
readonly indent: readonly ["-i, --indent [value]", "override indentation. defaults to \" \""];
|
|
5
|
+
readonly semverRange: readonly ["-r, --semver-range <range>", "see supported ranges below. defaults to \"\""];
|
|
6
|
+
readonly source: readonly ["-s, --source [pattern]", "glob pattern for package.json files to read from", typeof collect];
|
|
7
|
+
readonly types: readonly ["-t, --types <names>", string];
|
|
15
8
|
};
|
|
9
|
+
declare function collect(value: string, previous: string[]): string[];
|
|
10
|
+
export {};
|
package/dist/option.js
CHANGED
|
@@ -10,29 +10,16 @@ exports.__esModule = true;
|
|
|
10
10
|
exports.option = void 0;
|
|
11
11
|
var chalk_1 = __importDefault(require("chalk"));
|
|
12
12
|
var constants_1 = require("./constants");
|
|
13
|
-
var collect_1 = require("./lib/collect");
|
|
14
13
|
exports.option = {
|
|
15
14
|
config: ['-c, --config <path>', 'path to a syncpack config file'],
|
|
16
|
-
dev: ['-d, --dev', (0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["include {yellow devDependencies}"], ["include {yellow devDependencies}"])))],
|
|
17
15
|
filter: [
|
|
18
16
|
'-f, --filter [pattern]',
|
|
19
|
-
(0, chalk_1["default"])(
|
|
17
|
+
(0, chalk_1["default"])(templateObject_1 || (templateObject_1 = __makeTemplateObject(["only include dependencies whose {yellow name} matches this regex"], ["only include dependencies whose {yellow name} matches this regex"]))),
|
|
20
18
|
],
|
|
21
19
|
indent: [
|
|
22
20
|
'-i, --indent [value]',
|
|
23
21
|
"override indentation. defaults to \"".concat(constants_1.DEFAULT_CONFIG.indent, "\""),
|
|
24
22
|
],
|
|
25
|
-
overrides: ['-o, --overrides', (0, chalk_1["default"])(templateObject_3 || (templateObject_3 = __makeTemplateObject(["include {yellow overrides} (npm)"], ["include {yellow overrides} (npm)"])))],
|
|
26
|
-
peer: ['-P, --peer', (0, chalk_1["default"])(templateObject_4 || (templateObject_4 = __makeTemplateObject(["include {yellow peerDependencies}"], ["include {yellow peerDependencies}"])))],
|
|
27
|
-
pnpmOverrides: [
|
|
28
|
-
'-O, --pnpmOverrides',
|
|
29
|
-
(0, chalk_1["default"])(templateObject_5 || (templateObject_5 = __makeTemplateObject(["include {yellow overrides} (pnpm)"], ["include {yellow overrides} (pnpm)"]))),
|
|
30
|
-
],
|
|
31
|
-
prod: ['-p, --prod', (0, chalk_1["default"])(templateObject_6 || (templateObject_6 = __makeTemplateObject(["include {yellow dependencies}"], ["include {yellow dependencies}"])))],
|
|
32
|
-
resolutions: [
|
|
33
|
-
'-R, --resolutions',
|
|
34
|
-
(0, chalk_1["default"])(templateObject_7 || (templateObject_7 = __makeTemplateObject(["include {yellow resolutions} (yarn)"], ["include {yellow resolutions} (yarn)"]))),
|
|
35
|
-
],
|
|
36
23
|
semverRange: [
|
|
37
24
|
'-r, --semver-range <range>',
|
|
38
25
|
"see supported ranges below. defaults to \"".concat(constants_1.DEFAULT_CONFIG.semverRange, "\""),
|
|
@@ -40,9 +27,14 @@ exports.option = {
|
|
|
40
27
|
source: [
|
|
41
28
|
'-s, --source [pattern]',
|
|
42
29
|
'glob pattern for package.json files to read from',
|
|
43
|
-
|
|
44
|
-
[],
|
|
30
|
+
collect,
|
|
45
31
|
],
|
|
46
|
-
|
|
32
|
+
types: [
|
|
33
|
+
'-t, --types <names>',
|
|
34
|
+
(0, chalk_1["default"])(templateObject_2 || (templateObject_2 = __makeTemplateObject(["only include dependencies matching these types (eg. {yellow types=dev,prod,myCustomType})"], ["only include dependencies matching these types (eg. {yellow types=dev,prod,myCustomType})"]))),
|
|
35
|
+
]
|
|
47
36
|
};
|
|
48
|
-
|
|
37
|
+
function collect(value, previous) {
|
|
38
|
+
return previous.concat([value]);
|
|
39
|
+
}
|
|
40
|
+
var templateObject_1, templateObject_2;
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { Context as TContext } from './get-context';
|
|
3
|
+
import type { CoreTypeName } from './get-context/get-config/get-core-types';
|
|
4
|
+
import type { Cli as cli, Private as privateSchema, Public as publicSchema, SyncpackRc as syncpackRc } from './get-context/get-config/schema';
|
|
5
|
+
import type * as paths from './get-context/get-config/schema/paths';
|
|
6
|
+
import type * as semverGroup from './get-context/get-config/schema/semver-group';
|
|
7
|
+
import type * as semverRange from './get-context/get-config/schema/semver-range';
|
|
8
|
+
import type * as versionGroup from './get-context/get-config/schema/version-group';
|
|
9
|
+
import type { SemverGroup as TSemverGroup } from './get-context/get-groups/semver-group';
|
|
10
|
+
import type { VersionGroup as TVersionGroup } from './get-context/get-groups/version-group';
|
|
11
|
+
import type { PackageJsonFile as TPackageJsonFile } from './get-context/get-package-json-files/package-json-file';
|
|
12
|
+
import type { Instance as TInstance } from './get-context/get-package-json-files/package-json-file/instance';
|
|
13
|
+
export declare namespace Syncpack {
|
|
14
|
+
type Ctx = TContext;
|
|
15
|
+
type Instance = TInstance;
|
|
16
|
+
type PackageJsonFile = TPackageJsonFile;
|
|
17
|
+
type PathDefinition = z.infer<typeof paths.pathDefinition>;
|
|
18
|
+
type TypeName = CoreTypeName | string;
|
|
19
|
+
type SemverGroup = TSemverGroup;
|
|
20
|
+
type VersionGroup = TVersionGroup;
|
|
21
|
+
namespace Config {
|
|
22
|
+
/** All config which can be set via the command line */
|
|
23
|
+
type Cli = z.infer<typeof cli>;
|
|
24
|
+
/** @private */
|
|
25
|
+
type Private = z.infer<typeof privateSchema>;
|
|
26
|
+
/** All config which can be set via the command line and/or .syncpackrc */
|
|
27
|
+
type Public = z.infer<typeof publicSchema>;
|
|
28
|
+
/** All valid contents of a .syncpackrc */
|
|
29
|
+
type SyncpackRc = z.infer<typeof syncpackRc>;
|
|
30
|
+
namespace Paths {
|
|
31
|
+
type T = typeof paths;
|
|
32
|
+
/** Direct syncpack where and how to find and fix versions elsewhere */
|
|
33
|
+
export type ConfigByName = z.infer<T['pathConfigByName']>;
|
|
34
|
+
export {};
|
|
35
|
+
}
|
|
36
|
+
namespace SemverRange {
|
|
37
|
+
/**
|
|
38
|
+
* Aliases for semver range formats supported by syncpack
|
|
39
|
+
*
|
|
40
|
+
* Defaults to `""` to ensure that exact dependency versions are used
|
|
41
|
+
* instead of loose ranges, but this can be overridden in your config file
|
|
42
|
+
* or via the `--semver-range` command line option.
|
|
43
|
+
*
|
|
44
|
+
* | Supported Range | Example |
|
|
45
|
+
* | --------------- | --------: |
|
|
46
|
+
* | `"<"` | `<1.4.2` |
|
|
47
|
+
* | `"<="` | `<=1.4.2` |
|
|
48
|
+
* | `""` | `1.4.2` |
|
|
49
|
+
* | `"~"` | `~1.4.2` |
|
|
50
|
+
* | `"^"` | `^1.4.2` |
|
|
51
|
+
* | `">="` | `>=1.4.2` |
|
|
52
|
+
* | `">"` | `>1.4.2` |
|
|
53
|
+
* | `"*"` | `*` |
|
|
54
|
+
*
|
|
55
|
+
* @default ""
|
|
56
|
+
*/
|
|
57
|
+
type Value = z.infer<typeof semverRange.value>;
|
|
58
|
+
}
|
|
59
|
+
namespace SemverGroup {
|
|
60
|
+
type T = typeof semverGroup;
|
|
61
|
+
/** Let dependencies in this group do whatever they like */
|
|
62
|
+
export type Ignored = z.infer<T['ignored']>;
|
|
63
|
+
/** Ensure the version range of dependencies in this group is always this */
|
|
64
|
+
export type WithRange = z.infer<T['withRange']>;
|
|
65
|
+
/** @private */
|
|
66
|
+
export type Default = z.infer<T['base']>;
|
|
67
|
+
/** Every valid type of SemverGroup */
|
|
68
|
+
export type Any = z.infer<T['any']>;
|
|
69
|
+
export {};
|
|
70
|
+
}
|
|
71
|
+
namespace VersionGroup {
|
|
72
|
+
type T = typeof versionGroup;
|
|
73
|
+
/** Partion these dependencies and make sure they match internally */
|
|
74
|
+
export type Standard = z.infer<T['standard']>;
|
|
75
|
+
/** Prevent dependencies in this group from being added to the project */
|
|
76
|
+
export type Banned = z.infer<T['banned']>;
|
|
77
|
+
/** Let dependencies in this group do whatever they like */
|
|
78
|
+
export type Ignored = z.infer<T['ignored']>;
|
|
79
|
+
/** Override the version of dependencies in this group to always be this */
|
|
80
|
+
export type Pinned = z.infer<T['pinned']>;
|
|
81
|
+
/** @private */
|
|
82
|
+
export type Default = z.infer<T['base']>;
|
|
83
|
+
/** Every valid type of VersionGroup */
|
|
84
|
+
export type Any = z.infer<T['any']>;
|
|
85
|
+
export {};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "syncpack",
|
|
3
3
|
"description": "Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "9.0.0",
|
|
5
5
|
"author": "Jamie Mason <jamie@foldleft.io> (https://github.com/JamieMason)",
|
|
6
6
|
"bin": {
|
|
7
7
|
"syncpack": "dist/bin.js",
|
|
@@ -26,33 +26,34 @@
|
|
|
26
26
|
"Tom Fletcher (https://github.com/tom-fletcher)"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"@mobily/ts-belt": "3.13.1",
|
|
29
30
|
"chalk": "4.1.2",
|
|
30
|
-
"commander": "
|
|
31
|
-
"cosmiconfig": "
|
|
32
|
-
"expect-more": "1.
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"minimatch": "5.1.0",
|
|
31
|
+
"commander": "10.0.0",
|
|
32
|
+
"cosmiconfig": "8.0.0",
|
|
33
|
+
"expect-more": "1.3.0",
|
|
34
|
+
"fs-extra": "11.1.0",
|
|
35
|
+
"glob": "8.1.0",
|
|
36
|
+
"minimatch": "6.1.6",
|
|
37
37
|
"read-yaml-file": "2.1.0",
|
|
38
|
-
"semver": "7.3.8"
|
|
38
|
+
"semver": "7.3.8",
|
|
39
|
+
"zod": "3.20.6"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@types/fs-extra": "
|
|
42
|
-
"@types/glob": "8.0.
|
|
43
|
-
"@types/jest": "29.
|
|
44
|
-
"@types/node": "18.11.
|
|
42
|
+
"@types/fs-extra": "11.0.1",
|
|
43
|
+
"@types/glob": "8.0.1",
|
|
44
|
+
"@types/jest": "29.4.0",
|
|
45
|
+
"@types/node": "18.11.19",
|
|
45
46
|
"@types/semver": "7.3.13",
|
|
46
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
47
|
-
"@typescript-eslint/parser": "5.
|
|
48
|
-
"eslint": "8.
|
|
49
|
-
"eslint-plugin-import": "2.
|
|
50
|
-
"expect-more-jest": "5.
|
|
51
|
-
"jest": "29.
|
|
52
|
-
"prettier": "2.
|
|
53
|
-
"rimraf": "
|
|
54
|
-
"ts-jest": "29.0.
|
|
55
|
-
"typescript": "4.
|
|
47
|
+
"@typescript-eslint/eslint-plugin": "5.51.0",
|
|
48
|
+
"@typescript-eslint/parser": "5.51.0",
|
|
49
|
+
"eslint": "8.33.0",
|
|
50
|
+
"eslint-plugin-import": "2.27.5",
|
|
51
|
+
"expect-more-jest": "5.5.0",
|
|
52
|
+
"jest": "29.4.1",
|
|
53
|
+
"prettier": "2.8.3",
|
|
54
|
+
"rimraf": "4.1.2",
|
|
55
|
+
"ts-jest": "29.0.5",
|
|
56
|
+
"typescript": "4.9.5"
|
|
56
57
|
},
|
|
57
58
|
"engines": {
|
|
58
59
|
"node": ">=10"
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SourceWrapper } from '../../lib/get-input/get-wrappers';
|
|
2
|
-
/**
|
|
3
|
-
* If the dependency `name` is a package developed locally in this monorepo, we
|
|
4
|
-
* should use its version as the source of truth.
|
|
5
|
-
*/
|
|
6
|
-
export declare function getWorkspaceVersion(name: string, wrappers: SourceWrapper[]): string;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getWorkspaceVersion = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* If the dependency `name` is a package developed locally in this monorepo, we
|
|
6
|
-
* should use its version as the source of truth.
|
|
7
|
-
*/
|
|
8
|
-
function getWorkspaceVersion(name, wrappers) {
|
|
9
|
-
var wrapper = wrappers.find(function (_a) {
|
|
10
|
-
var contents = _a.contents;
|
|
11
|
-
return contents.name === name;
|
|
12
|
-
});
|
|
13
|
-
if (!wrapper)
|
|
14
|
-
return '';
|
|
15
|
-
return wrapper.contents.version || '';
|
|
16
|
-
}
|
|
17
|
-
exports.getWorkspaceVersion = getWorkspaceVersion;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { ProgramInput } from '../../lib/get-input';
|
|
2
|
-
import type { IndexedBannedVersionGroup, IndexedPinnedVersionGroup, IndexedVersionGroup } from '../../lib/get-input/get-instances';
|
|
3
|
-
export declare function getExpectedVersion(name: string, versionGroup: Pick<IndexedBannedVersionGroup, 'isBanned' | 'instances'> | Pick<IndexedPinnedVersionGroup, 'instances' | 'pinVersion'> | Pick<IndexedVersionGroup, 'instances'>, input: Pick<ProgramInput, 'workspace' | 'wrappers'>): string | undefined;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.getExpectedVersion = void 0;
|
|
4
|
-
var get_highest_version_1 = require("./get-highest-version");
|
|
5
|
-
var get_pinned_version_1 = require("./get-pinned-version");
|
|
6
|
-
var get_workspace_version_1 = require("./get-workspace-version");
|
|
7
|
-
function getExpectedVersion(name, versionGroup, input) {
|
|
8
|
-
if ('isBanned' in versionGroup && versionGroup.isBanned === true) {
|
|
9
|
-
// remove this dependency
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
if ('pinVersion' in versionGroup && versionGroup.pinVersion) {
|
|
13
|
-
return (0, get_pinned_version_1.getPinnedVersion)(versionGroup);
|
|
14
|
-
}
|
|
15
|
-
if (input.workspace === true) {
|
|
16
|
-
var workspaceVersion = (0, get_workspace_version_1.getWorkspaceVersion)(name, input.wrappers);
|
|
17
|
-
if (workspaceVersion)
|
|
18
|
-
return workspaceVersion;
|
|
19
|
-
}
|
|
20
|
-
return (0, get_highest_version_1.getHighestVersion)(versionGroup.instances
|
|
21
|
-
.filter(function (instance) { return instance.name === name; })
|
|
22
|
-
.map(function (_a) {
|
|
23
|
-
var version = _a.version;
|
|
24
|
-
return version;
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
exports.getExpectedVersion = getExpectedVersion;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
exports.__esModule = true;
|
|
3
|
-
exports.listSemverGroupMismatches = void 0;
|
|
4
|
-
var set_semver_range_1 = require("../lib/set-semver-range");
|
|
5
|
-
var sort_by_name_1 = require("../lib/sort-by-name");
|
|
6
|
-
function listSemverGroupMismatches(semverGroup) {
|
|
7
|
-
return semverGroup.instances.sort(sort_by_name_1.sortByName).filter(function (_a) {
|
|
8
|
-
var version = _a.version;
|
|
9
|
-
return version !== (0, set_semver_range_1.setSemverRange)(semverGroup.range, version);
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
exports.listSemverGroupMismatches = listSemverGroupMismatches;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { AnyIndexedVersionGroup, Instance } from '../lib/get-input/get-instances';
|
|
2
|
-
export interface ListItem {
|
|
3
|
-
hasMismatches: boolean;
|
|
4
|
-
instances: Instance[];
|
|
5
|
-
isBanned: boolean;
|
|
6
|
-
isIgnored: boolean;
|
|
7
|
-
name: string;
|
|
8
|
-
uniques: string[];
|
|
9
|
-
}
|
|
10
|
-
export declare function listVersionGroups(versionGroup: AnyIndexedVersionGroup): ListItem[];
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
exports.__esModule = true;
|
|
19
|
-
exports.listVersionGroups = void 0;
|
|
20
|
-
var expect_more_1 = require("expect-more");
|
|
21
|
-
var group_by_1 = require("../lib/group-by");
|
|
22
|
-
var sort_by_name_1 = require("../lib/sort-by-name");
|
|
23
|
-
function listVersionGroups(versionGroup) {
|
|
24
|
-
var instances = versionGroup.instances;
|
|
25
|
-
var instancesByName = (0, group_by_1.groupBy)('name', instances.sort(sort_by_name_1.sortByName));
|
|
26
|
-
return Object.entries(instancesByName).map(function (_a) {
|
|
27
|
-
var _b = __read(_a, 2), name = _b[0], instances = _b[1];
|
|
28
|
-
var pinnedVersion = 'pinVersion' in versionGroup ? versionGroup.pinVersion : '';
|
|
29
|
-
var hasPinnedVersion = (0, expect_more_1.isNonEmptyString)(pinnedVersion);
|
|
30
|
-
var versions = instances.map(function (_a) {
|
|
31
|
-
var version = _a.version;
|
|
32
|
-
return version;
|
|
33
|
-
});
|
|
34
|
-
var uniques = Array.from(new Set(versions));
|
|
35
|
-
var isBanned = 'isBanned' in versionGroup && versionGroup.isBanned === true;
|
|
36
|
-
var isIgnored = 'isIgnored' in versionGroup && versionGroup.isIgnored === true;
|
|
37
|
-
var hasMismatches = isBanned ||
|
|
38
|
-
versions.some(function (version, i) {
|
|
39
|
-
return (hasPinnedVersion && version !== pinnedVersion) ||
|
|
40
|
-
(i > 0 && version !== versions[i - 1]);
|
|
41
|
-
});
|
|
42
|
-
return {
|
|
43
|
-
hasMismatches: hasMismatches,
|
|
44
|
-
instances: instances,
|
|
45
|
-
isBanned: isBanned,
|
|
46
|
-
isIgnored: isIgnored,
|
|
47
|
-
name: name,
|
|
48
|
-
uniques: uniques
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
exports.listVersionGroups = listVersionGroups;
|
package/dist/lib/collect.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function collect(value: string, previous: string[]): string[];
|
package/dist/lib/collect.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { SyncpackConfig } from '../../types';
|
|
2
|
-
import type { Disk } from '../disk';
|
|
3
|
-
/**
|
|
4
|
-
* Take all configuration from the command line and config file, combine it, and
|
|
5
|
-
* set defaults for anything which hasn't been defined.
|
|
6
|
-
*
|
|
7
|
-
* @param rcFile Optional configuration file contents
|
|
8
|
-
* @param program Optional command line options
|
|
9
|
-
*/
|
|
10
|
-
export declare const getConfig: (disk: Disk, program: Partial<SyncpackConfig & {
|
|
11
|
-
configPath: string | undefined;
|
|
12
|
-
}>) => SyncpackConfig;
|