Open statusunknown418 opened 1 year ago
Can you try v0.3.0 and update me if you'll still encounter this issue?
still having a similar issue, could be fixed by setting type: "module"
in the package.json makes it kinda work but then prisma throws more errors
> tsx ./index.tsx
/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.tsx:15
const prisma = new PrismaClient();
^
TypeError: PrismaClient is not a constructor
at <anonymous> (/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.tsx:15:16)
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
Node.js v19.8.1
Note: I'm using tsx
instead of ts-node-dev
Using ts-node-dev
without type:"module"
throws this again
> ts-node-dev ./index.ts
[INFO] 09:20:17 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.1, typescript ver. 5.0.2)
Error: Package subpath './providers/github' is not defined by "exports" in /Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/node_modules/@auth/core/package.json
at new NodeError (node:internal/errors:399:5)
at exportsNotFound (node:internal/modules/esm/resolve:266:10)
at packageExportsResolve (node:internal/modules/esm/resolve:597:13)
at resolveExports (node:internal/modules/cjs/loader:579:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:648:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1076:27)
at Function.Module._load (node:internal/modules/cjs/loader:934:27)
at Module.require (node:internal/modules/cjs/loader:1157:19)
at require (node:internal/modules/helpers:119:18)
at Object.<anonymous> (/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts:2:1)
[ERROR] 09:20:24 Error: Package subpath './providers/github' is not defined by "exports" in /Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/node_modules/@auth/core/package.json
Try to import prisma like this
import PrismaClientPkg from '@prisma/client'
const PrismaClient = PrismaClientPkg.PrismaClient
const prisma = new PrismaClient()
Still getting same errors. As a sidenote, the app is a turborepo so the prisma imports are made to @acme/db
, looking like this
import * as db from "@acme/db";
const PrismaClient = db.PrismaClient;
const prisma = new PrismaClient();
where @acme/db/index
exports this
import { PrismaClient } from "@prisma/client";
declare global {
// eslint-disable-next-line no-unused-vars, no-var
var prisma: PrismaClient | undefined;
}
export const prisma =
global.prisma ||
new PrismaClient({
log: process.env.NODE_ENV === "development" ? ["query", "error", "warn"] : ["error"],
});
if (process.env.NODE_ENV !== "production") {
global.prisma = prisma;
}
export * from "@prisma/client";
With tsx index.ts
> tsx index.ts
/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts:15
const prisma = new PrismaClient();
^
TypeError: PrismaClient is not a constructor
at <anonymous> (/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts:15:16)
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
Node.js v19.8.1
with ts-node-dev index.ts
> ts-node-dev index.ts
[INFO] 10:59:05 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.1, typescript ver. 5.0.2)
Compilation error in /Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts
Error: Must use import to load ES Module: /Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts
at Object.<anonymous> (/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts:1:7)
at Module._compile (node:internal/modules/cjs/loader:1275:14)
at Module._compile (/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map-support/source-map-support.js:568:25)
at Module.m._compile (/private/var/folders/5q/1112yt4d1bb57k0118bb6q840000gn/T/ts-node-dev-hook-886512356905123.js:69:33)
at Module._extensions..js (node:internal/modules/cjs/loader:1329:10)
at require.extensions..jsx.require.extensions..js (/private/var/folders/5q/1112yt4d1bb57k0118bb6q840000gn/T/ts-node-dev-hook-886512356905123.js:114:20)
at require.extensions.<computed> (/private/var/folders/5q/1112yt4d1bb57k0118bb6q840000gn/T/ts-node-dev-hook-886512356905123.js:71:20)
at Object.nodeDevHook [as .ts] (/Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/node_modules/.pnpm/ts-node-dev@2.0.0_@types+node@18.11.18_typescript@5.0.2/node_modules/ts-node-dev/lib/hook.js:63:13)
at Module.load (node:internal/modules/cjs/loader:1133:32)
at Function.Module._load (node:internal/modules/cjs/loader:972:12)
[ERROR] 10:59:05 Error: Must use import to load ES Module: /Users/a3tech/Developer/Turing/Dimension.dev/dimension-turbo/packages/api-v2/index.ts
^C ELIFECYCLE Command failed.
The package doesn't compile due to a module not being exported.
See the issue here, with a reproducible example
I opened an issue on next-auth, but it actually seems to be an issue from the package itself so I'm forwarding it here: