nx-factory-cli 2.1.24 → 2.1.25

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 +63 -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 +90 -56
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/migrate.d.ts +7 -0
  16. package/dist/commands/migrate.d.ts.map +1 -0
  17. package/dist/commands/migrate.js +365 -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 +11 -1
  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 +54 -0
  45. package/dist/tsconfigs.d.ts.map +1 -0
  46. package/dist/tsconfigs.js +165 -0
  47. package/dist/tsconfigs.js.map +1 -0
  48. package/package.json +1 -1
@@ -0,0 +1,365 @@
1
+ import inquirer from "inquirer";
2
+ import path from "path";
3
+ import { pathExists, writeJson } from "../files.js";
4
+ import { loadConfig, saveConfig, resolveScope, } from "../config.js";
5
+ import { detectPackageManager } from "../exec.js";
6
+ import { rootTsConfigBase, packageTsConfig, appTsConfig } from "../tsconfigs.js";
7
+ import { requireMonorepoRoot, MonorepoRootNotFoundError, } from "../resolve-root.js";
8
+ import { c, q, createStepRunner, printSection, printSuccess, printError, } from "../ui.js";
9
+ export async function migrateCommand(options) {
10
+ // ── Resolve monorepo root ──────────────────────────────────────────────────
11
+ let root;
12
+ try {
13
+ root = await requireMonorepoRoot();
14
+ }
15
+ catch (err) {
16
+ if (err instanceof MonorepoRootNotFoundError) {
17
+ printError({
18
+ title: "Could not find a workspace to migrate",
19
+ detail: String(err),
20
+ recovery: [
21
+ { label: "Run from inside an nx-factory-cli workspace:", cmd: "cd <workspace-root>" },
22
+ { label: "Or start fresh:", cmd: "nx-factory-cli init" },
23
+ ],
24
+ });
25
+ }
26
+ else {
27
+ printError({
28
+ title: "Unexpected error",
29
+ detail: String(err),
30
+ recovery: [{ label: "Run from workspace root:", cmd: "cd <workspace-root>" }],
31
+ });
32
+ }
33
+ process.exit(1);
34
+ return;
35
+ }
36
+ printSection("Analysing workspace...");
37
+ // ── Analyse current state ─────────────────────────────────────────────────
38
+ const status = await analyseWorkspace(root);
39
+ printAnalysis(status);
40
+ if (isFullyMigrated(status)) {
41
+ console.log(`\n ${c.green("✓")} ${c.white("Workspace is already up to date — nothing to migrate.")}\n`);
42
+ return;
43
+ }
44
+ // ── Confirm ───────────────────────────────────────────────────────────────
45
+ const cfg = await loadConfig();
46
+ const scope = resolveScope(cfg);
47
+ const detectedPm = await detectPackageManager(root);
48
+ const pm = detectedPm ?? cfg?.pkgManager ?? "pnpm";
49
+ const answers = options.yes
50
+ ? { proceed: true, uiVisibility: "internal" }
51
+ : await inquirer.prompt([
52
+ {
53
+ type: "confirm",
54
+ name: "proceed",
55
+ message: q("Apply all migrations?", "a backup of each changed file will be written as <file>.migration-backup"),
56
+ default: true,
57
+ },
58
+ {
59
+ type: "select",
60
+ name: "uiVisibility",
61
+ message: q("UI package visibility", "internal = workspace only · public = published to npm"),
62
+ choices: [
63
+ { name: "internal — private: true, workspace only", value: "internal" },
64
+ { name: "public — will be published to npm", value: "public" },
65
+ ],
66
+ default: "internal",
67
+ when: !status.hasUiPackageVisibility,
68
+ },
69
+ ]);
70
+ if (!answers.proceed) {
71
+ console.log(c.dim("\n Migration cancelled.\n"));
72
+ return;
73
+ }
74
+ const uiVisibility = (answers.uiVisibility ?? "internal");
75
+ // ── Count steps dynamically ───────────────────────────────────────────────
76
+ let totalSteps = 0;
77
+ if (!status.hasTsConfigBase)
78
+ totalSteps++;
79
+ if (!status.hasUiPackageVisibility && status.uiPackageDir)
80
+ totalSteps++;
81
+ if (status.packagesWithBadTsConfig.length > 0)
82
+ totalSteps++;
83
+ if (status.appsWithBadTsConfig.length > 0)
84
+ totalSteps++;
85
+ if (!status.hasConfig || !status.hasUiPackageVisibility)
86
+ totalSteps++;
87
+ if (totalSteps === 0)
88
+ totalSteps = 1;
89
+ printSection(`${options.dryRun ? "[dry run] " : ""}Migrating workspace at ${root}`);
90
+ const step = createStepRunner(totalSteps, options.dryRun);
91
+ // ── Step 1: Write tsconfig.base.json ──────────────────────────────────────
92
+ if (!status.hasTsConfigBase) {
93
+ await step("Write tsconfig.base.json", async () => {
94
+ const tsBasePath = path.join(root, "tsconfig.base.json");
95
+ await backupIfExists(tsBasePath, options.dryRun);
96
+ await writeJson(tsBasePath, rootTsConfigBase(scope));
97
+ });
98
+ }
99
+ // ── Step 2: Migrate UI package tsconfig + package.json ──────────────────
100
+ if (!status.hasUiPackageVisibility && status.uiPackageDir) {
101
+ const uiPkgName = path.basename(status.uiPackageDir);
102
+ await step(`Migrate packages/${uiPkgName} (tsconfig + package.json)`, async () => {
103
+ const { default: fs } = await import("fs-extra");
104
+ // tsconfig.json
105
+ const tsCfgPath = path.join(status.uiPackageDir, "tsconfig.json");
106
+ await backupIfExists(tsCfgPath, options.dryRun);
107
+ await writeJson(tsCfgPath, packageTsConfig({ scope, pkgName: uiPkgName, visibility: uiVisibility, react: true }));
108
+ // package.json — add exports + publishConfig if public, ensure private:true if internal
109
+ const pkgPath = path.join(status.uiPackageDir, "package.json");
110
+ if (await pathExists(pkgPath)) {
111
+ await backupIfExists(pkgPath, options.dryRun);
112
+ const pkg = await fs.readJson(pkgPath);
113
+ if (uiVisibility === "internal") {
114
+ pkg.private = true;
115
+ delete pkg.publishConfig;
116
+ }
117
+ else {
118
+ delete pkg.private;
119
+ pkg.publishConfig = { access: "public" };
120
+ pkg.files = ["dist", "styles"];
121
+ }
122
+ // Ensure exports field is present
123
+ if (!pkg.exports) {
124
+ pkg.exports = {
125
+ ".": { import: "./dist/index.js", types: "./dist/index.d.ts" },
126
+ "./styles": "./styles/globals.css",
127
+ "./components/*": {
128
+ import: "./dist/components/*.js",
129
+ types: "./dist/components/*.d.ts",
130
+ },
131
+ };
132
+ }
133
+ await fs.writeJson(pkgPath, pkg, { spaces: 2 });
134
+ }
135
+ });
136
+ }
137
+ // ── Step 3: Migrate other packages in packages/ ───────────────────────────
138
+ if (status.packagesWithBadTsConfig.length > 0) {
139
+ await step(`Migrate ${status.packagesWithBadTsConfig.length} package tsconfig(s)`, async () => {
140
+ for (const pkgName of status.packagesWithBadTsConfig) {
141
+ const pkgDir = path.join(root, "packages", pkgName);
142
+ const tsCfgPath = path.join(pkgDir, "tsconfig.json");
143
+ await backupIfExists(tsCfgPath, options.dryRun);
144
+ // Detect if this package uses React (has @types/react or jsx in existing config)
145
+ let isReact = false;
146
+ try {
147
+ const { default: fs } = await import("fs-extra");
148
+ const existing = await fs.readJson(tsCfgPath);
149
+ const co = (existing.compilerOptions ?? {});
150
+ isReact = !!co.jsx;
151
+ }
152
+ catch { /* no tsconfig — use safe default */ }
153
+ // Detect visibility from package.json
154
+ let visibility = "internal";
155
+ try {
156
+ const { default: fs } = await import("fs-extra");
157
+ const pkg = await fs.readJson(path.join(pkgDir, "package.json"));
158
+ if (!pkg.private)
159
+ visibility = "public";
160
+ }
161
+ catch { /* keep internal */ }
162
+ await writeJson(tsCfgPath, packageTsConfig({ scope, pkgName, visibility, react: isReact }));
163
+ }
164
+ });
165
+ }
166
+ // ── Step 4: Migrate app tsconfigs ─────────────────────────────────────────
167
+ if (status.appsWithBadTsConfig.length > 0) {
168
+ await step(`Migrate ${status.appsWithBadTsConfig.length} app tsconfig(s)`, async () => {
169
+ const { default: fs } = await import("fs-extra");
170
+ for (const appName of status.appsWithBadTsConfig) {
171
+ const appDir = path.join(root, "apps", appName);
172
+ const tsCfgPath = path.join(appDir, "tsconfig.json");
173
+ if (!(await pathExists(tsCfgPath)))
174
+ continue;
175
+ await backupIfExists(tsCfgPath, options.dryRun);
176
+ const hasSrcDir = await pathExists(path.join(appDir, "src"));
177
+ const fw = await detectFrameworkFromAppDir(appDir);
178
+ const generated = appTsConfig({ scope, framework: fw, hasSrcDir });
179
+ // Merge — keep framework-generated keys, override extends + paths + include
180
+ const existing = await fs.readJson(tsCfgPath);
181
+ const merged = {
182
+ ...existing,
183
+ ...generated,
184
+ compilerOptions: {
185
+ ...(existing.compilerOptions ?? {}),
186
+ ...generated.compilerOptions,
187
+ },
188
+ };
189
+ await fs.writeJson(tsCfgPath, merged, { spaces: 2 });
190
+ }
191
+ });
192
+ }
193
+ // ── Step 5: Update nx-factory.config.json ─────────────────────────────────
194
+ if (!status.hasConfig || !status.hasUiPackageVisibility) {
195
+ await step("Update nx-factory.config.json", async () => {
196
+ const uiPkg = cfg?.uiPackage ?? (status.uiPackageDir ? path.basename(status.uiPackageDir) : "ui");
197
+ const updatedCfg = {
198
+ workspaceName: cfg?.workspaceName ?? path.basename(root),
199
+ scope,
200
+ pkgManager: pm,
201
+ uiPackage: uiPkg,
202
+ uiPackageVisibility: uiVisibility,
203
+ version: "2.1.10",
204
+ };
205
+ await saveConfig(updatedCfg, root);
206
+ });
207
+ }
208
+ // ── Done ──────────────────────────────────────────────────────────────────
209
+ printSuccess({
210
+ title: "Migration complete",
211
+ commands: [
212
+ { cmd: `${pm} install`, comment: "reinstall to pick up any dep changes" },
213
+ { cmd: `${pm} nx run-many --target=build`, comment: "verify everything builds" },
214
+ ],
215
+ tips: [
216
+ {
217
+ label: "Backup files created:",
218
+ cmd: "find . -name '*.migration-backup' — delete them once verified",
219
+ },
220
+ {
221
+ label: "New command available:",
222
+ cmd: "nx-factory-cli add-lib --type utils (now prompts for visibility)",
223
+ },
224
+ ],
225
+ });
226
+ }
227
+ // ─── Analysis helpers ─────────────────────────────────────────────────────────
228
+ async function analyseWorkspace(root) {
229
+ const { default: fs } = await import("fs-extra");
230
+ const cfg = await loadConfig();
231
+ const hasTsConfigBase = await pathExists(path.join(root, "tsconfig.base.json"));
232
+ // Find UI package
233
+ let uiPackageDir = null;
234
+ const packagesDir = path.join(root, "packages");
235
+ if (await pathExists(packagesDir)) {
236
+ const entries = await fs.readdir(packagesDir);
237
+ for (const e of entries) {
238
+ if (await pathExists(path.join(packagesDir, e, "components.json"))) {
239
+ uiPackageDir = path.join(packagesDir, e);
240
+ break;
241
+ }
242
+ }
243
+ // Fallback to first package if no components.json found
244
+ if (!uiPackageDir && entries.length > 0) {
245
+ uiPackageDir = path.join(packagesDir, entries[0]);
246
+ }
247
+ }
248
+ // Find packages with outdated tsconfigs (missing composite / still on bundler resolution)
249
+ const packagesWithBadTsConfig = [];
250
+ if (await pathExists(packagesDir)) {
251
+ const entries = await fs.readdir(packagesDir);
252
+ for (const e of entries) {
253
+ const tsCfgPath = path.join(packagesDir, e, "tsconfig.json");
254
+ if (!(await pathExists(tsCfgPath)))
255
+ continue;
256
+ try {
257
+ const tsJson = await fs.readJson(tsCfgPath);
258
+ const co = (tsJson.compilerOptions ?? {});
259
+ // Outdated if: no composite, or moduleResolution is bundler (should be NodeNext via extends)
260
+ const isOutdated = !co.composite ||
261
+ String(co.moduleResolution ?? "").toLowerCase() === "bundler" ||
262
+ !tsJson.extends;
263
+ if (isOutdated)
264
+ packagesWithBadTsConfig.push(e);
265
+ }
266
+ catch { /* malformed — flag it */
267
+ packagesWithBadTsConfig.push(e);
268
+ }
269
+ }
270
+ }
271
+ // Find apps with outdated tsconfigs
272
+ const appsWithBadTsConfig = [];
273
+ const appsDir = path.join(root, "apps");
274
+ if (await pathExists(appsDir)) {
275
+ const entries = await fs.readdir(appsDir);
276
+ for (const e of entries) {
277
+ const tsCfgPath = path.join(appsDir, e, "tsconfig.json");
278
+ if (!(await pathExists(tsCfgPath)))
279
+ continue;
280
+ try {
281
+ const tsJson = await fs.readJson(tsCfgPath);
282
+ const co = (tsJson.compilerOptions ?? {});
283
+ const paths = (co.paths ?? {});
284
+ // Outdated if: doesn't extend base, or paths are missing the @scope/* mapping,
285
+ // or still has packages/**/* in include
286
+ const hasWrongIncludes = Array.isArray(tsJson.include) &&
287
+ tsJson.include.some((i) => i.includes("packages/**"));
288
+ const missingExtends = !tsJson.extends ||
289
+ !String(tsJson.extends).includes("tsconfig.base");
290
+ const missingPaths = !Object.keys(paths).some((k) => k.startsWith("@") && k.endsWith("/*"));
291
+ if (hasWrongIncludes || missingExtends || missingPaths) {
292
+ appsWithBadTsConfig.push(e);
293
+ }
294
+ }
295
+ catch { /* malformed — flag it */
296
+ appsWithBadTsConfig.push(e);
297
+ }
298
+ }
299
+ }
300
+ return {
301
+ hasConfig: !!cfg,
302
+ configVersion: cfg?.version ?? null,
303
+ hasTsConfigBase,
304
+ hasUiPackageVisibility: !!cfg?.uiPackageVisibility,
305
+ uiPackageDir,
306
+ appsWithBadTsConfig,
307
+ packagesWithBadTsConfig,
308
+ };
309
+ }
310
+ function isFullyMigrated(s) {
311
+ return (s.hasConfig &&
312
+ s.hasTsConfigBase &&
313
+ s.hasUiPackageVisibility &&
314
+ s.appsWithBadTsConfig.length === 0 &&
315
+ s.packagesWithBadTsConfig.length === 0);
316
+ }
317
+ function printAnalysis(s) {
318
+ const tick = c.green("✓");
319
+ const cross = c.yellow("✗");
320
+ console.log();
321
+ console.log(` ${s.hasConfig ? tick : cross} nx-factory.config.json ${s.hasConfig ? c.dim(`(v${s.configVersion ?? "unknown"})`) : c.yellow("missing")}`);
322
+ console.log(` ${s.hasTsConfigBase ? tick : cross} tsconfig.base.json ${s.hasTsConfigBase ? "" : c.yellow("missing — will create")}`);
323
+ console.log(` ${s.hasUiPackageVisibility ? tick : cross} UI package visibility ${s.hasUiPackageVisibility ? "" : c.yellow("not set — will prompt")}`);
324
+ if (s.packagesWithBadTsConfig.length > 0) {
325
+ console.log(` ${cross} Packages needing tsconfig migration: ${c.yellow(s.packagesWithBadTsConfig.join(", "))}`);
326
+ }
327
+ else {
328
+ console.log(` ${tick} All package tsconfigs are up to date`);
329
+ }
330
+ if (s.appsWithBadTsConfig.length > 0) {
331
+ console.log(` ${cross} Apps needing tsconfig migration: ${c.yellow(s.appsWithBadTsConfig.join(", "))}`);
332
+ }
333
+ else {
334
+ console.log(` ${tick} All app tsconfigs are up to date`);
335
+ }
336
+ console.log();
337
+ }
338
+ async function detectFrameworkFromAppDir(appDir) {
339
+ const checks = [
340
+ ["next.config.ts", "nextjs"],
341
+ ["next.config.js", "nextjs"],
342
+ ["next.config.mjs", "nextjs"],
343
+ ["app/root.tsx", "remix"],
344
+ ["app/root.jsx", "remix"],
345
+ ["app.json", "expo"],
346
+ ["app.config.ts", "expo"],
347
+ ["vite.config.ts", "vite"],
348
+ ["vite.config.js", "vite"],
349
+ ];
350
+ for (const [file, fw] of checks) {
351
+ if (await pathExists(path.join(appDir, file)))
352
+ return fw;
353
+ }
354
+ return "nextjs";
355
+ }
356
+ // ─── Backup helper ────────────────────────────────────────────────────────────
357
+ async function backupIfExists(filePath, dryRun) {
358
+ if (dryRun)
359
+ return;
360
+ if (!(await pathExists(filePath)))
361
+ return;
362
+ const { default: fs } = await import("fs-extra");
363
+ await fs.copy(filePath, `${filePath}.migration-backup`, { overwrite: true });
364
+ }
365
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  export declare const CONFIG_FILENAME = "nx-factory.config.json";
2
+ export type PackageVisibility = "internal" | "public";
2
3
  export interface NxShadcnConfig {
3
4
  workspaceName: string;
4
5
  scope: string;
5
6
  pkgManager: "pnpm" | "npm" | "yarn" | "bun";
6
7
  uiPackage: string;
8
+ uiPackageVisibility: PackageVisibility;
7
9
  version: string;
8
10
  }
