@donotdev/cli 0.0.6 → 0.0.8
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 +64 -121
- package/dist/bin/commands/build.js +173 -161
- package/dist/bin/commands/bump.js +181 -156
- package/dist/bin/commands/cacheout.js +188 -171
- package/dist/bin/commands/create-app.js +213 -156
- package/dist/bin/commands/create-project.js +183 -154
- package/dist/bin/commands/deploy.js +491 -477
- package/dist/bin/commands/dev.js +176 -160
- package/dist/bin/commands/emu.js +181 -165
- package/dist/bin/commands/format.js +191 -174
- package/dist/bin/commands/lint.js +191 -171
- package/dist/bin/commands/preview.js +177 -161
- package/dist/bin/commands/sync-secrets.js +172 -158
- package/dist/bin/commands/wai.d.ts +11 -0
- package/dist/bin/commands/wai.d.ts.map +1 -0
- package/dist/bin/commands/wai.js +12 -0
- package/dist/bin/commands/wai.js.map +1 -0
- package/dist/bin/dndev.js +24 -24
- package/dist/bin/donotdev.js +24 -24
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +661 -669
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/app-demo/src/config/app.ts.example +12 -0
- package/templates/app-next/src/config/app.ts.example +75 -48
- package/templates/app-vite/index.html.example +71 -37
- package/templates/app-vite/src/config/app.ts.example +75 -47
- package/templates/app-vite/src/pages/FormPageExample.tsx.example +152 -0
- package/templates/app-vite/src/pages/HomePage.tsx.example +81 -134
- package/templates/app-vite/src/pages/ListPageExample.tsx.example +88 -0
- package/templates/functions-firebase/build.mjs.example +8 -1
- package/templates/functions-firebase/functions-firebase/build.mjs.example +8 -1
- package/templates/functions-firebase/functions-firebase/src/index.ts.example +19 -25
- package/templates/functions-firebase/functions.config.js.example +35 -0
- package/templates/root-consumer/entities/ExampleEntity.ts.example +223 -0
- package/templates/root-consumer/entities/demo.ts.example +576 -0
- package/templates/root-consumer/entities/index.ts.example +15 -0
- package/templates/root-consumer/eslint.config.js.example +2 -80
- package/templates/root-consumer/guides/{AGENT_START_HERE.md.example → dndev/AGENT_START_HERE.md.example} +22 -0
- package/templates/root-consumer/guides/dndev/COMPONENTS_CRUD.md.example +231 -0
- package/templates/root-consumer/guides/{SETUP_AUTH.md.example → dndev/SETUP_AUTH.md.example} +30 -0
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +539 -0
- package/templates/root-consumer/guides/dndev/SETUP_FUNCTIONS.md.example +116 -0
- package/templates/root-consumer/guides/{SETUP_I18N.md.example → dndev/SETUP_I18N.md.example} +46 -0
- package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +404 -0
- package/templates/root-consumer/guides/wai-way/agents/architect.md.example +78 -0
- package/templates/root-consumer/guides/wai-way/agents/builder.md.example +87 -0
- package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +325 -0
- package/templates/root-consumer/guides/wai-way/agents/polisher.md.example +100 -0
- package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +281 -0
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +77 -0
- package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +104 -0
- package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +124 -0
- package/templates/root-consumer/guides/wai-way/blueprints/4_configure.md.example +165 -0
- package/templates/root-consumer/guides/wai-way/context_map.json.example +95 -0
- package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +840 -0
- package/templates/root-consumer/guides/wai-way/page_patterns.md.example +686 -0
- package/templates/root-consumer/guides/wai-way/presets_guide.md.example +217 -0
- package/templates/root-consumer/guides/wai-way/spec_template.md.example +312 -0
- package/templates/functions-firebase/functions-firebase/src/crud/createEntity.ts.example +0 -19
- package/templates/functions-firebase/functions-firebase/src/crud/deleteEntity.ts.example +0 -14
- package/templates/functions-firebase/functions-firebase/src/crud/getEntity.ts.example +0 -14
- package/templates/functions-firebase/functions-firebase/src/crud/index.ts.example +0 -12
- package/templates/functions-firebase/functions-firebase/src/crud/listEntities.ts.example +0 -14
- package/templates/functions-firebase/functions-firebase/src/crud/updateEntity.ts.example +0 -14
- package/templates/root-consumer/guides/COMPONENTS_CRUD.md.example +0 -70
- package/templates/root-consumer/guides/SETUP_CRUD.md.example +0 -1244
- package/templates/root-consumer/guides/SETUP_FUNCTIONS.md.example +0 -114
- /package/templates/root-consumer/guides/{COMPONENTS_ADV.md.example → dndev/COMPONENTS_ADV.md.example} +0 -0
- /package/templates/root-consumer/guides/{COMPONENTS_ATOMIC.md.example → dndev/COMPONENTS_ATOMIC.md.example} +0 -0
- /package/templates/root-consumer/guides/{COMPONENTS_UI.md.example → dndev/COMPONENTS_UI.md.example} +0 -0
- /package/templates/root-consumer/guides/{ENV_SETUP.md.example → dndev/ENV_SETUP.md.example} +0 -0
- /package/templates/root-consumer/guides/{INDEX.md.example → dndev/INDEX.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_APP_CONFIG.md.example → dndev/SETUP_APP_CONFIG.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_BILLING.md.example → dndev/SETUP_BILLING.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_LAYOUTS.md.example → dndev/SETUP_LAYOUTS.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_OAUTH.md.example → dndev/SETUP_OAUTH.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_PAGES.md.example → dndev/SETUP_PAGES.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_PWA.md.example → dndev/SETUP_PWA.md.example} +0 -0
- /package/templates/root-consumer/guides/{SETUP_THEMES.md.example → dndev/SETUP_THEMES.md.example} +0 -0
- /package/templates/root-consumer/guides/{USE_ROUTING.md.example → dndev/USE_ROUTING.md.example} +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/APP_CHECK.md.example +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/COOKIE_REFERENCE.md.example +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/EMULATORS.md.example +0 -0
- /package/templates/root-consumer/guides/{advanced → dndev/advanced}/VERSION_CONTROL.md.example +0 -0
|
@@ -644,6 +644,7 @@ ${import_picocolors.default.gray(de + _2.repeat(s + 2) + pe)}
|
|
|
644
644
|
});
|
|
645
645
|
|
|
646
646
|
// packages/tooling/src/utils/cli-output.ts
|
|
647
|
+
import "node:os";
|
|
647
648
|
function supportsColor() {
|
|
648
649
|
if (process.env.NO_COLOR) return false;
|
|
649
650
|
if (process.platform === "win32") {
|
|
@@ -789,155 +790,6 @@ var init_cli_output = __esm({
|
|
|
789
790
|
}
|
|
790
791
|
});
|
|
791
792
|
|
|
792
|
-
// packages/core/config/constants.js
|
|
793
|
-
function getPatternsFor(type, repoRoot = null) {
|
|
794
|
-
const patterns = SCAN_PATTERNS[type];
|
|
795
|
-
if (!patterns) {
|
|
796
|
-
throw new Error(`Unknown pattern type: ${type}`);
|
|
797
|
-
}
|
|
798
|
-
if (repoRoot && patterns.framework) {
|
|
799
|
-
return {
|
|
800
|
-
...patterns,
|
|
801
|
-
framework: patterns.framework.map((pattern) => `${repoRoot}/${pattern}`)
|
|
802
|
-
};
|
|
803
|
-
}
|
|
804
|
-
return patterns;
|
|
805
|
-
}
|
|
806
|
-
function getGlobOptionsFor(type) {
|
|
807
|
-
return GLOB_OPTIONS[type] || GLOB_OPTIONS.base;
|
|
808
|
-
}
|
|
809
|
-
var I18N_PATHS, SCAN_PATTERNS, GLOB_OPTIONS;
|
|
810
|
-
var init_constants = __esm({
|
|
811
|
-
"packages/core/config/constants.js"() {
|
|
812
|
-
"use strict";
|
|
813
|
-
init_utils();
|
|
814
|
-
I18N_PATHS = {
|
|
815
|
-
// Monorepo source structure (locales at root, not in src/)
|
|
816
|
-
SOURCE_ROOT: "packages/core/i18n",
|
|
817
|
-
SOURCE_LOCALES: "packages/core/i18n/locales",
|
|
818
|
-
SOURCE_EAGER: "packages/core/i18n/locales/eager",
|
|
819
|
-
SOURCE_LAZY: "packages/core/i18n/locales/lazy",
|
|
820
|
-
// Published structure (same as source - no flattening needed)
|
|
821
|
-
PUBLISHED_ROOT: "i18n",
|
|
822
|
-
PUBLISHED_LOCALES: "i18n/locales",
|
|
823
|
-
PUBLISHED_EAGER: "i18n/locales/eager",
|
|
824
|
-
PUBLISHED_LAZY: "i18n/locales/lazy"
|
|
825
|
-
};
|
|
826
|
-
SCAN_PATTERNS = {
|
|
827
|
-
routes: {
|
|
828
|
-
consumer: ["src/**/*Page.tsx", "src/pages/**/*Page.tsx"],
|
|
829
|
-
exclude: [
|
|
830
|
-
"**/node_modules/**",
|
|
831
|
-
"**/dist/**",
|
|
832
|
-
"**/build/**",
|
|
833
|
-
"**/*.test.tsx",
|
|
834
|
-
"**/*.stories.tsx"
|
|
835
|
-
],
|
|
836
|
-
extensions: [".tsx"]
|
|
837
|
-
},
|
|
838
|
-
css: {
|
|
839
|
-
consumer: ["src/**/*.css"],
|
|
840
|
-
themes: ["src/**/*.css"],
|
|
841
|
-
extensions: [".css", ".scss", ".sass"],
|
|
842
|
-
framework: [
|
|
843
|
-
"packages/ui/src/**/*.css",
|
|
844
|
-
"packages/core/components/src/**/*.css",
|
|
845
|
-
"packages/core/templates/src/**/*.css"
|
|
846
|
-
]
|
|
847
|
-
},
|
|
848
|
-
i18n: {
|
|
849
|
-
eager: ["src/locales/*_*.json"],
|
|
850
|
-
lazy: ["src/**/locales/*_*.json", "!src/locales/*_*.json"],
|
|
851
|
-
framework: {
|
|
852
|
-
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
853
|
-
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
854
|
-
},
|
|
855
|
-
extensions: [".json"]
|
|
856
|
-
},
|
|
857
|
-
assets: {
|
|
858
|
-
consumer: ["public/**/*"],
|
|
859
|
-
fallback: ["manifest.json"],
|
|
860
|
-
modern: [
|
|
861
|
-
"logo.svg",
|
|
862
|
-
"favicon.svg",
|
|
863
|
-
"apple-touch-icon.png",
|
|
864
|
-
"android-chrome-192x192.png",
|
|
865
|
-
"android-chrome-512x512.png"
|
|
866
|
-
],
|
|
867
|
-
patterns: [
|
|
868
|
-
"favicon.svg",
|
|
869
|
-
"favicon.ico",
|
|
870
|
-
"favicon-*.png",
|
|
871
|
-
"logo.svg",
|
|
872
|
-
"logo.png",
|
|
873
|
-
"logo.webp",
|
|
874
|
-
"logo.avif",
|
|
875
|
-
"apple-touch-icon*.png",
|
|
876
|
-
"android-chrome-*.png",
|
|
877
|
-
"manifest.json"
|
|
878
|
-
],
|
|
879
|
-
fonts: ["fonts/**/*.woff2", "fonts/**/*.woff", "fonts/**/*.ttf"],
|
|
880
|
-
framework: ["packages/ui/assets/**/*"]
|
|
881
|
-
},
|
|
882
|
-
pwa: {
|
|
883
|
-
consumer: [
|
|
884
|
-
"public/manifest.json",
|
|
885
|
-
"public/service-worker.js",
|
|
886
|
-
"public/sw.js",
|
|
887
|
-
"public/icon-192x192.png",
|
|
888
|
-
"public/icon-512x512.png",
|
|
889
|
-
"public/favicon.ico",
|
|
890
|
-
"public/favicon.svg",
|
|
891
|
-
"public/apple-touch-icon.png",
|
|
892
|
-
"public/logo.svg"
|
|
893
|
-
],
|
|
894
|
-
exclude: ["**/node_modules/**", "**/dist/**", "**/build/**"],
|
|
895
|
-
extensions: [".json", ".js", ".png", ".svg", ".ico"],
|
|
896
|
-
framework: ["packages/ui/assets/**/*"]
|
|
897
|
-
},
|
|
898
|
-
globalIgnore: [
|
|
899
|
-
"**/node_modules/**",
|
|
900
|
-
"**/dist/**",
|
|
901
|
-
"**/build/**",
|
|
902
|
-
"**/.git/**",
|
|
903
|
-
"**/coverage/**",
|
|
904
|
-
"**/test/**"
|
|
905
|
-
]
|
|
906
|
-
};
|
|
907
|
-
GLOB_OPTIONS = {
|
|
908
|
-
base: {
|
|
909
|
-
absolute: true,
|
|
910
|
-
onlyFiles: true,
|
|
911
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
912
|
-
},
|
|
913
|
-
css: {
|
|
914
|
-
absolute: true,
|
|
915
|
-
onlyFiles: true,
|
|
916
|
-
ignore: [...SCAN_PATTERNS.globalIgnore, "**/*.test.css"]
|
|
917
|
-
},
|
|
918
|
-
routes: {
|
|
919
|
-
absolute: true,
|
|
920
|
-
onlyFiles: true,
|
|
921
|
-
ignore: [
|
|
922
|
-
...SCAN_PATTERNS.globalIgnore,
|
|
923
|
-
"**/*.test.tsx",
|
|
924
|
-
"**/*.stories.tsx"
|
|
925
|
-
]
|
|
926
|
-
},
|
|
927
|
-
i18n: {
|
|
928
|
-
absolute: true,
|
|
929
|
-
onlyFiles: true,
|
|
930
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
931
|
-
},
|
|
932
|
-
assets: {
|
|
933
|
-
absolute: true,
|
|
934
|
-
onlyFiles: true,
|
|
935
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
936
|
-
}
|
|
937
|
-
};
|
|
938
|
-
}
|
|
939
|
-
});
|
|
940
|
-
|
|
941
793
|
// node_modules/.bun/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js
|
|
942
794
|
var require_array = __commonJS({
|
|
943
795
|
"node_modules/.bun/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js"(exports) {
|
|
@@ -6522,7 +6374,167 @@ var require_out4 = __commonJS({
|
|
|
6522
6374
|
}
|
|
6523
6375
|
});
|
|
6524
6376
|
|
|
6377
|
+
// packages/core/config/constants.js
|
|
6378
|
+
function getPatternsFor(type, repoRoot = null) {
|
|
6379
|
+
const patterns = SCAN_PATTERNS[type];
|
|
6380
|
+
if (!patterns) {
|
|
6381
|
+
throw new Error(`Unknown pattern type: ${type}`);
|
|
6382
|
+
}
|
|
6383
|
+
if (repoRoot && patterns.framework) {
|
|
6384
|
+
return {
|
|
6385
|
+
...patterns,
|
|
6386
|
+
framework: patterns.framework.map((pattern) => `${repoRoot}/${pattern}`)
|
|
6387
|
+
};
|
|
6388
|
+
}
|
|
6389
|
+
return patterns;
|
|
6390
|
+
}
|
|
6391
|
+
function getGlobOptionsFor(type) {
|
|
6392
|
+
return GLOB_OPTIONS[type] || GLOB_OPTIONS.base;
|
|
6393
|
+
}
|
|
6394
|
+
var I18N_PATHS, SCAN_PATTERNS, GLOB_OPTIONS;
|
|
6395
|
+
var init_constants = __esm({
|
|
6396
|
+
"packages/core/config/constants.js"() {
|
|
6397
|
+
"use strict";
|
|
6398
|
+
init_utils();
|
|
6399
|
+
I18N_PATHS = {
|
|
6400
|
+
// Monorepo source structure (locales at root, not in src/)
|
|
6401
|
+
SOURCE_ROOT: "packages/core/i18n",
|
|
6402
|
+
SOURCE_LOCALES: "packages/core/i18n/locales",
|
|
6403
|
+
SOURCE_EAGER: "packages/core/i18n/locales/eager",
|
|
6404
|
+
SOURCE_LAZY: "packages/core/i18n/locales/lazy",
|
|
6405
|
+
// Published structure (same as source - no flattening needed)
|
|
6406
|
+
PUBLISHED_ROOT: "i18n",
|
|
6407
|
+
PUBLISHED_LOCALES: "i18n/locales",
|
|
6408
|
+
PUBLISHED_EAGER: "i18n/locales/eager",
|
|
6409
|
+
PUBLISHED_LAZY: "i18n/locales/lazy"
|
|
6410
|
+
};
|
|
6411
|
+
SCAN_PATTERNS = {
|
|
6412
|
+
routes: {
|
|
6413
|
+
consumer: ["src/**/*Page.tsx", "src/pages/**/*Page.tsx"],
|
|
6414
|
+
exclude: [
|
|
6415
|
+
"**/node_modules/**",
|
|
6416
|
+
"**/dist/**",
|
|
6417
|
+
"**/build/**",
|
|
6418
|
+
"**/*.test.tsx",
|
|
6419
|
+
"**/*.stories.tsx"
|
|
6420
|
+
],
|
|
6421
|
+
extensions: [".tsx"]
|
|
6422
|
+
},
|
|
6423
|
+
css: {
|
|
6424
|
+
consumer: ["src/**/*.css"],
|
|
6425
|
+
themes: ["src/**/*.css"],
|
|
6426
|
+
extensions: [".css", ".scss", ".sass"],
|
|
6427
|
+
framework: [
|
|
6428
|
+
"packages/ui/src/**/*.css",
|
|
6429
|
+
"packages/core/components/src/**/*.css",
|
|
6430
|
+
"packages/core/templates/src/**/*.css"
|
|
6431
|
+
]
|
|
6432
|
+
},
|
|
6433
|
+
i18n: {
|
|
6434
|
+
eager: ["src/locales/*_*.json"],
|
|
6435
|
+
lazy: [
|
|
6436
|
+
"src/**/locales/*_*.json",
|
|
6437
|
+
"!src/locales/*_*.json",
|
|
6438
|
+
// Auto-detect shared entity translations in monorepos (if exists, use it; if not, no problem)
|
|
6439
|
+
"../../entities/locales/*_*.json"
|
|
6440
|
+
],
|
|
6441
|
+
// Additional paths from workspace packages (e.g., shared entities)
|
|
6442
|
+
// Consumers can still configure via i18n.additionalPaths in dndev/vite config for custom paths
|
|
6443
|
+
// Example: ['../../packages/shared/locales/*_*.json']
|
|
6444
|
+
additional: [],
|
|
6445
|
+
framework: {
|
|
6446
|
+
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
6447
|
+
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
6448
|
+
},
|
|
6449
|
+
extensions: [".json"]
|
|
6450
|
+
},
|
|
6451
|
+
assets: {
|
|
6452
|
+
consumer: ["public/**/*"],
|
|
6453
|
+
fallback: ["manifest.json"],
|
|
6454
|
+
modern: [
|
|
6455
|
+
"logo.svg",
|
|
6456
|
+
"favicon.svg",
|
|
6457
|
+
"apple-touch-icon.png",
|
|
6458
|
+
"android-chrome-192x192.png",
|
|
6459
|
+
"android-chrome-512x512.png"
|
|
6460
|
+
],
|
|
6461
|
+
patterns: [
|
|
6462
|
+
"favicon.svg",
|
|
6463
|
+
"favicon.ico",
|
|
6464
|
+
"favicon-*.png",
|
|
6465
|
+
"logo.svg",
|
|
6466
|
+
"logo.png",
|
|
6467
|
+
"logo.webp",
|
|
6468
|
+
"logo.avif",
|
|
6469
|
+
"apple-touch-icon*.png",
|
|
6470
|
+
"android-chrome-*.png",
|
|
6471
|
+
"manifest.json"
|
|
6472
|
+
],
|
|
6473
|
+
fonts: ["fonts/**/*.woff2", "fonts/**/*.woff", "fonts/**/*.ttf"],
|
|
6474
|
+
framework: ["packages/ui/assets/**/*"]
|
|
6475
|
+
},
|
|
6476
|
+
pwa: {
|
|
6477
|
+
consumer: [
|
|
6478
|
+
"public/manifest.json",
|
|
6479
|
+
"public/service-worker.js",
|
|
6480
|
+
"public/sw.js",
|
|
6481
|
+
"public/icon-192x192.png",
|
|
6482
|
+
"public/icon-512x512.png",
|
|
6483
|
+
"public/favicon.ico",
|
|
6484
|
+
"public/favicon.svg",
|
|
6485
|
+
"public/apple-touch-icon.png",
|
|
6486
|
+
"public/logo.svg"
|
|
6487
|
+
],
|
|
6488
|
+
exclude: ["**/node_modules/**", "**/dist/**", "**/build/**"],
|
|
6489
|
+
extensions: [".json", ".js", ".png", ".svg", ".ico"],
|
|
6490
|
+
framework: ["packages/ui/assets/**/*"]
|
|
6491
|
+
},
|
|
6492
|
+
globalIgnore: [
|
|
6493
|
+
"**/node_modules/**",
|
|
6494
|
+
"**/dist/**",
|
|
6495
|
+
"**/build/**",
|
|
6496
|
+
"**/.git/**",
|
|
6497
|
+
"**/coverage/**",
|
|
6498
|
+
"**/test/**"
|
|
6499
|
+
]
|
|
6500
|
+
};
|
|
6501
|
+
GLOB_OPTIONS = {
|
|
6502
|
+
base: {
|
|
6503
|
+
absolute: true,
|
|
6504
|
+
onlyFiles: true,
|
|
6505
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6506
|
+
},
|
|
6507
|
+
css: {
|
|
6508
|
+
absolute: true,
|
|
6509
|
+
onlyFiles: true,
|
|
6510
|
+
ignore: [...SCAN_PATTERNS.globalIgnore, "**/*.test.css"]
|
|
6511
|
+
},
|
|
6512
|
+
routes: {
|
|
6513
|
+
absolute: true,
|
|
6514
|
+
onlyFiles: true,
|
|
6515
|
+
ignore: [
|
|
6516
|
+
...SCAN_PATTERNS.globalIgnore,
|
|
6517
|
+
"**/*.test.tsx",
|
|
6518
|
+
"**/*.stories.tsx"
|
|
6519
|
+
]
|
|
6520
|
+
},
|
|
6521
|
+
i18n: {
|
|
6522
|
+
absolute: true,
|
|
6523
|
+
onlyFiles: true,
|
|
6524
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6525
|
+
},
|
|
6526
|
+
assets: {
|
|
6527
|
+
absolute: true,
|
|
6528
|
+
onlyFiles: true,
|
|
6529
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6530
|
+
}
|
|
6531
|
+
};
|
|
6532
|
+
}
|
|
6533
|
+
});
|
|
6534
|
+
|
|
6525
6535
|
// packages/core/config/utils/PathResolver.ts
|
|
6536
|
+
import * as fs from "node:fs";
|
|
6537
|
+
import "node:fs";
|
|
6526
6538
|
import { createRequire } from "node:module";
|
|
6527
6539
|
import {
|
|
6528
6540
|
resolve,
|
|
@@ -6534,7 +6546,6 @@ import {
|
|
|
6534
6546
|
extname
|
|
6535
6547
|
} from "node:path";
|
|
6536
6548
|
import { fileURLToPath } from "node:url";
|
|
6537
|
-
import * as fs from "node:fs";
|
|
6538
6549
|
function safeExecuteAsync(fn, message) {
|
|
6539
6550
|
return fn().catch((error2) => {
|
|
6540
6551
|
throw new Error(
|
|
@@ -6547,8 +6558,8 @@ var init_PathResolver = __esm({
|
|
|
6547
6558
|
"packages/core/config/utils/PathResolver.ts"() {
|
|
6548
6559
|
"use strict";
|
|
6549
6560
|
init_utils();
|
|
6550
|
-
init_constants();
|
|
6551
6561
|
import_fast_glob = __toESM(require_out4(), 1);
|
|
6562
|
+
init_constants();
|
|
6552
6563
|
constants = {
|
|
6553
6564
|
getGlobOptionsFor: getGlobOptionsFor || void 0,
|
|
6554
6565
|
SCAN_PATTERNS: SCAN_PATTERNS || void 0,
|
|
@@ -7636,6 +7647,7 @@ var init_errors = __esm({
|
|
|
7636
7647
|
});
|
|
7637
7648
|
|
|
7638
7649
|
// packages/tooling/src/utils/pathResolver.ts
|
|
7650
|
+
import { createRequire as createRequire2 } from "node:module";
|
|
7639
7651
|
import {
|
|
7640
7652
|
join as join2,
|
|
7641
7653
|
dirname as dirname2,
|
|
@@ -7645,6 +7657,7 @@ import {
|
|
|
7645
7657
|
resolve as resolve2,
|
|
7646
7658
|
isAbsolute as pathIsAbsolute
|
|
7647
7659
|
} from "node:path";
|
|
7660
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7648
7661
|
function readdirSync2(dirPath, options) {
|
|
7649
7662
|
return pathResolverInstance.readdirSync(dirPath, options);
|
|
7650
7663
|
}
|
|
@@ -7677,17 +7690,18 @@ var init_pathResolver = __esm({
|
|
|
7677
7690
|
});
|
|
7678
7691
|
|
|
7679
7692
|
// packages/tooling/src/bundler/utils.ts
|
|
7680
|
-
import { createRequire as createRequire2 } from "node:module";
|
|
7681
|
-
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7682
|
-
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7683
7693
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
7694
|
+
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7695
|
+
import { createRequire as createRequire3 } from "node:module";
|
|
7696
|
+
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7684
7697
|
import process from "node:process";
|
|
7698
|
+
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
7685
7699
|
var require2, __filename, __dirname;
|
|
7686
7700
|
var init_utils = __esm({
|
|
7687
7701
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
7688
7702
|
"use strict";
|
|
7689
|
-
require2 =
|
|
7690
|
-
__filename =
|
|
7703
|
+
require2 = createRequire3(import.meta.url);
|
|
7704
|
+
__filename = fileURLToPath3(import.meta.url);
|
|
7691
7705
|
__dirname = dirname3(__filename);
|
|
7692
7706
|
if (typeof globalThis !== "undefined") {
|
|
7693
7707
|
globalThis.require = require2;
|
|
@@ -7734,9 +7748,9 @@ async function askForSelection(message, choices, defaultValue = 0) {
|
|
|
7734
7748
|
|
|
7735
7749
|
// packages/tooling/src/apps/sync-secrets.ts
|
|
7736
7750
|
init_utils();
|
|
7737
|
-
init_errors();
|
|
7738
|
-
init_cli_output();
|
|
7739
7751
|
import { spawnSync } from "node:child_process";
|
|
7752
|
+
init_cli_output();
|
|
7753
|
+
init_errors();
|
|
7740
7754
|
init_pathResolver();
|
|
7741
7755
|
function parseEnvFile(filePath) {
|
|
7742
7756
|
if (!pathExists(filePath)) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview WAI Command Wrapper
|
|
3
|
+
* @description Re-exports wai from tooling for CLI bundling.
|
|
4
|
+
* Each command wrapper is bundled separately as a fully self-contained script.
|
|
5
|
+
*
|
|
6
|
+
* @version 0.0.1
|
|
7
|
+
* @since 0.0.1
|
|
8
|
+
* @author AMBROISE PARK Consulting
|
|
9
|
+
*/
|
|
10
|
+
export { wai as main } from '@donotdev/tooling';
|
|
11
|
+
//# sourceMappingURL=wai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wai.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/wai.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// packages/cli/src/bin/commands/wai.ts
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview WAI Command Wrapper
|
|
4
|
+
* @description Re-exports wai from tooling for CLI bundling.
|
|
5
|
+
* Each command wrapper is bundled separately as a fully self-contained script.
|
|
6
|
+
*
|
|
7
|
+
* @version 0.0.1
|
|
8
|
+
* @since 0.0.1
|
|
9
|
+
* @author AMBROISE PARK Consulting
|
|
10
|
+
*/
|
|
11
|
+
export { wai as main } from '@donotdev/tooling';
|
|
12
|
+
//# sourceMappingURL=wai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wai.js","sourceRoot":"","sources":["../../../src/bin/commands/wai.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC;;;;;;;;GAQG;AAEH,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/bin/dndev.js
CHANGED
|
@@ -5,11 +5,11 @@ var __esm = (fn, res) => function __init() {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// packages/tooling/src/bundler/utils.ts
|
|
8
|
+
import { Buffer as Buffer2 } from "node:buffer";
|
|
8
9
|
import { createRequire } from "node:module";
|
|
9
|
-
import { fileURLToPath } from "node:url";
|
|
10
10
|
import { dirname, resolve } from "node:path";
|
|
11
|
-
import { Buffer as Buffer2 } from "node:buffer";
|
|
12
11
|
import process from "node:process";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
13
|
var require2, __filename, __dirname;
|
|
14
14
|
var init_utils = __esm({
|
|
15
15
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
@@ -46,28 +46,30 @@ Usage: dndev <command>[:<app>] [options]
|
|
|
46
46
|
|
|
47
47
|
Commands:
|
|
48
48
|
init, create-project Create a new DoNotDev project
|
|
49
|
-
create-app
|
|
49
|
+
create-app [name] Add app to existing project (--builder vite|next, --functions)
|
|
50
50
|
dev [app] Start development server
|
|
51
51
|
build [app] Build for production
|
|
52
52
|
preview [app] Preview production build
|
|
53
53
|
emu [app] Start dev with Firebase emulators
|
|
54
54
|
format Format code with Prettier
|
|
55
|
-
lint Lint code with ESLint
|
|
56
55
|
deploy [app] Deploy to Firebase
|
|
57
56
|
sync-secrets Sync env vars to Firebase/Vercel
|
|
58
57
|
cacheout [app] Clear build caches
|
|
59
58
|
bump Update framework packages and peer dependencies
|
|
59
|
+
wai Output WAI-WAY activation prompt for AI agents
|
|
60
60
|
|
|
61
61
|
Options:
|
|
62
62
|
-v, --version Display version number
|
|
63
63
|
-h, --help Display this help
|
|
64
64
|
|
|
65
65
|
Examples:
|
|
66
|
-
dndev init my-
|
|
66
|
+
dndev init my-project Create a new project
|
|
67
|
+
dndev create-app Interactive app creation
|
|
68
|
+
dndev create-app my-app Create 'my-app' with defaults (vite, no functions)
|
|
69
|
+
dndev create-app my-app --builder next --functions Create Next.js app with functions
|
|
67
70
|
dndev dev Start dev server
|
|
68
71
|
dndev dev:web Start dev server for 'web' app
|
|
69
|
-
dndev
|
|
70
|
-
dndev deploy Deploy to Firebase
|
|
72
|
+
dndev wai Output WAI-WAY activation prompt
|
|
71
73
|
|
|
72
74
|
Run 'dndev <command> --help' for command-specific help.`);
|
|
73
75
|
process.exit(0);
|
|
@@ -88,9 +90,18 @@ program.command("init [name]").alias("create-project").description("Create a new
|
|
|
88
90
|
const { main } = await import("./commands/create-project.js");
|
|
89
91
|
await main({ projectName: name });
|
|
90
92
|
});
|
|
91
|
-
program.command("create-app [name]").description("Add a new app to existing project").action(async () => {
|
|
93
|
+
program.command("create-app [name]").description("Add a new app to existing project").option("--name <name>", "App name (non-interactive)").option("--builder <builder>", "Framework: vite or next (default: vite)").option("--functions", "Include Firebase functions").action(async (name, options) => {
|
|
92
94
|
const { main } = await import("./commands/create-app.js");
|
|
93
|
-
|
|
95
|
+
const appName = name || options.name;
|
|
96
|
+
if (appName) {
|
|
97
|
+
await main({
|
|
98
|
+
name: appName,
|
|
99
|
+
builder: options.builder,
|
|
100
|
+
functions: options.functions
|
|
101
|
+
});
|
|
102
|
+
} else {
|
|
103
|
+
await main();
|
|
104
|
+
}
|
|
94
105
|
});
|
|
95
106
|
var formatCmd = program.command("format").description("Format code with Prettier");
|
|
96
107
|
addCommonOptions(formatCmd);
|
|
@@ -107,21 +118,6 @@ formatCmd.action(async (commanderOptions) => {
|
|
|
107
118
|
throw error;
|
|
108
119
|
}
|
|
109
120
|
});
|
|
110
|
-
var lintCmd = program.command("lint").description("Lint code with ESLint").option("-f, --fix", "automatically fix issues");
|
|
111
|
-
addCommonOptions(lintCmd);
|
|
112
|
-
lintCmd.action(async (commanderOptions) => {
|
|
113
|
-
const commonOptions = extractCommonOptions(commanderOptions);
|
|
114
|
-
const options = { ...commonOptions, ...commanderOptions };
|
|
115
|
-
try {
|
|
116
|
-
const { main } = await import("./commands/lint.js");
|
|
117
|
-
await main(options);
|
|
118
|
-
} catch (error) {
|
|
119
|
-
if (error.code === "invalid-argument" || error.name === "DoNotDevError") {
|
|
120
|
-
process.exit(error.context?.exitCode || 1);
|
|
121
|
-
}
|
|
122
|
-
throw error;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
121
|
var cacheoutCmd = program.command("cacheout [app]").alias("co").description("Clear build caches").option("--app <app>", "App name to clear cache for");
|
|
126
122
|
addCommonOptions(cacheoutCmd);
|
|
127
123
|
cacheoutCmd.action(async (app, commanderOptions) => {
|
|
@@ -200,6 +196,10 @@ program.command("preview [app]").description("Preview production build").action(
|
|
|
200
196
|
}
|
|
201
197
|
process.exit(await main());
|
|
202
198
|
});
|
|
199
|
+
program.command("wai").alias("wai-way").description("Output WAI-WAY activation prompt for AI agents").option("-w, --workflow", "Show workflow summary only").option("-c, --copy", "Copy prompt to clipboard").action(async () => {
|
|
200
|
+
const { main } = await import("./commands/wai.js");
|
|
201
|
+
process.exit(await main());
|
|
202
|
+
});
|
|
203
203
|
function preprocessArgs(args2) {
|
|
204
204
|
if (args2.length === 0) return args2;
|
|
205
205
|
const firstArg = args2[0];
|
package/dist/bin/donotdev.js
CHANGED
|
@@ -5,11 +5,11 @@ var __esm = (fn, res) => function __init() {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// packages/tooling/src/bundler/utils.ts
|
|
8
|
+
import { Buffer as Buffer2 } from "node:buffer";
|
|
8
9
|
import { createRequire } from "node:module";
|
|
9
|
-
import { fileURLToPath } from "node:url";
|
|
10
10
|
import { dirname, resolve } from "node:path";
|
|
11
|
-
import { Buffer as Buffer2 } from "node:buffer";
|
|
12
11
|
import process from "node:process";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
13
|
var require2, __filename, __dirname;
|
|
14
14
|
var init_utils = __esm({
|
|
15
15
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
@@ -46,28 +46,30 @@ Usage: dndev <command>[:<app>] [options]
|
|
|
46
46
|
|
|
47
47
|
Commands:
|
|
48
48
|
init, create-project Create a new DoNotDev project
|
|
49
|
-
create-app
|
|
49
|
+
create-app [name] Add app to existing project (--builder vite|next, --functions)
|
|
50
50
|
dev [app] Start development server
|
|
51
51
|
build [app] Build for production
|
|
52
52
|
preview [app] Preview production build
|
|
53
53
|
emu [app] Start dev with Firebase emulators
|
|
54
54
|
format Format code with Prettier
|
|
55
|
-
lint Lint code with ESLint
|
|
56
55
|
deploy [app] Deploy to Firebase
|
|
57
56
|
sync-secrets Sync env vars to Firebase/Vercel
|
|
58
57
|
cacheout [app] Clear build caches
|
|
59
58
|
bump Update framework packages and peer dependencies
|
|
59
|
+
wai Output WAI-WAY activation prompt for AI agents
|
|
60
60
|
|
|
61
61
|
Options:
|
|
62
62
|
-v, --version Display version number
|
|
63
63
|
-h, --help Display this help
|
|
64
64
|
|
|
65
65
|
Examples:
|
|
66
|
-
dndev init my-
|
|
66
|
+
dndev init my-project Create a new project
|
|
67
|
+
dndev create-app Interactive app creation
|
|
68
|
+
dndev create-app my-app Create 'my-app' with defaults (vite, no functions)
|
|
69
|
+
dndev create-app my-app --builder next --functions Create Next.js app with functions
|
|
67
70
|
dndev dev Start dev server
|
|
68
71
|
dndev dev:web Start dev server for 'web' app
|
|
69
|
-
dndev
|
|
70
|
-
dndev deploy Deploy to Firebase
|
|
72
|
+
dndev wai Output WAI-WAY activation prompt
|
|
71
73
|
|
|
72
74
|
Run 'dndev <command> --help' for command-specific help.`);
|
|
73
75
|
process.exit(0);
|
|
@@ -88,9 +90,18 @@ program.command("init [name]").alias("create-project").description("Create a new
|
|
|
88
90
|
const { main } = await import("./commands/create-project.js");
|
|
89
91
|
await main({ projectName: name });
|
|
90
92
|
});
|
|
91
|
-
program.command("create-app [name]").description("Add a new app to existing project").action(async () => {
|
|
93
|
+
program.command("create-app [name]").description("Add a new app to existing project").option("--name <name>", "App name (non-interactive)").option("--builder <builder>", "Framework: vite or next (default: vite)").option("--functions", "Include Firebase functions").action(async (name, options) => {
|
|
92
94
|
const { main } = await import("./commands/create-app.js");
|
|
93
|
-
|
|
95
|
+
const appName = name || options.name;
|
|
96
|
+
if (appName) {
|
|
97
|
+
await main({
|
|
98
|
+
name: appName,
|
|
99
|
+
builder: options.builder,
|
|
100
|
+
functions: options.functions
|
|
101
|
+
});
|
|
102
|
+
} else {
|
|
103
|
+
await main();
|
|
104
|
+
}
|
|
94
105
|
});
|
|
95
106
|
var formatCmd = program.command("format").description("Format code with Prettier");
|
|
96
107
|
addCommonOptions(formatCmd);
|
|
@@ -107,21 +118,6 @@ formatCmd.action(async (commanderOptions) => {
|
|
|
107
118
|
throw error;
|
|
108
119
|
}
|
|
109
120
|
});
|
|
110
|
-
var lintCmd = program.command("lint").description("Lint code with ESLint").option("-f, --fix", "automatically fix issues");
|
|
111
|
-
addCommonOptions(lintCmd);
|
|
112
|
-
lintCmd.action(async (commanderOptions) => {
|
|
113
|
-
const commonOptions = extractCommonOptions(commanderOptions);
|
|
114
|
-
const options = { ...commonOptions, ...commanderOptions };
|
|
115
|
-
try {
|
|
116
|
-
const { main } = await import("./commands/lint.js");
|
|
117
|
-
await main(options);
|
|
118
|
-
} catch (error) {
|
|
119
|
-
if (error.code === "invalid-argument" || error.name === "DoNotDevError") {
|
|
120
|
-
process.exit(error.context?.exitCode || 1);
|
|
121
|
-
}
|
|
122
|
-
throw error;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
121
|
var cacheoutCmd = program.command("cacheout [app]").alias("co").description("Clear build caches").option("--app <app>", "App name to clear cache for");
|
|
126
122
|
addCommonOptions(cacheoutCmd);
|
|
127
123
|
cacheoutCmd.action(async (app, commanderOptions) => {
|
|
@@ -200,6 +196,10 @@ program.command("preview [app]").description("Preview production build").action(
|
|
|
200
196
|
}
|
|
201
197
|
process.exit(await main());
|
|
202
198
|
});
|
|
199
|
+
program.command("wai").alias("wai-way").description("Output WAI-WAY activation prompt for AI agents").option("-w, --workflow", "Show workflow summary only").option("-c, --copy", "Copy prompt to clipboard").action(async () => {
|
|
200
|
+
const { main } = await import("./commands/wai.js");
|
|
201
|
+
process.exit(await main());
|
|
202
|
+
});
|
|
203
203
|
function preprocessArgs(args2) {
|
|
204
204
|
if (args2.length === 0) return args2;
|
|
205
205
|
const firstArg = args2[0];
|
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* Thin wrapper around @donotdev/tooling for public distribution.
|
|
5
5
|
* Tooling is the source of truth for all CLI code.
|
|
6
6
|
*/
|
|
7
|
-
export { createApp, createProject, format,
|
|
7
|
+
export { createApp, createProject, format, dev, build, preview, emu, cacheout, syncSecrets, deploy, } from '@donotdev/tooling';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,aAAa,EACb,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,aAAa,EACb,MAAM,EACN,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,EACH,QAAQ,EACR,WAAW,EACX,MAAM,GACP,MAAM,mBAAmB,CAAC"}
|