generated from mizok/service-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathesbuild.ts
42 lines (40 loc) · 1.06 KB
/
esbuild.ts
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
// esbuild.config.ts
import { BuildOptions, build } from 'esbuild'
import copyfiles from 'copyfiles'
import { rimraf } from 'rimraf'
import * as os from 'os'
import { exec } from 'child_process'
const config: BuildOptions = {
entryPoints: ['src/main.ts'],
bundle: true,
minify: true,
outfile: 'dist/main.js',
platform: 'node',
tsconfig: './tsconfig.json',
}
build(config)
.then(() => {
return Promise.all([
rimraf('./dist/locales'),
rimraf('./dist/package.json'),
rimraf('./dist/static'),
])
})
.then(() => {
const platform = os.platform()
copyfiles(['locales/*', 'dist'], { all: false }, () => {
console.log('Locales files copied successfully!')
})
copyfiles(['static/*', 'dist'], { all: false }, () => {
console.log('static files copied successfully!')
})
if (platform === 'linux' || platform === 'darwin') {
try {
exec('chmod +x ./dist/main.js', (err, stdout, stderr) => {
if (err) console.error(err)
})
} catch (err) {
console.error(err)
}
}
})