Home / Function/ compileCSS() — vite Function Reference

compileCSS() — vite Function Reference

Architecture documentation for the compileCSS() function in css.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  c641d137_b4cd_833f_0387_7d29ec90fde1["compileCSS()"]
  c3eb47df_971b_0616_6c9f_29b3ded72224["css.ts"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|defined in| c3eb47df_971b_0616_6c9f_29b3ded72224
  157cb972_609e_022e_1ec5_3ed6f7e4f45c["cssPlugin()"]
  157cb972_609e_022e_1ec5_3ed6f7e4f45c -->|calls| c641d137_b4cd_833f_0387_7d29ec90fde1
  4c8f6d74_d3d3_58db_32d0_15e3a669dc14["preprocessCSS()"]
  4c8f6d74_d3d3_58db_32d0_15e3a669dc14 -->|calls| c641d137_b4cd_833f_0387_7d29ec90fde1
  3eaf8b50_562d_6dc6_0d63_a33906ef9339["isPreProcessor()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| 3eaf8b50_562d_6dc6_0d63_a33906ef9339
  e0336cc5_add2_5b51_6027_5f5c568b2852["compileCSSPreprocessors()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| e0336cc5_add2_5b51_6027_5f5c568b2852
  8a5344e1_7e0d_70d0_9c51_6a40c301277b["transformSugarSS()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| 8a5344e1_7e0d_70d0_9c51_6a40c301277b
  cc40a51d_2143_be43_f128_4841bfa5e9d3["compileLightningCSS()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| cc40a51d_2143_be43_f128_4841bfa5e9d3
  6aa50cd4_4412_2a02_b76b_495614715811["compilePostCSS()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| 6aa50cd4_4412_2a02_b76b_495614715811
  ade0e43e_6c50_1bd7_8322_ba7f0b5f15a8["combineSourcemapsIfExists()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| ade0e43e_6c50_1bd7_8322_ba7f0b5f15a8
  10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| 10b9dea8_362c_1af2_93be_afa4dd9aed9e
  2ed2578e_588a_efd0_df6b_829e1a96adf2["parse()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| 2ed2578e_588a_efd0_df6b_829e1a96adf2
  style c641d137_b4cd_833f_0387_7d29ec90fde1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/plugins/css.ts lines 1414–1489

async function compileCSS(
  environment: PartialEnvironment,
  id: string,
  code: string,
  workerController: PreprocessorWorkerController,
  urlResolver?: CssUrlResolver,
): Promise<{
  code: string
  map?: SourceMapInput
  modules?: Record<string, string>
  deps?: Set<string>
}> {
  const { config } = environment
  const lang = CSS_LANGS_RE.exec(id)?.[1] as CssLang | undefined
  const deps = new Set<string>()

  // pre-processors: sass etc.
  let preprocessorMap: ExistingRawSourceMap | { mappings: '' } | undefined
  if (isPreProcessor(lang)) {
    const preprocessorResult = await compileCSSPreprocessors(
      environment,
      id,
      lang,
      code,
      workerController,
    )
    code = preprocessorResult.code
    preprocessorMap = preprocessorResult.map
    preprocessorResult.deps?.forEach((dep) => deps.add(dep))
  } else if (lang === 'sss' && config.css.transformer === 'lightningcss') {
    const sssResult = await transformSugarSS(environment, id, code)
    code = sssResult.code
    preprocessorMap = sssResult.map
  }

  const transformResult = await (config.css.transformer === 'lightningcss'
    ? compileLightningCSS(
        environment,
        id,
        code,
        deps,
        workerController,
        urlResolver,
      )
    : compilePostCSS(
        environment,
        id,
        code,
        deps,
        lang,
        workerController,
        urlResolver,
      ))

  if (!transformResult) {
    return {
      code,
      map: config.css.devSourcemap ? preprocessorMap : { mappings: '' },
      deps,
    }
  }

  return {
    ...transformResult,
    map: config.css.devSourcemap
      ? combineSourcemapsIfExists(
          cleanUrl(id),
          typeof transformResult.map === 'string'
            ? JSON.parse(transformResult.map)
            : transformResult.map,
          preprocessorMap,
        )
      : { mappings: '' },
    deps,
  }
}

Domain

Subdomains

Frequently Asked Questions

What does compileCSS() do?
compileCSS() is a function in the vite codebase, defined in packages/vite/src/node/plugins/css.ts.
Where is compileCSS() defined?
compileCSS() is defined in packages/vite/src/node/plugins/css.ts at line 1414.
What does compileCSS() call?
compileCSS() calls 8 function(s): cleanUrl, combineSourcemapsIfExists, compileCSSPreprocessors, compileLightningCSS, compilePostCSS, isPreProcessor, parse, transformSugarSS.
What calls compileCSS()?
compileCSS() is called by 2 function(s): cssPlugin, preprocessCSS.

Analyze Your Own Codebase

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

Try Supermodel Free