transform.ts — vite Source File
Architecture documentation for transform.ts, a typescript file in the vite codebase. 39 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 9da9b065_5c17_7764_d8e4_bd411021bf8d["transform.ts"] 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 031bc221_67a8_c579_f2bf_bb30a08beeb2 23a2e685_f919_9578_27ba_bde71c122058["createDebugger"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 23a2e685_f919_9578_27ba_bde71c122058 2f0da199_9f02_5b00_9a83_0406650f871a["fsPathFromId"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 2f0da199_9f02_5b00_9a83_0406650f871a 1948f092_e5a5_076b_2f59_79ef22dec191["injectQuery"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 1948f092_e5a5_076b_2f59_79ef22dec191 ae8703ad_85e4_a4b4_5a15_57955bb1f6ce["isCSSRequest"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> ae8703ad_85e4_a4b4_5a15_57955bb1f6ce 13d1ff08_16f8_81bc_1a7a_cd281614a4d3["isImportRequest"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 13d1ff08_16f8_81bc_1a7a_cd281614a4d3 339d40b3_de1a_5feb_2d6a_c19f0aafdfe2["isJSRequest"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 339d40b3_de1a_5feb_2d6a_c19f0aafdfe2 a4adb1a7_cf54_091f_eb63_8217e684a8e1["normalizePath"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> a4adb1a7_cf54_091f_eb63_8217e684a8e1 0850ad90_f980_60a3_ab1f_b17433109b74["prettifyUrl"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 0850ad90_f980_60a3_ab1f_b17433109b74 92b179fa_3139_d3e0_f865_77312413686b["removeImportQuery"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 92b179fa_3139_d3e0_f865_77312413686b 3f57c8be_be57_4cf4_aa11_4ed077229c70["removeTimestampQuery"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 3f57c8be_be57_4cf4_aa11_4ed077229c70 b6714c40_d79b_b9e8_4a00_ef2de34c1c93["send.ts"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> b6714c40_d79b_b9e8_4a00_ef2de34c1c93 7c73fde5_2ada_95e2_0b3f_1ad78222da67["send"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> 7c73fde5_2ada_95e2_0b3f_1ad78222da67 ee4fcff9_3096_e290_234c_be9d1a2c8a4b["transformRequest.ts"] 9da9b065_5c17_7764_d8e4_bd411021bf8d --> ee4fcff9_3096_e290_234c_be9d1a2c8a4b style 9da9b065_5c17_7764_d8e4_bd411021bf8d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import path from 'node:path'
import fsp from 'node:fs/promises'
import colors from 'picocolors'
import type { ExistingRawSourceMap } from 'rolldown'
import type { Connect } from '#dep-types/connect'
import type { ViteDevServer } from '..'
import {
createDebugger,
fsPathFromId,
injectQuery,
isCSSRequest,
isImportRequest,
isJSRequest,
normalizePath,
prettifyUrl,
removeImportQuery,
removeTimestampQuery,
} from '../../utils'
import { send } from '../send'
import { ERR_DENIED_ID, ERR_LOAD_URL } from '../transformRequest'
import { applySourcemapIgnoreList } from '../sourcemap'
import { isHTMLProxy } from '../../plugins/html'
import {
DEP_VERSION_RE,
ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR,
ERR_OPTIMIZE_DEPS_PROCESSING_ERROR,
FS_PREFIX,
} from '../../constants'
import { isDirectCSSRequest, isDirectRequest } from '../../plugins/css'
import { ERR_CLOSED_SERVER } from '../pluginContainer'
import { cleanUrl, unwrapId, withTrailingSlash } from '../../../shared/utils'
import {
ERR_OUTDATED_OPTIMIZED_DEP,
NULL_BYTE_PLACEHOLDER,
} from '../../../shared/constants'
import type { ResolvedConfig } from '../../config'
import { checkLoadingAccess, respondWithAccessDenied } from './static'
const debugCache = createDebugger('vite:cache')
const knownIgnoreList = new Set(['/', '/favicon.ico'])
const documentFetchDests = new Set([
'document',
'iframe',
'frame',
'fencedframe',
])
function isDocumentFetchDest(req: Connect.IncomingMessage) {
const fetchDest = req.headers['sec-fetch-dest']
return fetchDest !== undefined && documentFetchDests.has(fetchDest)
}
// TODO: consolidate this regex pattern with the url, raw, and inline checks in plugins
const urlRE = /[?&]url\b/
const rawRE = /[?&]raw\b/
const inlineRE = /[?&]inline\b/
const svgRE = /\.svg\b/
function isServerAccessDeniedForTransform(config: ResolvedConfig, id: string) {
// ... (316 more lines)
Domain
Subdomains
Functions
Dependencies
- ..
- ResolvedConfig
- applySourcemapIgnoreList
- checkLoadingAccess
- cleanUrl
- config.ts
- connect
- constants.ts
- constants.ts
- createDebugger
- css.ts
- fsPathFromId
- html.ts
- injectQuery
- isCSSRequest
- isDirectCSSRequest
- isDirectRequest
- isHTMLProxy
- isImportRequest
- isJSRequest
- node:path
- normalizePath
- picocolors
- pluginContainer.ts
- prettifyUrl
- promises
- removeImportQuery
- removeTimestampQuery
- respondWithAccessDenied
- rolldown
- send
- send.ts
- sourcemap.ts
- static.ts
- transformRequest.ts
- unwrapId
- utils.ts
- utils.ts
- withTrailingSlash
Imported By
Source
Frequently Asked Questions
What does transform.ts do?
transform.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 transform.ts?
transform.ts defines 4 function(s): cachedTransformMiddleware, isDocumentFetchDest, isServerAccessDeniedForTransform, transformMiddleware.
What does transform.ts depend on?
transform.ts imports 39 module(s): .., ResolvedConfig, applySourcemapIgnoreList, checkLoadingAccess, cleanUrl, config.ts, connect, constants.ts, and 31 more.
What files import transform.ts?
transform.ts is imported by 1 file(s): index.ts.
Where is transform.ts in the architecture?
transform.ts is located at packages/vite/src/node/server/middlewares/transform.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/server/middlewares).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free