mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 14:12:40 +00:00
33 lines
879 B
JavaScript
33 lines
879 B
JavaScript
|
|
import fs from 'fs-extra';
|
|
import Proj from './project.json' with { type: 'json' };
|
|
import vitreum from 'vitreum';
|
|
const { pack } = vitreum;
|
|
|
|
import lessTransform from 'vitreum/transforms/less.js';
|
|
import assetTransform from 'vitreum/transforms/asset.js';
|
|
|
|
const isDev = !!process.argv.find((arg)=>arg=='--dev');
|
|
|
|
const transforms = {
|
|
'.less' : lessTransform,
|
|
'*' : assetTransform('./build')
|
|
};
|
|
|
|
const build = async ({ bundle, render, ssr })=>{
|
|
const css = await lessTransform.generate({ paths: './shared' });
|
|
await fs.outputFile('./build/admin/bundle.css', css);
|
|
await fs.outputFile('./build/admin/bundle.js', bundle);
|
|
await fs.outputFile('./build/admin/ssr.cjs', ssr);
|
|
};
|
|
|
|
fs.emptyDirSync('./build/admin');
|
|
pack('./client/admin/admin.jsx', {
|
|
paths : ['./shared'],
|
|
libs : Proj.libs,
|
|
dev : isDev && build,
|
|
transforms
|
|
})
|
|
.then(build)
|
|
.catch(console.error);
|