Home / Function/ removeUnnecessarySpacingKeys() — tailwindcss Function Reference

removeUnnecessarySpacingKeys() — tailwindcss Function Reference

Architecture documentation for the removeUnnecessarySpacingKeys() function in migrate-js-config.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  c8623640_b79b_0216_79ed_a099482fb629["removeUnnecessarySpacingKeys()"]
  0e91912d_5423_6991_60b0_8afbca30e459["migrateTheme()"]
  0e91912d_5423_6991_60b0_8afbca30e459 -->|calls| c8623640_b79b_0216_79ed_a099482fb629
  7e81974c_f982_608e_d073_bc944851a369["splitNumberAndUnit()"]
  c8623640_b79b_0216_79ed_a099482fb629 -->|calls| 7e81974c_f982_608e_d073_bc944851a369
  c12acffb_80f9_0b95_b1a6_e663fbaca197["isValidSpacingMultiplier()"]
  c8623640_b79b_0216_79ed_a099482fb629 -->|calls| c12acffb_80f9_0b95_b1a6_e663fbaca197
  22e232f7_919c_8490_d3d0_2af2fca034d5["escape()"]
  c8623640_b79b_0216_79ed_a099482fb629 -->|calls| 22e232f7_919c_8490_d3d0_2af2fca034d5
  style c8623640_b79b_0216_79ed_a099482fb629 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/@tailwindcss-upgrade/src/codemods/config/migrate-js-config.ts lines 516–545

function removeUnnecessarySpacingKeys(
  designSystem: DesignSystem,
  resolvedConfig: ResolvedConfig,
  replacedThemeKeys: Set<string>,
) {
  // We want to keep the spacing scale as-is if the user is overwriting
  if (replacedThemeKeys.has('spacing')) return

  // Ensure we have a spacing multiplier
  let spacingScale = designSystem.theme.get(['--spacing'])
  if (!spacingScale) return

  let [spacingMultiplier, spacingUnit] = splitNumberAndUnit(spacingScale)
  if (!spacingMultiplier || !spacingUnit) return

  if (spacingScale && !replacedThemeKeys.has('spacing')) {
    for (let [key, value] of Object.entries(resolvedConfig.theme.spacing ?? {})) {
      let [multiplier, unit] = splitNumberAndUnit(value as string)
      if (multiplier === null) continue

      if (!isValidSpacingMultiplier(key)) continue
      if (unit !== spacingUnit) continue

      if (parseFloat(multiplier) === Number(key) * parseFloat(spacingMultiplier)) {
        delete resolvedConfig.theme.spacing[key]
        designSystem.theme.clearNamespace(escape(`--spacing-${key.replaceAll('.', '_')}`), 0)
      }
    }
  }
}

Subdomains

Called By

Frequently Asked Questions

What does removeUnnecessarySpacingKeys() do?
removeUnnecessarySpacingKeys() is a function in the tailwindcss codebase.
What does removeUnnecessarySpacingKeys() call?
removeUnnecessarySpacingKeys() calls 3 function(s): escape, isValidSpacingMultiplier, splitNumberAndUnit.
What calls removeUnnecessarySpacingKeys()?
removeUnnecessarySpacingKeys() is called by 1 function(s): migrateTheme.

Analyze Your Own Codebase

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

Try Supermodel Free