@codefast/cli 0.5.0-canary.5 → 1.0.0-canary.7
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 +106 -480
- package/dist/arrange/analyze.js +25 -0
- package/dist/arrange/analyze.js.map +1 -0
- package/dist/arrange/cli-schema.js +29 -0
- package/dist/arrange/cli-schema.js.map +1 -0
- package/dist/arrange/command.js +170 -0
- package/dist/arrange/command.js.map +1 -0
- package/dist/arrange/domain/analyze-service.js +122 -0
- package/dist/arrange/domain/analyze-service.js.map +1 -0
- package/dist/arrange/domain/ast/ast-node.js +240 -0
- package/dist/arrange/domain/ast/ast-node.js.map +1 -0
- package/dist/arrange/domain/ast/collectors-cn.js +81 -0
- package/dist/arrange/domain/ast/collectors-cn.js.map +1 -0
- package/dist/arrange/domain/ast/collectors-jsx.js +24 -0
- package/dist/arrange/domain/ast/collectors-jsx.js.map +1 -0
- package/dist/arrange/domain/ast/collectors-tv.js +319 -0
- package/dist/arrange/domain/ast/collectors-tv.js.map +1 -0
- package/dist/arrange/domain/ast/helpers.js +151 -0
- package/dist/arrange/domain/ast/helpers.js.map +1 -0
- package/dist/arrange/domain/ast/simplify-targets.js +161 -0
- package/dist/arrange/domain/ast/simplify-targets.js.map +1 -0
- package/dist/arrange/domain/ast/targets.js +182 -0
- package/dist/arrange/domain/ast/targets.js.map +1 -0
- package/dist/arrange/domain/constants.js +225 -0
- package/dist/arrange/domain/constants.js.map +1 -0
- package/dist/arrange/domain/grouping-service.js +128 -0
- package/dist/arrange/domain/grouping-service.js.map +1 -0
- package/dist/arrange/domain/grouping.js +435 -0
- package/dist/arrange/domain/grouping.js.map +1 -0
- package/dist/arrange/domain/imports.js +160 -0
- package/dist/arrange/domain/imports.js.map +1 -0
- package/dist/arrange/domain/source-text-formatters.js +100 -0
- package/dist/arrange/domain/source-text-formatters.js.map +1 -0
- package/dist/arrange/domain/tailwind-token.js +50 -0
- package/dist/arrange/domain/tailwind-token.js.map +1 -0
- package/dist/arrange/domain/token-classifier.js +448 -0
- package/dist/arrange/domain/token-classifier.js.map +1 -0
- package/dist/arrange/domain/types.js +11 -0
- package/dist/arrange/domain/types.js.map +1 -0
- package/dist/arrange/output.js +120 -0
- package/dist/arrange/output.js.map +1 -0
- package/dist/arrange/process-file.js +44 -0
- package/dist/arrange/process-file.js.map +1 -0
- package/dist/arrange/resolve-target.js +33 -0
- package/dist/arrange/resolve-target.js.map +1 -0
- package/dist/arrange/scan-target.js +30 -0
- package/dist/arrange/scan-target.js.map +1 -0
- package/dist/arrange/simplify-process-file.js +29 -0
- package/dist/arrange/simplify-process-file.js.map +1 -0
- package/dist/arrange/simplify-sync.js +29 -0
- package/dist/arrange/simplify-sync.js.map +1 -0
- package/dist/arrange/source-parse.js +17 -0
- package/dist/arrange/source-parse.js.map +1 -0
- package/dist/arrange/suggest.js +14 -0
- package/dist/arrange/suggest.js.map +1 -0
- package/dist/arrange/sync.js +48 -0
- package/dist/arrange/sync.js.map +1 -0
- package/dist/arrange/typescript-ast-translator.js +455 -0
- package/dist/arrange/typescript-ast-translator.js.map +1 -0
- package/dist/arrange/workspace.js +31 -0
- package/dist/arrange/workspace.js.map +1 -0
- package/dist/audit/cli-schema.js +22 -0
- package/dist/audit/cli-schema.js.map +1 -0
- package/dist/audit/command.js +60 -0
- package/dist/audit/command.js.map +1 -0
- package/dist/audit/domain/audit-file.js +101 -0
- package/dist/audit/domain/audit-file.js.map +1 -0
- package/dist/audit/domain/mappings.js +103 -0
- package/dist/audit/domain/mappings.js.map +1 -0
- package/dist/audit/domain/tokenize.js +83 -0
- package/dist/audit/domain/tokenize.js.map +1 -0
- package/dist/audit/domain/types.js +2 -0
- package/dist/audit/domain/types.js.map +1 -0
- package/dist/audit/output.js +44 -0
- package/dist/audit/output.js.map +1 -0
- package/dist/audit/prepare.js +42 -0
- package/dist/audit/prepare.js.map +1 -0
- package/dist/audit/run.js +57 -0
- package/dist/audit/run.js.map +1 -0
- package/dist/{bin.mjs → bin.js} +2 -4
- package/dist/bin.js.map +1 -0
- package/dist/cli.js +45 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/cli/format-error.js +19 -0
- package/dist/core/cli/format-error.js.map +1 -0
- package/dist/core/cli/global-options.js +10 -0
- package/dist/core/cli/global-options.js.map +1 -0
- package/dist/core/cli/positional.js +9 -0
- package/dist/core/cli/positional.js.map +1 -0
- package/dist/core/cli/result-handle.js +69 -0
- package/dist/core/cli/result-handle.js.map +1 -0
- package/dist/core/config/loader.js +88 -0
- package/dist/core/config/loader.js.map +1 -0
- package/dist/core/config/schema.js +97 -0
- package/dist/core/config/schema.js.map +1 -0
- package/dist/core/config/warnings.js +12 -0
- package/dist/core/config/warnings.js.map +1 -0
- package/dist/core/config.js +18 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/errors.js +58 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/exit-codes.js +15 -0
- package/dist/core/exit-codes.js.map +1 -0
- package/dist/core/filesystem/node.js +33 -0
- package/dist/core/filesystem/node.js.map +1 -0
- package/dist/core/filesystem/port.js +2 -0
- package/dist/core/filesystem/port.js.map +1 -0
- package/dist/core/glob.js +20 -0
- package/dist/core/glob.js.map +1 -0
- package/dist/core/logger.js +13 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/result.js +16 -0
- package/dist/core/result.js.map +1 -0
- package/dist/core/schema-parse.js +21 -0
- package/dist/core/schema-parse.js.map +1 -0
- package/dist/core/source-text-edit.js +62 -0
- package/dist/core/source-text-edit.js.map +1 -0
- package/dist/core/verbose-diagnostics.js +9 -0
- package/dist/core/verbose-diagnostics.js.map +1 -0
- package/dist/core/workspace/resolver.js +208 -0
- package/dist/core/workspace/resolver.js.map +1 -0
- package/dist/core/workspace/typescript-walk.js +41 -0
- package/dist/core/workspace/typescript-walk.js.map +1 -0
- package/dist/mirror/cli-result.js +20 -0
- package/dist/mirror/cli-result.js.map +1 -0
- package/dist/mirror/cli-schema.js +11 -0
- package/dist/mirror/cli-schema.js.map +1 -0
- package/dist/mirror/command.js +73 -0
- package/dist/mirror/command.js.map +1 -0
- package/dist/mirror/dist-filesystem-impl.js +53 -0
- package/dist/mirror/dist-filesystem-impl.js.map +1 -0
- package/dist/mirror/domain/constants.js +21 -0
- package/dist/mirror/domain/constants.js.map +1 -0
- package/dist/mirror/domain/dirent-guard.js +16 -0
- package/dist/mirror/domain/dirent-guard.js.map +1 -0
- package/dist/mirror/domain/dist-filesystem.js +2 -0
- package/dist/mirror/domain/dist-filesystem.js.map +1 -0
- package/dist/mirror/domain/errors.js +19 -0
- package/dist/mirror/domain/errors.js.map +1 -0
- package/dist/mirror/domain/exports.js +284 -0
- package/dist/mirror/domain/exports.js.map +1 -0
- package/dist/mirror/domain/package-display-name.js +10 -0
- package/dist/mirror/domain/package-display-name.js.map +1 -0
- package/dist/mirror/domain/path-normalizer.js +8 -0
- package/dist/mirror/domain/path-normalizer.js.map +1 -0
- package/dist/mirror/domain/types.js +2 -0
- package/dist/mirror/domain/types.js.map +1 -0
- package/dist/mirror/output.js +47 -0
- package/dist/mirror/output.js.map +1 -0
- package/dist/mirror/package-path.js +40 -0
- package/dist/mirror/package-path.js.map +1 -0
- package/dist/mirror/prepare.js +37 -0
- package/dist/mirror/prepare.js.map +1 -0
- package/dist/mirror/supplement-exports.js +157 -0
- package/dist/mirror/supplement-exports.js.map +1 -0
- package/dist/mirror/sync-reporter.js +125 -0
- package/dist/mirror/sync-reporter.js.map +1 -0
- package/dist/mirror/sync-types.js +2 -0
- package/dist/mirror/sync-types.js.map +1 -0
- package/dist/mirror/sync-workspace-package.js +117 -0
- package/dist/mirror/sync-workspace-package.js.map +1 -0
- package/dist/mirror/sync.js +90 -0
- package/dist/mirror/sync.js.map +1 -0
- package/dist/mirror/write-exports.js +145 -0
- package/dist/mirror/write-exports.js.map +1 -0
- package/dist/tag/cli-result.js +12 -0
- package/dist/tag/cli-result.js.map +1 -0
- package/dist/tag/cli-schema.js +13 -0
- package/dist/tag/cli-schema.js.map +1 -0
- package/dist/tag/command.js +69 -0
- package/dist/tag/command.js.map +1 -0
- package/dist/tag/domain/types.js +2 -0
- package/dist/tag/domain/types.js.map +1 -0
- package/dist/tag/output.js +101 -0
- package/dist/tag/output.js.map +1 -0
- package/dist/tag/prepare.js +30 -0
- package/dist/tag/prepare.js.map +1 -0
- package/dist/tag/resolve-target-path.js +14 -0
- package/dist/tag/resolve-target-path.js.map +1 -0
- package/dist/tag/since-writer.js +231 -0
- package/dist/tag/since-writer.js.map +1 -0
- package/dist/tag/sync.js +166 -0
- package/dist/tag/sync.js.map +1 -0
- package/dist/tag/target-candidates.js +79 -0
- package/dist/tag/target-candidates.js.map +1 -0
- package/dist/tag/target-runner.js +25 -0
- package/dist/tag/target-runner.js.map +1 -0
- package/dist/tag/version-resolver.js +28 -0
- package/dist/tag/version-resolver.js.map +1 -0
- package/package.json +27 -21
- package/dist/arrange/analyze.mjs +0 -24
- package/dist/arrange/cli-schema.mjs +0 -27
- package/dist/arrange/command.mjs +0 -130
- package/dist/arrange/domain/analyze-service.mjs +0 -102
- package/dist/arrange/domain/ast/ast-node.mjs +0 -215
- package/dist/arrange/domain/ast/collectors-cn.mjs +0 -64
- package/dist/arrange/domain/ast/collectors-jsx.mjs +0 -23
- package/dist/arrange/domain/ast/collectors-tv.mjs +0 -189
- package/dist/arrange/domain/ast/helpers.mjs +0 -108
- package/dist/arrange/domain/ast/simplify-targets.mjs +0 -109
- package/dist/arrange/domain/ast/targets.mjs +0 -134
- package/dist/arrange/domain/constants.mjs +0 -213
- package/dist/arrange/domain/grouping-service.mjs +0 -121
- package/dist/arrange/domain/grouping.mjs +0 -338
- package/dist/arrange/domain/imports.mjs +0 -107
- package/dist/arrange/domain/source-text-formatters.mjs +0 -88
- package/dist/arrange/domain/tailwind-token.mjs +0 -40
- package/dist/arrange/domain/token-classifier.mjs +0 -218
- package/dist/arrange/domain/types.mjs +0 -1
- package/dist/arrange/output.mjs +0 -87
- package/dist/arrange/process-file.mjs +0 -42
- package/dist/arrange/resolve-target.mjs +0 -24
- package/dist/arrange/scan-target.mjs +0 -29
- package/dist/arrange/simplify-process-file.mjs +0 -35
- package/dist/arrange/simplify-sync.mjs +0 -32
- package/dist/arrange/source-parse.mjs +0 -18
- package/dist/arrange/suggest.mjs +0 -15
- package/dist/arrange/sync.mjs +0 -51
- package/dist/arrange/typescript-ast-translator.mjs +0 -354
- package/dist/arrange/workspace.mjs +0 -31
- package/dist/cli.mjs +0 -34
- package/dist/core/cli/format-error.mjs +0 -15
- package/dist/core/cli/global-options.mjs +0 -10
- package/dist/core/cli/positional.mjs +0 -11
- package/dist/core/cli/result-handle.mjs +0 -51
- package/dist/core/config/loader.mjs +0 -79
- package/dist/core/config/schema.mjs +0 -60
- package/dist/core/config/warnings.mjs +0 -12
- package/dist/core/config.mjs +0 -19
- package/dist/core/errors.mjs +0 -35
- package/dist/core/exit-codes.mjs +0 -17
- package/dist/core/filesystem/node.mjs +0 -32
- package/dist/core/filesystem/port.mjs +0 -1
- package/dist/core/glob.mjs +0 -20
- package/dist/core/logger.mjs +0 -15
- package/dist/core/result.mjs +0 -21
- package/dist/core/schema-parse.mjs +0 -18
- package/dist/core/source-text-edit.mjs +0 -56
- package/dist/core/verbose-diagnostics.mjs +0 -11
- package/dist/core/workspace/resolver.mjs +0 -177
- package/dist/core/workspace/typescript-walk.mjs +0 -36
- package/dist/mirror/cli-result.mjs +0 -22
- package/dist/mirror/cli-schema.mjs +0 -13
- package/dist/mirror/command.mjs +0 -58
- package/dist/mirror/dist-filesystem-impl.mjs +0 -42
- package/dist/mirror/domain/constants.mjs +0 -31
- package/dist/mirror/domain/dirent-guard.mjs +0 -16
- package/dist/mirror/domain/dist-filesystem.mjs +0 -1
- package/dist/mirror/domain/errors.mjs +0 -21
- package/dist/mirror/domain/exports.mjs +0 -226
- package/dist/mirror/domain/package-display-name.mjs +0 -12
- package/dist/mirror/domain/path-normalizer.mjs +0 -10
- package/dist/mirror/domain/types.mjs +0 -1
- package/dist/mirror/output.mjs +0 -48
- package/dist/mirror/package-path.mjs +0 -32
- package/dist/mirror/prepare.mjs +0 -33
- package/dist/mirror/supplement-exports.mjs +0 -114
- package/dist/mirror/sync-reporter.mjs +0 -107
- package/dist/mirror/sync-types.mjs +0 -1
- package/dist/mirror/sync-workspace-package.mjs +0 -109
- package/dist/mirror/sync.mjs +0 -88
- package/dist/mirror/write-exports.mjs +0 -94
- package/dist/tag/cli-result.mjs +0 -11
- package/dist/tag/cli-schema.mjs +0 -15
- package/dist/tag/command.mjs +0 -56
- package/dist/tag/domain/types.mjs +0 -1
- package/dist/tag/output.mjs +0 -87
- package/dist/tag/prepare.mjs +0 -29
- package/dist/tag/resolve-target-path.mjs +0 -12
- package/dist/tag/since-writer.mjs +0 -131
- package/dist/tag/sync.mjs +0 -149
- package/dist/tag/target-candidates.mjs +0 -68
- package/dist/tag/target-runner.mjs +0 -26
- package/dist/tag/version-resolver.mjs +0 -25
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { globSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { parse as parseYaml } from "yaml";
|
|
5
|
+
import { messageFrom } from "#/core/errors";
|
|
6
|
+
import { createAnyGlobMatcher } from "#/core/glob";
|
|
7
|
+
import { logger } from "#/core/logger";
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the monorepo root (directory containing `pnpm-workspace.yaml`).
|
|
10
|
+
*
|
|
11
|
+
* @since 0.3.16-canary.0
|
|
12
|
+
*/
|
|
13
|
+
export function findRepoRoot(fromDirectory, fs) {
|
|
14
|
+
const candidates = [path.dirname(fileURLToPath(import.meta.url)), fromDirectory];
|
|
15
|
+
for (const start of candidates) {
|
|
16
|
+
let dir = path.resolve(start);
|
|
17
|
+
for (;;) {
|
|
18
|
+
if (fs.existsSync(path.join(dir, "pnpm-workspace.yaml"))) {
|
|
19
|
+
return dir;
|
|
20
|
+
}
|
|
21
|
+
const parent = path.dirname(dir);
|
|
22
|
+
if (parent === dir) {
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
dir = parent;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
throw new Error(`Could not locate monorepo root (missing pnpm-workspace.yaml). Searched from: ${candidates.join(", ")}`);
|
|
29
|
+
}
|
|
30
|
+
const workspaceYamlFileName = "pnpm-workspace.yaml";
|
|
31
|
+
const defaultIncludePatterns = ["packages/*"];
|
|
32
|
+
const packageJsonFileName = "package.json";
|
|
33
|
+
function toPosix(filePath) {
|
|
34
|
+
return filePath.split(path.sep).join("/");
|
|
35
|
+
}
|
|
36
|
+
function isGlobPermissionError(caughtError) {
|
|
37
|
+
if (typeof caughtError !== "object" || caughtError === null || !("code" in caughtError)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
const code = caughtError.code;
|
|
41
|
+
return code === "EACCES" || code === "EPERM";
|
|
42
|
+
}
|
|
43
|
+
function workspacePatternToPackageJsonGlob(pattern) {
|
|
44
|
+
const normalizedPattern = toPosix(pattern.trim()).replace(/\/+$/, "");
|
|
45
|
+
if (!normalizedPattern) {
|
|
46
|
+
return `**/${packageJsonFileName}`;
|
|
47
|
+
}
|
|
48
|
+
return `${normalizedPattern}/${packageJsonFileName}`;
|
|
49
|
+
}
|
|
50
|
+
function splitPnpmWorkspacePackagesArray(raw) {
|
|
51
|
+
const include = [];
|
|
52
|
+
const exclude = [];
|
|
53
|
+
if (!Array.isArray(raw)) {
|
|
54
|
+
return { include, exclude };
|
|
55
|
+
}
|
|
56
|
+
for (const entry of raw) {
|
|
57
|
+
if (typeof entry !== "string") {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const trimmed = entry.trim();
|
|
61
|
+
if (!trimmed) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (trimmed.startsWith("!")) {
|
|
65
|
+
exclude.push(trimmed.slice(1).trim());
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
include.push(trimmed);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { include, exclude };
|
|
72
|
+
}
|
|
73
|
+
function parsePnpmWorkspaceDocument(doc) {
|
|
74
|
+
const wf = workspaceYamlFileName;
|
|
75
|
+
if (doc === null || doc === undefined) {
|
|
76
|
+
throw new Error(`${wf} root document must be an object (got empty or null)`);
|
|
77
|
+
}
|
|
78
|
+
if (typeof doc !== "object" || Array.isArray(doc)) {
|
|
79
|
+
throw new Error(`${wf} root must be a mapping, not an array or scalar`);
|
|
80
|
+
}
|
|
81
|
+
const parsedDoc = doc;
|
|
82
|
+
if (!Object.prototype.hasOwnProperty.call(parsedDoc, "packages")) {
|
|
83
|
+
return { include: [], exclude: [], hasPackagesKey: false, isEmptyPackagesArray: false };
|
|
84
|
+
}
|
|
85
|
+
const pkgs = parsedDoc.packages;
|
|
86
|
+
if (!Array.isArray(pkgs)) {
|
|
87
|
+
throw new Error(`${wf} field "packages" must be an array`);
|
|
88
|
+
}
|
|
89
|
+
if (pkgs.length === 0) {
|
|
90
|
+
return { include: [], exclude: [], hasPackagesKey: true, isEmptyPackagesArray: true };
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
...splitPnpmWorkspacePackagesArray(pkgs),
|
|
94
|
+
hasPackagesKey: true,
|
|
95
|
+
isEmptyPackagesArray: false,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
async function readWorkspaceYaml(rootDir, fs) {
|
|
99
|
+
const wf = workspaceYamlFileName;
|
|
100
|
+
const workspaceYamlPath = path.join(rootDir, wf);
|
|
101
|
+
if (!fs.existsSync(workspaceYamlPath)) {
|
|
102
|
+
return { exists: false };
|
|
103
|
+
}
|
|
104
|
+
let raw;
|
|
105
|
+
try {
|
|
106
|
+
raw = await fs.readFile(workspaceYamlPath, "utf8");
|
|
107
|
+
}
|
|
108
|
+
catch (caughtReadError) {
|
|
109
|
+
throw new Error(`Failed to read ${wf}: ${messageFrom(caughtReadError)}`, {
|
|
110
|
+
cause: caughtReadError,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
let doc;
|
|
114
|
+
try {
|
|
115
|
+
doc = parseYaml(raw);
|
|
116
|
+
}
|
|
117
|
+
catch (caughtYamlParseError) {
|
|
118
|
+
throw new Error(`Failed to parse ${wf}: ${messageFrom(caughtYamlParseError)}`, {
|
|
119
|
+
cause: caughtYamlParseError,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (doc === null || doc === undefined) {
|
|
123
|
+
throw new Error(`${wf} must define a mapping at the document root`);
|
|
124
|
+
}
|
|
125
|
+
return { exists: true, doc };
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* @since 0.3.16-canary.0
|
|
129
|
+
*/
|
|
130
|
+
export async function listWorkspacePackageDirectories(rootDirectoryPathAbsolute, fs, suppressGlobPermissionDiagnostics) {
|
|
131
|
+
const workspaceYaml = await readWorkspaceYaml(rootDirectoryPathAbsolute, fs);
|
|
132
|
+
const defInc = defaultIncludePatterns;
|
|
133
|
+
let include;
|
|
134
|
+
let exclude;
|
|
135
|
+
let layoutSource;
|
|
136
|
+
const hasPnpmWorkspaceYamlFile = workspaceYaml.exists;
|
|
137
|
+
if (!workspaceYaml.exists) {
|
|
138
|
+
include = [...defInc];
|
|
139
|
+
exclude = [];
|
|
140
|
+
layoutSource = "default-patterns";
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const parsed = parsePnpmWorkspaceDocument(workspaceYaml.doc);
|
|
144
|
+
if (!parsed.hasPackagesKey) {
|
|
145
|
+
include = [...defInc];
|
|
146
|
+
exclude = [];
|
|
147
|
+
layoutSource = "default-patterns";
|
|
148
|
+
}
|
|
149
|
+
else if (parsed.isEmptyPackagesArray) {
|
|
150
|
+
return {
|
|
151
|
+
packageDirectoryPathsAbsolute: [],
|
|
152
|
+
layoutSource: "declared-empty",
|
|
153
|
+
hasPnpmWorkspaceYamlFile: true,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
include = parsed.include;
|
|
158
|
+
exclude = parsed.exclude;
|
|
159
|
+
layoutSource = "pnpm-workspace-yaml";
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
const foundRelativePosixPackageRoots = new Set();
|
|
163
|
+
const globOpts = {
|
|
164
|
+
cwd: rootDirectoryPathAbsolute,
|
|
165
|
+
posix: true,
|
|
166
|
+
...(path.sep === "\\" ? { windowsPathsNoEscape: true } : {}),
|
|
167
|
+
};
|
|
168
|
+
for (const pattern of include) {
|
|
169
|
+
const globPat = workspacePatternToPackageJsonGlob(pattern);
|
|
170
|
+
let matches;
|
|
171
|
+
try {
|
|
172
|
+
matches = globSync(globPat, globOpts);
|
|
173
|
+
}
|
|
174
|
+
catch (caughtGlobError) {
|
|
175
|
+
if (isGlobPermissionError(caughtGlobError)) {
|
|
176
|
+
if (!suppressGlobPermissionDiagnostics) {
|
|
177
|
+
logger.out(`⚠ Skipping workspace glob "${pattern}" (${messageFrom(caughtGlobError)})`);
|
|
178
|
+
}
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
throw new Error(`Invalid workspace glob "${pattern}": ${messageFrom(caughtGlobError)}`, {
|
|
182
|
+
cause: caughtGlobError,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
for (const matchedPath of matches) {
|
|
186
|
+
const posix = toPosix(matchedPath);
|
|
187
|
+
const suffix = `/${packageJsonFileName}`;
|
|
188
|
+
if (!posix.endsWith(suffix)) {
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
const rel = posix.slice(0, -suffix.length);
|
|
192
|
+
if (!rel) {
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
foundRelativePosixPackageRoots.add(rel);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const isExcluded = createAnyGlobMatcher(exclude, { dot: true });
|
|
199
|
+
const filteredRelative = [...foundRelativePosixPackageRoots].filter((rel) => !isExcluded(rel));
|
|
200
|
+
filteredRelative.sort((a, b) => a.localeCompare(b));
|
|
201
|
+
const packageDirectoryPathsAbsolute = filteredRelative.map((rel) => path.resolve(rootDirectoryPathAbsolute, rel.split("/").join(path.sep)));
|
|
202
|
+
return {
|
|
203
|
+
packageDirectoryPathsAbsolute,
|
|
204
|
+
layoutSource,
|
|
205
|
+
hasPnpmWorkspaceYamlFile,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/core/workspace/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
const defaultSkipDirectoryNames = new Set([
|
|
3
|
+
"node_modules",
|
|
4
|
+
"dist",
|
|
5
|
+
".git",
|
|
6
|
+
".turbo",
|
|
7
|
+
".next",
|
|
8
|
+
".cache",
|
|
9
|
+
"out",
|
|
10
|
+
"build",
|
|
11
|
+
"coverage",
|
|
12
|
+
".vercel",
|
|
13
|
+
".output",
|
|
14
|
+
]);
|
|
15
|
+
/**
|
|
16
|
+
* @since 0.3.16-canary.0
|
|
17
|
+
*/
|
|
18
|
+
export function walkTsxFiles(rootDirectoryPath, fs) {
|
|
19
|
+
const result = [];
|
|
20
|
+
visitTsxPaths(result, rootDirectoryPath, fs);
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
function visitTsxPaths(result, entryPath, fs) {
|
|
24
|
+
const entryStats = fs.statSync(entryPath);
|
|
25
|
+
if (entryStats.isDirectory()) {
|
|
26
|
+
for (const childName of fs.readdirSync(entryPath)) {
|
|
27
|
+
if (defaultSkipDirectoryNames.has(childName)) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
visitTsxPaths(result, path.join(entryPath, childName), fs);
|
|
31
|
+
}
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (entryPath.endsWith(".d.ts")) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (entryPath.endsWith(".tsx") || entryPath.endsWith(".ts")) {
|
|
38
|
+
result.push(entryPath);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=typescript-walk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript-walk.js","sourceRoot":"","sources":["../../../src/core/workspace/typescript-walk.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,cAAc;IACd,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,iBAAyB,EAAE,EAAkB;IACxE,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAqB,EAAE,SAAiB,EAAE,EAAkB;IACjF,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,IAAI,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,SAAS;YACX,CAAC;YACD,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CLI_EXIT_GENERAL_ERROR, CLI_EXIT_SUCCESS } from "#/core/exit-codes";
|
|
2
|
+
/**
|
|
3
|
+
* @since 0.3.16-canary.0
|
|
4
|
+
*/
|
|
5
|
+
export function exitCodeForMirrorSyncResult(stats) {
|
|
6
|
+
return stats.packagesErrored > 0 ? CLI_EXIT_GENERAL_ERROR : CLI_EXIT_SUCCESS;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @since 0.3.16-canary.0
|
|
10
|
+
*/
|
|
11
|
+
export function formatMirrorSyncJsonOutput(stats, elapsedSeconds, write = true) {
|
|
12
|
+
return JSON.stringify({
|
|
13
|
+
schemaVersion: 1,
|
|
14
|
+
ok: stats.packagesErrored === 0,
|
|
15
|
+
write,
|
|
16
|
+
elapsedSeconds,
|
|
17
|
+
stats,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=cli-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-result.js","sourceRoot":"","sources":["../../src/mirror/cli-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG7E;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAkB;IAC5D,OAAO,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAkB,EAAE,cAAsB,EAAE,KAAK,GAAG,IAAI;IACjG,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,aAAa,EAAE,CAAU;QACzB,EAAE,EAAE,KAAK,CAAC,eAAe,KAAK,CAAC;QAC/B,KAAK;QACL,cAAc;QACd,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* @since 0.3.16-canary.0
|
|
4
|
+
*/
|
|
5
|
+
export const mirrorSyncRunRequestSchema = z.object({
|
|
6
|
+
rootDir: z.string().min(1),
|
|
7
|
+
packageFilter: z.string().optional(),
|
|
8
|
+
config: z.unknown().optional(),
|
|
9
|
+
write: z.boolean().optional(),
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=cli-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-schema.js","sourceRoot":"","sources":["../../src/mirror/cli-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAoC,CAAC,CAAC,MAAM,CAAC;IAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import { globalCliCommanderOptionsSchema } from "#/core/cli/global-options";
|
|
4
|
+
import { readOptionalPositionalArg } from "#/core/cli/positional";
|
|
5
|
+
import { consumeCliAppError } from "#/core/cli/result-handle";
|
|
6
|
+
import { nodeFilesystem } from "#/core/filesystem/node";
|
|
7
|
+
import { logger } from "#/core/logger";
|
|
8
|
+
import { parseWithSchema } from "#/core/schema-parse";
|
|
9
|
+
import { exitCodeForMirrorSyncResult, formatMirrorSyncJsonOutput } from "#/mirror/cli-result";
|
|
10
|
+
import { mirrorSyncRunRequestSchema } from "#/mirror/cli-schema";
|
|
11
|
+
import { MirrorSyncProgressPresenter } from "#/mirror/output";
|
|
12
|
+
import { prepareMirrorSync } from "#/mirror/prepare";
|
|
13
|
+
import { runMirrorSync } from "#/mirror/sync";
|
|
14
|
+
/**
|
|
15
|
+
* @since 0.3.16-canary.0
|
|
16
|
+
*/
|
|
17
|
+
export function createMirrorCommand() {
|
|
18
|
+
const cmd = new Command("mirror")
|
|
19
|
+
.description("Write package.json exports from dist/ for workspace packages")
|
|
20
|
+
.argument("[package]", "Optional package path relative to repo root (e.g. packages/ui)")
|
|
21
|
+
.option("--dry-run", "Report what would change without writing package.json", false)
|
|
22
|
+
.option("-v, --verbose", "Print extra diagnostics", false)
|
|
23
|
+
.option("--json", "Print one JSON summary on stdout (suppresses human progress)", false)
|
|
24
|
+
.action(async (packageArg, opts, command) => {
|
|
25
|
+
const globalsOptionCarrier = command.optsWithGlobals?.() ??
|
|
26
|
+
command.opts();
|
|
27
|
+
const globalOptionsOutcome = parseWithSchema(globalCliCommanderOptionsSchema, globalsOptionCarrier);
|
|
28
|
+
if (!consumeCliAppError(globalOptionsOutcome)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const prelude = await prepareMirrorSync(nodeFilesystem, {
|
|
32
|
+
currentWorkingDirectory: process.cwd(),
|
|
33
|
+
packageArg: readOptionalPositionalArg(packageArg),
|
|
34
|
+
globals: globalOptionsOutcome.value,
|
|
35
|
+
});
|
|
36
|
+
if (!consumeCliAppError(prelude)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const write = !opts.dryRun;
|
|
40
|
+
const { rootDir, config, packageFilter } = prelude.value;
|
|
41
|
+
const parsed = parseWithSchema(mirrorSyncRunRequestSchema, {
|
|
42
|
+
rootDir,
|
|
43
|
+
config: config.mirror ?? {},
|
|
44
|
+
packageFilter,
|
|
45
|
+
write,
|
|
46
|
+
});
|
|
47
|
+
if (!consumeCliAppError(parsed)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const json = !!opts.json;
|
|
51
|
+
const noColor = globalOptionsOutcome.value.color === false;
|
|
52
|
+
const verbose = !!opts.verbose;
|
|
53
|
+
const progressPresenter = new MirrorSyncProgressPresenter();
|
|
54
|
+
const listener = json ? undefined : progressPresenter;
|
|
55
|
+
if (!json) {
|
|
56
|
+
progressPresenter.configure({ noColor, verbose, dryRun: !write });
|
|
57
|
+
}
|
|
58
|
+
const startTime = performance.now();
|
|
59
|
+
const outcome = await runMirrorSync(nodeFilesystem, {
|
|
60
|
+
...parsed.value,
|
|
61
|
+
listener,
|
|
62
|
+
});
|
|
63
|
+
if (!consumeCliAppError(outcome)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (json) {
|
|
67
|
+
logger.out(formatMirrorSyncJsonOutput(outcome.value, (performance.now() - startTime) / 1000, write));
|
|
68
|
+
}
|
|
69
|
+
process.exitCode = exitCodeForMirrorSyncResult(outcome.value);
|
|
70
|
+
});
|
|
71
|
+
return cmd;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/mirror/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { isDirentList } from "#/mirror/domain/dirent-guard";
|
|
3
|
+
import { normalizePath } from "#/mirror/domain/path-normalizer";
|
|
4
|
+
/**
|
|
5
|
+
* @since 0.3.16-canary.0
|
|
6
|
+
*/
|
|
7
|
+
export function createMirrorDistFilesystem(fs) {
|
|
8
|
+
return {
|
|
9
|
+
async listRelativeFilesRecursively(dirPath) {
|
|
10
|
+
try {
|
|
11
|
+
const raw = await fs.readdir(dirPath, { recursive: true, withFileTypes: true });
|
|
12
|
+
if (!isDirentList(raw)) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
return raw
|
|
16
|
+
.filter((dirent) => dirent.isFile())
|
|
17
|
+
.map((dirent) => {
|
|
18
|
+
const fullPath = path.join(dirent.parentPath, dirent.name);
|
|
19
|
+
const relPath = path.relative(dirPath, fullPath);
|
|
20
|
+
return normalizePath(relPath);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (caughtError) {
|
|
24
|
+
if (isKnownReadDirError(caughtError)) {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
throw caughtError;
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
async isDirectoryCssOnly(distDir, dirPath) {
|
|
31
|
+
try {
|
|
32
|
+
const raw = await fs.readdir(path.join(distDir, dirPath), { withFileTypes: true });
|
|
33
|
+
if (!isDirentList(raw)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
if (raw.length === 0) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
return raw.every((dirent) => dirent.isFile() && dirent.name.endsWith(".css"));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function isKnownReadDirError(caughtError) {
|
|
48
|
+
return (typeof caughtError === "object" &&
|
|
49
|
+
caughtError !== null &&
|
|
50
|
+
"code" in caughtError &&
|
|
51
|
+
(caughtError.code === "ENOENT" || caughtError.code === "EACCES"));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=dist-filesystem-impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-filesystem-impl.js","sourceRoot":"","sources":["../../src/mirror/dist-filesystem-impl.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAkB;IAC3D,OAAO;QACL,KAAK,CAAC,4BAA4B,CAAC,OAAe;YAChD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,OAAO,GAAG;qBACP,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;qBACnC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACjD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,WAAoB,EAAE,CAAC;gBAC9B,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,MAAM,WAAW,CAAC;YACpB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,OAAe;YACvD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAoB;IAC/C,OAAO,CACL,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,MAAM,IAAI,WAAW;QACrB,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CACjE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.3.16-canary.0
|
|
3
|
+
*/
|
|
4
|
+
export const DIST_DIR = "dist";
|
|
5
|
+
/**
|
|
6
|
+
* @since 0.3.16-canary.0
|
|
7
|
+
*/
|
|
8
|
+
export const PACKAGE_JSON = "package.json";
|
|
9
|
+
/**
|
|
10
|
+
* @since 0.3.16-canary.0
|
|
11
|
+
*/
|
|
12
|
+
export const VALID_JS_EXTENSIONS = new Set([".js", ".mjs", ".cjs"]);
|
|
13
|
+
/**
|
|
14
|
+
* @since 0.3.16-canary.0
|
|
15
|
+
*/
|
|
16
|
+
export const VALID_DTS_EXTENSIONS = new Set([".d.ts", ".d.mts", ".d.cts"]);
|
|
17
|
+
/**
|
|
18
|
+
* @since 0.3.16-canary.0
|
|
19
|
+
*/
|
|
20
|
+
export const PACKAGE_JSON_EXPORT = "./package.json";
|
|
21
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/mirror/domain/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACpE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrow `fs.promises.readdir` overload result to `Dirent[]` when `withFileTypes: true`.
|
|
3
|
+
* Accepts both historical checks (`isFile` / `isDirectory`) in one guard.
|
|
4
|
+
* Returning `true` for an empty array is intentional: callers treat empty lists
|
|
5
|
+
* the same regardless of the element type, so `[]` is safely accepted as `Dirent[]`.
|
|
6
|
+
*
|
|
7
|
+
* @since 0.3.16-canary.0
|
|
8
|
+
*/
|
|
9
|
+
export function isDirentList(x) {
|
|
10
|
+
if (x.length === 0) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
const first = x[0];
|
|
14
|
+
return typeof first === "object" && first !== null && "isFile" in first && "isDirectory" in first;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=dirent-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dirent-guard.js","sourceRoot":"","sources":["../../../src/mirror/domain/dirent-guard.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,CAAwC;IACnE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAA4B,CAAC;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,CAAC;AACpG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-filesystem.js","sourceRoot":"","sources":["../../../src/mirror/domain/dist-filesystem.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 0.3.16-canary.0
|
|
3
|
+
*/
|
|
4
|
+
export const MirrorErrorCode = {
|
|
5
|
+
FATAL: "FATAL",
|
|
6
|
+
PACKAGE_WRITE: "PACKAGE_WRITE",
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @since 0.3.16-canary.0
|
|
10
|
+
*/
|
|
11
|
+
export class MirrorError extends Error {
|
|
12
|
+
code;
|
|
13
|
+
constructor(code, message, options) {
|
|
14
|
+
super(message, options);
|
|
15
|
+
this.name = "MirrorError";
|
|
16
|
+
this.code = code;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/mirror/domain/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;CACtB,CAAC;AAOX;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAkB;IAE/B,YAAY,IAAqB,EAAE,OAAe,EAAE,OAAsB;QACxE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|