@batijs/cli 0.0.629 → 0.0.631

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 (103) hide show
  1. package/dist/asset-env-Jk0sS-Q2.js +35 -0
  2. package/dist/{asset-package.json-BpYtzVUp.js → asset-package.json-B-yhAahL.js} +2 -0
  3. package/dist/{asset-package.json-WJvmKmkO.js → asset-package.json-BKz7RIOA.js} +4 -2
  4. package/dist/asset-package.json-DKULIe-Z.js +26 -0
  5. package/dist/asset-package.json-DoD27uYD.js +26 -0
  6. package/dist/{asset-package.json-CHD5b5fl.js → asset-package.json-Y6cFx6TQ.js} +1 -0
  7. package/dist/boilerplates/@batijs/auth0/bati.config.mjs +24 -1
  8. package/dist/boilerplates/@batijs/authjs/bati.config.mjs +1 -1
  9. package/dist/boilerplates/@batijs/aws/bati.config.mjs +1 -1
  10. package/dist/boilerplates/@batijs/aws/files/$package.json.js +1 -1
  11. package/dist/boilerplates/@batijs/biome/bati.config.mjs +1 -1
  12. package/dist/boilerplates/@batijs/cloudflare/bati.config.mjs +1 -1
  13. package/dist/boilerplates/@batijs/cloudflare/files/$package.json.js +1 -1
  14. package/dist/boilerplates/@batijs/cloudflare/files/$wrangler.jsonc.js +22 -0
  15. package/dist/boilerplates/@batijs/cloudflare/files/asset-env.mjs +9 -0
  16. package/dist/boilerplates/@batijs/cloudflare/files/asset-package.json.mjs +2 -0
  17. package/dist/boilerplates/@batijs/compiled/bati.config.mjs +1 -1
  18. package/dist/boilerplates/@batijs/d1/bati.config.mjs +1 -1
  19. package/dist/boilerplates/@batijs/d1-kysely/bati.config.mjs +1 -1
  20. package/dist/boilerplates/@batijs/d1-sqlite/bati.config.mjs +1 -1
  21. package/dist/boilerplates/@batijs/docker-compose/bati.config.mjs +17 -0
  22. package/dist/boilerplates/@batijs/docker-compose/files/$.dockerignore.js +19 -0
  23. package/dist/boilerplates/@batijs/docker-compose/files/$Dockerfile.js +80 -0
  24. package/dist/boilerplates/@batijs/docker-compose/files/$docker-compose.yml.js +10 -0
  25. package/dist/boilerplates/@batijs/docker-compose/files/asset-env.mjs +33 -0
  26. package/dist/boilerplates/@batijs/docker-compose/files/docker-compose.yml +18 -0
  27. package/dist/boilerplates/@batijs/dokploy/bati.config.mjs +23 -0
  28. package/dist/boilerplates/@batijs/dokploy/files/$TODO.md.js +28 -0
  29. package/dist/boilerplates/@batijs/dokploy/files/$package.json.js +13 -0
  30. package/dist/boilerplates/@batijs/dokploy/files/asset-package.json.mjs +24 -0
  31. package/dist/boilerplates/@batijs/drizzle/bati.config.mjs +1 -1
  32. package/dist/boilerplates/@batijs/edgeone/bati.config.mjs +1 -1
  33. package/dist/boilerplates/@batijs/eslint/bati.config.mjs +1 -1
  34. package/dist/boilerplates/@batijs/eslint/files/$package.json.js +3 -2
  35. package/dist/boilerplates/@batijs/eslint/files/asset-package.json.mjs +1 -0
  36. package/dist/boilerplates/@batijs/express/bati.config.mjs +1 -1
  37. package/dist/boilerplates/@batijs/express/files/$package.json.js +5 -2
  38. package/dist/boilerplates/@batijs/fastify/bati.config.mjs +1 -1
  39. package/dist/boilerplates/@batijs/fastify/files/$package.json.js +2 -3
  40. package/dist/boilerplates/@batijs/google-analytics/bati.config.mjs +14 -4
  41. package/dist/boilerplates/@batijs/h3/bati.config.mjs +1 -1
  42. package/dist/boilerplates/@batijs/h3/files/$package.json.js +1 -2
  43. package/dist/boilerplates/@batijs/hono/bati.config.mjs +1 -1
  44. package/dist/boilerplates/@batijs/hono/files/$package.json.js +1 -2
  45. package/dist/boilerplates/@batijs/kysely/bati.config.mjs +1 -1
  46. package/dist/boilerplates/@batijs/kysely/files/$package.json.js +1 -1
  47. package/dist/boilerplates/@batijs/kysely/files/$vite.config.ts.js +20 -0
  48. package/dist/boilerplates/@batijs/kysely/files/asset-package.json.mjs +4 -2
  49. package/dist/boilerplates/@batijs/kysely/files/vite-plugin-input.ts +28 -0
  50. package/dist/boilerplates/@batijs/kysely/types/vite-plugin-input.d.mts +17 -0
  51. package/dist/boilerplates/@batijs/mantine/bati.config.mjs +1 -1
  52. package/dist/boilerplates/@batijs/netlify/bati.config.mjs +1 -1
  53. package/dist/boilerplates/@batijs/oxlint/bati.config.mjs +7 -4
  54. package/dist/boilerplates/@batijs/plausible.io/bati.config.mjs +1 -1
  55. package/dist/boilerplates/@batijs/pnpm/bati.config.mjs +1 -1
  56. package/dist/boilerplates/@batijs/pnpm/files/$pnpm-workspace.yaml.js +20 -13
  57. package/dist/boilerplates/@batijs/prettier/bati.config.mjs +1 -1
  58. package/dist/boilerplates/@batijs/prisma/bati.config.mjs +13 -1
  59. package/dist/boilerplates/@batijs/react/bati.config.mjs +1 -1
  60. package/dist/boilerplates/@batijs/react-sentry/bati.config.mjs +1 -1
  61. package/dist/boilerplates/@batijs/sentry/bati.config.mjs +13 -1
  62. package/dist/boilerplates/@batijs/shadcn-ui/bati.config.mjs +1 -1
  63. package/dist/boilerplates/@batijs/shadcn-ui/files/$package.json.js +2 -3
  64. package/dist/boilerplates/@batijs/shared/bati.config.mjs +1 -1
  65. package/dist/boilerplates/@batijs/shared/files/$.env.js +31 -0
  66. package/dist/boilerplates/@batijs/shared/files/$package.json.js +23 -0
  67. package/dist/boilerplates/@batijs/shared/files/asset-env.mjs +24 -0
  68. package/dist/boilerplates/@batijs/shared-db/bati.config.mjs +17 -4
  69. package/dist/boilerplates/@batijs/shared-server/bati.config.mjs +1 -1
  70. package/dist/boilerplates/@batijs/shared-todo/bati.config.mjs +1 -1
  71. package/dist/boilerplates/@batijs/solid/bati.config.mjs +1 -1
  72. package/dist/boilerplates/@batijs/solid-sentry/bati.config.mjs +1 -1
  73. package/dist/boilerplates/@batijs/sqlite/bati.config.mjs +1 -1
  74. package/dist/boilerplates/@batijs/sqlite/files/$package.json.js +2 -2
  75. package/dist/boilerplates/@batijs/storybook/bati.config.mjs +1 -1
  76. package/dist/boilerplates/@batijs/storybook/files/$package.json.js +9 -0
  77. package/dist/boilerplates/@batijs/storybook/files/asset-package.json.mjs +24 -0
  78. package/dist/boilerplates/@batijs/tailwindcss/bati.config.mjs +1 -1
  79. package/dist/boilerplates/@batijs/telefunc/bati.config.mjs +1 -1
  80. package/dist/boilerplates/@batijs/trpc/bati.config.mjs +1 -1
  81. package/dist/boilerplates/@batijs/ts-rest/bati.config.mjs +1 -1
  82. package/dist/boilerplates/@batijs/universal-deploy/bati.config.mjs +1 -1
  83. package/dist/boilerplates/@batijs/universal-deploy/files/$package.json.js +1 -1
  84. package/dist/boilerplates/@batijs/vercel/bati.config.mjs +1 -1
  85. package/dist/boilerplates/@batijs/vercel/files/$package.json.js +1 -1
  86. package/dist/boilerplates/@batijs/vue/bati.config.mjs +1 -1
  87. package/dist/boilerplates/@batijs/vue-sentry/bati.config.mjs +1 -1
  88. package/dist/boilerplates/@batijs/vue-sentry/files/$package.json.js +1 -1
  89. package/dist/boilerplates/boilerplates.json +14 -3
  90. package/dist/index.js +15 -7
  91. package/package.json +3 -3
  92. package/dist/boilerplates/@batijs/auth0/files/$.env.js +0 -17
  93. package/dist/boilerplates/@batijs/auth0/files/$wrangler.jsonc.js +0 -18
  94. package/dist/boilerplates/@batijs/drizzle/files/$.env.js +0 -10
  95. package/dist/boilerplates/@batijs/google-analytics/files/$.env.js +0 -11
  96. package/dist/boilerplates/@batijs/kysely/files/$.env.js +0 -10
  97. package/dist/boilerplates/@batijs/prisma/files/$.env.js +0 -15
  98. package/dist/boilerplates/@batijs/sentry/files/$.env.js +0 -13
  99. package/dist/boilerplates/@batijs/shared/files/package.json +0 -15
  100. package/dist/boilerplates/@batijs/sqlite/files/$.env.js +0 -10
  101. /package/dist/{asset-package.json-BdZNR8Cf.js → asset-package2.json-BdZNR8Cf.js} +0 -0
  102. /package/dist/{asset-package.json-CGHsBMPO.js → asset-package2.json-CGHsBMPO.js} +0 -0
  103. /package/dist/{asset-package.json-JaXo-ozU.js → asset-package2.json-JaXo-ozU.js} +0 -0
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,14 +3,15 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/eslint/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-CHD5b5fl.js").then((x) => x.default))).setScript("lint", {
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-Y6cFx6TQ.js").then((x) => x.default))).setScript("lint", {
7
7
  value: "eslint .",
