60 lines
2.3 KiB
JavaScript
60 lines
2.3 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const standaloneDir = path.join(__dirname, '../.next/standalone');
|
|
const prismaDir = path.join(__dirname, '../node_modules/.prisma');
|
|
|
|
console.log('🚀 Running postbuild script...');
|
|
|
|
// Copy Prisma binaries ke standalone output
|
|
if (fs.existsSync(prismaDir)) {
|
|
const dest = path.join(standaloneDir, 'node_modules/.prisma');
|
|
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
|
fs.cpSync(prismaDir, dest, { recursive: true });
|
|
console.log('✓ Prisma binaries copied to standalone output');
|
|
} else {
|
|
console.warn('⚠ Prisma binaries directory not found, skipping...');
|
|
}
|
|
|
|
// Copy schema.prisma jika diperlukan
|
|
const schemaSrc = path.join(__dirname, '../prisma/schema.prisma');
|
|
const schemaDest = path.join(standaloneDir, 'prisma/schema.prisma');
|
|
if (fs.existsSync(schemaSrc)) {
|
|
fs.mkdirSync(path.dirname(schemaDest), { recursive: true });
|
|
fs.copyFileSync(schemaSrc, schemaDest);
|
|
console.log('✓ schema.prisma copied to standalone output');
|
|
} else {
|
|
console.warn('⚠ schema.prisma not found, skipping...');
|
|
}
|
|
|
|
// Copy prisma client dari node_modules/@prisma/client
|
|
const prismaClientSrc = path.join(__dirname, '../node_modules/@prisma/client');
|
|
const prismaClientDest = path.join(standaloneDir, 'node_modules/@prisma/client');
|
|
if (fs.existsSync(prismaClientSrc)) {
|
|
fs.mkdirSync(path.dirname(prismaClientDest), { recursive: true });
|
|
fs.cpSync(prismaClientSrc, prismaClientDest, { recursive: true });
|
|
console.log('✓ @prisma/client copied to standalone output');
|
|
} else {
|
|
console.warn('⚠ @prisma/client not found, skipping...');
|
|
}
|
|
|
|
// Copy .env file jika ada (untuk production)
|
|
const envSrc = path.join(__dirname, '../.env');
|
|
const envDest = path.join(standaloneDir, '.env');
|
|
if (fs.existsSync(envSrc)) {
|
|
fs.copyFileSync(envSrc, envDest);
|
|
// console.log('✓ .env file copied to standalone output');
|
|
} else {
|
|
// console.warn('⚠ .env file not found, skipping...');
|
|
console.warn(' Pastikan DATABASE_URL di-set di system environment server!');
|
|
}
|
|
|
|
// Copy .env-local file jika ada (opsional)
|
|
const envLocalSrc = path.join(__dirname, '../.env-local');
|
|
const envLocalDest = path.join(standaloneDir, '.env-local');
|
|
if (fs.existsSync(envLocalSrc)) {
|
|
fs.copyFileSync(envLocalSrc, envLocalDest);
|
|
// console.log('✓ .env-local file copied to standalone output');
|
|
}
|
|
|
|
console.log('✅ Build script completed!'); |