worker.mjs — vite Source File
Architecture documentation for worker.mjs, a javascript file in the vite codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 4467f80b_1e00_b0f4_f750_4811fbed3aa0["worker.mjs"] 6dfa768a_efc1_54e5_b2de_25126290d891["node:worker_threads"] 4467f80b_1e00_b0f4_f750_4811fbed3aa0 --> 6dfa768a_efc1_54e5_b2de_25126290d891 9ca835cf_b489_83a7_91dd_00ed2ef4e6f6["module-runner"] 4467f80b_1e00_b0f4_f750_4811fbed3aa0 --> 9ca835cf_b489_83a7_91dd_00ed2ef4e6f6 style 4467f80b_1e00_b0f4_f750_4811fbed3aa0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
// @ts-check
import { BroadcastChannel, parentPort } from 'node:worker_threads'
import {
ESModulesEvaluator,
ModuleRunner,
createNodeImportMeta,
} from 'vite/module-runner'
if (!parentPort) {
throw new Error('File "worker.js" must be run in a worker thread')
}
/** @type {import('worker_threads').MessagePort} */
const pPort = parentPort
/** @type {import('vite/module-runner').ModuleRunnerTransport} */
const messagePortTransport = {
connect({ onMessage, onDisconnection }) {
pPort.on('message', onMessage)
pPort.on('close', onDisconnection)
},
send(data) {
pPort.postMessage(data)
},
}
const runner = new ModuleRunner(
{
transport: messagePortTransport,
createImportMeta: createNodeImportMeta,
},
new ESModulesEvaluator(),
)
const channel = new BroadcastChannel('vite-worker')
channel.onmessage = async (message) => {
try {
const mod = await runner.import(message.data.id)
channel.postMessage({ result: mod.default })
} catch (e) {
channel.postMessage({ error: e.stack })
}
}
parentPort.postMessage('ready')
Domain
Subdomains
Dependencies
- module-runner
- node:worker_threads
Source
Frequently Asked Questions
What does worker.mjs do?
worker.mjs is a source file in the vite codebase, written in javascript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in worker.mjs?
worker.mjs defines 3 function(s): channel, messagePortTransport.connect, messagePortTransport.send.
What does worker.mjs depend on?
worker.mjs imports 2 module(s): module-runner, node:worker_threads.
Where is worker.mjs in the architecture?
worker.mjs is located at packages/vite/src/node/ssr/runtime/__tests__/fixtures/worker.mjs (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/ssr/runtime/__tests__/fixtures).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free