I'd like to use t3-env to validate my env variables in my Drizzle config file. I've tried importing t3-env in the config.ts file, but I'm hit with the error
SyntaxError: Cannot use import statement outside a module
SyntaxError: Cannot use import statement outside a module
in
env.mjs
env.mjs
, which I find odd since it is explicitly marked as an ES module. Other than this, t3-env works fine with drizzle-orm.
Full Error:
Reading config file 'F:\Projects\PROJECTNAME\drizzle.config.ts'F:\Projects\PROJECTNAME\src\env.mjs:2import { createEnv } from "@t3-oss/env-nextjs";^^^^^^SyntaxError: Cannot use import statement outside a module at Object.compileFunction (node:vm:360:18) at wrapSafe (node:internal/modules/cjs/loader:1048:15) at Module._compile (node:internal/modules/cjs/loader:1083:27) at Module._compile (F:\Projects\PROJECTNAME\node_modules\.pnpm\drizzle-kit@0.18.1\node_modules\drizzle-kit\index.js:16334:30) at Module._extensions..js (node:internal/modules/cjs/loader:1173:10) at Object.newLoader [as .mjs] (F:\Projects\PROJECTNAME\node_modules\.pnpm\drizzle-kit@0.18.1\node_modules\drizzle-kit\index.js:16338:13) at Module.load (node:internal/modules/cjs/loader:997:32) at Module._load (node:internal/modules/cjs/loader:838:12) at Module.require (node:internal/modules/cjs/loader:1021:19) at require (node:internal/modules/cjs/helpers:103:18)Node.js v18.9.0
Reading config file 'F:\Projects\PROJECTNAME\drizzle.config.ts'F:\Projects\PROJECTNAME\src\env.mjs:2import { createEnv } from "@t3-oss/env-nextjs";^^^^^^SyntaxError: Cannot use import statement outside a module at Object.compileFunction (node:vm:360:18) at wrapSafe (node:internal/modules/cjs/loader:1048:15) at Module._compile (node:internal/modules/cjs/loader:1083:27) at Module._compile (F:\Projects\PROJECTNAME\node_modules\.pnpm\drizzle-kit@0.18.1\node_modules\drizzle-kit\index.js:16334:30) at Module._extensions..js (node:internal/modules/cjs/loader:1173:10) at Object.newLoader [as .mjs] (F:\Projects\PROJECTNAME\node_modules\.pnpm\drizzle-kit@0.18.1\node_modules\drizzle-kit\index.js:16338:13) at Module.load (node:internal/modules/cjs/loader:997:32) at Module._load (node:internal/modules/cjs/loader:838:12) at Module.require (node:internal/modules/cjs/loader:1021:19) at require (node:internal/modules/cjs/helpers:103:18)Node.js v18.9.0
This is my Drizzle config file:
import type { Config } from "drizzle-kit";import { env } from "~/env.mjs";export default { schema: "./src/server/schema.ts", out: "./drizzle", connectionString: env.DATABASE_URL,} satisfies Config;
import type { Config } from "drizzle-kit";import { env } from "~/env.mjs";export default { schema: "./src/server/schema.ts", out: "./drizzle", connectionString: env.DATABASE_URL,} satisfies Config;
I am I doing something wrong or is this just something drizzle-kit does not support atm?