nx-factory-cli 2.1.24 → 2.1.26

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 (48) hide show
  1. package/dist/commands/add-app.d.ts.map +1 -1
  2. package/dist/commands/add-app.js +92 -90
  3. package/dist/commands/add-app.js.map +1 -1
  4. package/dist/commands/add-auth.d.ts.map +1 -1
  5. package/dist/commands/add-auth.js +42 -3
  6. package/dist/commands/add-auth.js.map +1 -1
  7. package/dist/commands/add-lib.d.ts.map +1 -1
  8. package/dist/commands/add-lib.js +76 -40
  9. package/dist/commands/add-lib.js.map +1 -1
  10. package/dist/commands/doctor.js +1 -1
  11. package/dist/commands/doctor.js.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +131 -59
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/migrate.d.ts +12 -0
  16. package/dist/commands/migrate.d.ts.map +1 -0
  17. package/dist/commands/migrate.js +644 -0
  18. package/dist/commands/migrate.js.map +1 -0
  19. package/dist/config.d.ts +2 -0
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js.map +1 -1
  22. package/dist/exec.d.ts +3 -1
  23. package/dist/exec.d.ts.map +1 -1
  24. package/dist/exec.js +7 -2
  25. package/dist/exec.js.map +1 -1
  26. package/dist/index.js +61 -8
  27. package/dist/index.js.map +1 -1
  28. package/dist/setups/auth/base.d.ts.map +1 -1
  29. package/dist/setups/auth/base.js +5 -21
  30. package/dist/setups/auth/base.js.map +1 -1
  31. package/dist/setups/auth/index.d.ts +1 -1
  32. package/dist/setups/auth/index.d.ts.map +1 -1
  33. package/dist/setups/auth/systems/better-auth.d.ts.map +1 -1
  34. package/dist/setups/auth/systems/better-auth.js +88 -266
  35. package/dist/setups/auth/systems/better-auth.js.map +1 -1
  36. package/dist/setups/auth/systems/clerk.d.ts.map +1 -1
  37. package/dist/setups/auth/systems/clerk.js +61 -142
  38. package/dist/setups/auth/systems/clerk.js.map +1 -1
  39. package/dist/setups/auth/systems/workos.d.ts.map +1 -1
  40. package/dist/setups/auth/systems/workos.js +92 -203
  41. package/dist/setups/auth/systems/workos.js.map +1 -1
  42. package/dist/setups/auth/types.d.ts +12 -10
  43. package/dist/setups/auth/types.d.ts.map +1 -1
  44. package/dist/tsconfigs.d.ts +88 -0
  45. package/dist/tsconfigs.d.ts.map +1 -0
  46. package/dist/tsconfigs.js +296 -0
  47. package/dist/tsconfigs.js.map +1 -0
  48. package/package.json +1 -1
@@ -1,29 +1,50 @@
1
1
  import inquirer from "inquirer";
2
2
  import path from "path";
3
3
  import { pathExists, writeJson, writeFile, ensureDir } from "../files.js";
4
+ import { packageTsConfig } from "../tsconfigs.js";
4
5
  import { loadConfig, resolveScope, scopedPackageName } from "../config.js";
5
- import { detectPackageManager } from "../exec.js";
6
+ import { detectPackageManager, pmWorkspaceProtocol } from "../exec.js";
7
+ import { requireMonorepoRoot, MonorepoRootNotFoundError, } from "../resolve-root.js";
6
8
  import { c, q, createStepRunner, printSection, printSuccess, printError, } from "../ui.js";
7
9
  const LIB_TYPES = ["utils", "hooks", "config", "types", "api"];
