1
1
import esbuild from 'esbuild'
2
- import fs from 'fs'
2
+ import fs from 'fs/promises '
3
3
4
4
// https://esbuild.github.io/api/#main-fields-for-package-authors
5
5
@@ -13,45 +13,51 @@ const common = {
13
13
} ,
14
14
}
15
15
16
- esbuild . build ( {
17
- ...common ,
18
- entryPoints : [ 'src/server/index.ts' ] ,
19
- format : 'cjs' ,
20
- platform : 'node' ,
21
- target : [ 'node18' ] ,
22
- outfile : 'dist/node-cjs.js' ,
23
- } )
16
+ const builds = [
17
+ esbuild . build ( {
18
+ ...common ,
19
+ entryPoints : [ 'src/server/index.ts' ] ,
20
+ format : 'cjs' ,
21
+ platform : 'node' ,
22
+ target : [ 'node18' ] ,
23
+ outfile : 'dist/node-cjs.js' ,
24
+ } ) ,
25
+ esbuild . build ( {
26
+ ...common ,
27
+ entryPoints : [ 'src/server/index.ts' ] ,
28
+ format : 'esm' ,
29
+ platform : 'node' ,
30
+ target : [ 'node18' ] ,
31
+ outfile : 'dist/node-esm.js' ,
32
+ packages : 'external' ,
33
+ } ) ,
34
+ esbuild . build ( {
35
+ ...common ,
36
+ format : 'esm' ,
37
+ platform : 'browser' ,
38
+ target : [ 'chrome58' , 'firefox57' , 'safari11' , 'edge88' ] ,
39
+ outfile : 'dist/browser-esm.js' ,
40
+ jsx : 'automatic' ,
41
+ external : [ 'react' , 'react-dom' ] ,
42
+ } ) ,
43
+ esbuild . build ( {
44
+ ...common ,
45
+ format : 'cjs' ,
46
+ platform : 'browser' ,
47
+ target : [ 'chrome58' , 'firefox57' , 'safari11' , 'edge88' ] ,
48
+ outfile : 'dist/browser-cjs.js' ,
49
+ jsx : 'automatic' ,
50
+ } ) ,
51
+ ]
24
52
25
- esbuild . build ( {
26
- ...common ,
27
- entryPoints : [ 'src/server/index.ts' ] ,
28
- format : 'esm' ,
29
- platform : 'node' ,
30
- target : [ 'node18' ] ,
31
- outfile : 'dist/node-esm.js' ,
32
- packages : 'external' ,
33
- } )
34
-
35
- esbuild . build ( {
36
- ...common ,
37
- format : 'esm' ,
38
- platform : 'browser' ,
39
- target : [ 'chrome58' , 'firefox57' , 'safari11' , 'edge88' ] ,
40
- outfile : 'dist/browser-esm.js' ,
41
- jsx : 'automatic' ,
42
- external : [ 'react' , 'react-dom' ] ,
43
- } )
44
-
45
- esbuild . build ( {
46
- ...common ,
47
- format : 'cjs' ,
48
- platform : 'browser' ,
49
- target : [ 'chrome58' , 'firefox57' , 'safari11' , 'edge88' ] ,
50
- outfile : 'dist/browser-cjs.js' ,
51
- jsx : 'automatic' ,
52
- } )
53
-
54
- // fs.mkdir('dist', console.error)
55
- fs . mkdir ( 'dist' , ( ) => { } )
56
- fs . copyFile ( 'src/types/index.ts' , 'dist/index.d.ts' , ( ) => { } )
57
- fs . copyFile ( 'src/types/graphql.ts' , 'dist/graphql.d.ts' , ( ) => { } )
53
+ try {
54
+ await Promise . all ( builds )
55
+ await fs . mkdir ( 'dist' , { recursive : true } )
56
+ await Promise . all ( [
57
+ fs . copyFile ( 'src/types/index.ts' , 'dist/index.d.ts' ) ,
58
+ fs . copyFile ( 'src/types/graphql.ts' , 'dist/graphql.d.ts' ) ,
59
+ ] )
60
+ } catch ( err ) {
61
+ console . error ( 'Build failed:' , err )
62
+ process . exit ( 1 )
63
+ }
0 commit comments