9
11
  /** Convert a workspace/repo name to a valid npm scope segment (without @). */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,MAAM,WAAW,cAAc;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAC3B,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,GACrE,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,gEAAgE;AAChE,wBAAsB,UAAU,CAC/B,QAAQ,SAAgB,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED,2EAA2E;AAC3E,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQjE;AAED,wDAAwD;AACxD,wBAAsB,UAAU,CAC/B,GAAG,EAAE,cAAc,EACnB,OAAO,SAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAC3B,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,GACrE,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,gEAAgE;AAChE,wBAAsB,UAAU,CAC/B,QAAQ,SAAgB,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAED,2EAA2E;AAC3E,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQjE;AAED,wDAAwD;AACxD,wBAAsB,UAAU,CAC/B,GAAG,EAAE,cAAc,EACnB,OAAO,SAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAUxD,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,OAAO,CACN,IAAI;SACF,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,WAAW,CACtC,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAC3B,GAAuE;IAEvE,OAAO,cAAc,CAAC,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,aAAa,IAAI,WAAW,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,WAAmB;IACnE,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAExB,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAClD,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC/B,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACJ,OAAO,MAAM,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,GAAmB,EACnB,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;IAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAaxD,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,OAAO,CACN,IAAI;SACF,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,WAAW,CACtC,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAC3B,GAAuE;IAEvE,OAAO,cAAc,CAAC,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,aAAa,IAAI,WAAW,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,WAAmB;IACnE,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAExB,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAClD,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC/B,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACJ,OAAO,MAAM,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,GAAmB,EACnB,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;IAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACjD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC"}
