@batijs/cli 0.0.648 → 0.0.649

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 (50) hide show
  1. package/dist/{asset-package.json-wG-7DxN0.js → asset-package.json-2qBJNO7t.js} +1 -0
  2. package/dist/{asset-package.json-C2F4isEr.js → asset-package.json-9qjIK96w.js} +1 -1
  3. package/dist/{asset-package.json-CtCTaN5n.js → asset-package.json-CAXFrLbi.js} +1 -1
  4. package/dist/{asset-package.json-45oDzgS0.js → asset-package.json-CK8Focys.js} +1 -1
  5. package/dist/{asset-package.json-CDq-96lS.js → asset-package.json-Cr9kL--9.js} +1 -1
  6. package/dist/{asset-package.json-C4csvBBQ.js → asset-package.json-Dp8_jZlq.js} +1 -1
  7. package/dist/{asset-package.json-D0EjbpfM.js → asset-package.json-JX4l_iJo.js} +1 -1
  8. package/dist/{asset-package.json-DRdzE2Je.js → asset-package.json-Si0Lg6sw.js} +1 -1
  9. package/dist/{asset-package.json-DYpf4_Bg.js → asset-package.json-Wd5j3EKB.js} +1 -1
  10. package/dist/{asset-package.json-CJ6IZoCo.js → asset-package.json-sQTpc26W.js} +1 -1
  11. package/dist/boilerplates/@batijs/authjs/files/$package.json.js +1 -1
  12. package/dist/boilerplates/@batijs/authjs/files/asset-package.json.mjs +1 -0
  13. package/dist/boilerplates/@batijs/authjs/files/server/authjs-handler.ts +1 -8
  14. package/dist/boilerplates/@batijs/better-auth/files/$package.json.js +2 -2
  15. package/dist/boilerplates/@batijs/better-auth/files/asset-package.json.mjs +1 -1
  16. package/dist/boilerplates/@batijs/better-auth/files/database/better-auth/migrate.ts +1 -1
  17. package/dist/boilerplates/@batijs/better-auth/files/server/better-auth.ts +1 -7
  18. package/dist/boilerplates/@batijs/docker-compose/files/$Dockerfile.js +5 -0
  19. package/dist/boilerplates/@batijs/drizzle/files/$package.json.js +2 -6
  20. package/dist/boilerplates/@batijs/drizzle/files/asset-package.json.mjs +1 -1
  21. package/dist/boilerplates/@batijs/drizzle/files/drizzle.config.ts +1 -1
  22. package/dist/boilerplates/@batijs/elysia/files/$package.json.js +2 -2
  23. package/dist/boilerplates/@batijs/elysia/files/+server.ts +1 -1
  24. package/dist/boilerplates/@batijs/elysia/files/asset-package.json.mjs +1 -1
  25. package/dist/boilerplates/@batijs/express/files/$package.json.js +2 -2
  26. package/dist/boilerplates/@batijs/express/files/+server.ts +1 -1
  27. package/dist/boilerplates/@batijs/express/files/asset-package.json.mjs +1 -1
  28. package/dist/boilerplates/@batijs/fastify/files/$package.json.js +2 -2
  29. package/dist/boilerplates/@batijs/fastify/files/+server.ts +1 -1
  30. package/dist/boilerplates/@batijs/fastify/files/asset-package.json.mjs +1 -1
  31. package/dist/boilerplates/@batijs/hono/files/$package.json.js +2 -2
  32. package/dist/boilerplates/@batijs/hono/files/+server.ts +1 -1
  33. package/dist/boilerplates/@batijs/hono/files/asset-package.json.mjs +1 -1
  34. package/dist/boilerplates/@batijs/kysely/files/$package.json.js +2 -2
  35. package/dist/boilerplates/@batijs/kysely/files/asset-package.json.mjs +1 -1
  36. package/dist/boilerplates/@batijs/kysely/files/database/kysely/db.ts +1 -1
  37. package/dist/boilerplates/@batijs/postgres/files/$package.json.js +2 -2
  38. package/dist/boilerplates/@batijs/postgres/files/asset-package.json.mjs +1 -1
  39. package/dist/boilerplates/@batijs/postgres/files/database/postgres/schema/todos.ts +1 -1
  40. package/dist/boilerplates/@batijs/shared-env/bati.config.mjs +12 -0
  41. package/dist/boilerplates/@batijs/shared-env/files/server/env.ts +10 -0
  42. package/dist/boilerplates/@batijs/shared-env/files/server/load.ts +29 -0
  43. package/dist/boilerplates/@batijs/shared-env/types/server/env.d.mts +6 -0
  44. package/dist/boilerplates/@batijs/shared-env/types/server/load.d.mts +13 -0
  45. package/dist/boilerplates/@batijs/sqlite/files/$package.json.js +2 -2
  46. package/dist/boilerplates/@batijs/sqlite/files/asset-package.json.mjs +1 -1
  47. package/dist/boilerplates/@batijs/sqlite/files/database/sqlite/schema/todos.ts +1 -1
  48. package/dist/boilerplates/boilerplates.json +6 -0
  49. package/dist/index.js +1 -1
  50. package/package.json +5 -5
