optimizedDeps.ts — vite Source File
Architecture documentation for optimizedDeps.ts, a typescript file in the vite codebase. 14 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 1ad5c135_fc65_cc8f_2918_6f109d7fd644["optimizedDeps.ts"] 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7["plugin.ts"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7 1dc2cf7d_5d97_c778_8c33_6449a7607aef["Plugin"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 1dc2cf7d_5d97_c778_8c33_6449a7607aef 545df65b_7f67_94d3_e2e8_a592d5e64b8f["constants.ts"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 545df65b_7f67_94d3_e2e8_a592d5e64b8f 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 031bc221_67a8_c579_f2bf_bb30a08beeb2 23a2e685_f919_9578_27ba_bde71c122058["createDebugger"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 23a2e685_f919_9578_27ba_bde71c122058 2f328851_91ee_fb05_63f0_4f466b9d6250["index.ts"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 2f328851_91ee_fb05_63f0_4f466b9d6250 cf8cccc0_fa2a_e8ac_480a_47c54435825c["isDepOptimizationDisabled"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> cf8cccc0_fa2a_e8ac_480a_47c54435825c 0e7dedc8_f980_705d_9b47_79e0785d8853["optimizedDepInfoFromFile"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 0e7dedc8_f980_705d_9b47_79e0785d8853 abfc9e70_3c15_b3f0_a595_3cf27afb7e64["utils.ts"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> abfc9e70_3c15_b3f0_a595_3cf27afb7e64 10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 10b9dea8_362c_1af2_93be_afa4dd9aed9e ffe942a0_fdea_ef58_0f68_6f1fec25f285["constants.ts"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> ffe942a0_fdea_ef58_0f68_6f1fec25f285 a09ff191_7c83_bdcd_30f1_b4e129910bf6["promises"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> a09ff191_7c83_bdcd_30f1_b4e129910bf6 bff4f846_ab01_b5ba_74d4_c1608e434d2c["picocolors"] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> bff4f846_ab01_b5ba_74d4_c1608e434d2c 2616bf8c_8895_7af5_fb6e_8424b9e71ea7[".."] 1ad5c135_fc65_cc8f_2918_6f109d7fd644 --> 2616bf8c_8895_7af5_fb6e_8424b9e71ea7 style 1ad5c135_fc65_cc8f_2918_6f109d7fd644 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import fsp from 'node:fs/promises'
import colors from 'picocolors'
import type { DevEnvironment } from '..'
import type { Plugin } from '../plugin'
import {
DEP_VERSION_RE,
ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR,
ERR_OPTIMIZE_DEPS_PROCESSING_ERROR,
} from '../constants'
import { createDebugger } from '../utils'
import {
isDepOptimizationDisabled,
optimizedDepInfoFromFile,
} from '../optimizer'
import { cleanUrl } from '../../shared/utils'
import { ERR_OUTDATED_OPTIMIZED_DEP } from '../../shared/constants'
const debug = createDebugger('vite:optimize-deps')
export function optimizedDepsPlugin(): Plugin {
return {
name: 'vite:optimized-deps',
applyToEnvironment(environment) {
return !isDepOptimizationDisabled(environment.config.optimizeDeps)
},
resolveId(id) {
const environment = this.environment as DevEnvironment
if (environment.depsOptimizer?.isOptimizedDepFile(id)) {
return id
}
},
// this.load({ id }) isn't implemented in PluginContainer
// The logic to register an id to wait until it is processed
// is in importAnalysis, see call to delayDepsOptimizerUntil
async load(id) {
const environment = this.environment as DevEnvironment
const depsOptimizer = environment.depsOptimizer
if (depsOptimizer?.isOptimizedDepFile(id)) {
const metadata = depsOptimizer.metadata
const file = cleanUrl(id)
const versionMatch = DEP_VERSION_RE.exec(id)
const browserHash = versionMatch
? versionMatch[1].split('=')[1]
: undefined
// Search in both the currently optimized and newly discovered deps
const info = optimizedDepInfoFromFile(metadata, file)
if (info) {
if (
browserHash &&
info.browserHash !== browserHash &&
!environment.config.optimizeDeps.ignoreOutdatedRequests
) {
throwOutdatedRequest(id)
}
try {
// ... (74 more lines)
Domain
Subdomains
Functions
Dependencies
Source
Frequently Asked Questions
What does optimizedDeps.ts do?
optimizedDeps.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 optimizedDeps.ts?
optimizedDeps.ts defines 4 function(s): optimizedDepsPlugin, throwFileNotFoundInOptimizedDep, throwOutdatedRequest, throwProcessingError.
What does optimizedDeps.ts depend on?
optimizedDeps.ts imports 14 module(s): .., Plugin, cleanUrl, constants.ts, constants.ts, createDebugger, index.ts, isDepOptimizationDisabled, and 6 more.
What files import optimizedDeps.ts?
optimizedDeps.ts is imported by 2 file(s): importAnalysis.ts, index.ts.
Where is optimizedDeps.ts in the architecture?
optimizedDeps.ts is located at packages/vite/src/node/plugins/optimizedDeps.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