nx-factory-cli 2.1.3 → 2.1.5

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.
Files changed (93) hide show
  1. package/dist/commands/add-app.d.ts +10 -0
  2. package/dist/commands/add-app.d.ts.map +1 -0
  3. package/dist/commands/add-app.js +392 -0
  4. package/dist/commands/add-app.js.map +1 -0
  5. package/dist/commands/add-auth.d.ts +8 -0
  6. package/dist/commands/add-auth.d.ts.map +1 -0
  7. package/dist/commands/add-auth.js +182 -0
  8. package/dist/commands/add-auth.js.map +1 -0
  9. package/dist/commands/add-component.d.ts +2 -0
  10. package/dist/commands/add-component.d.ts.map +1 -0
  11. package/dist/commands/add-component.js +116 -0
  12. package/dist/commands/add-component.js.map +1 -0
  13. package/dist/commands/add-lib.d.ts +9 -0
  14. package/dist/commands/add-lib.d.ts.map +1 -0
  15. package/dist/commands/add-lib.js +190 -0
  16. package/dist/commands/add-lib.js.map +1 -0
  17. package/dist/commands/add-storybook.d.ts +6 -0
  18. package/dist/commands/add-storybook.d.ts.map +1 -0
  19. package/dist/commands/add-storybook.js +181 -0
  20. package/dist/commands/add-storybook.js.map +1 -0
  21. package/dist/commands/doctor.d.ts +2 -0
  22. package/dist/commands/doctor.d.ts.map +1 -0
  23. package/dist/commands/doctor.js +235 -0
  24. package/dist/commands/doctor.js.map +1 -0
  25. package/dist/commands/init.d.ts +9 -0
  26. package/dist/commands/init.d.ts.map +1 -0
  27. package/dist/commands/init.js +527 -0
  28. package/dist/commands/init.js.map +1 -0
  29. package/dist/commands/list.d.ts +2 -0
  30. package/dist/commands/list.d.ts.map +1 -0
  31. package/dist/commands/list.js +130 -0
  32. package/dist/commands/list.js.map +1 -0
  33. package/dist/commands/publish.d.ts +8 -0
  34. package/dist/commands/publish.d.ts.map +1 -0
  35. package/dist/commands/publish.js +179 -0
  36. package/dist/commands/publish.js.map +1 -0
  37. package/dist/commands/remove-component.d.ts +5 -0
  38. package/dist/commands/remove-component.d.ts.map +1 -0
  39. package/dist/commands/remove-component.js +172 -0
  40. package/dist/commands/remove-component.js.map +1 -0
  41. package/dist/commands/update.d.ts +5 -0
  42. package/dist/commands/update.d.ts.map +1 -0
  43. package/dist/commands/update.js +126 -0
  44. package/dist/commands/update.js.map +1 -0
  45. package/dist/config.d.ts +14 -0
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +35 -0
  48. package/dist/config.js.map +1 -0
  49. package/dist/exec.d.ts +25 -0
  50. package/dist/exec.d.ts.map +1 -0
  51. package/dist/exec.js +80 -0
  52. package/dist/exec.js.map +1 -0
  53. package/dist/files.d.ts +7 -0
  54. package/dist/files.d.ts.map +1 -0
  55. package/dist/files.js +23 -0
  56. package/dist/files.js.map +1 -0
  57. package/dist/index.d.ts +3 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +93 -42127
  60. package/dist/index.js.map +1 -0
  61. package/dist/resolve-root.d.ts +22 -0
  62. package/dist/resolve-root.d.ts.map +1 -0
  63. package/dist/resolve-root.js +65 -0
  64. package/dist/resolve-root.js.map +1 -0
  65. package/dist/setups/auth/base.d.ts +11 -0
  66. package/dist/setups/auth/base.d.ts.map +1 -0
  67. package/dist/setups/auth/base.js +91 -0
  68. package/dist/setups/auth/base.js.map +1 -0
  69. package/dist/setups/auth/index.d.ts +6 -0
  70. package/dist/setups/auth/index.d.ts.map +1 -0
  71. package/dist/setups/auth/index.js +5 -0
  72. package/dist/setups/auth/index.js.map +1 -0
  73. package/dist/setups/auth/systems/better-auth.d.ts +3 -0
  74. package/dist/setups/auth/systems/better-auth.d.ts.map +1 -0
  75. package/dist/setups/auth/systems/better-auth.js +357 -0
  76. package/dist/setups/auth/systems/better-auth.js.map +1 -0
  77. package/dist/setups/auth/systems/clerk.d.ts +3 -0
  78. package/dist/setups/auth/systems/clerk.d.ts.map +1 -0
  79. package/dist/setups/auth/systems/clerk.js +259 -0
  80. package/dist/setups/auth/systems/clerk.js.map +1 -0
  81. package/dist/setups/auth/systems/workos.d.ts +3 -0
  82. package/dist/setups/auth/systems/workos.d.ts.map +1 -0
  83. package/dist/setups/auth/systems/workos.js +273 -0
  84. package/dist/setups/auth/systems/workos.js.map +1 -0
  85. package/dist/setups/auth/types.d.ts +39 -0
  86. package/dist/setups/auth/types.d.ts.map +1 -0
  87. package/dist/setups/auth/types.js +2 -0
  88. package/dist/setups/auth/types.js.map +1 -0
  89. package/dist/ui.d.ts +44 -0
  90. package/dist/ui.d.ts.map +1 -0
  91. package/dist/ui.js +149 -0
  92. package/dist/ui.js.map +1 -0
  93. package/package.json +3 -3
