Skip to content

Commit 93aae8e

Browse files
committed
refactor: use pluginContainer.minimalContext
1 parent f26a794 commit 93aae8e

File tree

3 files changed

+14
-27
lines changed

3 files changed

+14
-27
lines changed

packages/vite/src/node/server/environment.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export class DevEnvironment extends BaseEnvironment {
5757
*/
5858
_remoteRunnerOptions: DevEnvironmentContext['remoteRunner']
5959

60-
get pluginContainer(): EnvironmentPluginContainer {
60+
get pluginContainer(): EnvironmentPluginContainer<DevEnvironment> {
6161
if (!this._pluginContainer)
6262
throw new Error(
6363
`${this.name} environment.pluginContainer called before initialized`,
@@ -67,7 +67,7 @@ export class DevEnvironment extends BaseEnvironment {
6767
/**
6868
* @internal
6969
*/
70-
_pluginContainer: EnvironmentPluginContainer | undefined
70+
_pluginContainer: EnvironmentPluginContainer<DevEnvironment> | undefined
7171

7272
/**
7373
* @internal

packages/vite/src/node/server/hmr.ts

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ import type { EnvironmentModuleNode } from './moduleGraph'
2727
import type { ModuleNode } from './mixedModuleGraph'
2828
import type { DevEnvironment } from './environment'
2929
import { prepareError } from './middlewares/error'
30-
import {
31-
BasicMinimalPluginContext,
32-
MinimalPluginContext,
33-
} from './pluginContainer'
30+
import { BasicMinimalPluginContext } from './pluginContainer'
3431
import type { HttpServer } from '.'
3532
import { restartServerWithUrls } from '.'
3633

@@ -473,13 +470,7 @@ export async function handleHMRUpdate(
473470
)
474471
const clientEnvironment = server.environments.client
475472
const ssrEnvironment = server.environments.ssr
476-
const clientContext = new MinimalPluginContext(
477-
{
478-
rollupVersion,
479-
watchMode: true,
480-
},
481-
clientEnvironment,
482-
)
473+
const clientContext = clientEnvironment.pluginContainer.minimalContext
483474
const clientHotUpdateOptions = hotMap.get(clientEnvironment)!.options
484475
const ssrHotUpdateOptions = hotMap.get(ssrEnvironment)?.options
485476
try {
@@ -570,13 +561,7 @@ export async function handleHMRUpdate(
570561
for (const environment of Object.values(server.environments)) {
571562
if (environment.name === 'client') continue
572563
const hot = hotMap.get(environment)!
573-
const context = new MinimalPluginContext(
574-
{
575-
rollupVersion,
576-
watchMode: true,
577-
},
578-
environment,
579-
)
564+
const context = environment.pluginContainer.minimalContext
580565
try {
581566
for (const plugin of getSortedHotUpdatePlugins(environment)) {
582567
if (plugin.hotUpdate) {

packages/vite/src/node/server/pluginContainer.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,14 @@ export interface PluginContainerOptions {
137137
* instead of using environment.plugins to allow the creation of different
138138
* pipelines working with the same environment (used for createIdResolver).
139139
*/
140-
export async function createEnvironmentPluginContainer(
141-
environment: Environment,
140+
export async function createEnvironmentPluginContainer<
141+
Env extends Environment = Environment,
142+
>(
143+
environment: Env,
142144
plugins: Plugin[],
143145
watcher?: FSWatcher,
144146
autoStart = true,
145-
): Promise<EnvironmentPluginContainer> {
147+
): Promise<EnvironmentPluginContainer<Env>> {
146148
const container = new EnvironmentPluginContainer(
147149
environment,
148150
plugins,
@@ -160,7 +162,7 @@ export type SkipInformation = {
160162
called?: boolean
161163
}
162164

163-
class EnvironmentPluginContainer {
165+
class EnvironmentPluginContainer<Env extends Environment = Environment> {
164166
private _pluginContextMap = new Map<Plugin, PluginContext>()
165167
private _resolvedRollupOptions?: InputOptions
166168
private _processesing = new Set<Promise<any>>()
@@ -177,7 +179,7 @@ class EnvironmentPluginContainer {
177179

178180
moduleGraph: EnvironmentModuleGraph | undefined
179181
watchFiles = new Set<string>()
180-
minimalContext: MinimalPluginContext
182+
minimalContext: MinimalPluginContext<Env>
181183

182184
private _started = false
183185
private _buildStartPromise: Promise<void> | undefined
@@ -187,7 +189,7 @@ class EnvironmentPluginContainer {
187189
* @internal use `createEnvironmentPluginContainer` instead
188190
*/
189191
constructor(
190-
public environment: Environment,
192+
public environment: Env,
191193
public plugins: Plugin[],
192194
public watcher?: FSWatcher,
193195
autoStart = true,
@@ -599,7 +601,7 @@ export class BasicMinimalPluginContext<Meta = PluginContextMeta> {
599601
}
600602
}
601603

602-
export class MinimalPluginContext<T extends Environment = Environment>
604+
class MinimalPluginContext<T extends Environment = Environment>
603605
extends BasicMinimalPluginContext
604606
implements RollupMinimalPluginContext
605607
{

0 commit comments

Comments
 (0)