8
8
  precedence: 0
9
9
  }).addDevDependencies([
10
10
  "eslint",
11
11
  "@eslint/js",
12
12
  "typescript-eslint",
13
- "globals"
13
+ "globals",
14
+ "jiti"
14
15
  ]).addDevDependencies(["eslint-plugin-prettier", "eslint-config-prettier"], props.meta.BATI.has("prettier")).addDevDependencies(["eslint-plugin-vue", "vue-eslint-parser"], props.meta.BATI.has("vue")).addDevDependencies(["eslint-plugin-react"], props.meta.BATI.has("react")).addDevDependencies(["eslint-plugin-solid"], props.meta.BATI.has("solid"));
15
16
  }
16
17
  //#endregion
@@ -23,6 +23,7 @@ var package_default = {
23
23
  "eslint-plugin-solid": "^0.14.5",
24
24
  "eslint-plugin-vue": "^10.9.1",
25
25
  "globals": "^17.6.0",
26
+ "jiti": "^2.6.1",
26
27
  "typescript-eslint": "^8.59.4",
27
28
  "vue-eslint-parser": "^10.4.0"
28
29
  },
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,10 +3,13 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/express/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-CDtoELCL.js").then((x) => x.default))).addDevDependencies(["@types/express"]).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-CDtoELCL.js").then((x) => x.default))).addDevDependencies([
7
+ "@types/express",
8
+ "@types/node",
9
+ "vite"
10
+ ]).addDependencies([
7
11
  "@vikejs/express",
8
12
  "express",
9
- "vite",
10
13
  "vike"
11
14
  ]).addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase);
