syncpack 10.5.1 → 10.7.2
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 +8 -5
- 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 -49
- 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 -75
- 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 -87
- package/dist/bin-prompt/effects.d.ts +2 -0
- package/dist/bin-prompt/effects.js +110 -0
- package/dist/bin-prompt/index.js +28 -4
- 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-update/effects.d.ts +11 -0
- package/dist/bin-update/effects.js +187 -0
- package/dist/bin-update/index.d.ts +2 -0
- package/dist/bin-update/index.js +80 -0
- package/dist/bin-update/update.d.ts +4 -0
- package/dist/bin-update/update.js +47 -0
- 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-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 +8 -6
- 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 +40 -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 +55 -0
- package/dist/create-program/versions.d.ts +7 -0
- package/dist/create-program/versions.js +70 -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 +94 -42
- 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 +131 -47
- package/dist/get-version-groups/index.js +123 -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 +10 -4
- package/dist/get-version-groups/same-range.js +38 -15
- 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.d.ts +1 -0
- package/dist/lib/set-semver-range.js +14 -6
- 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 +4 -4
- package/dist/strategy/unnamed-version-string.js +4 -4
- package/dist/strategy/versions-by-name.js +3 -3
- package/package.json +28 -18
- 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-prompt/prompt-cli.d.ts +0 -3
- package/dist/bin-prompt/prompt-cli.js +0 -50
- 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 -21
- package/dist/lib/disk.js +0 -79
- 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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultErrorHandlers = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
exports.defaultErrorHandlers = {
|
|
10
|
+
DeprecatedTypesError(err) {
|
|
11
|
+
const url = 'https://github.com/JamieMason/syncpack/releases/tag/9.0.0';
|
|
12
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, `Your syncpack config file contains values deprecated in ${url}`));
|
|
13
|
+
console.log(chalk_1.default.red(' Dependency Types:', err.types));
|
|
14
|
+
console.log(chalk_1.default.red(' Docs: https://jamiemason.github.io/syncpack/config/dependency-types'));
|
|
15
|
+
},
|
|
16
|
+
GlobError(err) {
|
|
17
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'An error was found when processing your source globs'));
|
|
18
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
19
|
+
},
|
|
20
|
+
JsonParseError(err) {
|
|
21
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'An error was found when parsing a JSON file'));
|
|
22
|
+
console.log(chalk_1.default.red(' File:', err.filePath));
|
|
23
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
24
|
+
},
|
|
25
|
+
NoSourcesFoundError(err) {
|
|
26
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'No package.json files were found'));
|
|
27
|
+
console.log(chalk_1.default.red(' CWD:'), err.CWD);
|
|
28
|
+
console.log(chalk_1.default.red(' Sources:', err.patterns));
|
|
29
|
+
},
|
|
30
|
+
ReadConfigFileError(err) {
|
|
31
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'Your syncpack config file contains an error'));
|
|
32
|
+
console.log(chalk_1.default.red(' File:', err.filePath || 'not known (discovered by cosmiconfig)'));
|
|
33
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
34
|
+
},
|
|
35
|
+
ReadFileError(err) {
|
|
36
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'An error was found when reading a file'));
|
|
37
|
+
console.log(chalk_1.default.red(' File:', err.filePath));
|
|
38
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
39
|
+
},
|
|
40
|
+
SemverGroupConfigError(err) {
|
|
41
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'Your semver group config contains an error'));
|
|
42
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
43
|
+
console.log(chalk_1.default.red(' Config:'), err.config);
|
|
44
|
+
console.log(chalk_1.default.red(' Docs: https://jamiemason.github.io/syncpack/config/semver-groups'));
|
|
45
|
+
},
|
|
46
|
+
VersionGroupConfigError(err) {
|
|
47
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'Your version group config contains an error'));
|
|
48
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
49
|
+
console.log(chalk_1.default.red(' Config:'), err.config);
|
|
50
|
+
console.log(chalk_1.default.red(' Docs: https://jamiemason.github.io/syncpack/config/version-groups'));
|
|
51
|
+
},
|
|
52
|
+
WriteFileError(err) {
|
|
53
|
+
console.log(chalk_1.default.red(constants_1.ICON.panic, 'An error was found when writing to a file'));
|
|
54
|
+
console.log(chalk_1.default.red(' File:', err.filePath));
|
|
55
|
+
console.log(chalk_1.default.red(' Error:', err.error));
|
|
56
|
+
},
|
|
57
|
+
};
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
1
2
|
import type { O } from 'ts-toolbelt';
|
|
2
|
-
import type
|
|
3
|
+
import { type CliConfig, type RcConfig } from '../config/types';
|
|
4
|
+
import type { Env } from '../env/create-env';
|
|
5
|
+
import type { GlobError, ReadConfigFileError, ReadFileError } from '../env/tags';
|
|
6
|
+
import type { NoSourcesFoundError } from '../get-package-json-files/get-file-paths';
|
|
7
|
+
import type { JsonParseError } from '../get-package-json-files/get-patterns/read-json-safe';
|
|
3
8
|
import type { PackageJsonFile } from '../get-package-json-files/package-json-file';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
rcFile: O.Partial<RcConfig, 'deep'>;
|
|
9
|
+
export interface Ctx {
|
|
10
|
+
readonly config: {
|
|
11
|
+
readonly cli: Partial<CliConfig>;
|
|
12
|
+
readonly rcFile: O.Partial<RcConfig, 'deep'>;
|
|
9
13
|
};
|
|
10
|
-
disk: Disk;
|
|
11
14
|
isInvalid: boolean;
|
|
12
15
|
packageJsonFiles: PackageJsonFile[];
|
|
13
16
|
}
|
|
14
|
-
export declare function getContext(
|
|
17
|
+
export declare function getContext(): Effect.Effect<Partial<CliConfig> | Env, NoSourcesFoundError | GlobError | ReadFileError | JsonParseError | ReadConfigFileError, Ctx>;
|
|
@@ -1,17 +1,39 @@
|
|
|
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
26
|
exports.getContext = void 0;
|
|
4
|
-
const
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
29
|
+
const types_1 = require("../config/types");
|
|
30
|
+
const tags_1 = require("../env/tags");
|
|
5
31
|
const get_package_json_files_1 = require("../get-package-json-files");
|
|
6
|
-
function getContext(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const packageJsonFiles = (0, unwrap_1.unwrap)((0, get_package_json_files_1.getPackageJsonFiles)(disk, config));
|
|
10
|
-
return {
|
|
11
|
-
config,
|
|
12
|
-
disk,
|
|
32
|
+
function getContext() {
|
|
33
|
+
return (0, Function_1.pipe)(Effect.Do(), Effect.bind('cli', () => types_1.CliConfigTag), Effect.bind('env', () => tags_1.EnvTag), Effect.bind('rcFile', ({ cli, env }) => env.readConfigFileSync(cli.configPath)), Effect.bind('packageJsonFiles', get_package_json_files_1.getPackageJsonFiles), Effect.map(({ cli, rcFile, packageJsonFiles }) => ({
|
|
34
|
+
config: { cli, rcFile },
|
|
13
35
|
isInvalid: false,
|
|
14
36
|
packageJsonFiles,
|
|
15
|
-
};
|
|
37
|
+
})));
|
|
16
38
|
}
|
|
17
39
|
exports.getContext = getContext;
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import type
|
|
4
|
-
type
|
|
1
|
+
import * as Data from '@effect/data/Data';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import { type Env } from '../env/create-env';
|
|
4
|
+
import type { GlobError } from '../env/tags';
|
|
5
|
+
import type { Ctx } from '../get-context';
|
|
6
|
+
declare const NoSourcesFoundError_base: new <A extends Record<string, any>>(args: Data.IsEqualTo<Omit<A, keyof import("@effect/data/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal").Equal>) => Data.Data<A & {
|
|
7
|
+
_tag: "NoSourcesFoundError";
|
|
8
|
+
}>;
|
|
9
|
+
export declare class NoSourcesFoundError extends NoSourcesFoundError_base<{
|
|
10
|
+
readonly CWD: string;
|
|
11
|
+
readonly patterns: string[];
|
|
12
|
+
}> {
|
|
13
|
+
}
|
|
5
14
|
/**
|
|
6
|
-
* Using --source options and/or config files on disk from
|
|
7
|
-
* return an array of absolute paths to every package.json
|
|
8
|
-
* working with.
|
|
15
|
+
* Using --source options and/or config files on disk from
|
|
16
|
+
* npm/pnpm/yarn/lerna, return an array of absolute paths to every package.json
|
|
17
|
+
* file the user is working with.
|
|
9
18
|
*
|
|
10
19
|
* @returns Array of absolute file paths to package.json files
|
|
11
20
|
*/
|
|
12
|
-
export declare function getFilePaths(
|
|
21
|
+
export declare function getFilePaths(config: Ctx['config']): Effect.Effect<Env, GlobError | NoSourcesFoundError, string[]>;
|
|
13
22
|
export {};
|
|
@@ -1,30 +1,50 @@
|
|
|
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.getFilePaths = void 0;
|
|
4
|
-
const
|
|
26
|
+
exports.getFilePaths = exports.NoSourcesFoundError = void 0;
|
|
27
|
+
const Data = __importStar(require("@effect/data/Data"));
|
|
28
|
+
const Function_1 = require("@effect/data/Function");
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
5
30
|
const uniq_1 = require("tightrope/array/uniq");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const filter_1 = require("tightrope/result/filter");
|
|
10
|
-
const from_try_1 = require("tightrope/result/from-try");
|
|
11
|
-
const map_1 = require("tightrope/result/map");
|
|
12
|
-
const map_err_1 = require("tightrope/result/map-err");
|
|
13
|
-
const _R_1 = require("../lib/$R");
|
|
14
|
-
const print_strings_1 = require("../lib/print-strings");
|
|
31
|
+
const is_non_empty_array_1 = require("tightrope/guard/is-non-empty-array");
|
|
32
|
+
const constants_1 = require("../constants");
|
|
33
|
+
const tags_1 = require("../env/tags");
|
|
15
34
|
const get_patterns_1 = require("./get-patterns");
|
|
35
|
+
class NoSourcesFoundError extends Data.TaggedClass('NoSourcesFoundError') {
|
|
36
|
+
}
|
|
37
|
+
exports.NoSourcesFoundError = NoSourcesFoundError;
|
|
16
38
|
/**
|
|
17
|
-
* Using --source options and/or config files on disk from
|
|
18
|
-
* return an array of absolute paths to every package.json
|
|
19
|
-
* working with.
|
|
39
|
+
* Using --source options and/or config files on disk from
|
|
40
|
+
* npm/pnpm/yarn/lerna, return an array of absolute paths to every package.json
|
|
41
|
+
* file the user is working with.
|
|
20
42
|
*
|
|
21
43
|
* @returns Array of absolute file paths to package.json files
|
|
22
44
|
*/
|
|
23
|
-
function getFilePaths(
|
|
24
|
-
return (0,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}), (0, map_1.map)(flat_1.flat), (0, map_1.map)(uniq_1.uniq), (0, map_err_1.mapErr)(() => new Error(`No files matched ${(0, print_strings_1.printStrings)(patterns)}`)));
|
|
28
|
-
}));
|
|
45
|
+
function getFilePaths(config) {
|
|
46
|
+
return (0, Function_1.pipe)((0, get_patterns_1.getPatterns)(config), Effect.flatMap((patterns) => (0, Function_1.pipe)(tags_1.EnvTag, Effect.flatMap((env) => env.globSync(patterns)), Effect.map((arr) => (0, uniq_1.uniq)(arr.flat())), Effect.flatMap((filePaths) => (0, is_non_empty_array_1.isNonEmptyArray)(filePaths)
|
|
47
|
+
? Effect.succeed(filePaths)
|
|
48
|
+
: Effect.fail(new NoSourcesFoundError({ CWD: constants_1.CWD, patterns }))))));
|
|
29
49
|
}
|
|
30
50
|
exports.getFilePaths = getFilePaths;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import * as O from '@effect/data/Option';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import type { Env } from '../../env/create-env';
|
|
4
|
+
export declare function getLernaPatterns(): Effect.Effect<Env, never, O.Option<string[]>>;
|
|
@@ -1,17 +1,40 @@
|
|
|
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
26
|
exports.getLernaPatterns = void 0;
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const O = __importStar(require("@effect/data/Option"));
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
4
30
|
const path_1 = require("path");
|
|
5
|
-
const get_1 = require("tightrope/fn/get");
|
|
6
|
-
const pipe_1 = require("tightrope/fn/pipe");
|
|
7
31
|
const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
|
|
8
|
-
const and_then_1 = require("tightrope/result/and-then");
|
|
9
|
-
const filter_1 = require("tightrope/result/filter");
|
|
10
32
|
const constants_1 = require("../../constants");
|
|
11
33
|
const read_json_safe_1 = require("./read-json-safe");
|
|
12
|
-
function getLernaPatterns(
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
34
|
+
function getLernaPatterns() {
|
|
35
|
+
return (0, Function_1.pipe)((0, read_json_safe_1.readJsonSafe)((0, path_1.join)(constants_1.CWD, 'lerna.json')), Effect.map((file) => (0, is_array_of_strings_1.isArrayOfStrings)(file?.contents?.packages) ? O.some(file.contents.packages) : O.none()), Effect.catchTags({
|
|
36
|
+
ReadFileError: () => Effect.succeed(O.none()),
|
|
37
|
+
JsonParseError: () => Effect.succeed(O.none()),
|
|
38
|
+
}));
|
|
16
39
|
}
|
|
17
40
|
exports.getLernaPatterns = getLernaPatterns;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import * as O from '@effect/data/Option';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import { type Env } from '../../env/create-env';
|
|
4
|
+
export declare function getPnpmPatterns(): Effect.Effect<Env, never, O.Option<string[]>>;
|
|
@@ -1,22 +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
26
|
exports.getPnpmPatterns = void 0;
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const O = __importStar(require("@effect/data/Option"));
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
4
30
|
const path_1 = require("path");
|
|
5
|
-
const get_1 = require("tightrope/fn/get");
|
|
6
|
-
const pipe_1 = require("tightrope/fn/pipe");
|
|
7
31
|
const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
|
|
8
|
-
const and_then_1 = require("tightrope/result/and-then");
|
|
9
|
-
const filter_1 = require("tightrope/result/filter");
|
|
10
32
|
const constants_1 = require("../../constants");
|
|
11
|
-
const
|
|
12
|
-
function getPnpmPatterns(
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
33
|
+
const tags_1 = require("../../env/tags");
|
|
34
|
+
function getPnpmPatterns() {
|
|
35
|
+
return (0, Function_1.pipe)(
|
|
36
|
+
// packages:
|
|
37
|
+
// - "packages/**"
|
|
38
|
+
// - "components/**"
|
|
39
|
+
// - "!**/test/**"
|
|
40
|
+
tags_1.EnvTag, Effect.flatMap((env) => env.readYamlFileSync((0, path_1.join)(constants_1.CWD, 'pnpm-workspace.yaml'))), Effect.map((file) => ((0, is_array_of_strings_1.isArrayOfStrings)(file?.packages) ? O.some(file.packages) : O.none())), Effect.catchTags({
|
|
41
|
+
ReadYamlFileError: () => Effect.succeed(O.none()),
|
|
42
|
+
}));
|
|
21
43
|
}
|
|
22
44
|
exports.getPnpmPatterns = getPnpmPatterns;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import * as O from '@effect/data/Option';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import type { Env } from '../../env/create-env';
|
|
4
|
+
export declare function getYarnPatterns(): Effect.Effect<Env, never, O.Option<string[]>>;
|
|
@@ -1,18 +1,46 @@
|
|
|
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
26
|
exports.getYarnPatterns = void 0;
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const O = __importStar(require("@effect/data/Option"));
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
4
30
|
const path_1 = require("path");
|
|
5
|
-
const get_1 = require("tightrope/fn/get");
|
|
6
|
-
const pipe_1 = require("tightrope/fn/pipe");
|
|
7
31
|
const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
|
|
8
|
-
const
|
|
9
|
-
const filter_1 = require("tightrope/result/filter");
|
|
10
|
-
const or_else_1 = require("tightrope/result/or-else");
|
|
32
|
+
const is_non_empty_object_1 = require("tightrope/guard/is-non-empty-object");
|
|
11
33
|
const constants_1 = require("../../constants");
|
|
12
34
|
const read_json_safe_1 = require("./read-json-safe");
|
|
13
|
-
function getYarnPatterns(
|
|
14
|
-
return
|
|
15
|
-
|
|
16
|
-
|
|
35
|
+
function getYarnPatterns() {
|
|
36
|
+
return (0, Function_1.pipe)((0, read_json_safe_1.readJsonSafe)((0, path_1.join)(constants_1.CWD, 'package.json')), Effect.map((file) => (0, is_non_empty_object_1.isNonEmptyObject)(file?.contents?.workspaces) &&
|
|
37
|
+
(0, is_array_of_strings_1.isArrayOfStrings)(file.contents.workspaces?.packages)
|
|
38
|
+
? O.some(file.contents.workspaces.packages)
|
|
39
|
+
: (0, is_array_of_strings_1.isArrayOfStrings)(file?.contents?.workspaces)
|
|
40
|
+
? O.some(file.contents.workspaces)
|
|
41
|
+
: O.none()), Effect.catchTags({
|
|
42
|
+
ReadFileError: () => Effect.succeed(O.none()),
|
|
43
|
+
JsonParseError: () => Effect.succeed(O.none()),
|
|
44
|
+
}));
|
|
17
45
|
}
|
|
18
46
|
exports.getYarnPatterns = getYarnPatterns;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import type { Env } from '../../env/create-env';
|
|
3
|
+
import type { Ctx } from '../../get-context';
|
|
4
4
|
/**
|
|
5
5
|
* Find every glob pattern which should be used to find package.json files for
|
|
6
6
|
* this monorepo.
|
|
7
7
|
*
|
|
8
8
|
* @returns `['./package.json', './packages/* /package.json']`
|
|
9
9
|
*/
|
|
10
|
-
export declare function getPatterns(
|
|
10
|
+
export declare function getPatterns(config: Ctx['config']): Effect.Effect<Env, never, string[]>;
|
|
@@ -1,12 +1,33 @@
|
|
|
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
26
|
exports.getPatterns = void 0;
|
|
4
|
-
const
|
|
27
|
+
const Function_1 = require("@effect/data/Function");
|
|
28
|
+
const O = __importStar(require("@effect/data/Option"));
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
5
30
|
const is_array_of_strings_1 = require("tightrope/guard/is-array-of-strings");
|
|
6
|
-
const result_1 = require("tightrope/result");
|
|
7
|
-
const from_guard_1 = require("tightrope/result/from-guard");
|
|
8
|
-
const map_1 = require("tightrope/result/map");
|
|
9
|
-
const or_else_1 = require("tightrope/result/or-else");
|
|
10
31
|
const get_source_1 = require("../../config/get-source");
|
|
11
32
|
const constants_1 = require("../../constants");
|
|
12
33
|
const get_lerna_patterns_1 = require("./get-lerna-patterns");
|
|
@@ -18,18 +39,16 @@ const get_yarn_patterns_1 = require("./get-yarn-patterns");
|
|
|
18
39
|
*
|
|
19
40
|
* @returns `['./package.json', './packages/* /package.json']`
|
|
20
41
|
*/
|
|
21
|
-
function getPatterns(
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
};
|
|
42
|
+
function getPatterns(config) {
|
|
43
|
+
return (0, Function_1.pipe)(getCliPatterns(), Effect.flatMap((option) => (O.isSome(option) ? Effect.succeed(option) : (0, get_yarn_patterns_1.getYarnPatterns)())), Effect.flatMap((option) => (O.isSome(option) ? Effect.succeed(option) : (0, get_pnpm_patterns_1.getPnpmPatterns)())), Effect.flatMap((option) => (O.isSome(option) ? Effect.succeed(option) : (0, get_lerna_patterns_1.getLernaPatterns)())), Effect.map((option) => (0, Function_1.pipe)(option, O.map(addRootDir), O.map(limitToPackageJson), O.getOrElse(() => constants_1.DEFAULT_SOURCES))));
|
|
44
|
+
function getCliPatterns() {
|
|
45
|
+
return (0, Function_1.pipe)(O.some((0, get_source_1.getSource)(config)), O.filter(is_array_of_strings_1.isArrayOfStrings), Effect.succeed);
|
|
46
|
+
}
|
|
47
|
+
function addRootDir(patterns) {
|
|
48
|
+
return ['package.json', ...patterns];
|
|
49
|
+
}
|
|
50
|
+
function limitToPackageJson(patterns) {
|
|
51
|
+
return patterns.map((pattern) => pattern.includes('package.json') ? pattern : `${pattern}/package.json`);
|
|
52
|
+
}
|
|
34
53
|
}
|
|
35
54
|
exports.getPatterns = getPatterns;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import * as Data from '@effect/data/Data';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import type { Env } from '../../env/create-env';
|
|
4
|
+
import type { ReadFileError } from '../../env/tags';
|
|
3
5
|
export interface JsonFile<T> {
|
|
4
6
|
/** absolute path on disk to this file */
|
|
5
7
|
readonly filePath: string;
|
|
@@ -8,4 +10,14 @@ export interface JsonFile<T> {
|
|
|
8
10
|
/** raw file contents of the file */
|
|
9
11
|
readonly json: string;
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
declare const JsonParseError_base: new <A extends Record<string, any>>(args: Data.IsEqualTo<Omit<A, keyof import("@effect/data/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("@effect/data/Equal").Equal>) => Data.Data<A & {
|
|
14
|
+
_tag: "JsonParseError";
|
|
15
|
+
}>;
|
|
16
|
+
export declare class JsonParseError extends JsonParseError_base<{
|
|
17
|
+
readonly error: string;
|
|
18
|
+
readonly filePath: string;
|
|
19
|
+
readonly json: string;
|
|
20
|
+
}> {
|
|
21
|
+
}
|
|
22
|
+
export declare function readJsonSafe<T>(filePath: string): Effect.Effect<Env, ReadFileError | JsonParseError, JsonFile<T>>;
|
|
23
|
+
export {};
|
|
@@ -1,14 +1,40 @@
|
|
|
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.readJsonSafe = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
26
|
+
exports.readJsonSafe = exports.JsonParseError = void 0;
|
|
27
|
+
const Data = __importStar(require("@effect/data/Data"));
|
|
28
|
+
const Function_1 = require("@effect/data/Function");
|
|
29
|
+
const Effect = __importStar(require("@effect/io/Effect"));
|
|
30
|
+
const tags_1 = require("../../env/tags");
|
|
31
|
+
class JsonParseError extends Data.TaggedClass('JsonParseError') {
|
|
32
|
+
}
|
|
33
|
+
exports.JsonParseError = JsonParseError;
|
|
34
|
+
// @TODO: move to env.readJsonFileSync
|
|
35
|
+
function readJsonSafe(filePath) {
|
|
36
|
+
return (0, Function_1.pipe)(Effect.Do(), Effect.bind('env', () => tags_1.EnvTag), Effect.bind('json', ({ env }) => env.readFileSync(filePath)), Effect.bind('contents', ({ json }) =>
|
|
37
|
+
// @TODO: move to env.parseJson
|
|
38
|
+
Effect.tryCatch(() => JSON.parse(json), (err) => new JsonParseError({ error: String(err), filePath, json }))), Effect.map(({ contents, json }) => ({ contents, filePath, json })));
|
|
13
39
|
}
|
|
14
40
|
exports.readJsonSafe = readJsonSafe;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import type { Env } from '../env/create-env';
|
|
3
|
+
import type { GlobError, ReadFileError } from '../env/tags';
|
|
4
|
+
import type { Ctx } from '../get-context';
|
|
5
|
+
import type { NoSourcesFoundError } from './get-file-paths';
|
|
6
|
+
import type { JsonParseError } from './get-patterns/read-json-safe';
|
|
4
7
|
import { PackageJsonFile } from './package-json-file';
|
|
5
8
|
/** Create an API for every package.json file needed. */
|
|
6
|
-
export declare function getPackageJsonFiles(
|
|
9
|
+
export declare function getPackageJsonFiles(config: Ctx['config']): Effect.Effect<Env, NoSourcesFoundError | GlobError | ReadFileError | JsonParseError, PackageJsonFile[]>;
|