@batijs/cli 0.0.628 → 0.0.630

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 (124) hide show
  1. package/dist/{asset-package.json-D0cKwgLg.js → asset-package.json-BI-447Lf.js} +1 -1
  2. package/dist/{asset-package.json-CmTiAAUv.js → asset-package.json-BKz7RIOA.js} +6 -4
  3. package/dist/{asset-package.json-VBbmoif1.js → asset-package.json-BWBP2Nt4.js} +1 -1
  4. package/dist/{asset-package.json-BNHJGRXk.js → asset-package.json-BpYtzVUp.js} +2 -2
  5. package/dist/{asset-package.json-B8NG_Kkb.js → asset-package.json-ByyswJWS.js} +1 -1
  6. package/dist/{asset-package.json-3NbkL6py.js → asset-package.json-CDtoELCL.js} +1 -1
  7. package/dist/{asset-package.json-BLckftcg.js → asset-package.json-CNxKHE48.js} +1 -1
  8. package/dist/{asset-package.json-CsN9zlLO.js → asset-package.json-CVDwQcJT.js} +1 -1
  9. package/dist/{asset-package.json-eEGm0dfW.js → asset-package.json-CZGfrRCF.js} +1 -1
  10. package/dist/{asset-package.json-CLTrw1Ua.js → asset-package.json-Ce3xlNdW.js} +1 -1
  11. package/dist/{asset-package.json-Bj9nQ_Ab.js → asset-package.json-CrS3d_nT.js} +5 -5
  12. package/dist/{asset-package.json-BGY4vOPv.js → asset-package.json-CtehZhRD.js} +3 -3
  13. package/dist/{asset-package.json-gNlQnlas.js → asset-package.json-Cx9SXQz5.js} +1 -1
  14. package/dist/{asset-package.json-muYa8Koc.js → asset-package.json-D9HnGbn-.js} +2 -2
  15. package/dist/asset-package.json-DKULIe-Z.js +26 -0
  16. package/dist/{asset-package.json-vjM_A-rS.js → asset-package.json-DoCvkWCH.js} +2 -2
  17. package/dist/asset-package.json-DoD27uYD.js +26 -0
  18. package/dist/{asset-package.json-DrYtYBR6.js → asset-package.json-DwayG2zN.js} +1 -1
  19. package/dist/{asset-package.json-CfaoboYz.js → asset-package.json-EFYfsuao.js} +1 -1
  20. package/dist/{asset-package.json-DmVEm5Da.js → asset-package.json-Y6cFx6TQ.js} +1 -0
  21. package/dist/{asset-package.json-DAafoD6p.js → asset-package.json-_46wnXn0.js} +2 -2
  22. package/dist/{asset-package.json-CVKLgil6.js → asset-package.json-bQWZqYy0.js} +1 -1
  23. package/dist/{asset-package.json-skHR2fAh.js → asset-package.json-f63TVKbb.js} +1 -1
  24. package/dist/{asset-package.json-B7-IRLpM.js → asset-package.json-s_vdtPYz.js} +1 -1
  25. package/dist/{asset-package2.json-D1EUrGTO.js → asset-package2.json-CBe-SDVa.js} +1 -1
  26. package/dist/{asset-package.json-tZyQL5aE.js → asset-package2.json-CGHsBMPO.js} +1 -1
  27. package/dist/{asset-package.json-DXUU3ibP.js → asset-package2.json-JaXo-ozU.js} +1 -1
  28. package/dist/boilerplates/@batijs/authjs/files/$package.json.js +1 -1
  29. package/dist/boilerplates/@batijs/aws/files/$package.json.js +2 -2
  30. package/dist/boilerplates/@batijs/aws/files/asset-package.json.mjs +5 -5
  31. package/dist/boilerplates/@batijs/biome/files/$package.json.js +1 -1
  32. package/dist/boilerplates/@batijs/cloudflare/files/$package.json.js +1 -1
  33. package/dist/boilerplates/@batijs/cloudflare/files/asset-package.json.mjs +2 -2
  34. package/dist/boilerplates/@batijs/compiled/files/$package.json.js +1 -1
  35. package/dist/boilerplates/@batijs/compiled/files/asset-package.json.mjs +1 -1
  36. package/dist/boilerplates/@batijs/d1/files/$package.json.js +1 -1
  37. package/dist/boilerplates/@batijs/d1/files/asset-package.json.mjs +1 -1
  38. package/dist/boilerplates/@batijs/d1-kysely/files/$package.json.js +1 -1
  39. package/dist/boilerplates/@batijs/d1-sqlite/files/$package.json.js +1 -1
  40. package/dist/boilerplates/@batijs/docker-compose/bati.config.mjs +17 -0
  41. package/dist/boilerplates/@batijs/docker-compose/files/$.dockerignore.js +19 -0
  42. package/dist/boilerplates/@batijs/docker-compose/files/$Dockerfile.js +81 -0
  43. package/dist/boilerplates/@batijs/docker-compose/files/docker-compose.yml +28 -0
  44. package/dist/boilerplates/@batijs/dokploy/bati.config.mjs +23 -0
  45. package/dist/boilerplates/@batijs/dokploy/files/$TODO.md.js +28 -0
  46. package/dist/boilerplates/@batijs/dokploy/files/$package.json.js +13 -0
  47. package/dist/boilerplates/@batijs/dokploy/files/asset-package.json.mjs +24 -0
  48. package/dist/boilerplates/@batijs/drizzle/files/$package.json.js +1 -1
  49. package/dist/boilerplates/@batijs/edgeone/files/$package.json.js +1 -1
  50. package/dist/boilerplates/@batijs/eslint/files/$package.json.js +3 -2
  51. package/dist/boilerplates/@batijs/eslint/files/asset-package.json.mjs +1 -0
  52. package/dist/boilerplates/@batijs/express/files/$package.json.js +5 -2
  53. package/dist/boilerplates/@batijs/express/files/asset-package.json.mjs +1 -1
  54. package/dist/boilerplates/@batijs/fastify/files/$package.json.js +2 -3
  55. package/dist/boilerplates/@batijs/fastify/files/asset-package.json.mjs +1 -1
  56. package/dist/boilerplates/@batijs/h3/files/$package.json.js +1 -2
  57. package/dist/boilerplates/@batijs/h3/files/asset-package.json.mjs +1 -1
  58. package/dist/boilerplates/@batijs/hono/files/$package.json.js +1 -2
  59. package/dist/boilerplates/@batijs/hono/files/asset-package.json.mjs +2 -2
  60. package/dist/boilerplates/@batijs/kysely/files/$package.json.js +1 -1
  61. package/dist/boilerplates/@batijs/kysely/files/$vite.config.ts.js +20 -0
  62. package/dist/boilerplates/@batijs/kysely/files/asset-package.json.mjs +6 -4
  63. package/dist/boilerplates/@batijs/kysely/files/vite-plugin-input.ts +28 -0
  64. package/dist/boilerplates/@batijs/kysely/types/vite-plugin-input.d.mts +17 -0
  65. package/dist/boilerplates/@batijs/mantine/files/$package.json.js +1 -1
  66. package/dist/boilerplates/@batijs/mantine/files/asset-package.json.mjs +3 -3
  67. package/dist/boilerplates/@batijs/netlify/files/$package.json.js +1 -1
  68. package/dist/boilerplates/@batijs/oxlint/bati.config.mjs +6 -3
  69. package/dist/boilerplates/@batijs/oxlint/files/$package.json.js +1 -1
  70. package/dist/boilerplates/@batijs/oxlint/files/asset-package.json.mjs +1 -1
  71. package/dist/boilerplates/@batijs/pnpm/files/$pnpm-workspace.yaml.js +20 -13
  72. package/dist/boilerplates/@batijs/prettier/files/$package.json.js +1 -1
  73. package/dist/boilerplates/@batijs/prisma/files/$package.json.js +1 -1
  74. package/dist/boilerplates/@batijs/react/files/$package.json.js +1 -1
  75. package/dist/boilerplates/@batijs/react/files/asset-package.json.mjs +2 -2
  76. package/dist/boilerplates/@batijs/react-sentry/files/$package.json.js +1 -1
  77. package/dist/boilerplates/@batijs/react-sentry/files/asset-package.json.mjs +2 -2
  78. package/dist/boilerplates/@batijs/sentry/files/$package.json.js +1 -1
  79. package/dist/boilerplates/@batijs/sentry/files/asset-package.json.mjs +1 -1
  80. package/dist/boilerplates/@batijs/shadcn-ui/files/$package.json.js +3 -4
  81. package/dist/boilerplates/@batijs/shared/files/$package.json.js +23 -0
  82. package/dist/boilerplates/@batijs/shared-server/files/$package.json.js +1 -1
  83. package/dist/boilerplates/@batijs/shared-server/files/asset-package.json.mjs +1 -1
  84. package/dist/boilerplates/@batijs/solid/files/$package.json.js +1 -1
  85. package/dist/boilerplates/@batijs/solid/files/asset-package.json.mjs +1 -1
  86. package/dist/boilerplates/@batijs/solid-sentry/files/$package.json.js +1 -1
  87. package/dist/boilerplates/@batijs/solid-sentry/files/asset-package.json.mjs +1 -1
  88. package/dist/boilerplates/@batijs/sqlite/files/$package.json.js +3 -3
  89. package/dist/boilerplates/@batijs/sqlite/files/asset-package.json.mjs +1 -1
  90. package/dist/boilerplates/@batijs/storybook/files/$package.json.js +9 -0
  91. package/dist/boilerplates/@batijs/storybook/files/asset-package.json.mjs +24 -0
  92. package/dist/boilerplates/@batijs/tailwindcss/files/$package.json.js +1 -1
  93. package/dist/boilerplates/@batijs/tailwindcss/files/asset-package.json.mjs +1 -1
  94. package/dist/boilerplates/@batijs/telefunc/files/$package.json.js +1 -1
  95. package/dist/boilerplates/@batijs/telefunc/files/asset-package.json.mjs +1 -1
  96. package/dist/boilerplates/@batijs/trpc/files/$package.json.js +1 -1
  97. package/dist/boilerplates/@batijs/trpc/files/asset-package.json.mjs +1 -1
  98. package/dist/boilerplates/@batijs/ts-rest/files/$package.json.js +1 -1
  99. package/dist/boilerplates/@batijs/universal-deploy/files/$package.json.js +1 -1
  100. package/dist/boilerplates/@batijs/vercel/files/$package.json.js +1 -1
  101. package/dist/boilerplates/@batijs/vercel/files/asset-package.json.mjs +1 -1
  102. package/dist/boilerplates/@batijs/vue/files/$package.json.js +1 -1
  103. package/dist/boilerplates/@batijs/vue/files/asset-package.json.mjs +1 -1
  104. package/dist/boilerplates/@batijs/vue/types/node_modules/.pnpm/{vike-vue@0.9.11_@emnapi+core@1.10.0_@emnapi+runtime@1.10.0_vike@0.4.259_@cloudflare+wor_1ea77c4150b7f94710924f6716d021aa → vike-vue@0.9.11_@emnapi+core@1.10.0_@emnapi+runtime@1.10.0_vike@0.4.259_@cloudflare+wor_b1aa379fdc40687889ee6b09fc0f5338}/node_modules/vike-vue/dist/types/VikeHooks.d.mts +1 -1
  105. package/dist/boilerplates/@batijs/vue/types/pages/+onCreateApp.d.mts +1 -1
  106. package/dist/boilerplates/@batijs/vue-sentry/files/$package.json.js +1 -1
  107. package/dist/boilerplates/@batijs/vue-sentry/files/asset-package.json.mjs +1 -1
  108. package/dist/boilerplates/boilerplates.json +13 -0
  109. package/dist/index.js +10 -8
  110. package/package.json +4 -4
  111. package/dist/boilerplates/@batijs/shared/files/package.json +0 -15
  112. /package/dist/{asset-package.json-CUwXUL3w.js → asset-package.json-1rjGQ0pD.js} +0 -0
  113. /package/dist/{asset-package.json-kq-Ep7__.js → asset-package.json-BdZNR8Cf.js} +0 -0
  114. /package/dist/{asset-package.json-DpS4Q2Qd.js → asset-package.json-Buap0IPy.js} +0 -0
  115. /package/dist/{asset-package.json-DtJYj0N2.js → asset-package.json-C-4KYYPE.js} +0 -0
  116. /package/dist/{asset-package.json-ByK6ERC5.js → asset-package.json-C8HDeufh.js} +0 -0
  117. /package/dist/{asset-package.json-LtmqU-uf.js → asset-package.json-DO3v_Kz2.js} +0 -0
  118. /package/dist/{asset-package.json-CVBkaJWq.js → asset-package.json-DSiZMeZh.js} +0 -0
  119. /package/dist/{asset-package.json-CAwLskjc.js → asset-package.json-Ddsv5ylk.js} +0 -0
  120. /package/dist/{asset-package.json-dv-UDsgA.js → asset-package.json-DnspyDBy.js} +0 -0
  121. /package/dist/{asset-package.json-Cv-dYwQv.js → asset-package.json-DoZ5D9Nf.js} +0 -0
  122. /package/dist/{asset-package.json-BqAQ04jd.js → asset-package.json-DpL_QsSj.js} +0 -0
  123. /package/dist/{asset-package.json-B4mNaeSL.js → asset-package.json-W0eT5YjJ.js} +0 -0
  124. /package/dist/boilerplates/@batijs/vue/types/node_modules/.pnpm/{vike-vue@0.9.11_@emnapi+core@1.10.0_@emnapi+runtime@1.10.0_vike@0.4.259_@cloudflare+wor_1ea77c4150b7f94710924f6716d021aa → vike-vue@0.9.11_@emnapi+core@1.10.0_@emnapi+runtime@1.10.0_vike@0.4.259_@cloudflare+wor_b1aa379fdc40687889ee6b09fc0f5338}/node_modules/vike-vue/dist/types/public.d.mts +0 -0
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { dockerPackageManager, dockerfile, packageManager } from "@batijs/core";
4
+ //#region ../../boilerplates/docker-compose/dist/files/$Dockerfile.mjs
5
+ async function getDockerfile(props) {
6
+ const { meta } = props;
7
+ let pm = packageManager();
8
+ const deps = Object.keys({
9
+ ...props.packageJson.dependencies,
10
+ ...props.packageJson.devDependencies
11
+ });
12
+ if (pm.name === "bun" && deps.includes("better-sqlite3")) pm = {
13
+ name: "npm",
14
+ run: "npm run",
15
+ exec: "npx"
16
+ };
17
+ const nodeCli = pm.name === "bun" ? "bun" : "node";
18
+ const run = pm.run;
19
+ const config = dockerPackageManager(pm.name, { frozenLockfile: !meta.BATI_TEST });
20
+ const startupMigrations = [];
21
+ const migrationCopies = [];
22
+ if (meta.BATI.has("sqlite")) {
23
+ startupMigrations.push(`${run} sqlite:migrate`);
24
+ migrationCopies.push({
25
+ sources: ["/app/database/sqlite"],
26
+ dest: "./database/sqlite",
27
+ from: "builder"
28
+ });
29
+ }
30
+ if (meta.BATI.has("drizzle")) {
31
+ startupMigrations.push(`${run} drizzle:migrate`);
32
+ migrationCopies.push({
33
+ sources: ["/app/database/migrations"],
34
+ dest: "./database/migrations",
35
+ from: "deps-dev"
36
+ });
37
+ migrationCopies.push({
38
+ sources: ["/app/drizzle.config.ts"],
39
+ dest: "./drizzle.config.ts",
40
+ from: "builder"
41
+ });
42
+ }
43
+ if (meta.BATI.has("kysely")) {
44
+ startupMigrations.push(`${nodeCli} ./dist/server/migrate.mjs`);
45
+ migrationCopies.push({
46
+ sources: ["/app/database/kysely/migrations"],
47
+ dest: "./dist/server/migrations",
48
+ from: "builder"
49
+ });
50
+ }
51
+ const startCmd = startupMigrations.length > 0 ? [
52
+ "sh",
53
+ "-c",
54
+ [...startupMigrations, `${nodeCli} ./dist/server/index.mjs`].join(" && ")
55
+ ] : [nodeCli, "./dist/server/index.mjs"];
56
+ const installSources = ["package.json", ...config.lockfiles];
57
+ return `${dockerfile().from(config.image, {
58
+ as: "deps-dev",
59
+ comment: "install all dependencies (devDeps + deps) for build & migrations"
60
+ }).workdir("/app").when(config.corepack, (b) => b.run("corepack enable")).copy(["."], ".").run(config.install).when(meta.BATI.has("drizzle"), (b) => b.env({ DATABASE_URL: "/app/database/sqlite.db" }).run(`${run} drizzle:generate`)).from(config.image, {
61
+ as: "deps-prod",
62
+ comment: "install production-only dependencies for the runtime image"
63
+ }).workdir("/app").when(config.corepack, (b) => b.run("corepack enable")).copy(installSources, "./").run(config.installProd).from(config.image, {
64
+ as: "builder",
65
+ comment: "build the application"
66
+ }).workdir("/app").when(config.corepack, (b) => b.run("corepack enable")).copy(["/app/node_modules"], "./node_modules", { from: "deps-dev" }).copy(["."], ".").run(`${run} build`).from(config.image, {
67
+ as: "runner",
68
+ comment: "production runtime image"
69
+ }).workdir("/app").env({
70
+ NODE_ENV: "production",
71
+ PORT: "3000"
72
+ }).when(!meta.BATI.hasD1 && meta.BATI.hasDatabase, (b) => b.env({ DATABASE_URL: "/app/database/sqlite.db" }, { comment: "non-D1 database" })).when(meta.BATI.has("auth0"), (b) => b.env({
73
+ AUTH0_CLIENT_ID: "",
74
+ AUTH0_CLIENT_SECRET: "",
75
+ AUTH0_ISSUER_BASE_URL: ""
76
+ }, { comment: "auth0" })).when(meta.BATI.has("sentry"), (b) => b.env({ SENTRY_DSN: "" }, { comment: "sentry" })).when(config.corepack, (b) => b.run("corepack enable")).copy(installSources, "./").copy(["/app/node_modules"], "./node_modules", { from: "deps-prod" }).copy(["/app/dist"], "./dist", { from: "builder" }).pipe((b) => {
77
+ for (const { sources, dest, from } of migrationCopies) b.copy(sources, dest, { from });
78
+ }).expose(3e3).cmd(startCmd).build()}\n`;
79
+ }
80
+ //#endregion
81
+ export { getDockerfile as default };
@@ -0,0 +1,28 @@
1
+ services:
2
+ app:
3
+ build:
4
+ context: .
5
+ dockerfile: Dockerfile
6
+ ports:
7
+ - "${PORT:-3000}:3000"
8
+ environment:
9
+ - NODE_ENV=production
10
+ - PORT=3000
11
+ # !BATI.hasD1 && BATI.hasDatabase
12
+ - DATABASE_URL=${DATABASE_URL:-/app/data/db.sqlite}
13
+ # BATI.has("auth0")
14
+ - AUTH0_CLIENT_ID=${AUTH0_CLIENT_ID}
15
+ # BATI.has("auth0")
16
+ - AUTH0_CLIENT_SECRET=${AUTH0_CLIENT_SECRET}
17
+ # BATI.has("auth0")
18
+ - AUTH0_ISSUER_BASE_URL=${AUTH0_ISSUER_BASE_URL}
19
+ # BATI.has("sentry")
20
+ - SENTRY_DSN=${SENTRY_DSN}
21
+ # BATI.hasDatabase
22
+ volumes:
23
+ - sqlite_data:/app/data
24
+ restart: unless-stopped
25
+
26
+ # BATI.hasDatabase
27
+ volumes:
28
+ sqlite_data:
@@ -0,0 +1,23 @@
1
+ //#region ../../packages/core/dist/config.js
2
+ function e(e, t) {
3
+ if (!e) throw Error(t);
4
+ }
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;
7
+ }
8
+ //#endregion
9
+ //#region bati.config.ts
10
+ var bati_config_default = t({
11
+ if(meta) {
12
+ return meta.BATI.has("dokploy");
13
+ },
14
+ nextSteps(_meta, _packageManager, { bold }) {
15
+ return [{
16
+ type: "text",
17
+ step: `${bold("dokploy")}: Check ${bold("TODO.md")} for remaining steps.`
18
+ }];
19
+ },
20
+ enforce: "post"
21
+ });
22
+ //#endregion
23
+ export { bati_config_default as default };
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { loadMarkdown } from "@batijs/core";
4
+ //#region ../../boilerplates/dokploy/dist/files/$TODO.md.mjs
5
+ async function getTodo(props) {
6
+ const content = await loadMarkdown(props);
7
+ content.addMarkdownFeature(`
8
+ ## Dokploy
9
+
10
+ 1. **Push your repository** to a Git provider (GitHub, GitLab, Bitbucket, etc.)
11
+
12
+ 2. **Install Dokploy** on your VPS if you haven't already:
13
+ \`\`\`sh
14
+ curl -sSL https://dokploy.com/install.sh | sudo sh
15
+ \`\`\`
16
+
17
+ 3. **Open Dokploy** at \`http://<your-server-ip>:3000\` and complete the initial setup.
18
+
19
+ 4. **Create a new application** in the Dokploy dashboard and connect it to your repository.
20
+
21
+ 5. **Deploy** — Dokploy will use the \`docker-compose.yml\` at the root of your repository to build and start your application.
22
+
23
+ See also: https://docs.dokploy.com
24
+ `, "dokploy");
25
+ return content;
26
+ }
27
+ //#endregion
28
+ export { getTodo as default };
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { loadPackageJson } from "@batijs/core";
4
+ //#region ../../boilerplates/dokploy/dist/files/$package.json.mjs
5
+ async function getPackageJson(props) {
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-DoD27uYD.js").then((x) => x.default))).setScript("prod", {
7
+ value: "docker compose up -d --build",
8
+ precedence: 25,
9
+ warnIfReplaced: true
10
+ });
11
+ }
12
+ //#endregion
13
+ export { getPackageJson as default };
@@ -0,0 +1,24 @@
1
+ //#region package.json
2
+ var package_default = {
3
+ name: "@batijs/dokploy",
4
+ "private": true,
5
+ version: "0.0.1",
6
+ description: "",
7
+ type: "module",
8
+ scripts: {
9
+ "check-types": "tsc --noEmit",
10
+ "build": "bati-compile-boilerplate"
11
+ },
12
+ keywords: [],
13
+ author: "",
14
+ license: "MIT",
15
+ devDependencies: {
16
+ "@batijs/compile": "workspace:*",
17
+ "@batijs/core": "workspace:",
18
+ "@types/node": "^20.19.37"
19
+ },
20
+ nx: { "tags": ["type:boilerplate"] },
21
+ files: ["dist/"]
22
+ };
23
+ //#endregion
24
+ export { package_default as default };
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/drizzle/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-B4mNaeSL.js").then((x) => x.default))).setScript("drizzle:generate", {
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-W0eT5YjJ.js").then((x) => x.default))).setScript("drizzle:generate", {
7
7
  value: "drizzle-kit generate",
