nova-frontend
Version:
Nova is an alternative to all those gigantic front-end frameworks, that often do more than is necessary when it comes to building simple UIs. Pure Vanilla Javascript is performance-wise the best way to build your front-end in a SPA, but it can be hard to
29 lines (24 loc) • 871 B
JavaScript
const fs = require('fs/promises');
const path = require('path');
const nova = require('./nova');
const { minify } = require('terser');
const packageinfo = require('./package.json');
(async function buildNova() {
try {
const dir = await fs.readdir(__dirname);
const oldfile = dir.find(file => /nova\d/.test(file));
await fs.unlink(path.join(__dirname, oldfile));
let buildString = "const root = document.getElementById('root')";
for (const module in nova) {
if (/static/gi.test(module))
continue;
const stringifiedModule = nova[module].toString();
buildString += '\n';
buildString += stringifiedModule;
}
const minifiedBuild = await minify(buildString)
await fs.writeFile(`nova${packageinfo.version}.min.js`, minifiedBuild.code);
} catch (e) {
console.error(`BUILD ERROR: ${e.message}`)
}
})()