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
  abaa1198_ca17_6d7e_fe6d_a70c79ad1e3f["removeUnnecessarySpacingKeys()"]
  77d1d37f_6021_dc8c_6d04_0c3b07e3ad19["migrateTheme()"]
  77d1d37f_6021_dc8c_6d04_0c3b07e3ad19 -->|calls| abaa1198_ca17_6d7e_fe6d_a70c79ad1e3f
  1f714e1a_f647_33f0_d173_b7b8c1afb72f["splitNumberAndUnit()"]
  abaa1198_ca17_6d7e_fe6d_a70c79ad1e3f -->|calls| 1f714e1a_f647_33f0_d173_b7b8c1afb72f
  1dd167b2_b42d_8596_9276_d0e969bf2522["isValidSpacingMultiplier()"]
  abaa1198_ca17_6d7e_fe6d_a70c79ad1e3f -->|calls| 1dd167b2_b42d_8596_9276_d0e969bf2522
  7cf1fe2b_69a4_05dc_ae13_d3eebe4e10fc["escape()"]
  abaa1198_ca17_6d7e_fe6d_a70c79ad1e3f -->|calls| 7cf1fe2b_69a4_05dc_ae13_d3eebe4e10fc
  style abaa1198_ca17_6d7e_fe6d_a70c79ad1e3f 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)
      }
    }
  }
}

Domain

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