Skip to content

Commit 597c7b8

Browse files
feat: support native define
Co-authored-by: IWANABETHATGUY <[email protected]>
1 parent fe6107b commit 597c7b8

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

packages/vite/src/node/plugins/define.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { transform } from 'esbuild'
22
import { TraceMap, decodedMap, encodedMap } from '@jridgewell/trace-mapping'
3+
import type { RolldownPlugin } from 'rolldown'
34
import type { ResolvedConfig } from '../config'
4-
import type { Plugin } from '../plugin'
55
import { escapeRegex } from '../utils'
66
import type { Environment } from '../environment'
77
import { isCSSRequest } from './css'
@@ -12,7 +12,7 @@ const isNonJsRequest = (request: string): boolean => nonJsRe.test(request)
1212
const importMetaEnvMarker = '__vite_import_meta_env__'
1313
const importMetaEnvKeyReCache = new Map<string, RegExp>()
1414

15-
export function definePlugin(config: ResolvedConfig): Plugin {
15+
export function definePlugin(config: ResolvedConfig): RolldownPlugin {
1616
const isBuild = config.command === 'build'
1717
const isBuildLib = isBuild && config.build.lib
1818

@@ -111,7 +111,7 @@ export function definePlugin(config: ResolvedConfig): Plugin {
111111
return pattern
112112
}
113113

114-
return {
114+
const plugin: RolldownPlugin = {
115115
name: 'vite:define',
116116

117117
async transform(code, id) {
@@ -179,6 +179,15 @@ export function definePlugin(config: ResolvedConfig): Plugin {
179179
return result
180180
},
181181
}
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
182191
}
183192

184193
export async function replaceDefine(

packages/vite/src/node/plugins/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ export async function resolvePlugins(
121121
...normalPlugins,
122122

123123
enableNativePlugin ? nativeWasmFallbackPlugin() : wasmFallbackPlugin(),
124-
// TODO: support nativedefinePlugin
125124
definePlugin(config),
126125
cssPostPlugin(config),
127126
isBuild && buildHtmlPlugin(config),

0 commit comments

Comments
 (0)