/** * @briven/auth ships package.json "exports" pointing at raw src/*.ts. * Next.js then fails (or hard-crashes under Turbopack). Point exports at dist/*.js. * Run after install: node scripts/fix-briven-auth-exports.mjs */ import { existsSync, readFileSync, writeFileSync } from "node:fs"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; const portalRoot = join(dirname(fileURLToPath(import.meta.url)), ".."); const pkgPath = join(portalRoot, "node_modules", "@briven", "auth", "package.json"); if (!existsSync(pkgPath)) { console.warn("[fix-briven-auth-exports] @briven/auth not installed — skip"); process.exit(0); } const distIndex = join(portalRoot, "node_modules", "@briven", "auth", "dist", "index.js"); if (!existsSync(distIndex)) { console.warn("[fix-briven-auth-exports] dist/ missing — skip"); process.exit(0); } const pkg = JSON.parse(readFileSync(pkgPath, "utf8")); pkg.exports = { ".": { types: "./dist/index.d.ts", default: "./dist/index.js" }, "./react": { types: "./dist/react/index.d.ts", default: "./dist/react/index.js", }, "./vue": { types: "./dist/vue/index.d.ts", default: "./dist/vue/index.js" }, "./svelte": { types: "./dist/svelte/index.d.ts", default: "./dist/svelte/index.js", }, "./server": { types: "./dist/server/index.d.ts", default: "./dist/server/index.js", }, "./engine": { types: "./dist/engine/index.d.ts", default: "./dist/engine/index.js", }, "./engine/server": { types: "./dist/engine/server.d.ts", default: "./dist/engine/server.js", }, "./engine/proxy": { types: "./dist/engine/proxy.d.ts", default: "./dist/engine/proxy.js", }, }; pkg.main = "./dist/index.js"; pkg.types = "./dist/index.d.ts"; writeFileSync(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`); console.log("[fix-briven-auth-exports] @briven/auth exports → dist/");