8
10
  export async function addLibCommand(options) {
9
- // Verify monorepo root
10
- if (!(await pathExists(path.join(process.cwd(), "package.json")))) {
11
- printError({
12
- title: "No package.json found",
13
- detail: "Run this command from the monorepo root.",
14
- recovery: [
15
- { label: "", cmd: "cd <monorepo-root> && nx-factory-cli add-lib" },
16
- ],
17
- });
11
+ // ── Resolve monorepo root from wherever the user invokes this ──────────────
12
+ // Bug fix: was using process.cwd() directly, which breaks when run from a
13
+ // subdirectory (e.g. apps/my-app). Use requireMonorepoRoot() like every
14
+ // other command so the lib always lands in <workspace-root>/packages/.
15
+ let workspaceRoot;
16
+ try {
17
+ workspaceRoot = await requireMonorepoRoot();
18
+ }
19
+ catch (err) {
20
+ if (err instanceof MonorepoRootNotFoundError) {
21
+ printError({
22
+ title: "Could not find monorepo root",
23
+ detail: String(err),
24
+ recovery: [
25
+ { label: "Run from inside your nx-factory-cli workspace:", cmd: "cd <monorepo-root>" },
26
+ ],
27
+ });
28
+ }
29
+ else {
30
+ printError({
31
+ title: "Unexpected error resolving workspace root",
32
+ detail: String(err),
33
+ recovery: [
34
+ { label: "Try running from your monorepo root:", cmd: "cd <monorepo-root>" },
35
+ ],
36
+ });
37
+ }
18
38
  process.exit(1);
19
39
  return;
20
40
  }
21
41
  const cfg = await loadConfig();
22
42
  const scope = resolveScope(cfg);
23
- const detectedPm = await detectPackageManager();
43
+ const detectedPm = await detectPackageManager(workspaceRoot);
24
44
  const defaults = {
25
45
  libName: options.name ?? "shared",
26
46
  libType: (options.type ?? "utils"),
47
+ visibility: "internal",
27
48
  pm: detectedPm ?? cfg?.pkgManager ?? "pnpm",
28
49
  };
29
50
  const answers = options.yes
@@ -50,6 +71,16 @@ export async function addLibCommand(options) {
50
71
  ],
51
72
  default: defaults.libType,
52
73
  },
74
+ {
75
+ type: "select",
76
+ name: "visibility",
77
+ message: q("Package visibility", "internal = private to this monorepo · public = will be published to npm"),
78
+ choices: [
79
+ { name: "internal — private: true, workspace only", value: "internal" },
80
+ { name: "public — will be published to npm", value: "public" },
81
+ ],
82
+ default: defaults.visibility,
83
+ },
53
84
  {
54
85
  type: "select",
55
86
  name: "pm",
@@ -61,8 +92,10 @@ export async function addLibCommand(options) {
61
92
  ]);
62
93
  const libName = (answers.libName ?? defaults.libName);
63
94
  const libType = (answers.libType ?? defaults.libType);
95
+ const visibility = (answers.visibility ?? defaults.visibility);
64
96
  const pm = (answers.pm ?? detectedPm ?? cfg?.pkgManager ?? "pnpm");
65
- const libDir = path.join(process.cwd(), "packages", libName);
97
+ // Always rooted at workspaceRoot, never process.cwd()
98
+ const libDir = path.join(workspaceRoot, "packages", libName);
66
99
  if (await pathExists(libDir)) {
67
100
  printError({
68
101
  title: `packages/${libName} already exists`,
@@ -77,14 +110,18 @@ export async function addLibCommand(options) {
77
110
  return;
78
111
  }
79
112
  printSection(`${options.dryRun ? "[dry run] " : ""}Creating packages/${libName}`);
80
- const step = createStepRunner(3, options.dryRun);
113
+ // 2 real steps + done marker = 2 meaningful steps
114
+ const step = createStepRunner(2, options.dryRun);
81
115
  await step("Scaffold package structure", async () => {
82
- await ensureDir(path.join(libDir, "."));
116
+ await ensureDir(libDir);
117
+ const isPublic = visibility === "public";
83
118
  await writeJson(path.join(libDir, "package.json"), {
84
119
  name: scopedPackageName(scope, libName),
85
120
  version: "0.0.1",
86
- private: true,
121
+ ...(isPublic ? {} : { private: true }),
87
122
  type: "module",
123
+ // Always include exports — omitting it loses sub-path support and
124
+ // gives bundlers no encapsulation contract.
88
125
  exports: {
89
126
  ".": {
90
127
  import: "./dist/index.js",
@@ -98,37 +135,28 @@ export async function addLibCommand(options) {
98
135
  "build:watch": "tsc -p tsconfig.json --watch",
99
136
  typecheck: "tsc --noEmit",
100
137
  },
138
+ ...(isPublic
139
+ ? {
140
+ files: ["dist"],
141
+ publishConfig: { access: "public" },
142
+ }
143
+ : {}),
101
144
  devDependencies: {
102
145
  typescript: "^5.6.0",
103
146
  },
104
147
  });
105
- await writeJson(path.join(libDir, "tsconfig.json"), {
106
- compilerOptions: {
107
- target: "ES2022",
108
- module: "ESNext",
109
- moduleResolution: "bundler",
110
- strict: true,
111
- declaration: true,
112
- declarationMap: true,
113
- sourceMap: true,
114
- esModuleInterop: true,
115
- skipLibCheck: true,
116
- outDir: "dist",
117
- rootDir: ".",
118
- },
119
- include: ["**/*"],
120
- exclude: ["node_modules", "dist"],
121
- });
122
- // Seed index.ts based on lib type
148
+ // Use the react flag for hooks libs (they need jsx + DOM)
149
+ const needsReact = libType === "hooks";
150
+ await writeJson(path.join(libDir, "tsconfig.json"), packageTsConfig({ scope, pkgName: libName, visibility, react: needsReact }));
123
151
  await writeFile(path.join(libDir, "index.ts"), getIndexContent(libName, libType, scope));
124
152
  });
125
- await step(`Add ${scopedPackageName(scope, libName)} to workspace`, async () => {
126
- // For pnpm: pnpm-workspace.yaml is already written by init.
127
- // For npm: the workspaces field in root package.json covers packages/*.
128
- // Nothing extra to do — the new directory is picked up automatically.
129
- void pm; // referenced to avoid unused-var warning
153
+ await step("Verify workspace registration", async () => {
154
+ // pnpm-workspace.yaml / root package.json workspaces already covers packages/*
155
+ // from init. Nothing to write — just confirm the dir exists so the PM picks it up.
156
+ if (!(await pathExists(libDir))) {
157
+ throw new Error(`packages/${libName} directory was not created`);
158
+ }
130
159
  });
131
- await step("Done", async () => { });
132
160
  printSuccess({
133
161
  title: `packages/${libName} created`,
134
162
  commands: [
@@ -144,8 +172,16 @@ export async function addLibCommand(options) {
144
172
  tips: [
145
173
  {
146
174
  label: "Add to an app's dependencies:",
147
- cmd: `"${scopedPackageName(scope, libName)}": "${pm === "npm" ? "*" : "workspace:*"}"`,
175
+ cmd: `"${scopedPackageName(scope, libName)}": "${pmWorkspaceProtocol(pm)}"`,
148
176
  },
177
+ ...(visibility === "public"
178
+ ? [
179
+ {
180
+ label: "Publish to npm:",
181
+ cmd: `${pm} nx build ${scopedPackageName(scope, libName)} && cd packages/${libName} && npm publish`,
182
+ },
183
+ ]
184
+ : []),
149
185
  ],
150
186
  });
151
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-lib.js","sourceRoot":"","sources":["../../src/commands/add-lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-lib.js","sourceRoot":"","sources":["../../src/commands/add-lib.ts"],"names":[],"mappings":"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"}
@@ -220,7 +220,7 @@ export async function doctorCommand() {
220
220
  else {
221
221
  // Auto-fix: append missing exports
222
222
  const newLines = missing
223
- .map((c) => `export * from "./components/ui/${c}";`)
223
+ .map((c) => `export * from "./components/ui/${c}.js";`)
224
224
  .join("\n");
225
225
  const updated = barrelContent.endsWith("\n")
226
226
  ? barrelContent + newLines + "\n"
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQlE,MAAM,CAAC,KAAK,UAAU,aAAa;IAClC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAEjD,8EAA8E;IAC9E,IAAI,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,8BAA8B;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,CAAC,UAAU;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,YAAY,GAAG,CAAC,SAAS,EAAE;SACnC,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,MAAM,EACL,iFAAiF;SAClF,CAAC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,YAAY,SAAS,YAAY;SACzC,CAAC,CAAC;QACH,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,UAAU,CAAC;YACV,KAAK,EAAE,wCAAwC;YAC/C,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC;SACnE,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,MAAM,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,YAAY,SAAS,SAAS;KACtC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5D,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC;YAC3C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;YAExC,8FAA8F;YAC9F,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAClD,CAAC;YAEF,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG;oBACb,GAAG,QAAQ;oBACX,OAAO,EAAE;wBACR,UAAU,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,aAAa;wBAC/D,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY;wBACzD,EAAE,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB;wBAC1D,GAAG,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM;wBACjD,KAAK,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ;qBACrD;iBACD,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,mCAAmC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM;iBACpF,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,UAAU,KAAK,EAAE;iBACzB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,cAAc;aACtB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,yCAAyC;SACjD,CAAC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEnD,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;YAC5C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,0BAA0B;iBAClC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,0CAA0C;iBAClD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,8BAA8B;aACtC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,oCAAoC;SAC5C,CAAC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1D,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM,QAAQ,GACb,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,KAAK;gBACnD,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC;YAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,mCAAmC;gBACnC,QAAQ,CAAC,eAAe,GAAG;oBAC1B,GAAG,QAAQ,CAAC,eAAe;oBAC3B,OAAO,EAAE,GAAG;oBACZ,KAAK,EAAE;wBACN,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;wBAC1C,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC;wBACrC,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;wBACtD,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;qBACrD;iBACD,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,UAAU,KAAK,gBAAgB,SAAS,EAAE;iBAClD,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,IAAI,KAAK,gBAAgB;iBACjC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,+BAA+B;aACvC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,qCAAqC;SAC7C,CAAC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC7D,IAAI,SAAS,GAAa,EAAE,CAAC;IAE7B,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,SAAS,GAAG,KAAK;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aACpC,IAAI,EAAE,CAAC;IACV,CAAC;IAED,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CACvB,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,GAAG,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACX,CACD,CAAC;IACF,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,aAAa,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe;SACxF,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,mCAAmC;QACnC,MAAM,QAAQ,GAAG,OAAO;aACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,OAAO,CAAC;aACtD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,CAAC,CAAC,aAAa,GAAG,QAAQ,GAAG,IAAI;YACjC,CAAC,CAAC,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC1C,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,SAAS,OAAO,CAAC,MAAM,kBAAkB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACvG,CAAC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,IAAI,GAAG,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;YAEpE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBACxD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;oBAAE,SAAS;gBAC3C,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC3C,MAAM,GAAG,GACR,OAAO,EAAE,YAAY,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC9D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACvB,MAAM,SAAS,GACd,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC;wBAChE,IAAI,CAAC,SAAS;4BACb,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,GAAG,eAAe,QAAQ,GAAG,CAAC,CAAC;oBACpE,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,UAAU;gBACX,CAAC;YACF,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,oBAAoB;oBAC1B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,GAAG,QAAQ,iBAAiB;iBACpC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,oBAAoB;oBAC1B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACxD,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAC7E,YAAY,CAAC,MAAM,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;IAEzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,YAAY,CAAC;YACZ,KAAK,EAAE,mBAAmB;YAC1B,QAAQ,EACP,KAAK,CAAC,MAAM,GAAG,CAAC;gBACf,CAAC,CAAC;oBACA;wBACC,GAAG,EAAE,kBAAkB;wBACvB,OAAO,EAAE,yCAAyC;qBAClD;iBACD;gBACF,CAAC,CAAC;oBACA;wBACC,GAAG,EAAE,qBAAqB;wBAC1B,OAAO,EAAE,2BAA2B;qBACpC;iBACD;SACJ,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACP,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CACnG,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,SAAS,CACR,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAC9G,mBAAmB,CACnB,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACpC,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GACT,EAAE,CAAC,MAAM,KAAK,MAAM;YACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YACd,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK;gBACpB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBACb,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM;oBACrB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACf,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GACX,EAAE,CAAC,MAAM,KAAK,KAAK;YAClB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM;gBACrB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;gBAClB,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM;oBACrB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;oBACrB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAeA,UAAU,WAAW;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAgBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyOrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAgCA,UAAU,WAAW;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAgBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoQrE"}
@@ -1,11 +1,15 @@
1
1
  import inquirer from "inquirer";
2
2
  import path from "path";
3
+ import { createRequire } from "module";
3
4
  import { run, runInDir, pmAdd, pmx, pmxArgs } from "../exec.js";
4
5
  import { writeJson, writeFile, ensureDir, pathExists } from "../files.js";
5
- import { saveConfig, normalizeScope, scopedPackageName } from "../config.js";
6
+ import { saveConfig, normalizeScope, scopedPackageName, } from "../config.js";
7
+ import { rootTsConfigBase, typescriptPackageJson, typescriptPresets, packageTsConfig, appTsConfig, rootTsConfigSolution, } from "../tsconfigs.js";
6
8
  import { scaffoldExampleApp } from "./add-app.js";
7
9
  import { c, q, createStepRunner, printSection, printSuccess, printWarn, } from "../ui.js";
8
- const TOTAL_STEPS = 8;
10
+ const _require = createRequire(import.meta.url);
11
+ const _cliPkg = _require("../../package.json");
12
+ const TOTAL_STEPS = 9;
9
13
  const SUPPORTED_PACKAGE_MANAGERS = ["pnpm", "npm", "yarn", "bun"];
10
14
  function isSupportedPackageManager(pm) {
11
15
  return (!!pm &&
@@ -23,6 +27,7 @@ export async function initCommand(options) {
23
27
  workspaceName: options.name ?? "my-monorepo",
24
28
  pkgManager: providedPkgManager ?? "pnpm",
25
29
  uiPackageName: "ui",
30
+ uiPackageVisibility: "internal",
26
31
  initialComponents: [],
27
32
  addExampleApp: true,
28
33
  baseColor: "neutral",
@@ -53,6 +58,22 @@ export async function initCommand(options) {
53
58
  validate: (v) => /^[a-z0-9-]+$/.test(v) ||
54
59
  c.red("Only lowercase letters, numbers, and dashes"),
55
60
  },
61
+ {
62
+ type: "select",
63
+ name: "uiPackageVisibility",
64
+ message: q("UI package visibility", "internal = private to this monorepo · public = will be published to npm"),
65
+ choices: [
66
+ {
67
+ name: "internal — private: true, no npm publish",
68
+ value: "internal",
69
+ },
70
+ {
71
+ name: "public — will be published to npm",
72
+ value: "public",
73
+ },
74
+ ],
75
+ default: defaults.uiPackageVisibility,
76
+ },
56
77
  {
57
78
  type: "select",
58
79
  name: "baseColor",
@@ -94,6 +115,8 @@ export async function initCommand(options) {
94
115
  const workspaceName = answers.workspaceName;
95
116
  const scope = normalizeScope(workspaceName);
96
117
  const uiPkgName = answers.uiPackageName;
118
+ const uiPackageVisibility = (answers.uiPackageVisibility ??
119
+ defaults.uiPackageVisibility);
97
120
  const baseColor = (answers.baseColor ?? "neutral");
98
121
  const initialComponents = answers.initialComponents;
99
122
  const addExampleApp = answers.addExampleApp;
@@ -133,7 +156,7 @@ export async function initCommand(options) {
133
156
  await ensureDir(path.join(cwd, "packages"));
134
157
  await ensureDir(path.join(cwd, "apps"));
135
158
  });
136
- await step(`Scaffold packages/${uiPkgName}`, () => scaffoldUiPackage(cwd, uiPkgName, pm, scope));
159
+ await step(`Scaffold packages/${uiPkgName}`, () => scaffoldUiPackage(cwd, uiPkgName, pm, scope, uiPackageVisibility));
137
160
  await step("Install Tailwind v4", () => installUiDeps(cwd, uiPkgName, pm));
138
161
  await step("Write shadcn config", async () => {
139
162
  await writeShadcnConfig(cwd, uiPkgName, baseColor, scope);
@@ -143,6 +166,7 @@ export async function initCommand(options) {
143
166
  await step(`Add shadcn components (${initialComponents.join(", ")})`, () => installShadcnComponents(cwd, uiPkgName, pm, initialComponents));
144
167
  }
145
168
  await step("Update nx.json", () => updateNxJson(cwd));
169
+ await step("Scaffold packages/typescript workspace package", () => writeTypescriptPackage(cwd, scope));
146
170
  if (addExampleApp) {
147
171
  await step("Scaffold example Next.js app", () => scaffoldExampleApp(cwd, "example-app", uiPkgName, pm, scope));
148
172
  }
@@ -163,7 +187,8 @@ export async function initCommand(options) {
163
187
  scope,
164
188
  pkgManager: pm,
165
189
  uiPackage: uiPkgName,
166
- version: "1.0.0",
190
+ uiPackageVisibility,
191
+ version: _cliPkg.version,
167
192
  }, cwd);
168
193
  }
169
194
  });
@@ -198,25 +223,50 @@ export async function initCommand(options) {
198
223
  });
199
224
  }
200
225
  // ─── Helpers ──────────────────────────────────────────────────────────────────
201
- async function scaffoldUiPackage(cwd, uiPkgName, pm, scope) {
226
+ async function scaffoldUiPackage(cwd, uiPkgName, pm, scope, visibility = "internal") {
202
227
  const pkgDir = path.join(cwd, "packages", uiPkgName);
203
228
  await ensureDir(path.join(pkgDir, "components"));
204
229
  await ensureDir(path.join(pkgDir, "lib"));
205
230
  await ensureDir(path.join(pkgDir, "styles"));
206
231
  // package.json for the UI package
232
+ const isPublic = visibility === "public";
207
233
  await writeJson(path.join(pkgDir, "package.json"), {
208
234
  name: scopedPackageName(scope, uiPkgName),
209
235
  version: "0.0.1",
210
- private: true,
236
+ // public packages must NOT have private:true
237
+ ...(isPublic ? {} : { private: true }),
211
238
  type: "module",
239
+ // exports field: always present so sub-paths work correctly
240
+ exports: {
241
+ ".": {
242
+ import: "./dist/index.js",
243
+ types: "./dist/index.d.ts",
244
+ },
245
+ "./styles": "./styles/globals.css",
246
+ // Convenience: deep-import any component directly
247
+ "./components/*": {
248
+ import: "./dist/components/*.js",
249
+ types: "./dist/components/*.d.ts",
250
+ },
251
+ },
252
+ main: "./dist/index.js",
253
+ types: "./dist/index.d.ts",
212
254
  scripts: {
213
255
  build: "tsc -p tsconfig.json",
214
256
  "build:watch": "tsc -p tsconfig.json --watch",
215
257
  typecheck: "tsc --noEmit",
216
258
  },
259
+ // public packages ship source maps and type declarations;
260
+ // internal ones get them too for IDE go-to-definition
261
+ ...(isPublic
262
+ ? {
263
+ files: ["dist", "styles"],
264
+ publishConfig: { access: "public" },
265
+ }
266
+ : {}),
217
267
  peerDependencies: {
218
- react: " ^19",
219
- "react-dom": " ^19",
268
+ react: "^18 || ^19",
269
+ "react-dom": "^18 || ^19",
220
270
  },
221
271
  devDependencies: {
222
272
  "@types/react": "^19.0.0",
@@ -232,30 +282,8 @@ async function scaffoldUiPackage(cwd, uiPkgName, pm, scope) {
232
282
  "tailwind-merge": "^2.5.4",
233
283
  },
234
284
  });
235
- // tsconfig.json
236
- await writeJson(path.join(pkgDir, "tsconfig.json"), {
237
- compilerOptions: {
238
- target: "ES2022",
239
- module: "ESNext",
240
- moduleResolution: "bundler",
241
- jsx: "react-jsx",
242
- strict: true,
243
- declaration: true,
244
- declarationMap: true,
245
- sourceMap: true,
246
- esModuleInterop: true,
247
- skipLibCheck: true,
248
- outDir: "dist",
249
- rootDir: ".",
250
- baseUrl: ".",
251
- paths: {
252
- [`@${scope}/*`]: ["../../packages/*"],
253
- [`${scopedPackageName(scope, uiPkgName)}/*`]: ["./*"],
254
- },
255
- },
256
- include: ["**/*"],
257
- exclude: ["node_modules", "dist"],
258
- });
285
+ // tsconfig.json — built from shared factory
286
+ await writeJson(path.join(pkgDir, "tsconfig.json"), packageTsConfig({ scope, pkgName: uiPkgName, visibility, react: true }));
259
287
  // lib/utils.ts (cn helper)
260
288
  await writeFile(path.join(pkgDir, "lib/utils.ts"), `import { clsx, type ClassValue } from "clsx";
261
289
  import { twMerge } from "tailwind-merge";
@@ -266,7 +294,7 @@ export function cn(...inputs: ClassValue[]) {
266
294
  `);
267
295
  // index.ts — barrel export
268
296
  await writeFile(path.join(pkgDir, "index.tsx"), `// Auto-generated barrel — add new component exports here
269
- // Example: export { Button, type ButtonProps } from "./components/button";
297
+ // Example: export { Button, type ButtonProps } from "./components/button.js";
270
298
  export { cn } from "${scopedPackageName(scope, uiPkgName)}/lib/utils";
271
299
  `);
272
300
  void pm;
@@ -601,7 +629,7 @@ async function updateBarrelExports(pkgDir, components) {
601
629
  }
602
630
  const newExports = components
603
631
  .filter((c) => !existing.includes(`/components/ui/${c}`))
604
- .map((c) => `export * from "./components/ui/${c}";`)
632
+ .map((c) => `export * from "./components/ui/${c}.js";`)
605
633
  .join("\n");
606
634
  if (newExports) {
607
635
  if (existing && !existing.endsWith("\n"))
@@ -636,7 +664,7 @@ async function updatePackageJson(cwd) {
636
664
  if (!(await pathExists(pkgJsonPath)))
637
665
  return;
638
666
  const pkgJson = await fs.readJson(pkgJsonPath);
639
- const required = ["packages/*", "apps/*"];
667
+ const required = ["packages/*", "apps/*", "tooling/*"];
640
668
  if (Array.isArray(pkgJson.workspaces)) {
641
669
  pkgJson.workspaces = Array.from(new Set([...pkgJson.workspaces, ...required]));
642
670
  }
@@ -648,31 +676,75 @@ async function updatePackageJson(cwd) {
648
676
  }
649
677
  await fs.writeJson(pkgJsonPath, pkgJson, { spaces: 2 });
650
678
  }
651
- // Update scaffolded app tsConfig to extend the typescript config of the root workspace
679
+ /**
680
+ * Writes tsconfig.base.json at the workspace root and the root solution
681
+ * tsconfig.json. Also patches the example app's tsconfig if it was scaffolded.
682
+ */
652
683
  async function updateTsConfig(cwd, scope) {
653
- const tsConfigPath = path.join(cwd, "apps/example-app/tsconfig.json");
654
684
  const { default: fs } = await import("fs-extra");
655
- if (!(await pathExists(tsConfigPath)))
656
- return;
657
- const tsConfig = await fs.readJson(tsConfigPath);
658
- tsConfig.extends = "../../tsconfig.base.json";
659
- const currentPaths = tsConfig.compilerOptions?.paths ?? {};
660
- tsConfig.compilerOptions = {
661
- ...(tsConfig.compilerOptions ?? {}),
662
- paths: {
663
- ...currentPaths,
664
- "@/*": ["./*"],
665
- [`@${scope}/*`]: ["../../packages/*"],
666
- },
667
- };
668
- const includeEntries = Array.isArray(tsConfig.include)
669
- ? tsConfig.include
670
- : [];
671
- const requiredIncludes = [
672
- "../../packages/**/*.ts",
673
- "../../packages/**/*.tsx",
674
- ];
675
- tsConfig.include = Array.from(new Set([...includeEntries, ...requiredIncludes]));
676
- await fs.writeJson(tsConfigPath, tsConfig, { spaces: 2 });
685
+ // ── 1. Root tsconfig.base.json ────────────────────────────────────────────
686
+ await writeJson(path.join(cwd, "tsconfig.base.json"), rootTsConfigBase(scope));
687
+ // ── 2. Root solution tsconfig.json ───────────────────────────────────────
688
+ // A solution file that references all packages and apps so IDEs and
689
+ // `tsc --build` can see the whole workspace in one pass.
690
+ const pkgNames = [];
691
+ const appNames = [];
692
+ try {
693
+ const pkgDir = path.join(cwd, "packages");
694
+ if (await pathExists(pkgDir)) {
695
+ pkgNames.push(...(await fs.readdir(pkgDir)));
696
+ }
697
+ }
698
+ catch {
699
+ /* packages/ not created yet */
700
+ }
701
+ try {
702
+ const appsDir = path.join(cwd, "apps");
703
+ if (await pathExists(appsDir)) {
704
+ appNames.push(...(await fs.readdir(appsDir)));
705
+ }
706
+ }
707
+ catch {
708
+ /* apps/ not created yet */
709
+ }
710
+ await writeJson(path.join(cwd, "tsconfig.json"), rootTsConfigSolution(pkgNames, appNames));
711
+ // ── 3. Patch the example app tsconfig (if it was scaffolded) ─────────────
712
+ for (const appTsConfigRel of [
713
+ "apps/example-app/tsconfig.json",
714
+ "apps/example-app/tsconfig.app.json",
715
+ ]) {
716
+ const tsConfigPath = path.join(cwd, appTsConfigRel);
717
+ if (!(await pathExists(tsConfigPath)))
718
+ continue;
719
+ const hasSrcDir = await pathExists(path.join(cwd, "apps/example-app/src"));
720
+ const generated = appTsConfig({ scope, framework: "nextjs", hasSrcDir });
721
+ const existing = await fs.readJson(tsConfigPath);
722
+ const merged = {
723
+ ...existing,
724
+ ...generated,
725
+ compilerOptions: {
726
+ ...(existing.compilerOptions ?? {}),
727
+ ...generated.compilerOptions,
728
+ },
729
+ };
730
+ await fs.writeJson(tsConfigPath, merged, { spaces: 2 });
731
+ break;
732
+ }
733
+ }
734
+ /**
735
+ * Scaffolds the packages/typescript workspace package.
736
+ * This is a private, never-built package that owns all shared tsconfig presets.
737
+ * Other packages extend from "@scope/typescript/tsconfig.*.json".
738
+ */
739
+ async function writeTypescriptPackage(cwd, scope) {
740
+ const pkgDir = path.join(cwd, "tooling", "typescript");
741
+ await ensureDir(pkgDir);
742
+ // package.json — makes it a proper workspace package
743
+ await writeJson(path.join(pkgDir, "package.json"), typescriptPackageJson(scope));
744
+ // tsconfig presets
745
+ const presets = typescriptPresets();
746
+ for (const [filename, content] of Object.entries(presets)) {
747
+ await writeJson(path.join(pkgDir, filename), content);
748
+ }
677
749
  }
678
750
  //# sourceMappingURL=init.js.map