diff --git a/assets/build.js b/assets/build.js new file mode 100644 index 0000000..fc884e9 --- /dev/null +++ b/assets/build.js @@ -0,0 +1,50 @@ +const esbuild = require('esbuild') + +const args = process.argv.slice(2) +const watch = args.includes('--watch') +const deploy = args.includes('--deploy') + +const loader = { + // Add loaders for images/fonts/etc, e.g. { '.svg': 'file' } +} + +const plugins = [ + // Add and configure plugins here +] + +let opts = { + entryPoints: ['js/app.js'], + bundle: true, + target: 'es2017', + outdir: '../priv/static/assets', + logLevel: 'info', + loader, + plugins +} + +if (watch) { + opts = { + ...opts, + watch, + sourcemap: 'inline' + } +} + +if (deploy) { + opts = { + ...opts, + minify: true + } +} + +const promise = esbuild.build(opts) + +if (watch) { + promise.then(_result => { + process.stdin.on('close', () => { + process.exit(0) + }) + + process.stdin.resume() + }) +} \ No newline at end of file