define.spec.ts — vite Source File
Architecture documentation for define.spec.ts, a typescript file in the vite codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 46519de5_d59c_1c1d_dab6_2516abc896ce["define.spec.ts"] a6f59069_6070_6880_416d_9e8c0b0817c9["vite.config.js"] 46519de5_d59c_1c1d_dab6_2516abc896ce --> a6f59069_6070_6880_416d_9e8c0b0817c9 a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"] 46519de5_d59c_1c1d_dab6_2516abc896ce --> a340ba46_b2b7_3048_3bb3_6907a74c8464 d3fd5575_295b_d6be_24dd_62d277645dc9["~utils"] 46519de5_d59c_1c1d_dab6_2516abc896ce --> d3fd5575_295b_d6be_24dd_62d277645dc9 style 46519de5_d59c_1c1d_dab6_2516abc896ce fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { expect, test } from 'vitest'
import viteConfig from '../vite.config'
import { page } from '~utils'
const defines = viteConfig.define
const envDefines = viteConfig.environments.client.define
test('string', async () => {
expect(await page.textContent('.exp')).toBe(
String(typeof eval(defines.__EXP__)),
)
expect(await page.textContent('.string')).toBe(JSON.parse(defines.__STRING__))
expect(await page.textContent('.number')).toBe(String(defines.__NUMBER__))
expect(await page.textContent('.boolean')).toBe(String(defines.__BOOLEAN__))
expect(await page.textContent('.undefined')).toBe('')
expect(await page.textContent('.object')).toBe(
JSON.stringify(defines.__OBJ__, null, 2),
)
expect(await page.textContent('.process-node-env')).toBe(
JSON.parse(defines['process.env.NODE_ENV']),
)
expect(await page.textContent('.process-env')).toBe(
JSON.stringify(defines['process.env'], null, 2),
)
expect(await page.textContent('.env-var')).toBe(
JSON.parse(defines['process.env.SOMEVAR']),
)
expect(await page.textContent('.process-as-property')).toBe(
defines.__OBJ__.process.env.SOMEVAR,
)
expect(await page.textContent('.spread-object')).toBe(
JSON.stringify({ SOMEVAR: defines['process.env.SOMEVAR'] }),
)
expect(await page.textContent('.spread-array')).toBe(
JSON.stringify([...defines.__STRING__]),
)
expect(await page.textContent('.dollar-identifier')).toBe(
String(defines.$DOLLAR),
)
expect(await page.textContent('.unicode-identifier')).toBe(
String(defines.ÖUNICODE_LETTERɵ),
)
expect(await page.textContent('.no-identifier-substring')).toBe(String(true))
expect(await page.textContent('.no-property')).toBe(String(true))
// html wouldn't need to define replacement
expect(await page.textContent('.exp-define')).toBe('__EXP__')
expect(await page.textContent('.import-json')).toBe('__EXP__')
expect(await page.textContent('.define-in-dep')).toBe(
defines.__STRINGIFIED_OBJ__,
)
expect(await page.textContent('.define-in-environment')).toBe(
envDefines.__DEFINE_IN_ENVIRONMENT__,
)
})
test('ignores constants in string literals', async () => {
expect(
await page.textContent('.ignores-string-literals .process-env-dot'),
).toBe('process.env.')
// ... (62 more lines)
Domain
Dependencies
- vite.config.js
- vitest
- ~utils
Source
Frequently Asked Questions
What does define.spec.ts do?
define.spec.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain.
What does define.spec.ts depend on?
define.spec.ts imports 3 module(s): vite.config.js, vitest, ~utils.
Where is define.spec.ts in the architecture?
define.spec.ts is located at playground/define/__tests__/define.spec.ts (domain: ViteCore, directory: playground/define/__tests__).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free