mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-02 22:03:48 +08:00
32 lines
893 B
JavaScript
32 lines
893 B
JavaScript
|
#!/usr/bin/env node
|
||
|
|
||
|
const esbuild = require('esbuild');
|
||
|
const fs = require('fs');
|
||
|
const path = require('path');
|
||
|
|
||
|
// Check if we're building for production
|
||
|
// (Set via passing `production` as first argument)
|
||
|
const isProd = process.argv[2] === 'production';
|
||
|
|
||
|
// Gather our input files
|
||
|
const jsInDir = path.join(__dirname, '../../resources/js');
|
||
|
const jsInDirFiles = fs.readdirSync(jsInDir, 'utf8');
|
||
|
const entryFiles = jsInDirFiles
|
||
|
.filter(f => f.endsWith('.js') || f.endsWith('.mjs'))
|
||
|
.map(f => path.join(jsInDir, f));
|
||
|
|
||
|
// Locate our output directory
|
||
|
const outDir = path.join(__dirname, '../../public/dist');
|
||
|
|
||
|
// Build via esbuild
|
||
|
esbuild.build({
|
||
|
bundle: true,
|
||
|
entryPoints: entryFiles,
|
||
|
outdir: outDir,
|
||
|
sourcemap: true,
|
||
|
target: 'es2020',
|
||
|
mainFields: ['module', 'main'],
|
||
|
format: 'esm',
|
||
|
minify: isProd,
|
||
|
logLevel: "info",
|
||
|
}).catch(() => process.exit(1));
|