mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 18:32:41 +00:00
- Updates Vitreum to v6.0.1 + some custom fixes.
- Stylesheets must be imported with `require('./sheet.less');` but can also can now share stylesheets between jsx components.
- Should eliminate a lot of security concerns with older nested dependencies.
- Changed a lot of files to make this work
- Also removes dependency on PicoRouter in favor of React-Router
32 lines
957 B
JavaScript
32 lines
957 B
JavaScript
const fs = require('fs-extra');
|
|
const Proj = require('./project.json');
|
|
|
|
const { pack } = require('vitreum');
|
|
const isDev = !!process.argv.find((arg)=>arg=='--dev');
|
|
|
|
const lessTransform = require('vitreum/transforms/less.js');
|
|
const assetTransform = require('vitreum/transforms/asset.js');
|
|
//const Meta = require('vitreum/headtags');
|
|
|
|
const transforms = {
|
|
'.less' : lessTransform,
|
|
'*' : assetTransform('./build')
|
|
};
|
|
|
|
const build = async ({ bundle, render, ssr })=>{
|
|
await fs.outputFile('./build/homebrew/bundle.css', await lessTransform.generate({ paths: './shared' }));
|
|
await fs.outputFile('./build/homebrew/bundle.js', bundle);
|
|
await fs.outputFile('./build/homebrew/ssr.js', ssr);
|
|
await fs.outputFile('./build/homebrew/render.js', render);
|
|
};
|
|
|
|
fs.emptyDirSync('./build/homebrew');
|
|
pack('./client/homebrew/homebrew.jsx', {
|
|
paths : ['./shared'],
|
|
libs : Proj.libs,
|
|
dev : isDev && build,
|
|
transforms
|
|
})
|
|
.then(build)
|
|
.catch(console.error);
|