@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.
Files changed (87) hide show
  1. package/README.md +3 -18
  2. package/dependencies-matrix.json +64 -121
  3. package/dist/bin/commands/build.js +173 -161
  4. package/dist/bin/commands/bump.js +181 -156
  5. package/dist/bin/commands/cacheout.js +188 -171
  6. package/dist/bin/commands/create-app.js +213 -156
  7. package/dist/bin/commands/create-project.js +183 -154
  8. package/dist/bin/commands/deploy.js +491 -477
  9. package/dist/bin/commands/dev.js +176 -160
  10. package/dist/bin/commands/emu.js +181 -165
  11. package/dist/bin/commands/format.js +191 -174
  12. package/dist/bin/commands/lint.js +191 -171
  13. package/dist/bin/commands/preview.js +177 -161
  14. package/dist/bin/commands/sync-secrets.js +172 -158
  15. package/dist/bin/commands/wai.d.ts +11 -0
  16. package/dist/bin/commands/wai.d.ts.map +1 -0
  17. package/dist/bin/commands/wai.js +12 -0
  18. package/dist/bin/commands/wai.js.map +1 -0
  19. package/dist/bin/dndev.js +24 -24
  20. package/dist/bin/donotdev.js +24 -24
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +661 -669
  24. package/dist/index.js.map +1 -1
  25. package/package.json +1 -1
  26. package/templates/app-demo/src/config/app.ts.example +12 -0
  27. package/templates/app-next/src/config/app.ts.example +75 -48
  28. package/templates/app-vite/index.html.example +71 -37
  29. package/templates/app-vite/src/config/app.ts.example +75 -47
  30. package/templates/app-vite/src/pages/FormPageExample.tsx.example +152 -0
  31. package/templates/app-vite/src/pages/HomePage.tsx.example +81 -134
  32. package/templates/app-vite/src/pages/ListPageExample.tsx.example +88 -0
  33. package/templates/functions-firebase/build.mjs.example +8 -1
  34. package/templates/functions-firebase/functions-firebase/build.mjs.example +8 -1
  35. package/templates/functions-firebase/functions-firebase/src/index.ts.example +19 -25
  36. package/templates/functions-firebase/functions.config.js.example +35 -0
  37. package/templates/root-consumer/entities/ExampleEntity.ts.example +223 -0
  38. package/templates/root-consumer/entities/demo.ts.example +576 -0
  39. package/templates/root-consumer/entities/index.ts.example +15 -0
  40. package/templates/root-consumer/eslint.config.js.example +2 -80
  41. package/templates/root-consumer/guides/{AGENT_START_HERE.md.example → dndev/AGENT_START_HERE.md.example} +22 -0
  42. package/templates/root-consumer/guides/dndev/COMPONENTS_CRUD.md.example +231 -0
  43. package/templates/root-consumer/guides/{SETUP_AUTH.md.example → dndev/SETUP_AUTH.md.example} +30 -0
  44. package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +539 -0
  45. package/templates/root-consumer/guides/dndev/SETUP_FUNCTIONS.md.example +116 -0
  46. package/templates/root-consumer/guides/{SETUP_I18N.md.example → dndev/SETUP_I18N.md.example} +46 -0
  47. package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +404 -0
  48. package/templates/root-consumer/guides/wai-way/agents/architect.md.example +78 -0
  49. package/templates/root-consumer/guides/wai-way/agents/builder.md.example +87 -0
  50. package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +325 -0
  51. package/templates/root-consumer/guides/wai-way/agents/polisher.md.example +100 -0
  52. package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +281 -0
  53. package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +77 -0
  54. package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +104 -0
  55. package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +124 -0
  56. package/templates/root-consumer/guides/wai-way/blueprints/4_configure.md.example +165 -0
  57. package/templates/root-consumer/guides/wai-way/context_map.json.example +95 -0
  58. package/templates/root-consumer/guides/wai-way/entity_patterns.md.example +840 -0
  59. package/templates/root-consumer/guides/wai-way/page_patterns.md.example +686 -0
  60. package/templates/root-consumer/guides/wai-way/presets_guide.md.example +217 -0
  61. package/templates/root-consumer/guides/wai-way/spec_template.md.example +312 -0
  62. package/templates/functions-firebase/functions-firebase/src/crud/createEntity.ts.example +0 -19
  63. package/templates/functions-firebase/functions-firebase/src/crud/deleteEntity.ts.example +0 -14
  64. package/templates/functions-firebase/functions-firebase/src/crud/getEntity.ts.example +0 -14
  65. package/templates/functions-firebase/functions-firebase/src/crud/index.ts.example +0 -12
  66. package/templates/functions-firebase/functions-firebase/src/crud/listEntities.ts.example +0 -14
  67. package/templates/functions-firebase/functions-firebase/src/crud/updateEntity.ts.example +0 -14
  68. package/templates/root-consumer/guides/COMPONENTS_CRUD.md.example +0 -70
  69. package/templates/root-consumer/guides/SETUP_CRUD.md.example +0 -1244
  70. package/templates/root-consumer/guides/SETUP_FUNCTIONS.md.example +0 -114
  71. /package/templates/root-consumer/guides/{COMPONENTS_ADV.md.example → dndev/COMPONENTS_ADV.md.example} +0 -0
  72. /package/templates/root-consumer/guides/{COMPONENTS_ATOMIC.md.example → dndev/COMPONENTS_ATOMIC.md.example} +0 -0
  73. /package/templates/root-consumer/guides/{COMPONENTS_UI.md.example → dndev/COMPONENTS_UI.md.example} +0 -0
  74. /package/templates/root-consumer/guides/{ENV_SETUP.md.example → dndev/ENV_SETUP.md.example} +0 -0
  75. /package/templates/root-consumer/guides/{INDEX.md.example → dndev/INDEX.md.example} +0 -0
  76. /package/templates/root-consumer/guides/{SETUP_APP_CONFIG.md.example → dndev/SETUP_APP_CONFIG.md.example} +0 -0
  77. /package/templates/root-consumer/guides/{SETUP_BILLING.md.example → dndev/SETUP_BILLING.md.example} +0 -0
  78. /package/templates/root-consumer/guides/{SETUP_LAYOUTS.md.example → dndev/SETUP_LAYOUTS.md.example} +0 -0
  79. /package/templates/root-consumer/guides/{SETUP_OAUTH.md.example → dndev/SETUP_OAUTH.md.example} +0 -0
  80. /package/templates/root-consumer/guides/{SETUP_PAGES.md.example → dndev/SETUP_PAGES.md.example} +0 -0
  81. /package/templates/root-consumer/guides/{SETUP_PWA.md.example → dndev/SETUP_PWA.md.example} +0 -0
  82. /package/templates/root-consumer/guides/{SETUP_THEMES.md.example → dndev/SETUP_THEMES.md.example} +0 -0
  83. /package/templates/root-consumer/guides/{USE_ROUTING.md.example → dndev/USE_ROUTING.md.example} +0 -0
  84. /package/templates/root-consumer/guides/{advanced → dndev/advanced}/APP_CHECK.md.example +0 -0
  85. /package/templates/root-consumer/guides/{advanced → dndev/advanced}/COOKIE_REFERENCE.md.example +0 -0
  86. /package/templates/root-consumer/guides/{advanced → dndev/advanced}/EMULATORS.md.example +0 -0
  87. /package/templates/root-consumer/guides/{advanced → dndev/advanced}/VERSION_CONTROL.md.example +0 -0
@@ -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 = createRequire2(import.meta.url);
7742
- __filename = fileURLToPath2(import.meta.url);
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 = execSync(`netstat -ano | findstr :${port}`, {
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
- execSync(`taskkill /F /PID ${pid}`, { stdio: "ignore" });
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 = execSync(`lsof -ti:${port}`, {
8016
+ const pid = execSync2(`lsof -ti:${port}`, {
8001
8017
  encoding: "utf-8"
8002
8018
  }).trim();
8003
8019
  if (pid) {
8004
- execSync(`kill -9 ${pid}`, { stdio: "ignore" });
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 = spawnSync("bun", ["run", "build"], {
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 = spawnSync("bunx", ["concurrently", ...concurrentlyArgs], {
8264
+ const result = spawnSync2("bunx", ["concurrently", ...concurrentlyArgs], {
8249
8265
  stdio: "inherit",
8250
8266
  env: createEmulatorEnv(app.path, app.framework, {
8251
8267
  useEmulatorAuth: useAuth,