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

build.spec.ts — vite Source File

Architecture documentation for build.spec.ts, a typescript file in the vite codebase. 18 imports, 0 dependents.

File typescript ViteCore ConfigEngine 18 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  3e7daccf_2fe4_9035_51ba_1725f7c874bd["build.spec.ts"]
  45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> 45981d85_cbdd_e969_8c88_c17072ea0eda
  e6588914_e479_3228_ef5c_3dad8e0e27e8["LibraryFormats"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> e6588914_e479_3228_ef5c_3dad8e0e27e8
  d20164cd_247c_9121_2cec_43e59b542b6f["LibraryOptions"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> d20164cd_247c_9121_2cec_43e59b542b6f
  bbded320_f805_2b6e_3109_088d194024a2["build"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> bbded320_f805_2b6e_3109_088d194024a2
  8fb400c0_eabf_b57a_2905_d2afc7644da6["createBuilder"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> 8fb400c0_eabf_b57a_2905_d2afc7644da6
  5f780e97_091a_dfa9_1506_327f54d41dca["onRollupLog"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> 5f780e97_091a_dfa9_1506_327f54d41dca
  c96008e0_3b87_08ec_3ca8_496b2bf473ab["resolveBuildOutputs"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> c96008e0_3b87_08ec_3ca8_496b2bf473ab
  fef76ea3_a24d_c3ab_a223_9dccb849d65f["resolveLibFilename"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> fef76ea3_a24d_c3ab_a223_9dccb849d65f
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81["logger.ts"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  fff7f05e_fc73_d337_53a0_b846230bc8e2["Logger"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> fff7f05e_fc73_d337_53a0_b846230bc8e2
  04e3b119_ae40_14a9_42ce_3951d83fc60d["createLogger"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> 04e3b119_ae40_14a9_42ce_3951d83fc60d
  51e96894_3556_ed5c_1ede_97d449867adf["node:path"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> 51e96894_3556_ed5c_1ede_97d449867adf
  10809968_066c_58db_f8b4_cb0464da805e["node:util"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> 10809968_066c_58db_f8b4_cb0464da805e
  a09ff191_7c83_bdcd_30f1_b4e129910bf6["promises"]
  3e7daccf_2fe4_9035_51ba_1725f7c874bd --> a09ff191_7c83_bdcd_30f1_b4e129910bf6
  style 3e7daccf_2fe4_9035_51ba_1725f7c874bd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { basename, resolve } from 'node:path'
import { stripVTControlCharacters } from 'node:util'
import fsp from 'node:fs/promises'
import colors from 'picocolors'
import { afterEach, describe, expect, test, vi } from 'vitest'
import type {
  LogLevel,
  OutputChunk,
  OutputOptions,
  RolldownOptions,
  RolldownOutput,
  RollupLog,
} from 'rolldown'
import type { LibraryFormats, LibraryOptions } from '../build'
import {
  build,
  createBuilder,
  onRollupLog,
  resolveBuildOutputs,
  resolveLibFilename,
} from '../build'
import type { Logger } from '../logger'
import { createLogger } from '../logger'
import { BuildEnvironment, resolveConfig } from '..'

const dirname = import.meta.dirname

type FormatsToFileNames = [LibraryFormats, string][]

describe('build', () => {
  test('file hash should change when css changes for dynamic entries', async () => {
    const buildProject = async (cssColor: string) => {
      return (await build({
        root: resolve(dirname, 'packages/build-project'),
        logLevel: 'silent',
        build: {
          write: false,
        },
        plugins: [
          {
            name: 'test',
            resolveId(id) {
              if (
                id === 'entry.js' ||
                id === 'subentry.js' ||
                id === 'foo.css'
              ) {
                return '\0' + id
              }
            },
            load(id) {
              if (id === '\0entry.js') {
                return `window.addEventListener('click', () => { import('subentry.js') });`
              }
              if (id === '\0subentry.js') {
                return `import 'foo.css'`
              }
              if (id === '\0foo.css') {
                return `.foo { color: ${cssColor} }`
              }
// ... (1142 more lines)

Domain

Subdomains

Frequently Asked Questions

What does build.spec.ts do?
build.spec.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 build.spec.ts?
build.spec.ts defines 2 function(s): assertOutputHashContentChange, getOutputHashChanges.
What does build.spec.ts depend on?
build.spec.ts imports 18 module(s): .., LibraryFormats, LibraryOptions, Logger, build, build.ts, createBuilder, createLogger, and 10 more.
Where is build.spec.ts in the architecture?
build.spec.ts is located at packages/vite/src/node/__tests__/build.spec.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/__tests__).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free