8
8
  precedence: 20
9
9
  }).setScript("drizzle:migrate", {
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/edgeone/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-BqAQ04jd.js").then((x) => x.default))).addDevDependencies(["@edgeone/vite"]);
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-DpL_QsSj.js").then((x) => x.default))).addDevDependencies(["@edgeone/vite"]);
7
7
  }
8
8
  //#endregion
9
9
  export { getPackageJson as default };
@@ -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-DmVEm5Da.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,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-3NbkL6py.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
  }
@@ -24,7 +24,7 @@ var package_default = {
24
24
  "express": "^5.2.1",
25
25
  "telefunc": "^0.2.20",
26
26
  "vike": "0.4.259",
27
- "vite": "^8.0.13"
27
+ "vite": "^8.0.14"
28
28
  },
29
29
  files: ["dist/"],
30
30
  exports: { "./+server": { "types": "./dist/types/+server.d.mts" } },
@@ -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-VBbmoif1.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
@@ -25,7 +25,7 @@ var package_default = {
25
25
  "fastify-raw-body": "^5.0.0",
26
26
  "telefunc": "^0.2.20",
27
27
  "vike": "0.4.259",
28
- "vite": "^8.0.13"
28
+ "vite": "^8.0.14"
29
29
  },
30
30
  files: ["dist/"],
