define.spec.ts — vite Source File
Architecture documentation for define.spec.ts, a typescript file in the vite codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR bf20def2_a431_dfdf_d6e4_85c97827d9ad["define.spec.ts"] 6e6f4bb4_92d1_caf8_3dbc_8f1aaeb851bd["define.ts"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> 6e6f4bb4_92d1_caf8_3dbc_8f1aaeb851bd c9b245c1_add7_9a08_4f17_a6d03ed5e241["definePlugin"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> c9b245c1_add7_9a08_4f17_a6d03ed5e241 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b 58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> 58c4a210_68fe_1b4d_ed49_d59203f97ef1 84057c57_14eb_2f16_cd5c_1899e8da6db0["baseEnvironment.ts"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> 84057c57_14eb_2f16_cd5c_1899e8da6db0 dc928824_33f2_0b61_b231_90d8800b77a5["PartialEnvironment"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> dc928824_33f2_0b61_b231_90d8800b77a5 a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> a340ba46_b2b7_3048_3bb3_6907a74c8464 693ca867_249b_3e5a_0ce1_8930413b7fcd["rolldown"] bf20def2_a431_dfdf_d6e4_85c97827d9ad --> 693ca867_249b_3e5a_0ce1_8930413b7fcd style bf20def2_a431_dfdf_d6e4_85c97827d9ad fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { describe, expect, test } from 'vitest'
import { rolldown } from 'rolldown'
import { definePlugin } from '../../plugins/define'
import { resolveConfig } from '../../config'
import { PartialEnvironment } from '../../baseEnvironment'
async function createDefinePluginTransform(
define: Record<string, any> = {},
build = true,
ssr = false,
) {
const config = await resolveConfig(
{ configFile: false, define },
build ? 'build' : 'serve',
)
const instance = definePlugin(config)
const environment = new PartialEnvironment(ssr ? 'ssr' : 'client', config)
return async (code: string) => {
if (process.env._VITE_TEST_JS_PLUGIN) {
// @ts-expect-error transform.handler should exist
const result = await instance.transform.handler.call(
{ environment },
code,
'foo.ts',
)
return result?.code || result
} else {
const bundler = await rolldown({
input: 'entry.js',
plugins: [
{
name: 'test',
resolveId(id) {
if (id === 'entry.js') {
return '\0' + id
}
},
load(id) {
if (id === '\0entry.js') {
return code
}
},
},
{
name: 'native:define',
options: (definePlugin(config).options! as any).bind({
environment,
}),
},
],
experimental: {
attachDebugInfo: 'none',
},
})
return (await bundler.generate()).output[0].code
}
}
}
// ... (238 more lines)
Domain
Subdomains
Functions
Dependencies
Source
Frequently Asked Questions
What does define.spec.ts do?
define.spec.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in define.spec.ts?
define.spec.ts defines 1 function(s): createDefinePluginTransform.
What does define.spec.ts depend on?
define.spec.ts imports 8 module(s): PartialEnvironment, baseEnvironment.ts, config.ts, define.ts, definePlugin, resolveConfig, rolldown, vitest.
Where is define.spec.ts in the architecture?
define.spec.ts is located at packages/vite/src/node/__tests__/plugins/define.spec.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/__tests__/plugins).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free