@donotdev/cli 0.0.7 → 0.0.9
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/README.md +3 -18
- package/dependencies-matrix.json +54 -45
- package/dist/bin/commands/build.js +19 -5
- package/dist/bin/commands/bump.js +30 -5
- package/dist/bin/commands/cacheout.js +36 -19
- package/dist/bin/commands/create-app.js +73 -7
- package/dist/bin/commands/create-project.js +90 -8
- package/dist/bin/commands/deploy.js +130 -27
- package/dist/bin/commands/dev.js +23 -7
- package/dist/bin/commands/emu.js +28 -12
- package/dist/bin/commands/format.js +39 -22
- package/dist/bin/commands/lint.js +36 -19
- package/dist/bin/commands/preview.js +24 -8
- package/dist/bin/commands/sync-secrets.js +19 -5
- package/dist/bin/dndev.js +7 -20
- package/dist/bin/donotdev.js +7 -20
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +209 -100
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/templates/app-next/src/config/app.ts.example +1 -1
- package/templates/app-vite/index.html.example +24 -2
- package/templates/app-vite/src/config/app.ts.example +1 -1
- package/templates/app-vite/src/pages/FormPageExample.tsx.example +8 -5
- package/templates/app-vite/src/pages/ListPageExample.tsx.example +4 -7
- package/templates/root-consumer/.firebaserc.example +5 -0
- package/templates/root-consumer/entities/ExampleEntity.ts.example +2 -1
- package/templates/root-consumer/entities/demo.ts.example +15 -1
- package/templates/root-consumer/eslint.config.js.example +2 -80
- package/templates/root-consumer/firestore.indexes.json.example +4 -0
- package/templates/root-consumer/firestore.rules.example +11 -0
- package/templates/root-consumer/guides/dndev/COMPONENTS_CRUD.md.example +9 -6
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +376 -38
- package/templates/root-consumer/guides/dndev/SETUP_I18N.md.example +46 -0
- package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +1 -1
- package/templates/root-consumer/storage.rules.example +8 -0
package/README.md
CHANGED
|
@@ -157,7 +157,7 @@ dndev sync-secrets --dry-run
|
|
|
157
157
|
|
|
158
158
|
### `dndev format [files]`
|
|
159
159
|
|
|
160
|
-
Format code using
|
|
160
|
+
Format code using Prettier.
|
|
161
161
|
|
|
162
162
|
```bash
|
|
163
163
|
dndev format
|
|
@@ -166,23 +166,8 @@ dndev format src/**/*.ts
|
|
|
166
166
|
|
|
167
167
|
**Features:**
|
|
168
168
|
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
- Enforces framework conventions
|
|
172
|
-
- Import order sorting
|
|
173
|
-
- Type safety checks
|
|
174
|
-
|
|
175
|
-
**Setup:**
|
|
176
|
-
Create `eslint.config.js` in your project:
|
|
177
|
-
|
|
178
|
-
```javascript
|
|
179
|
-
import dndevConfig from '@donotdev/core/eslint';
|
|
180
|
-
|
|
181
|
-
export default [
|
|
182
|
-
...dndevConfig,
|
|
183
|
-
// Your custom rules
|
|
184
|
-
];
|
|
185
|
-
```
|
|
169
|
+
- Auto-formats code with Prettier
|
|
170
|
+
- Consistent code style
|
|
186
171
|
|
|
187
172
|
### `dndev clean`
|
|
188
173
|
|
package/dependencies-matrix.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./dependencies-matrix.schema.json",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Centralized dependency versions for DoNotDev framework. Single source of truth for all external dependencies. ⚠️ SYNC REQUIRED: When adding/removing @donotdev/* feature packages (auth, billing, crud, oauth), also update packages/core/config/constants.js BUNDLING.optionalFeatures array.",
|
|
5
|
-
"lastUpdated": "2026-
|
|
5
|
+
"lastUpdated": "2026-02-04",
|
|
6
6
|
"migrationGuides": {
|
|
7
7
|
"0.0→0.1": {
|
|
8
8
|
"path": "docs/migration/v0.0-to-v0.1.md",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"@donotdev/adv-comps": {
|
|
18
18
|
"description": "Advanced components package",
|
|
19
19
|
"packages": {
|
|
20
|
-
"@donotdev/adv-comps": "^0.0.
|
|
20
|
+
"@donotdev/adv-comps": "^0.0.9"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"@donotdev/auth": {
|
|
@@ -35,31 +35,31 @@
|
|
|
35
35
|
"@donotdev/components": {
|
|
36
36
|
"description": "UI components package",
|
|
37
37
|
"packages": {
|
|
38
|
-
"@donotdev/components": "^0.0.
|
|
38
|
+
"@donotdev/components": "^0.0.15"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"@donotdev/core": {
|
|
42
42
|
"description": "Core framework package",
|
|
43
43
|
"packages": {
|
|
44
|
-
"@donotdev/core": "^0.0.
|
|
44
|
+
"@donotdev/core": "^0.0.19"
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@donotdev/crud": {
|
|
48
48
|
"description": "CRUD operations package",
|
|
49
49
|
"packages": {
|
|
50
|
-
"@donotdev/crud": "^0.0.
|
|
50
|
+
"@donotdev/crud": "^0.0.10"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"@donotdev/firebase": {
|
|
54
54
|
"description": "Firebase provider package",
|
|
55
55
|
"packages": {
|
|
56
|
-
"@donotdev/firebase": "^0.0.
|
|
56
|
+
"@donotdev/firebase": "^0.0.8"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"@donotdev/functions": {
|
|
60
60
|
"description": "Firebase Functions package",
|
|
61
61
|
"packages": {
|
|
62
|
-
"@donotdev/functions": "^0.0.
|
|
62
|
+
"@donotdev/functions": "^0.0.9"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"@donotdev/oauth": {
|
|
@@ -71,41 +71,41 @@
|
|
|
71
71
|
"@donotdev/templates": {
|
|
72
72
|
"description": "Page templates package",
|
|
73
73
|
"packages": {
|
|
74
|
-
"@donotdev/templates": "^0.0.
|
|
74
|
+
"@donotdev/templates": "^0.0.7"
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"@donotdev/ui": {
|
|
78
78
|
"description": "UI and routing package",
|
|
79
79
|
"packages": {
|
|
80
|
-
"@donotdev/ui": "^0.0.
|
|
80
|
+
"@donotdev/ui": "^0.0.11"
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"react": {
|
|
84
84
|
"description": "Core React - consumers install explicitly",
|
|
85
85
|
"packages": {
|
|
86
|
-
"react": "^19.2.
|
|
87
|
-
"react-dom": "^19.2.
|
|
86
|
+
"react": "^19.2.4",
|
|
87
|
+
"react-dom": "^19.2.4"
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
"i18n": {
|
|
91
91
|
"description": "i18n libraries - auto-installed as transitive deps",
|
|
92
92
|
"packages": {
|
|
93
|
-
"i18next": "^25.
|
|
93
|
+
"i18next": "^25.8.1",
|
|
94
94
|
"i18next-browser-languagedetector": "^8.2.0",
|
|
95
95
|
"i18next-http-backend": "^3.0.2",
|
|
96
|
-
"react-i18next": "^16.5.
|
|
96
|
+
"react-i18next": "^16.5.4"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"zustand": {
|
|
100
100
|
"description": "State management - consumers install for custom stores",
|
|
101
101
|
"packages": {
|
|
102
|
-
"zustand": "^5.0.
|
|
102
|
+
"zustand": "^5.0.11"
|
|
103
103
|
}
|
|
104
104
|
},
|
|
105
105
|
"react-query": {
|
|
106
106
|
"description": "Data fetching - auto-installed as transitive dep",
|
|
107
107
|
"packages": {
|
|
108
|
-
"@tanstack/react-query": "^5.90.
|
|
108
|
+
"@tanstack/react-query": "^5.90.20"
|
|
109
109
|
}
|
|
110
110
|
},
|
|
111
111
|
"validation": {
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"lucide-react": {
|
|
118
118
|
"description": "Icons - consumers install and use directly",
|
|
119
119
|
"packages": {
|
|
120
|
-
"lucide-react": "^0.
|
|
120
|
+
"lucide-react": "^0.563.0"
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"react-day-picker": {
|
|
@@ -167,12 +167,12 @@
|
|
|
167
167
|
},
|
|
168
168
|
"shiki": {
|
|
169
169
|
"packages": {
|
|
170
|
-
"shiki": "^3.
|
|
170
|
+
"shiki": "^3.22.0"
|
|
171
171
|
}
|
|
172
172
|
},
|
|
173
173
|
"forms": {
|
|
174
174
|
"packages": {
|
|
175
|
-
"react-hook-form": "^7.71.
|
|
175
|
+
"react-hook-form": "^7.71.1"
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
178
|
"forms-resolvers": {
|
|
@@ -188,18 +188,18 @@
|
|
|
188
188
|
"markdown": {
|
|
189
189
|
"description": "Markdown parsing - marked for speed, html-react-parser for SSR",
|
|
190
190
|
"packages": {
|
|
191
|
-
"html-react-parser": "^5.2.
|
|
191
|
+
"html-react-parser": "^5.2.16",
|
|
192
192
|
"marked": "^17.0.1"
|
|
193
193
|
}
|
|
194
194
|
},
|
|
195
195
|
"routing": {
|
|
196
196
|
"packages": {
|
|
197
|
-
"react-router-dom": "^7.
|
|
197
|
+
"react-router-dom": "^7.13.0"
|
|
198
198
|
}
|
|
199
199
|
},
|
|
200
200
|
"firebase": {
|
|
201
201
|
"packages": {
|
|
202
|
-
"firebase": "^12.
|
|
202
|
+
"firebase": "^12.8.0"
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
205
|
"browser-image-compression": {
|
|
@@ -211,21 +211,21 @@
|
|
|
211
211
|
"tiptap": {
|
|
212
212
|
"description": "Rich text editor - optional peer dependency. Required: @tiptap/react, @tiptap/pm, @tiptap/starter-kit. Optional: @tiptap/extension-placeholder for placeholder text.",
|
|
213
213
|
"packages": {
|
|
214
|
-
"@tiptap/react": "^3.
|
|
215
|
-
"@tiptap/pm": "^3.
|
|
216
|
-
"@tiptap/starter-kit": "^3.
|
|
217
|
-
"@tiptap/extension-placeholder": "^3.
|
|
214
|
+
"@tiptap/react": "^3.19.0",
|
|
215
|
+
"@tiptap/pm": "^3.19.0",
|
|
216
|
+
"@tiptap/starter-kit": "^3.19.0",
|
|
217
|
+
"@tiptap/extension-placeholder": "^3.19.0"
|
|
218
218
|
}
|
|
219
219
|
},
|
|
220
220
|
"stripe": {
|
|
221
221
|
"packages": {
|
|
222
|
-
"stripe": "^20.
|
|
222
|
+
"stripe": "^20.3.0"
|
|
223
223
|
}
|
|
224
224
|
},
|
|
225
225
|
"firebase-functions": {
|
|
226
226
|
"packages": {
|
|
227
227
|
"firebase-admin": "^13.6.0",
|
|
228
|
-
"firebase-functions": "^7.0.
|
|
228
|
+
"firebase-functions": "^7.0.5"
|
|
229
229
|
}
|
|
230
230
|
},
|
|
231
231
|
"firebase-admin": {
|
|
@@ -235,8 +235,8 @@
|
|
|
235
235
|
},
|
|
236
236
|
"vercel-deps": {
|
|
237
237
|
"packages": {
|
|
238
|
-
"next": "^16.1.
|
|
239
|
-
"vercel": "^50.
|
|
238
|
+
"next": "^16.1.6",
|
|
239
|
+
"vercel": "^50.10.0"
|
|
240
240
|
}
|
|
241
241
|
},
|
|
242
242
|
"esbuild": {
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
},
|
|
247
247
|
"rollup": {
|
|
248
248
|
"packages": {
|
|
249
|
-
"rollup": "^4.
|
|
249
|
+
"rollup": "^4.57.1",
|
|
250
250
|
"rollup-plugin-dts": "^6.3.0"
|
|
251
251
|
}
|
|
252
252
|
},
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
"cli-commander": {
|
|
265
265
|
"description": "CLI command framework - CLI package only",
|
|
266
266
|
"packages": {
|
|
267
|
-
"commander": "^14.0.
|
|
267
|
+
"commander": "^14.0.3"
|
|
268
268
|
}
|
|
269
269
|
},
|
|
270
270
|
"fast-glob": {
|
|
@@ -280,10 +280,10 @@
|
|
|
280
280
|
},
|
|
281
281
|
"vite-deps": {
|
|
282
282
|
"packages": {
|
|
283
|
-
"@vitejs/plugin-react": "^5.1.
|
|
283
|
+
"@vitejs/plugin-react": "^5.1.3",
|
|
284
284
|
"react-refresh": "^0.18.0",
|
|
285
|
-
"@vitejs/plugin-basic-ssl": "^2.1.
|
|
286
|
-
"vite-tsconfig-paths": "^6.0.
|
|
285
|
+
"@vitejs/plugin-basic-ssl": "^2.1.4",
|
|
286
|
+
"vite-tsconfig-paths": "^6.0.5",
|
|
287
287
|
"@rollup/plugin-strip": "^3.0.4",
|
|
288
288
|
"rollup-plugin-visualizer": "^6.0.5",
|
|
289
289
|
"vite-plugin-pwa": "1.2.0"
|
|
@@ -291,12 +291,12 @@
|
|
|
291
291
|
},
|
|
292
292
|
"vite-deps-minimal": {
|
|
293
293
|
"packages": {
|
|
294
|
-
"vite-tsconfig-paths": "^6.0.
|
|
294
|
+
"vite-tsconfig-paths": "^6.0.5"
|
|
295
295
|
}
|
|
296
296
|
},
|
|
297
297
|
"next": {
|
|
298
298
|
"packages": {
|
|
299
|
-
"next": "^16.1.
|
|
299
|
+
"next": "^16.1.6"
|
|
300
300
|
}
|
|
301
301
|
},
|
|
302
302
|
"typescript": {
|
|
@@ -306,12 +306,12 @@
|
|
|
306
306
|
},
|
|
307
307
|
"monitoring": {
|
|
308
308
|
"packages": {
|
|
309
|
-
"@sentry/react": "^10.
|
|
309
|
+
"@sentry/react": "^10.38.0"
|
|
310
310
|
}
|
|
311
311
|
},
|
|
312
312
|
"monitoring-node": {
|
|
313
313
|
"packages": {
|
|
314
|
-
"@sentry/node": "^10.
|
|
314
|
+
"@sentry/node": "^10.38.0"
|
|
315
315
|
}
|
|
316
316
|
},
|
|
317
317
|
"postcss": {
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
"postcss": "^8.5.6",
|
|
320
320
|
"postcss-import": "^16.1.1",
|
|
321
321
|
"postcss-nesting": "^13.0.2",
|
|
322
|
-
"autoprefixer": "^10.4.
|
|
322
|
+
"autoprefixer": "^10.4.24"
|
|
323
323
|
}
|
|
324
324
|
},
|
|
325
325
|
"eslint": {
|
|
@@ -329,26 +329,26 @@
|
|
|
329
329
|
},
|
|
330
330
|
"types": {
|
|
331
331
|
"packages": {
|
|
332
|
-
"@types/node": "^24.10.
|
|
333
|
-
"@types/react": "^19.2.
|
|
332
|
+
"@types/node": "^24.10.10",
|
|
333
|
+
"@types/react": "^19.2.10",
|
|
334
334
|
"@types/react-dom": "^19.2.3"
|
|
335
335
|
}
|
|
336
336
|
},
|
|
337
337
|
"root-consumer-tooling": {
|
|
338
338
|
"packages": {
|
|
339
|
-
"turbo": "^2.
|
|
339
|
+
"turbo": "^2.8.3",
|
|
340
340
|
"sharp": "^0.34.5"
|
|
341
341
|
}
|
|
342
342
|
},
|
|
343
343
|
"vercel": {
|
|
344
344
|
"packages": {
|
|
345
|
-
"vercel": "^50.
|
|
345
|
+
"vercel": "^50.10.0"
|
|
346
346
|
}
|
|
347
347
|
},
|
|
348
348
|
"@donotdev/cli": {
|
|
349
349
|
"description": "Cli package",
|
|
350
350
|
"packages": {
|
|
351
|
-
"@donotdev/cli": "^0.0.
|
|
351
|
+
"@donotdev/cli": "^0.0.9"
|
|
352
352
|
}
|
|
353
353
|
},
|
|
354
354
|
"react-easy-crop": {
|
|
@@ -356,6 +356,14 @@
|
|
|
356
356
|
"packages": {
|
|
357
357
|
"react-easy-crop": "^5.5.6"
|
|
358
358
|
}
|
|
359
|
+
},
|
|
360
|
+
"@dnd-kit": {
|
|
361
|
+
"description": "Drag and drop library - auto-installed as transitive dep for crud",
|
|
362
|
+
"packages": {
|
|
363
|
+
"@dnd-kit/core": "^6.3.1",
|
|
364
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
365
|
+
"@dnd-kit/utilities": "^3.2.2"
|
|
366
|
+
}
|
|
359
367
|
}
|
|
360
368
|
},
|
|
361
369
|
"overrides": {
|
|
@@ -436,6 +444,7 @@
|
|
|
436
444
|
"@donotdev/components",
|
|
437
445
|
"@donotdev/core",
|
|
438
446
|
"react-easy-crop",
|
|
447
|
+
"@dnd-kit",
|
|
439
448
|
"forms-resolvers"
|
|
440
449
|
],
|
|
441
450
|
"devDependencies": [
|
|
@@ -713,6 +713,7 @@ ${import_picocolors.default.gray(de + _2.repeat(s + 2) + pe)}
|
|
|
713
713
|
});
|
|
714
714
|
|
|
715
715
|
// packages/tooling/src/utils/cli-output.ts
|
|
716
|
+
import "node:os";
|
|
716
717
|
function supportsColor() {
|
|
717
718
|
if (process.env.NO_COLOR) return false;
|
|
718
719
|
if (process.platform === "win32") {
|
|
@@ -6500,7 +6501,16 @@ var init_constants = __esm({
|
|
|
6500
6501
|
},
|
|
6501
6502
|
i18n: {
|
|
6502
6503
|
eager: ["src/locales/*_*.json"],
|
|
6503
|
-
lazy: [
|
|
6504
|
+
lazy: [
|
|
6505
|
+
"src/**/locales/*_*.json",
|
|
6506
|
+
"!src/locales/*_*.json",
|
|
6507
|
+
// Auto-detect shared entity translations in monorepos (if exists, use it; if not, no problem)
|
|
6508
|
+
"../../entities/locales/*_*.json"
|
|
6509
|
+
],
|
|
6510
|
+
// Additional paths from workspace packages (e.g., shared entities)
|
|
6511
|
+
// Consumers can still configure via i18n.additionalPaths in dndev/vite config for custom paths
|
|
6512
|
+
// Example: ['../../packages/shared/locales/*_*.json']
|
|
6513
|
+
additional: [],
|
|
6504
6514
|
framework: {
|
|
6505
6515
|
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
6506
6516
|
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
@@ -6593,6 +6603,7 @@ var init_constants = __esm({
|
|
|
6593
6603
|
|
|
6594
6604
|
// packages/core/config/utils/PathResolver.ts
|
|
6595
6605
|
import * as fs from "node:fs";
|
|
6606
|
+
import "node:fs";
|
|
6596
6607
|
import { createRequire } from "node:module";
|
|
6597
6608
|
import {
|
|
6598
6609
|
resolve,
|
|
@@ -7705,6 +7716,7 @@ var init_errors = __esm({
|
|
|
7705
7716
|
});
|
|
7706
7717
|
|
|
7707
7718
|
// packages/tooling/src/utils/pathResolver.ts
|
|
7719
|
+
import { createRequire as createRequire2 } from "node:module";
|
|
7708
7720
|
import {
|
|
7709
7721
|
join as join2,
|
|
7710
7722
|
dirname as dirname2,
|
|
@@ -7714,6 +7726,7 @@ import {
|
|
|
7714
7726
|
resolve as resolve2,
|
|
7715
7727
|
isAbsolute as pathIsAbsolute
|
|
7716
7728
|
} from "node:path";
|
|
7729
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7717
7730
|
function readdirSync2(dirPath, options) {
|
|
7718
7731
|
return pathResolverInstance.readdirSync(dirPath, options);
|
|
7719
7732
|
}
|
|
@@ -7739,16 +7752,17 @@ var init_pathResolver = __esm({
|
|
|
7739
7752
|
|
|
7740
7753
|
// packages/tooling/src/bundler/utils.ts
|
|
7741
7754
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
7742
|
-
import {
|
|
7755
|
+
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7756
|
+
import { createRequire as createRequire3 } from "node:module";
|
|
7743
7757
|
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7744
7758
|
import process from "node:process";
|
|
7745
|
-
import { fileURLToPath as
|
|
7759
|
+
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
7746
7760
|
var require2, __filename, __dirname;
|
|
7747
7761
|
var init_utils = __esm({
|
|
7748
7762
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
7749
7763
|
"use strict";
|
|
7750
|
-
require2 =
|
|
7751
|
-
__filename =
|
|
7764
|
+
require2 = createRequire3(import.meta.url);
|
|
7765
|
+
__filename = fileURLToPath3(import.meta.url);
|
|
7752
7766
|
__dirname = dirname3(__filename);
|
|
7753
7767
|
if (typeof globalThis !== "undefined") {
|
|
7754
7768
|
globalThis.require = require2;
|
|
@@ -496,6 +496,7 @@ var init_dist = __esm({
|
|
|
496
496
|
});
|
|
497
497
|
|
|
498
498
|
// node_modules/.bun/@clack+prompts@0.11.0/node_modules/@clack/prompts/dist/index.mjs
|
|
499
|
+
import { stripVTControlCharacters as S2 } from "node:util";
|
|
499
500
|
import y2 from "node:process";
|
|
500
501
|
function ce() {
|
|
501
502
|
return y2.platform !== "win32" ? y2.env.TERM !== "linux" : !!y2.env.CI || !!y2.env.WT_SESSION || !!y2.env.TERMINUS_SUBLIME || y2.env.ConEmuTask === "{cmd::Cmder}" || y2.env.TERM_PROGRAM === "Terminus-Sublime" || y2.env.TERM_PROGRAM === "vscode" || y2.env.TERM === "xterm-256color" || y2.env.TERM === "alacritty" || y2.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
@@ -606,6 +607,7 @@ ${import_picocolors.default.gray(d2)} ${t}
|
|
|
606
607
|
});
|
|
607
608
|
|
|
608
609
|
// packages/tooling/src/utils/cli-output.ts
|
|
610
|
+
import "node:os";
|
|
609
611
|
function supportsColor() {
|
|
610
612
|
if (process.env.NO_COLOR) return false;
|
|
611
613
|
if (process.platform === "win32") {
|
|
@@ -6393,7 +6395,16 @@ var init_constants = __esm({
|
|
|
6393
6395
|
},
|
|
6394
6396
|
i18n: {
|
|
6395
6397
|
eager: ["src/locales/*_*.json"],
|
|
6396
|
-
lazy: [
|
|
6398
|
+
lazy: [
|
|
6399
|
+
"src/**/locales/*_*.json",
|
|
6400
|
+
"!src/locales/*_*.json",
|
|
6401
|
+
// Auto-detect shared entity translations in monorepos (if exists, use it; if not, no problem)
|
|
6402
|
+
"../../entities/locales/*_*.json"
|
|
6403
|
+
],
|
|
6404
|
+
// Additional paths from workspace packages (e.g., shared entities)
|
|
6405
|
+
// Consumers can still configure via i18n.additionalPaths in dndev/vite config for custom paths
|
|
6406
|
+
// Example: ['../../packages/shared/locales/*_*.json']
|
|
6407
|
+
additional: [],
|
|
6397
6408
|
framework: {
|
|
6398
6409
|
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
6399
6410
|
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
@@ -6486,6 +6497,7 @@ var init_constants = __esm({
|
|
|
6486
6497
|
|
|
6487
6498
|
// packages/core/config/utils/PathResolver.ts
|
|
6488
6499
|
import * as fs from "node:fs";
|
|
6500
|
+
import "node:fs";
|
|
6489
6501
|
import { createRequire } from "node:module";
|
|
6490
6502
|
import {
|
|
6491
6503
|
resolve,
|
|
@@ -7495,6 +7507,7 @@ import {
|
|
|
7495
7507
|
resolve as resolve2,
|
|
7496
7508
|
isAbsolute as pathIsAbsolute
|
|
7497
7509
|
} from "node:path";
|
|
7510
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7498
7511
|
function detectExecutionMode() {
|
|
7499
7512
|
const currentDir = process.cwd();
|
|
7500
7513
|
const toolingPath = joinPath(currentDir, PACKAGE_PATHS.TOOLING);
|
|
@@ -7564,16 +7577,17 @@ var init_pathResolver = __esm({
|
|
|
7564
7577
|
|
|
7565
7578
|
// packages/tooling/src/bundler/utils.ts
|
|
7566
7579
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
7580
|
+
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7567
7581
|
import { createRequire as createRequire3 } from "node:module";
|
|
7568
7582
|
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7569
7583
|
import process from "node:process";
|
|
7570
|
-
import { fileURLToPath as
|
|
7584
|
+
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
7571
7585
|
var require2, __filename, __dirname;
|
|
7572
7586
|
var init_utils = __esm({
|
|
7573
7587
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
7574
7588
|
"use strict";
|
|
7575
7589
|
require2 = createRequire3(import.meta.url);
|
|
7576
|
-
__filename =
|
|
7590
|
+
__filename = fileURLToPath3(import.meta.url);
|
|
7577
7591
|
__dirname = dirname3(__filename);
|
|
7578
7592
|
if (typeof globalThis !== "undefined") {
|
|
7579
7593
|
globalThis.require = require2;
|
|
@@ -7717,6 +7731,7 @@ function writePackageJson(filePath, pkg) {
|
|
|
7717
7731
|
sorted.devDependencies = sortObj(pkg.devDependencies);
|
|
7718
7732
|
if (pkg.peerDependencies)
|
|
7719
7733
|
sorted.peerDependencies = sortObj(pkg.peerDependencies);
|
|
7734
|
+
if (pkg.overrides) sorted.overrides = sortObj(pkg.overrides);
|
|
7720
7735
|
if (pkg.peerDependenciesMeta)
|
|
7721
7736
|
sorted.peerDependenciesMeta = sortObj(pkg.peerDependenciesMeta);
|
|
7722
7737
|
writeSync(filePath, JSON.stringify(sorted, null, 2) + "\n", {
|
|
@@ -7786,7 +7801,8 @@ function detectProjectDeps(files) {
|
|
|
7786
7801
|
for (const [field, deps] of [
|
|
7787
7802
|
["dependencies", pkg.dependencies],
|
|
7788
7803
|
["devDependencies", pkg.devDependencies],
|
|
7789
|
-
["peerDependencies", pkg.peerDependencies]
|
|
7804
|
+
["peerDependencies", pkg.peerDependencies],
|
|
7805
|
+
["overrides", pkg.overrides]
|
|
7790
7806
|
]) {
|
|
7791
7807
|
if (!deps) continue;
|
|
7792
7808
|
for (const [name, version] of Object.entries(deps)) {
|
|
@@ -7946,10 +7962,19 @@ ${majorUpdates.length} major update(s) available (manual review required):`
|
|
|
7946
7962
|
const deps = pkg[field];
|
|
7947
7963
|
if (deps?.[pkgName]) {
|
|
7948
7964
|
const normalizedLatest = normalizeVersion(update.latest);
|
|
7949
|
-
deps[pkgName] = ensureCaretPrefix(normalizedLatest);
|
|
7965
|
+
deps[pkgName] = field === "overrides" ? normalizedLatest : ensureCaretPrefix(normalizedLatest);
|
|
7950
7966
|
changed = true;
|
|
7951
7967
|
}
|
|
7952
7968
|
}
|
|
7969
|
+
if (pkg.overrides) {
|
|
7970
|
+
for (const u2 of updates) {
|
|
7971
|
+
if (u2.file === file && u2.pkg.startsWith("@donotdev/") && u2.field !== "overrides" && pkg.overrides[u2.pkg]) {
|
|
7972
|
+
const normalizedLatest = normalizeVersion(u2.latest);
|
|
7973
|
+
pkg.overrides[u2.pkg] = normalizedLatest;
|
|
7974
|
+
changed = true;
|
|
7975
|
+
}
|
|
7976
|
+
}
|
|
7977
|
+
}
|
|
7953
7978
|
if (changed) {
|
|
7954
7979
|
writePackageJson(file, pkg);
|
|
7955
7980
|
const relativeFile = appRoot ? getRelativePathBetween(appRoot, file) : file;
|