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.
- package/dist/commands/add-app.d.ts.map +1 -1
- package/dist/commands/add-app.js +92 -90
- package/dist/commands/add-app.js.map +1 -1
- package/dist/commands/add-auth.d.ts.map +1 -1
- package/dist/commands/add-auth.js +42 -3
- package/dist/commands/add-auth.js.map +1 -1
- package/dist/commands/add-lib.d.ts.map +1 -1
- package/dist/commands/add-lib.js +76 -40
- package/dist/commands/add-lib.js.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +131 -59
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts +12 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +644 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/exec.d.ts +3 -1
- package/dist/exec.d.ts.map +1 -1
- package/dist/exec.js +7 -2
- package/dist/exec.js.map +1 -1
- package/dist/index.js +61 -8
- package/dist/index.js.map +1 -1
- package/dist/setups/auth/base.d.ts.map +1 -1
- package/dist/setups/auth/base.js +5 -21
- package/dist/setups/auth/base.js.map +1 -1
- package/dist/setups/auth/index.d.ts +1 -1
- package/dist/setups/auth/index.d.ts.map +1 -1
- package/dist/setups/auth/systems/better-auth.d.ts.map +1 -1
- package/dist/setups/auth/systems/better-auth.js +88 -266
- package/dist/setups/auth/systems/better-auth.js.map +1 -1
- package/dist/setups/auth/systems/clerk.d.ts.map +1 -1
- package/dist/setups/auth/systems/clerk.js +61 -142
- package/dist/setups/auth/systems/clerk.js.map +1 -1
- package/dist/setups/auth/systems/workos.d.ts.map +1 -1
- package/dist/setups/auth/systems/workos.js +92 -203
- package/dist/setups/auth/systems/workos.js.map +1 -1
- package/dist/setups/auth/types.d.ts +12 -10
- package/dist/setups/auth/types.d.ts.map +1 -1
- package/dist/tsconfigs.d.ts +88 -0
- package/dist/tsconfigs.d.ts.map +1 -0
- package/dist/tsconfigs.js +296 -0
- package/dist/tsconfigs.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tsconfigs.ts — single source of truth for every tsconfig file the CLI writes.
|
|
3
|
+
*
|
|
4
|
+
* ── Architecture of the generated workspace ───────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* The CLI scaffolds a `packages/typescript` workspace package at init time.
|
|
7
|
+
* It is a private, never-built package whose only purpose is to own and
|
|
8
|
+
* distribute the shared tsconfig presets for the whole monorepo.
|
|
9
|
+
*
|
|
10
|
+
* my-monorepo/
|
|
11
|
+
* ├── tsconfig.base.json ← strict settings + global paths (no module/resolution)
|
|
12
|
+
* ├── tsconfig.json ← solution file: references all packages + apps
|
|
13
|
+
* └── packages/
|
|
14
|
+
* └── typescript/ ← workspace package: @scope/typescript
|
|
15
|
+
* ├── package.json ← private: true, exports all tsconfig files
|
|
16
|
+
* ├── tsconfig.base.json ← re-exports root base (one hop)
|
|
17
|
+
* ├── tsconfig.internal.json ← ESNext + Bundler, noEmit — for source-only packages
|
|
18
|
+
* ├── tsconfig.package.json ← NodeNext + NodeNext, composite — for published packages
|
|
19
|
+
* ├── tsconfig.nextjs.json ← ESNext + Bundler, jsx:preserve, Next.js plugin
|
|
20
|
+
* ├── tsconfig.vite.json ← ESNext + Bundler, jsx:react-jsx
|
|
21
|
+
* ├── tsconfig.remix.json ← ESNext + Bundler, jsx:react-jsx
|
|
22
|
+
* └── tsconfig.expo.json ← ESNext + Bundler, jsx:react-native
|
|
23
|
+
*
|
|
24
|
+
* Packages and apps extend like this:
|
|
25
|
+
*
|
|
26
|
+
* packages/ui/tsconfig.json:
|
|
27
|
+
* { "extends": "@scope/typescript/tsconfig.internal.json" }
|
|
28
|
+
*
|
|
29
|
+
* apps/dashboard/tsconfig.json:
|
|
30
|
+
* { "extends": "@scope/typescript/tsconfig.nextjs.json" }
|
|
31
|
+
*
|
|
32
|
+
* ── Two strategies for packages ───────────────────────────────────────────────
|
|
33
|
+
*
|
|
34
|
+
* INTERNAL (private: true, never published):
|
|
35
|
+
* - noEmit: true — no dist/, no build script, no build step ever
|
|
36
|
+
* - Consumed via path alias: @scope/pkg → packages/pkg/index.ts (source)
|
|
37
|
+
* - ESNext + Bundler: the bundler (Vite/Next.js/esbuild) handles resolution
|
|
38
|
+
* at app build time, so no .js extensions needed in source imports
|
|
39
|
+
*
|
|
40
|
+
* PUBLIC (published to npm):
|
|
41
|
+
* - Emits to dist/ via tsc
|
|
42
|
+
* - NodeNext + NodeNext: Node.js ESM requires .js extensions in source
|
|
43
|
+
* - composite + incremental for Nx project reference caching
|
|
44
|
+
*
|
|
45
|
+
* ── The root tsconfig.base.json ───────────────────────────────────────────────
|
|
46
|
+
* Only holds: target, strict flags, esModuleInterop, isolatedModules, and
|
|
47
|
+
* the global paths map. Does NOT set module or moduleResolution — those
|
|
48
|
+
* belong in the per-preset files inside packages/typescript/.
|
|
49
|
+
*/
|
|
50
|
+
// ─── 1. Root tsconfig.base.json ───────────────────────────────────────────────
|
|
51
|
+
export function rootTsConfigBase(scope) {
|
|
52
|
+
return {
|
|
53
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
54
|
+
display: "Base — inherited by all presets in packages/typescript",
|
|
55
|
+
compilerOptions: {
|
|
56
|
+
target: "ES2022",
|
|
57
|
+
// Strict settings — inherited by all presets
|
|
58
|
+
strict: true,
|
|
59
|
+
noUncheckedIndexedAccess: true,
|
|
60
|
+
noImplicitOverride: true,
|
|
61
|
+
exactOptionalPropertyTypes: true,
|
|
62
|
+
// Interop
|
|
63
|
+
esModuleInterop: true,
|
|
64
|
+
skipLibCheck: true,
|
|
65
|
+
isolatedModules: true,
|
|
66
|
+
// Global path aliases.
|
|
67
|
+
// Every package and app imports @scope/anything and TypeScript resolves
|
|
68
|
+
// it directly to the source — no build step required for internal packages.
|
|
69
|
+
baseUrl: ".",
|
|
70
|
+
paths: {
|
|
71
|
+
[`@${scope}/*`]: ["./packages/*"],
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// ─── 2. packages/typescript/ workspace package ────────────────────────────────
|
|
77
|
+
/**
|
|
78
|
+
* Returns the package.json for the @scope/typescript workspace package.
|
|
79
|
+
* Private, never published. Its exports point at the tsconfig preset files
|
|
80
|
+
* so other packages can extend them by package name.
|
|
81
|
+
*/
|
|
82
|
+
export function typescriptPackageJson(scope) {
|
|
83
|
+
return {
|
|
84
|
+
name: `@${scope}/typescript`,
|
|
85
|
+
version: "0.0.0",
|
|
86
|
+
private: true,
|
|
87
|
+
// Expose each tsconfig preset as a named export so packages can do:
|
|
88
|
+
// "extends": "@scope/typescript/tsconfig.internal.json"
|
|
89
|
+
exports: {
|
|
90
|
+
"./tsconfig.base.json": "./tsconfig.base.json",
|
|
91
|
+
"./tsconfig.internal.json": "./tsconfig.internal.json",
|
|
92
|
+
"./tsconfig.package.json": "./tsconfig.package.json",
|
|
93
|
+
"./tsconfig.nextjs.json": "./tsconfig.nextjs.json",
|
|
94
|
+
"./tsconfig.vite.json": "./tsconfig.vite.json",
|
|
95
|
+
"./tsconfig.remix.json": "./tsconfig.remix.json",
|
|
96
|
+
"./tsconfig.expo.json": "./tsconfig.expo.json",
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Returns a map of filename → content for every file inside packages/typescript/.
|
|
102
|
+
* Written by `init` and regenerated by `migrate`.
|
|
103
|
+
*/
|
|
104
|
+
export function typescriptPresets() {
|
|
105
|
+
return {
|
|
106
|
+
// ── tsconfig.base.json ───────────────────────────────────────────────
|
|
107
|
+
// One-hop re-export of the root base. Presets only need to extend this
|
|
108
|
+
// rather than navigating up to the root themselves.
|
|
109
|
+
"tsconfig.base.json": {
|
|
110
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
111
|
+
display: "Re-exports workspace root tsconfig.base.json",
|
|
112
|
+
extends: "../../tsconfig.base.json",
|
|
113
|
+
},
|
|
114
|
+
// ── tsconfig.internal.json ───────────────────────────────────────────
|
|
115
|
+
// For packages that are NEVER built. Source only, consumed directly via
|
|
116
|
+
// path aliases. Bundler resolution so no .js extensions needed.
|
|
117
|
+
"tsconfig.internal.json": {
|
|
118
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
119
|
+
display: "Internal package — source-only, no emit, no build step",
|
|
120
|
+
extends: "./tsconfig.base.json",
|
|
121
|
+
compilerOptions: {
|
|
122
|
+
module: "ESNext",
|
|
123
|
+
moduleResolution: "Bundler",
|
|
124
|
+
// No outDir, no rootDir — there is no output
|
|
125
|
+
noEmit: true,
|
|
126
|
+
// Keep declaration + declarationMap for IDE go-to-definition across the monorepo
|
|
127
|
+
declaration: true,
|
|
128
|
+
declarationMap: true,
|
|
129
|
+
sourceMap: true,
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
// ── tsconfig.package.json ────────────────────────────────────────────
|
|
133
|
+
// For packages that ARE built and published (consumed from dist/).
|
|
134
|
+
// NodeNext required for Node.js ESM. Packages override outDir/rootDir.
|
|
135
|
+
"tsconfig.package.json": {
|
|
136
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
137
|
+
display: "Public package — built to dist/, NodeNext ESM",
|
|
138
|
+
extends: "./tsconfig.base.json",
|
|
139
|
+
compilerOptions: {
|
|
140
|
+
module: "NodeNext",
|
|
141
|
+
moduleResolution: "NodeNext",
|
|
142
|
+
declaration: true,
|
|
143
|
+
declarationMap: true,
|
|
144
|
+
sourceMap: true,
|
|
145
|
+
composite: true,
|
|
146
|
+
incremental: true,
|
|
147
|
+
stripInternal: true,
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
// ── tsconfig.nextjs.json ─────────────────────────────────────────────
|
|
151
|
+
"tsconfig.nextjs.json": {
|
|
152
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
153
|
+
display: "Next.js app",
|
|
154
|
+
extends: "./tsconfig.base.json",
|
|
155
|
+
compilerOptions: {
|
|
156
|
+
module: "ESNext",
|
|
157
|
+
moduleResolution: "Bundler",
|
|
158
|
+
lib: ["ES2022", "DOM", "DOM.Iterable"],
|
|
159
|
+
jsx: "preserve",
|
|
160
|
+
allowJs: true,
|
|
161
|
+
noEmit: true,
|
|
162
|
+
incremental: true,
|
|
163
|
+
plugins: [{ name: "next" }],
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
// ── tsconfig.vite.json ───────────────────────────────────────────────
|
|
167
|
+
"tsconfig.vite.json": {
|
|
168
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
169
|
+
display: "Vite + React app",
|
|
170
|
+
extends: "./tsconfig.base.json",
|
|
171
|
+
compilerOptions: {
|
|
172
|
+
module: "ESNext",
|
|
173
|
+
moduleResolution: "Bundler",
|
|
174
|
+
lib: ["ES2022", "DOM", "DOM.Iterable"],
|
|
175
|
+
jsx: "react-jsx",
|
|
176
|
+
noEmit: true,
|
|
177
|
+
useDefineForClassFields: true,
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
// ── tsconfig.remix.json ──────────────────────────────────────────────
|
|
181
|
+
"tsconfig.remix.json": {
|
|
182
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
183
|
+
display: "Remix app (Vite-based)",
|
|
184
|
+
extends: "./tsconfig.base.json",
|
|
185
|
+
compilerOptions: {
|
|
186
|
+
module: "ESNext",
|
|
187
|
+
moduleResolution: "Bundler",
|
|
188
|
+
lib: ["ES2022", "DOM", "DOM.Iterable"],
|
|
189
|
+
jsx: "react-jsx",
|
|
190
|
+
noEmit: true,
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
// ── tsconfig.expo.json ───────────────────────────────────────────────
|
|
194
|
+
"tsconfig.expo.json": {
|
|
195
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
196
|
+
display: "Expo / React Native app",
|
|
197
|
+
extends: "./tsconfig.base.json",
|
|
198
|
+
compilerOptions: {
|
|
199
|
+
module: "ESNext",
|
|
200
|
+
moduleResolution: "Bundler",
|
|
201
|
+
lib: ["ES2022"],
|
|
202
|
+
jsx: "react-native",
|
|
203
|
+
noEmit: true,
|
|
204
|
+
allowSyntheticDefaultImports: true,
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
export function packageTsConfig(opts) {
|
|
210
|
+
const isInternal = opts.visibility === "internal";
|
|
211
|
+
const preset = isInternal
|
|
212
|
+
? `@${opts.scope}/typescript/tsconfig.internal.json`
|
|
213
|
+
: `@${opts.scope}/typescript/tsconfig.package.json`;
|
|
214
|
+
const co = {};
|
|
215
|
+
if (opts.react) {
|
|
216
|
+
co.jsx = "react-jsx";
|
|
217
|
+
co.lib = ["ES2022", "DOM", "DOM.Iterable"];
|
|
218
|
+
}
|
|
219
|
+
if (isInternal) {
|
|
220
|
+
// Self-referencing alias: within-package imports can use @scope/name
|
|
221
|
+
co.paths = { [`@${opts.scope}/${opts.pkgName}`]: ["./index.ts"] };
|
|
222
|
+
co.baseUrl = ".";
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
// Public packages need explicit output paths
|
|
226
|
+
co.outDir = "dist";
|
|
227
|
+
co.rootDir = ".";
|
|
228
|
+
co.tsBuildInfoFile = "dist/.tsbuildinfo";
|
|
229
|
+
co.declarationDir = "dist";
|
|
230
|
+
}
|
|
231
|
+
const hasCo = Object.keys(co).length > 0;
|
|
232
|
+
return {
|
|
233
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
234
|
+
extends: preset,
|
|
235
|
+
...(hasCo ? { compilerOptions: co } : {}),
|
|
236
|
+
include: ["**/*.ts", "**/*.tsx"],
|
|
237
|
+
exclude: [
|
|
238
|
+
"node_modules",
|
|
239
|
+
...(isInternal ? [] : ["dist"]),
|
|
240
|
+
"**/*.test.ts",
|
|
241
|
+
"**/*.spec.ts",
|
|
242
|
+
],
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
export function appTsConfig(opts) {
|
|
246
|
+
const aliasBase = opts.hasSrcDir ? "./src/*" : "./*";
|
|
247
|
+
const hasPkg = opts.typescriptPkgExists !== false; // default true
|
|
248
|
+
const extendsPath = hasPkg
|
|
249
|
+
? `@${opts.scope}/typescript/${frameworkPresetFile(opts.framework)}`
|
|
250
|
+
: "../../tsconfig.base.json";
|
|
251
|
+
const include = opts.hasSrcDir
|
|
252
|
+
? ["src/**/*.ts", "src/**/*.tsx"]
|
|
253
|
+
: ["**/*.ts", "**/*.tsx"];
|
|
254
|
+
if (opts.framework === "nextjs") {
|
|
255
|
+
include.push("next-env.d.ts", ".next/types/**/*.ts");
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
259
|
+
extends: extendsPath,
|
|
260
|
+
compilerOptions: {
|
|
261
|
+
paths: { "@/*": [aliasBase] },
|
|
262
|
+
},
|
|
263
|
+
include,
|
|
264
|
+
exclude: ["node_modules"],
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
function frameworkPresetFile(framework) {
|
|
268
|
+
switch (framework) {
|
|
269
|
+
case "nextjs":
|
|
270
|
+
return "tsconfig.nextjs.json";
|
|
271
|
+
case "vite":
|
|
272
|
+
return "tsconfig.vite.json";
|
|
273
|
+
case "remix":
|
|
274
|
+
return "tsconfig.remix.json";
|
|
275
|
+
case "expo":
|
|
276
|
+
return "tsconfig.expo.json";
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// ─── 5. Root solution tsconfig.json ───────────────────────────────────────────
|
|
280
|
+
export function rootTsConfigSolution(packages, apps) {
|
|
281
|
+
return {
|
|
282
|
+
$schema: "https://json.schemastore.org/tsconfig",
|
|
283
|
+
display: "Workspace solution — IDE and tsc --build entry point",
|
|
284
|
+
files: [],
|
|
285
|
+
references: [
|
|
286
|
+
...packages.map((p) => ({ path: `./packages/${p}` })),
|
|
287
|
+
...apps.map((a) => ({ path: `./apps/${a}` })),
|
|
288
|
+
],
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
// ─── Backward-compat re-exports ───────────────────────────────────────────────
|
|
292
|
+
// toolingPresets was the old API name — kept so migrate.ts compiles without
|
|
293
|
+
// changes until the rename propagates through all call sites.
|
|
294
|
+
/** @deprecated Use typescriptPresets() instead */
|
|
295
|
+
export const toolingPresets = typescriptPresets;
|
|
296
|
+
//# sourceMappingURL=tsconfigs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfigs.js","sourceRoot":"","sources":["../src/tsconfigs.ts"],"names":[],"mappings":"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"}
|