components-differ 1.0.17 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,166 +0,0 @@
1
- #!/usr/bin/env node
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import { execSync } from "node:child_process";
5
- import { program } from "commander";
6
- import { scanForAlteredFiles, scanForFiles, hasSrcDir } from "./git.js";
7
- import { readComponentsManifest } from "./components.js";
8
- import { createDiff } from "./create-diff.js";
9
- import { writeRegistryFile } from "./registry.js";
10
- import { initShadcnProject } from "./shadcn-init.js";
11
- program.option("-n, --name <name>", "Name of the component set to diff");
12
- program.option("--init", "Initialise a git repository for the current directory");
13
- program.option("--registry [path]", "Create or update a registry.json file. Defaults to ./registry.json when no path is provided.");
14
- program.option("--initshadcn [type]", "Initialise shadcn/ui configuration (supports Next.js and Vite). Detects project type automatically when omitted.");
15
- program.option("--pushTo <url>", "POST the generated diff JSON to the provided URL.");
16
- program.parse();
17
- const options = program.opts();
18
- function runCommand(command) {
19
- try {
20
- execSync(command, { stdio: "inherit" });
21
- }
22
- catch (error) {
23
- console.error(`Failed to execute command: ${command}`);
24
- process.exit(1);
25
- }
26
- }
27
- function ensureGitignore() {
28
- const gitignorePath = path.join(process.cwd(), ".gitignore");
29
- if (fs.existsSync(gitignorePath)) {
30
- console.log(".gitignore file already exists.");
31
- return;
32
- }
33
- console.log(".gitignore file is missing. Creating one...");
34
- const content = `
35
- /node_modules
36
- /.pnp
37
- .pnp.*
38
- .yarn/*
39
- !.yarn/patches
40
- !.yarn/plugins
41
- !.yarn/releases
42
- !.yarn/versions
43
-
44
- # testing
45
- /coverage
46
-
47
- # next.js
48
- /.next/
49
- /out/
50
-
51
- # production
52
- /build
53
-
54
- # misc
55
- .DS_Store
56
- *.pem
57
-
58
- # debug
59
- npm-debug.log*
60
- yarn-debug.log*
61
- yarn-error.log*
62
-
63
- # env files (can opt-in for committing if needed)
64
- .env*
65
-
66
- # vercel
67
- .vercel
68
-
69
- # typescript
70
- *.tsbuildinfo
71
- next-env.d.ts
72
- `.trimStart();
73
- fs.writeFileSync(gitignorePath, content, "utf8");
74
- console.log(".gitignore file created with default rules.");
75
- }
76
- function initRepository() {
77
- console.log("Initializing git repository for new component");
78
- if (process.platform === "win32") {
79
- runCommand('rmdir /s /q .git && git init && git add . && git commit -m "Initial commit"');
80
- }
81
- else {
82
- runCommand('rm -fr .git && git init && git add . && git commit -m "Initial commit"');
83
- }
84
- ensureGitignore();
85
- }
86
- async function postResult(url, payload) {
87
- console.log("posting result to ", url);
88
- console.log("payload: ", payload);
89
- try {
90
- const response = await fetch(url, {
91
- method: "POST",
92
- headers: {
93
- "Content-Type": "application/json",
94
- },
95
- body: JSON.stringify(payload),
96
- });
97
- if (!response.ok) {
98
- const body = await response.text().catch(() => "");
99
- throw new Error(`Received ${response.status} ${response.statusText}${body ? `: ${body}` : ""}`);
100
- }
101
- console.log(`Successfully pushed diff to ${url}`);
102
- }
103
- catch (error) {
104
- const message = error instanceof Error ? error.message : String(error);
105
- console.error(`Failed to push diff to ${url}: ${message}`);
106
- process.exit(1);
107
- }
108
- }
109
- async function main() {
110
- if (options.init) {
111
- initRepository();
112
- return;
113
- }
114
- if (options.initshadcn !== undefined) {
115
- const specifiedType = typeof options.initshadcn === "string" && options.initshadcn.length > 0
116
- ? options.initshadcn
117
- : undefined;
118
- try {
119
- initShadcnProject({
120
- cwd: process.cwd(),
121
- projectType: specifiedType,
122
- execCommand: runCommand,
123
- });
124
- }
125
- catch (error) {
126
- console.error(error.message);
127
- process.exit(1);
128
- }
129
- return;
130
- }
131
- const name = options.name ?? path.basename(process.cwd());
132
- const { alteredFiles, specificFiles } = scanForAlteredFiles(["./package.json"]);
133
- const currentFiles = scanForFiles(process.cwd());
134
- const currentPackageJson = fs.readFileSync("./package.json", "utf-8");
135
- const config = readComponentsManifest(process.cwd());
136
- config.isSrcDir = hasSrcDir(process.cwd());
137
- const output = createDiff({
138
- name,
139
- config: config,
140
- alteredFiles,
141
- specificFiles,
142
- currentFiles,
143
- currentPackageJson,
144
- });
145
- const pushUrl = options.pushTo;
146
- if (options.registry !== undefined) {
147
- const registryPath = typeof options.registry === "string" && options.registry.length > 0
148
- ? options.registry
149
- : "./registry.json";
150
- const resolvedPath = writeRegistryFile(process.cwd(), registryPath, output);
151
- console.log(`Registry file updated at ${resolvedPath}`);
152
- if (pushUrl) {
153
- await postResult(pushUrl, output);
154
- }
155
- return;
156
- }
157
- if (pushUrl) {
158
- await postResult(pushUrl, output);
159
- }
160
- console.log(JSON.stringify(output, null, 2));
161
- }
162
- main().catch((error) => {
163
- console.error(error.message);
164
- process.exit(1);
165
- });
166
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { ComponentsConfig, DiffFile } from "./types.js";
2
- export declare function parseFilePath(wasInSrcDir: boolean, config: ComponentsConfig, filePath: string, content?: string): DiffFile;
3
- //# sourceMappingURL=parse-file-path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-file-path.d.ts","sourceRoot":"","sources":["../src/parse-file-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsB7D,wBAAgB,aAAa,CAC3B,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,QAAQ,CA0CV"}
@@ -1,53 +0,0 @@
1
- function fixAlias(alias) {
2
- return alias.replace("@", ".");
3
- }
4
- function isWithinAlias(config, filePath, aliasKey) {
5
- const alias = config[aliasKey];
6
- if (typeof alias !== "string") {
7
- return false;
8
- }
9
- return filePath.startsWith(fixAlias(alias));
10
- }
11
- function normalizeTargetPath(filePath) {
12
- return filePath.replace(/^\.\//, "");
13
- }
14
- function isAppRoutePath(targetPath) {
15
- return targetPath.startsWith("app/") || targetPath.startsWith("src/app/");
16
- }
17
- export function parseFilePath(wasInSrcDir, config, filePath, content) {
18
- const normalizedTarget = normalizeTargetPath(filePath);
19
- const defaultTarget = wasInSrcDir ? normalizedTarget : `~/${normalizedTarget}`;
20
- const output = {
21
- path: filePath,
22
- content: content ?? "",
23
- type: "registry:file",
24
- target: defaultTarget,
25
- };
26
- if (isWithinAlias(config, filePath, "ui")) {
27
- output.type = "registry:ui";
28
- output.target = undefined;
29
- return output;
30
- }
31
- if (isWithinAlias(config, filePath, "components")) {
32
- output.type = "registry:block";
33
- output.target = undefined;
34
- return output;
35
- }
36
- if (isWithinAlias(config, filePath, "hooks")) {
37
- output.type = "registry:hook";
38
- output.target = undefined;
39
- return output;
40
- }
41
- if (isWithinAlias(config, filePath, "lib")) {
42
- output.type = "registry:lib";
43
- output.target = undefined;
44
- return output;
45
- }
46
- if (isAppRoutePath(normalizedTarget)) {
47
- output.type = "registry:page";
48
- output.target = defaultTarget;
49
- return output;
50
- }
51
- return output;
52
- }
53
- //# sourceMappingURL=parse-file-path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-file-path.js","sourceRoot":"","sources":["../src/parse-file-path.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,MAAwB,EAAE,QAAgB,EAAE,QAAgC;IACjG,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,WAAoB,EACpB,MAAwB,EACxB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;IAE/E,MAAM,MAAM,GAAa;QACvB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,aAAa;KACtB,CAAC;IAEF,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;QAC5B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;QAC7B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { DiffResult } from "./types.js";
2
- export declare function writeRegistryFile(rootDir: string, relativePath: string, diff: DiffResult): string;
3
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AA6G3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CA4BjG"}
package/dist/registry.js DELETED
@@ -1,112 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- const REGISTRY_SCHEMA_URL = "https://ui.shadcn.com/schema/registry.json";
4
- function parseEnvFile(fileContents) {
5
- const envValues = {};
6
- const lines = fileContents.split(/\r?\n/);
7
- for (const line of lines) {
8
- const trimmed = line.trim();
9
- if (!trimmed || trimmed.startsWith("#")) {
10
- continue;
11
- }
12
- const separatorIndex = trimmed.indexOf("=");
13
- if (separatorIndex === -1) {
14
- continue;
15
- }
16
- const key = trimmed.slice(0, separatorIndex).trim();
17
- const value = trimmed.slice(separatorIndex + 1).trim();
18
- if (!key) {
19
- continue;
20
- }
21
- envValues[key] = value.replace(/^['"]|['"]$/g, "");
22
- }
23
- return envValues;
24
- }
25
- function readDotEnv(rootDir) {
26
- const dotenvPath = path.join(rootDir, ".env");
27
- if (!fs.existsSync(dotenvPath)) {
28
- return {};
29
- }
30
- const contents = fs.readFileSync(dotenvPath, "utf8");
31
- return parseEnvFile(contents);
32
- }
33
- function resolveRegistryMetadata(rootDir) {
34
- const defaults = {
35
- name: "shadcn",
36
- homepage: "https://ui.shadcn.com",
37
- };
38
- const envFromProcess = {
39
- name: process.env.REGISTRY_NAME ?? "",
40
- homepage: process.env.REGISTRY_HOMEPAGE ?? "",
41
- };
42
- let metadata = {
43
- name: envFromProcess.name || defaults.name,
44
- homepage: envFromProcess.homepage || defaults.homepage,
45
- };
46
- if (!envFromProcess.name || !envFromProcess.homepage) {
47
- const envFileValues = readDotEnv(rootDir);
48
- metadata = {
49
- name: envFromProcess.name || envFileValues.REGISTRY_NAME || defaults.name,
50
- homepage: envFromProcess.homepage || envFileValues.REGISTRY_HOMEPAGE || defaults.homepage,
51
- };
52
- }
53
- return metadata;
54
- }
55
- function ensureDirectoryExists(filePath) {
56
- const dir = path.dirname(filePath);
57
- if (fs.existsSync(dir)) {
58
- return;
59
- }
60
- fs.mkdirSync(dir, { recursive: true });
61
- }
62
- function loadExistingRegistry(registryPath) {
63
- if (!fs.existsSync(registryPath)) {
64
- return null;
65
- }
66
- const contents = fs.readFileSync(registryPath, "utf8");
67
- try {
68
- const file = JSON.parse(contents);
69
- if (!Array.isArray(file.items)) {
70
- throw new Error("Invalid registry.json: missing items array");
71
- }
72
- return file;
73
- }
74
- catch (error) {
75
- throw new Error(`Failed to parse existing registry.json at ${registryPath}: ${error.message}`);
76
- }
77
- }
78
- function upsertRegistryItem(registry, diff) {
79
- const existingIndex = registry.items.findIndex((item) => item.name === diff.name);
80
- if (existingIndex >= 0) {
81
- registry.items[existingIndex] = diff;
82
- }
83
- else {
84
- registry.items.push(diff);
85
- }
86
- return registry;
87
- }
88
- export function writeRegistryFile(rootDir, relativePath, diff) {
89
- const registryPath = path.isAbsolute(relativePath) ? relativePath : path.join(rootDir, relativePath);
90
- const existingRegistry = loadExistingRegistry(registryPath);
91
- const metadata = resolveRegistryMetadata(rootDir);
92
- const registry = existingRegistry ?? {
93
- $schema: REGISTRY_SCHEMA_URL,
94
- name: metadata.name,
95
- homepage: metadata.homepage,
96
- items: [],
97
- };
98
- if (!existingRegistry) {
99
- registry.name = metadata.name;
100
- registry.homepage = metadata.homepage;
101
- }
102
- else {
103
- registry.name = existingRegistry.name || metadata.name;
104
- registry.homepage = existingRegistry.homepage || metadata.homepage;
105
- }
106
- registry.$schema = existingRegistry?.$schema ?? REGISTRY_SCHEMA_URL;
107
- upsertRegistryItem(registry, diff);
108
- ensureDirectoryExists(registryPath);
109
- fs.writeFileSync(registryPath, `${JSON.stringify(registry, null, 2)}\n`, "utf8");
110
- return registryPath;
111
- }
112
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { ProjectType } from "./types.js";
2
- type ExecCommand = (command: string) => void;
3
- interface InitShadcnOptions {
4
- cwd: string;
5
- projectType?: string | ProjectType;
6
- execCommand: ExecCommand;
7
- }
8
- export declare function initShadcnProject({ cwd, projectType, execCommand }: InitShadcnOptions): void;
9
- export declare function determineProjectTypeFromPackageJson(packageJson: Record<string, unknown>): ProjectType | null;
10
- export {};
11
- //# sourceMappingURL=shadcn-init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadcn-init.d.ts","sourceRoot":"","sources":["../src/shadcn-init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7C,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;CAC1B;AA8OD,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAyB5F;AAED,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,GAAG,IAAI,CAE5G"}
@@ -1,208 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- const VITE_INDEX_CSS_CONTENT = '@import "tailwindcss";\n';
4
- const VITE_CONFIG_TEMPLATE = `import path from "path";
5
- import tailwindcss from "@tailwindcss/vite";
6
- import react from "@vitejs/plugin-react";
7
- import { defineConfig } from "vite";
8
-
9
- // https://vite.dev/config/
10
- export default defineConfig({
11
- plugins: [react(), tailwindcss()],
12
- resolve: {
13
- alias: {
14
- "@": path.resolve(__dirname, "./src"),
15
- },
16
- },
17
- });
18
- `;
19
- function readPackageJson(cwd) {
20
- const packageJsonPath = path.join(cwd, "package.json");
21
- if (!fs.existsSync(packageJsonPath)) {
22
- throw new Error("package.json not found. Run this command from the project root.");
23
- }
24
- try {
25
- const contents = fs.readFileSync(packageJsonPath, "utf8");
26
- return JSON.parse(contents);
27
- }
28
- catch (error) {
29
- throw new Error(`Failed to parse package.json: ${error.message}`);
30
- }
31
- }
32
- function normalizeProjectType(input) {
33
- const value = input.toLowerCase();
34
- if (value === "next" || value === "nextjs") {
35
- return "next";
36
- }
37
- if (value === "vite") {
38
- return "vite";
39
- }
40
- return null;
41
- }
42
- function detectProjectType(packageJson) {
43
- const dependencies = {
44
- ...packageJson.dependencies,
45
- ...packageJson.devDependencies,
46
- };
47
- if (!dependencies) {
48
- return null;
49
- }
50
- if ("next" in dependencies) {
51
- return "next";
52
- }
53
- if (Object.keys(dependencies).some((dep) => dep === "vite" || dep.startsWith("@vitejs/plugin-"))) {
54
- return "vite";
55
- }
56
- return null;
57
- }
58
- function detectPackageManager(cwd) {
59
- if (fs.existsSync(path.join(cwd, "pnpm-lock.yaml"))) {
60
- return "pnpm";
61
- }
62
- if (fs.existsSync(path.join(cwd, "yarn.lock"))) {
63
- return "yarn";
64
- }
65
- if (fs.existsSync(path.join(cwd, "bun.lockb"))) {
66
- return "bun";
67
- }
68
- return "npm";
69
- }
70
- function installDependencies(manager, dependencies, options = {}) {
71
- const dev = options.dev ?? false;
72
- switch (manager) {
73
- case "pnpm":
74
- return dev ? `pnpm add -D ${dependencies.join(" ")}` : `pnpm add ${dependencies.join(" ")}`;
75
- case "yarn":
76
- return dev ? `yarn add -D ${dependencies.join(" ")}` : `yarn add ${dependencies.join(" ")}`;
77
- case "bun":
78
- return dev ? `bun add -d ${dependencies.join(" ")}` : `bun add ${dependencies.join(" ")}`;
79
- case "npm":
80
- default:
81
- return dev
82
- ? `npm install --save-dev ${dependencies.join(" ")}`
83
- : `npm install ${dependencies.join(" ")}`;
84
- }
85
- }
86
- function getShadcnInitCommand(manager) {
87
- switch (manager) {
88
- case "pnpm":
89
- return "pnpm dlx shadcn@latest init";
90
- case "yarn":
91
- return "yarn dlx shadcn@latest init";
92
- case "bun":
93
- return "bunx shadcn@latest init";
94
- case "npm":
95
- default:
96
- return "npx shadcn@latest init";
97
- }
98
- }
99
- function ensureDirectory(filePath) {
100
- const dir = path.dirname(filePath);
101
- if (!fs.existsSync(dir)) {
102
- fs.mkdirSync(dir, { recursive: true });
103
- }
104
- }
105
- function writeFileIfChanged(filePath, content) {
106
- ensureDirectory(filePath);
107
- const current = fs.existsSync(filePath) ? fs.readFileSync(filePath, "utf8") : "";
108
- if (current === content) {
109
- return;
110
- }
111
- fs.writeFileSync(filePath, content, "utf8");
112
- }
113
- const VITE_ENTRY_FILES = ["src/main.tsx", "src/main.jsx", "src/main.ts", "src/main.js"];
114
- function findCssImport(content) {
115
- const importRegex = /import\s+(?:.+?\s+from\s+)?["'](.+?\.css)["'];?/g;
116
- let match;
117
- while ((match = importRegex.exec(content)) !== null) {
118
- const [, cssPath] = match;
119
- if (cssPath) {
120
- return cssPath;
121
- }
122
- }
123
- return null;
124
- }
125
- function resolveCssEntryPath(cwd) {
126
- for (const entry of VITE_ENTRY_FILES) {
127
- const entryPath = path.join(cwd, entry);
128
- if (!fs.existsSync(entryPath)) {
129
- continue;
130
- }
131
- const contents = fs.readFileSync(entryPath, "utf8");
132
- const cssImport = findCssImport(contents);
133
- if (!cssImport) {
134
- continue;
135
- }
136
- const absoluteCssPath = path.resolve(path.dirname(entryPath), cssImport);
137
- return absoluteCssPath;
138
- }
139
- return path.join(cwd, "src", "index.css");
140
- }
141
- function updateJsonFile(filePath, mutator, fallback) {
142
- let data = fallback;
143
- if (fs.existsSync(filePath)) {
144
- try {
145
- data = JSON.parse(fs.readFileSync(filePath, "utf8"));
146
- }
147
- catch (error) {
148
- throw new Error(`Failed to parse ${filePath}: ${error.message}`);
149
- }
150
- }
151
- mutator(data);
152
- fs.writeFileSync(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf8");
153
- }
154
- function updateTsConfig(cwd, fileName) {
155
- const filePath = path.join(cwd, fileName);
156
- updateJsonFile(filePath, (tsconfig) => {
157
- const compilerOptions = (tsconfig.compilerOptions ??= {});
158
- if (typeof compilerOptions.baseUrl !== "string") {
159
- compilerOptions.baseUrl = ".";
160
- }
161
- const paths = (compilerOptions.paths ??= {});
162
- const existing = paths["@/*"];
163
- if (!Array.isArray(existing) || !existing.includes("./src/*")) {
164
- paths["@/*"] = ["./src/*"];
165
- }
166
- }, { compilerOptions: {} });
167
- }
168
- function updateViteFiles(cwd) {
169
- const cssEntryFile = resolveCssEntryPath(cwd);
170
- writeFileIfChanged(cssEntryFile, VITE_INDEX_CSS_CONTENT);
171
- updateTsConfig(cwd, "tsconfig.json");
172
- updateTsConfig(cwd, "tsconfig.app.json");
173
- const viteConfigPathTs = path.join(cwd, "vite.config.ts");
174
- const viteConfigPathJs = path.join(cwd, "vite.config.js");
175
- const targetPath = fs.existsSync(viteConfigPathTs) ? viteConfigPathTs : viteConfigPathJs;
176
- if (!targetPath) {
177
- throw new Error("vite.config.ts/js not found. Ensure you are running this inside a Vite project.");
178
- }
179
- writeFileIfChanged(targetPath, VITE_CONFIG_TEMPLATE);
180
- }
181
- function setupViteProject(cwd, manager, execCommand) {
182
- execCommand(installDependencies(manager, ["tailwindcss", "@tailwindcss/vite"]));
183
- execCommand(installDependencies(manager, ["@types/node"], { dev: true }));
184
- updateViteFiles(cwd);
185
- }
186
- export function initShadcnProject({ cwd, projectType, execCommand }) {
187
- const packageJson = readPackageJson(cwd);
188
- const detectedType = projectType ?? detectProjectType(packageJson) ?? null;
189
- if (!detectedType) {
190
- throw new Error("Unable to determine project type. Pass --initshadcn <next|vite> or install Next.js / Vite dependencies.");
191
- }
192
- const normalizedType = normalizeProjectType(String(detectedType));
193
- if (!normalizedType) {
194
- throw new Error(`Unsupported project type "${detectedType}". Expected "next" or "vite".`);
195
- }
196
- const manager = detectPackageManager(cwd);
197
- if (normalizedType === "vite") {
198
- setupViteProject(cwd, manager, execCommand);
199
- execCommand(getShadcnInitCommand(manager));
200
- }
201
- else if (normalizedType === "next") {
202
- execCommand(getShadcnInitCommand(manager));
203
- }
204
- }
205
- export function determineProjectTypeFromPackageJson(packageJson) {
206
- return detectProjectType(packageJson);
207
- }
208
- //# sourceMappingURL=shadcn-init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadcn-init.js","sourceRoot":"","sources":["../src/shadcn-init.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,42 +0,0 @@
1
- export interface ComponentsConfig {
2
- components: string;
3
- utils: string;
4
- ui: string;
5
- lib: string;
6
- hooks: string;
7
- isSrcDir?: boolean;
8
- }
9
- export interface FileEntry {
10
- path: string;
11
- content: string;
12
- }
13
- export type DiffFileType = "registry:block" | "registry:component" | "registry:ui" | "registry:hook" | "registry:lib" | "registry:page" | "registry:file" | "registry:style" | "registry:theme" | "registry:item";
14
- export interface DiffFile {
15
- path: string;
16
- content: string;
17
- type: DiffFileType;
18
- target?: string;
19
- }
20
- export interface DiffResult {
21
- name: string;
22
- type: "registry:block";
23
- dependencies: string[];
24
- devDependencies: string[];
25
- registryDependencies: string[];
26
- files: DiffFile[];
27
- tailwind: Record<string, unknown>;
28
- cssVars: Record<string, unknown>;
29
- meta: Record<string, unknown>;
30
- }
31
- export interface AlteredFilesResult {
32
- alteredFiles: FileEntry[];
33
- specificFiles: Record<string, string>;
34
- }
35
- export interface RegistryFile {
36
- $schema: string;
37
- name: string;
38
- homepage: string;
39
- items: DiffResult[];
40
- }
41
- export type ProjectType = "next" | "vite";
42
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,eAAe,GACf,cAAc,GACd,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC"}
package/dist/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map