syncpack 11.2.1 → 12.0.0-alpha.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/dist/bin-fix-mismatches/fix-mismatches.d.ts +15 -3
- package/dist/bin-fix-mismatches/fix-mismatches.js +119 -35
- package/dist/bin-fix-mismatches/index.js +12 -32
- package/dist/bin-format/format.d.ts +11 -3
- package/dist/bin-format/format.js +46 -61
- package/dist/bin-format/index.js +11 -31
- package/dist/bin-lint/index.js +8 -28
- package/dist/bin-lint/lint.d.ts +10 -3
- package/dist/bin-lint/lint.js +11 -35
- package/dist/bin-lint-semver-ranges/index.js +11 -39
- package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +15 -3
- package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +93 -34
- package/dist/bin-list/index.js +11 -31
- package/dist/bin-list/list.d.ts +11 -3
- package/dist/bin-list/list.js +120 -34
- package/dist/bin-list-mismatches/index.js +11 -31
- package/dist/bin-list-mismatches/list-mismatches.d.ts +18 -3
- package/dist/bin-list-mismatches/list-mismatches.js +253 -34
- package/dist/bin-prompt/index.js +15 -31
- package/dist/bin-prompt/prompt.d.ts +10 -3
- package/dist/bin-prompt/prompt.js +82 -33
- package/dist/bin-set-semver-ranges/index.js +12 -40
- package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +10 -3
- package/dist/bin-set-semver-ranges/set-semver-ranges.js +49 -35
- package/dist/bin-update/effects.d.ts +45 -5
- package/dist/bin-update/effects.js +214 -128
- package/dist/bin-update/index.js +4 -27
- package/dist/bin-update/update.d.ts +5 -3
- package/dist/bin-update/update.js +51 -37
- package/dist/bin.js +0 -1
- package/dist/config/get-custom-types.d.ts +11 -1
- package/dist/config/get-custom-types.js +26 -21
- package/dist/config/get-enabled-types.d.ts +7 -8
- package/dist/config/get-enabled-types.js +63 -73
- package/dist/config/get-indent.js +1 -1
- package/dist/config/tag.d.ts +1 -1
- package/dist/config/tag.js +2 -25
- package/dist/config/types.d.ts +8 -9
- package/dist/constants.d.ts +4 -1
- package/dist/constants.js +4 -2
- package/dist/create-program/effects.d.ts +51 -29
- package/dist/error-handlers/default-error-handlers.d.ts +38 -2
- package/dist/error-handlers/default-error-handlers.js +80 -37
- package/dist/get-context/index.d.ts +12 -6
- package/dist/get-context/index.js +13 -30
- package/dist/get-context/lib/key-by.d.ts +6 -0
- package/dist/get-context/lib/key-by.js +16 -0
- package/dist/get-instances/index.d.ts +14 -0
- package/dist/get-instances/index.js +46 -0
- package/dist/get-instances/instance.d.ts +25 -0
- package/dist/get-instances/instance.js +20 -0
- package/dist/get-package-json-files/get-file-paths.d.ts +6 -7
- package/dist/get-package-json-files/get-file-paths.js +10 -33
- package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +3 -4
- package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +6 -32
- package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +3 -4
- package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +6 -32
- package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +3 -4
- package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +11 -40
- package/dist/get-package-json-files/get-patterns/index.d.ts +3 -5
- package/dist/get-package-json-files/get-patterns/index.js +6 -33
- package/dist/get-package-json-files/index.d.ts +6 -5
- package/dist/get-package-json-files/index.js +4 -28
- package/dist/get-package-json-files/package-json-file.d.ts +16 -16
- package/dist/get-package-json-files/package-json-file.js +13 -18
- package/dist/guards/can-add-to-group.d.ts +5 -4
- package/dist/guards/can-add-to-group.js +8 -4
- package/dist/guards/is-semver.d.ts +1 -1
- package/dist/guards/is-semver.js +1 -1
- package/dist/guards/is-valid-semver-range.d.ts +1 -1
- package/dist/guards/is-valid-semver-range.js +1 -1
- package/dist/io/ask-for-choice.d.ts +14 -0
- package/dist/io/ask-for-choice.js +22 -0
- package/dist/io/ask-for-input.d.ts +13 -0
- package/dist/io/ask-for-input.js +19 -0
- package/dist/io/exit-if-invalid.d.ts +4 -0
- package/dist/io/exit-if-invalid.js +13 -0
- package/dist/io/glob-sync.d.ts +11 -0
- package/dist/io/glob-sync.js +19 -0
- package/dist/io/index.d.ts +28 -0
- package/dist/{env/exit-if-invalid.js → io/index.js} +27 -9
- package/dist/io/read-config-file-sync.d.ts +7 -0
- package/dist/io/read-config-file-sync.js +26 -0
- package/dist/io/read-file-sync.d.ts +12 -0
- package/dist/io/read-file-sync.js +14 -0
- package/dist/io/read-json-file-sync.d.ts +30 -0
- package/dist/io/read-json-file-sync.js +25 -0
- package/dist/io/read-yaml-file-sync.d.ts +12 -0
- package/dist/io/read-yaml-file-sync.js +14 -0
- package/dist/io/write-file-sync.d.ts +12 -0
- package/dist/io/write-file-sync.js +15 -0
- package/dist/{env → io}/write-if-changed.d.ts +4 -4
- package/dist/io/write-if-changed.js +45 -0
- package/dist/lib/get-group-header.d.ts +10 -0
- package/dist/lib/get-group-header.js +31 -0
- package/dist/lib/get.d.ts +11 -0
- package/dist/lib/get.js +40 -0
- package/dist/lib/pad-start.d.ts +1 -0
- package/dist/lib/pad-start.js +7 -0
- package/dist/lib/ring-buffer.d.ts +10 -0
- package/dist/lib/ring-buffer.js +22 -0
- package/dist/lib/set-semver-range.d.ts +1 -1
- package/dist/lib/set-semver-range.js +7 -11
- package/dist/lib/with-logger.d.ts +2 -0
- package/dist/lib/with-logger.js +35 -0
- package/dist/option.d.ts +0 -1
- package/dist/option.js +0 -4
- package/dist/report.d.ts +166 -0
- package/dist/report.js +67 -0
- package/dist/schema.json +51 -20
- package/dist/semver-group/create-semver-groups.d.ts +4 -0
- package/dist/semver-group/create-semver-groups.js +77 -0
- package/dist/semver-group/disabled.d.ts +26 -0
- package/dist/semver-group/disabled.js +34 -0
- package/dist/semver-group/filtered-out.d.ts +27 -0
- package/dist/semver-group/filtered-out.js +40 -0
- package/dist/semver-group/ignored.d.ts +22 -0
- package/dist/semver-group/ignored.js +30 -0
- package/dist/semver-group/index.d.ts +22 -0
- package/dist/semver-group/index.js +10 -0
- package/dist/semver-group/with-range.d.ts +22 -0
- package/dist/semver-group/with-range.js +57 -0
- package/dist/specifier/alias.d.ts +15 -0
- package/dist/specifier/alias.js +25 -0
- package/dist/specifier/base.d.ts +39 -0
- package/dist/specifier/base.js +38 -0
- package/dist/specifier/delete.d.ts +15 -0
- package/dist/specifier/delete.js +16 -0
- package/dist/specifier/file.d.ts +6 -0
- package/dist/specifier/file.js +12 -0
- package/dist/specifier/hosted-git.d.ts +13 -0
- package/dist/specifier/hosted-git.js +27 -0
- package/dist/specifier/index.d.ts +27 -0
- package/dist/specifier/index.js +62 -0
- package/dist/specifier/lib/non-semver-error.d.ts +11 -0
- package/dist/specifier/lib/non-semver-error.js +10 -0
- package/dist/specifier/lib/parse-specifier.d.ts +14 -0
- package/dist/specifier/lib/parse-specifier.js +23 -0
- package/dist/specifier/lib/specific-registry-result.d.ts +9 -0
- package/dist/specifier/lib/specific-registry-result.js +2 -0
- package/dist/specifier/range.d.ts +18 -0
- package/dist/specifier/range.js +26 -0
- package/dist/specifier/tag.d.ts +9 -0
- package/dist/specifier/tag.js +15 -0
- package/dist/specifier/unsupported.d.ts +5 -0
- package/dist/specifier/unsupported.js +12 -0
- package/dist/specifier/url.d.ts +6 -0
- package/dist/specifier/url.js +13 -0
- package/dist/specifier/version.d.ts +18 -0
- package/dist/specifier/version.js +26 -0
- package/dist/specifier/workspace-protocol.d.ts +17 -0
- package/dist/specifier/workspace-protocol.js +38 -0
- package/dist/strategy/lib/get-non-empty-string-prop.d.ts +2 -2
- package/dist/strategy/lib/get-non-empty-string-prop.js +4 -5
- package/dist/strategy/name-and-version-props.d.ts +4 -4
- package/dist/strategy/name-and-version-props.js +32 -21
- package/dist/strategy/named-version-string.d.ts +4 -4
- package/dist/strategy/named-version-string.js +22 -24
- package/dist/strategy/unnamed-version-string.d.ts +4 -4
- package/dist/strategy/unnamed-version-string.js +20 -21
- package/dist/strategy/versions-by-name.d.ts +4 -4
- package/dist/strategy/versions-by-name.js +9 -11
- package/dist/version-group/banned.d.ts +17 -0
- package/dist/version-group/banned.js +32 -0
- package/dist/version-group/create-version-groups.d.ts +4 -0
- package/dist/version-group/create-version-groups.js +107 -0
- package/dist/version-group/filtered-out.d.ts +19 -0
- package/dist/version-group/filtered-out.js +34 -0
- package/dist/version-group/ignored.d.ts +17 -0
- package/dist/version-group/ignored.js +27 -0
- package/dist/version-group/index.d.ts +28 -0
- package/dist/version-group/index.js +10 -0
- package/dist/version-group/lib/get-highest-version.d.ts +6 -0
- package/dist/version-group/lib/get-highest-version.js +12 -0
- package/dist/version-group/lib/get-lowest-version.d.ts +6 -0
- package/dist/version-group/lib/get-lowest-version.js +12 -0
- package/dist/version-group/lib/get-preferred-version.d.ts +5 -0
- package/dist/{get-version-groups/lib/compare-semver.js → version-group/lib/get-preferred-version.js} +14 -2
- package/dist/version-group/lib/group-by.d.ts +5 -0
- package/dist/{get-version-groups → version-group}/lib/group-by.js +4 -0
- package/dist/version-group/pinned.d.ts +17 -0
- package/dist/version-group/pinned.js +30 -0
- package/dist/version-group/same-range.d.ts +19 -0
- package/dist/version-group/same-range.js +108 -0
- package/dist/version-group/snapped-to.d.ts +17 -0
- package/dist/version-group/snapped-to.js +83 -0
- package/dist/version-group/standard.d.ts +18 -0
- package/dist/version-group/standard.js +131 -0
- package/package.json +24 -23
- package/dist/bin-fix-mismatches/effects.d.ts +0 -2
- package/dist/bin-fix-mismatches/effects.js +0 -112
- package/dist/bin-format/format-cli.d.ts +0 -4
- package/dist/bin-format/format-cli.js +0 -42
- package/dist/bin-lint-semver-ranges/effects.d.ts +0 -2
- package/dist/bin-lint-semver-ranges/effects.js +0 -70
- package/dist/bin-list/effects.d.ts +0 -2
- package/dist/bin-list/effects.js +0 -114
- package/dist/bin-list-mismatches/effects.d.ts +0 -2
- package/dist/bin-list-mismatches/effects.js +0 -136
- package/dist/bin-prompt/effects.d.ts +0 -2
- package/dist/bin-prompt/effects.js +0 -110
- package/dist/bin-set-semver-ranges/effects.d.ts +0 -2
- package/dist/bin-set-semver-ranges/effects.js +0 -61
- package/dist/config/get-semver-range.d.ts +0 -3
- package/dist/config/get-semver-range.js +0 -12
- package/dist/create-program/semver-ranges.d.ts +0 -7
- package/dist/create-program/semver-ranges.js +0 -55
- package/dist/create-program/versions.d.ts +0 -7
- package/dist/create-program/versions.js +0 -70
- package/dist/env/create-env.d.ts +0 -21
- package/dist/env/create-env.js +0 -81
- package/dist/env/default-env.d.ts +0 -18
- package/dist/env/default-env.js +0 -100
- package/dist/env/exit-if-invalid.d.ts +0 -4
- package/dist/env/tags.d.ts +0 -58
- package/dist/env/tags.js +0 -50
- package/dist/env/write-if-changed.js +0 -73
- package/dist/error-handlers/create-error-handlers.d.ts +0 -20
- package/dist/error-handlers/create-error-handlers.js +0 -60
- package/dist/get-package-json-files/get-patterns/read-json-safe.d.ts +0 -23
- package/dist/get-package-json-files/get-patterns/read-json-safe.js +0 -43
- package/dist/get-semver-groups/filtered-out.d.ts +0 -19
- package/dist/get-semver-groups/filtered-out.js +0 -55
- package/dist/get-semver-groups/ignored.d.ts +0 -17
- package/dist/get-semver-groups/ignored.js +0 -48
- package/dist/get-semver-groups/index.d.ts +0 -84
- package/dist/get-semver-groups/index.js +0 -139
- package/dist/get-semver-groups/with-range.d.ts +0 -18
- package/dist/get-semver-groups/with-range.js +0 -79
- package/dist/get-version-groups/banned.d.ts +0 -17
- package/dist/get-version-groups/banned.js +0 -50
- package/dist/get-version-groups/filtered-out.d.ts +0 -19
- package/dist/get-version-groups/filtered-out.js +0 -57
- package/dist/get-version-groups/ignored.d.ts +0 -17
- package/dist/get-version-groups/ignored.js +0 -50
- package/dist/get-version-groups/index.d.ts +0 -187
- package/dist/get-version-groups/index.js +0 -246
- package/dist/get-version-groups/lib/compare-semver.d.ts +0 -1
- package/dist/get-version-groups/lib/get-highest-version.d.ts +0 -2
- package/dist/get-version-groups/lib/get-highest-version.js +0 -13
- package/dist/get-version-groups/lib/get-lowest-version.d.ts +0 -2
- package/dist/get-version-groups/lib/get-lowest-version.js +0 -13
- package/dist/get-version-groups/lib/get-unique-specifiers.d.ts +0 -2
- package/dist/get-version-groups/lib/get-unique-specifiers.js +0 -11
- package/dist/get-version-groups/lib/group-by.d.ts +0 -1
- package/dist/get-version-groups/pinned.d.ts +0 -17
- package/dist/get-version-groups/pinned.js +0 -66
- package/dist/get-version-groups/same-range.d.ts +0 -17
- package/dist/get-version-groups/same-range.js +0 -73
- package/dist/get-version-groups/snapped-to.d.ts +0 -17
- package/dist/get-version-groups/snapped-to.js +0 -78
- package/dist/get-version-groups/standard.d.ts +0 -18
- package/dist/get-version-groups/standard.js +0 -109
- package/dist/guards/is-loose-semver.d.ts +0 -2
- package/dist/guards/is-loose-semver.js +0 -10
- package/dist/instance/create.d.ts +0 -4
- package/dist/instance/create.js +0 -142
- package/dist/instance/index.d.ts +0 -122
- package/dist/instance/index.js +0 -154
- package/dist/lib/$R.d.ts +0 -12
- package/dist/lib/$R.js +0 -34
- package/dist/lib/log-group-header.d.ts +0 -6
- package/dist/lib/log-group-header.js +0 -34
- package/dist/lib/log-verbose.d.ts +0 -1
- package/dist/lib/log-verbose.js +0 -24
- package/dist/lib/split-name-and-version.d.ts +0 -5
- package/dist/lib/split-name-and-version.js +0 -12
- /package/dist/{get-version-groups → version-group}/lib/clean.d.ts +0 -0
- /package/dist/{get-version-groups → version-group}/lib/clean.js +0 -0
- /package/dist/{get-version-groups → version-group}/lib/delete.d.ts +0 -0
- /package/dist/{get-version-groups → version-group}/lib/delete.js +0 -0
- /package/dist/{get-version-groups → version-group}/lib/get-range-score.d.ts +0 -0
- /package/dist/{get-version-groups → version-group}/lib/get-range-score.js +0 -0
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
2
|
import { type CliConfig } from '../config/types';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
3
|
+
import type { ErrorHandlers } from '../error-handlers/default-error-handlers';
|
|
4
|
+
import type { Ctx } from '../get-context';
|
|
5
|
+
import type { Io } from '../io';
|
|
6
|
+
interface Input {
|
|
7
|
+
io: Io;
|
|
8
|
+
cli: Partial<CliConfig>;
|
|
9
|
+
errorHandlers?: ErrorHandlers;
|
|
10
|
+
}
|
|
11
|
+
export declare function lintSemverRanges({ io, cli, errorHandlers }: Input): Effect.Effect<never, never, unknown>;
|
|
12
|
+
/** Exported to be reused by `syncpack lint` */
|
|
13
|
+
export declare function pipeline(ctx: Ctx, io: Io, errorHandlers: ErrorHandlers): Effect.Effect<never, never, Ctx>;
|
|
14
|
+
export declare function logSemverGroupsDisabledWarning(): Effect.Effect<never, never, void>;
|
|
15
|
+
export declare function logIgnoredSize(amount: number): Effect.Effect<never, never, void>;
|
|
16
|
+
export {};
|
|
@@ -1,42 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
4
|
};
|
|
25
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.lintSemverRanges = void 0;
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
6
|
+
exports.logIgnoredSize = exports.logSemverGroupsDisabledWarning = exports.pipeline = exports.lintSemverRanges = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const effect_1 = require("effect");
|
|
9
|
+
const os_1 = require("os");
|
|
10
|
+
const is_non_empty_array_1 = require("tightrope/guard/is-non-empty-array");
|
|
30
11
|
const tag_1 = require("../config/tag");
|
|
31
|
-
const
|
|
32
|
-
const create_env_1 = require("../env/create-env");
|
|
33
|
-
const exit_if_invalid_1 = require("../env/exit-if-invalid");
|
|
34
|
-
const tags_1 = require("../env/tags");
|
|
35
|
-
const create_error_handlers_1 = require("../error-handlers/create-error-handlers");
|
|
12
|
+
const constants_1 = require("../constants");
|
|
36
13
|
const default_error_handlers_1 = require("../error-handlers/default-error-handlers");
|
|
37
14
|
const get_context_1 = require("../get-context");
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
15
|
+
const get_instances_1 = require("../get-instances");
|
|
16
|
+
const io_1 = require("../io");
|
|
17
|
+
const exit_if_invalid_1 = require("../io/exit-if-invalid");
|
|
18
|
+
const get_group_header_1 = require("../lib/get-group-header");
|
|
19
|
+
const pad_start_1 = require("../lib/pad-start");
|
|
20
|
+
const with_logger_1 = require("../lib/with-logger");
|
|
21
|
+
function lintSemverRanges({ io, cli, errorHandlers = default_error_handlers_1.defaultErrorHandlers }) {
|
|
22
|
+
return (0, effect_1.pipe)((0, get_context_1.getContext)({ io, cli, errorHandlers }), effect_1.Effect.flatMap((ctx) => pipeline(ctx, io, errorHandlers)), effect_1.Effect.flatMap(exit_if_invalid_1.exitIfInvalid), effect_1.Effect.provide((0, effect_1.pipe)(effect_1.Context.empty(), effect_1.Context.add(tag_1.CliConfigTag, cli), effect_1.Context.add(io_1.IoTag, io))), with_logger_1.withLogger);
|
|
41
23
|
}
|
|
42
24
|
exports.lintSemverRanges = lintSemverRanges;
|
|
25
|
+
/** Exported to be reused by `syncpack lint` */
|
|
26
|
+
function pipeline(ctx, io, errorHandlers) {
|
|
27
|
+
return effect_1.Effect.gen(function* ($) {
|
|
28
|
+
// no semver groups have been configured, they are disabled by default
|
|
29
|
+
if (!(0, is_non_empty_array_1.isNonEmptyArray)(ctx.config.rcFile.semverGroups)) {
|
|
30
|
+
yield* $(logSemverGroupsDisabledWarning());
|
|
31
|
+
return ctx;
|
|
32
|
+
}
|
|
33
|
+
const { semverGroups } = yield* $((0, get_instances_1.getInstances)(ctx, io, errorHandlers));
|
|
34
|
+
let index = 0;
|
|
35
|
+
for (const group of semverGroups) {
|
|
36
|
+
const groupSize = group.instances.length;
|
|
37
|
+
let validCount = 0;
|
|
38
|
+
if (group._tag === 'Ignored') {
|
|
39
|
+
yield* $(effect_1.Effect.logInfo((0, get_group_header_1.getSemverGroupHeader)({ group, index })));
|
|
40
|
+
yield* $(logIgnoredSize(groupSize));
|
|
41
|
+
}
|
|
42
|
+
else if (group._tag === 'WithRange') {
|
|
43
|
+
yield* $(effect_1.Effect.logInfo((0, get_group_header_1.getSemverGroupHeader)({ group, index })));
|
|
44
|
+
for (const instance of group.instances) {
|
|
45
|
+
const report = yield* $(group.inspect(instance));
|
|
46
|
+
if (report._tag === 'SemverRangeMismatch') {
|
|
47
|
+
ctx.isInvalid = true;
|
|
48
|
+
yield* $(logSemverRangeMismatch(report));
|
|
49
|
+
}
|
|
50
|
+
else if (report._tag === 'UnsupportedMismatch') {
|
|
51
|
+
ctx.isInvalid = true;
|
|
52
|
+
yield* $(logUnsupportedMismatch(report));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
validCount++;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (validCount > 0)
|
|
60
|
+
yield* $(logValidSize(validCount));
|
|
61
|
+
index++;
|
|
62
|
+
}
|
|
63
|
+
return ctx;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
exports.pipeline = pipeline;
|
|
67
|
+
function logSemverGroupsDisabledWarning() {
|
|
68
|
+
return effect_1.Effect.logInfo([
|
|
69
|
+
(0, chalk_1.default) `{red ${constants_1.ICON.panic} it looks like semver ranges have not yet been configured for this project}`,
|
|
70
|
+
(0, chalk_1.default) ` {red see the guide at} {yellow https://jamiemason.github.io/syncpack/guide/semver-groups}`,
|
|
71
|
+
].join(os_1.EOL));
|
|
72
|
+
}
|
|
73
|
+
exports.logSemverGroupsDisabledWarning = logSemverGroupsDisabledWarning;
|
|
74
|
+
function logIgnoredSize(amount) {
|
|
75
|
+
const msg = (0, chalk_1.default) `${(0, pad_start_1.padStart)(amount)} {dim ${constants_1.ICON.skip}} ${amount} ignored`;
|
|
76
|
+
return effect_1.Effect.logInfo(msg);
|
|
77
|
+
}
|
|
78
|
+
exports.logIgnoredSize = logIgnoredSize;
|
|
79
|
+
function logValidSize(amount) {
|
|
80
|
+
const msg = (0, chalk_1.default) `{green ${constants_1.ICON.tick}} {dim ${amount} valid}`;
|
|
81
|
+
return effect_1.Effect.logInfo(msg);
|
|
82
|
+
}
|
|
83
|
+
function logSemverRangeMismatch(report) {
|
|
84
|
+
const _tag = report._tag;
|
|
85
|
+
const instance = report.fixable.instance;
|
|
86
|
+
const name = instance.name;
|
|
87
|
+
const actual = instance.rawSpecifier;
|
|
88
|
+
const expected = report.fixable.raw;
|
|
89
|
+
const propPath = instance.strategy.path;
|
|
90
|
+
const filePath = instance.packageJsonFile.jsonFile.shortPath;
|
|
91
|
+
return effect_1.Effect.logInfo((0, chalk_1.default) `{red ${constants_1.ICON.cross}} ${name} {red ${actual}} {dim ${constants_1.ICON.rightArrow}} {green ${expected}} {gray ${filePath} > ${propPath}} {gray.dim [${_tag}]}`);
|
|
92
|
+
}
|
|
93
|
+
function logUnsupportedMismatch(report) {
|
|
94
|
+
const _tag = report._tag;
|
|
95
|
+
const instance = report.unfixable;
|
|
96
|
+
const name = instance.name;
|
|
97
|
+
const actual = instance.rawSpecifier;
|
|
98
|
+
const propPath = instance.strategy.path;
|
|
99
|
+
const filePath = instance.packageJsonFile.jsonFile.shortPath;
|
|
100
|
+
return effect_1.Effect.logInfo((0, chalk_1.default) `{red ${constants_1.ICON.cross} name {white ${name}} or version {white ${actual}} are not supported} {gray ${filePath} > ${propPath}} {gray.dim [${_tag}]}`);
|
|
101
|
+
}
|
package/dist/bin-list/index.js
CHANGED
|
@@ -1,36 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
5
|
};
|
|
29
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
const Effect = __importStar(require("@effect/io/Effect"));
|
|
31
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
32
8
|
const commander_1 = require("commander");
|
|
33
|
-
const
|
|
9
|
+
const effect_1 = require("effect");
|
|
10
|
+
const io_1 = require("../io");
|
|
34
11
|
const show_help_on_error_1 = require("../lib/show-help-on-error");
|
|
35
12
|
const option_1 = require("../option");
|
|
36
13
|
const list_1 = require("./list");
|
|
@@ -72,9 +49,12 @@ commander_1.program
|
|
|
72
49
|
.option(...option_1.option.config)
|
|
73
50
|
.option(...option_1.option.types)
|
|
74
51
|
.parse(process.argv);
|
|
75
|
-
Effect.runSync((0, list_1.list)({
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
52
|
+
effect_1.Effect.runSync((0, list_1.list)({
|
|
53
|
+
io: io_1.io,
|
|
54
|
+
cli: {
|
|
55
|
+
configPath: commander_1.program.opts().config,
|
|
56
|
+
filter: commander_1.program.opts().filter,
|
|
57
|
+
source: commander_1.program.opts().source,
|
|
58
|
+
types: commander_1.program.opts().types,
|
|
59
|
+
},
|
|
60
|
+
}));
|
package/dist/bin-list/list.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
2
|
import { type CliConfig } from '../config/types';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
3
|
+
import type { ErrorHandlers } from '../error-handlers/default-error-handlers';
|
|
4
|
+
import type { Io } from '../io';
|
|
5
|
+
interface Input {
|
|
6
|
+
io: Io;
|
|
7
|
+
cli: Partial<CliConfig>;
|
|
8
|
+
errorHandlers?: ErrorHandlers;
|
|
9
|
+
}
|
|
10
|
+
export declare function list({ io, cli, errorHandlers }: Input): Effect.Effect<never, never, unknown>;
|
|
11
|
+
export declare function logOtherCommands(): Effect.Effect<never, never, void>;
|
|
12
|
+
export {};
|
package/dist/bin-list/list.js
CHANGED
|
@@ -1,42 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
4
|
};
|
|
25
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.list = void 0;
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const
|
|
6
|
+
exports.logOtherCommands = exports.list = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const effect_1 = require("effect");
|
|
9
|
+
const os_1 = require("os");
|
|
30
10
|
const tag_1 = require("../config/tag");
|
|
31
|
-
const
|
|
32
|
-
const create_env_1 = require("../env/create-env");
|
|
33
|
-
const exit_if_invalid_1 = require("../env/exit-if-invalid");
|
|
34
|
-
const tags_1 = require("../env/tags");
|
|
35
|
-
const create_error_handlers_1 = require("../error-handlers/create-error-handlers");
|
|
11
|
+
const constants_1 = require("../constants");
|
|
36
12
|
const default_error_handlers_1 = require("../error-handlers/default-error-handlers");
|
|
37
13
|
const get_context_1 = require("../get-context");
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
14
|
+
const get_instances_1 = require("../get-instances");
|
|
15
|
+
const io_1 = require("../io");
|
|
16
|
+
const exit_if_invalid_1 = require("../io/exit-if-invalid");
|
|
17
|
+
const get_group_header_1 = require("../lib/get-group-header");
|
|
18
|
+
const pad_start_1 = require("../lib/pad-start");
|
|
19
|
+
const with_logger_1 = require("../lib/with-logger");
|
|
20
|
+
function list({ io, cli, errorHandlers = default_error_handlers_1.defaultErrorHandlers }) {
|
|
21
|
+
return (0, effect_1.pipe)((0, get_context_1.getContext)({ io, cli, errorHandlers }), effect_1.Effect.flatMap((ctx) => effect_1.Effect.gen(function* ($) {
|
|
22
|
+
const { versionGroups } = yield* $((0, get_instances_1.getInstances)(ctx, io, errorHandlers));
|
|
23
|
+
let index = 0;
|
|
24
|
+
for (const group of versionGroups) {
|
|
25
|
+
const groupSize = group.instances.length;
|
|
26
|
+
if (group._tag === 'FilteredOut') {
|
|
27
|
+
index++;
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
yield* $(effect_1.Effect.logInfo((0, get_group_header_1.getVersionGroupHeader)({ group, index })));
|
|
31
|
+
if (group._tag === 'Ignored') {
|
|
32
|
+
const usages = `${(0, pad_start_1.padStart)(groupSize)}x`;
|
|
33
|
+
const msg = (0, chalk_1.default) `{gray ${usages} ignored}`;
|
|
34
|
+
yield* $(effect_1.Effect.logInfo(msg));
|
|
35
|
+
index++;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (group._tag === 'Banned') {
|
|
39
|
+
for (const groupReport of yield* $(group.inspectAll())) {
|
|
40
|
+
const name = groupReport.name;
|
|
41
|
+
const usages = `${(0, pad_start_1.padStart)(groupReport.reports.length)}x`;
|
|
42
|
+
const invalidLabel = (0, chalk_1.default) `{gray ${usages}} {red ${name}}{gray :}`;
|
|
43
|
+
const msg = (0, chalk_1.default) `${invalidLabel} {red banned}`;
|
|
44
|
+
yield* $(effect_1.Effect.logInfo(msg));
|
|
45
|
+
}
|
|
46
|
+
ctx.isInvalid = true;
|
|
47
|
+
index++;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
for (const groupReport of yield* $(group.inspectAll())) {
|
|
51
|
+
const matches = new Set();
|
|
52
|
+
const mismatches = new Set();
|
|
53
|
+
for (const report of groupReport.reports) {
|
|
54
|
+
const _tag = report._tag;
|
|
55
|
+
if (_tag === 'Valid') {
|
|
56
|
+
const actual = report.specifier.raw;
|
|
57
|
+
matches.add(report.specifier._tag === 'UnsupportedSpecifier'
|
|
58
|
+
? (0, chalk_1.default) `{gray ${actual}} {gray.dim [UnsupportedSpecifier]}`
|
|
59
|
+
: (0, chalk_1.default) `{gray ${actual}}`);
|
|
60
|
+
}
|
|
61
|
+
else if (_tag === 'HighestSemverMismatch' ||
|
|
62
|
+
_tag === 'LocalPackageMismatch' ||
|
|
63
|
+
_tag === 'LowestSemverMismatch' ||
|
|
64
|
+
_tag === 'PinnedMismatch' ||
|
|
65
|
+
_tag === 'SemverRangeMismatch' ||
|
|
66
|
+
_tag === 'SnappedToMismatch') {
|
|
67
|
+
mismatches.add(getLogForFixable(report));
|
|
68
|
+
ctx.isInvalid = true;
|
|
69
|
+
}
|
|
70
|
+
else if (_tag === 'MissingLocalVersion' ||
|
|
71
|
+
_tag === 'MissingSnappedToMismatch' ||
|
|
72
|
+
_tag === 'UnsupportedMismatch' ||
|
|
73
|
+
_tag === 'SameRangeMismatch') {
|
|
74
|
+
mismatches.add(getLogForUnfixable(report));
|
|
75
|
+
ctx.isInvalid = true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (mismatches.size === 0) {
|
|
79
|
+
yield* $(logMatchingReport(groupReport, matches));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
yield* $(logMismatchingReport(groupReport, mismatches));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
index++;
|
|
86
|
+
}
|
|
87
|
+
yield* $(logOtherCommands());
|
|
88
|
+
return ctx;
|
|
89
|
+
})), effect_1.Effect.flatMap(exit_if_invalid_1.exitIfInvalid), effect_1.Effect.provide((0, effect_1.pipe)(effect_1.Context.empty(), effect_1.Context.add(tag_1.CliConfigTag, cli), effect_1.Context.add(io_1.IoTag, io))), with_logger_1.withLogger);
|
|
41
90
|
}
|
|
42
91
|
exports.list = list;
|
|
92
|
+
function logMatchingReport(groupReport, messages) {
|
|
93
|
+
const name = groupReport.name;
|
|
94
|
+
const usages = `${(0, pad_start_1.padStart)(groupReport.reports.length)}x`;
|
|
95
|
+
const label = (0, chalk_1.default) `{gray ${usages}} ${name}{gray :}`;
|
|
96
|
+
return effect_1.Effect.logInfo((0, chalk_1.default) `${label} ${[...messages].join((0, chalk_1.default) `{gray , }`)}`);
|
|
97
|
+
}
|
|
98
|
+
function logMismatchingReport(groupReport, messages) {
|
|
99
|
+
const name = groupReport.name;
|
|
100
|
+
const usages = `${(0, pad_start_1.padStart)(groupReport.reports.length)}x`;
|
|
101
|
+
const label = (0, chalk_1.default) `{gray ${usages}} {red ${name}}{gray :}`;
|
|
102
|
+
const indent = usages.replace(/./g, ' ');
|
|
103
|
+
return effect_1.Effect.logInfo((0, chalk_1.default) `${label}${['', ...messages].join((0, chalk_1.default) `${os_1.EOL}${indent} {red ${constants_1.ICON.cross}} `)}`);
|
|
104
|
+
}
|
|
105
|
+
function getLogForFixable(report) {
|
|
106
|
+
const _tag = report._tag;
|
|
107
|
+
const actual = report.fixable.instance.rawSpecifier;
|
|
108
|
+
const expected = report.fixable.raw;
|
|
109
|
+
return (0, chalk_1.default) `{red ${actual}} {gray ${constants_1.ICON.rightArrow}} {green ${expected}} {gray.dim [${_tag}]}`;
|
|
110
|
+
}
|
|
111
|
+
function getLogForUnfixable(report) {
|
|
112
|
+
const _tag = report._tag;
|
|
113
|
+
const actual = report.unfixable.rawSpecifier;
|
|
114
|
+
return (0, chalk_1.default) `{red ${actual}} {gray ${constants_1.ICON.rightArrow}} {gray.dim [${_tag}]}`;
|
|
115
|
+
}
|
|
116
|
+
function logOtherCommands() {
|
|
117
|
+
return effect_1.Effect.logInfo([
|
|
118
|
+
'',
|
|
119
|
+
' What next?',
|
|
120
|
+
(0, chalk_1.default) `{dim -} {yellow syncpack list-mismatches} to see more detail about mismatching versions`,
|
|
121
|
+
(0, chalk_1.default) `{dim -} {yellow syncpack fix-mismatches} to fix version mismatches automatically`,
|
|
122
|
+
(0, chalk_1.default) `{dim -} {yellow syncpack format} to sort and prettify your package.json files`,
|
|
123
|
+
(0, chalk_1.default) `{dim -} {yellow syncpack update} to choose updates from the npm registry`,
|
|
124
|
+
(0, chalk_1.default) `{dim -} {yellow syncpack --help} for everything else`,
|
|
125
|
+
'',
|
|
126
|
+
].join(os_1.EOL));
|
|
127
|
+
}
|
|
128
|
+
exports.logOtherCommands = logOtherCommands;
|
|
@@ -1,36 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
5
|
};
|
|
29
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
const Effect = __importStar(require("@effect/io/Effect"));
|
|
31
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
32
8
|
const commander_1 = require("commander");
|
|
33
|
-
const
|
|
9
|
+
const effect_1 = require("effect");
|
|
10
|
+
const io_1 = require("../io");
|
|
34
11
|
const show_help_on_error_1 = require("../lib/show-help-on-error");
|
|
35
12
|
const option_1 = require("../option");
|
|
36
13
|
const list_mismatches_1 = require("./list-mismatches");
|
|
@@ -74,9 +51,12 @@ commander_1.program
|
|
|
74
51
|
.option(...option_1.option.config)
|
|
75
52
|
.option(...option_1.option.types)
|
|
76
53
|
.parse(process.argv);
|
|
77
|
-
Effect.runSync((0, list_mismatches_1.listMismatches)({
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
54
|
+
effect_1.Effect.runSync((0, list_mismatches_1.listMismatches)({
|
|
55
|
+
io: io_1.io,
|
|
56
|
+
cli: {
|
|
57
|
+
configPath: commander_1.program.opts().config,
|
|
58
|
+
filter: commander_1.program.opts().filter,
|
|
59
|
+
source: commander_1.program.opts().source,
|
|
60
|
+
types: commander_1.program.opts().types,
|
|
61
|
+
},
|
|
62
|
+
}));
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from 'effect';
|
|
2
2
|
import { type CliConfig } from '../config/types';
|
|
3
|
-
import type {
|
|
4
|
-
|
|
3
|
+
import type { ErrorHandlers } from '../error-handlers/default-error-handlers';
|
|
4
|
+
import type { Ctx } from '../get-context';
|
|
5
|
+
import type { Io } from '../io';
|
|
6
|
+
import type { Report } from '../report';
|
|
7
|
+
interface Input {
|
|
8
|
+
io: Io;
|
|
9
|
+
cli: Partial<CliConfig>;
|
|
10
|
+
errorHandlers?: ErrorHandlers;
|
|
11
|
+
}
|
|
12
|
+
export declare function listMismatches({ io, cli, errorHandlers }: Input): Effect.Effect<never, never, unknown>;
|
|
13
|
+
/** Exported to be reused by `syncpack lint` */
|
|
14
|
+
export declare function pipeline(ctx: Ctx, io: Io, errorHandlers: ErrorHandlers): Effect.Effect<never, never, Ctx>;
|
|
15
|
+
export declare function logMissingLocalVersion(report: Report.MissingLocalVersion): Effect.Effect<never, never, void>;
|
|
16
|
+
export declare function logMissingSnappedToMismatch(report: Report.MissingSnappedToMismatch): Effect.Effect<never, never, void>;
|
|
17
|
+
export declare function logUnsupportedMismatch(report: Report.UnsupportedMismatch): Effect.Effect<never, never, void>;
|
|
18
|
+
export declare function logSameRangeMismatch(report: Report.SameRangeMismatch): Effect.Effect<never, never, void>;
|
|
19
|
+
export {};
|