advent-of-code

Entries to advent of code, multiple years
git clone git://git.finwo.net/misc/advent-of-code
Log | Files | Refs

build.js (847B)


      1 #!/usr/bin/env node
      2 
      3 const vuePlugin = require("esbuild-plugin-vue3");
      4 const esbuild  = require("esbuild");
      5 const rimraf   = require("rimraf");
      6 const copydir  = require("copy-dir");
      7 const less     = require('less');
      8 const fs       = require('fs');
      9 
     10 const destDir = __dirname + "/dist";
     11 
     12 (async () => {
     13 
     14   // Prepare static
     15   // await new Promise(r => rimraf(__dirname + "/dist", r));
     16   await new Promise(r => copydir(__dirname + "/public", destDir, r));
     17 
     18   // Compile less
     19   const lessSource = fs.readFileSync(destDir + '/global.less').toString();
     20   const compiled   = await less.render(lessSource);
     21   fs.writeFileSync(destDir + '/global.css', compiled.css);
     22 
     23   // Build vue
     24   await esbuild.build({
     25     plugins: [vuePlugin()],
     26     entryPoints: [__dirname + "/src/main.js"],
     27     bundle: true,
     28     outfile: __dirname + "/dist/main.js"
     29   });
     30 
     31 
     32 })();