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
  0d11f596_e057_1af5_1569_620f9e160e4b["removeUnnecessarySpacingKeys()"]
  ffe9c87e_35ad_f431_9625_80fc875792a7["migrate-js-config.ts"]
  0d11f596_e057_1af5_1569_620f9e160e4b -->|defined in| ffe9c87e_35ad_f431_9625_80fc875792a7
  253815a9_405f_ff30_32b6_577fe2d91fb2["migrateTheme()"]
  253815a9_405f_ff30_32b6_577fe2d91fb2 -->|calls| 0d11f596_e057_1af5_1569_620f9e160e4b
  f73d988e_a245_5b79_e613_ae327ea0e11d["splitNumberAndUnit()"]
  0d11f596_e057_1af5_1569_620f9e160e4b -->|calls| f73d988e_a245_5b79_e613_ae327ea0e11d
  09df19e7_0346_145d_40c4_e93ff14a2ff9["isValidSpacingMultiplier()"]
  0d11f596_e057_1af5_1569_620f9e160e4b -->|calls| 09df19e7_0346_145d_40c4_e93ff14a2ff9
  3330a25c_8114_660c_a3c7_8f1aaa37457d["escape()"]
  0d11f596_e057_1af5_1569_620f9e160e4b -->|calls| 3330a25c_8114_660c_a3c7_8f1aaa37457d
  style 0d11f596_e057_1af5_1569_620f9e160e4b 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