Home / Function/ compileCSSPreprocessors() — vite Function Reference

compileCSSPreprocessors() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  e0336cc5_add2_5b51_6027_5f5c568b2852["compileCSSPreprocessors()"]
  c3eb47df_971b_0616_6c9f_29b3ded72224["css.ts"]
  e0336cc5_add2_5b51_6027_5f5c568b2852 -->|defined in| c3eb47df_971b_0616_6c9f_29b3ded72224
  c641d137_b4cd_833f_0387_7d29ec90fde1["compileCSS()"]
  c641d137_b4cd_833f_0387_7d29ec90fde1 -->|calls| e0336cc5_add2_5b51_6027_5f5c568b2852
  6aa50cd4_4412_2a02_b76b_495614715811["compilePostCSS()"]
  6aa50cd4_4412_2a02_b76b_495614715811 -->|calls| e0336cc5_add2_5b51_6027_5f5c568b2852
  cc40a51d_2143_be43_f128_4841bfa5e9d3["compileLightningCSS()"]
  cc40a51d_2143_be43_f128_4841bfa5e9d3 -->|calls| e0336cc5_add2_5b51_6027_5f5c568b2852
  40ac1f90_7a40_f7a5_f25c_701a010aa803["getAtImportResolvers()"]
  e0336cc5_add2_5b51_6027_5f5c568b2852 -->|calls| 40ac1f90_7a40_f7a5_f25c_701a010aa803
  b1f5b07b_f692_69cd_1795_627055928bb7["getTopLevelConfig()"]
  e0336cc5_add2_5b51_6027_5f5c568b2852 -->|calls| b1f5b07b_f692_69cd_1795_627055928bb7
  10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl()"]
  e0336cc5_add2_5b51_6027_5f5c568b2852 -->|calls| 10b9dea8_362c_1af2_93be_afa4dd9aed9e
  a4adb1a7_cf54_091f_eb63_8217e684a8e1["normalizePath()"]
  e0336cc5_add2_5b51_6027_5f5c568b2852 -->|calls| a4adb1a7_cf54_091f_eb63_8217e684a8e1
  ade0e43e_6c50_1bd7_8322_ba7f0b5f15a8["combineSourcemapsIfExists()"]
  e0336cc5_add2_5b51_6027_5f5c568b2852 -->|calls| ade0e43e_6c50_1bd7_8322_ba7f0b5f15a8
  style e0336cc5_add2_5b51_6027_5f5c568b2852 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/plugins/css.ts lines 1344–1399

async function compileCSSPreprocessors(
  environment: PartialEnvironment,
  id: string,
  lang: PreprocessLang,
  code: string,
  workerController: PreprocessorWorkerController,
): Promise<{
  code: string
  map?: ExistingRawSourceMap | { mappings: '' }
  deps?: Set<string>
}> {
  const { config } = environment
  const { preprocessorOptions, devSourcemap } = config.css
  const atImportResolvers = getAtImportResolvers(
    environment.getTopLevelConfig(),
  )
  const opts = {
    ...((preprocessorOptions && preprocessorOptions[lang]) || {}),
    // important: set this for relative import resolving
    filename: cleanUrl(id),
    enableSourcemap: devSourcemap ?? false,
  }

  const preProcessor = workerController[lang]
  const preprocessResult = await preProcessor(
    environment,
    code,
    config.root,
    opts,
    atImportResolvers,
  )
  if (preprocessResult.error) {
    throw preprocessResult.error
  }

  let deps: Set<string> | undefined
  if (preprocessResult.deps.length > 0) {
    const normalizedFilename = normalizePath(opts.filename)
    // sometimes sass registers the file itself as a dep
    deps = new Set(
      [...preprocessResult.deps].filter(
        (dep) => normalizePath(dep) !== normalizedFilename,
      ),
    )
  }

  return {
    code: preprocessResult.code,
    map: combineSourcemapsIfExists(
      opts.filename,
      preprocessResult.map,
      preprocessResult.additionalMap,
    ),
    deps,
  }
}

Domain

Subdomains

Frequently Asked Questions

What does compileCSSPreprocessors() do?
compileCSSPreprocessors() is a function in the vite codebase, defined in packages/vite/src/node/plugins/css.ts.
Where is compileCSSPreprocessors() defined?
compileCSSPreprocessors() is defined in packages/vite/src/node/plugins/css.ts at line 1344.
What does compileCSSPreprocessors() call?
compileCSSPreprocessors() calls 5 function(s): cleanUrl, combineSourcemapsIfExists, getAtImportResolvers, getTopLevelConfig, normalizePath.
What calls compileCSSPreprocessors()?
compileCSSPreprocessors() is called by 3 function(s): compileCSS, compileLightningCSS, compilePostCSS.

Analyze Your Own Codebase

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

Try Supermodel Free