erratic-gate/build.js

41 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-10-29 04:54:24 +01:00
import * as esbuild from 'esbuild'
import { htmlPlugin } from '@craftamap/esbuild-plugin-html'
import { sassPlugin } from 'esbuild-sass-plugin'
const production = process.env.NODE_ENV === 'production'
const serve = process.env.ESBUILD_SERVE === '1'
const ctx = await esbuild.context({
entryPoints: ['src/index.ts'],
bundle: production,
// minify: production,
outdir: 'dist',
metafile: true,
splitting: true,
format: 'esm',
target: ['chrome100', 'firefox100'],
loader: {
'.svg': 'file'
},
plugins: [
htmlPlugin({
files: [
{
filename: 'index.html',
entryPoints: ['src/index.ts'],
favicon: 'public/favicon.ico',
htmlTemplate: 'public/index.html',
scriptLoading: 'module'
// inline: { js: true }
}
]
}),
sassPlugin({})
]
})
if (serve) {
const { port, host } = await ctx.serve({ servedir: 'dist' })
console.log(`Serving on ${host}:${port}`)
}