trix-ui 0.2.8 → 0.2.10
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/__tests__/contracts/registry.test.d.ts +1 -0
- package/dist/__tests__/contracts/registry.test.js +42 -0
- package/dist/__tests__/contracts/registry.test.js.map +1 -0
- package/dist/__tests__/e2e/cli.test.d.ts +1 -0
- package/dist/__tests__/e2e/cli.test.js +67 -0
- package/dist/__tests__/e2e/cli.test.js.map +1 -0
- package/dist/__tests__/helpers/fs.d.ts +5 -0
- package/dist/__tests__/helpers/fs.js +26 -0
- package/dist/__tests__/helpers/fs.js.map +1 -0
- package/dist/__tests__/integration/commands.integration.test.d.ts +1 -0
- package/dist/__tests__/integration/commands.integration.test.js +184 -0
- package/dist/__tests__/integration/commands.integration.test.js.map +1 -0
- package/dist/commands/__tests__/add-composite.test.d.ts +2 -0
- package/dist/commands/__tests__/add-composite.test.js +171 -0
- package/dist/commands/__tests__/add-composite.test.js.map +1 -0
- package/dist/commands/__tests__/add-entry.mocks.d.ts +23 -0
- package/dist/commands/__tests__/add-entry.mocks.js +64 -0
- package/dist/commands/__tests__/add-entry.mocks.js.map +1 -0
- package/dist/commands/__tests__/add-section.test.d.ts +2 -0
- package/dist/commands/__tests__/add-section.test.js +191 -0
- package/dist/commands/__tests__/add-section.test.js.map +1 -0
- package/dist/commands/__tests__/add-wrapper.test.d.ts +2 -0
- package/dist/commands/__tests__/add-wrapper.test.js +171 -0
- package/dist/commands/__tests__/add-wrapper.test.js.map +1 -0
- package/dist/commands/__tests__/cli-mocks.d.ts +1 -0
- package/dist/commands/__tests__/cli-mocks.js +24 -0
- package/dist/commands/__tests__/cli-mocks.js.map +1 -0
- package/dist/commands/__tests__/doctor.mocks.d.ts +6 -0
- package/dist/commands/__tests__/doctor.mocks.js +20 -0
- package/dist/commands/__tests__/doctor.mocks.js.map +1 -0
- package/dist/commands/__tests__/doctor.test.d.ts +2 -0
- package/dist/commands/__tests__/doctor.test.js +80 -0
- package/dist/commands/__tests__/doctor.test.js.map +1 -0
- package/dist/commands/__tests__/list.mocks.d.ts +8 -0
- package/dist/commands/__tests__/list.mocks.js +20 -0
- package/dist/commands/__tests__/list.mocks.js.map +1 -0
- package/dist/commands/__tests__/list.test.d.ts +2 -0
- package/dist/commands/__tests__/list.test.js +60 -0
- package/dist/commands/__tests__/list.test.js.map +1 -0
- package/dist/commands/__tests__/remove.mocks.d.ts +9 -0
- package/dist/commands/__tests__/remove.mocks.js +26 -0
- package/dist/commands/__tests__/remove.mocks.js.map +1 -0
- package/dist/commands/__tests__/remove.test.d.ts +2 -0
- package/dist/commands/__tests__/remove.test.js +116 -0
- package/dist/commands/__tests__/remove.test.js.map +1 -0
- package/dist/commands/add/__tests__/add.mocks.d.ts +19 -19
- package/dist/commands/add/__tests__/add.mocks.js +59 -59
- package/dist/commands/add/__tests__/add.test.d.ts +2 -2
- package/dist/commands/add/__tests__/add.test.js +140 -140
- package/dist/commands/add/analysis.d.ts +4 -4
- package/dist/commands/add/analysis.js +56 -56
- package/dist/commands/add/command.d.ts +2 -2
- package/dist/commands/add/command.js +202 -202
- package/dist/commands/add/config.d.ts +2 -2
- package/dist/commands/add/config.js +11 -11
- package/dist/commands/add/install.d.ts +27 -27
- package/dist/commands/add/install.js +80 -80
- package/dist/commands/add/package-manager.d.ts +1 -1
- package/dist/commands/add/package-manager.js +4 -4
- package/dist/commands/add/project-files.d.ts +2 -2
- package/dist/commands/add/project-files.js +17 -17
- package/dist/commands/add/prompts.d.ts +3 -3
- package/dist/commands/add/prompts.js +28 -28
- package/dist/commands/add/registry.d.ts +4 -4
- package/dist/commands/add/registry.js +6 -6
- package/dist/commands/add/types.d.ts +33 -33
- package/dist/commands/add/types.js +1 -1
- package/dist/commands/add/ui.d.ts +4 -4
- package/dist/commands/add/ui.js +55 -55
- package/dist/commands/add/validation.d.ts +3 -3
- package/dist/commands/add/validation.js +30 -30
- package/dist/commands/add-collection.d.ts +1 -1
- package/dist/commands/add-collection.js +1 -1
- package/dist/commands/add-composite.d.ts +2 -2
- package/dist/commands/add-composite.js +201 -201
- package/dist/commands/add-section.d.ts +2 -2
- package/dist/commands/add-section.js +201 -201
- package/dist/commands/add-wrapper.d.ts +2 -2
- package/dist/commands/add-wrapper.js +201 -201
- package/dist/commands/add.d.ts +1 -1
- package/dist/commands/add.js +1 -1
- package/dist/commands/build.d.ts +2 -2
- package/dist/commands/doctor.d.ts +2 -2
- package/dist/commands/doctor.js +67 -67
- package/dist/commands/init/__tests__/init.mocks.d.ts +24 -0
- package/dist/commands/init/__tests__/init.mocks.js +84 -0
- package/dist/commands/init/__tests__/init.mocks.js.map +1 -0
- package/dist/commands/init/__tests__/init.test.d.ts +2 -0
- package/dist/commands/init/__tests__/init.test.js +283 -0
- package/dist/commands/init/__tests__/init.test.js.map +1 -0
- package/dist/commands/init/__tests__/tailwind.test.d.ts +1 -0
- package/dist/commands/init/__tests__/tailwind.test.js +56 -0
- package/dist/commands/init/__tests__/tailwind.test.js.map +1 -0
- package/dist/commands/init/__tests__/tsconfig.test.d.ts +1 -0
- package/dist/commands/init/__tests__/tsconfig.test.js +108 -0
- package/dist/commands/init/__tests__/tsconfig.test.js.map +1 -0
- package/dist/commands/init/__tests__/vite.test.d.ts +1 -0
- package/dist/commands/init/__tests__/vite.test.js +66 -0
- package/dist/commands/init/__tests__/vite.test.js.map +1 -0
- package/dist/commands/init/command.d.ts +2 -2
- package/dist/commands/init/command.js +114 -114
- package/dist/commands/init/config.d.ts +2 -2
- package/dist/commands/init/config.js +25 -25
- package/dist/commands/init/constants.d.ts +3 -3
- package/dist/commands/init/constants.js +105 -105
- package/dist/commands/init/dependencies.d.ts +5 -5
- package/dist/commands/init/dependencies.js +52 -52
- package/dist/commands/init/filesystem.d.ts +1 -1
- package/dist/commands/init/filesystem.js +10 -10
- package/dist/commands/init/lockfile.d.ts +1 -1
- package/dist/commands/init/lockfile.js +1 -1
- package/dist/commands/init/package-json.d.ts +6 -6
- package/dist/commands/init/package-json.js +18 -18
- package/dist/commands/init/project-files.d.ts +8 -0
- package/dist/commands/init/project-files.js +37 -0
- package/dist/commands/init/project-files.js.map +1 -0
- package/dist/commands/init/project.d.ts +3 -3
- package/dist/commands/init/project.js +97 -97
- package/dist/commands/init/style-imports.d.ts +9 -0
- package/dist/commands/init/style-imports.js +218 -0
- package/dist/commands/init/style-imports.js.map +1 -0
- package/dist/commands/init/tailwind.d.ts +3 -3
- package/dist/commands/init/tailwind.js +34 -34
- package/dist/commands/init/templates.d.ts +3 -3
- package/dist/commands/init/templates.js +15 -15
- package/dist/commands/init/tsconfig.d.ts +2 -2
- package/dist/commands/init/tsconfig.js +273 -273
- package/dist/commands/init/types.d.ts +33 -33
- package/dist/commands/init/types.js +1 -1
- package/dist/commands/init/ui.d.ts +3 -3
- package/dist/commands/init/ui.js +33 -33
- package/dist/commands/init/vite.d.ts +23 -0
- package/dist/commands/init/vite.js +347 -0
- package/dist/commands/init/vite.js.map +1 -0
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/list.d.ts +2 -2
- package/dist/commands/list.js +62 -62
- package/dist/commands/remove.d.ts +2 -2
- package/dist/commands/remove.js +93 -93
- package/dist/commands/shared/add-collection.d.ts +50 -50
- package/dist/commands/shared/add-collection.js +206 -206
- package/dist/commands/shared/list-entries.d.ts +6 -6
- package/dist/commands/shared/list-entries.js +12 -12
- package/dist/commands/shared/name-utils.d.ts +1 -1
- package/dist/commands/shared/name-utils.js +13 -13
- package/dist/commands/shared/remove-entries.d.ts +16 -16
- package/dist/commands/shared/remove-entries.js +41 -41
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/icons/libraries.d.ts +37 -37
- package/dist/icons/libraries.js +34 -34
- package/dist/index.d.ts +2 -2
- package/dist/index.js +30 -30
- package/dist/lib/__tests__/config.test.d.ts +1 -0
- package/dist/lib/__tests__/config.test.js +49 -0
- package/dist/lib/__tests__/config.test.js.map +1 -0
- package/dist/lib/__tests__/install.test.d.ts +1 -0
- package/dist/lib/__tests__/install.test.js +149 -0
- package/dist/lib/__tests__/install.test.js.map +1 -0
- package/dist/lib/__tests__/lockfile.test.d.ts +1 -0
- package/dist/lib/__tests__/lockfile.test.js +89 -0
- package/dist/lib/__tests__/lockfile.test.js.map +1 -0
- package/dist/lib/__tests__/paths.test.d.ts +1 -0
- package/dist/lib/__tests__/paths.test.js +39 -0
- package/dist/lib/__tests__/paths.test.js.map +1 -0
- package/dist/lib/__tests__/registry.test.d.ts +1 -0
- package/dist/lib/__tests__/registry.test.js +76 -0
- package/dist/lib/__tests__/registry.test.js.map +1 -0
- package/dist/lib/config.d.ts +45 -45
- package/dist/lib/config.js +97 -97
- package/dist/lib/fs.d.ts +76 -76
- package/dist/lib/fs.js +302 -302
- package/dist/lib/highlighter.d.ts +6 -6
- package/dist/lib/highlighter.js +7 -7
- package/dist/lib/install.d.ts +19 -19
- package/dist/lib/install.js +55 -55
- package/dist/lib/lockfile.d.ts +63 -63
- package/dist/lib/lockfile.js +173 -173
- package/dist/lib/logger.d.ts +8 -8
- package/dist/lib/logger.js +41 -41
- package/dist/lib/paths.d.ts +14 -14
- package/dist/lib/paths.js +31 -31
- package/dist/lib/registry.d.ts +35 -35
- package/dist/lib/registry.js +180 -180
- package/dist/schema/index.d.ts +1128 -1128
- package/dist/schema/index.js +238 -238
- package/dist/styles/create-style-map.d.ts +4 -4
- package/dist/styles/create-style-map.js +68 -68
- package/dist/styles/transform-style-map.d.ts +3 -3
- package/dist/styles/transform-style-map.js +428 -428
- package/dist/styles/transform.d.ts +10 -10
- package/dist/styles/transform.js +15 -15
- package/dist/utils/index.d.ts +6 -6
- package/dist/utils/index.js +5 -5
- package/dist/utils/transformers/transform-icons.d.ts +2 -2
- package/dist/utils/transformers/transform-icons.js +164 -164
- package/dist/utils/transformers/transform-menu.d.ts +2 -2
- package/dist/utils/transformers/transform-menu.js +39 -39
- package/dist/utils/transformers/transform-render.d.ts +2 -2
- package/dist/utils/transformers/transform-render.js +97 -97
- package/dist/utils/transformers/types.d.ts +14 -14
- package/dist/utils/transformers/types.js +1 -1
- package/package.json +1 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import type { TrixUIConfig } from "../../lib/config.js";
|
|
2
|
-
export type Framework = "next" | "react" | "vite" | "unknown";
|
|
3
|
-
export type PackageManager = "npm" | "yarn" | "pnpm" | "bun";
|
|
4
|
-
export interface InitOptions {
|
|
5
|
-
force?: boolean;
|
|
6
|
-
barrel?: boolean;
|
|
7
|
-
cwd?: string;
|
|
8
|
-
yes?: boolean;
|
|
9
|
-
silent?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface ProjectInfo {
|
|
12
|
-
framework: Framework;
|
|
13
|
-
typescript: boolean;
|
|
14
|
-
tailwind: boolean;
|
|
15
|
-
packageManager: PackageManager;
|
|
16
|
-
srcDir: boolean;
|
|
17
|
-
appDir: boolean;
|
|
18
|
-
hasComponents: boolean;
|
|
19
|
-
}
|
|
20
|
-
export interface ValidationResult {
|
|
21
|
-
valid: boolean;
|
|
22
|
-
errors: string[];
|
|
23
|
-
warnings: string[];
|
|
24
|
-
}
|
|
25
|
-
export interface DependencyInstallation {
|
|
26
|
-
required: string[];
|
|
27
|
-
devDependencies: string[];
|
|
28
|
-
missing: string[];
|
|
29
|
-
}
|
|
30
|
-
export interface InitConfig extends TrixUIConfig {
|
|
31
|
-
typescript: boolean;
|
|
32
|
-
framework: Framework;
|
|
33
|
-
}
|
|
1
|
+
import type { TrixUIConfig } from "../../lib/config.js";
|
|
2
|
+
export type Framework = "next" | "react" | "vite" | "unknown";
|
|
3
|
+
export type PackageManager = "npm" | "yarn" | "pnpm" | "bun";
|
|
4
|
+
export interface InitOptions {
|
|
5
|
+
force?: boolean;
|
|
6
|
+
barrel?: boolean;
|
|
7
|
+
cwd?: string;
|
|
8
|
+
yes?: boolean;
|
|
9
|
+
silent?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ProjectInfo {
|
|
12
|
+
framework: Framework;
|
|
13
|
+
typescript: boolean;
|
|
14
|
+
tailwind: boolean;
|
|
15
|
+
packageManager: PackageManager;
|
|
16
|
+
srcDir: boolean;
|
|
17
|
+
appDir: boolean;
|
|
18
|
+
hasComponents: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface ValidationResult {
|
|
21
|
+
valid: boolean;
|
|
22
|
+
errors: string[];
|
|
23
|
+
warnings: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface DependencyInstallation {
|
|
26
|
+
required: string[];
|
|
27
|
+
devDependencies: string[];
|
|
28
|
+
missing: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface InitConfig extends TrixUIConfig {
|
|
31
|
+
typescript: boolean;
|
|
32
|
+
framework: Framework;
|
|
33
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { InitConfig, ProjectInfo } from "./types.js";
|
|
2
|
-
export declare function displayProjectInfo(projectInfo: ProjectInfo): void;
|
|
3
|
-
export declare function displaySuccessMessage(projectInfo: ProjectInfo, config: InitConfig): void;
|
|
1
|
+
import type { InitConfig, ProjectInfo } from "./types.js";
|
|
2
|
+
export declare function displayProjectInfo(projectInfo: ProjectInfo): void;
|
|
3
|
+
export declare function displaySuccessMessage(projectInfo: ProjectInfo, config: InitConfig): void;
|
package/dist/commands/init/ui.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
export function displayProjectInfo(projectInfo) {
|
|
3
|
-
console.log("\n" + chalk.bold("Project Information:"));
|
|
4
|
-
console.log(chalk.gray("\u00c4".repeat(50)));
|
|
5
|
-
console.log(`${chalk.cyan("Framework:")} ${chalk.white(projectInfo.framework)}`);
|
|
6
|
-
console.log(`${chalk.cyan("TypeScript:")} ${chalk.white(projectInfo.typescript ? "Yes" : "No")}`);
|
|
7
|
-
console.log(`${chalk.cyan("Tailwind CSS:")} ${chalk.white(projectInfo.tailwind ? "Yes" : "No")}`);
|
|
8
|
-
console.log(`${chalk.cyan("Package Manager:")} ${chalk.white(projectInfo.packageManager)}`);
|
|
9
|
-
console.log(`${chalk.cyan("Source Directory:")} ${chalk.white(projectInfo.srcDir ? "src/" : "./")}`);
|
|
10
|
-
if (projectInfo.framework === "next") {
|
|
11
|
-
console.log(`${chalk.cyan("Next.js Router:")} ${chalk.white(projectInfo.appDir ? "App Router" : "Pages Router")}`);
|
|
12
|
-
}
|
|
13
|
-
console.log(chalk.gray("\u00c4".repeat(50)) + "\n");
|
|
14
|
-
}
|
|
15
|
-
export function displaySuccessMessage(projectInfo, config) {
|
|
16
|
-
const entryFile = projectInfo.framework === "next"
|
|
17
|
-
? projectInfo.appDir
|
|
18
|
-
? "app/layout.tsx"
|
|
19
|
-
: "pages/_app.tsx"
|
|
20
|
-
: `${projectInfo.srcDir ? "src/" : ""}index.${projectInfo.typescript ? "ts" : "js"}`;
|
|
21
|
-
console.log("\n" + chalk.green.bold("\u00fb trix-ui initialized successfully!"));
|
|
22
|
-
console.log("\n" + chalk.bold("Next steps:"));
|
|
23
|
-
console.log(chalk.gray(" 1.") +
|
|
24
|
-
" Import global styles in your " +
|
|
25
|
-
chalk.cyan(entryFile) +
|
|
26
|
-
":");
|
|
27
|
-
console.log(chalk.gray(` import "${config.paths.styles.replace(/\\/g, "/")}"\n`));
|
|
28
|
-
console.log(chalk.gray(" 2.") +
|
|
29
|
-
" Add components using: " +
|
|
30
|
-
chalk.cyan("trix-ui add <component>"));
|
|
31
|
-
console.log(chalk.gray(" 3.") + " Start building with trix-ui components!");
|
|
32
|
-
console.log();
|
|
33
|
-
}
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
export function displayProjectInfo(projectInfo) {
|
|
3
|
+
console.log("\n" + chalk.bold("Project Information:"));
|
|
4
|
+
console.log(chalk.gray("\u00c4".repeat(50)));
|
|
5
|
+
console.log(`${chalk.cyan("Framework:")} ${chalk.white(projectInfo.framework)}`);
|
|
6
|
+
console.log(`${chalk.cyan("TypeScript:")} ${chalk.white(projectInfo.typescript ? "Yes" : "No")}`);
|
|
7
|
+
console.log(`${chalk.cyan("Tailwind CSS:")} ${chalk.white(projectInfo.tailwind ? "Yes" : "No")}`);
|
|
8
|
+
console.log(`${chalk.cyan("Package Manager:")} ${chalk.white(projectInfo.packageManager)}`);
|
|
9
|
+
console.log(`${chalk.cyan("Source Directory:")} ${chalk.white(projectInfo.srcDir ? "src/" : "./")}`);
|
|
10
|
+
if (projectInfo.framework === "next") {
|
|
11
|
+
console.log(`${chalk.cyan("Next.js Router:")} ${chalk.white(projectInfo.appDir ? "App Router" : "Pages Router")}`);
|
|
12
|
+
}
|
|
13
|
+
console.log(chalk.gray("\u00c4".repeat(50)) + "\n");
|
|
14
|
+
}
|
|
15
|
+
export function displaySuccessMessage(projectInfo, config) {
|
|
16
|
+
const entryFile = projectInfo.framework === "next"
|
|
17
|
+
? projectInfo.appDir
|
|
18
|
+
? "app/layout.tsx"
|
|
19
|
+
: "pages/_app.tsx"
|
|
20
|
+
: `${projectInfo.srcDir ? "src/" : ""}index.${projectInfo.typescript ? "ts" : "js"}`;
|
|
21
|
+
console.log("\n" + chalk.green.bold("\u00fb trix-ui initialized successfully!"));
|
|
22
|
+
console.log("\n" + chalk.bold("Next steps:"));
|
|
23
|
+
console.log(chalk.gray(" 1.") +
|
|
24
|
+
" Import global styles in your " +
|
|
25
|
+
chalk.cyan(entryFile) +
|
|
26
|
+
":");
|
|
27
|
+
console.log(chalk.gray(` import "${config.paths.styles.replace(/\\/g, "/")}"\n`));
|
|
28
|
+
console.log(chalk.gray(" 2.") +
|
|
29
|
+
" Add components using: " +
|
|
30
|
+
chalk.cyan("trix-ui add <component>"));
|
|
31
|
+
console.log(chalk.gray(" 3.") + " Start building with trix-ui components!");
|
|
32
|
+
console.log();
|
|
33
|
+
}
|
|
34
34
|
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ProjectInfo } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Validate that Vite can resolve `@/*` imports at runtime.
|
|
4
|
+
*
|
|
5
|
+
* TypeScript `paths` only affects the typechecker/editor. Vite still needs a
|
|
6
|
+
* resolver alias (or `vite-tsconfig-paths`) to handle `@/...` during dev/build.
|
|
7
|
+
*
|
|
8
|
+
* Throws a descriptive error when the Vite config is missing or does not define
|
|
9
|
+
* an `@` alias.
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateViteAliasSupport(cwd: string, projectInfo: ProjectInfo): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Ensure Vite projects can resolve `@/*` imports during local development/build.
|
|
14
|
+
*
|
|
15
|
+
* This is a best-effort edit of an existing Vite config:
|
|
16
|
+
* - Enables `vite-tsconfig-paths` when installed
|
|
17
|
+
* - Adds a `resolve.alias` entry for `@` → project root (or `src/`)
|
|
18
|
+
*
|
|
19
|
+
* If we can't confidently patch the file, we log a warning and move on.
|
|
20
|
+
*/
|
|
21
|
+
export declare function ensureViteAliasSupport(cwd: string, projectInfo: ProjectInfo, options?: {
|
|
22
|
+
shouldLog?: boolean;
|
|
23
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileExists, writeFile } from "../../lib/fs.js";
|
|
4
|
+
import { logger } from "../../lib/logger.js";
|
|
5
|
+
import { collectDependencies, readPackageJson } from "./package-json.js";
|
|
6
|
+
const SHADCN_VITE_DOCS_URL = "https://ui.shadcn.com/docs/installation/vite";
|
|
7
|
+
const VITE_ALIAS_DOCS_URL = "https://vitejs.dev/config/shared-options.html#resolve-alias";
|
|
8
|
+
const VITE_CONFIG_FILES = [
|
|
9
|
+
"vite.config.ts",
|
|
10
|
+
"vite.config.js",
|
|
11
|
+
"vite.config.mjs",
|
|
12
|
+
"vite.config.cjs"
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Validate that Vite can resolve `@/*` imports at runtime.
|
|
16
|
+
*
|
|
17
|
+
* TypeScript `paths` only affects the typechecker/editor. Vite still needs a
|
|
18
|
+
* resolver alias (or `vite-tsconfig-paths`) to handle `@/...` during dev/build.
|
|
19
|
+
*
|
|
20
|
+
* Throws a descriptive error when the Vite config is missing or does not define
|
|
21
|
+
* an `@` alias.
|
|
22
|
+
*/
|
|
23
|
+
export async function validateViteAliasSupport(cwd, projectInfo) {
|
|
24
|
+
if (projectInfo.framework !== "vite") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const configPath = await findExistingFile(VITE_CONFIG_FILES.map((file) => path.join(cwd, file)));
|
|
28
|
+
if (!configPath) {
|
|
29
|
+
throw buildMissingViteConfigError();
|
|
30
|
+
}
|
|
31
|
+
const content = await fs.readFile(configPath, "utf-8");
|
|
32
|
+
if (hasAtAlias(content) || content.includes("tsconfigPaths(")) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
throw buildMissingViteAliasError(configPath, projectInfo);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Error when no Vite config file exists in the project root.
|
|
39
|
+
*/
|
|
40
|
+
function buildMissingViteConfigError() {
|
|
41
|
+
const message = [
|
|
42
|
+
"Unable to find a Vite config file.",
|
|
43
|
+
"",
|
|
44
|
+
`trix-ui generates imports like \"@/...\". Vite must be configured to resolve them at runtime.`,
|
|
45
|
+
"",
|
|
46
|
+
`Expected one of: ${VITE_CONFIG_FILES.join(", ")}`,
|
|
47
|
+
"",
|
|
48
|
+
"Docs:",
|
|
49
|
+
`- shadcn/ui (Vite): ${SHADCN_VITE_DOCS_URL}`,
|
|
50
|
+
`- Vite resolve.alias: ${VITE_ALIAS_DOCS_URL}`
|
|
51
|
+
].join("\n");
|
|
52
|
+
return new Error(message);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Error when the Vite config exists but does not define an `@` alias.
|
|
56
|
+
*/
|
|
57
|
+
function buildMissingViteAliasError(configPath, projectInfo) {
|
|
58
|
+
const aliasRoot = projectInfo.srcDir ? "./src" : "./";
|
|
59
|
+
const snippet = [
|
|
60
|
+
"import path from \"node:path\"",
|
|
61
|
+
"",
|
|
62
|
+
"export default {",
|
|
63
|
+
" resolve: {",
|
|
64
|
+
" alias: {",
|
|
65
|
+
` \"@\": path.resolve(__dirname, \"${aliasRoot}\")`,
|
|
66
|
+
" }",
|
|
67
|
+
" }",
|
|
68
|
+
"}"
|
|
69
|
+
].join("\n");
|
|
70
|
+
const message = [
|
|
71
|
+
`Missing Vite alias for \"@\" in ${path.basename(configPath)}.`,
|
|
72
|
+
"",
|
|
73
|
+
"TypeScript \"paths\" does not configure the Vite resolver. Add a runtime alias (or enable vite-tsconfig-paths):",
|
|
74
|
+
snippet,
|
|
75
|
+
"",
|
|
76
|
+
"Docs:",
|
|
77
|
+
`- shadcn/ui (Vite): ${SHADCN_VITE_DOCS_URL}`,
|
|
78
|
+
`- Vite resolve.alias: ${VITE_ALIAS_DOCS_URL}`
|
|
79
|
+
].join("\n");
|
|
80
|
+
return new Error(message);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Ensure Vite projects can resolve `@/*` imports during local development/build.
|
|
84
|
+
*
|
|
85
|
+
* This is a best-effort edit of an existing Vite config:
|
|
86
|
+
* - Enables `vite-tsconfig-paths` when installed
|
|
87
|
+
* - Adds a `resolve.alias` entry for `@` → project root (or `src/`)
|
|
88
|
+
*
|
|
89
|
+
* If we can't confidently patch the file, we log a warning and move on.
|
|
90
|
+
*/
|
|
91
|
+
export async function ensureViteAliasSupport(cwd, projectInfo, options) {
|
|
92
|
+
if (projectInfo.framework !== "vite") {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const shouldLog = options?.shouldLog ?? true;
|
|
96
|
+
try {
|
|
97
|
+
const hasViteTsconfigPathsDependency = await (async () => {
|
|
98
|
+
try {
|
|
99
|
+
const packageJson = await readPackageJson(cwd);
|
|
100
|
+
const dependencies = collectDependencies(packageJson);
|
|
101
|
+
return Boolean(dependencies["vite-tsconfig-paths"]);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
})();
|
|
107
|
+
const configPath = await findExistingFile(VITE_CONFIG_FILES.map((file) => path.join(cwd, file)));
|
|
108
|
+
if (!configPath) {
|
|
109
|
+
if (shouldLog) {
|
|
110
|
+
logger.warn("Vite config not found. Skipping alias setup.");
|
|
111
|
+
}
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const content = await fs.readFile(configPath, "utf-8");
|
|
115
|
+
const isCommonJs = configPath.endsWith(".cjs") || /module\.exports/.test(content);
|
|
116
|
+
let next = content;
|
|
117
|
+
const needsPlugin = !next.includes("tsconfigPaths(");
|
|
118
|
+
if (needsPlugin && hasViteTsconfigPathsDependency) {
|
|
119
|
+
const withImport = next.includes("vite-tsconfig-paths")
|
|
120
|
+
? next
|
|
121
|
+
: insertImport(next, isCommonJs);
|
|
122
|
+
const withPlugin = insertPlugin(withImport);
|
|
123
|
+
if (withPlugin === withImport) {
|
|
124
|
+
if (shouldLog) {
|
|
125
|
+
logger.warn({ configPath }, "Unable to auto-inject vite-tsconfig-paths. Please add it manually.");
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
next = withPlugin;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else if (needsPlugin && !hasViteTsconfigPathsDependency) {
|
|
133
|
+
if (shouldLog) {
|
|
134
|
+
logger.warn({ configPath }, "vite-tsconfig-paths is not installed. Skipping plugin injection.");
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
next = ensureAlias(next, projectInfo, isCommonJs);
|
|
138
|
+
if (next === content) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
await writeFile(configPath, next);
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
if (shouldLog) {
|
|
145
|
+
logger.warn({ error: error.message }, "Failed to update Vite config for aliases.");
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Return the first existing file path from the given candidates.
|
|
151
|
+
*/
|
|
152
|
+
async function findExistingFile(candidates) {
|
|
153
|
+
for (const candidate of candidates) {
|
|
154
|
+
if (await fileExists(candidate)) {
|
|
155
|
+
return candidate;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Insert an import/require for `vite-tsconfig-paths` near the top of the config.
|
|
162
|
+
*/
|
|
163
|
+
function insertImport(content, useCommonJs) {
|
|
164
|
+
const importStatement = useCommonJs
|
|
165
|
+
? "const tsconfigPaths = require(\"vite-tsconfig-paths\")"
|
|
166
|
+
: "import tsconfigPaths from \"vite-tsconfig-paths\"";
|
|
167
|
+
if (content.includes("tsconfigPaths")) {
|
|
168
|
+
return content;
|
|
169
|
+
}
|
|
170
|
+
const importRegex = /^import[^\n]*$/gm;
|
|
171
|
+
let lastMatch = null;
|
|
172
|
+
let match = null;
|
|
173
|
+
while ((match = importRegex.exec(content))) {
|
|
174
|
+
lastMatch = match;
|
|
175
|
+
}
|
|
176
|
+
if (lastMatch) {
|
|
177
|
+
const insertAt = lastMatch.index + lastMatch[0].length;
|
|
178
|
+
return `${content.slice(0, insertAt)}\n${importStatement}\n${content.slice(insertAt)}`;
|
|
179
|
+
}
|
|
180
|
+
if (!useCommonJs) {
|
|
181
|
+
return `${importStatement}\n${content}`;
|
|
182
|
+
}
|
|
183
|
+
return `${importStatement}\n\n${content}`;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Ensure `tsconfigPaths()` is included in the Vite `plugins` array.
|
|
187
|
+
*/
|
|
188
|
+
function insertPlugin(content) {
|
|
189
|
+
if (content.includes("tsconfigPaths(")) {
|
|
190
|
+
return content;
|
|
191
|
+
}
|
|
192
|
+
const pluginsRegex = /plugins\s*:\s*\[/;
|
|
193
|
+
if (pluginsRegex.test(content)) {
|
|
194
|
+
return content.replace(pluginsRegex, (match) => `${match}tsconfigPaths(), `);
|
|
195
|
+
}
|
|
196
|
+
const braceIndex = findConfigObjectBrace(content);
|
|
197
|
+
if (braceIndex === -1) {
|
|
198
|
+
return content;
|
|
199
|
+
}
|
|
200
|
+
return insertObjectProperty(content, braceIndex, `\n plugins: [tsconfigPaths()],`);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Insert a property into the root config object given the index of its `{`.
|
|
204
|
+
*/
|
|
205
|
+
function insertObjectProperty(content, braceIndex, insertion) {
|
|
206
|
+
if (braceIndex < 0 || braceIndex >= content.length) {
|
|
207
|
+
return content;
|
|
208
|
+
}
|
|
209
|
+
return (content.slice(0, braceIndex + 1) + insertion + content.slice(braceIndex + 1));
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Ensure the Vite config has an `@` alias that matches init's path alias expectations.
|
|
213
|
+
*
|
|
214
|
+
* The alias points to project root (or `src/`) and is written using an expression
|
|
215
|
+
* that's valid for the module format (CJS `__dirname` vs ESM `import.meta.url`).
|
|
216
|
+
*/
|
|
217
|
+
function ensureAlias(content, projectInfo, isCommonJs) {
|
|
218
|
+
if (hasAtAlias(content)) {
|
|
219
|
+
return content;
|
|
220
|
+
}
|
|
221
|
+
const aliasRoot = projectInfo.srcDir ? "src" : ".";
|
|
222
|
+
const aliasExpression = isCommonJs
|
|
223
|
+
? `path.resolve(__dirname, "${aliasRoot}")`
|
|
224
|
+
: `fileURLToPath(new URL("${aliasRoot === "." ? "./" : `./${aliasRoot}`}", import.meta.url))`;
|
|
225
|
+
let next = content;
|
|
226
|
+
if (isCommonJs) {
|
|
227
|
+
next = ensureCommonJsPathImport(next);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
next = ensureEsmUrlImport(next);
|
|
231
|
+
}
|
|
232
|
+
const withAlias = insertAlias(next, aliasExpression);
|
|
233
|
+
return withAlias;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Quick check for an existing `@` alias definition (object or array form).
|
|
237
|
+
*/
|
|
238
|
+
function hasAtAlias(content) {
|
|
239
|
+
if (/(find\s*:\s*['"]@['"])/.test(content)) {
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
return /['"]@['"]\s*:/.test(content);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Ensure `path` is available in CommonJS configs so we can use `path.resolve(...)`.
|
|
246
|
+
*/
|
|
247
|
+
function ensureCommonJsPathImport(content) {
|
|
248
|
+
if (/require\(["']node:path["']\)/.test(content)) {
|
|
249
|
+
return content;
|
|
250
|
+
}
|
|
251
|
+
if (/require\(["']path["']\)/.test(content)) {
|
|
252
|
+
return content;
|
|
253
|
+
}
|
|
254
|
+
if (/from\s+["']node:path["']/.test(content)) {
|
|
255
|
+
return content;
|
|
256
|
+
}
|
|
257
|
+
if (/from\s+["']path["']/.test(content)) {
|
|
258
|
+
return content;
|
|
259
|
+
}
|
|
260
|
+
return `const path = require("node:path")\n${content}`;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Ensure ESM configs import `fileURLToPath` so we can build an absolute alias path.
|
|
264
|
+
*/
|
|
265
|
+
function ensureEsmUrlImport(content) {
|
|
266
|
+
if (content.includes("fileURLToPath")) {
|
|
267
|
+
return content;
|
|
268
|
+
}
|
|
269
|
+
const importStatement = `import { fileURLToPath } from "node:url"`;
|
|
270
|
+
return insertImportStatement(content, importStatement);
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Insert an `@` alias into the config in whichever shape it already uses.
|
|
274
|
+
*/
|
|
275
|
+
function insertAlias(content, aliasExpression) {
|
|
276
|
+
const aliasObject = /alias\s*:\s*\{/.exec(content);
|
|
277
|
+
if (aliasObject) {
|
|
278
|
+
const insertAt = aliasObject.index + aliasObject[0].length;
|
|
279
|
+
return (content.slice(0, insertAt) +
|
|
280
|
+
`\n "@": ${aliasExpression},` +
|
|
281
|
+
content.slice(insertAt));
|
|
282
|
+
}
|
|
283
|
+
const aliasArray = /alias\s*:\s*\[/.exec(content);
|
|
284
|
+
if (aliasArray) {
|
|
285
|
+
const insertAt = aliasArray.index + aliasArray[0].length;
|
|
286
|
+
return (content.slice(0, insertAt) +
|
|
287
|
+
`\n { find: "@", replacement: ${aliasExpression} },` +
|
|
288
|
+
content.slice(insertAt));
|
|
289
|
+
}
|
|
290
|
+
const resolveObject = /resolve\s*:\s*\{/.exec(content);
|
|
291
|
+
if (resolveObject) {
|
|
292
|
+
const insertAt = resolveObject.index + resolveObject[0].length;
|
|
293
|
+
return (content.slice(0, insertAt) +
|
|
294
|
+
`\n alias: { "@": ${aliasExpression} },` +
|
|
295
|
+
content.slice(insertAt));
|
|
296
|
+
}
|
|
297
|
+
const braceIndex = findConfigObjectBrace(content);
|
|
298
|
+
if (braceIndex === -1) {
|
|
299
|
+
return content;
|
|
300
|
+
}
|
|
301
|
+
return insertObjectProperty(content, braceIndex, `\n resolve: { alias: { "@": ${aliasExpression} } },`);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Add an import statement after the last existing import (or at the top).
|
|
305
|
+
*/
|
|
306
|
+
function insertImportStatement(content, statement) {
|
|
307
|
+
if (content.includes(statement)) {
|
|
308
|
+
return content;
|
|
309
|
+
}
|
|
310
|
+
const importRegex = /^import[^\n]*$/gm;
|
|
311
|
+
let lastMatch = null;
|
|
312
|
+
let match = null;
|
|
313
|
+
while ((match = importRegex.exec(content))) {
|
|
314
|
+
lastMatch = match;
|
|
315
|
+
}
|
|
316
|
+
if (lastMatch) {
|
|
317
|
+
const insertAt = lastMatch.index + lastMatch[0].length;
|
|
318
|
+
return `${content.slice(0, insertAt)}\n${statement}\n${content.slice(insertAt)}`;
|
|
319
|
+
}
|
|
320
|
+
return `${statement}\n${content}`;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Find the index of the opening `{` for the exported Vite config object.
|
|
324
|
+
*
|
|
325
|
+
* Supports common patterns (`defineConfig({})`, `export default {}`, `module.exports = {}`).
|
|
326
|
+
* Returns `-1` when the file isn't in a shape we know how to patch safely.
|
|
327
|
+
*/
|
|
328
|
+
function findConfigObjectBrace(content) {
|
|
329
|
+
const directDefineConfig = /defineConfig\s*\(\s*\{/.exec(content);
|
|
330
|
+
if (directDefineConfig) {
|
|
331
|
+
return directDefineConfig.index + directDefineConfig[0].lastIndexOf("{");
|
|
332
|
+
}
|
|
333
|
+
const arrowDefineConfig = /defineConfig[\s\S]*?=>\s*\(\s*\{/.exec(content);
|
|
334
|
+
if (arrowDefineConfig) {
|
|
335
|
+
return arrowDefineConfig.index + arrowDefineConfig[0].lastIndexOf("{");
|
|
336
|
+
}
|
|
337
|
+
const exportDefault = /export\s+default\s+\{/.exec(content);
|
|
338
|
+
if (exportDefault) {
|
|
339
|
+
return exportDefault.index + exportDefault[0].lastIndexOf("{");
|
|
340
|
+
}
|
|
341
|
+
const moduleExports = /module\.exports\s*=\s*\{/.exec(content);
|
|
342
|
+
if (moduleExports) {
|
|
343
|
+
return moduleExports.index + moduleExports[0].lastIndexOf("{");
|
|
344
|
+
}
|
|
345
|
+
return -1;
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=vite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../../src/commands/init/vite.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { initCommand } from "./init/command.js";
|
|
1
|
+
export { initCommand } from "./init/command.js";
|
package/dist/commands/init.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { initCommand } from "./init/command.js";
|
|
1
|
+
export { initCommand } from "./init/command.js";
|
|
2
2
|
//# sourceMappingURL=init.js.map
|
package/dist/commands/list.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
export declare const listCommand: Command;
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
export declare const listCommand: Command;
|