1
1
import { transform } from 'esbuild'
2
2
import { TraceMap , decodedMap , encodedMap } from '@jridgewell/trace-mapping'
3
+ import type { RolldownPlugin } from 'rolldown'
3
4
import type { ResolvedConfig } from '../config'
4
- import type { Plugin } from '../plugin'
5
5
import { escapeRegex } from '../utils'
6
6
import type { Environment } from '../environment'
7
7
import { isCSSRequest } from './css'
@@ -12,7 +12,7 @@ const isNonJsRequest = (request: string): boolean => nonJsRe.test(request)
12
12
const importMetaEnvMarker = '__vite_import_meta_env__'
13
13
const importMetaEnvKeyReCache = new Map < string , RegExp > ( )
14
14
15
- export function definePlugin ( config : ResolvedConfig ) : Plugin {
15
+ export function definePlugin ( config : ResolvedConfig ) : RolldownPlugin {
16
16
const isBuild = config . command === 'build'
17
17
const isBuildLib = isBuild && config . build . lib
18
18
@@ -111,7 +111,7 @@ export function definePlugin(config: ResolvedConfig): Plugin {
111
111
return pattern
112
112
}
113
113
114
- return {
114
+ const plugin : RolldownPlugin = {
115
115
name : 'vite:define' ,
116
116
117
117
async transform ( code , id ) {
@@ -179,6 +179,15 @@ export function definePlugin(config: ResolvedConfig): Plugin {
179
179
return result
180
180
} ,
181
181
}
182
+ const enableNativePlugin = config . experimental . enableNativePlugin
183
+ if ( enableNativePlugin ) {
184
+ delete plugin . transform
185
+ plugin . options = function ( option ) {
186
+ const [ define , _pattern , _importMetaEnvVal ] = getPattern ( this . environment )
187
+ option . define = define
188
+ }
189
+ }
190
+ return plugin
182
191
}
183
192
184
193
export async function replaceDefine (
0 commit comments