31
31
  exports: { "./+server": { "types": "./dist/types/+server.d.mts" } },
@@ -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-B7-IRLpM.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"));
@@ -25,7 +25,7 @@ var package_default = {
25
25
  "h3": "~1.15.11",
26
26
  "telefunc": "^0.2.20",
27
27
  "vike": "0.4.259",
28
- "vite": "^8.0.13"
28
+ "vite": "^8.0.14"
29
29
  },
30
30
  files: ["dist/"],
31
31
  exports: { "./+server": { "types": "./dist/types/+server.d.mts" } },
@@ -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-muYa8Koc.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
  }
@@ -21,10 +21,10 @@ var package_default = {
21
21
  "@types/node": "^20.19.37",
22
22
  "@vikejs/hono": "^0.2.0",
23
23
  "dotenv": "^17.4.2",
24
- "hono": "^4.12.19",
24
+ "hono": "^4.12.23",
25
25
  "telefunc": "^0.2.20",
26
26
  "vike": "0.4.259",
27
- "vite": "^8.0.13"
27
+ "vite": "^8.0.14"
28
28
  },
29
29
  files: ["dist/"],
30
30
  exports: {
@@ -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-CmTiAAUv.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 };
@@ -15,14 +15,14 @@ var package_default = {
15
15
  devDependencies: {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:",
18
- "@cloudflare/workers-types": "^4.20260519.1",
18
+ "@cloudflare/workers-types": "^4.20260525.1",
19
19
  "@types/better-sqlite3": "^7.6.13",
20
20
  "@types/node": "^20.19.37",
21
21
  "better-sqlite3": "^12.10.0",
22
22
  "dotenv": "^17.4.2",
23
23
  "kysely": "^0.29.2",
24
24
  "kysely-d1": "^0.4.0",
25
- "tsx": "^4.22.2"
25
+ "tsx": "^4.22.3"
26
26
  },
27
27
  files: ["dist/"],
28
28
  exports: {
@@ -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 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/mantine/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-BGY4vOPv.js").then((x) => x.default))).addDevDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-CtehZhRD.js").then((x) => x.default))).addDevDependencies([
7
7
  "postcss",
8
8
  "postcss-preset-mantine",
9
9
  "postcss-simple-vars"
@@ -18,15 +18,15 @@ var package_default = {
18
18
  "@mantine/core": "^9.2.1",
19
19
  "@mantine/hooks": "^9.2.1",
20
20
  "@types/node": "^20.19.37",
21
- "@types/react": "^19.2.14",
21
+ "@types/react": "^19.2.15",
22
22
  "@types/react-dom": "^19.2.3",
23
- "postcss": "^8.5.14",
23
+ "postcss": "^8.5.15",
24
24
  "postcss-preset-mantine": "^1.18.0",
25
25
  "postcss-simple-vars": "^7.0.1",
26
26
  "react": "^19.2.6",
27
27
  "react-dom": "^19.2.6",
28
28
  "vike-react": "^0.6.23",
29
- "vite": "^8.0.13",
29
+ "vite": "^8.0.14",
30
30
  "vite-plugin-compiled-react": "^1.3.1"
31
31
  },
32
32
  files: ["dist/"],
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/netlify/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-LtmqU-uf.js").then((x) => x.default))).addDevDependencies(["@netlify/vite-plugin"]);
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-DO3v_Kz2.js").then((x) => x.default))).addDevDependencies(["@netlify/vite-plugin"]);
7
7
  }
8
8
  //#endregion
9
9
  export { getPackageJson as default };
@@ -7,8 +7,11 @@ function t(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 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/oxlint/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-CVKLgil6.js").then((x) => x.default));
6
+ const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-bQWZqYy0.js").then((x) => x.default));
7
7
  const gitIgnore = props.meta.BATI_IS_CI || props.meta.BATI_SKIP_GIT ? "--ignore-path .gitignore " : "";
8
8
  return packageJson.setScript("lint", {
9
9
  value: `oxlint --type-aware ${gitIgnore}.`,
@@ -16,7 +16,7 @@ var package_default = {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:",
18
18
  "@types/node": "^20.19.37",
19
- "oxlint": "^1.65.0",
19
+ "oxlint": "^1.66.0",
20
20
  "oxlint-tsgolint": "^0.23.0"
21
21
  },
22
22
  files: ["dist/"],
@@ -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 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/prettier/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-DtJYj0N2.js").then((x) => x.default))).addDevDependencies(["prettier"]);
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-C-4KYYPE.js").then((x) => x.default))).addDevDependencies(["prettier"]);
7
7
  }
8
8
  //#endregion
9
9
  export { getPackageJson as default };
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/prisma/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-DpS4Q2Qd.js").then((x) => x.default))).setScript("prisma:studio", {
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-Buap0IPy.js").then((x) => x.default))).setScript("prisma:studio", {
7
7
  value: "prisma studio",
8
8
  precedence: 1
9
9
  }).setScript("prisma:generate", {
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/react/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-vjM_A-rS.js").then((x) => x.default))).addDevDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-DoCvkWCH.js").then((x) => x.default))).addDevDependencies([
7
7
  "vite",
8
8
  "@vitejs/plugin-react",
9
9
  "@types/react",