@batijs/cli 0.0.600 → 0.0.617

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 (125) hide show
  1. package/dist/{asset-package.json-iC80yfHl.js → asset-package.json-4Kd3cYZK.js} +1 -1
  2. package/dist/{asset-package.json-5jAkHfQx.js → asset-package.json-6VghM1P1.js} +7 -7
  3. package/dist/asset-package.json-9Dpl9Mb1.js +28 -0
  4. package/dist/{asset-package.json-CPWwL6bZ.js → asset-package.json-B2AxK8rn.js} +3 -3
  5. package/dist/{asset-package.json-BXoaSV75.js → asset-package.json-B8sUm95k.js} +2 -2
  6. package/dist/{asset-package.json-Dkcvy7d9.js → asset-package.json-BFJpX2g-.js} +4 -4
  7. package/dist/{asset-package.json-Bwbbt7PW.js → asset-package.json-BVf0SJH3.js} +3 -3
  8. package/dist/{asset-package.json-C7659FIB.js → asset-package.json-BZ2aBRnw.js} +4 -4
  9. package/dist/{asset-package.json-DvwXo7fn.js → asset-package.json-BixZy7zc.js} +5 -5
  10. package/dist/{asset-package.json-BijLBPEY.js → asset-package.json-Bq-WERub.js} +1 -1
  11. package/dist/{asset-package.json-Dexw92bT.js → asset-package.json-BtXcWUsZ.js} +2 -2
  12. package/dist/{asset-package.json-CoJwuHWR.js → asset-package.json-C-qJbg4N.js} +5 -5
  13. package/dist/{asset-package.json-vNjJ2So7.js → asset-package.json-C1RC0qQ_.js} +6 -6
  14. package/dist/{asset-package.json-HC49QzUo.js → asset-package.json-C3wUHwDI.js} +5 -5
  15. package/dist/{asset-package.json-CC5MrBf2.js → asset-package.json-CA25oTmS.js} +5 -5
  16. package/dist/{asset-package.json-YGAhbK5F.js → asset-package.json-CAwLskjc.js} +1 -1
  17. package/dist/{asset-package.json-KJy4GxeC.js → asset-package.json-CNh4NGnA.js} +3 -3
  18. package/dist/{asset-package.json-CAQfFXCC.js → asset-package.json-CTNEOGCC.js} +3 -3
  19. package/dist/{asset-package.json-BXd32h89.js → asset-package.json-CUwXUL3w.js} +1 -1
  20. package/dist/{asset-package.json-JgKMEkcg.js → asset-package.json-CcxJdkLA.js} +2 -2
  21. package/dist/{asset-package.json-Duwl6qEg.js → asset-package.json-Cjahpri-.js} +3 -3
  22. package/dist/{asset-package.json-jnFwnnfq.js → asset-package.json-CvkZpNW2.js} +2 -2
  23. package/dist/{asset-package.json-ynr-HN_E.js → asset-package.json-CzUs52TV.js} +2 -2
  24. package/dist/{asset-package.json-D3TDnLpq.js → asset-package.json-DH_UmVFd.js} +3 -3
  25. package/dist/{asset-package.json-BM9mLhk2.js → asset-package.json-DIE8g0Vh.js} +2 -2
  26. package/dist/{asset-package.json-BybrrIGO.js → asset-package.json-D_KyxUH6.js} +3 -3
  27. package/dist/{asset-package.json-BPEqUh6E.js → asset-package.json-DcLktA6v.js} +3 -3
  28. package/dist/{asset-package.json-CROF-oF6.js → asset-package.json-DiajYdfN.js} +3 -3
  29. package/dist/{asset-package.json-Dfr64mDV.js → asset-package.json-Dw4X226S.js} +3 -3
  30. package/dist/{asset-package.json-Bqsrbjke.js → asset-package.json-LRtPuTyE.js} +4 -4
  31. package/dist/{asset-package.json-DHv9B9Wa.js → asset-package.json-UDlA8Zgo.js} +1 -1
  32. package/dist/{asset-package.json-C-9uPVZo.js → asset-package.json-bVk_x_k1.js} +4 -4
  33. package/dist/{asset-package.json-DvFCc3Mp.js → asset-package.json-eG5oZK3P.js} +2 -2
  34. package/dist/{asset-package.json-CLowOiBr.js → asset-package.json-kq-Ep7__.js} +1 -1
  35. package/dist/{asset-package.json-CiSvhX5b.js → asset-package.json-oGu0f2vq.js} +2 -2
  36. package/dist/{asset-package.json-CkQEFCMS.js → asset-package.json-wPYRqkrV.js} +3 -3
  37. package/dist/{asset-package.json-BlleY_cq.js → asset-package2.json-BodOCQRs.js} +3 -3
  38. package/dist/boilerplates/@batijs/authjs/files/$package.json.js +1 -1
  39. package/dist/boilerplates/@batijs/authjs/files/asset-package.json.mjs +1 -1
  40. package/dist/boilerplates/@batijs/aws/files/$package.json.js +1 -1
  41. package/dist/boilerplates/@batijs/aws/files/asset-package.json.mjs +6 -6
  42. package/dist/boilerplates/@batijs/biome/files/$biome.json.js +3 -0
  43. package/dist/boilerplates/@batijs/biome/files/$package.json.js +1 -1
  44. package/dist/boilerplates/@batijs/biome/files/asset-package.json.mjs +3 -3
  45. package/dist/boilerplates/@batijs/cloudflare/files/$package.json.js +2 -2
  46. package/dist/boilerplates/@batijs/cloudflare/files/asset-package.json.mjs +3 -3
  47. package/dist/boilerplates/@batijs/compiled/files/$package.json.js +1 -1
  48. package/dist/boilerplates/@batijs/compiled/files/asset-package.json.mjs +2 -2
  49. package/dist/boilerplates/@batijs/d1/files/$package.json.js +1 -1
  50. package/dist/boilerplates/@batijs/d1/files/asset-package.json.mjs +2 -2
  51. package/dist/boilerplates/@batijs/d1-kysely/files/$package.json.js +1 -1
  52. package/dist/boilerplates/@batijs/d1-kysely/files/asset-package.json.mjs +1 -1
  53. package/dist/boilerplates/@batijs/d1-sqlite/files/$package.json.js +1 -1
  54. package/dist/boilerplates/@batijs/d1-sqlite/files/asset-package.json.mjs +1 -1
  55. package/dist/boilerplates/@batijs/drizzle/files/$package.json.js +1 -1
  56. package/dist/boilerplates/@batijs/drizzle/files/asset-package.json.mjs +3 -3
  57. package/dist/boilerplates/@batijs/edgeone/bati.config.mjs +6 -3
  58. package/dist/boilerplates/@batijs/edgeone/files/$package.json.js +1 -1
  59. package/dist/boilerplates/@batijs/edgeone/files/asset-package.json.mjs +1 -1
  60. package/dist/boilerplates/@batijs/eslint/files/$package.json.js +1 -1
  61. package/dist/boilerplates/@batijs/eslint/files/asset-package.json.mjs +3 -3
  62. package/dist/boilerplates/@batijs/eslint/files/eslint.config.ts +4 -0
  63. package/dist/boilerplates/@batijs/express/files/$package.json.js +1 -1
  64. package/dist/boilerplates/@batijs/express/files/asset-package.json.mjs +4 -4
  65. package/dist/boilerplates/@batijs/fastify/files/$package.json.js +1 -1
  66. package/dist/boilerplates/@batijs/fastify/files/asset-package.json.mjs +4 -4
  67. package/dist/boilerplates/@batijs/h3/files/$package.json.js +1 -1
  68. package/dist/boilerplates/@batijs/h3/files/asset-package.json.mjs +4 -4
  69. package/dist/boilerplates/@batijs/hono/files/$package.json.js +1 -1
  70. package/dist/boilerplates/@batijs/hono/files/asset-package.json.mjs +5 -5
  71. package/dist/boilerplates/@batijs/kysely/files/$package.json.js +1 -1
  72. package/dist/boilerplates/@batijs/kysely/files/asset-package.json.mjs +5 -5
  73. package/dist/boilerplates/@batijs/mantine/files/$package.json.js +1 -1
  74. package/dist/boilerplates/@batijs/mantine/files/asset-package.json.mjs +7 -7
  75. package/dist/boilerplates/@batijs/netlify/bati.config.mjs +14 -0
  76. package/dist/boilerplates/@batijs/netlify/files/$package.json.js +9 -0
  77. package/dist/boilerplates/@batijs/netlify/files/$vite.config.ts.js +19 -0
  78. package/dist/boilerplates/@batijs/netlify/files/asset-package.json.mjs +26 -0
  79. package/dist/boilerplates/@batijs/oxlint/files/$package.json.js +1 -1
  80. package/dist/boilerplates/@batijs/oxlint/files/asset-package.json.mjs +3 -3
  81. package/dist/boilerplates/@batijs/prettier/files/$package.json.js +1 -1
  82. package/dist/boilerplates/@batijs/prettier/files/.prettierignore +3 -0
  83. package/dist/boilerplates/@batijs/prettier/files/asset-package.json.mjs +2 -2
  84. package/dist/boilerplates/@batijs/prisma/files/$package.json.js +1 -1
  85. package/dist/boilerplates/@batijs/prisma/files/asset-package.json.mjs +3 -3
  86. package/dist/boilerplates/@batijs/react/files/$package.json.js +1 -1
  87. package/dist/boilerplates/@batijs/react/files/asset-package.json.mjs +5 -5
  88. package/dist/boilerplates/@batijs/react-sentry/files/$package.json.js +1 -1
  89. package/dist/boilerplates/@batijs/react-sentry/files/asset-package.json.mjs +5 -5
  90. package/dist/boilerplates/@batijs/sentry/files/$package.json.js +1 -1
  91. package/dist/boilerplates/@batijs/sentry/files/asset-package.json.mjs +3 -3
  92. package/dist/boilerplates/@batijs/shadcn-ui/files/$package.json.js +1 -1
  93. package/dist/boilerplates/@batijs/shadcn-ui/files/asset-package.json.mjs +2 -2
  94. package/dist/boilerplates/@batijs/shared/files/gitignore +3 -0
  95. package/dist/boilerplates/@batijs/shared/files/package.json +1 -1
  96. package/dist/boilerplates/@batijs/shared-server/files/$package.json.js +1 -1
  97. package/dist/boilerplates/@batijs/shared-server/files/asset-package.json.mjs +2 -2
  98. package/dist/boilerplates/@batijs/solid/files/$package.json.js +1 -1
  99. package/dist/boilerplates/@batijs/solid/files/asset-package.json.mjs +3 -3
  100. package/dist/boilerplates/@batijs/solid-sentry/files/$package.json.js +1 -1
  101. package/dist/boilerplates/@batijs/solid-sentry/files/asset-package.json.mjs +3 -3
  102. package/dist/boilerplates/@batijs/sqlite/files/$package.json.js +1 -1
  103. package/dist/boilerplates/@batijs/sqlite/files/asset-package.json.mjs +3 -3
  104. package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +1 -1
  105. package/dist/boilerplates/@batijs/tailwindcss/files/asset-package.json.mjs +2 -2
  106. package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +1 -1
  107. package/dist/boilerplates/@batijs/telefunc/files/asset-package.json.mjs +3 -3
  108. package/dist/boilerplates/@batijs/trpc/files/$package.json.js +1 -1
  109. package/dist/boilerplates/@batijs/trpc/files/asset-package.json.mjs +2 -2
  110. package/dist/boilerplates/@batijs/ts-rest/files/$package.json.js +1 -1
  111. package/dist/boilerplates/@batijs/ts-rest/files/asset-package.json.mjs +1 -1
  112. package/dist/boilerplates/@batijs/universal-deploy/files/$package.json.js +1 -1
  113. package/dist/boilerplates/@batijs/universal-deploy/files/asset-package.json.mjs +1 -1
  114. package/dist/boilerplates/@batijs/vercel/files/$package.json.js +1 -1
  115. package/dist/boilerplates/@batijs/vercel/files/asset-package.json.mjs +2 -2
  116. package/dist/boilerplates/@batijs/vue/files/$package.json.js +1 -1
  117. package/dist/boilerplates/@batijs/vue/files/asset-package.json.mjs +3 -3
  118. package/dist/boilerplates/@batijs/vue/types/node_modules/.pnpm/{vike-vue@0.9.11_@emnapi+core@1.9.2_@emnapi+runtime@1.9.2_vike@0.4.257_@cloudflare+worke_095c9730d9ad192bd6a8085361c48586 → vike-vue@0.9.11_@emnapi+core@1.9.2_@emnapi+runtime@1.9.2_vike@0.4.257_@cloudflare+worke_e7b235abddfa459a00cf0e3206b87fc0}/node_modules/vike-vue/dist/types/VikeHooks.d.mts +1 -1
  119. package/dist/boilerplates/@batijs/vue/types/pages/+onCreateApp.d.mts +1 -1
  120. package/dist/boilerplates/@batijs/vue-sentry/files/$package.json.js +1 -1
  121. package/dist/boilerplates/@batijs/vue-sentry/files/asset-package.json.mjs +4 -4
  122. package/dist/boilerplates/boilerplates.json +6 -0
  123. package/dist/index.js +40 -26
  124. package/package.json +8 -8
  125. /package/dist/boilerplates/@batijs/vue/types/node_modules/.pnpm/{vike-vue@0.9.11_@emnapi+core@1.9.2_@emnapi+runtime@1.9.2_vike@0.4.257_@cloudflare+worke_095c9730d9ad192bd6a8085361c48586 → vike-vue@0.9.11_@emnapi+core@1.9.2_@emnapi+runtime@1.9.2_vike@0.4.257_@cloudflare+worke_e7b235abddfa459a00cf0e3206b87fc0}/node_modules/vike-vue/dist/types/public.d.mts +0 -0
