worker.invoke.mjs — vite Source File
Architecture documentation for worker.invoke.mjs, a javascript file in the vite codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR b639e53c_3b14_1a24_88b7_fa09f3154fda["worker.invoke.mjs"] 6dfa768a_efc1_54e5_b2de_25126290d891["node:worker_threads"] b639e53c_3b14_1a24_88b7_fa09f3154fda --> 6dfa768a_efc1_54e5_b2de_25126290d891 9ca835cf_b489_83a7_91dd_00ed2ef4e6f6["module-runner"] b639e53c_3b14_1a24_88b7_fa09f3154fda --> 9ca835cf_b489_83a7_91dd_00ed2ef4e6f6 30cf8c63_cbf8_e8bc_f0b6_84fb7d391fd1["birpc"] b639e53c_3b14_1a24_88b7_fa09f3154fda --> 30cf8c63_cbf8_e8bc_f0b6_84fb7d391fd1 style b639e53c_3b14_1a24_88b7_fa09f3154fda 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'
import { createBirpc } from 'birpc'
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('birpc').BirpcReturn<{ invoke: (data: any) => any }>} */
const rpc = createBirpc(
{},
{
post: (data) => pPort.postMessage(data),
on: (data) => pPort.on('message', data),
},
)
const runner = new ModuleRunner(
{
transport: {
invoke(data) {
return rpc.invoke(data)
},
},
createImportMeta: createNodeImportMeta,
hmr: false,
},
new ESModulesEvaluator(),
)
const channel = new BroadcastChannel('vite-worker:invoke')
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
Functions
Dependencies
- birpc
- module-runner
- node:worker_threads
Source
Frequently Asked Questions
What does worker.invoke.mjs do?
worker.invoke.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.invoke.mjs?
worker.invoke.mjs defines 3 function(s): channel, rpc.on, rpc.post.
What does worker.invoke.mjs depend on?
worker.invoke.mjs imports 3 module(s): birpc, module-runner, node:worker_threads.
Where is worker.invoke.mjs in the architecture?
worker.invoke.mjs is located at packages/vite/src/node/ssr/runtime/__tests__/fixtures/worker.invoke.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