nx-factory-cli 2.1.23 → 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 (59) hide show
  1. package/dist/commands/add-app.d.ts.map +1 -1
  2. package/dist/commands/add-app.js +65 -92
  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 +43 -4
  6. package/dist/commands/add-auth.js.map +1 -1
  7. package/dist/commands/add-component.d.ts.map +1 -1
  8. package/dist/commands/add-component.js +4 -3
  9. package/dist/commands/add-component.js.map +1 -1
  10. package/dist/commands/add-lib.d.ts.map +1 -1
  11. package/dist/commands/add-lib.js +78 -42
  12. package/dist/commands/add-lib.js.map +1 -1
  13. package/dist/commands/doctor.js +1 -1
  14. package/dist/commands/doctor.js.map +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +92 -58
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/commands/migrate.d.ts +7 -0
  19. package/dist/commands/migrate.d.ts.map +1 -0
  20. package/dist/commands/migrate.js +365 -0
  21. package/dist/commands/migrate.js.map +1 -0
  22. package/dist/commands/publish.js +1 -1
  23. package/dist/commands/publish.js.map +1 -1
  24. package/dist/commands/remove-component.d.ts.map +1 -1
  25. package/dist/commands/remove-component.js +3 -1
  26. package/dist/commands/remove-component.js.map +1 -1
  27. package/dist/commands/update.d.ts.map +1 -1
  28. package/dist/commands/update.js +4 -2
  29. package/dist/commands/update.js.map +1 -1
  30. package/dist/config.d.ts +2 -0
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js.map +1 -1
  33. package/dist/exec.d.ts +3 -1
  34. package/dist/exec.d.ts.map +1 -1
  35. package/dist/exec.js +7 -2
  36. package/dist/exec.js.map +1 -1
  37. package/dist/index.js +11 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/setups/auth/base.d.ts.map +1 -1
  40. package/dist/setups/auth/base.js +5 -21
  41. package/dist/setups/auth/base.js.map +1 -1
  42. package/dist/setups/auth/index.d.ts +1 -1
  43. package/dist/setups/auth/index.d.ts.map +1 -1
  44. package/dist/setups/auth/systems/better-auth.d.ts.map +1 -1
  45. package/dist/setups/auth/systems/better-auth.js +88 -266
  46. package/dist/setups/auth/systems/better-auth.js.map +1 -1
  47. package/dist/setups/auth/systems/clerk.d.ts.map +1 -1
  48. package/dist/setups/auth/systems/clerk.js +61 -142
  49. package/dist/setups/auth/systems/clerk.js.map +1 -1
  50. package/dist/setups/auth/systems/workos.d.ts.map +1 -1
  51. package/dist/setups/auth/systems/workos.js +92 -203
  52. package/dist/setups/auth/systems/workos.js.map +1 -1
  53. package/dist/setups/auth/types.d.ts +12 -10
  54. package/dist/setups/auth/types.d.ts.map +1 -1
  55. package/dist/tsconfigs.d.ts +54 -0
  56. package/dist/tsconfigs.d.ts.map +1 -0
  57. package/dist/tsconfigs.js +165 -0
  58. package/dist/tsconfigs.js.map +1 -0
  59. package/package.json +1 -1
