Home / File/ migrate-canonicalize-candidate.ts — tailwindcss Source File

migrate-canonicalize-candidate.ts — tailwindcss Source File

Architecture documentation for migrate-canonicalize-candidate.ts, a typescript file in the tailwindcss codebase. 2 imports, 2 dependents.

File typescript UpgradeToolkit Codemods 2 imports 2 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  26a0b6ad_8b2a_d141_31d5_9b1f4971a5f7["migrate-canonicalize-candidate.ts"]
  af1a6ece_0432_a556_fd63_8cb4a91f12ad["plugin-api.ts"]
  26a0b6ad_8b2a_d141_31d5_9b1f4971a5f7 --> af1a6ece_0432_a556_fd63_8cb4a91f12ad
  7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"]
  26a0b6ad_8b2a_d141_31d5_9b1f4971a5f7 --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a
  9744603b_a363_5b58_11ef_5b746cf4164e["migrate-canonicalize-candidate.test.ts"]
  9744603b_a363_5b58_11ef_5b746cf4164e --> 26a0b6ad_8b2a_d141_31d5_9b1f4971a5f7
  75ba60a9_2614_1c57_ad40_3663d4315f3b["migrate.ts"]
  75ba60a9_2614_1c57_ad40_3663d4315f3b --> 26a0b6ad_8b2a_d141_31d5_9b1f4971a5f7
  style 26a0b6ad_8b2a_d141_31d5_9b1f4971a5f7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { Config } from '../../../../tailwindcss/src/compat/plugin-api'
import type { DesignSystem } from '../../../../tailwindcss/src/design-system'

// Canonicalize the value to its minimal form. This will normalize whitespace,
// and print the important modifier `!` in the correct place.
//
// E.g.:
//
// ```
// [display:_flex_] => [display:flex]
// [display:_flex]  => [display:flex]
// [display:flex_]  => [display:flex]
// [display:flex]   => [display:flex]
// ```
//
export function migrateCanonicalizeCandidate(
  designSystem: DesignSystem,
  _userConfig: Config | null,
  rawCandidate: string,
) {
  for (let readonlyCandidate of designSystem.parseCandidate(rawCandidate)) {
    let canonicalizedCandidate = designSystem.printCandidate(readonlyCandidate)
    if (canonicalizedCandidate !== rawCandidate) {
      return canonicalizedCandidate
    }
  }

  return rawCandidate
}

Subdomains

Frequently Asked Questions

What does migrate-canonicalize-candidate.ts do?
migrate-canonicalize-candidate.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the UpgradeToolkit domain, Codemods subdomain.
What functions are defined in migrate-canonicalize-candidate.ts?
migrate-canonicalize-candidate.ts defines 1 function(s): migrateCanonicalizeCandidate.
What does migrate-canonicalize-candidate.ts depend on?
migrate-canonicalize-candidate.ts imports 2 module(s): design-system.ts, plugin-api.ts.
What files import migrate-canonicalize-candidate.ts?
migrate-canonicalize-candidate.ts is imported by 2 file(s): migrate-canonicalize-candidate.test.ts, migrate.ts.
Where is migrate-canonicalize-candidate.ts in the architecture?
migrate-canonicalize-candidate.ts is located at packages/@tailwindcss-upgrade/src/codemods/template/migrate-canonicalize-candidate.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/@tailwindcss-upgrade/src/codemods/template).

Analyze Your Own Codebase

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

Try Supermodel Free