25 lines
813 B
JavaScript
25 lines
813 B
JavaScript
import { cp, mkdir, rm } from 'node:fs/promises';
|
|
import { existsSync } from 'node:fs';
|
|
import path from 'node:path';
|
|
|
|
const root = process.cwd();
|
|
const standalone = path.join(root, '.next', 'standalone');
|
|
|
|
if (!existsSync(standalone)) {
|
|
throw new Error('Missing .next/standalone. Run next build before preparing the server.');
|
|
}
|
|
|
|
const copies = [
|
|
[path.join(root, '.next', 'static'), path.join(standalone, '.next', 'static')],
|
|
[path.join(root, 'public'), path.join(standalone, 'public')],
|
|
];
|
|
|
|
for (const [source, destination] of copies) {
|
|
if (!existsSync(source)) continue;
|
|
await rm(destination, { recursive: true, force: true });
|
|
await mkdir(path.dirname(destination), { recursive: true });
|
|
await cp(source, destination, { recursive: true });
|
|
}
|
|
|
|
console.log('Prepared standalone server assets.');
|