Home / File/ define.spec.ts — vite Source File

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

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