pluginContainer.spec.ts — vite Source File
Architecture documentation for pluginContainer.spec.ts, a typescript file in the vite codebase. 12 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR b6abf7ed_980d_66f5_f5ed_f5c1a029e590["pluginContainer.spec.ts"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b fe7f5962_2950_2a13_2dfe_8f14ff3bb0d8["UserConfig"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> fe7f5962_2950_2a13_2dfe_8f14ff3bb0d8 650c6af9_c8d9_b67f_9149_9fa38a8587ab["UserConfig"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 650c6af9_c8d9_b67f_9149_9fa38a8587ab 58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 58c4a210_68fe_1b4d_ed49_d59203f97ef1 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7["plugin.ts"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7 1dc2cf7d_5d97_c778_8c33_6449a7607aef["Plugin"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 1dc2cf7d_5d97_c778_8c33_6449a7607aef 7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 7916c84f_5621_2b3b_d220_a171ebce997f f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> f634223d_ed8e_a65b_08f8_a839ec17994a eca93de5_04d5_dda0_7ae6_2ceb5379ea81["logger.ts"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81 04e3b119_ae40_14a9_42ce_3951d83fc60d["createLogger"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 04e3b119_ae40_14a9_42ce_3951d83fc60d 10809968_066c_58db_f8b4_cb0464da805e["node:util"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> 10809968_066c_58db_f8b4_cb0464da805e a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"] b6abf7ed_980d_66f5_f5ed_f5c1a029e590 --> a340ba46_b2b7_3048_3bb3_6907a74c8464 style b6abf7ed_980d_66f5_f5ed_f5c1a029e590 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { stripVTControlCharacters } from 'node:util'
import { describe, expect, it, vi } from 'vitest'
import type { UserConfig } from '../../config'
import { resolveConfig } from '../../config'
import type { Plugin } from '../../plugin'
import { DevEnvironment } from '../environment'
import { createLogger } from '../../logger'
describe('plugin container', () => {
describe('getModuleInfo', () => {
it('can pass metadata between hooks', async () => {
const entryUrl = '/x.js'
const metaArray: any[] = []
const plugin: Plugin = {
name: 'p1',
resolveId(id) {
if (id === entryUrl) {
// The module hasn't been resolved yet, so its info is null.
const moduleInfo = this.getModuleInfo(entryUrl)
expect(moduleInfo).toEqual(null)
return { id, meta: { x: 1 } }
}
},
load(id) {
if (id === entryUrl) {
const { meta } = this.getModuleInfo(entryUrl) ?? {}
metaArray.push(meta)
return { code: 'export {}', meta: { x: 2 } }
}
},
transform(_code, id) {
if (id === entryUrl) {
const { meta } = this.getModuleInfo(entryUrl) ?? {}
metaArray.push(meta)
return { meta: { x: 3 } }
}
},
buildEnd() {
const { meta } = this.getModuleInfo(entryUrl) ?? {}
metaArray.push(meta)
},
}
const environment = await getDevEnvironment({
plugins: [plugin],
})
const entryModule = await environment.moduleGraph.ensureEntryFromUrl(
entryUrl,
false,
)
expect(entryModule.meta).toEqual({ x: 1 })
const loadResult: any = await environment.pluginContainer.load(entryUrl)
expect(loadResult?.meta).toEqual({ x: 2 })
// ... (388 more lines)
Domain
Subdomains
Functions
Dependencies
Source
Frequently Asked Questions
What does pluginContainer.spec.ts do?
pluginContainer.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 pluginContainer.spec.ts?
pluginContainer.spec.ts defines 1 function(s): getDevEnvironment.
What does pluginContainer.spec.ts depend on?
pluginContainer.spec.ts imports 12 module(s): DevEnvironment, Plugin, UserConfig, UserConfig, config.ts, createLogger, environment.ts, logger.ts, and 4 more.
Where is pluginContainer.spec.ts in the architecture?
pluginContainer.spec.ts is located at packages/vite/src/node/server/__tests__/pluginContainer.spec.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/server/__tests__).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free