vite.config.ts — vite Source File
Architecture documentation for vite.config.ts, a typescript file in the vite codebase. 1 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR c816e784_0e00_b166_e645_64c52c7c4d00["vite.config.ts"] 54c37fea_4fe7_2693_71cb_1276b77f55f9["vite"] c816e784_0e00_b166_e645_64c52c7c4d00 --> 54c37fea_4fe7_2693_71cb_1276b77f55f9 style c816e784_0e00_b166_e645_64c52c7c4d00 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { defineConfig } from 'vite'
import type { Plugin } from 'vite'
export default defineConfig({
experimental: {
hmrPartialAccept: true,
},
build: {
assetsInlineLimit(filePath) {
if (filePath.endsWith('logo-no-inline.svg')) {
return false
}
},
},
plugins: [
{
name: 'mock-custom',
async hotUpdate({ file, read, server }) {
if (file.endsWith('customFile.js')) {
const content = await read()
const msg = content.match(/export const msg = '(\w+)'/)[1]
this.environment.hot.send('custom:foo', { msg })
this.environment.hot.send('custom:remove', { msg })
}
},
configureServer(server) {
server.environments.ssr.hot.on(
'custom:remote-add',
({ a, b }, client) => {
client.send('custom:remote-add-result', { result: a + b })
},
)
},
},
virtualPlugin(),
transformCountPlugin(),
queryPlugin(),
],
})
function virtualPlugin(): Plugin {
let num = 0
return {
name: 'virtual-file',
resolveId(id, importer) {
if (id === 'virtual:file' || id === '\0virtual:file') {
return '\0virtual:file'
}
},
load(id) {
if (id === '\0virtual:file') {
return `\
import { virtual as _virtual } from "/importedVirtual.js";
export const virtual = _virtual + '${num}';`
}
},
configureServer(server) {
server.environments.ssr.hot.on('virtual:increment', async () => {
const mod =
await server.environments.ssr.moduleGraph.getModuleByUrl(
'\0virtual:file',
)
if (mod) {
num++
server.environments.ssr.reloadModule(mod)
}
})
},
}
}
function queryPlugin(): Plugin {
return {
name: 'query-resolver',
transform(code, id) {
if (id.includes('?query1')) {
return `export default ${JSON.stringify(code + 'query1')}`
}
if (id.includes('?query2')) {
return `export default ${JSON.stringify(code + 'query2')}`
}
},
}
}
function transformCountPlugin(): Plugin {
let num = 0
return {
name: 'transform-count',
transform(code) {
if (code.includes('__TRANSFORM_COUNT__')) {
return code.replace('__TRANSFORM_COUNT__', String(++num))
}
},
}
}
Domain
Subdomains
Dependencies
- vite
Source
Frequently Asked Questions
What does vite.config.ts do?
vite.config.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 vite.config.ts?
vite.config.ts defines 3 function(s): queryPlugin, transformCountPlugin, virtualPlugin.
What does vite.config.ts depend on?
vite.config.ts imports 1 module(s): vite.
Where is vite.config.ts in the architecture?
vite.config.ts is located at playground/hmr-ssr/vite.config.ts (domain: ViteCore, subdomain: ConfigEngine, directory: playground/hmr-ssr).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free