12
15
  }
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,12 +3,11 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/fastify/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-BWBP2Nt4.js").then((x) => x.default))).addDevDependencies(["@types/node"]).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-BWBP2Nt4.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDependencies([
7
7
  "@vikejs/fastify",
8
8
  "fastify",
9
9
  "fastify-raw-body",
10
- "vike",
11
- "vite"
10
+ "vike"
12
11
  ]).addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase);
13
12
  }
14
13
  //#endregion
@@ -3,12 +3,22 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
10
- var bati_config_default = t({ if(meta) {
11
- return meta.BATI.has("google-analytics");
12
- } });
10
+ var bati_config_default = t({
11
+ if(meta) {
12
+ return meta.BATI.has("google-analytics");
13
+ },
14
+ env: () => [{
15
+ key: "PUBLIC_ENV__GOOGLE_ANALYTICS",
16
+ scope: "public",
17
+ default: "G-XXXXXXXXXX",
18
+ comment: `Google Analytics
19
+
20
+ See the documentation https://support.google.com/analytics/answer/9304153?hl=en#zippy=%2Cweb`
21
+ }]
22
+ });
13
23
  //#endregion
14
24
  export { bati_config_default as default };
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,10 +3,9 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/h3/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-s_vdtPYz.js").then((x) => x.default))).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-s_vdtPYz.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDependencies([
7
7
  "h3",