@@ -0,0 +1,527 @@
1
+ import inquirer from "inquirer";
2
+ import path from "path";
3
+ import { run, runInDir, pmAdd, pmx, pmxArgs } from "../exec.js";
4
+ import { writeJson, writeFile, ensureDir, pathExists } from "../files.js";
5
+ import { saveConfig } from "../config.js";
6
+ import { scaffoldExampleApp } from "./add-app.js";
7
+ import { c, q, detected, createStepRunner, printSection, printSuccess, printWarn, } from "../ui.js";
8
+ const TOTAL_STEPS = 8;
9
+ export async function initCommand(options) {
10
+ if (options.dryRun) {
11
+ printSection("Dry run — no files will be written");
12
+ }
13
+ // ─── Prompts ──────────────────────────────────────────────────────────────
14
+ const defaults = {
15
+ workspaceName: options.name ?? "my-monorepo",
16
+ pkgManager: options.pkgManager ?? "pnpm",
17
+ uiPackageName: "ui",
18
+ initialComponents: [],
19
+ addExampleApp: true,
20
+ baseColor: "neutral",
21
+ };
22
+ const answers = options.yes
23
+ ? defaults
24
+ : await inquirer.prompt([
25
+ {
26
+ type: "input",
27
+ name: "workspaceName",
28
+ message: q("Workspace name", "lowercase letters, numbers, dashes only"),
29
+ default: defaults.workspaceName,
30
+ validate: (v) => /^[a-z0-9-]+$/.test(v) || c.red("Only lowercase letters, numbers, and dashes allowed"),
31
+ },
32
+ {
33
+ type: "list",
34
+ name: "pkgManager",
35
+ message: q("Package manager"),
36
+ default: options.pkgManager
37
+ ? detected(options.pkgManager)
38
+ : defaults.pkgManager,
39
+ choices: ["pnpm", "npm", "yarn", "bun"],
40
+ when: !options.pkgManager,
41
+ },
42
+ {
43
+ type: "input",
44
+ name: "uiPackageName",
45
+ message: q("Shared UI package name", "lives at packages/<name>"),
46
+ default: defaults.uiPackageName,
47
+ validate: (v) => /^[a-z0-9-]+$/.test(v) || c.red("Only lowercase letters, numbers, and dashes"),
48
+ },
49
+ {
50
+ type: "list",
51
+ name: "baseColor",
52
+ message: q("Base color theme", "sets the shadcn/ui CSS variable palette"),
53
+ choices: [
54
+ { name: "neutral — clean gray (default)", value: "neutral" },
55
+ { name: "zinc — warm gray", value: "zinc" },
56
+ { name: "slate — cool blue-gray", value: "slate" },
57
+ { name: "stone — earthy warm gray", value: "stone" },
58
+ { name: "gray — pure gray", value: "gray" },
59
+ ],
60
+ default: defaults.baseColor,
61
+ },
62
+ {
63
+ type: "checkbox",
64
+ name: "initialComponents",
65
+ message: q("Pre-install shadcn components", "space to toggle · enter to confirm"),
66
+ choices: ["button", "card", "dialog", "input", "label", "select", "separator", "toast", "tooltip", "badge"],
67
+ },
68
+ {
69
+ type: "confirm",
70
+ name: "addExampleApp",
71
+ message: q("Scaffold an example Next.js app?"),
72
+ default: defaults.addExampleApp,
73
+ },
74
+ ]);
75
+ const pm = (answers.pkgManager ?? options.pkgManager ?? "pnpm");
76
+ const workspaceName = answers.workspaceName;
77
+ const uiPkgName = answers.uiPackageName;
78
+ const baseColor = (answers.baseColor ?? "neutral");
79
+ const initialComponents = answers.initialComponents;
80
+ const addExampleApp = answers.addExampleApp;
81
+ const cwd = path.join(process.cwd(), workspaceName);
82
+ const totalSteps = TOTAL_STEPS + (initialComponents.length > 0 ? 1 : 0) + (addExampleApp ? 1 : 0);
83
+ const step = createStepRunner(totalSteps, options.dryRun);
84
+ printSection(`${options.dryRun ? "[dry run] " : ""}Creating workspace at ./${workspaceName}`);
85
+ // ─── Steps ────────────────────────────────────────────────────────────────
86
+ await step("Create Nx workspace", () => run("npx", [
87
+ "--yes", "create-nx-workspace@latest", workspaceName,
88
+ "--preset=ts", `--packageManager=${pm}`,
89
+ "--nxCloud=skip", "--no-interactive",
90
+ ]));
91
+ await step("Write workspace config", async () => {
92
+ if (pm === "pnpm") {
93
+ await writeFile(path.join(cwd, "pnpm-workspace.yaml"), `packages:\n - 'packages/*'\n - 'apps/*'\n`);
94
+ }
95
+ else if (pm === "yarn") {
96
+ const fs = await import("fs-extra");
97
+ const rootPkgPath = path.join(cwd, "package.json");
98
+ try {
99
+ const rootPkg = await fs.default.readJson(rootPkgPath);
100
+ rootPkg.workspaces = ["packages/*", "apps/*"];
101
+ await fs.default.writeJson(rootPkgPath, rootPkg, { spaces: 2 });
102
+ }
103
+ catch { /* nx will write it */ }
104
+ }
105
+ await ensureDir(path.join(cwd, "packages"));
106
+ await ensureDir(path.join(cwd, "apps"));
107
+ });
108
+ await step(`Scaffold packages/${uiPkgName}`, () => scaffoldUiPackage(cwd, uiPkgName, pm));
109
+ await step("Install Tailwind v4", () => installUiDeps(cwd, uiPkgName, pm));
110
+ await step("Write shadcn config", async () => {
111
+ await writeShadcnConfig(cwd, uiPkgName, baseColor);
112
+ await writeTailwindCss(cwd, uiPkgName, baseColor);
113
+ });
114
+ if (initialComponents.length > 0) {
115
+ await step(`Add shadcn components (${initialComponents.join(", ")})`, () => installShadcnComponents(cwd, uiPkgName, pm, initialComponents));
116
+ }
117
+ await step("Update nx.json", () => updateNxJson(cwd, uiPkgName));
118
+ if (addExampleApp) {
119
+ await step("Scaffold example Next.js app", () => scaffoldExampleApp(cwd, "example-app", uiPkgName, pm));
120
+ }
121
+ await step("Update tsconfig.json", () => updateTsConfig(cwd, uiPkgName));
122
+ await step("Update package.json", () => updatePackageJson(cwd));
123
+ await step("Install all dependencies", async () => {
124
+ try {
125
+ await runInDir(cwd, pm, ["install"]);
126
+ }
127
+ catch {
128
+ printWarn("Dependency install failed", `Run \`${pm} install\` manually inside ${workspaceName}/`);
129
+ }
130
+ });
131
+ await step("Save workspace config", async () => {
132
+ if (!options.dryRun) {
133
+ await saveConfig({
134
+ workspaceName,
135
+ pkgManager: pm,
136
+ uiPackage: uiPkgName,
137
+ version: "1.0.0",
138
+ });
139
+ }
140
+ });
141
+ // ─── Done ─────────────────────────────────────────────────────────────────
142
+ printSuccess({
143
+ title: `${workspaceName} ready`,
144
+ commands: [
145
+ { cmd: `cd ${workspaceName}` },
146
+ ...(addExampleApp
147
+ ? [{ cmd: `${pm} dev --filter=example-app`, comment: "start the example app" }]
148
+ : []),
149
+ { cmd: `${pm} nx build @workspace/${uiPkgName}`, comment: "build the UI package" },
150
+ ],
151
+ tips: [
152
+ { label: "Add more components:", cmd: `nx-shadcn add-component button card` },
153
+ { label: "Add a new app:", cmd: `nx-shadcn add-app --name dashboard --framework vite` },
154
+ ],
155
+ });
156
+ }
157
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
158
+ async function scaffoldUiPackage(cwd, uiPkgName, pm) {
159
+ const pkgDir = path.join(cwd, "packages", uiPkgName);
160
+ await ensureDir(path.join(pkgDir, "components"));
161
+ await ensureDir(path.join(pkgDir, "lib"));
162
+ await ensureDir(path.join(pkgDir, "styles"));
163
+ // package.json for the UI package
164
+ await writeJson(path.join(pkgDir, "package.json"), {
165
+ name: `@workspace/${uiPkgName}`,
166
+ version: "0.0.1",
167
+ private: true,
168
+ type: "module",
169
+ peerDependencies: {
170
+ react: " ^19",
171
+ "react-dom": " ^19",
172
+ },
173
+ devDependencies: {
174
+ "@types/react": "^19.0.0",
175
+ "@types/react-dom": "^19.0.0",
176
+ react: "^19.0.0",
177
+ "react-dom": "^19.0.0",
178
+ typescript: "^5.6.0",
179
+ },
180
+ dependencies: {
181
+ "class-variance-authority": "^0.7.1",
182
+ clsx: "^2.1.1",
183
+ "lucide-react": "^0.454.0",
184
+ "tailwind-merge": "^2.5.4",
185
+ },
186
+ });
187
+ // tsconfig.json
188
+ await writeJson(path.join(pkgDir, "tsconfig.json"), {
189
+ compilerOptions: {
190
+ target: "ES2022",
191
+ module: "ESNext",
192
+ moduleResolution: "bundler",
193
+ jsx: "react-jsx",
194
+ strict: true,
195
+ declaration: true,
196
+ declarationMap: true,
197
+ sourceMap: true,
198
+ esModuleInterop: true,
199
+ skipLibCheck: true,
200
+ baseUrl: ".",
201
+ paths: {
202
+ "@workspace/*": ["../../packages/*"],
203
+ [`@workspace/${uiPkgName}/*`]: ["./*"],
204
+ },
205
+ },
206
+ include: ["**/*"],
207
+ exclude: ["node_modules"],
208
+ });
209
+ // lib/utils.ts (cn helper)
210
+ await writeFile(path.join(pkgDir, "lib/utils.ts"), `import { clsx, type ClassValue } from "clsx";
211
+ import { twMerge } from "tailwind-merge";
212
+
213
+ export function cn(...inputs: ClassValue[]) {
214
+ return twMerge(clsx(inputs));
215
+ }
216
+ `);
217
+ // index.ts — barrel export
218
+ await writeFile(path.join(pkgDir, "index.tsx"), `// Auto-generated barrel — add new component exports here
219
+ // Example: export { Button, type ButtonProps } from "./components/button";
220
+ export { cn } from "@workspace/${uiPkgName}/lib/utils";
221
+ `);
222
+ }
223
+ async function installUiDeps(cwd, uiPkgName, pm) {
224
+ const pkgDir = path.join(cwd, "packages", uiPkgName);
225
+ const addCmd = pmAdd(pm);
226
+ await runInDir(pkgDir, pm, [addCmd, "tailwindcss@^4.0.0"], "Installing Tailwind v4");
227
+ await runInDir(pkgDir, pm, [addCmd, "-D", "tw-animate-css"], "Installing tw-animate-css");
228
+ }
229
+ async function writeShadcnConfig(cwd, uiPkgName, baseColor = "neutral") {
230
+ const pkgDir = path.join(cwd, "packages", uiPkgName);
231
+ await writeJson(path.join(pkgDir, "components.json"), {
232
+ $schema: "https://ui.shadcn.com/schema.json",
233
+ style: "new-york",
234
+ rsc: false,
235
+ tsx: true,
236
+ tailwind: {
237
+ config: "",
238
+ css: "styles/globals.css",
239
+ baseColor,
240
+ cssVariables: true,
241
+ },
242
+ aliases: {
243
+ components: `@workspace/${uiPkgName}/components`,
244
+ utils: `@workspace/${uiPkgName}/lib/utils`,
245
+ ui: `@workspace/${uiPkgName}/components/ui`,
246
+ lib: `@workspace/${uiPkgName}/lib`,
247
+ hooks: `@workspace/${uiPkgName}/hooks`,
248
+ },
249
+ iconLibrary: "lucide",
250
+ });
251
+ }
252
+ // ─── Theme palettes (oklch values per shadcn base color) ─────────────────────
253
+ const THEME_PALETTES = {
254
+ neutral: {
255
+ light: {
256
+ radius: "0.625rem", background: "oklch(1 0 0)", foreground: "oklch(0.145 0 0)",
257
+ card: "oklch(1 0 0)", "card-foreground": "oklch(0.145 0 0)",
258
+ popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.145 0 0)",
259
+ primary: "oklch(0.205 0 0)", "primary-foreground": "oklch(0.985 0 0)",
260
+ secondary: "oklch(0.97 0 0)", "secondary-foreground": "oklch(0.205 0 0)",
261
+ muted: "oklch(0.97 0 0)", "muted-foreground": "oklch(0.556 0 0)",
262
+ accent: "oklch(0.97 0 0)", "accent-foreground": "oklch(0.205 0 0)",
263
+ destructive: "oklch(0.577 0.245 27.325)",
264
+ border: "oklch(0.922 0 0)", input: "oklch(0.922 0 0)", ring: "oklch(0.708 0 0)",
265
+ },
266
+ dark: {
267
+ background: "oklch(0.145 0 0)", foreground: "oklch(0.985 0 0)",
268
+ card: "oklch(0.205 0 0)", "card-foreground": "oklch(0.985 0 0)",
269
+ popover: "oklch(0.205 0 0)", "popover-foreground": "oklch(0.985 0 0)",
270
+ primary: "oklch(0.985 0 0)", "primary-foreground": "oklch(0.205 0 0)",
271
+ secondary: "oklch(0.269 0 0)", "secondary-foreground": "oklch(0.985 0 0)",
272
+ muted: "oklch(0.269 0 0)", "muted-foreground": "oklch(0.708 0 0)",
273
+ accent: "oklch(0.269 0 0)", "accent-foreground": "oklch(0.985 0 0)",
274
+ destructive: "oklch(0.704 0.191 22.216)",
275
+ border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.556 0 0)",
276
+ },
277
+ },
278
+ zinc: {
279
+ light: {
280
+ radius: "0.5rem", background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)",
281
+ card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)",
282
+ popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)",
283
+ primary: "oklch(0.21 0.006 285.885)", "primary-foreground": "oklch(0.985 0 0)",
284
+ secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)",
285
+ muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)",
286
+ accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)",
287
+ destructive: "oklch(0.577 0.245 27.325)",
288
+ border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.705 0.015 286.067)",
289
+ },
290
+ dark: {
291
+ background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)",
292
+ card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)",
293
+ popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)",
294
+ primary: "oklch(0.985 0 0)", "primary-foreground": "oklch(0.21 0.006 285.885)",
295
+ secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)",
296
+ muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)",
297
+ accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)",
298
+ destructive: "oklch(0.704 0.191 22.216)",
299
+ border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.552 0.016 285.938)",
300
+ },
301
+ },
302
+ slate: {
303
+ light: {
304
+ radius: "0.5rem", background: "oklch(1 0 0)", foreground: "oklch(0.129 0.042 264.695)",
305
+ card: "oklch(1 0 0)", "card-foreground": "oklch(0.129 0.042 264.695)",
306
+ popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.129 0.042 264.695)",
307
+ primary: "oklch(0.208 0.042 265.755)", "primary-foreground": "oklch(0.984 0.003 247.858)",
308
+ secondary: "oklch(0.968 0.007 247.896)", "secondary-foreground": "oklch(0.208 0.042 265.755)",
309
+ muted: "oklch(0.968 0.007 247.896)", "muted-foreground": "oklch(0.554 0.046 257.417)",
310
+ accent: "oklch(0.968 0.007 247.896)", "accent-foreground": "oklch(0.208 0.042 265.755)",
311
+ destructive: "oklch(0.577 0.245 27.325)",
312
+ border: "oklch(0.929 0.013 255.508)", input: "oklch(0.929 0.013 255.508)", ring: "oklch(0.704 0.04 256.788)",
313
+ },
314
+ dark: {
315
+ background: "oklch(0.129 0.042 264.695)", foreground: "oklch(0.984 0.003 247.858)",
316
+ card: "oklch(0.208 0.042 265.755)", "card-foreground": "oklch(0.984 0.003 247.858)",
317
+ popover: "oklch(0.208 0.042 265.755)", "popover-foreground": "oklch(0.984 0.003 247.858)",
318
+ primary: "oklch(0.984 0.003 247.858)", "primary-foreground": "oklch(0.208 0.042 265.755)",
319
+ secondary: "oklch(0.279 0.041 260.031)", "secondary-foreground": "oklch(0.984 0.003 247.858)",
320
+ muted: "oklch(0.279 0.041 260.031)", "muted-foreground": "oklch(0.704 0.04 256.788)",
321
+ accent: "oklch(0.279 0.041 260.031)", "accent-foreground": "oklch(0.984 0.003 247.858)",
322
+ destructive: "oklch(0.704 0.191 22.216)",
323
+ border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.554 0.046 257.417)",
324
+ },
325
+ },
326
+ stone: {
327
+ light: {
328
+ radius: "0.625rem", background: "oklch(1 0 0)", foreground: "oklch(0.147 0.004 49.25)",
329
+ card: "oklch(1 0 0)", "card-foreground": "oklch(0.147 0.004 49.25)",
330
+ popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.147 0.004 49.25)",
331
+ primary: "oklch(0.216 0.006 56.043)", "primary-foreground": "oklch(0.985 0.001 106.423)",
332
+ secondary: "oklch(0.97 0.001 106.424)", "secondary-foreground": "oklch(0.216 0.006 56.043)",
333
+ muted: "oklch(0.97 0.001 106.424)", "muted-foreground": "oklch(0.553 0.013 58.071)",
334
+ accent: "oklch(0.97 0.001 106.424)", "accent-foreground": "oklch(0.216 0.006 56.043)",
335
+ destructive: "oklch(0.577 0.245 27.325)",
336
+ border: "oklch(0.923 0.003 48.717)", input: "oklch(0.923 0.003 48.717)", ring: "oklch(0.709 0.01 56.259)",
337
+ },
338
+ dark: {
339
+ background: "oklch(0.147 0.004 49.25)", foreground: "oklch(0.985 0.001 106.423)",
340
+ card: "oklch(0.216 0.006 56.043)", "card-foreground": "oklch(0.985 0.001 106.423)",
341
+ popover: "oklch(0.216 0.006 56.043)", "popover-foreground": "oklch(0.985 0.001 106.423)",
342
+ primary: "oklch(0.985 0.001 106.423)", "primary-foreground": "oklch(0.216 0.006 56.043)",
343
+ secondary: "oklch(0.268 0.007 34.298)", "secondary-foreground": "oklch(0.985 0.001 106.423)",
344
+ muted: "oklch(0.268 0.007 34.298)", "muted-foreground": "oklch(0.709 0.01 56.259)",
345
+ accent: "oklch(0.268 0.007 34.298)", "accent-foreground": "oklch(0.985 0.001 106.423)",
346
+ destructive: "oklch(0.704 0.191 22.216)",
347
+ border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.553 0.013 58.071)",
348
+ },
349
+ },
350
+ gray: {
351
+ light: {
352
+ radius: "0.625rem", background: "oklch(1 0 0)", foreground: "oklch(0.13 0 0)",
353
+ card: "oklch(1 0 0)", "card-foreground": "oklch(0.13 0 0)",
354
+ popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.13 0 0)",
355
+ primary: "oklch(0.205 0 0)", "primary-foreground": "oklch(0.985 0 0)",
356
+ secondary: "oklch(0.97 0 0)", "secondary-foreground": "oklch(0.205 0 0)",
357
+ muted: "oklch(0.97 0 0)", "muted-foreground": "oklch(0.556 0 0)",
358
+ accent: "oklch(0.97 0 0)", "accent-foreground": "oklch(0.205 0 0)",
359
+ destructive: "oklch(0.577 0.245 27.325)",
360
+ border: "oklch(0.922 0 0)", input: "oklch(0.922 0 0)", ring: "oklch(0.708 0 0)",
361
+ },
362
+ dark: {
363
+ background: "oklch(0.13 0 0)", foreground: "oklch(0.985 0 0)",
364
+ card: "oklch(0.205 0 0)", "card-foreground": "oklch(0.985 0 0)",
365
+ popover: "oklch(0.205 0 0)", "popover-foreground": "oklch(0.985 0 0)",
366
+ primary: "oklch(0.985 0 0)", "primary-foreground": "oklch(0.205 0 0)",
367
+ secondary: "oklch(0.269 0 0)", "secondary-foreground": "oklch(0.985 0 0)",
368
+ muted: "oklch(0.269 0 0)", "muted-foreground": "oklch(0.708 0 0)",
369
+ accent: "oklch(0.269 0 0)", "accent-foreground": "oklch(0.985 0 0)",
370
+ destructive: "oklch(0.704 0.191 22.216)",
371
+ border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.556 0 0)",
372
+ },
373
+ },
374
+ };
375
+ function buildCssVars(vars, indent = " ") {
376
+ return Object.entries(vars)
377
+ .map(([k, v]) => `${indent}--${k}: ${v};`)
378
+ .join("\n");
379
+ }
380
+ async function writeTailwindCss(cwd, uiPkgName, baseColor = "neutral") {
381
+ const pkgDir = path.join(cwd, "packages", uiPkgName);
382
+ const palette = THEME_PALETTES[baseColor] ?? THEME_PALETTES.neutral;
383
+ const { radius, ...lightVars } = palette.light;
384
+ await writeFile(path.join(pkgDir, "styles/globals.css"), `@import "tailwindcss";
385
+ @import "tw-animate-css";
386
+
387
+ /*
388
+ * Tell Tailwind v4 where to scan for utility classes.
389
+ *
390
+ * @source covers:
391
+ * - This UI package's own components
392
+ * - Any app in apps/ that imports from @workspace/${uiPkgName}
393
+ *
394
+ * Apps can extend this by adding their own @source lines in their
395
+ * local globals.css after importing this file.
396
+ */
397
+ @source "../**/*.{ts,tsx}";
398
+
399
+ @custom-variant dark (&:is(.dark *));
400
+
401
+ @theme inline {
402
+ --radius-sm: calc(var(--radius) - 4px);
403
+ --radius-md: calc(var(--radius) - 2px);
404
+ --radius-lg: var(--radius);
405
+ --radius-xl: calc(var(--radius) + 4px);
406
+ --color-background: var(--background);
407
+ --color-foreground: var(--foreground);
408
+ --color-card: var(--card);
409
+ --color-card-foreground: var(--card-foreground);
410
+ --color-popover: var(--popover);
411
+ --color-popover-foreground: var(--popover-foreground);
412
+ --color-primary: var(--primary);
413
+ --color-primary-foreground: var(--primary-foreground);
414
+ --color-secondary: var(--secondary);
415
+ --color-secondary-foreground: var(--secondary-foreground);
416
+ --color-muted: var(--muted);
417
+ --color-muted-foreground: var(--muted-foreground);
418
+ --color-accent: var(--accent);
419
+ --color-accent-foreground: var(--accent-foreground);
420
+ --color-destructive: var(--destructive);
421
+ --color-border: var(--border);
422
+ --color-input: var(--input);
423
+ --color-ring: var(--ring);
424
+ }
425
+
426
+ :root {
427
+ --radius: ${radius ?? "0.625rem"};
428
+ ${buildCssVars(lightVars)}
429
+ }
430
+
431
+ .dark {
432
+ ${buildCssVars(palette.dark)}
433
+ }
434
+ `);
435
+ }
436
+ async function installShadcnComponents(cwd, uiPkgName, pm, components) {
437
+ const pkgDir = path.join(cwd, "packages", uiPkgName);
438
+ try {
439
+ await runInDir(pkgDir, pmx(pm), pmxArgs(pm, "shadcn@latest", ["add", "--yes", ...components]));
440
+ await updateBarrelExports(pkgDir, uiPkgName, components);
441
+ }
442
+ catch {
443
+ printWarn("Failed to add shadcn components", "Add them manually later with: nx-shadcn add-component");
444
+ }
445
+ }
446
+ async function updateBarrelExports(pkgDir, uiPkgName, components) {
447
+ const indexPath = path.join(pkgDir, "index.tsx");
448
+ const { default: fs } = await import("fs-extra");
449
+ let existing = "";
450
+ try {
451
+ existing = await fs.readFile(indexPath, "utf-8");
452
+ }
453
+ catch {
454
+ // file doesn't exist yet — start fresh
455
+ }
456
+ const newExports = components
457
+ .filter((c) => !existing.includes(`@workspace/${uiPkgName}/components/ui/${c}`))
458
+ .map((c) => `export * from "@workspace/${uiPkgName}/components/ui/${c}";`)
459
+ .join("\n");
460
+ if (newExports) {
461
+ if (existing && !existing.endsWith("\n"))
462
+ existing += "\n";
463
+ await writeFile(indexPath, existing + newExports + "\n");
464
+ }
465
+ }
466
+ async function updateNxJson(cwd, uiPkgName) {
467
+ const nxJsonPath = path.join(cwd, "nx.json");
468
+ try {
469
+ const fs = await import("fs-extra");
470
+ const nxJson = await fs.default.readJson(nxJsonPath);
471
+ nxJson.targetDefaults = {
472
+ ...(nxJson.targetDefaults ?? {}),
473
+ build: {
474
+ dependsOn: ["^build"],
475
+ outputs: ["{projectRoot}/dist"],
476
+ cache: true,
477
+ },
478
+ };
479
+ nxJson.workspaceLayout = { appsDir: "apps", libsDir: "packages" };
480
+ await fs.default.writeJson(nxJsonPath, nxJson, { spaces: 2 });
481
+ }
482
+ catch {
483
+ // nx.json may not exist yet — skip
484
+ }
485
+ }
486
+ // Update the generated workspace package.json with the expected workspaces entries.
487
+ async function updatePackageJson(cwd) {
488
+ const pkgJsonPath = path.join(cwd, "package.json");
489
+ const { default: fs } = await import("fs-extra");
490
+ if (!(await pathExists(pkgJsonPath)))
491
+ return;
492
+ const pkgJson = await fs.readJson(pkgJsonPath);
493
+ const required = ["packages/*", "apps/*"];
494
+ if (Array.isArray(pkgJson.workspaces)) {
495
+ pkgJson.workspaces = Array.from(new Set([...pkgJson.workspaces, ...required]));
496
+ }
497
+ else if (pkgJson.workspaces && Array.isArray(pkgJson.workspaces.packages)) {
498
+ pkgJson.workspaces.packages = Array.from(new Set([...pkgJson.workspaces.packages, ...required]));
499
+ }
500
+ else {
501
+ pkgJson.workspaces = required;
502
+ }
503
+ await fs.writeJson(pkgJsonPath, pkgJson, { spaces: 2 });
504
+ }
505
+ // Update scaffolded app tsConfig to extend the typescript config of the root workspace
506
+ async function updateTsConfig(cwd, uiPkgName) {
507
+ const tsConfigPath = path.join(cwd, "apps/example-app/tsconfig.json");
508
+ const { default: fs } = await import("fs-extra");
509
+ if (!(await pathExists(tsConfigPath)))
510
+ return;
511
+ const tsConfig = await fs.readJson(tsConfigPath);
512
+ tsConfig.extends = "../../tsconfig.base.json";
513
+ const currentPaths = tsConfig.compilerOptions?.paths ?? {};
514
+ tsConfig.compilerOptions = {
515
+ ...(tsConfig.compilerOptions ?? {}),
516
+ paths: {
517
+ ...currentPaths,
518
+ "@/*": ["./*"],
519
+ "@workspace/*": ["../../packages/*"],
520
+ },
521
+ };
522
+ const includeEntries = Array.isArray(tsConfig.include) ? tsConfig.include : [];
523
+ const requiredIncludes = ["../../packages/**/*.ts", "../../packages/**/*.tsx"];
524
+ tsConfig.include = Array.from(new Set([...includeEntries, ...requiredIncludes]));
525
+ await fs.writeJson(tsConfigPath, tsConfig, { spaces: 2 });
526
+ }
527
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function listCommand(): Promise<void>;
2
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkGjD"}