@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
package/dist/bin/commands/emu.js
CHANGED
|
@@ -540,6 +540,7 @@ var init_dist = __esm({
|
|
|
540
540
|
});
|
|
541
541
|
|
|
542
542
|
// node_modules/.bun/@clack+prompts@0.11.0/node_modules/@clack/prompts/dist/index.mjs
|
|
543
|
+
import { stripVTControlCharacters as S2 } from "node:util";
|
|
543
544
|
import y2 from "node:process";
|
|
544
545
|
function ce() {
|
|
545
546
|
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";
|
|
@@ -703,6 +704,7 @@ ${import_picocolors.default.cyan(d2)}
|
|
|
703
704
|
});
|
|
704
705
|
|
|
705
706
|
// packages/tooling/src/utils/cli-output.ts
|
|
707
|
+
import "node:os";
|
|
706
708
|
function supportsColor() {
|
|
707
709
|
if (process.env.NO_COLOR) return false;
|
|
708
710
|
if (process.platform === "win32") {
|
|
@@ -848,155 +850,6 @@ var init_cli_output = __esm({
|
|
|
848
850
|
}
|
|
849
851
|
});
|
|
850
852
|
|
|
851
|
-
// packages/core/config/constants.js
|
|
852
|
-
function getPatternsFor(type, repoRoot = null) {
|
|
853
|
-
const patterns = SCAN_PATTERNS[type];
|
|
854
|
-
if (!patterns) {
|
|
855
|
-
throw new Error(`Unknown pattern type: ${type}`);
|
|
856
|
-
}
|
|
857
|
-
if (repoRoot && patterns.framework) {
|
|
858
|
-
return {
|
|
859
|
-
...patterns,
|
|
860
|
-
framework: patterns.framework.map((pattern) => `${repoRoot}/${pattern}`)
|
|
861
|
-
};
|
|
862
|
-
}
|
|
863
|
-
return patterns;
|
|
864
|
-
}
|
|
865
|
-
function getGlobOptionsFor(type) {
|
|
866
|
-
return GLOB_OPTIONS[type] || GLOB_OPTIONS.base;
|
|
867
|
-
}
|
|
868
|
-
var I18N_PATHS, SCAN_PATTERNS, GLOB_OPTIONS;
|
|
869
|
-
var init_constants = __esm({
|
|
870
|
-
"packages/core/config/constants.js"() {
|
|
871
|
-
"use strict";
|
|
872
|
-
init_utils();
|
|
873
|
-
I18N_PATHS = {
|
|
874
|
-
// Monorepo source structure (locales at root, not in src/)
|
|
875
|
-
SOURCE_ROOT: "packages/core/i18n",
|
|
876
|
-
SOURCE_LOCALES: "packages/core/i18n/locales",
|
|
877
|
-
SOURCE_EAGER: "packages/core/i18n/locales/eager",
|
|
878
|
-
SOURCE_LAZY: "packages/core/i18n/locales/lazy",
|
|
879
|
-
// Published structure (same as source - no flattening needed)
|
|
880
|
-
PUBLISHED_ROOT: "i18n",
|
|
881
|
-
PUBLISHED_LOCALES: "i18n/locales",
|
|
882
|
-
PUBLISHED_EAGER: "i18n/locales/eager",
|
|
883
|
-
PUBLISHED_LAZY: "i18n/locales/lazy"
|
|
884
|
-
};
|
|
885
|
-
SCAN_PATTERNS = {
|
|
886
|
-
routes: {
|
|
887
|
-
consumer: ["src/**/*Page.tsx", "src/pages/**/*Page.tsx"],
|
|
888
|
-
exclude: [
|
|
889
|
-
"**/node_modules/**",
|
|
890
|
-
"**/dist/**",
|
|
891
|
-
"**/build/**",
|
|
892
|
-
"**/*.test.tsx",
|
|
893
|
-
"**/*.stories.tsx"
|
|
894
|
-
],
|
|
895
|
-
extensions: [".tsx"]
|
|
896
|
-
},
|
|
897
|
-
css: {
|
|
898
|
-
consumer: ["src/**/*.css"],
|
|
899
|
-
themes: ["src/**/*.css"],
|
|
900
|
-
extensions: [".css", ".scss", ".sass"],
|
|
901
|
-
framework: [
|
|
902
|
-
"packages/ui/src/**/*.css",
|
|
903
|
-
"packages/core/components/src/**/*.css",
|
|
904
|
-
"packages/core/templates/src/**/*.css"
|
|
905
|
-
]
|
|
906
|
-
},
|
|
907
|
-
i18n: {
|
|
908
|
-
eager: ["src/locales/*_*.json"],
|
|
909
|
-
lazy: ["src/**/locales/*_*.json", "!src/locales/*_*.json"],
|
|
910
|
-
framework: {
|
|
911
|
-
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
912
|
-
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
913
|
-
},
|
|
914
|
-
extensions: [".json"]
|
|
915
|
-
},
|
|
916
|
-
assets: {
|
|
917
|
-
consumer: ["public/**/*"],
|
|
918
|
-
fallback: ["manifest.json"],
|
|
919
|
-
modern: [
|
|
920
|
-
"logo.svg",
|
|
921
|
-
"favicon.svg",
|
|
922
|
-
"apple-touch-icon.png",
|
|
923
|
-
"android-chrome-192x192.png",
|
|
924
|
-
"android-chrome-512x512.png"
|
|
925
|
-
],
|
|
926
|
-
patterns: [
|
|
927
|
-
"favicon.svg",
|
|
928
|
-
"favicon.ico",
|
|
929
|
-
"favicon-*.png",
|
|
930
|
-
"logo.svg",
|
|
931
|
-
"logo.png",
|
|
932
|
-
"logo.webp",
|
|
933
|
-
"logo.avif",
|
|
934
|
-
"apple-touch-icon*.png",
|
|
935
|
-
"android-chrome-*.png",
|
|
936
|
-
"manifest.json"
|
|
937
|
-
],
|
|
938
|
-
fonts: ["fonts/**/*.woff2", "fonts/**/*.woff", "fonts/**/*.ttf"],
|
|
939
|
-
framework: ["packages/ui/assets/**/*"]
|
|
940
|
-
},
|
|
941
|
-
pwa: {
|
|
942
|
-
consumer: [
|
|
943
|
-
"public/manifest.json",
|
|
944
|
-
"public/service-worker.js",
|
|
945
|
-
"public/sw.js",
|
|
946
|
-
"public/icon-192x192.png",
|
|
947
|
-
"public/icon-512x512.png",
|
|
948
|
-
"public/favicon.ico",
|
|
949
|
-
"public/favicon.svg",
|
|
950
|
-
"public/apple-touch-icon.png",
|
|
951
|
-
"public/logo.svg"
|
|
952
|
-
],
|
|
953
|
-
exclude: ["**/node_modules/**", "**/dist/**", "**/build/**"],
|
|
954
|
-
extensions: [".json", ".js", ".png", ".svg", ".ico"],
|
|
955
|
-
framework: ["packages/ui/assets/**/*"]
|
|
956
|
-
},
|
|
957
|
-
globalIgnore: [
|
|
958
|
-
"**/node_modules/**",
|
|
959
|
-
"**/dist/**",
|
|
960
|
-
"**/build/**",
|
|
961
|
-
"**/.git/**",
|
|
962
|
-
"**/coverage/**",
|
|
963
|
-
"**/test/**"
|
|
964
|
-
]
|
|
965
|
-
};
|
|
966
|
-
GLOB_OPTIONS = {
|
|
967
|
-
base: {
|
|
968
|
-
absolute: true,
|
|
969
|
-
onlyFiles: true,
|
|
970
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
971
|
-
},
|
|
972
|
-
css: {
|
|
973
|
-
absolute: true,
|
|
974
|
-
onlyFiles: true,
|
|
975
|
-
ignore: [...SCAN_PATTERNS.globalIgnore, "**/*.test.css"]
|
|
976
|
-
},
|
|
977
|
-
routes: {
|
|
978
|
-
absolute: true,
|
|
979
|
-
onlyFiles: true,
|
|
980
|
-
ignore: [
|
|
981
|
-
...SCAN_PATTERNS.globalIgnore,
|
|
982
|
-
"**/*.test.tsx",
|
|
983
|
-
"**/*.stories.tsx"
|
|
984
|
-
]
|
|
985
|
-
},
|
|
986
|
-
i18n: {
|
|
987
|
-
absolute: true,
|
|
988
|
-
onlyFiles: true,
|
|
989
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
990
|
-
},
|
|
991
|
-
assets: {
|
|
992
|
-
absolute: true,
|
|
993
|
-
onlyFiles: true,
|
|
994
|
-
ignore: SCAN_PATTERNS.globalIgnore
|
|
995
|
-
}
|
|
996
|
-
};
|
|
997
|
-
}
|
|
998
|
-
});
|
|
999
|
-
|
|
1000
853
|
// node_modules/.bun/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js
|
|
1001
854
|
var require_array = __commonJS({
|
|
1002
855
|
"node_modules/.bun/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js"(exports) {
|
|
@@ -6581,7 +6434,167 @@ var require_out4 = __commonJS({
|
|
|
6581
6434
|
}
|
|
6582
6435
|
});
|
|
6583
6436
|
|
|
6437
|
+
// packages/core/config/constants.js
|
|
6438
|
+
function getPatternsFor(type, repoRoot = null) {
|
|
6439
|
+
const patterns = SCAN_PATTERNS[type];
|
|
6440
|
+
if (!patterns) {
|
|
6441
|
+
throw new Error(`Unknown pattern type: ${type}`);
|
|
6442
|
+
}
|
|
6443
|
+
if (repoRoot && patterns.framework) {
|
|
6444
|
+
return {
|
|
6445
|
+
...patterns,
|
|
6446
|
+
framework: patterns.framework.map((pattern) => `${repoRoot}/${pattern}`)
|
|
6447
|
+
};
|
|
6448
|
+
}
|
|
6449
|
+
return patterns;
|
|
6450
|
+
}
|
|
6451
|
+
function getGlobOptionsFor(type) {
|
|
6452
|
+
return GLOB_OPTIONS[type] || GLOB_OPTIONS.base;
|
|
6453
|
+
}
|
|
6454
|
+
var I18N_PATHS, SCAN_PATTERNS, GLOB_OPTIONS;
|
|
6455
|
+
var init_constants = __esm({
|
|
6456
|
+
"packages/core/config/constants.js"() {
|
|
6457
|
+
"use strict";
|
|
6458
|
+
init_utils();
|
|
6459
|
+
I18N_PATHS = {
|
|
6460
|
+
// Monorepo source structure (locales at root, not in src/)
|
|
6461
|
+
SOURCE_ROOT: "packages/core/i18n",
|
|
6462
|
+
SOURCE_LOCALES: "packages/core/i18n/locales",
|
|
6463
|
+
SOURCE_EAGER: "packages/core/i18n/locales/eager",
|
|
6464
|
+
SOURCE_LAZY: "packages/core/i18n/locales/lazy",
|
|
6465
|
+
// Published structure (same as source - no flattening needed)
|
|
6466
|
+
PUBLISHED_ROOT: "i18n",
|
|
6467
|
+
PUBLISHED_LOCALES: "i18n/locales",
|
|
6468
|
+
PUBLISHED_EAGER: "i18n/locales/eager",
|
|
6469
|
+
PUBLISHED_LAZY: "i18n/locales/lazy"
|
|
6470
|
+
};
|
|
6471
|
+
SCAN_PATTERNS = {
|
|
6472
|
+
routes: {
|
|
6473
|
+
consumer: ["src/**/*Page.tsx", "src/pages/**/*Page.tsx"],
|
|
6474
|
+
exclude: [
|
|
6475
|
+
"**/node_modules/**",
|
|
6476
|
+
"**/dist/**",
|
|
6477
|
+
"**/build/**",
|
|
6478
|
+
"**/*.test.tsx",
|
|
6479
|
+
"**/*.stories.tsx"
|
|
6480
|
+
],
|
|
6481
|
+
extensions: [".tsx"]
|
|
6482
|
+
},
|
|
6483
|
+
css: {
|
|
6484
|
+
consumer: ["src/**/*.css"],
|
|
6485
|
+
themes: ["src/**/*.css"],
|
|
6486
|
+
extensions: [".css", ".scss", ".sass"],
|
|
6487
|
+
framework: [
|
|
6488
|
+
"packages/ui/src/**/*.css",
|
|
6489
|
+
"packages/core/components/src/**/*.css",
|
|
6490
|
+
"packages/core/templates/src/**/*.css"
|
|
6491
|
+
]
|
|
6492
|
+
},
|
|
6493
|
+
i18n: {
|
|
6494
|
+
eager: ["src/locales/*_*.json"],
|
|
6495
|
+
lazy: [
|
|
6496
|
+
"src/**/locales/*_*.json",
|
|
6497
|
+
"!src/locales/*_*.json",
|
|
6498
|
+
// Auto-detect shared entity translations in monorepos (if exists, use it; if not, no problem)
|
|
6499
|
+
"../../entities/locales/*_*.json"
|
|
6500
|
+
],
|
|
6501
|
+
// Additional paths from workspace packages (e.g., shared entities)
|
|
6502
|
+
// Consumers can still configure via i18n.additionalPaths in dndev/vite config for custom paths
|
|
6503
|
+
// Example: ['../../packages/shared/locales/*_*.json']
|
|
6504
|
+
additional: [],
|
|
6505
|
+
framework: {
|
|
6506
|
+
eager: [`${I18N_PATHS.SOURCE_EAGER}/*_*.json`],
|
|
6507
|
+
lazy: [`${I18N_PATHS.SOURCE_LAZY}/*_*.json`]
|
|
6508
|
+
},
|
|
6509
|
+
extensions: [".json"]
|
|
6510
|
+
},
|
|
6511
|
+
assets: {
|
|
6512
|
+
consumer: ["public/**/*"],
|
|
6513
|
+
fallback: ["manifest.json"],
|
|
6514
|
+
modern: [
|
|
6515
|
+
"logo.svg",
|
|
6516
|
+
"favicon.svg",
|
|
6517
|
+
"apple-touch-icon.png",
|
|
6518
|
+
"android-chrome-192x192.png",
|
|
6519
|
+
"android-chrome-512x512.png"
|
|
6520
|
+
],
|
|
6521
|
+
patterns: [
|
|
6522
|
+
"favicon.svg",
|
|
6523
|
+
"favicon.ico",
|
|
6524
|
+
"favicon-*.png",
|
|
6525
|
+
"logo.svg",
|
|
6526
|
+
"logo.png",
|
|
6527
|
+
"logo.webp",
|
|
6528
|
+
"logo.avif",
|
|
6529
|
+
"apple-touch-icon*.png",
|
|
6530
|
+
"android-chrome-*.png",
|
|
6531
|
+
"manifest.json"
|
|
6532
|
+
],
|
|
6533
|
+
fonts: ["fonts/**/*.woff2", "fonts/**/*.woff", "fonts/**/*.ttf"],
|
|
6534
|
+
framework: ["packages/ui/assets/**/*"]
|
|
6535
|
+
},
|
|
6536
|
+
pwa: {
|
|
6537
|
+
consumer: [
|
|
6538
|
+
"public/manifest.json",
|
|
6539
|
+
"public/service-worker.js",
|
|
6540
|
+
"public/sw.js",
|
|
6541
|
+
"public/icon-192x192.png",
|
|
6542
|
+
"public/icon-512x512.png",
|
|
6543
|
+
"public/favicon.ico",
|
|
6544
|
+
"public/favicon.svg",
|
|
6545
|
+
"public/apple-touch-icon.png",
|
|
6546
|
+
"public/logo.svg"
|
|
6547
|
+
],
|
|
6548
|
+
exclude: ["**/node_modules/**", "**/dist/**", "**/build/**"],
|
|
6549
|
+
extensions: [".json", ".js", ".png", ".svg", ".ico"],
|
|
6550
|
+
framework: ["packages/ui/assets/**/*"]
|
|
6551
|
+
},
|
|
6552
|
+
globalIgnore: [
|
|
6553
|
+
"**/node_modules/**",
|
|
6554
|
+
"**/dist/**",
|
|
6555
|
+
"**/build/**",
|
|
6556
|
+
"**/.git/**",
|
|
6557
|
+
"**/coverage/**",
|
|
6558
|
+
"**/test/**"
|
|
6559
|
+
]
|
|
6560
|
+
};
|
|
6561
|
+
GLOB_OPTIONS = {
|
|
6562
|
+
base: {
|
|
6563
|
+
absolute: true,
|
|
6564
|
+
onlyFiles: true,
|
|
6565
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6566
|
+
},
|
|
6567
|
+
css: {
|
|
6568
|
+
absolute: true,
|
|
6569
|
+
onlyFiles: true,
|
|
6570
|
+
ignore: [...SCAN_PATTERNS.globalIgnore, "**/*.test.css"]
|
|
6571
|
+
},
|
|
6572
|
+
routes: {
|
|
6573
|
+
absolute: true,
|
|
6574
|
+
onlyFiles: true,
|
|
6575
|
+
ignore: [
|
|
6576
|
+
...SCAN_PATTERNS.globalIgnore,
|
|
6577
|
+
"**/*.test.tsx",
|
|
6578
|
+
"**/*.stories.tsx"
|
|
6579
|
+
]
|
|
6580
|
+
},
|
|
6581
|
+
i18n: {
|
|
6582
|
+
absolute: true,
|
|
6583
|
+
onlyFiles: true,
|
|
6584
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6585
|
+
},
|
|
6586
|
+
assets: {
|
|
6587
|
+
absolute: true,
|
|
6588
|
+
onlyFiles: true,
|
|
6589
|
+
ignore: SCAN_PATTERNS.globalIgnore
|
|
6590
|
+
}
|
|
6591
|
+
};
|
|
6592
|
+
}
|
|
6593
|
+
});
|
|
6594
|
+
|
|
6584
6595
|
// packages/core/config/utils/PathResolver.ts
|
|
6596
|
+
import * as fs from "node:fs";
|
|
6597
|
+
import "node:fs";
|
|
6585
6598
|
import { createRequire } from "node:module";
|
|
6586
6599
|
import {
|
|
6587
6600
|
resolve,
|
|
@@ -6593,7 +6606,6 @@ import {
|
|
|
6593
6606
|
extname
|
|
6594
6607
|
} from "node:path";
|
|
6595
6608
|
import { fileURLToPath } from "node:url";
|
|
6596
|
-
import * as fs from "node:fs";
|
|
6597
6609
|
function safeExecuteAsync(fn, message) {
|
|
6598
6610
|
return fn().catch((error2) => {
|
|
6599
6611
|
throw new Error(
|
|
@@ -6606,8 +6618,8 @@ var init_PathResolver = __esm({
|
|
|
6606
6618
|
"packages/core/config/utils/PathResolver.ts"() {
|
|
6607
6619
|
"use strict";
|
|
6608
6620
|
init_utils();
|
|
6609
|
-
init_constants();
|
|
6610
6621
|
import_fast_glob = __toESM(require_out4(), 1);
|
|
6622
|
+
init_constants();
|
|
6611
6623
|
constants = {
|
|
6612
6624
|
getGlobOptionsFor: getGlobOptionsFor || void 0,
|
|
6613
6625
|
SCAN_PATTERNS: SCAN_PATTERNS || void 0,
|
|
@@ -7695,6 +7707,7 @@ var init_errors = __esm({
|
|
|
7695
7707
|
});
|
|
7696
7708
|
|
|
7697
7709
|
// packages/tooling/src/utils/pathResolver.ts
|
|
7710
|
+
import { createRequire as createRequire2 } from "node:module";
|
|
7698
7711
|
import {
|
|
7699
7712
|
join as join2,
|
|
7700
7713
|
dirname as dirname2,
|
|
@@ -7704,6 +7717,7 @@ import {
|
|
|
7704
7717
|
resolve as resolve2,
|
|
7705
7718
|
isAbsolute as pathIsAbsolute
|
|
7706
7719
|
} from "node:path";
|
|
7720
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7707
7721
|
function readdirSync2(dirPath, options) {
|
|
7708
7722
|
return pathResolverInstance.readdirSync(dirPath, options);
|
|
7709
7723
|
}
|
|
@@ -7729,17 +7743,18 @@ var init_pathResolver = __esm({
|
|
|
7729
7743
|
});
|
|
7730
7744
|
|
|
7731
7745
|
// packages/tooling/src/bundler/utils.ts
|
|
7732
|
-
import { createRequire as createRequire2 } from "node:module";
|
|
7733
|
-
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
7734
|
-
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7735
7746
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
7747
|
+
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7748
|
+
import { createRequire as createRequire3 } from "node:module";
|
|
7749
|
+
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
7736
7750
|
import process from "node:process";
|
|
7751
|
+
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
7737
7752
|
var require2, __filename, __dirname;
|
|
7738
7753
|
var init_utils = __esm({
|
|
7739
7754
|
"packages/tooling/src/bundler/utils.ts"() {
|
|
7740
7755
|
"use strict";
|
|
7741
|
-
require2 =
|
|
7742
|
-
__filename =
|
|
7756
|
+
require2 = createRequire3(import.meta.url);
|
|
7757
|
+
__filename = fileURLToPath3(import.meta.url);
|
|
7743
7758
|
__dirname = dirname3(__filename);
|
|
7744
7759
|
if (typeof globalThis !== "undefined") {
|
|
7745
7760
|
globalThis.require = require2;
|
|
@@ -7766,7 +7781,6 @@ init_utils();
|
|
|
7766
7781
|
// packages/tooling/src/utils/app-selector.ts
|
|
7767
7782
|
init_utils();
|
|
7768
7783
|
init_dist2();
|
|
7769
|
-
init_cli_output();
|
|
7770
7784
|
|
|
7771
7785
|
// packages/tooling/src/utils/app-detection.ts
|
|
7772
7786
|
init_utils();
|
|
@@ -7854,6 +7868,7 @@ function analyzeApp(appPath, appName) {
|
|
|
7854
7868
|
}
|
|
7855
7869
|
|
|
7856
7870
|
// packages/tooling/src/utils/app-selector.ts
|
|
7871
|
+
init_cli_output();
|
|
7857
7872
|
async function selectApp(projectRoot, appName) {
|
|
7858
7873
|
const apps = detectApps(projectRoot);
|
|
7859
7874
|
if (apps.length === 0) {
|
|
@@ -7912,6 +7927,7 @@ async function askForMultiSelection(message, choices, defaultIndices = []) {
|
|
|
7912
7927
|
|
|
7913
7928
|
// packages/tooling/src/utils/spawn-utils.ts
|
|
7914
7929
|
init_utils();
|
|
7930
|
+
import { spawnSync, execSync } from "node:child_process";
|
|
7915
7931
|
function createAppEnv(appPath) {
|
|
7916
7932
|
return {
|
|
7917
7933
|
...process.env,
|
|
@@ -7953,9 +7969,9 @@ function createEmulatorEnv(appPath, framework = "vite", options) {
|
|
|
7953
7969
|
|
|
7954
7970
|
// packages/tooling/src/apps/emu.ts
|
|
7955
7971
|
init_utils();
|
|
7956
|
-
import { spawnSync, execSync } from "node:child_process";
|
|
7957
|
-
init_errors();
|
|
7972
|
+
import { spawnSync as spawnSync2, execSync as execSync2 } from "node:child_process";
|
|
7958
7973
|
init_cli_output();
|
|
7974
|
+
init_errors();
|
|
7959
7975
|
init_pathResolver();
|
|
7960
7976
|
init_pathResolver();
|
|
7961
7977
|
function discoverFirebaseProjectId(appPath) {
|
|
@@ -7977,7 +7993,7 @@ function killPorts(ports) {
|
|
|
7977
7993
|
for (const port of ports) {
|
|
7978
7994
|
try {
|
|
7979
7995
|
if (isWindows) {
|
|
7980
|
-
const findPort =
|
|
7996
|
+
const findPort = execSync2(`netstat -ano | findstr :${port}`, {
|
|
7981
7997
|
encoding: "utf-8"
|
|
7982
7998
|
});
|
|
7983
7999
|
const lines = findPort.trim().split("\n");
|
|
@@ -7990,18 +8006,18 @@ function killPorts(ports) {
|
|
|
7990
8006
|
}
|
|
7991
8007
|
for (const pid of pids) {
|
|
7992
8008
|
try {
|
|
7993
|
-
|
|
8009
|
+
execSync2(`taskkill /F /PID ${pid}`, { stdio: "ignore" });
|
|
7994
8010
|
log.debug(`Killed process ${pid} on port ${port}`);
|
|
7995
8011
|
} catch {
|
|
7996
8012
|
}
|
|
7997
8013
|
}
|
|
7998
8014
|
} else {
|
|
7999
8015
|
try {
|
|
8000
|
-
const pid =
|
|
8016
|
+
const pid = execSync2(`lsof -ti:${port}`, {
|
|
8001
8017
|
encoding: "utf-8"
|
|
8002
8018
|
}).trim();
|
|
8003
8019
|
if (pid) {
|
|
8004
|
-
|
|
8020
|
+
execSync2(`kill -9 ${pid}`, { stdio: "ignore" });
|
|
8005
8021
|
log.debug(`Killed process ${pid} on port ${port}`);
|
|
8006
8022
|
}
|
|
8007
8023
|
} catch {
|
|
@@ -8167,7 +8183,7 @@ FIREBASE_AUTH_EMULATOR_HOST=${authEmulatorHost}
|
|
|
8167
8183
|
}
|
|
8168
8184
|
}
|
|
8169
8185
|
log.info("Building functions...");
|
|
8170
|
-
const buildResult =
|
|
8186
|
+
const buildResult = spawnSync2("bun", ["run", "build"], {
|
|
8171
8187
|
cwd: functionsDir,
|
|
8172
8188
|
stdio: "pipe",
|
|
8173
8189
|
env: createEmulatorEnv(app.path, app.framework, {
|
|
@@ -8245,7 +8261,7 @@ FIREBASE_AUTH_EMULATOR_HOST=${authEmulatorHost}
|
|
|
8245
8261
|
log.info(" stripe trigger checkout.session.completed");
|
|
8246
8262
|
log.info("");
|
|
8247
8263
|
}
|
|
8248
|
-
const result =
|
|
8264
|
+
const result = spawnSync2("bunx", ["concurrently", ...concurrentlyArgs], {
|
|
8249
8265
|
stdio: "inherit",
|
|
8250
8266
|
env: createEmulatorEnv(app.path, app.framework, {
|
|
8251
8267
|
useEmulatorAuth: useAuth,
|