Skip to content

Commit 01306f2

Browse files
committed
micro optimizations
1 parent 5dff24b commit 01306f2

File tree

2 files changed

+51
-42
lines changed

2 files changed

+51
-42
lines changed

build.mjs

Lines changed: 48 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import esbuild from 'esbuild'
2-
import fs from 'fs'
2+
import fs from 'fs/promises'
33

44
// https://esbuild.github.io/api/#main-fields-for-package-authors
55

@@ -13,45 +13,51 @@ const common = {
1313
},
1414
}
1515

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+
]
2452

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+
}

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
"bugs": {
1919
"url": "https://github.com/hgraph.io/sdk/issues"
2020
},
21+
"engines": {
22+
"node": ">=18"
23+
},
2124
"keywords": [
2225
"graphql",
2326
"nft",

0 commit comments

Comments
 (0)