workerImportMetaUrl.ts — vite Source File
Architecture documentation for workerImportMetaUrl.ts, a typescript file in the vite codebase. 30 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR f241296c_aba8_08ac_c4f9_aed85a9eb247["workerImportMetaUrl.ts"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b eb5604c2_58e1_1c00_5a1a_5d97ea5236ad["ResolvedConfig"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> eb5604c2_58e1_1c00_5a1a_5d97ea5236ad 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7["plugin.ts"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7 1dc2cf7d_5d97_c778_8c33_6449a7607aef["Plugin"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 1dc2cf7d_5d97_c778_8c33_6449a7607aef 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 031bc221_67a8_c579_f2bf_bb30a08beeb2 59716ea1_465c_8cb5_daff_ba167d787a1e["evalValue"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 59716ea1_465c_8cb5_daff_ba167d787a1e 1948f092_e5a5_076b_2f59_79ef22dec191["injectQuery"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 1948f092_e5a5_076b_2f59_79ef22dec191 6841c80c_8127_d8ce_ac5d_bb48de9eee42["transformStableResult"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 6841c80c_8127_d8ce_ac5d_bb48de9eee42 55b2a3d2_8787_d760_1a76_1d2854a39807["idResolver.ts"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 55b2a3d2_8787_d760_1a76_1d2854a39807 7ee86c21_2650_c869_2f5d_720909757e00["createBackCompatIdResolver"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 7ee86c21_2650_c869_2f5d_720909757e00 f584d0de_7321_2631_e67a_f513fe43468b["ResolveIdFn"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> f584d0de_7321_2631_e67a_f513fe43468b abfc9e70_3c15_b3f0_a595_3cf27afb7e64["utils.ts"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> abfc9e70_3c15_b3f0_a595_3cf27afb7e64 10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> 10b9dea8_362c_1af2_93be_afa4dd9aed9e f094d39d_cd97_2548_86c3_38902c2f3301["slash"] f241296c_aba8_08ac_c4f9_aed85a9eb247 --> f094d39d_cd97_2548_86c3_38902c2f3301 style f241296c_aba8_08ac_c4f9_aed85a9eb247 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import path from 'node:path'
import MagicString from 'magic-string'
import type { RollupError } from 'rolldown'
import { parseAstAsync } from 'rolldown/parseAst'
import { stripLiteral } from 'strip-literal'
import type { Expression, ExpressionStatement } from 'estree'
import type { ResolvedConfig } from '../config'
import type { Plugin } from '../plugin'
import { evalValue, injectQuery, transformStableResult } from '../utils'
import { createBackCompatIdResolver } from '../idResolver'
import type { ResolveIdFn } from '../idResolver'
import { cleanUrl, slash } from '../../shared/utils'
import type { WorkerType } from './worker'
import { WORKER_FILE_ID, workerFileToUrl } from './worker'
import { fileToUrl, toOutputFilePathInJSForBundledDev } from './asset'
import type { InternalResolveOptions } from './resolve'
import { tryFsResolve } from './resolve'
import { hasViteIgnoreRE } from './importAnalysis'
interface WorkerOptions {
type?: WorkerType
}
function err(e: string, pos: number) {
const error = new Error(e) as RollupError
error.pos = pos
return error
}
function findClosingParen(input: string, fromIndex: number) {
let count = 1
for (let i = fromIndex; i < input.length; i++) {
if (input[i] === '(') count++
if (input[i] === ')') count--
if (count === 0) return i
}
return -1
}
function extractWorkerTypeFromAst(
expression: Expression,
optsStartIndex: number,
): 'classic' | 'module' | undefined {
if (expression.type !== 'ObjectExpression') {
return
}
let lastSpreadElementIndex = -1
let typeProperty = null
let typePropertyIndex = -1
for (let i = 0; i < expression.properties.length; i++) {
const property = expression.properties[i]
if (property.type === 'SpreadElement') {
lastSpreadElementIndex = i
continue
}
// ... (238 more lines)
Domain
Subdomains
Functions
Types
Dependencies
- InternalResolveOptions
- Plugin
- ResolveIdFn
- ResolvedConfig
- WorkerType
- asset.ts
- cleanUrl
- config.ts
- createBackCompatIdResolver
- estree
- evalValue
- fileToUrl
- idResolver.ts
- importAnalysis.ts
- injectQuery
- magic-string
- node:path
- parseAst
- plugin.ts
- resolve.ts
- rolldown
- slash
- strip-literal
- toOutputFilePathInJSForBundledDev
- transformStableResult
- tryFsResolve
- utils.ts
- utils.ts
- worker.ts
- workerFileToUrl
Imported By
Source
Frequently Asked Questions
What does workerImportMetaUrl.ts do?
workerImportMetaUrl.ts is a source file in the vite codebase, written in typescript. It belongs to the PluginSystem domain, AssetManagement subdomain.
What functions are defined in workerImportMetaUrl.ts?
workerImportMetaUrl.ts defines 6 function(s): err, extractWorkerTypeFromAst, findClosingParen, getWorkerType, parseWorkerOptions, workerImportMetaUrlPlugin.
What does workerImportMetaUrl.ts depend on?
workerImportMetaUrl.ts imports 30 module(s): InternalResolveOptions, Plugin, ResolveIdFn, ResolvedConfig, WorkerType, asset.ts, cleanUrl, config.ts, and 22 more.
What files import workerImportMetaUrl.ts?
workerImportMetaUrl.ts is imported by 2 file(s): index.ts, workerImportMetaUrl.spec.ts.
Where is workerImportMetaUrl.ts in the architecture?
workerImportMetaUrl.ts is located at packages/vite/src/node/plugins/workerImportMetaUrl.ts (domain: PluginSystem, subdomain: AssetManagement, directory: packages/vite/src/node/plugins).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free