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
  b28200b3_b5d3_7858_38e3_b07a399f3495["removeUnnecessarySpacingKeys()"]
  b2ba3368_7330_fe20_4543_9cafa8cfedc0["migrate-js-config.ts"]
  b28200b3_b5d3_7858_38e3_b07a399f3495 -->|defined in| b2ba3368_7330_fe20_4543_9cafa8cfedc0
  e26bfad3_530e_6523_7463_161205321110["migrateTheme()"]
  e26bfad3_530e_6523_7463_161205321110 -->|calls| b28200b3_b5d3_7858_38e3_b07a399f3495
  2ebaec7d_7a69_9be4_2789_8f5a6ea3a2f4["splitNumberAndUnit()"]
  b28200b3_b5d3_7858_38e3_b07a399f3495 -->|calls| 2ebaec7d_7a69_9be4_2789_8f5a6ea3a2f4
  a15b3c4a_76ff_0090_fc86_bac24f0a4135["isValidSpacingMultiplier()"]
  b28200b3_b5d3_7858_38e3_b07a399f3495 -->|calls| a15b3c4a_76ff_0090_fc86_bac24f0a4135
  433dc479_0296_0a89_fd12_79fc4ea2b8bd["escape()"]
  b28200b3_b5d3_7858_38e3_b07a399f3495 -->|calls| 433dc479_0296_0a89_fd12_79fc4ea2b8bd
  style b28200b3_b5d3_7858_38e3_b07a399f3495 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, defined in packages/@tailwindcss-upgrade/src/codemods/config/migrate-js-config.ts.
Where is removeUnnecessarySpacingKeys() defined?
removeUnnecessarySpacingKeys() is defined in packages/@tailwindcss-upgrade/src/codemods/config/migrate-js-config.ts at line 516.
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