package/dist/exec.d.ts CHANGED
@@ -6,10 +6,12 @@ export declare function run(cmd: string, args: string[], opts?: Options & {
6
6
  export declare function runInteractive(cmd: string, args: string[], opts?: Omit<Options, "stdio">): Promise<void>;
7
7
  export declare function runInDir(cwd: string, cmd: string, args: string[], label?: string): Promise<void>;
8
8
  /**
9
- * Detects the package manager in use by inspecting lockfiles in `cwd` (defaults to process.cwd()).
9
+ * Detects the package manager in use by inspecting lockfiles in `cwd`.
10
+ * Checks both bun.lockb (legacy binary) and bun.lock (new text format).
10
11
  * Returns null if no lockfile is found.
11
12
  */
12
13
  export declare function detectPackageManager(cwd?: string): Promise<string | null>;
14
+ /** Returns the correct dlx runner binary for a given package manager. */
13
15
  export declare function pmx(pm: string): string;
14
16
  /** Args to prefix a dlx-style command, e.g. ["dlx", "shadcn@latest", ...] for pnpm */
15
17
  export declare function pmxArgs(pm: string, pkg: string, args: string[]): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAI5C,wBAAsB,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,OAAO,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,6FAA6F;AAC7F,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAM,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQtF;AAED,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,sFAAsF;AACtF,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAIzE;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGxC;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC;AAI5C,wBAAsB,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,OAAO,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,6FAA6F;AAC7F,wBAAsB,cAAc,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAM,GAC/B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,QAAQ,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACzC,GAAG,SAAgB,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED,yEAAyE;AACzE,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED,sFAAsF;AACtF,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAIzE;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAExC;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEtD"}
package/dist/exec.js CHANGED
@@ -21,7 +21,8 @@ export async function runInDir(cwd, cmd, args, label) {
21
21
  await run(cmd, args, { cwd, label });
22
22
  }
23
23
  /**
24
- * Detects the package manager in use by inspecting lockfiles in `cwd` (defaults to process.cwd()).
24
+ * Detects the package manager in use by inspecting lockfiles in `cwd`.
25
+ * Checks both bun.lockb (legacy binary) and bun.lock (new text format).
25
26
  * Returns null if no lockfile is found.
26
27
  */
27
28
  export async function detectPackageManager(cwd = process.cwd()) {
@@ -30,6 +31,10 @@ export async function detectPackageManager(cwd = process.cwd()) {
30
31
  return "pnpm";
31
32
  if (await fs.pathExists(`${cwd}/pnpm-lock.yaml`))
32
33
  return "pnpm";
34
+ // bun.lock = new text-based format (bun ≥ 1.1.38)
35
+ // bun.lockb = legacy binary format
36
+ if (await fs.pathExists(`${cwd}/bun.lock`))
37
+ return "bun";
33
38
  if (await fs.pathExists(`${cwd}/bun.lockb`))
34
39
  return "bun";
35
40
  if (await fs.pathExists(`${cwd}/yarn.lock`))
@@ -38,6 +43,7 @@ export async function detectPackageManager(cwd = process.cwd()) {
38
43
  return "npm";
39
44
  return null;
40
45
  }
46
+ /** Returns the correct dlx runner binary for a given package manager. */
41
47
  export function pmx(pm) {
42
48
  if (pm === "pnpm")
43
49
  return "pnpm";
@@ -57,7 +63,6 @@ export function pmxArgs(pm, pkg, args) {
57
63
  }
58
64
  /** The subcommand used to add a dependency ("add" vs "install") */
59
65
  export function pmAdd(pm) {
60
- // npm is the odd one out; everyone else uses "add"
61
66
  return pm === "npm" ? "install" : "add";
62
67
  }
63
68
  export function pmRun(pm) {
package/dist/exec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,12 +12,16 @@ import { addLibCommand } from "./commands/add-lib.js";
12
12
  import { addStorybookCommand } from "./commands/add-storybook.js";
13
13
  import { publishCommand } from "./commands/publish.js";
14
14
  import { addAuthCommand } from "./commands/add-auth.js";
15
+ import { migrateCommand } from "./commands/migrate.js";
16
+ import { createRequire } from "module";
17
+ const _require = createRequire(import.meta.url);
18
+ const _pkg = _require("../package.json");
15
19
  const program = new Command();
16
20
  printBanner();
17
21
  program
18
22
  .name("nx-factory")
19
23
  .description("Initialize and manage an Nx monorepo with shared shadcn/ui components")
20
- .version("1.0.0");
24
+ .version(_pkg.version);
21
25
  program
22
26
  .command("init")
23
27
  .description("Initialize a new Nx monorepo with a shared UI package")
@@ -91,5 +95,11 @@ program
91
95
  .option("-y, --yes", "Skip all prompts and use defaults")
92
96
  .option("--dry-run", "Preview what would be created without writing anything")
93
97
  .action(addAuthCommand);
98
+ program
99
+ .command("migrate")
100
+ .description("Migrate an existing nx-factory-cli workspace to the latest configuration")
101
+ .option("-y, --yes", "Skip confirmation prompts")
102
+ .option("--dry-run", "Preview what would be changed without writing anything")
103
+ .action(migrateCommand);
94
104
  program.parse();
95
105
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/setups/auth/base.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,qBAAqB,EACjC,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAoEf"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/setups/auth/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,qBAAqB,EACjC,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -1,5 +1,6 @@
1
1
  import path from "path";
2
2
  import { writeJson } from "../../files.js";
3
+ import { packageTsConfig } from "../../tsconfigs.js";
3
4
  import { scopedPackageName } from "../../config.js";
4
5
  /**
5
6
  * Writes the boilerplate every auth package needs:
@@ -53,26 +54,9 @@ export async function writeAuthPackageBase(pkgDir, scaffolder, scope) {
53
54
  },
54
55
  peerDependencies: scaffolder.peerDependencies,
55
56
  });
56
- // ── tsconfig.json ───────────────────────────────────────────────────────────
57
- await writeJson(path.join(pkgDir, "tsconfig.json"), {
58
- extends: "../../tsconfig.base.json",
59
- compilerOptions: {
60
- target: "ES2022",
61
- module: "ESNext",
62
- moduleResolution: "bundler",
63
- jsx: "react-jsx",
64
- lib: ["ES2022", "DOM"],
65
- strict: true,
66
- declaration: true,
67
- declarationMap: true,
68
- sourceMap: true,
69
- esModuleInterop: true,
70
- skipLibCheck: true,
71
- outDir: "dist",
72
- rootDir: ".",
73
- },
74
- include: ["**/*"],
75
- exclude: ["node_modules", "dist"],
76
- });
57
+ // ── tsconfig.json — built from shared factory ──────────────────────────────
58
+ // Auth is always internal (private:true). It includes React for provider
59
+ // UI components (ClerkProvider, etc.) and DOM for browser auth flows.
60
+ await writeJson(path.join(pkgDir, "tsconfig.json"), packageTsConfig({ scope, pkgName: "auth", visibility: "internal", react: true }));
77
61
  }
78
62
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/setups/auth/base.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAc,EACd,UAAiC,EACjC,KAAa;IAEb,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzD,+EAA+E;IAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;QAClD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACR,GAAG,EAAE;gBACJ,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,mBAAmB;aAC1B;YACD,mFAAmF;YACnF,UAAU,EAAE;gBACX,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,oBAAoB;aAC3B;YACD,UAAU,EAAE;gBACX,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,oBAAoB;aAC3B;YACD,cAAc,EAAE;gBACf,MAAM,EAAE,sBAAsB;gBAC9B,KAAK,EAAE,wBAAwB;aAC/B;YACD,QAAQ,EAAE;gBACT,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,kBAAkB;aACzB;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE;YACR,KAAK,EAAE,sBAAsB;YAC7B,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,cAAc;SACzB;QACD,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,eAAe,EAAE;YAChB,GAAG,UAAU,CAAC,eAAe;YAC7B,UAAU,EAAE,QAAQ;SACpB;QACD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;KAC7C,CAAC,CAAC;IAEH,+EAA+E;IAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE;QACnD,OAAO,EAAE,0BAA0B;QACnC,eAAe,EAAE;YAChB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG;SACZ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/setups/auth/base.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAc,EACd,UAAiC,EACjC,KAAa;IAEb,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzD,+EAA+E;IAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;QAClD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACR,GAAG,EAAE;gBACJ,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,mBAAmB;aAC1B;YACD,mFAAmF;YACnF,UAAU,EAAE;gBACX,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,oBAAoB;aAC3B;YACD,UAAU,EAAE;gBACX,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,oBAAoB;aAC3B;YACD,cAAc,EAAE;gBACf,MAAM,EAAE,sBAAsB;gBAC9B,KAAK,EAAE,wBAAwB;aAC/B;YACD,QAAQ,EAAE;gBACT,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,kBAAkB;aACzB;SACD;QACD,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE;YACR,KAAK,EAAE,sBAAsB;YAC7B,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,cAAc;SACzB;QACD,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,eAAe,EAAE;YAChB,GAAG,UAAU,CAAC,eAAe;YAC7B,UAAU,EAAE,QAAQ;SACpB;QACD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;KAC7C,CAAC,CAAC;IAEH,8EAA8E;IAC9E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,SAAS,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAClC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAChF,CAAC;AACH,CAAC"}
@@ -2,5 +2,5 @@ export { clerkScaffolder } from "./systems/clerk.js";
2
2
  export { betterAuthScaffolder } from "./systems/better-auth.js";
3
3
  export { workosScaffolder } from "./systems/workos.js";
4
4
  export { writeAuthPackageBase } from "./base.js";
5
- export type { AuthProvider, AuthPackageOptions, AuthPackageScaffolder } from "./types.js";
5
+ export type { AuthProvider, AppFramework, AuthPackageOptions, AuthPackageScaffolder } from "./types.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/setups/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAW,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAU,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/setups/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAW,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAU,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"better-auth.d.ts","sourceRoot":"","sources":["../../../../src/setups/auth/systems/better-auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAsB,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,qBA2ZlC,CAAC"}
1
+ {"version":3,"file":"better-auth.d.ts","sourceRoot":"","sources":["../../../../src/setups/auth/systems/better-auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAsB,MAAM,aAAa,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,qBAiOlC,CAAC"}