syncpack 10.2.0 → 10.6.1
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/effects.d.ts +2 -0
- package/dist/bin-fix-mismatches/effects.js +112 -0
- package/dist/bin-fix-mismatches/fix-mismatches.d.ts +4 -2
- package/dist/bin-fix-mismatches/fix-mismatches.js +38 -50
- package/dist/bin-fix-mismatches/index.js +28 -4
- package/dist/bin-format/format-cli.d.ts +4 -3
- package/dist/bin-format/format-cli.js +35 -4
- package/dist/bin-format/format.d.ts +3 -2
- package/dist/bin-format/format.js +25 -1
- package/dist/bin-format/index.js +27 -3
- package/dist/bin-lint/index.js +28 -4
- package/dist/bin-lint/lint.d.ts +4 -0
- package/dist/bin-lint/lint.js +44 -0
- package/dist/bin-lint-semver-ranges/effects.d.ts +2 -0
- package/dist/bin-lint-semver-ranges/effects.js +70 -0
- package/dist/bin-lint-semver-ranges/index.js +28 -4
- package/dist/bin-lint-semver-ranges/lint-semver-ranges.d.ts +4 -2
- package/dist/bin-lint-semver-ranges/lint-semver-ranges.js +14 -39
- package/dist/bin-list/effects.d.ts +2 -0
- package/dist/bin-list/effects.js +112 -0
- package/dist/bin-list/index.js +28 -4
- package/dist/bin-list/list.d.ts +4 -2
- package/dist/bin-list/list.js +14 -72
- package/dist/bin-list-mismatches/effects.d.ts +2 -0
- package/dist/bin-list-mismatches/effects.js +136 -0
- package/dist/bin-list-mismatches/index.js +28 -4
- package/dist/bin-list-mismatches/list-mismatches.d.ts +4 -2
- package/dist/bin-list-mismatches/list-mismatches.js +14 -82
- package/dist/bin-prompt/effects.d.ts +2 -0
- package/dist/bin-prompt/effects.js +110 -0
- package/dist/bin-prompt/index.d.ts +2 -0
- package/dist/bin-prompt/index.js +80 -0
- package/dist/bin-prompt/prompt.d.ts +4 -0
- package/dist/bin-prompt/prompt.js +42 -0
- package/dist/bin-set-semver-ranges/effects.d.ts +2 -0
- package/dist/bin-set-semver-ranges/effects.js +61 -0
- package/dist/bin-set-semver-ranges/index.js +28 -4
- package/dist/bin-set-semver-ranges/set-semver-ranges.d.ts +4 -2
- package/dist/bin-set-semver-ranges/set-semver-ranges.js +39 -22
- package/dist/bin.js +3 -0
- package/dist/config/get-custom-types.d.ts +2 -2
- package/dist/config/get-enabled-types.d.ts +12 -2
- package/dist/config/get-enabled-types.js +38 -4
- package/dist/config/get-filter.d.ts +2 -2
- package/dist/config/get-indent.d.ts +2 -2
- package/dist/config/get-semver-range.d.ts +2 -2
- package/dist/config/get-semver-range.js +4 -4
- package/dist/config/get-sort-az.d.ts +2 -2
- package/dist/config/get-sort-az.js +1 -0
- package/dist/config/get-sort-first.d.ts +2 -2
- package/dist/config/get-source.d.ts +2 -2
- package/dist/config/get-source.js +1 -2
- package/dist/config/types.d.ts +15 -7
- package/dist/config/types.js +26 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/create-program/effects.d.ts +42 -0
- package/dist/create-program/effects.js +2 -0
- package/dist/create-program/semver-ranges.d.ts +7 -0
- package/dist/create-program/semver-ranges.js +43 -0
- package/dist/create-program/versions.d.ts +7 -0
- package/dist/create-program/versions.js +48 -0
- package/dist/env/create-env.d.ts +21 -0
- package/dist/env/create-env.js +60 -0
- package/dist/env/default-env.d.ts +18 -0
- package/dist/env/default-env.js +95 -0
- package/dist/env/exit-if-invalid.d.ts +4 -0
- package/dist/env/exit-if-invalid.js +34 -0
- package/dist/env/tags.d.ts +58 -0
- package/dist/env/tags.js +50 -0
- package/dist/env/write-if-changed.d.ts +11 -0
- package/dist/env/write-if-changed.js +73 -0
- package/dist/error-handlers/create-error-handlers.d.ts +19 -0
- package/dist/error-handlers/create-error-handlers.js +57 -0
- package/dist/error-handlers/default-error-handlers.d.ts +2 -0
- package/dist/error-handlers/default-error-handlers.js +57 -0
- package/dist/get-context/index.d.ts +11 -8
- package/dist/get-context/index.js +31 -9
- package/dist/get-package-json-files/get-file-paths.d.ts +17 -8
- package/dist/get-package-json-files/get-file-paths.js +40 -20
- package/dist/get-package-json-files/get-patterns/get-lerna-patterns.d.ts +4 -3
- package/dist/get-package-json-files/get-patterns/get-lerna-patterns.js +31 -8
- package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.d.ts +4 -3
- package/dist/get-package-json-files/get-patterns/get-pnpm-patterns.js +36 -14
- package/dist/get-package-json-files/get-patterns/get-yarn-patterns.d.ts +4 -3
- package/dist/get-package-json-files/get-patterns/get-yarn-patterns.js +37 -9
- package/dist/get-package-json-files/get-patterns/index.d.ts +4 -4
- package/dist/get-package-json-files/get-patterns/index.js +37 -18
- package/dist/get-package-json-files/get-patterns/read-json-safe.d.ts +15 -3
- package/dist/get-package-json-files/get-patterns/read-json-safe.js +36 -10
- package/dist/get-package-json-files/index.d.ts +7 -4
- package/dist/get-package-json-files/index.js +27 -9
- package/dist/get-package-json-files/instance.js +2 -2
- package/dist/get-package-json-files/package-json-file.d.ts +6 -10
- package/dist/get-package-json-files/package-json-file.js +5 -21
- package/dist/get-semver-groups/filtered-out.d.ts +12 -6
- package/dist/get-semver-groups/filtered-out.js +40 -14
- package/dist/get-semver-groups/ignored.d.ts +10 -4
- package/dist/get-semver-groups/ignored.js +34 -8
- package/dist/get-semver-groups/index.d.ts +80 -28
- package/dist/get-semver-groups/index.js +93 -44
- package/dist/get-semver-groups/with-range.d.ts +12 -5
- package/dist/get-semver-groups/with-range.js +49 -25
- package/dist/get-version-groups/banned.d.ts +10 -4
- package/dist/get-version-groups/banned.js +34 -8
- package/dist/get-version-groups/filtered-out.d.ts +12 -6
- package/dist/get-version-groups/filtered-out.js +40 -14
- package/dist/get-version-groups/ignored.d.ts +10 -4
- package/dist/get-version-groups/ignored.js +34 -8
- package/dist/get-version-groups/index.d.ts +132 -50
- package/dist/get-version-groups/index.js +130 -51
- package/dist/get-version-groups/lib/get-highest-version.js +2 -2
- package/dist/get-version-groups/lib/get-lowest-version.js +2 -2
- package/dist/get-version-groups/lib/get-range-score.js +1 -3
- package/dist/get-version-groups/lib/sort.js +3 -3
- package/dist/get-version-groups/pinned.d.ts +10 -4
- package/dist/get-version-groups/pinned.js +39 -16
- package/dist/get-version-groups/same-range.d.ts +17 -0
- package/dist/get-version-groups/same-range.js +70 -0
- package/dist/get-version-groups/snapped-to.d.ts +10 -4
- package/dist/get-version-groups/snapped-to.js +41 -16
- package/dist/get-version-groups/standard.d.ts +12 -5
- package/dist/get-version-groups/standard.js +63 -39
- package/dist/guards/can-add-to-group.d.ts +4 -0
- package/dist/guards/can-add-to-group.js +15 -0
- package/dist/guards/is-loose-semver.d.ts +1 -0
- package/dist/guards/is-loose-semver.js +9 -0
- package/dist/guards/is-semver.d.ts +1 -0
- package/dist/guards/is-semver.js +16 -0
- package/dist/guards/is-supported.d.ts +1 -0
- package/dist/guards/is-supported.js +17 -0
- package/dist/guards/is-valid-semver-range.d.ts +2 -0
- package/dist/guards/is-valid-semver-range.js +17 -0
- package/dist/lib/$R.js +2 -2
- package/dist/lib/log-group-header.d.ts +6 -0
- package/dist/lib/log-group-header.js +34 -0
- package/dist/lib/log-verbose.d.ts +1 -0
- package/dist/lib/log-verbose.js +24 -0
- package/dist/lib/set-semver-range.js +5 -5
- package/dist/lib/split-name-and-version.d.ts +5 -0
- package/dist/lib/split-name-and-version.js +12 -0
- package/dist/option.js +1 -4
- package/dist/strategy/lib/get-non-empty-string-prop.js +2 -2
- package/dist/strategy/name-and-version-props.js +5 -5
- package/dist/strategy/named-version-string.js +5 -5
- package/dist/strategy/unnamed-version-string.js +4 -4
- package/dist/strategy/versions-by-name.js +3 -3
- package/package.json +28 -17
- package/dist/bin-fix-mismatches/fix-mismatches-cli.d.ts +0 -3
- package/dist/bin-fix-mismatches/fix-mismatches-cli.js +0 -12
- package/dist/bin-lint/lint-cli.d.ts +0 -3
- package/dist/bin-lint/lint-cli.js +0 -12
- package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.d.ts +0 -3
- package/dist/bin-lint-semver-ranges/lint-semver-ranges-cli.js +0 -11
- package/dist/bin-list/list-cli.d.ts +0 -3
- package/dist/bin-list/list-cli.js +0 -11
- package/dist/bin-list-mismatches/list-mismatches-cli.d.ts +0 -3
- package/dist/bin-list-mismatches/list-mismatches-cli.js +0 -11
- package/dist/bin-set-semver-ranges/set-semver-ranges-cli.d.ts +0 -3
- package/dist/bin-set-semver-ranges/set-semver-ranges-cli.js +0 -11
- package/dist/get-package-json-files/get-patterns/read-yaml-safe.d.ts +0 -3
- package/dist/get-package-json-files/get-patterns/read-yaml-safe.js +0 -12
- package/dist/get-semver-groups/catch-all.d.ts +0 -4
- package/dist/get-semver-groups/catch-all.js +0 -11
- package/dist/get-version-groups/catch-all.d.ts +0 -4
- package/dist/get-version-groups/catch-all.js +0 -11
- package/dist/lib/disk.d.ts +0 -14
- package/dist/lib/disk.js +0 -68
- package/dist/lib/exit-if-invalid.d.ts +0 -2
- package/dist/lib/exit-if-invalid.js +0 -10
- package/dist/lib/is-semver.d.ts +0 -6
- package/dist/lib/is-semver.js +0 -49
- package/dist/lib/log.d.ts +0 -5
- package/dist/lib/log.js +0 -51
- package/dist/lib/newlines.d.ts +0 -6
- package/dist/lib/newlines.js +0 -24
- package/dist/lib/print-strings.d.ts +0 -1
- package/dist/lib/print-strings.js +0 -7
- package/dist/lib/write-if-changed.d.ts +0 -2
- package/dist/lib/write-if-changed.js +0 -21
|
@@ -1,12 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEnabledTypes = void 0;
|
|
26
|
+
exports.getEnabledTypes = exports.DeprecatedTypesError = void 0;
|
|
27
|
+
const Data = __importStar(require("@effect/data/Data"));
|
|
28
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
4
29
|
const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
|
|
30
|
+
const is_boolean_1 = require("tightrope/guard/is-boolean");
|
|
5
31
|
const is_empty_array_1 = require("tightrope/guard/is-empty-array");
|
|
6
32
|
const is_non_empty_string_1 = require("tightrope/guard/is-non-empty-string");
|
|
33
|
+
const constants_1 = require("../constants");
|
|
7
34
|
const name_and_version_props_1 = require("../strategy/name-and-version-props");
|
|
8
35
|
const versions_by_name_1 = require("../strategy/versions-by-name");
|
|
9
36
|
const get_custom_types_1 = require("./get-custom-types");
|
|
37
|
+
class DeprecatedTypesError extends Data.TaggedClass('DeprecatedTypesError') {
|
|
38
|
+
}
|
|
39
|
+
exports.DeprecatedTypesError = DeprecatedTypesError;
|
|
40
|
+
// @TODO accept `dependencyTypes: ['**']`
|
|
41
|
+
// @TODO support `dependencyTypes: ['!dev']`
|
|
10
42
|
function getEnabledTypes({ cli, rcFile, }) {
|
|
11
43
|
const enabledTypes = [];
|
|
12
44
|
const enabledTypeNames = ((0, is_non_empty_string_1.isNonEmptyString)(cli.types)
|
|
@@ -14,9 +46,11 @@ function getEnabledTypes({ cli, rcFile, }) {
|
|
|
14
46
|
: (0, is_array_of_strings_1.isArrayOfStrings)(rcFile.dependencyTypes)
|
|
15
47
|
? rcFile.dependencyTypes
|
|
16
48
|
: []).filter(is_non_empty_string_1.isNonEmptyString);
|
|
17
|
-
// @TODO accept `dependencyTypes: ['**']`
|
|
18
|
-
// @TODO support `dependencyTypes: ['!dev']`
|
|
19
49
|
const useDefaults = (0, is_empty_array_1.isEmptyArray)(enabledTypeNames);
|
|
50
|
+
const deprecatedTypes = constants_1.DEFAULT_CONFIG.dependencyTypes.filter((key) => (0, is_boolean_1.isBoolean)(rcFile[key]));
|
|
51
|
+
if (deprecatedTypes.length > 0) {
|
|
52
|
+
return Effect.fail(new DeprecatedTypesError({ types: deprecatedTypes }));
|
|
53
|
+
}
|
|
20
54
|
if (useDefaults || enabledTypeNames.includes('dev')) {
|
|
21
55
|
enabledTypes.push(new versions_by_name_1.VersionsByNameStrategy('dev', 'devDependencies'));
|
|
22
56
|
}
|
|
@@ -43,6 +77,6 @@ function getEnabledTypes({ cli, rcFile, }) {
|
|
|
43
77
|
enabledTypes.push(customType);
|
|
44
78
|
}
|
|
45
79
|
});
|
|
46
|
-
return enabledTypes;
|
|
80
|
+
return Effect.succeed(enabledTypes);
|
|
47
81
|
}
|
|
48
82
|
exports.getEnabledTypes = getEnabledTypes;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function getFilter({ cli, rcFile }:
|
|
1
|
+
import type { Ctx } from '../get-context';
|
|
2
|
+
export declare function getFilter({ cli, rcFile }: Ctx['config']): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function getIndent({ cli, rcFile }:
|
|
1
|
+
import type { Ctx } from '../get-context';
|
|
2
|
+
export declare function getIndent({ cli, rcFile }: Ctx['config']): string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Ctx } from '../get-context';
|
|
2
2
|
import type { SemverRange } from './types';
|
|
3
|
-
export declare function getSemverRange({ cli, rcFile
|
|
3
|
+
export declare function getSemverRange({ cli, rcFile }: Ctx['config']): SemverRange;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSemverRange = void 0;
|
|
4
|
-
const
|
|
5
|
-
function getSemverRange({ cli, rcFile
|
|
6
|
-
return (0,
|
|
4
|
+
const is_valid_semver_range_1 = require("../guards/is-valid-semver-range");
|
|
5
|
+
function getSemverRange({ cli, rcFile }) {
|
|
6
|
+
return (0, is_valid_semver_range_1.isValidSemverRange)(cli.semverRange)
|
|
7
7
|
? cli.semverRange
|
|
8
|
-
: (0,
|
|
8
|
+
: (0, is_valid_semver_range_1.isValidSemverRange)(rcFile.semverRange)
|
|
9
9
|
? rcFile.semverRange
|
|
10
10
|
: '';
|
|
11
11
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function getSortAz({ rcFile }:
|
|
1
|
+
import type { Ctx } from '../get-context';
|
|
2
|
+
export declare function getSortAz({ rcFile }: Ctx['config']): string[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function getSortFirst({ rcFile }:
|
|
1
|
+
import type { Ctx } from '../get-context';
|
|
2
|
+
export declare function getSortFirst({ rcFile }: Ctx['config']): string[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function getSource({ cli, rcFile }:
|
|
1
|
+
import type { Ctx } from '../get-context';
|
|
2
|
+
export declare function getSource({ cli, rcFile }: Ctx['config']): string[];
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSource = void 0;
|
|
4
4
|
const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
5
|
function getSource({ cli, rcFile }) {
|
|
7
6
|
return (0, is_array_of_strings_1.isArrayOfStrings)(cli.source)
|
|
8
7
|
? cli.source
|
|
9
8
|
: (0, is_array_of_strings_1.isArrayOfStrings)(rcFile.source)
|
|
10
9
|
? rcFile.source
|
|
11
|
-
: [
|
|
10
|
+
: [];
|
|
12
11
|
}
|
|
13
12
|
exports.getSource = getSource;
|
package/dist/config/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
1
2
|
import type { Union } from 'ts-toolbelt';
|
|
2
3
|
/**
|
|
3
4
|
* Aliases for semver range formats supported by syncpack
|
|
@@ -48,10 +49,16 @@ export declare namespace VersionGroupConfig {
|
|
|
48
49
|
interface SnappedTo extends GroupConfig {
|
|
49
50
|
snapTo: string[];
|
|
50
51
|
}
|
|
52
|
+
interface SameRange extends GroupConfig {
|
|
53
|
+
policy: 'sameRange';
|
|
54
|
+
}
|
|
55
|
+
interface SnappedTo extends GroupConfig {
|
|
56
|
+
snapTo: string[];
|
|
57
|
+
}
|
|
51
58
|
interface Standard extends GroupConfig {
|
|
52
59
|
preferVersion?: 'highestSemver' | 'lowestSemver';
|
|
53
60
|
}
|
|
54
|
-
type Any = Union.Strict<
|
|
61
|
+
type Any = Union.Strict<Banned | Ignored | Pinned | SameRange | SnappedTo | Standard>;
|
|
55
62
|
}
|
|
56
63
|
declare namespace CustomTypeConfig {
|
|
57
64
|
interface NameAndVersionProps {
|
|
@@ -74,13 +81,14 @@ declare namespace CustomTypeConfig {
|
|
|
74
81
|
type Any = Union.Strict<NameAndVersionProps | NamedVersionString | UnnamedVersionString | VersionsByName>;
|
|
75
82
|
}
|
|
76
83
|
export interface CliConfig {
|
|
77
|
-
configPath?: string;
|
|
78
|
-
filter: string;
|
|
79
|
-
indent: string;
|
|
80
|
-
semverRange: SemverRange;
|
|
81
|
-
source: string[];
|
|
82
|
-
types: string;
|
|
84
|
+
readonly configPath?: string;
|
|
85
|
+
readonly filter: string;
|
|
86
|
+
readonly indent: string;
|
|
87
|
+
readonly semverRange: SemverRange;
|
|
88
|
+
readonly source: string[];
|
|
89
|
+
readonly types: string;
|
|
83
90
|
}
|
|
91
|
+
export declare const CliConfigTag: Context.Tag<Partial<CliConfig>, Partial<CliConfig>>;
|
|
84
92
|
export interface RcConfig {
|
|
85
93
|
/** @see https://jamiemason.github.io/syncpack/config/custom-types */
|
|
86
94
|
customTypes: Record<string, CustomTypeConfig.Any>;
|
package/dist/config/types.js
CHANGED
|
@@ -1,2 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.CliConfigTag = void 0;
|
|
27
|
+
const Context = __importStar(require("@effect/data/Context"));
|
|
28
|
+
exports.CliConfigTag = Context.Tag();
|
package/dist/constants.d.ts
CHANGED
|
@@ -31,6 +31,6 @@ export declare const DEFAULT_CONFIG: {
|
|
|
31
31
|
readonly semverRange: "";
|
|
32
32
|
readonly sortAz: readonly ["contributors", "dependencies", "devDependencies", "keywords", "peerDependencies", "resolutions", "scripts"];
|
|
33
33
|
readonly sortFirst: readonly ["name", "description", "version", "author"];
|
|
34
|
-
readonly source:
|
|
34
|
+
readonly source: string[];
|
|
35
35
|
readonly versionGroups: readonly [];
|
|
36
36
|
};
|
package/dist/constants.js
CHANGED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type * as Effect from '@effect/io/Effect';
|
|
2
|
+
import type { Env } from '../env/create-env';
|
|
3
|
+
import type { Ctx } from '../get-context';
|
|
4
|
+
import type { AnySemverGroup, SemverGroupReport as SR } from '../get-semver-groups';
|
|
5
|
+
import type { AnyVersionGroup, VersionGroupReport as VR } from '../get-version-groups';
|
|
6
|
+
type R = Effect.Effect<Env | never, never, void>;
|
|
7
|
+
export interface SemverRangeEffectInput<T> {
|
|
8
|
+
ctx: Ctx;
|
|
9
|
+
group: AnySemverGroup;
|
|
10
|
+
index: number;
|
|
11
|
+
report: T;
|
|
12
|
+
}
|
|
13
|
+
export interface VersionEffectInput<T> {
|
|
14
|
+
ctx: Ctx;
|
|
15
|
+
group: AnyVersionGroup;
|
|
16
|
+
index: number;
|
|
17
|
+
report: T;
|
|
18
|
+
}
|
|
19
|
+
export interface SemverRangeEffects {
|
|
20
|
+
FilteredOut: (input: SemverRangeEffectInput<SR.FilteredOut>) => R;
|
|
21
|
+
Ignored: (input: SemverRangeEffectInput<SR.Ignored>) => R;
|
|
22
|
+
SemverRangeMismatch: (input: SemverRangeEffectInput<SR.SemverRangeMismatch>) => R;
|
|
23
|
+
UnsupportedVersion: (input: SemverRangeEffectInput<SR.UnsupportedVersion>) => R;
|
|
24
|
+
Valid: (input: SemverRangeEffectInput<SR.Valid>) => R;
|
|
25
|
+
WorkspaceSemverRangeMismatch: (input: SemverRangeEffectInput<SR.WorkspaceSemverRangeMismatch>) => R;
|
|
26
|
+
TearDown: (ctx: Ctx) => R;
|
|
27
|
+
}
|
|
28
|
+
export interface VersionEffects {
|
|
29
|
+
Banned: (input: VersionEffectInput<VR.Banned>) => R;
|
|
30
|
+
FilteredOut: (input: VersionEffectInput<VR.FilteredOut>) => R;
|
|
31
|
+
HighestSemverMismatch: (input: VersionEffectInput<VR.HighestSemverMismatch>) => R;
|
|
32
|
+
Ignored: (input: VersionEffectInput<VR.Ignored>) => R;
|
|
33
|
+
LowestSemverMismatch: (input: VersionEffectInput<VR.LowestSemverMismatch>) => R;
|
|
34
|
+
PinnedMismatch: (input: VersionEffectInput<VR.PinnedMismatch>) => R;
|
|
35
|
+
SameRangeMismatch: (input: VersionEffectInput<VR.SameRangeMismatch>) => R;
|
|
36
|
+
SnappedToMismatch: (input: VersionEffectInput<VR.SnappedToMismatch>) => R;
|
|
37
|
+
UnsupportedMismatch: (input: VersionEffectInput<VR.UnsupportedMismatch>) => R;
|
|
38
|
+
Valid: (input: VersionEffectInput<VR.Valid>) => R;
|
|
39
|
+
WorkspaceMismatch: (input: VersionEffectInput<VR.WorkspaceMismatch>) => R;
|
|
40
|
+
TearDown: (ctx: Ctx) => R;
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import type { DeprecatedTypesError } from '../config/get-enabled-types';
|
|
3
|
+
import type { Env } from '../env/create-env';
|
|
4
|
+
import type { Ctx } from '../get-context';
|
|
5
|
+
import type { SemverGroupConfigError } from '../get-semver-groups';
|
|
6
|
+
import type { SemverRangeEffects } from './effects';
|
|
7
|
+
export declare function createSemverRangesProgram(ctx: Ctx, effects: SemverRangeEffects): Effect.Effect<Env, SemverGroupConfigError | DeprecatedTypesError, Ctx>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createSemverRangesProgram = void 0;
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const Unify_1 = require("@effect/data/Unify");
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
30
|
+
const Match = __importStar(require("@effect/match"));
|
|
31
|
+
const get_semver_groups_1 = require("../get-semver-groups");
|
|
32
|
+
function createSemverRangesProgram(ctx, effects) {
|
|
33
|
+
return (0, Function_1.pipe)((0, get_semver_groups_1.getSemverGroups)(ctx), Effect.flatMap((semverGroups) => Effect.all(semverGroups.map((group) => Effect.all(group.inspect().map((reportEffect, index) => (0, Function_1.pipe)((0, Unify_1.unify)(reportEffect), Effect.flatMap((0, Function_1.pipe)(Match.type(), Match.tagsExhaustive({
|
|
34
|
+
FilteredOut: (report) => (0, Function_1.pipe)(effects.FilteredOut({ ctx, group, index, report }), Effect.map(() => report)),
|
|
35
|
+
Ignored: (report) => (0, Function_1.pipe)(effects.Ignored({ ctx, group, index, report }), Effect.map(() => report)),
|
|
36
|
+
Valid: (report) => (0, Function_1.pipe)(effects.Valid({ ctx, group, index, report }), Effect.map(() => report)),
|
|
37
|
+
}))), Effect.catchTags({
|
|
38
|
+
SemverRangeMismatch: (report) => (0, Function_1.pipe)(effects.SemverRangeMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
39
|
+
UnsupportedVersion: (report) => (0, Function_1.pipe)(effects.UnsupportedVersion({ ctx, group, index, report }), Effect.map(() => report)),
|
|
40
|
+
WorkspaceSemverRangeMismatch: (report) => (0, Function_1.pipe)(effects.WorkspaceSemverRangeMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
41
|
+
}))))))), Effect.flatMap(() => effects.TearDown(ctx)), Effect.map(() => ctx));
|
|
42
|
+
}
|
|
43
|
+
exports.createSemverRangesProgram = createSemverRangesProgram;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import type { DeprecatedTypesError } from '../config/get-enabled-types';
|
|
3
|
+
import type { Env } from '../env/create-env';
|
|
4
|
+
import type { Ctx } from '../get-context';
|
|
5
|
+
import type { VersionGroupConfigError } from '../get-version-groups';
|
|
6
|
+
import type { VersionEffects } from './effects';
|
|
7
|
+
export declare function createVersionsProgram(ctx: Ctx, effects: VersionEffects): Effect.Effect<Env, VersionGroupConfigError | DeprecatedTypesError, Ctx>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createVersionsProgram = void 0;
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const Unify_1 = require("@effect/data/Unify");
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
30
|
+
const Match = __importStar(require("@effect/match"));
|
|
31
|
+
const get_version_groups_1 = require("../get-version-groups");
|
|
32
|
+
function createVersionsProgram(ctx, effects) {
|
|
33
|
+
return (0, Function_1.pipe)((0, get_version_groups_1.getVersionGroups)(ctx), Effect.flatMap((versionGroups) => Effect.all(versionGroups.map((group) => Effect.all(group.inspect().map((reportEffect, index) => (0, Function_1.pipe)((0, Unify_1.unify)(reportEffect), Effect.flatMap((0, Function_1.pipe)(Match.type(), Match.tagsExhaustive({
|
|
34
|
+
FilteredOut: (report) => (0, Function_1.pipe)(effects.FilteredOut({ ctx, group, index, report }), Effect.map(() => report)),
|
|
35
|
+
Ignored: (report) => (0, Function_1.pipe)(effects.Ignored({ ctx, group, index, report }), Effect.map(() => report)),
|
|
36
|
+
Valid: (report) => (0, Function_1.pipe)(effects.Valid({ ctx, group, index, report }), Effect.map(() => report)),
|
|
37
|
+
}))), Effect.catchTags({
|
|
38
|
+
Banned: (report) => (0, Function_1.pipe)(effects.Banned({ ctx, group, index, report }), Effect.map(() => report)),
|
|
39
|
+
HighestSemverMismatch: (report) => (0, Function_1.pipe)(effects.HighestSemverMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
40
|
+
LowestSemverMismatch: (report) => (0, Function_1.pipe)(effects.LowestSemverMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
41
|
+
PinnedMismatch: (report) => (0, Function_1.pipe)(effects.PinnedMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
42
|
+
SameRangeMismatch: (report) => (0, Function_1.pipe)(effects.SameRangeMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
43
|
+
SnappedToMismatch: (report) => (0, Function_1.pipe)(effects.SnappedToMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
44
|
+
UnsupportedMismatch: (report) => (0, Function_1.pipe)(effects.UnsupportedMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
45
|
+
WorkspaceMismatch: (report) => (0, Function_1.pipe)(effects.WorkspaceMismatch({ ctx, group, index, report }), Effect.map(() => report)),
|
|
46
|
+
}))))))), Effect.flatMap(() => effects.TearDown(ctx)), Effect.map(() => ctx));
|
|
47
|
+
}
|
|
48
|
+
exports.createVersionsProgram = createVersionsProgram;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import type { O } from 'ts-toolbelt';
|
|
3
|
+
import type { RcConfig } from '../config/types';
|
|
4
|
+
import type { DefaultEnv } from './default-env';
|
|
5
|
+
import { AskForChoiceError, AskForInputError, GlobError, ReadConfigFileError, ReadFileError, ReadYamlFileError, WriteFileError } from './tags';
|
|
6
|
+
export interface Env {
|
|
7
|
+
readonly askForChoice: (opts: {
|
|
8
|
+
message: string;
|
|
9
|
+
choices: string[];
|
|
10
|
+
}) => Effect.Effect<never, AskForChoiceError, string>;
|
|
11
|
+
readonly askForInput: (opts: {
|
|
12
|
+
message: string;
|
|
13
|
+
}) => Effect.Effect<never, AskForInputError, string>;
|
|
14
|
+
readonly exitProcess: (code: number) => Effect.Effect<never, never, void>;
|
|
15
|
+
readonly globSync: (patterns: string[]) => Effect.Effect<never, GlobError, string[]>;
|
|
16
|
+
readonly readConfigFileSync: (configPath?: string) => Effect.Effect<never, ReadConfigFileError, O.Partial<RcConfig, 'deep'>>;
|
|
17
|
+
readonly readFileSync: (filePath: string) => Effect.Effect<never, ReadFileError, string>;
|
|
18
|
+
readonly readYamlFileSync: <T = unknown>(filePath: string) => Effect.Effect<never, ReadYamlFileError, T>;
|
|
19
|
+
readonly writeFileSync: (filePath: string, contents: string) => Effect.Effect<never, WriteFileError, void>;
|
|
20
|
+
}
|
|
21
|
+
export declare function createEnv(env: DefaultEnv): Env;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createEnv = void 0;
|
|
27
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
28
|
+
const tags_1 = require("./tags");
|
|
29
|
+
function createEnv(env) {
|
|
30
|
+
return {
|
|
31
|
+
askForChoice(opts) {
|
|
32
|
+
return Effect.tryCatchPromise(() => env.askForChoice(opts), (err) => new tags_1.AskForChoiceError({ error: String(err) }));
|
|
33
|
+
},
|
|
34
|
+
askForInput(opts) {
|
|
35
|
+
return Effect.tryCatchPromise(() => env.askForInput(opts), (err) => new tags_1.AskForInputError({ error: String(err) }));
|
|
36
|
+
},
|
|
37
|
+
// @FIXME: process.exit is probably handled some other way in effect-ts
|
|
38
|
+
exitProcess(code) {
|
|
39
|
+
return Effect.sync(() => {
|
|
40
|
+
env.exitProcess(code);
|
|
41
|
+
});
|
|
42
|
+
},
|
|
43
|
+
globSync(patterns) {
|
|
44
|
+
return Effect.tryCatch(() => env.globSync(patterns), (err) => new tags_1.GlobError({ error: String(err) }));
|
|
45
|
+
},
|
|
46
|
+
readConfigFileSync(filePath) {
|
|
47
|
+
return Effect.tryCatch(() => env.readConfigFileSync(filePath), (err) => new tags_1.ReadConfigFileError({ filePath: filePath || '', error: String(err) }));
|
|
48
|
+
},
|
|
49
|
+
readFileSync(filePath) {
|
|
50
|
+
return Effect.tryCatch(() => env.readFileSync(filePath), (err) => new tags_1.ReadFileError({ filePath, error: String(err) }));
|
|
51
|
+
},
|
|
52
|
+
readYamlFileSync(filePath) {
|
|
53
|
+
return Effect.tryCatch(() => env.readYamlFileSync(filePath), (err) => new tags_1.ReadYamlFileError({ filePath, error: String(err) }));
|
|
54
|
+
},
|
|
55
|
+
writeFileSync(filePath, contents) {
|
|
56
|
+
return Effect.tryCatch(() => env.writeFileSync(filePath, contents), (err) => new tags_1.WriteFileError({ filePath, error: String(err) }));
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.createEnv = createEnv;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { O } from 'ts-toolbelt';
|
|
2
|
+
import type { RcConfig } from '../config/types';
|
|
3
|
+
export interface DefaultEnv {
|
|
4
|
+
readonly askForChoice: (opts: {
|
|
5
|
+
message: string;
|
|
6
|
+
choices: string[];
|
|
7
|
+
}) => Promise<string>;
|
|
8
|
+
readonly askForInput: (opts: {
|
|
9
|
+
message: string;
|
|
10
|
+
}) => Promise<string>;
|
|
11
|
+
readonly exitProcess: (code: number) => void;
|
|
12
|
+
readonly globSync: (patterns: string[]) => string[];
|
|
13
|
+
readonly readConfigFileSync: (configPath?: string) => O.Partial<RcConfig, 'deep'>;
|
|
14
|
+
readonly readFileSync: (filePath: string) => string;
|
|
15
|
+
readonly readYamlFileSync: <T = unknown>(filePath: string) => T;
|
|
16
|
+
readonly writeFileSync: (filePath: string, contents: string) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const defaultEnv: DefaultEnv;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.defaultEnv = void 0;
|
|
27
|
+
const cosmiconfig_1 = require("cosmiconfig");
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
+
// @ts-ignore Select *does* exist
|
|
30
|
+
const enquirer_1 = require("enquirer");
|
|
31
|
+
const fs_extra_1 = require("fs-extra");
|
|
32
|
+
const globby = __importStar(require("globby"));
|
|
33
|
+
const path_1 = require("path");
|
|
34
|
+
const readYamlFile = __importStar(require("read-yaml-file"));
|
|
35
|
+
const is_non_empty_object_1 = require("tightrope/guard/is-non-empty-object");
|
|
36
|
+
const constants_1 = require("../constants");
|
|
37
|
+
const log_verbose_1 = require("../lib/log-verbose");
|
|
38
|
+
exports.defaultEnv = {
|
|
39
|
+
/* istanbul ignore next */
|
|
40
|
+
askForChoice({ message, choices }) {
|
|
41
|
+
return new enquirer_1.Select({ name: 'choice', message, choices }).run();
|
|
42
|
+
},
|
|
43
|
+
/* istanbul ignore next */
|
|
44
|
+
askForInput({ message }) {
|
|
45
|
+
return new enquirer_1.Input({ message }).run();
|
|
46
|
+
},
|
|
47
|
+
/* istanbul ignore next */
|
|
48
|
+
globSync(patterns) {
|
|
49
|
+
(0, log_verbose_1.logVerbose)('globSync(', patterns, ')');
|
|
50
|
+
return globby.sync(patterns, {
|
|
51
|
+
ignore: ['**/node_modules/**'],
|
|
52
|
+
absolute: true,
|
|
53
|
+
cwd: constants_1.CWD,
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
/* istanbul ignore next */
|
|
57
|
+
exitProcess(code) {
|
|
58
|
+
(0, log_verbose_1.logVerbose)('exit(', code, ')');
|
|
59
|
+
process.exit(code);
|
|
60
|
+
},
|
|
61
|
+
readConfigFileSync(configPath) {
|
|
62
|
+
(0, log_verbose_1.logVerbose)('readConfigFileSync(', configPath, ')');
|
|
63
|
+
const client = (0, cosmiconfig_1.cosmiconfigSync)('syncpack');
|
|
64
|
+
const result = configPath ? client.load(configPath) : client.search();
|
|
65
|
+
if (!(0, is_non_empty_object_1.isNonEmptyObject)(result)) {
|
|
66
|
+
const rcPath = (0, path_1.join)(constants_1.CWD, 'package.json');
|
|
67
|
+
const pjson = (0, fs_extra_1.readJsonSync)(rcPath, { throws: false });
|
|
68
|
+
const rcConfig = pjson?.config?.syncpack;
|
|
69
|
+
if ((0, is_non_empty_object_1.isNonEmptyObject)(rcConfig))
|
|
70
|
+
return rcConfig;
|
|
71
|
+
(0, log_verbose_1.logVerbose)('no config file found');
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
74
|
+
const rcPath = result.filepath;
|
|
75
|
+
const rcConfig = result.config;
|
|
76
|
+
(0, log_verbose_1.logVerbose)('.syncpackrc path:', rcPath);
|
|
77
|
+
(0, log_verbose_1.logVerbose)('.syncpackrc contents:', rcConfig);
|
|
78
|
+
return rcConfig;
|
|
79
|
+
},
|
|
80
|
+
/* istanbul ignore next */
|
|
81
|
+
readFileSync(filePath) {
|
|
82
|
+
(0, log_verbose_1.logVerbose)('readFileSync(', filePath, ')');
|
|
83
|
+
return (0, fs_extra_1.readFileSync)(filePath, { encoding: 'utf8' });
|
|
84
|
+
},
|
|
85
|
+
/* istanbul ignore next */
|
|
86
|
+
readYamlFileSync(filePath) {
|
|
87
|
+
(0, log_verbose_1.logVerbose)('readYamlFileSync(', filePath, ')');
|
|
88
|
+
return readYamlFile.sync(filePath);
|
|
89
|
+
},
|
|
90
|
+
/* istanbul ignore next */
|
|
91
|
+
writeFileSync(filePath, contents) {
|
|
92
|
+
(0, log_verbose_1.logVerbose)('writeFileSync(', filePath, contents, ')');
|
|
93
|
+
(0, fs_extra_1.writeFileSync)(filePath, contents);
|
|
94
|
+
},
|
|
95
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.exitIfInvalid = void 0;
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
29
|
+
const tags_1 = require("./tags");
|
|
30
|
+
// @TODO what's the effect-ts way to process.exit?
|
|
31
|
+
function exitIfInvalid(ctx) {
|
|
32
|
+
return (0, Function_1.pipe)(tags_1.EnvTag, Effect.flatMap((env) => (ctx.isInvalid ? env.exitProcess(1) : Effect.unit())), Effect.map(() => ctx));
|
|
33
|
+
}
|
|
34
|
+
exports.exitIfInvalid = exitIfInvalid;
|