Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a09e92d

Browse files
feat(bundler-webpack): update target of esbuild-loader (#1643)
Co-authored-by: meteorlxy <[email protected]>
1 parent 6252869 commit a09e92d

File tree

4 files changed

+31
-20
lines changed

4 files changed

+31
-20
lines changed

packages/bundler-webpack/src/config/handleModuleJs.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createRequire } from 'node:module'
22
import type Config from 'webpack-5-chain'
33
import type { WebpackBundlerOptions } from '../types.js'
4-
import { resolveEsbuildJsxOptions } from './resolveEsbuildJsxOptions.js'
4+
import { resolveEsbuildLoaderOptions } from './resolveEsbuildLoaderOptions.js'
55

66
const require = createRequire(import.meta.url)
77

@@ -51,9 +51,6 @@ export const handleModuleJs = ({
5151
// use esbuild-loader
5252
.use('esbuild-loader')
5353
.loader(require.resolve('esbuild-loader'))
54-
.options({
55-
target: 'es2015',
56-
...resolveEsbuildJsxOptions(),
57-
})
54+
.options(resolveEsbuildLoaderOptions())
5855
.end()
5956
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createRequire } from 'node:module'
22
import type Config from 'webpack-5-chain'
3-
import { resolveEsbuildJsxOptions } from './resolveEsbuildJsxOptions.js'
3+
import { resolveEsbuildLoaderOptions } from './resolveEsbuildLoaderOptions.js'
44

55
const require = createRequire(import.meta.url)
66

@@ -14,10 +14,10 @@ export const handleModuleTs = ({ config }: { config: Config }): void => {
1414
// use esbuild-loader
1515
.use('esbuild-loader')
1616
.loader(require.resolve('esbuild-loader'))
17-
.options({
18-
target: 'es2018',
19-
loader: 'tsx',
20-
...resolveEsbuildJsxOptions(),
21-
})
17+
.options(
18+
resolveEsbuildLoaderOptions({
19+
loader: 'tsx',
20+
}),
21+
)
2222
.end()
2323
}

packages/bundler-webpack/src/config/resolveEsbuildJsxOptions.ts

-9
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import type { EsbuildPluginOptions } from 'esbuild-loader'
2+
3+
export const resolveEsbuildLoaderOptions = (
4+
options: EsbuildPluginOptions = {},
5+
): EsbuildPluginOptions => ({
6+
/**
7+
* keep consistent with vite
8+
*
9+
* @see https://vite.dev/config/build-options.html#build-target
10+
*/
11+
target: ['es2020', 'edge88', 'firefox78', 'chrome87', 'safari14'],
12+
13+
/**
14+
* jsx options
15+
*/
16+
jsxFactory: 'jsx',
17+
jsxFragment: 'Fragment',
18+
19+
/**
20+
* overrides
21+
*/
22+
...options,
23+
})

0 commit comments

Comments
 (0)