mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 13:09:29 +08:00
51 lines
1.3 KiB
Text
51 lines
1.3 KiB
Text
import { writeFileSync } from 'fs';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const files = fileURLToPath(new URL('./files', import.meta.url).href);
|
|
|
|
/** @type {import('.').default} */
|
|
export default function (opts = {}) {
|
|
// TODO remove for 1.0
|
|
// @ts-expect-error
|
|
if (opts.env) {
|
|
throw new Error(
|
|
'options.env has been removed in favour of options.envPrefix. Consult the adapter-node README: https://github.com/sveltejs/kit/tree/master/packages/adapter-node'
|
|
);
|
|
}
|
|
|
|
const { out = 'build', precompress, envPrefix = '' } = opts;
|
|
|
|
return {
|
|
name: '@sveltejs/adapter-node',
|
|
|
|
async adapt(builder) {
|
|
builder.rimraf(out);
|
|
|
|
builder.log.minor('Copying assets');
|
|
builder.writeClient(`${out}/client`);
|
|
builder.writeServer(`${out}/server`);
|
|
builder.writePrerendered(`${out}/prerendered`);
|
|
|
|
writeFileSync(
|
|
`${out}/manifest.js`,
|
|
`export const manifest = ${builder.generateManifest({
|
|
relativePath: './server'
|
|
})};\n`
|
|
);
|
|
|
|
builder.copy(files, out, {
|
|
replace: {
|
|
SERVER: './server/index.js',
|
|
MANIFEST: './manifest.js',
|
|
ENV_PREFIX: JSON.stringify(envPrefix)
|
|
}
|
|
});
|
|
|
|
if (precompress) {
|
|
builder.log.minor('Compressing assets');
|
|
await builder.compress(`${out}/client`);
|
|
await builder.compress(`${out}/prerendered`);
|
|
}
|
|
}
|
|
};
|
|
}
|