8
8
  "vike",
9
- "vite",
10
9
  "@vikejs/h3",
11
10
  "@universal-middleware/core"
12
11
  ]).addDependencies(["@auth/core"], props.meta.BATI.has("authjs") || props.meta.BATI.has("auth0")).addDependencies(["dotenv"], (props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) && !props.meta.BATI.has("cloudflare"));
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,10 +3,9 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/hono/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-D9HnGbn-.js").then((x) => x.default))).addDevDependencies(["@types/node"]).addDevDependencies(["@types/aws-lambda"], props.meta.BATI.has("aws")).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-D9HnGbn-.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDevDependencies(["@types/aws-lambda"], props.meta.BATI.has("aws")).addDependencies([
7
7
  "@vikejs/hono",
8
8
  "hono",
9
- "vite",
10
9
  "vike"
11
10
  ]).addDependencies(["dotenv"], (props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) && !props.meta.BATI.has("cloudflare"));
12
11
  }
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/kysely/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-WJvmKmkO.js").then((x) => x.default));
6
+ const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-BKz7RIOA.js").then((x) => x.default));
7
7
  if (props.meta.BATI.hasD1) return packageJson.addDependencies(["kysely", "kysely-d1"]);
8
8
  return packageJson.setScript("kysely:migrate", {
9
9
  value: "tsx ./database/kysely/migrate.ts",
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { addVitePlugin, loadAsMagicast } from "@batijs/core";
4
+ //#region ../../boilerplates/kysely/dist/files/$vite.config.ts.mjs
5
+ async function getViteConfig(props) {
6
+ if (props.meta.BATI.hasD1) return;
7
+ const mod = await loadAsMagicast(props);
8
+ addVitePlugin(mod, {
9
+ from: "./vite-plugin-input.js",
10
+ constructor: "inputPlugin",
11
+ imported: "inputPlugin",
12
+ options: {
13
+ name: "migrate",
14
+ entry: "database/kysely/migrate.ts"
15
+ }
16
+ });
17
+ return mod.generate().code;
18
+ }
19
+ //#endregion
20
+ export { getViteConfig as default };
@@ -30,14 +30,16 @@ var package_default = {
30
30
  "./database/kysely/migrate": { "types": "./dist/types/database/kysely/migrate.d.mts" },
31
31
  "./database/kysely/migrations/001_create_todos_table": { "types": "./dist/types/database/kysely/migrations/001_create_todos_table.d.mts" },
32
32
  "./database/kysely/queries/todos": { "types": "./dist/types/database/kysely/queries/todos.d.mts" },
33
- "./database/kysely/types": { "types": "./dist/types/database/kysely/types.d.mts" }
33
+ "./database/kysely/types": { "types": "./dist/types/database/kysely/types.d.mts" },
34
+ "./vite-plugin-input": { "types": "./dist/types/vite-plugin-input.d.mts" }
34
35
  },
35
36
  typesVersions: { "*": {
36
37
  "database/kysely/db": ["./dist/types/database/kysely/db.d.mts"],
37
38
  "database/kysely/migrate": ["./dist/types/database/kysely/migrate.d.mts"],
38
39
  "database/kysely/migrations/001_create_todos_table": ["./dist/types/database/kysely/migrations/001_create_todos_table.d.mts"],
39
40
  "database/kysely/queries/todos": ["./dist/types/database/kysely/queries/todos.d.mts"],
40
- "database/kysely/types": ["./dist/types/database/kysely/types.d.mts"]
41
+ "database/kysely/types": ["./dist/types/database/kysely/types.d.mts"],
42
+ "vite-plugin-input": ["./dist/types/vite-plugin-input.d.mts"]
41
43
  } },
42
44
  nx: { "tags": ["type:boilerplate"] }
43
45
  };
@@ -0,0 +1,28 @@
1
+ /*{ @if (!it.BATI.hasD1) }*/
2
+ import type { Plugin } from "vite";
3
+
4
+ /**
5
+ * Add entries to the ssr build step. Used to compile kysely migration scripts
6
+ */
7
+ export function inputPlugin({ name, entry, env = "ssr" }: { name: string; entry: string; env?: string }): Plugin {
8
+ return {
9
+ name: `input-plugin:${name}`,
10
+
11
+ config() {
12
+ return {
13
+ environments: {
14
+ [env]: {
15
+ build: {
16
+ rolldownOptions: {
17
+ input: {
18
+ [name]: entry,
19
+ },
20
+ },
21
+ },
22
+ },
23
+ },
24
+ };
25
+ },
26
+ };
27
+ }
28
+ /*{ /if }*/
@@ -0,0 +1,17 @@
1
+ import { Plugin } from "vite";
2
+
3
+ //#region files/vite-plugin-input.d.ts
4
+ /**
5
+ * Add entries to the ssr build step. Used to compile kysely migration scripts
6
+ */
7
+ declare function inputPlugin({
8
+ name,
9
+ entry,
10
+ env
11
+ }: {
12
+ name: string;
13
+ entry: string;
14
+ env?: string;
15
+ }): Plugin;
16
+ //#endregion
17
+ export { inputPlugin };
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,12 +3,15 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
10
- var bati_config_default = t({ if(meta) {
11
- return meta.BATI.has("oxlint");
12
- } });
10
+ var bati_config_default = t({
11
+ if(meta) {
12
+ return meta.BATI.has("oxlint");
13
+ },
14
+ knip: { ignoreDependencies: ["oxlint", "oxlint-tsgolint"] }
15
+ });
13
16
  //#endregion
14
17
  export { bati_config_default as default };
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -1,25 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { loadYaml } from "@batijs/core";
3
+ import { YAMLMap, loadYaml } from "@batijs/core";
4
4
  //#region ../../boilerplates/pnpm/dist/files/$pnpm-workspace.yaml.mjs
5
- const dependenciesApproveBuild = [
6
- "@biomejs/biome",
7
- "@sentry/cli",
8
- "@tailwindcss/oxide",
9
- "better-sqlite3",
10
- "esbuild",
11
- "sharp",
12
- "workerd"
13
- ];
5
+ const dependenciesApproveBuild = {
6
+ "@biomejs/biome": true,
7
+ "@sentry/cli": true,
8
+ "@tailwindcss/oxide": true,
9
+ "better-sqlite3": true,
10
+ esbuild: true,
11
+ sharp: true,
12
+ workerd: true,
13
+ tsx: ["esbuild"]
14
+ };
14
15
  function intersect(a, b) {
15
16
  return a.filter((x) => b.includes(x));
16
17
  }
17
18
  async function getPnpmWorkspace(props) {
18
- const intersection = intersect(dependenciesApproveBuild, [...Object.keys(props.packageJson.dependencies ?? {}), ...Object.keys(props.packageJson.devDependencies ?? {})]);
19
+ const deps = [...Object.keys(props.packageJson.dependencies ?? {}), ...Object.keys(props.packageJson.devDependencies ?? {})];
20
+ const intersection = intersect(Object.keys(dependenciesApproveBuild), deps);
19
21
  if (intersection.length === 0) return;
20
22
  const pnpmWorkspace = await loadYaml(props, { fallbackEmpty: true });
21
- if (!pnpmWorkspace.has("onlyBuiltDependencies")) pnpmWorkspace.set("onlyBuiltDependencies", []);
22
- for (const pack of intersection) pnpmWorkspace.addIn(["onlyBuiltDependencies"], pack);
23
+ let allowBuilds = pnpmWorkspace.get("allowBuilds", true);
24
+ if (!allowBuilds) {
25
+ allowBuilds = new YAMLMap();
26
+ pnpmWorkspace.set("allowBuilds", allowBuilds);
27
+ }
28
+ for (const pack of intersection) if (dependenciesApproveBuild[pack] === true) allowBuilds.set(pack, true);
29
+ else if (Array.isArray(dependenciesApproveBuild[pack])) for (const pack2 of dependenciesApproveBuild[pack]) allowBuilds.set(pack2, true);
23
30
  return pnpmWorkspace;
24
31
  }
25
32
  //#endregion
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -11,6 +11,18 @@ var bati_config_default = t({
11
11
  if(meta) {
12
12
  return meta.BATI.has("prisma");
13
13
  },
14
+ env: () => [{
15
+ key: "DATABASE_URL",
16
+ scope: "server-default",
17
+ default: "postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public",
18
+ comment: `Prisma
19
+
20
+ Environment variables declared in this file are automatically made available to Prisma.
21
+ See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema
22
+
23
+ Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB.
24
+ See the documentation for all the connection string options: https://pris.ly/d/connection-strings`
25
+ }],
14
26
  nextSteps(_meta, packageManager) {
15
27
  return [{
16
28
  type: "command",
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -11,6 +11,18 @@ var bati_config_default = t({
11
11
  if(meta) {
12
12
  return meta.BATI.has("sentry");
13
13
  },
14
+ env: () => [{
15
+ key: "SENTRY_DSN",
16
+ scope: "secret",
17
+ comment: "Sentry DSN. Used for Error Reporting on the Server",
18
+ devValueFrom: "TEST_SENTRY_DSN",
19
+ group: "sentry"
20
+ }, {
21
+ key: "PUBLIC_ENV__SENTRY_DSN",
22
+ scope: "public",
23
+ comment: "Sentry DSN. Used for Error Reporting in the Browser",
24
+ default: ""
25
+ }],
14
26
  nextSteps(_meta, _packageManager, { bold }) {
15
27
  return [{
16
28
  type: "text",
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts
@@ -12,9 +12,8 @@ async function getPackageJson(props) {
12
12
  "clsx",
13
13
  "tailwind-merge",
14
14
  "lucide-react",
15
- "@radix-ui/react-icons",
16
- "tw-animate-css"
17
- ]);
15
+ "@radix-ui/react-icons"
16
+ ]).addDevDependencies(["tw-animate-css"]);
18
17
  }
19
18
  //#endregion
20
19
  export { getPackageJson as default };
@@ -3,7 +3,7 @@ function e(e, t) {
3
3
  if (!e) throw Error(t);
4
4
  }
5
5
  function t(t) {
6
- return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), t;
6
+ return `enforce` in t && e(t.enforce === `pre` || t.enforce === `post`, `'enforce' must be 'pre' or 'post', was ${t.enforce}`), `if` in t && e(typeof t.if == `function`, `'if' must be a function`), `nextSteps` in t && e(typeof t.nextSteps == `function`, `'nextSteps' must be a function`), `knip` in t && (e(typeof t.knip == `object` && t.knip !== null, `'knip' must be an object`), `entry` in t.knip && e(Array.isArray(t.knip.entry), `'knip.entry' must be an array`), `ignoreDependencies` in t.knip && e(Array.isArray(t.knip.ignoreDependencies), `'knip.ignoreDependencies' must be an array`), `ignore` in t.knip && e(Array.isArray(t.knip.ignore), `'knip.ignore' must be an array`), `vite` in t.knip && e(typeof t.knip.vite == `boolean`, `'knip.vite' must be a boolean`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
7
  }
8
8
  //#endregion
9
9
  //#region bati.config.ts