-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.js
40 lines (34 loc) · 1.31 KB
/
build.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
const { build } = require('esbuild');
const copyStaticFiles = require('esbuild-copy-static-files');
const svgr = require('esbuild-plugin-svgr');
const fs = require('fs');
async function runBuild() {
// delete embeddable index
fs.rm('./dist', { recursive: true, force: true }, (err) => { });
// delete dist folder
fs.rm('./public/embeddable/index.html', { recursive: true, force: true }, (err) => { });
try {
// find styled-components issue and fix it
let dependencyFile = fs.readFileSync('./node_modules/styled-components/dist/styled-components.browser.esm.js', 'utf8');
dependencyFile = dependencyFile.replaceAll('process.env.', 'process.env?.')
fs.writeFileSync('./node_modules/styled-components/dist/styled-components.browser.esm.js', dependencyFile);
} catch (e) { console.log(e) }
build({
entryPoints: ['src/content.js', 'src/popup.js', 'src/sw.js', 'src/root.jsx'],
loader: { '.js': 'jsx', '.png': 'dataurl' },
bundle: true,
jsx: 'automatic',
write: true,
outdir: 'dist',
plugins: [
copyStaticFiles({
src: './public',
dest: './dist',
dereference: true,
recursive: true,
}),
svgr()
]
})
}
runBuild();