@@ -17,6 +17,7 @@ var package_default = {
17
17
  devDependencies: {
18
18
  "@batijs/compile": "workspace:*",
19
19
  "@batijs/core": "workspace:*",
20
+ "@batijs/shared-env": "workspace:*",
20
21
  "@types/node": "^20.19.37",
21
22
  "@universal-middleware/core": "^0.4.17"
22
23
  },
@@ -17,10 +17,10 @@ var package_default = {
17
17
  devDependencies: {
18
18
  "@batijs/compile": "workspace:*",
19
19
  "@batijs/core": "workspace:*",
20
+ "@batijs/shared-env": "workspace:*",
20
21
  "@types/better-sqlite3": "^7.6.13",
21
22
  "@types/node": "^20.19.37",
22
23
  "better-sqlite3": "^12.10.0",
23
- "dotenv": "^17.4.2",
24
24
  "drizzle-kit": "^0.31.10",
25
25
  "drizzle-orm": "^0.45.2",
26
26
  "postgres": "^3.4.9"
@@ -17,11 +17,11 @@ var package_default = {
17
17
  devDependencies: {
18
18
  "@batijs/compile": "workspace:*",
19
19
  "@batijs/core": "workspace:*",
20
+ "@batijs/shared-env": "workspace:*",
20
21
  "@cloudflare/workers-types": "^4.20260608.1",
21
22
  "@types/better-sqlite3": "^7.6.13",
22
23
  "@types/node": "^20.19.37",
23
24
  "better-sqlite3": "^12.10.0",
24
- "dotenv": "^17.4.2",
25
25
  "kysely": "^0.29.2",
26
26
  "kysely-d1": "^0.4.0",
27
27
  "kysely-postgres-js": "^3.0.0",
@@ -21,6 +21,7 @@ var package_default = {
21
21
  "@batijs/compile": "workspace:*",
22
22
  "@batijs/core": "workspace:*",
23
23
  "@batijs/shared-db": "workspace:*",
24
+ "@batijs/shared-env": "workspace:*",
24
25
  "@batijs/shared-server": "workspace:*",
25
26
  "@batijs/telefunc": "workspace:*",
26
27
  "@batijs/trpc": "workspace:*",
@@ -28,7 +29,6 @@ var package_default = {
28
29
  "@trpc/server": "^11.17.0",
29
30
  "@types/node": "^20.19.37",
30
31
  "@vikejs/elysia": "^0.2.0",
31
- "dotenv": "^17.4.2",
32
32
  "elysia": "^1.4.28",
33
33
  "telefunc": "^0.2.20",
34
34
  "vike": "0.4.259",
@@ -21,6 +21,7 @@ var package_default = {
21
21
  "@batijs/compile": "workspace:*",
22
22
  "@batijs/core": "workspace:*",
23
23
  "@batijs/shared-db": "workspace:*",
24
+ "@batijs/shared-env": "workspace:*",
24
25
  "@batijs/shared-server": "workspace:*",
25
26
  "@batijs/telefunc": "workspace:*",
26
27
  "@batijs/trpc": "workspace:*",
@@ -29,7 +30,6 @@ var package_default = {
29
30
  "@types/express": "^5.0.6",
30
31
  "@types/node": "^20.19.37",
31
32
  "@vikejs/express": "^0.2.2",
32
- "dotenv": "^17.4.2",
33
33
  "express": "^5.2.1",
34
34
  "telefunc": "^0.2.20",
35
35
  "vike": "0.4.259",
@@ -21,6 +21,7 @@ var package_default = {
21
21
  "@batijs/compile": "workspace:*",
22
22
  "@batijs/core": "workspace:*",
23
23
  "@batijs/shared-db": "workspace:*",
24
+ "@batijs/shared-env": "workspace:*",
24
25
  "@batijs/shared-server": "workspace:*",
25
26
  "@batijs/telefunc": "workspace:*",
26
27
  "@batijs/trpc": "workspace:*",
@@ -29,7 +30,6 @@ var package_default = {
29
30
  "@types/aws-lambda": "^8.10.162",
30
31
  "@types/node": "^20.19.37",
31
32
  "@vikejs/hono": "^0.2.0",
32
- "dotenv": "^17.4.2",
33
33
  "hono": "^4.12.23",
34
34
  "telefunc": "^0.2.20",
35
35
  "vike": "0.4.259",
@@ -18,12 +18,12 @@ var package_default = {
18
18
  "@batijs/compile": "workspace:*",
19
19
  "@batijs/core": "workspace:*",
20
20
  "@batijs/drizzle": "workspace:*",
21
+ "@batijs/shared-env": "workspace:*",
21
22
  "@types/better-sqlite3": "^7.6.13",
22
23
  "@types/node": "^20.19.37",
23
24
  "@universal-middleware/core": "^0.4.17",
24
25
  "better-sqlite3": "^12.10.0",
25
26
  "drizzle-orm": "^0.45.2",
26
- "dotenv": "^17.4.2",
27
27
  "kysely": "^0.29.2",
28
28
  "kysely-d1": "^0.4.0",
29
29
  "kysely-postgres-js": "^3.0.0",
@@ -21,6 +21,7 @@ var package_default = {
21
21
  "@batijs/compile": "workspace:*",
22
22
  "@batijs/core": "workspace:*",
23
23
  "@batijs/shared-db": "workspace:*",
24
+ "@batijs/shared-env": "workspace:*",
24
25
  "@batijs/shared-server": "workspace:*",
25
26
  "@batijs/telefunc": "workspace:*",
26
27
  "@batijs/trpc": "workspace:*",
@@ -29,7 +30,6 @@ var package_default = {
29
30
  "@types/express": "^5.0.6",
30
31
  "@types/node": "^20.19.37",
31
32
  "@vikejs/fastify": "^0.2.4",
32
- "dotenv": "^17.4.2",
33
33
  "fastify": "^5.8.5",
34
34
  "fastify-raw-body": "^5.0.0",
35
35
  "telefunc": "^0.2.20",
@@ -17,10 +17,10 @@ var package_default = {
17
17
  devDependencies: {
18
18
  "@batijs/compile": "workspace:*",
19
19
  "@batijs/core": "workspace:*",
20
+ "@batijs/shared-env": "workspace:*",
20
21
  "@types/better-sqlite3": "^7.6.13",
21
22
  "@types/node": "^20.19.37",
22
23
  "better-sqlite3": "^12.10.0",
23
- "dotenv": "^17.4.2",
24
24
  "tsx": "^4.22.4"
25
25
  },
26
26
  files: ["dist/"],
@@ -17,8 +17,8 @@ var package_default = {
17
17
  devDependencies: {
18
18
  "@batijs/compile": "workspace:*",
19
19
  "@batijs/core": "workspace:*",
20
+ "@batijs/shared-env": "workspace:*",
20
21
  "@types/node": "^20.19.37",
21
- "dotenv": "^17.4.2",
22
22
  "postgres": "^3.4.9",
23
23
  "tsx": "^4.22.4"
24
24
  },
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/authjs/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-wG-7DxN0.js").then((x) => x.default))).addDependencies(["@auth/core", "@universal-middleware/core"]);
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-2qBJNO7t.js").then((x) => x.default))).addDependencies(["@auth/core", "@universal-middleware/core"]);
7
7
  }
8
8
  //#endregion
9
9
  export { getPackageJson as default };
@@ -15,6 +15,7 @@ var package_default = {
15
15
  devDependencies: {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:*",
18
+ "@batijs/shared-env": "workspace:*",
18
19
  "@types/node": "^20.19.37",
19
20
  "@universal-middleware/core": "^0.4.17"
20
21
  },
@@ -1,17 +1,10 @@
1
- import { env as cloudflareEnv } from "cloudflare:workers";
2
1
  import { Auth, type AuthConfig, createActionURL, setEnvDefaults } from "@auth/core";
3
2
  import Auth0 from "@auth/core/providers/auth0";
4
3
  import CredentialsProvider from "@auth/core/providers/credentials";
5
4
  import type { Session } from "@auth/core/types";
5
+ import { env } from "@batijs/shared-env/server/env";
6
6
  import { enhance, type UniversalHandler, type UniversalMiddleware } from "@universal-middleware/core";
7
7
 
8
- //# BATI.has("auth0")
9
- const env: BATI.If<{ '!BATI.has("cloudflare")': Record<string, string | undefined> }> = BATI.has("cloudflare")
10
- ? (cloudflareEnv as BATI.Any)
11
- : typeof process?.env !== "undefined"
12
- ? process.env
13
- : {};
14
-
15
8
  const authjsConfig = {
16
9
  basePath: "/api/auth",
17
10
  trustHost: true,
@@ -3,7 +3,7 @@
3
3
  import { loadPackageJson, packageManager } from "@batijs/core";
4
4
  //#region ../../boilerplates/better-auth/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-D0EjbpfM.js").then((x) => x.default));
6
+ const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-JX4l_iJo.js").then((x) => x.default));
7
7
  const { BATI } = props.meta;
8
8
  packageJson.addDependencies(["better-auth", "@universal-middleware/core"]);
9
9
  if (BATI.has("drizzle")) return packageJson;
@@ -13,7 +13,7 @@ async function getPackageJson(props) {
13
13
  return packageJson.setScript("better-auth:migrate", {
14
14
  value: `${bunDirect ? "bun" : "tsx"} ./database/better-auth/migrate.ts`,
15
15
  precedence: 20
16
- }).addDevDependencies(["tsx"], ["better-auth:migrate"], !bunDirect).addDependencies(["dotenv"]).addDependencies([
16
+ }).addDevDependencies(["tsx"], ["better-auth:migrate"], !bunDirect).addDependencies([
17
17
  "postgres",
18
18
  "kysely",
19
19
  "kysely-postgres-js"
@@ -16,12 +16,12 @@ var package_default = {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:*",
18
18
  "@batijs/drizzle": "workspace:*",
19
+ "@batijs/shared-env": "workspace:*",
19
20
  "@types/better-sqlite3": "^7.6.13",
20
21
  "@types/node": "^20.19.37",
21
22
  "@universal-middleware/core": "^0.4.17",
22
23
  "better-sqlite3": "^12.10.0",
23
24
  "drizzle-orm": "^0.45.2",
24
- "dotenv": "^17.4.2",
25
25
  "kysely": "^0.29.2",
26
26
  "kysely-d1": "^0.4.0",
27
27
  "kysely-postgres-js": "^3.0.0",
@@ -1,6 +1,6 @@
1
1
  /*{ @if (!it.BATI.hasD1 && !it.BATI.has("drizzle")) }*/
2
2
 
3
- import "dotenv/config";
3
+ import "@batijs/shared-env/server/load";
4
4
  import { getMigrations } from "better-auth/db/migration";
5
5
  import { getAuthConfig } from "../../server/better-auth";
6
6
 
@@ -1,5 +1,5 @@
1
- import { env as cloudflareEnv } from "cloudflare:workers";
2
1
  import { dbD1, dbPostgres, dbSqlite } from "@batijs/drizzle/database/drizzle/db";
2
+ import { env } from "@batijs/shared-env/server/env";
3
3
  import type { RuntimeAdapter } from "@universal-middleware/core";
4
4
  import type { BetterAuthOptions } from "better-auth";
5
5
  import { drizzleAdapter } from "better-auth/adapters/drizzle";
@@ -10,12 +10,6 @@ import { PostgresJSDialect } from "kysely-postgres-js";
10
10
  import postgres from "postgres";
11
11
  import * as authSchema from "../database/drizzle/schema/auth";
12
12
 
13
- const env: BATI.If<{ '!BATI.has("cloudflare")': Record<string, string | undefined> }> = BATI.has("cloudflare")
14
- ? (cloudflareEnv as BATI.Any)
15
- : typeof process?.env !== "undefined"
16
- ? process.env
17
- : {};
18
-
19
13
  //# BATI.hasD1
20
14
  function getD1(runtime?: RuntimeAdapter): D1Database {
21
15
  if (runtime?.runtime === "workerd" && runtime.env) {
@@ -57,6 +57,11 @@ async function getDockerfile(props) {
57
57
  from: "builder"
58
58
  });
59
59
  }
60
+ if (meta.BATI.has("drizzle") || (meta.BATI.has("sqlite") || meta.BATI.has("postgres")) && !meta.BATI.hasOrm) migrationCopies.push({
61
+ sources: ["/app/server/load.ts"],
62
+ dest: "./server/load.ts",
63
+ from: "builder"
64
+ });
60
65
  const startCmd = startupMigrations.length > 0 ? [
61
66
  "sh",
62
67
  "-c",
@@ -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
- const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-C2F4isEr.js").then((x) => x.default));
6
+ const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-9qjIK96w.js").then((x) => x.default));
7
7
  const hasPostgres = props.meta.BATI.has("postgres");
8
8
  const hasSqliteEngine = !props.meta.BATI.hasD1 && !hasPostgres;
9
9
  return packageJson.setScript("drizzle:generate", {
@@ -15,11 +15,7 @@ async function getPackageJson(props) {
15
15
  }).setScript("drizzle:studio", {
16
16
  value: "drizzle-kit studio",
17
17
  precedence: 20
18
- }).addDependencies([
19
- "drizzle-kit",
20
- "drizzle-orm",
21
- "dotenv"
22
- ]).addDevDependencies(["@types/better-sqlite3"], hasSqliteEngine).addDependencies(["better-sqlite3"], hasSqliteEngine).addDependencies(["postgres"], hasPostgres);
18
+ }).addDependencies(["drizzle-kit", "drizzle-orm"]).addDevDependencies(["@types/better-sqlite3"], hasSqliteEngine).addDependencies(["better-sqlite3"], hasSqliteEngine).addDependencies(["postgres"], hasPostgres);
23
19
  }
24
20
  //#endregion
25
21
  export { getPackageJson as default };
@@ -15,10 +15,10 @@ var package_default = {
15
15
  devDependencies: {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:*",
18
+ "@batijs/shared-env": "workspace:*",
18
19
  "@types/better-sqlite3": "^7.6.13",
19
20
  "@types/node": "^20.19.37",
20
21
  "better-sqlite3": "^12.10.0",
21
- "dotenv": "^17.4.2",
22
22
  "drizzle-kit": "^0.31.10",
23
23
  "drizzle-orm": "^0.45.2",
24
24
  "postgres": "^3.4.9"
@@ -1,4 +1,4 @@
1
- import "dotenv/config";
1
+ import "@batijs/shared-env/server/load";
2
2
  import { defineConfig } from "drizzle-kit";
3
3
 
4
4
  if (!BATI.hasD1) {
@@ -3,11 +3,11 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/elysia/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-45oDzgS0.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-CK8Focys.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDependencies([
7
7
  "@vikejs/elysia",
8
8
  "elysia",
9
9
  "vike"
10
- ]).addDependencies(["dotenv"], (props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) && !props.meta.BATI.has("cloudflare"));
10
+ ]);
11
11
  }
12
12
  //#endregion
13
13
  export { getPackageJson as default };
@@ -1,5 +1,5 @@
1
1
  // (BATI.has("auth0") || BATI.hasDatabase) && !BATI.has("cloudflare")
2
- import "dotenv/config";
2
+ import "@batijs/shared-env/server/load";
3
3
  import type { Server } from "vike/types";
4
4
  import { app } from "./server/elysia";
5
5
 
@@ -19,6 +19,7 @@ var package_default = {
19
19
  "@batijs/compile": "workspace:*",
20
20
  "@batijs/core": "workspace:*",
21
21
  "@batijs/shared-db": "workspace:*",
22
+ "@batijs/shared-env": "workspace:*",
22
23
  "@batijs/shared-server": "workspace:*",
23
24
  "@batijs/telefunc": "workspace:*",
24
25
  "@batijs/trpc": "workspace:*",
@@ -26,7 +27,6 @@ var package_default = {
26
27
  "@trpc/server": "^11.17.0",
27
28
  "@types/node": "^20.19.37",
28
29
  "@vikejs/elysia": "^0.2.0",
29
- "dotenv": "^17.4.2",
30
30
  "elysia": "^1.4.28",
31
31
  "telefunc": "^0.2.20",
32
32
  "vike": "0.4.259",
@@ -3,7 +3,7 @@
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-CDq-96lS.js").then((x) => x.default))).addDevDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-Cr9kL--9.js").then((x) => x.default))).addDevDependencies([
7
7
  "@types/express",
8
8
  "@types/node",
9
9
  "vite"
@@ -11,7 +11,7 @@ async function getPackageJson(props) {
11
11
  "@vikejs/express",
12
12
  "express",
13
13
  "vike"
14
- ]).addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase);
14
+ ]);
15
15
  }
16
16
  //#endregion
17
17
  export { getPackageJson as default };
@@ -1,5 +1,5 @@
1
1
  // BATI.has("auth0") || BATI.hasDatabase
2
- import "dotenv/config";
2
+ import "@batijs/shared-env/server/load";
3
3
  import { authjsHandler, authjsSessionMiddleware } from "@batijs/authjs/server/authjs-handler";
4
4
  import { betterAuthHandler, betterAuthSessionMiddleware } from "@batijs/better-auth/server/better-auth-handler";
5
5
  import { dbMiddleware } from "@batijs/shared-db/server/db-middleware";
@@ -19,6 +19,7 @@ var package_default = {
19
19
  "@batijs/compile": "workspace:*",
20
20
  "@batijs/core": "workspace:*",
21
21
  "@batijs/shared-db": "workspace:*",
22
+ "@batijs/shared-env": "workspace:*",
22
23
  "@batijs/shared-server": "workspace:*",
23
24
  "@batijs/telefunc": "workspace:*",
24
25
  "@batijs/trpc": "workspace:*",
@@ -27,7 +28,6 @@ var package_default = {
27
28
  "@types/express": "^5.0.6",
28
29
  "@types/node": "^20.19.37",
29
30
  "@vikejs/express": "^0.2.2",
30
- "dotenv": "^17.4.2",
31
31
  "express": "^5.2.1",
32
32
  "telefunc": "^0.2.20",
33
33
  "vike": "0.4.259",
@@ -3,12 +3,12 @@
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-DRdzE2Je.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-Si0Lg6sw.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDependencies([
7
7
  "@vikejs/fastify",
8
8
  "fastify",
9
9
  "fastify-raw-body",
10
10
  "vike"
11
- ]).addDependencies(["dotenv"], props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase);
11
+ ]);
12
12
  }
13
13
  //#endregion
14
14
  export { getPackageJson as default };
@@ -1,5 +1,5 @@
1
1
  // BATI.has("auth0") || BATI.hasDatabase
2
- import "dotenv/config";
2
+ import "@batijs/shared-env/server/load";
3
3
  import { authjsHandler, authjsSessionMiddleware } from "@batijs/authjs/server/authjs-handler";
4
4
  import { betterAuthHandler, betterAuthSessionMiddleware } from "@batijs/better-auth/server/better-auth-handler";
5
5
  import { dbMiddleware } from "@batijs/shared-db/server/db-middleware";
@@ -19,6 +19,7 @@ var package_default = {
19
19
  "@batijs/compile": "workspace:*",
20
20
  "@batijs/core": "workspace:*",
21
21
  "@batijs/shared-db": "workspace:*",
22
+ "@batijs/shared-env": "workspace:*",
22
23
  "@batijs/shared-server": "workspace:*",
23
24
  "@batijs/telefunc": "workspace:*",
24
25
  "@batijs/trpc": "workspace:*",
@@ -27,7 +28,6 @@ var package_default = {
27
28
  "@types/express": "^5.0.6",
28
29
  "@types/node": "^20.19.37",
29
30
  "@vikejs/fastify": "^0.2.4",
30
- "dotenv": "^17.4.2",
31
31
  "fastify": "^5.8.5",
32
32
  "fastify-raw-body": "^5.0.0",
33
33
  "telefunc": "^0.2.20",
@@ -3,11 +3,11 @@
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-C4csvBBQ.js").then((x) => x.default))).addDevDependencies(["@types/node", "vite"]).addDevDependencies(["@types/aws-lambda"], props.meta.BATI.has("aws")).addDependencies([
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-Dp8_jZlq.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
9
  "vike"
10
- ]).addDependencies(["dotenv"], (props.meta.BATI.has("auth0") || props.meta.BATI.hasDatabase) && !props.meta.BATI.has("cloudflare"));
10
+ ]);
11
11
  }
12
12
  //#endregion
13
13
  export { getPackageJson as default };
@@ -1,5 +1,5 @@
1
1
  // (BATI.has("auth0") || BATI.hasDatabase) && !BATI.has("cloudflare")
2
- import "dotenv/config";
2
+ import "@batijs/shared-env/server/load";
3
3
  import type { Server } from "vike/types";
4
4
  import { app } from "./server/hono";
5
5
 
@@ -19,6 +19,7 @@ var package_default = {
19
19
  "@batijs/compile": "workspace:*",
20
20
  "@batijs/core": "workspace:*",
21
21
  "@batijs/shared-db": "workspace:*",
22
+ "@batijs/shared-env": "workspace:*",
22
23
  "@batijs/shared-server": "workspace:*",
23
24
  "@batijs/telefunc": "workspace:*",
24
25
  "@batijs/trpc": "workspace:*",
@@ -27,7 +28,6 @@ var package_default = {
27
28
  "@types/aws-lambda": "^8.10.162",
28
29
  "@types/node": "^20.19.37",
29
30
  "@vikejs/hono": "^0.2.0",
30
- "dotenv": "^17.4.2",
31
31
  "hono": "^4.12.23",
32
32
  "telefunc": "^0.2.20",
33
33
  "vike": "0.4.259",
@@ -3,14 +3,14 @@
3
3
  import { loadPackageJson, packageManager } 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-CtCTaN5n.js").then((x) => x.default));
6
+ const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-CAXFrLbi.js").then((x) => x.default));
7
7
  if (props.meta.BATI.hasD1) return packageJson.addDependencies(["kysely", "kysely-d1"]);
8
8
  const hasPostgres = props.meta.BATI.has("postgres");
9
9
  const bunDirect = packageManager().name === "bun" && hasPostgres;
10
10
  return packageJson.setScript("kysely:migrate", {
11
11
  value: `${bunDirect ? "bun" : "tsx"} ./database/kysely/migrate.ts`,
12
12
  precedence: 20
13
- }).addDevDependencies(["@types/better-sqlite3"], !hasPostgres).addDevDependencies(["tsx"], ["kysely:migrate"], !bunDirect).addDependencies(["dotenv", "kysely"]).addDependencies(["better-sqlite3"], !hasPostgres).addDependencies(["postgres", "kysely-postgres-js"], hasPostgres);
13
+ }).addDevDependencies(["@types/better-sqlite3"], !hasPostgres).addDevDependencies(["tsx"], ["kysely:migrate"], !bunDirect).addDependencies(["kysely"]).addDependencies(["better-sqlite3"], !hasPostgres).addDependencies(["postgres", "kysely-postgres-js"], hasPostgres);
14
14
  }
15
15
  //#endregion
16
16
  export { getPackageJson as default };
@@ -15,11 +15,11 @@ var package_default = {
15
15
  devDependencies: {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:*",
18
+ "@batijs/shared-env": "workspace:*",
18
19
  "@cloudflare/workers-types": "^4.20260608.1",
19
20
  "@types/better-sqlite3": "^7.6.13",
20
21
  "@types/node": "^20.19.37",
21
22
  "better-sqlite3": "^12.10.0",
22
- "dotenv": "^17.4.2",
23
23
  "kysely": "^0.29.2",
24
24
  "kysely-d1": "^0.4.0",
25
25
  "kysely-postgres-js": "^3.0.0",
@@ -1,7 +1,7 @@
1
1
  /*# BATI include-if-imported #*/
2
2
 
3
3
  //# !BATI.hasD1
4
- import "dotenv/config";
4
+ import "@batijs/shared-env/server/load";
5
5
  import SQLite from "better-sqlite3";
6
6
  import { Kysely, SqliteDialect } from "kysely";
7
7
  import { D1Dialect } from "kysely-d1";
@@ -3,12 +3,12 @@
3
3
  import { loadPackageJson, packageManager } from "@batijs/core";
4
4
  //#region ../../boilerplates/postgres/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-CJ6IZoCo.js").then((x) => x.default));
6
+ const packageJson = await loadPackageJson(props, await import("../../../../asset-package.json-sQTpc26W.js").then((x) => x.default));
7
7
  const bun = packageManager().name === "bun";
8
8
  packageJson.setScript("postgres:migrate", {
9
9
  value: `${bun ? "bun" : "tsx"} ./database/postgres/schema/all.ts`,
10
10
  precedence: 1
11
- }).addDependencies(["postgres", "dotenv"]).addDevDependencies(["tsx"], ["postgres:migrate"], !bun);
11
+ }).addDependencies(["postgres"]).addDevDependencies(["tsx"], ["postgres:migrate"], !bun);
12
12
  return packageJson;
13
13
  }
14
14
  //#endregion
@@ -15,8 +15,8 @@ var package_default = {
15
15
  devDependencies: {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:*",
18
+ "@batijs/shared-env": "workspace:*",
18
19
  "@types/node": "^20.19.37",
19
- "dotenv": "^17.4.2",
20
20
  "postgres": "^3.4.9",
21
21
  "tsx": "^4.22.4"
22
22
  },
@@ -1,5 +1,5 @@
1
1
  /*# BATI include-if-imported #*/
2
- import "dotenv/config";
2
+ import "@batijs/shared-env/server/load";
3
3
  import { db } from "../db";
4
4
 
5
5
  const sql = db();
@@ -0,0 +1,12 @@
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`)), `env` in t && e(typeof t.env == `function`, `'env' must be a function of meta`), t;
7
+ }
8
+ //#endregion
9
+ //#region bati.config.ts
10
+ var bati_config_default = t({ enforce: "pre" });
11
+ //#endregion
12
+ export { bati_config_default as default };
@@ -0,0 +1,10 @@
1
+ /*# BATI include-if-imported #*/
2
+ import { env as cloudflareEnv } from "cloudflare:workers";
3
+ //# !BATI.has("cloudflare")
4
+ import "./load.js";
5
+
6
+ export const env: BATI.If<{ '!BATI.has("cloudflare")': Record<string, string | undefined> }> = BATI.has("cloudflare")
7
+ ? (cloudflareEnv as BATI.Any)
8
+ : typeof process?.env !== "undefined"
9
+ ? process.env
10
+ : {};
@@ -0,0 +1,29 @@
1
+ /*# BATI include-if-imported #*/
2
+ import { readFileSync } from "node:fs";
3
+ import process from "node:process";
4
+ import { parseEnv } from "node:util";
5
+
6
+ /**
7
+ * Load a `.env` file into `process.env` using the runtime's native facilities — the dependency-free
8
+ * replacement for `dotenv/config`. Like dotenv (and `--env-file`), it does not override variables
9
+ * that are already set, so the ambient environment (shell / CI) keeps precedence.
10
+ *
11
+ * - Node / Deno: `process.loadEnvFile()` (native, since Node 20.12).
12
+ * - Bun: lacks `process.loadEnvFile` but auto-loads `.env` already; the `parseEnv` fallback then
13
+ * only fills in anything still missing.
14
+ */
15
+ export function loadEnv(file = ".env"): void {
16
+ try {
17
+ if (typeof process.loadEnvFile === "function") {
18
+ process.loadEnvFile(file);
19
+ } else {
20
+ for (const [key, value] of Object.entries(parseEnv(readFileSync(file, "utf8")))) {
21
+ process.env[key] ??= value;
22
+ }
23
+ }
24
+ } catch {
25
+ // `.env` is optional — fall back to the ambient environment.
26
+ }
27
+ }
28
+
29
+ loadEnv();
@@ -0,0 +1,6 @@
1
+ //#region files/server/env.d.ts
2
+ declare const env: BATI.If<{
3
+ '!BATI.has("cloudflare")': Record<string, string | undefined>;
4
+ }>;
5
+ //#endregion
6
+ export { env };
@@ -0,0 +1,13 @@
1
+ //#region files/server/load.d.ts
2
+ /**
3
+ * Load a `.env` file into `process.env` using the runtime's native facilities — the dependency-free
4
+ * replacement for `dotenv/config`. Like dotenv (and `--env-file`), it does not override variables
5
+ * that are already set, so the ambient environment (shell / CI) keeps precedence.
6
+ *
7
+ * - Node / Deno: `process.loadEnvFile()` (native, since Node 20.12).
8
+ * - Bun: lacks `process.loadEnvFile` but auto-loads `.env` already; the `parseEnv` fallback then
9
+ * only fills in anything still missing.
10
+ */
11
+ declare function loadEnv(file?: string): void;
12
+ //#endregion
13
+ export { loadEnv };
@@ -3,10 +3,10 @@
3
3
  import { loadPackageJson } from "@batijs/core";
4
4
  //#region ../../boilerplates/sqlite/dist/files/$package.json.mjs
5
5
  async function getPackageJson(props) {
6
- return (await loadPackageJson(props, await import("../../../../asset-package.json-DYpf4_Bg.js").then((x) => x.default))).setScript("sqlite:migrate", {
6
+ return (await loadPackageJson(props, await import("../../../../asset-package.json-Wd5j3EKB.js").then((x) => x.default))).setScript("sqlite:migrate", {
7
7
  value: `tsx ./database/sqlite/schema/all.ts`,
8
8
  precedence: 1
9
- }).addDevDependencies(["@types/better-sqlite3"]).addDependencies(["better-sqlite3"]).addDevDependencies(["tsx"], ["sqlite:migrate"]).addDependencies(["dotenv"]);
9
+ }).addDevDependencies(["@types/better-sqlite3"]).addDependencies(["better-sqlite3"]).addDevDependencies(["tsx"], ["sqlite:migrate"]);
10
10
  }
11
11
  //#endregion
12
12
  export { getPackageJson as default };
@@ -15,10 +15,10 @@ var package_default = {
15
15
  devDependencies: {
16
16
  "@batijs/compile": "workspace:*",
17
17
  "@batijs/core": "workspace:*",
18
+ "@batijs/shared-env": "workspace:*",
18
19
  "@types/better-sqlite3": "^7.6.13",
19
20
  "@types/node": "^20.19.37",
20
21
  "better-sqlite3": "^12.10.0",
21
- "dotenv": "^17.4.2",
22
22
  "tsx": "^4.22.4"
23
23
  },
24
24
  files: ["dist/"],
@@ -1,5 +1,5 @@
1
1
  /*# BATI include-if-imported #*/
2
- import "dotenv/config";
2
+ import "@batijs/shared-env/server/load";
3
3
  import { db } from "../db";
4
4
 
5
5
  const client = db();
@@ -214,6 +214,12 @@
214
214
  "files"
215
215
  ]
216
216
  },
217
+ {
218
+ "folder": "@batijs/shared-env",
219
+ "subfolders": [
220
+ "files"
221
+ ]
222
+ },
217
223
  {
218
224
  "folder": "@batijs/shared-server",
219
225
  "subfolders": [
package/dist/index.js CHANGED
@@ -2638,7 +2638,7 @@ function kebabCase(str, joiner) {
2638
2638
  //#endregion
2639
2639
  //#region package.json
2640
2640
  var name = "@batijs/cli";
2641
- var version = "0.0.648";
2641
+ var version = "0.0.649";
2642
2642
  var description = "Next-gen scaffolder. Get started with fully-functional apps, and choose any tool you want";
2643
2643
  //#endregion
2644
2644
  //#region rules.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batijs/cli",
3
- "version": "0.0.648",
3
+ "version": "0.0.649",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "check-types": "tsc --noEmit",
@@ -13,8 +13,8 @@
13
13
  "repository": "https://github.com/vikejs/bati",
14
14
  "license": "MIT",
15
15
  "devDependencies": {
16
- "@batijs/build": "0.0.648",
17
- "@batijs/compile": "0.0.648",
16
+ "@batijs/build": "0.0.649",
17
+ "@batijs/compile": "0.0.649",
18
18
  "@inquirer/prompts": "^8.5.2",
19
19
  "@types/node": "^20.19.37",
20
20
  "@types/which": "^3.0.4",
@@ -30,8 +30,8 @@
30
30
  "vite": "^8.0.16"
31
31
  },
32
32
  "dependencies": {
33
- "@batijs/core": "0.0.648",
34
- "@batijs/features": "0.0.648"
33
+ "@batijs/core": "0.0.649",
34
+ "@batijs/features": "0.0.649"
35
35
  },
36
36
  "bin": "./cli.js",
37
37
  "exports": {