next-dev
Version:
Tentu, berikut adalah markdown yang telah diperbaiki:
40 lines (33 loc) • 1.39 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.funPrismaGlobal = void 0;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const root = process.cwd();
const prismaGlobalTemplate = `
import { PrismaClient } from '@prisma/client'
const prismaClientSingleton = () => {
return new PrismaClient()
}
declare const globalThis: {
prismaGlobal: ReturnType<typeof prismaClientSingleton>;
} & typeof global;
const prisma = globalThis.prismaGlobal ?? prismaClientSingleton()
export default prisma
if (process.env.NODE_ENV !== 'production') globalThis.prismaGlobal = prisma
`;
async function funPrismaGlobal(argv) {
// check src/lib/prisma/
const prismaDir = path_1.default.join(process.cwd(), 'src/lib/prisma');
if (!fs_1.default.existsSync(prismaDir)) {
// create src/lib/prisma dir
fs_1.default.mkdirSync(prismaDir, { recursive: true });
console.log('create src/lib/prisma dir');
}
fs_1.default.writeFileSync(path_1.default.join(process.cwd(), 'src/lib/prisma/prisma.ts'), prismaGlobalTemplate, { encoding: 'utf8' });
console.log('generate src/lib/prisma/prisma.ts DONE');
}
exports.funPrismaGlobal = funPrismaGlobal;