package/dist/index.js CHANGED
@@ -345,14 +345,14 @@ Please report this issue to https://github.com/vikejs/bati`);
345
345
  for (const target of RelationImport.computeUnimportedFiles()) await safeRmFile(target.pathAbsolute, { removeEmptyDir: true });
346
346
  }
347
347
  //#endregion
348
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/key.js
348
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/key.js
349
349
  const isUpKey = (key, keybindings = []) => key.name === "up" || keybindings.includes("vim") && key.name === "k" || keybindings.includes("emacs") && key.ctrl && key.name === "p";
350
350
  const isDownKey = (key, keybindings = []) => key.name === "down" || keybindings.includes("vim") && key.name === "j" || keybindings.includes("emacs") && key.ctrl && key.name === "n";
351
351
  const isBackspaceKey = (key) => key.name === "backspace";
352
352
  const isNumberKey = (key) => "1234567890".includes(key.name);
353
353
  const isEnterKey = (key) => key.name === "enter" || key.name === "return";
354
354
  //#endregion
355
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/errors.js
355
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/errors.js
356
356
  var AbortPromptError = class extends Error {
357
357
  name = "AbortPromptError";
358
358
  message = "Prompt was aborted";
@@ -375,7 +375,7 @@ var ValidationError = class extends Error {
375
375
  name = "ValidationError";
376
376
  };
377
377
  //#endregion
378
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/hook-engine.js
378
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/hook-engine.js
379
379
  const hookStorage = new AsyncLocalStorage();
380
380
  function createStore(rl) {
381
381
  return {
@@ -471,7 +471,10 @@ const effectScheduler = {
471
471
  }
472
472
  };
473
473
  //#endregion
474
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-state.js
474
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-state.js
475
+ function isFactory(value) {
476
+ return typeof value === "function";
477
+ }
475
478
  function useState(defaultValue) {
476
479
  return withPointer((pointer) => {
477
480
  const setState = AsyncResource.bind(function setState(newValue) {
@@ -481,13 +484,13 @@ function useState(defaultValue) {
481
484
  }
482
485
  });
483
486
  if (pointer.initialized) return [pointer.get(), setState];
484
- const value = typeof defaultValue === "function" ? defaultValue() : defaultValue;
487
+ const value = isFactory(defaultValue) ? defaultValue() : defaultValue;
485
488
  pointer.set(value);
486
489
  return [value, setState];
487
490
  });
488
491
  }
489
492
  //#endregion
490
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-effect.js
493
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-effect.js
491
494
  function useEffect(cb, depArray) {
492
495
  withPointer((pointer) => {
493
496
  const oldDeps = pointer.get();
@@ -496,10 +499,10 @@ function useEffect(cb, depArray) {
496
499
  });
497
500
  }
498
501
  //#endregion
499
- //#region ../../node_modules/.pnpm/@inquirer+figures@2.0.4/node_modules/@inquirer/figures/dist/index.js
502
+ //#region ../../node_modules/.pnpm/@inquirer+figures@2.0.5/node_modules/@inquirer/figures/dist/index.js
500
503
  function isUnicodeSupported() {
501
- if (process$1.platform !== "win32") return process$1.env["TERM"] !== "linux";
502
- return Boolean(process$1.env["WT_SESSION"]) || Boolean(process$1.env["TERMINUS_SUBLIME"]) || process$1.env["ConEmuTask"] === "{cmd::Cmder}" || process$1.env["TERM_PROGRAM"] === "Terminus-Sublime" || process$1.env["TERM_PROGRAM"] === "vscode" || process$1.env["TERM"] === "xterm-256color" || process$1.env["TERM"] === "alacritty" || process$1.env["TERMINAL_EMULATOR"] === "JetBrains-JediTerm";
504
+ if (!process$1.platform.startsWith("win")) return process$1.env["TERM"] !== "linux";
505
+ return Boolean(process$1.env["CI"]) || Boolean(process$1.env["WT_SESSION"]) || Boolean(process$1.env["TERMINUS_SUBLIME"]) || process$1.env["ConEmuTask"] === "{cmd::Cmder}" || process$1.env["TERM_PROGRAM"] === "Terminus-Sublime" || process$1.env["TERM_PROGRAM"] === "vscode" || process$1.env["TERM"] === "xterm-256color" || process$1.env["TERM"] === "alacritty" || process$1.env["TERMINAL_EMULATOR"] === "JetBrains-JediTerm";
503
506
  }
504
507
  const common = {
505
508
  circleQuestionMark: "(?)",
@@ -780,7 +783,7 @@ const fallbackSymbols = {
780
783
  const figures = isUnicodeSupported() ? mainSymbols : fallbackSymbols;
781
784
  Object.entries(specialMainSymbols);
782
785
  //#endregion
783
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/theme.js
786
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/theme.js
784
787
  const defaultTheme = {
785
788
  prefix: {
786
789
  idle: styleText("blue", "?"),
@@ -812,7 +815,7 @@ const defaultTheme = {
812
815
  }
813
816
  };
814
817
  //#endregion
815
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/make-theme.js
818
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/make-theme.js
816
819
  function isPlainObject(value) {
817
820
  if (typeof value !== "object" || value === null) return false;
818
821
  let proto = value;
@@ -831,7 +834,7 @@ function makeTheme(...themes) {
831
834
  return deepMerge(...[defaultTheme, ...themes.filter((theme) => theme != null)]);
832
835
  }
833
836
  //#endregion
834
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-prefix.js
837
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-prefix.js
835
838
  function usePrefix({ status = "idle", theme }) {
836
839
  const [showLoader, setShowLoader] = useState(false);
837
840
  const [tick, setTick] = useState(0);
@@ -857,7 +860,7 @@ function usePrefix({ status = "idle", theme }) {
857
860
  return typeof prefix === "string" ? prefix : prefix[status === "loading" ? "idle" : status] ?? prefix["idle"];
858
861
  }
859
862
  //#endregion
860
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-memo.js
863
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-memo.js
861
864
  function useMemo(fn, dependencies) {
862
865
  return withPointer((pointer) => {
863
866
  const prev = pointer.get();
@@ -873,12 +876,12 @@ function useMemo(fn, dependencies) {
873
876
  });
874
877
  }
875
878
  //#endregion
876
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-ref.js
879
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-ref.js
877
880
  function useRef(val) {
878
881
  return useState({ current: val })[0];
879
882
  }
880
883
  //#endregion
881
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-keypress.js
884
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/use-keypress.js
882
885
  function useKeypress(userHandler) {
883
886
  const signal = useRef(userHandler);
884
887
  signal.current = userHandler;
@@ -1206,7 +1209,7 @@ function wrapAnsi(string, columns, options) {
1206
1209
  return String(string).normalize().split(CRLF_OR_LF).map((line) => exec(line, columns, options)).join("\n");
1207
1210
  }
1208
1211
  //#endregion
1209
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/utils.js
1212
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/utils.js
1210
1213
  var import_cli_width = /* @__PURE__ */ __toESM(require_cli_width(), 1);
1211
1214
  /**
1212
1215
  * Force line returns at specific width. This function is ANSI code friendly and it'll
@@ -1232,7 +1235,7 @@ function readlineWidth() {
1232
1235
  });
1233
1236
  }
1234
1237
  //#endregion
1235
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js
1238
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js
1236
1239
  function usePointerPosition({ active, renderedItems, pageSize, loop }) {
1237
1240
  const state = useRef({
1238
1241
  lastPointer: active,
@@ -1610,7 +1613,7 @@ var SignalExit = class extends SignalExitBase {
1610
1613
  const process$2 = globalThis.process;
1611
1614
  const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
1612
1615
  //#endregion
1613
- //#region ../../node_modules/.pnpm/@inquirer+ansi@2.0.4/node_modules/@inquirer/ansi/dist/index.js
1616
+ //#region ../../node_modules/.pnpm/@inquirer+ansi@2.0.5/node_modules/@inquirer/ansi/dist/index.js
1614
1617
  const ESC = "\x1B[";
1615
1618
  ESC + "";
1616
1619
  /** Hide the cursor */
@@ -1630,7 +1633,7 @@ const eraseLine = ESC + "2K";
1630
1633
  /** Erase the specified number of lines above the cursor */
1631
1634
  const eraseLines = (lines) => lines > 0 ? (eraseLine + cursorUp(1)).repeat(lines - 1) + eraseLine + "\x1B[G" : "";
1632
1635
  //#endregion
1633
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/screen-manager.js
1636
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/screen-manager.js
1634
1637
  const height = (content) => content.split("\n").length;
1635
1638
  const lastLine = (content) => content.split("\n").pop() ?? "";
1636
1639
  var ScreenManager = class {
@@ -1685,7 +1688,7 @@ var ScreenManager = class {
1685
1688
  }
1686
1689
  };
1687
1690
  //#endregion
1688
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/promise-polyfill.js
1691
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/promise-polyfill.js
1689
1692
  var PromisePolyfill = class extends Promise {
1690
1693
  static withResolver() {
1691
1694
  let resolve;
@@ -1701,7 +1704,7 @@ var PromisePolyfill = class extends Promise {
1701
1704
  }
1702
1705
  };
1703
1706
  //#endregion
1704
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/create-prompt.js
1707
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/create-prompt.js
1705
1708
  var import_lib = /* @__PURE__ */ __toESM(require_lib(), 1);
1706
1709
  const nativeSetImmediate = globalThis.setImmediate;
1707
1710
  function getCallSites() {
@@ -1759,13 +1762,17 @@ function createPrompt(view) {
1759
1762
  const checkCursorPos = () => screen.checkCursorPos();
1760
1763
  rl.input.on("keypress", checkCursorPos);
1761
1764
  cleanups.add(() => rl.input.removeListener("keypress", checkCursorPos));
1765
+ let pendingDone = null;
1762
1766
  cycle(() => {
1767
+ let effectsSettled = false;
1763
1768
  try {
1764
1769
  const nextView = view(config, (value) => {
1765
- setImmediate(() => resolve(value));
1770
+ if (effectsSettled) resolve(value);
1771
+ else pendingDone = { value };
1766
1772
  });
1767
1773
  if (nextView === void 0) {
1768
- const callerFilename = callSites[1]?.getFileName();
1774
+ let callerFilename = callSites[1]?.getFileName();
1775
+ if (callerFilename && !callerFilename.startsWith("file://")) callerFilename = path.resolve(callerFilename);
1769
1776
  throw new Error(`Prompt functions must return a string.\n at ${callerFilename}`);
1770
1777
  }
1771
1778
  const [content, bottomContent] = typeof nextView === "string" ? [nextView] : nextView;
@@ -1774,6 +1781,12 @@ function createPrompt(view) {
1774
1781
  } catch (error) {
1775
1782
  reject(error);
1776
1783
  }
1784
+ effectsSettled = true;
1785
+ if (pendingDone !== null) {
1786
+ const { value } = pendingDone;
1787
+ pendingDone = null;
1788
+ resolve(value);
1789
+ }
1777
1790
  });
1778
1791
  };
1779
1792
  if ("readableFlowing" in input) nativeSetImmediate(startCycle);
@@ -1794,7 +1807,7 @@ function createPrompt(view) {
1794
1807
  return prompt;
1795
1808
  }
1796
1809
  //#endregion
1797
- //#region ../../node_modules/.pnpm/@inquirer+core@11.1.7_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/Separator.js
1810
+ //#region ../../node_modules/.pnpm/@inquirer+core@11.1.8_@types+node@20.19.37/node_modules/@inquirer/core/dist/lib/Separator.js
1798
1811
  /**
1799
1812
  * Separator object
1800
1813
  * Used to space/separate choices group
@@ -1810,7 +1823,7 @@ var Separator = class {
1810
1823
  }
1811
1824
  };
1812
1825
  //#endregion
1813
- //#region ../../node_modules/.pnpm/@inquirer+select@5.1.2_@types+node@20.19.37/node_modules/@inquirer/select/dist/index.js
1826
+ //#region ../../node_modules/.pnpm/@inquirer+select@5.1.3_@types+node@20.19.37/node_modules/@inquirer/select/dist/index.js
1814
1827
  const selectTheme = {
1815
1828
  icon: { cursor: figures.pointer },
1816
1829
  style: {
@@ -1878,6 +1891,7 @@ var dist_default = createPrompt((config, done) => {
1878
1891
  }, [config.default, items]);
1879
1892
  const [active, setActive] = useState(defaultItemIndex === -1 ? bounds.first : defaultItemIndex);
1880
1893
  const selectedChoice = items[active];
1894
+ if (selectedChoice == null || Separator.isSeparator(selectedChoice)) throw new Error("Active index does not point to a choice");
1881
1895
  const [errorMsg, setError] = useState();
1882
1896
  useKeypress((key, rl) => {
1883
1897
  clearTimeout(searchTimeoutRef.current);
@@ -2599,7 +2613,7 @@ function kebabCase(str, joiner) {
2599
2613
  //#endregion
2600
2614
  //#region package.json
2601
2615
  var name = "@batijs/cli";
2602
- var version = "0.0.600";
2616
+ var version = "0.0.617";
2603
2617
  var description = "Next-gen scaffolder. Get started with fully-functional apps, and choose any tool you want";
2604
2618
  //#endregion
2605
2619
  //#region rules.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batijs/cli",
3
- "version": "0.0.600",
3
+ "version": "0.0.617",
4
4
  "type": "module",
5
5
  "keywords": [],
6
6
  "description": "Next-gen scaffolder. Get started with fully-functional apps, and choose any tool you want",
@@ -8,24 +8,24 @@
8
8
  "repository": "https://github.com/vikejs/bati",
9
9
  "license": "MIT",
10
10
  "devDependencies": {
11
- "@inquirer/prompts": "^8.3.2",
11
+ "@inquirer/prompts": "^8.4.1",
12
12
  "@types/node": "^20.19.37",
13
13
  "@types/which": "^3.0.4",
14
14
  "citty": "^0.2.2",
15
15
  "colorette": "^2.0.20",
16
- "esbuild": "^0.27.5",
16
+ "esbuild": "^0.28.0",
17
17
  "execa": "^9.6.1",
18
18
  "scule": "^1.3.0",
19
19
  "tsdown": "^0.21.7",
20
20
  "typescript": "^6.0.2",
21
21
  "unplugin-purge-polyfills": "^0.1.0",
22
- "vite": "^8.0.3",
23
- "@batijs/build": "0.0.600",
24
- "@batijs/compile": "0.0.600"
22
+ "vite": "^8.0.8",
23
+ "@batijs/build": "0.0.617",
24
+ "@batijs/compile": "0.0.617"
25
25
  },
26
26
  "dependencies": {
27
- "@batijs/core": "0.0.600",
28
- "@batijs/features": "0.0.600"
27
+ "@batijs/core": "",
28
+ "@batijs/features": ""
29
29
  },
30
30
  "bin": "./cli.js",
31
31
  "exports": {