@@ -0,0 +1,165 @@
1
+ /**
2
+ * tsconfigs.ts — single source of truth for every tsconfig shape the CLI writes.
3
+ *
4
+ * Rules that govern the choices below:
5
+ *
6
+ * ROOT tsconfig.base.json
7
+ * "module": "NodeNext" / "moduleResolution": "NodeNext"
8
+ * — the CLI itself uses NodeNext, and apps compiled by Next.js / tsc directly
9
+ * also use NodeNext. All relative imports in source must end with .js.
10
+ * — baseUrl + paths live here so every package and app inherits them without
11
+ * repeating the mapping.
12
+ *
13
+ * PACKAGE tsconfig.json (internal or public)
14
+ * Extends ../../tsconfig.base.json — inherits paths, strict, target.
15
+ * Overrides only what the package specifically needs (jsx, lib, outDir).
16
+ *
17
+ * Internal (private: true in package.json)
18
+ * — no `declaration` / `declarationMap` needed in theory, but we keep them
19
+ * so IDEs get go-to-definition inside the monorepo.
20
+ * — composite: true + incremental for fast Nx caching.
21
+ *
22
+ * Public (to be published to npm)
23
+ * — declaration + declarationMap required by consumers.
24
+ * — composite: true for project references.
25
+ * — stripInternal: true so @internal JSDoc strips from .d.ts.
26
+ * — no `rootDir` override needed because extend covers it.
27
+ *
28
+ * APP tsconfig.json
29
+ * Extends ../../tsconfig.base.json.
30
+ * Each framework adds its own lib / jsx overrides.
31
+ * No packages/**\/* in `include` — paths handles resolution, and polluting
32
+ * include causes duplicate type-checking and false errors.
33
+ */
34
+ // ─── Root workspace tsconfig.base.json ────────────────────────────────────────
35
+ export function rootTsConfigBase(scope) {
36
+ return {
37
+ $schema: "https://json.schemastore.org/tsconfig",
38
+ display: "Base",
39
+ compilerOptions: {
40
+ // --- Language & output ---
41
+ target: "ES2022",
42
+ module: "NodeNext",
43
+ moduleResolution: "NodeNext",
44
+ lib: ["ES2022"],
45
+ // --- Strictness ---
46
+ strict: true,
47
+ noUncheckedIndexedAccess: true,
48
+ noImplicitOverride: true,
49
+ exactOptionalPropertyTypes: true,
50
+ // --- Emit ---
51
+ declaration: true,
52
+ declarationMap: true,
53
+ sourceMap: true,
54
+ esModuleInterop: true,
55
+ skipLibCheck: true,
56
+ isolatedModules: true,
57
+ // --- Paths — inherited by every package and app ---
58
+ baseUrl: ".",
59
+ paths: {
60
+ [`@${scope}/*`]: ["./packages/*/index.ts"],
61
+ },
62
+ },
63
+ };
64
+ }
65
+ export function packageTsConfig(opts) {
66
+ const rootRel = opts.rootRelative ?? "../..";
67
+ const base = {
68
+ $schema: "https://json.schemastore.org/tsconfig",
69
+ extends: `${rootRel}/tsconfig.base.json`,
70
+ compilerOptions: {
71
+ // Packages always emit to dist/
72
+ outDir: "dist",
73
+ rootDir: ".",
74
+ // Composite enables project references and Nx incremental builds
75
+ composite: true,
76
+ incremental: true,
77
+ tsBuildInfoFile: "dist/.tsbuildinfo",
78
+ },
79
+ include: ["**/*.ts", "**/*.tsx"],
80
+ exclude: ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"],
81
+ };
82
+ const co = base.compilerOptions;
83
+ // React packages need jsx and DOM types
84
+ if (opts.react) {
85
+ co["jsx"] = "react-jsx";
86
+ co["lib"] = ["ES2022", "DOM", "DOM.Iterable"];
87
+ }
88
+ // Public packages get extras for clean npm publishing
89
+ if (opts.visibility === "public") {
90
+ co["stripInternal"] = true; // strips @internal from .d.ts
91
+ co["declarationDir"] = "dist"; // explicit — avoids surprises
92
+ }
93
+ // Internal packages get a self-referencing path so imports within the
94
+ // package can use the scoped name instead of relative paths
95
+ if (opts.visibility === "internal") {
96
+ const existingPaths = co["paths"] ?? {};
97
+ co["paths"] = {
98
+ ...existingPaths,
99
+ [`@${opts.scope}/${opts.pkgName}`]: ["./index.ts"],
100
+ };
101
+ co["baseUrl"] = ".";
102
+ }
103
+ return base;
104
+ }
105
+ export function appTsConfig(opts) {
106
+ const aliasBase = opts.hasSrcDir ? "./src/*" : "./*";
107
+ // Framework-specific compiler option overrides
108
+ const frameworkOverrides = frameworkCompilerOptions(opts.framework);
109
+ return {
110
+ $schema: "https://json.schemastore.org/tsconfig",
111
+ extends: "../../tsconfig.base.json",
112
+ compilerOptions: {
113
+ ...frameworkOverrides,
114
+ // App-level alias: @/* → src/* or root
115
+ paths: {
116
+ "@/*": [aliasBase],
117
+ // Workspace packages resolved via inherited baseUrl paths from base
118
+ },
119
+ // Apps don't emit — the framework build tool handles that
120
+ noEmit: true,
121
+ },
122
+ // Only include the app's own source files
123
+ include: [
124
+ opts.hasSrcDir ? "src/**/*.ts" : "**/*.ts",
125
+ opts.hasSrcDir ? "src/**/*.tsx" : "**/*.tsx",
126
+ ...(opts.framework === "nextjs"
127
+ ? ["next-env.d.ts", ".next/types/**/*.ts"]
128
+ : []),
129
+ ],
130
+ exclude: ["node_modules", "dist"],
131
+ };
132
+ }
133
+ function frameworkCompilerOptions(framework) {
134
+ switch (framework) {
135
+ case "nextjs":
136
+ return {
137
+ lib: ["ES2022", "DOM", "DOM.Iterable"],
138
+ jsx: "preserve", // Next.js handles JSX transform
139
+ plugins: [{ name: "next" }], // enables Next.js TS plugin
140
+ allowJs: true,
141
+ incremental: true,
142
+ tsBuildInfoFile: ".next/cache/tsconfig.tsbuildinfo",
143
+ };
144
+ case "vite":
145
+ return {
146
+ lib: ["ES2022", "DOM", "DOM.Iterable"],
147
+ jsx: "react-jsx",
148
+ useDefineForClassFields: true,
149
+ };
150
+ case "remix":
151
+ return {
152
+ lib: ["ES2022", "DOM", "DOM.Iterable"],
153
+ jsx: "react-jsx",
154
+ moduleResolution: "Bundler", // Remix/Vite uses bundler resolution
155
+ module: "ESNext",
156
+ };
157
+ case "expo":
158
+ return {
159
+ lib: ["ES2022"],
160
+ jsx: "react-native",
161
+ allowSyntheticDefaultImports: true,
162
+ };
163
+ }
164
+ }
165
+ //# sourceMappingURL=tsconfigs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfigs.js","sourceRoot":"","sources":["../src/tsconfigs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx-factory-cli",
3
- "version": "2.1.23",
3
+ "version": "2.1.25",
4
4
  "description": "CLI to initialize and manage an Nx monorepo with shared shadcn/ui components + Tailwind v4",
5
5
  "type": "module",
6
6
  "bin": {