components-differ 1.0.17 → 1.2.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/README.md +16 -191
- package/dist/index.mjs +114 -0
- package/dist/src/components.mjs +111 -0
- package/dist/src/create-diff.mjs +96 -0
- package/dist/src/git.mjs +141 -0
- package/dist/src/parse-file-path.mjs +64 -0
- package/package.json +20 -16
- package/dist/components.d.ts +0 -6
- package/dist/components.d.ts.map +0 -1
- package/dist/components.js +0 -119
- package/dist/components.js.map +0 -1
- package/dist/create-diff.d.ts +0 -14
- package/dist/create-diff.d.ts.map +0 -1
- package/dist/create-diff.js +0 -246
- package/dist/create-diff.js.map +0 -1
- package/dist/git.d.ts +0 -5
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js +0 -120
- package/dist/git.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -166
- package/dist/index.js.map +0 -1
- package/dist/parse-file-path.d.ts +0 -3
- package/dist/parse-file-path.d.ts.map +0 -1
- package/dist/parse-file-path.js +0 -53
- package/dist/parse-file-path.js.map +0 -1
- package/dist/registry.d.ts +0 -3
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -112
- package/dist/registry.js.map +0 -1
- package/dist/shadcn-init.d.ts +0 -11
- package/dist/shadcn-init.d.ts.map +0 -1
- package/dist/shadcn-init.js +0 -208
- package/dist/shadcn-init.js.map +0 -1
- package/dist/types.d.ts +0 -42
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
|
|
3
|
+
function fixAlias(alias) {
|
|
4
|
+
return alias.replace("@", ".");
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function parseFilePath(wasInSrcDir, config, filePath, content) {
|
|
8
|
+
const normalizedPath = filePath.replace(/^\.\//, "");
|
|
9
|
+
const extension = path.extname(normalizedPath);
|
|
10
|
+
const baseName = path.basename(normalizedPath);
|
|
11
|
+
|
|
12
|
+
const styleExtensions = new Set([".css", ".scss", ".sass", ".less", ".pcss"]);
|
|
13
|
+
const fileExtensions = new Set([".json", ".yaml", ".yml", ".md", ".mdx", ".txt"]);
|
|
14
|
+
const themePattern = /(\/|^)(theme|.*-theme)(\.[a-z0-9]+)?$/i;
|
|
15
|
+
|
|
16
|
+
const sanitizedTargetPath = normalizedPath.replace(/^src\//, "");
|
|
17
|
+
const defaultTarget = wasInSrcDir
|
|
18
|
+
? filePath
|
|
19
|
+
: `~/${normalizedPath}`;
|
|
20
|
+
|
|
21
|
+
const out = {
|
|
22
|
+
path: filePath,
|
|
23
|
+
content,
|
|
24
|
+
type: "registry:example",
|
|
25
|
+
target: defaultTarget,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
if (filePath.startsWith(fixAlias(config.ui))) {
|
|
29
|
+
out.type = "registry:ui";
|
|
30
|
+
out.target = undefined;
|
|
31
|
+
} else if (filePath.startsWith(fixAlias(config.components))) {
|
|
32
|
+
out.type = "registry:block";
|
|
33
|
+
out.target = undefined;
|
|
34
|
+
} else if (filePath.startsWith(fixAlias(config.hooks))) {
|
|
35
|
+
out.type = "registry:hook";
|
|
36
|
+
out.target = undefined;
|
|
37
|
+
} else if (filePath.startsWith(fixAlias(config.lib))) {
|
|
38
|
+
out.type = "registry:lib";
|
|
39
|
+
out.target = undefined;
|
|
40
|
+
} else if (normalizedPath.startsWith("app/")) {
|
|
41
|
+
out.type = "registry:page";
|
|
42
|
+
out.target = `./${sanitizedTargetPath}`;
|
|
43
|
+
} else if (themePattern.test(normalizedPath)) {
|
|
44
|
+
out.type = "registry:theme";
|
|
45
|
+
out.target = undefined;
|
|
46
|
+
} else if (styleExtensions.has(extension)) {
|
|
47
|
+
out.type = "registry:style";
|
|
48
|
+
} else if (baseName.startsWith(".env") || fileExtensions.has(extension)) {
|
|
49
|
+
out.type = "registry:file";
|
|
50
|
+
out.target = `~/${sanitizedTargetPath}`;
|
|
51
|
+
} else if (extension === ".tsx" || extension === ".jsx") {
|
|
52
|
+
out.type = "registry:component";
|
|
53
|
+
out.target = undefined;
|
|
54
|
+
} else {
|
|
55
|
+
out.type = "registry:item";
|
|
56
|
+
out.target = undefined;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (out.type === "registry:example") {
|
|
60
|
+
out.path = filePath;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return out;
|
|
64
|
+
}
|
package/package.json
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "components-differ",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Simple CLI to create Shadcn components from project",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/index.
|
|
7
|
-
"bin": "dist/index.
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
"test": "tests"
|
|
6
|
+
"main": "dist/index.mjs",
|
|
7
|
+
"bin": "dist/index.mjs",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./dist/index.mjs"
|
|
11
10
|
},
|
|
12
11
|
"files": [
|
|
13
12
|
"dist"
|
|
14
13
|
],
|
|
14
|
+
"directories": {
|
|
15
|
+
"test": "tests"
|
|
16
|
+
},
|
|
15
17
|
"dependencies": {
|
|
16
|
-
"commander": "^
|
|
17
|
-
"ignore": "^
|
|
18
|
+
"commander": "^12.1.0",
|
|
19
|
+
"ignore": "^6.0.2"
|
|
18
20
|
},
|
|
19
21
|
"devDependencies": {
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
22
|
+
"vitest": "^2.1.1"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=18"
|
|
24
29
|
},
|
|
25
30
|
"repository": {
|
|
26
31
|
"type": "git",
|
|
@@ -40,9 +45,8 @@
|
|
|
40
45
|
},
|
|
41
46
|
"homepage": "https://github.com/componentshost/components-differ#readme",
|
|
42
47
|
"scripts": {
|
|
43
|
-
"build": "
|
|
44
|
-
"
|
|
45
|
-
"test": "vitest run"
|
|
46
|
-
"test:watch": "vitest"
|
|
48
|
+
"build": "node ./scripts/build.mjs",
|
|
49
|
+
"release": "pnpm run prepublishOnly && pnpm publish --access public",
|
|
50
|
+
"test": "vitest run"
|
|
47
51
|
}
|
|
48
52
|
}
|
package/dist/components.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { ComponentsConfig, FileEntry } from "./types.js";
|
|
2
|
-
export declare function findComponentFiles(config: ComponentsConfig, originalFiles: FileEntry[]): string[];
|
|
3
|
-
export declare function readComponentsManifest(dir: string): ComponentsConfig;
|
|
4
|
-
export declare function getAliasedPaths(config: ComponentsConfig): string[];
|
|
5
|
-
export declare function isBuiltinComponent(config: ComponentsConfig, filePath: string): boolean;
|
|
6
|
-
//# sourceMappingURL=components.d.ts.map
|
package/dist/components.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAyE9D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAoBjG;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAepE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQlE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQtF"}
|
package/dist/components.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
const WHITELISTED_COMPONENTS = new Set([
|
|
4
|
-
"accordion",
|
|
5
|
-
"alert-dialog",
|
|
6
|
-
"alert",
|
|
7
|
-
"aspect-ratio",
|
|
8
|
-
"avatar",
|
|
9
|
-
"badge",
|
|
10
|
-
"breadcrumb",
|
|
11
|
-
"button-group",
|
|
12
|
-
"button",
|
|
13
|
-
"calendar",
|
|
14
|
-
"card",
|
|
15
|
-
"carousel",
|
|
16
|
-
"chart",
|
|
17
|
-
"checkbox",
|
|
18
|
-
"collapsible",
|
|
19
|
-
"combobox",
|
|
20
|
-
"command",
|
|
21
|
-
"context-menu",
|
|
22
|
-
"data-table",
|
|
23
|
-
"date-picker",
|
|
24
|
-
"dialog",
|
|
25
|
-
"drawer",
|
|
26
|
-
"dropdown-menu",
|
|
27
|
-
"empty",
|
|
28
|
-
"field",
|
|
29
|
-
"form",
|
|
30
|
-
"hover-card",
|
|
31
|
-
"input-group",
|
|
32
|
-
"input-otp",
|
|
33
|
-
"input",
|
|
34
|
-
"item",
|
|
35
|
-
"kbd",
|
|
36
|
-
"label",
|
|
37
|
-
"menubar",
|
|
38
|
-
"native-select",
|
|
39
|
-
"navigation-menu",
|
|
40
|
-
"pagination",
|
|
41
|
-
"popover",
|
|
42
|
-
"progress",
|
|
43
|
-
"radio-group",
|
|
44
|
-
"resizable",
|
|
45
|
-
"scroll-area",
|
|
46
|
-
"select",
|
|
47
|
-
"separator",
|
|
48
|
-
"sheet",
|
|
49
|
-
"sidebar",
|
|
50
|
-
"skeleton",
|
|
51
|
-
"slider",
|
|
52
|
-
"sonner",
|
|
53
|
-
"spinner",
|
|
54
|
-
"switch",
|
|
55
|
-
"table",
|
|
56
|
-
"tabs",
|
|
57
|
-
"textarea",
|
|
58
|
-
"toast",
|
|
59
|
-
"toggle-group",
|
|
60
|
-
"toggle",
|
|
61
|
-
"tooltip",
|
|
62
|
-
"typography",
|
|
63
|
-
]);
|
|
64
|
-
function resolveAlias(config, key) {
|
|
65
|
-
const alias = config[key];
|
|
66
|
-
if (typeof alias !== "string") {
|
|
67
|
-
throw new Error(`Missing alias for ${key.toString()} in components configuration`);
|
|
68
|
-
}
|
|
69
|
-
return alias.replace("@/", config.isSrcDir ? "src/" : "");
|
|
70
|
-
}
|
|
71
|
-
export function findComponentFiles(config, originalFiles) {
|
|
72
|
-
const registryDependencies = [];
|
|
73
|
-
const componentDirectory = resolveAlias(config, "ui");
|
|
74
|
-
for (const { path: filePath } of originalFiles) {
|
|
75
|
-
if (!filePath.startsWith(componentDirectory)) {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
const extension = path.extname(filePath);
|
|
79
|
-
if (extension !== ".tsx" && extension !== ".jsx") {
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
const fileName = path.basename(filePath, extension);
|
|
83
|
-
if (WHITELISTED_COMPONENTS.has(fileName)) {
|
|
84
|
-
registryDependencies.push(fileName);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return registryDependencies;
|
|
88
|
-
}
|
|
89
|
-
export function readComponentsManifest(dir) {
|
|
90
|
-
const manifestPath = path.join(dir, "./components.json");
|
|
91
|
-
if (!fs.existsSync(manifestPath)) {
|
|
92
|
-
throw new Error("Components manifest not found");
|
|
93
|
-
}
|
|
94
|
-
const contents = fs.readFileSync(manifestPath, "utf-8");
|
|
95
|
-
const manifest = JSON.parse(contents);
|
|
96
|
-
const config = manifest.aliases;
|
|
97
|
-
if (!config) {
|
|
98
|
-
throw new Error("Invalid components manifest format: missing aliases");
|
|
99
|
-
}
|
|
100
|
-
return config;
|
|
101
|
-
}
|
|
102
|
-
export function getAliasedPaths(config) {
|
|
103
|
-
return [
|
|
104
|
-
config.components.replace("@/", ""),
|
|
105
|
-
config.utils.replace("@/", ""),
|
|
106
|
-
config.ui.replace("@/", ""),
|
|
107
|
-
config.lib.replace("@/", ""),
|
|
108
|
-
config.hooks.replace("@/", ""),
|
|
109
|
-
];
|
|
110
|
-
}
|
|
111
|
-
export function isBuiltinComponent(config, filePath) {
|
|
112
|
-
const uiDirectory = config.ui.replace("@/", "");
|
|
113
|
-
if (!filePath.startsWith(uiDirectory)) {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
const componentName = path.basename(filePath, path.extname(filePath));
|
|
117
|
-
return WHITELISTED_COMPONENTS.has(componentName);
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=components.js.map
|
package/dist/components.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
|
package/dist/create-diff.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ComponentsConfig, DiffResult, FileEntry } from "./types.js";
|
|
2
|
-
interface CreateDiffParams {
|
|
3
|
-
name: string;
|
|
4
|
-
config: ComponentsConfig & {
|
|
5
|
-
isSrcDir: boolean;
|
|
6
|
-
};
|
|
7
|
-
alteredFiles: FileEntry[];
|
|
8
|
-
specificFiles: Record<string, string>;
|
|
9
|
-
currentFiles: FileEntry[];
|
|
10
|
-
currentPackageJson: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function createDiff({ name, config, alteredFiles, specificFiles, currentFiles, currentPackageJson, }: CreateDiffParams): DiffResult;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=create-diff.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-diff.d.ts","sourceRoot":"","sources":["../src/create-diff.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1E,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA2LD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,EAAE,gBAAgB,GAAG,UAAU,CAoJ/B"}
|
package/dist/create-diff.js
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
|
-
import { findComponentFiles, getAliasedPaths, isBuiltinComponent } from "./components.js";
|
|
3
|
-
import { parseFilePath } from "./parse-file-path.js";
|
|
4
|
-
const IMPORT_EXPORT_REGEX = /(?:import|export)\s+(?:[^"'`;]*?\s+from\s+)?["']([^"'`]+)["']/g;
|
|
5
|
-
const DYNAMIC_IMPORT_REGEX = /import\(\s*["']([^"'`]+)["']\s*\)/g;
|
|
6
|
-
const REQUIRE_REGEX = /require\(\s*["']([^"'`]+)["']\s*\)/g;
|
|
7
|
-
const RESOLVABLE_EXTENSIONS = [
|
|
8
|
-
".ts",
|
|
9
|
-
".tsx",
|
|
10
|
-
".js",
|
|
11
|
-
".jsx",
|
|
12
|
-
".mjs",
|
|
13
|
-
".cjs",
|
|
14
|
-
".cts",
|
|
15
|
-
".mts",
|
|
16
|
-
".json",
|
|
17
|
-
".css",
|
|
18
|
-
".scss",
|
|
19
|
-
".sass",
|
|
20
|
-
".pcss",
|
|
21
|
-
".less",
|
|
22
|
-
".mdx",
|
|
23
|
-
];
|
|
24
|
-
function addFile(output, config, inSrcDir, relativeFilePath, content) {
|
|
25
|
-
if (isBuiltinComponent(config, relativeFilePath)) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
output.files.push(parseFilePath(inSrcDir, config, `./${relativeFilePath}`, content));
|
|
29
|
-
}
|
|
30
|
-
function isInAppDir(filePath) {
|
|
31
|
-
return filePath.startsWith("app/");
|
|
32
|
-
}
|
|
33
|
-
function normalizeProjectPath(filePath) {
|
|
34
|
-
return filePath.replace(/^\.\//, "").replace(/\\/g, "/");
|
|
35
|
-
}
|
|
36
|
-
function buildAliasMap(config) {
|
|
37
|
-
const aliasEntries = [];
|
|
38
|
-
const aliasKeys = ["components", "utils", "ui", "lib", "hooks"];
|
|
39
|
-
for (const key of aliasKeys) {
|
|
40
|
-
const alias = config[key];
|
|
41
|
-
if (typeof alias !== "string") {
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
const normalizedAlias = alias.startsWith("@/") ? alias : `@/${alias.replace(/^\.\//, "")}`;
|
|
45
|
-
const resolvedPath = alias.startsWith("@/")
|
|
46
|
-
? alias.replace("@/", config.isSrcDir ? "src/" : "")
|
|
47
|
-
: alias.replace(/^\.\//, config.isSrcDir ? "src/" : "");
|
|
48
|
-
aliasEntries.push([normalizedAlias, normalizeProjectPath(resolvedPath)]);
|
|
49
|
-
}
|
|
50
|
-
aliasEntries.sort((a, b) => b[0].length - a[0].length);
|
|
51
|
-
return Object.fromEntries(aliasEntries);
|
|
52
|
-
}
|
|
53
|
-
function resolveWithExtensions(candidate, fileMap) {
|
|
54
|
-
const normalized = normalizeProjectPath(candidate);
|
|
55
|
-
if (fileMap.has(normalized)) {
|
|
56
|
-
return normalized;
|
|
57
|
-
}
|
|
58
|
-
const hasExtension = path.posix.extname(normalized).length > 0;
|
|
59
|
-
if (hasExtension) {
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
for (const extension of RESOLVABLE_EXTENSIONS) {
|
|
63
|
-
const withExtension = `${normalized}${extension}`;
|
|
64
|
-
if (fileMap.has(withExtension)) {
|
|
65
|
-
return withExtension;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
for (const extension of RESOLVABLE_EXTENSIONS) {
|
|
69
|
-
const indexPath = `${normalized}/index${extension}`;
|
|
70
|
-
if (fileMap.has(indexPath)) {
|
|
71
|
-
return indexPath;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return undefined;
|
|
75
|
-
}
|
|
76
|
-
function resolveAliasImport(specifier, aliasMap, fileMap) {
|
|
77
|
-
for (const [alias, target] of Object.entries(aliasMap)) {
|
|
78
|
-
if (!specifier.startsWith(alias)) {
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const suffix = specifier.slice(alias.length);
|
|
82
|
-
const candidate = suffix.length > 0 ? `${target}${suffix}` : target;
|
|
83
|
-
const resolved = resolveWithExtensions(candidate, fileMap);
|
|
84
|
-
if (resolved) {
|
|
85
|
-
return resolved;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
function resolveRelativeImport(specifier, fromPath, fileMap) {
|
|
91
|
-
const baseDir = path.posix.dirname(fromPath);
|
|
92
|
-
const candidate = path.posix.normalize(path.posix.join(baseDir, specifier));
|
|
93
|
-
if (candidate.startsWith("..")) {
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
return resolveWithExtensions(candidate, fileMap);
|
|
97
|
-
}
|
|
98
|
-
function extractModuleSpecifiers(content) {
|
|
99
|
-
const specifiers = [];
|
|
100
|
-
const matchers = [IMPORT_EXPORT_REGEX, DYNAMIC_IMPORT_REGEX, REQUIRE_REGEX];
|
|
101
|
-
for (const matcher of matchers) {
|
|
102
|
-
matcher.lastIndex = 0;
|
|
103
|
-
let match;
|
|
104
|
-
while ((match = matcher.exec(content)) !== null) {
|
|
105
|
-
const specifier = match[1];
|
|
106
|
-
if (typeof specifier === "string" && specifier.length > 0) {
|
|
107
|
-
specifiers.push(specifier);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return specifiers;
|
|
112
|
-
}
|
|
113
|
-
function normalizeModuleName(specifier) {
|
|
114
|
-
if (specifier.startsWith("@")) {
|
|
115
|
-
const scoped = specifier.split("/");
|
|
116
|
-
if (scoped.length >= 2) {
|
|
117
|
-
return `${scoped[0]}/${scoped[1]}`;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const parts = specifier.split("/");
|
|
121
|
-
return parts[0];
|
|
122
|
-
}
|
|
123
|
-
function computeRelativePath(config, aliasedRoots, projectPath) {
|
|
124
|
-
if (config.isSrcDir) {
|
|
125
|
-
if (projectPath.startsWith("src/")) {
|
|
126
|
-
return { relativePath: projectPath.replace(/^src\//, ""), inSrcDir: true };
|
|
127
|
-
}
|
|
128
|
-
return { relativePath: projectPath, inSrcDir: false };
|
|
129
|
-
}
|
|
130
|
-
const inAliasRoot = aliasedRoots.some((alias) => projectPath === alias || projectPath.startsWith(`${alias}/`));
|
|
131
|
-
if (inAliasRoot || isInAppDir(projectPath)) {
|
|
132
|
-
return { relativePath: projectPath, inSrcDir: true };
|
|
133
|
-
}
|
|
134
|
-
return { relativePath: projectPath, inSrcDir: false };
|
|
135
|
-
}
|
|
136
|
-
export function createDiff({ name, config, alteredFiles, specificFiles, currentFiles, currentPackageJson, }) {
|
|
137
|
-
const output = {
|
|
138
|
-
name,
|
|
139
|
-
type: "registry:block",
|
|
140
|
-
dependencies: [],
|
|
141
|
-
devDependencies: [],
|
|
142
|
-
registryDependencies: [],
|
|
143
|
-
files: [],
|
|
144
|
-
tailwind: {},
|
|
145
|
-
cssVars: {},
|
|
146
|
-
meta: {},
|
|
147
|
-
};
|
|
148
|
-
const fileMap = new Map(currentFiles.map((file) => [normalizeProjectPath(file.path), file]));
|
|
149
|
-
const aliasedRoots = getAliasedPaths(config).map((alias) => normalizeProjectPath(alias));
|
|
150
|
-
const aliasMap = buildAliasMap(config);
|
|
151
|
-
const visited = new Set();
|
|
152
|
-
const added = new Set();
|
|
153
|
-
const bareImports = new Set();
|
|
154
|
-
const usedRegistryComponents = new Set();
|
|
155
|
-
function addToOutput(projectPath) {
|
|
156
|
-
const normalizedPath = normalizeProjectPath(projectPath);
|
|
157
|
-
if (added.has(normalizedPath)) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
const fileEntry = fileMap.get(normalizedPath);
|
|
161
|
-
if (!fileEntry) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
const { relativePath, inSrcDir } = computeRelativePath(config, aliasedRoots, normalizedPath);
|
|
165
|
-
if (isBuiltinComponent(config, relativePath)) {
|
|
166
|
-
const dependencyName = path.posix.basename(relativePath, path.posix.extname(relativePath));
|
|
167
|
-
usedRegistryComponents.add(dependencyName);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
addFile(output, config, inSrcDir, relativePath, fileEntry.content);
|
|
171
|
-
added.add(normalizedPath);
|
|
172
|
-
}
|
|
173
|
-
function walkFile(projectPath) {
|
|
174
|
-
const normalizedPath = normalizeProjectPath(projectPath);
|
|
175
|
-
if (visited.has(normalizedPath)) {
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
visited.add(normalizedPath);
|
|
179
|
-
const fileEntry = fileMap.get(normalizedPath);
|
|
180
|
-
if (!fileEntry) {
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
addToOutput(normalizedPath);
|
|
184
|
-
const specifiers = extractModuleSpecifiers(fileEntry.content);
|
|
185
|
-
for (const specifier of specifiers) {
|
|
186
|
-
const trimmed = specifier.trim();
|
|
187
|
-
if (trimmed.startsWith(".") && !trimmed.startsWith("...")) {
|
|
188
|
-
const resolved = resolveRelativeImport(trimmed, normalizedPath, fileMap);
|
|
189
|
-
if (resolved) {
|
|
190
|
-
walkFile(resolved);
|
|
191
|
-
}
|
|
192
|
-
continue;
|
|
193
|
-
}
|
|
194
|
-
const resolved = resolveAliasImport(trimmed, aliasMap, fileMap);
|
|
195
|
-
if (resolved) {
|
|
196
|
-
walkFile(resolved);
|
|
197
|
-
continue;
|
|
198
|
-
}
|
|
199
|
-
if (!trimmed.startsWith("node:") && !trimmed.startsWith("/")) {
|
|
200
|
-
bareImports.add(normalizeModuleName(trimmed));
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
for (const file of alteredFiles) {
|
|
205
|
-
walkFile(file.path);
|
|
206
|
-
}
|
|
207
|
-
const initialPackageJson = specificFiles["./package.json"]
|
|
208
|
-
? JSON.parse(specificFiles["./package.json"])
|
|
209
|
-
: {};
|
|
210
|
-
const currentPackage = JSON.parse(currentPackageJson);
|
|
211
|
-
const currentDependencies = (currentPackage.dependencies ?? {});
|
|
212
|
-
const currentDevDependencies = (currentPackage.devDependencies ?? {});
|
|
213
|
-
const initialDependencies = (initialPackageJson.dependencies ?? {});
|
|
214
|
-
const initialDevDependencies = (initialPackageJson.devDependencies ?? {});
|
|
215
|
-
const importedDependencies = Array.from(bareImports).filter((dep) => dep in currentDependencies);
|
|
216
|
-
const newDependencies = importedDependencies.filter((dep) => !(dep in initialDependencies));
|
|
217
|
-
const newDevDependencies = Object.keys(currentDevDependencies).filter((dep) => !(dep in initialDevDependencies));
|
|
218
|
-
const dependencyVersions = {};
|
|
219
|
-
const devDependencyVersions = {};
|
|
220
|
-
for (const dep of newDependencies) {
|
|
221
|
-
const version = currentDependencies[dep];
|
|
222
|
-
if (version) {
|
|
223
|
-
dependencyVersions[dep] = version;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
for (const dep of newDevDependencies) {
|
|
227
|
-
const version = currentDevDependencies[dep];
|
|
228
|
-
if (version) {
|
|
229
|
-
devDependencyVersions[dep] = version;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
output.dependencies = Array.from(new Set(newDependencies.map((dep) => (dependencyVersions[dep] ? `${dep}@${dependencyVersions[dep]}` : dep)))).sort();
|
|
233
|
-
output.devDependencies = Array.from(new Set(newDevDependencies.map((dep) => devDependencyVersions[dep] ? `${dep}@${devDependencyVersions[dep]}` : dep))).sort();
|
|
234
|
-
if (Object.keys(dependencyVersions).length > 0 || Object.keys(devDependencyVersions).length > 0) {
|
|
235
|
-
output.meta.packageVersions = {
|
|
236
|
-
dependencies: dependencyVersions,
|
|
237
|
-
devDependencies: devDependencyVersions,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
for (const dependency of findComponentFiles(config, currentFiles)) {
|
|
241
|
-
usedRegistryComponents.add(dependency);
|
|
242
|
-
}
|
|
243
|
-
output.registryDependencies = Array.from(usedRegistryComponents).sort();
|
|
244
|
-
return output;
|
|
245
|
-
}
|
|
246
|
-
//# sourceMappingURL=create-diff.js.map
|
package/dist/create-diff.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-diff.js","sourceRoot":"","sources":["../src/create-diff.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAcrD,MAAM,mBAAmB,GAAG,gEAAgE,CAAC;AAC7F,MAAM,oBAAoB,GAAG,oCAAoC,CAAC;AAClE,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAE5D,MAAM,qBAAqB,GAAG;IAC5B,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;CACP,CAAC;AAEF,SAAS,OAAO,CACd,MAAkB,EAClB,MAAwB,EACxB,QAAiB,EACjB,gBAAwB,EACxB,OAAe;IAEf,IAAI,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,MAAiD;IACtE,MAAM,YAAY,GAAuB,EAAE,CAAC;IAC5C,MAAM,SAAS,GAA+B,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5F,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3F,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1D,YAAY,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB,EAAE,OAA+B;IAC/E,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,GAAG,UAAU,SAAS,SAAS,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAiB,EACjB,QAAkB,EAClB,OAA+B;IAE/B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,QAAgB,EAChB,OAA+B;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5E,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAC5E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAgD,EAChD,YAAsB,EACtB,WAAmB;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7E,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CACxE,CAAC;IAEF,IAAI,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,GACD;IACjB,MAAM,MAAM,GAAe;QACzB,IAAI;QACJ,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,oBAAoB,EAAE,EAAE;QACxB,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CACpE,CAAC;IACF,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjD,SAAS,WAAW,CAAC,WAAmB;QACtC,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAE7F,IAAI,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3F,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,QAAQ,CAAC,WAAmB;QACnC,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,WAAW,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACzE,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACrB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,kBAAkB,GAAG,aAAa,CAAC,gBAAgB,CAAC;QACxD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEtD,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAC,YAAY,IAAI,EAAE,CAA2B,CAAC;IAC1F,MAAM,sBAAsB,GAAG,CAAC,cAAc,CAAC,eAAe,IAAI,EAAE,CAA2B,CAAC;IAChG,MAAM,mBAAmB,GAAG,CAAC,kBAAkB,CAAC,YAAY,IAAI,EAAE,CAA2B,CAAC;IAC9F,MAAM,sBAAsB,GAAG,CAAC,kBAAkB,CAAC,eAAe,IAAI,EAAE,CAGvE,CAAC;IAEF,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC;IAC5F,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CACnE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAC1C,CAAC;IAEF,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IACtD,MAAM,qBAAqB,GAA2B,EAAE,CAAC;IAEzD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,kBAAkB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,qBAAqB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAC9B,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAC7G,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,GAAG,CACL,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7B,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC1E,CACF,CACF,CAAC,IAAI,EAAE,CAAC;IAET,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG;YAC5B,YAAY,EAAE,kBAAkB;YAChC,eAAe,EAAE,qBAAqB;SACvC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QAClE,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;IAExE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/git.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { AlteredFilesResult, FileEntry } from "./types.js";
|
|
2
|
-
export declare function scanForFiles(startDir: string, checkFile?: boolean): FileEntry[];
|
|
3
|
-
export declare function scanForAlteredFiles(specificFilesToReturn?: string[]): AlteredFilesResult;
|
|
4
|
-
export declare function hasSrcDir(dir: string): boolean;
|
|
5
|
-
//# sourceMappingURL=git.d.ts.map
|
package/dist/git.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuEhE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,SAAS,EAAE,CA4C7E;AAED,wBAAgB,mBAAmB,CAAC,qBAAqB,GAAE,MAAM,EAAO,GAAG,kBAAkB,CAmB5F;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9C"}
|