Skip to content

Commit 1477592

Browse files
refactor(vite): migrate to tsup (#326)
1 parent afe6f98 commit 1477592

File tree

4 files changed

+44
-21
lines changed

4 files changed

+44
-21
lines changed

packages/vite/build.config.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { createRequire } from 'node:module'
2+
import path from 'node:path'
3+
import url from 'node:url'
4+
5+
globalThis.require = createRequire(import.meta.url)
6+
globalThis.__filename = url.fileURLToPath(import.meta.url)
7+
globalThis.__dirname = path.dirname(__filename)

packages/vite/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
"node": ">=v14.21.3"
4444
},
4545
"scripts": {
46-
"build": "unbuild",
47-
"stub": "unbuild --stub"
46+
"build": "tsup",
47+
"stub": "tsup --watch"
4848
},
4949
"peerDependencies": {
5050
"vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0"

packages/vite/tsup.config.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { defineConfig } from 'tsup'
2+
3+
export default defineConfig({
4+
entryPoints: [
5+
'src/vite.ts',
6+
],
7+
// To avoid esbuild compile import.meta.url to import_meta.url
8+
// See: https://github.com/vitejs/vite/issues/503
9+
target: 'es2020',
10+
clean: true,
11+
format: ['esm', 'cjs'],
12+
// Force esbuild to use .mjs extension for ESM output
13+
outExtension({ format }) {
14+
if (format === 'esm') {
15+
return {
16+
js: '.mjs',
17+
dts: '.d.ts',
18+
}
19+
}
20+
else if (format === 'cjs') {
21+
return {
22+
js: '.cjs',
23+
dts: '.d.cts',
24+
}
25+
}
26+
return {
27+
js: '.js',
28+
dts: '.d.ts',
29+
}
30+
},
31+
// See: https://github.com/evanw/esbuild/issues/1921
32+
inject: ['./esbuild-shims/cjs-shim.ts'],
33+
dts: true,
34+
shims: true,
35+
})

0 commit comments

Comments
 (0)