-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathesbuild.js
52 lines (43 loc) · 1.46 KB
/
esbuild.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const esbuild = require("esbuild");
const { derver } = require("derver");
const sveltePlugin = require("esbuild-svelte");
const DEV = process.argv.includes('--dev');
// Development server configuration. To configure production server
// see `start` script in `package.json` file.
const HOST = 'localhost';
const PORT = 5000;
esbuild.build({
// esbuild configuration
entryPoints: ['src/main.js'],
bundle: true,
outfile: 'public/build/bundle.js',
mainFields: ['svelte','module','main'],
minify: !DEV,
incremental: DEV,
sourcemap: DEV, // Use `DEV && 'inline'` to inline sourcemaps to the bundle
plugins: [
sveltePlugin({
compileOptions:{
// Svelte compile options
dev: DEV,
css: false //use `css:true` to inline CSS in `bundle.js`
},
preprocess:[
// Place here any Svelte preprocessors
]
})
]
}).then(bundle => {
DEV && derver({
dir: 'public',
host: HOST,
port: PORT,
watch:['public','src'],
onwatch: async (lr,item)=>{
if(item == 'src'){
lr.prevent();
bundle.rebuild().catch(err => lr.error(err.message,'Svelte compile error'));
}
}
})
});