Home / Function/ migrateImport() — tailwindcss Function Reference

migrateImport() — tailwindcss Function Reference

Architecture documentation for the migrateImport() function in migrate-import.ts from the tailwindcss codebase.

Function typescript OxideCore Extractor calls 3 called by 2

Entity Profile

Dependency Diagram

graph TD
  6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f["migrateImport()"]
  2dfa1bdf_a6c1_52d1_effa_1ea2e2c6af2c["migrate()"]
  2dfa1bdf_a6c1_52d1_effa_1ea2e2c6af2c -->|calls| 6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f
  ccdccd11_44d9_ea22_dded_25c5b1cc55bb["migrateContents()"]
  ccdccd11_44d9_ea22_dded_25c5b1cc55bb -->|calls| 6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f
  03b8d706_a876_a776_0056_186ced5d6067["segment()"]
  6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f -->|calls| 03b8d706_a876_a776_0056_186ced5d6067
  ddd2db68_c731_a9de_a974_10945491851d["parseImportParams()"]
  6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f -->|calls| ddd2db68_c731_a9de_a974_10945491851d
  e5eb2faf_45a2_ac47_3404_8bd4e7eb6817["parse()"]
  6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f -->|calls| e5eb2faf_45a2_ac47_3404_8bd4e7eb6817
  style 6dee7bcb_2b1c_cd79_688e_3f0f0ce8ea8f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/@tailwindcss-upgrade/src/codemods/css/migrate-import.ts lines 8–52

export function migrateImport(): Plugin {
  async function migrate(root: Root) {
    let file = root.source?.input.file
    if (!file) return

    let promises: Promise<void>[] = []
    root.walkAtRules('import', (rule) => {
      try {
        let [firstParam, ...rest] = segment(rule.params, ' ')

        let params = parseImportParams(ValueParser.parse(firstParam))
        if (!params) return

        let isRelative = params.uri[0] === '.'
        let hasCssExtension = params.uri.endsWith('.css')

        if (isRelative && hasCssExtension) {
          return
        }

        let fullPath = resolve(dirname(file), params.uri)
        if (!hasCssExtension) fullPath += '.css'

        promises.push(
          fs.stat(fullPath).then(() => {
            let ext = hasCssExtension ? '' : '.css'
            let path = isRelative ? params.uri : `./${params.uri}`
            rule.params = [`'${path}${ext}'`, ...rest].join(' ')
          }),
        )
      } catch {
        // When an error occurs while parsing the `@import` statement, we skip
        // the import. This will happen in cases where you import an external
        // URL.
      }
    })

    await Promise.allSettled(promises)
  }

  return {
    postcssPlugin: '@tailwindcss/upgrade/migrate-import',
    OnceExit: migrate,
  }
}

Domain

Subdomains

Frequently Asked Questions

What does migrateImport() do?
migrateImport() is a function in the tailwindcss codebase.
What does migrateImport() call?
migrateImport() calls 3 function(s): parse, parseImportParams, segment.
What calls migrateImport()?
migrateImport() is called by 2 function(s): migrate, migrateContents.

Analyze Your Own Codebase

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

Try Supermodel Free