Home / File/ migrate-preflight.test.ts — tailwindcss Source File

migrate-preflight.test.ts — tailwindcss Source File

Architecture documentation for migrate-preflight.test.ts, a typescript file in the tailwindcss codebase. 11 imports, 0 dependents.

File typescript UpgradeToolkit Codemods 11 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  48369d9b_74af_14f1_33c7_7d263509d02f["migrate-preflight.test.ts"]
  fff09679_e13c_392d_23bb_cebc04ddb008["version.ts"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> fff09679_e13c_392d_23bb_cebc04ddb008
  e7639b6d_2132_7e05_9498_c732c7517772["format-nodes.ts"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> e7639b6d_2132_7e05_9498_c732c7517772
  729a086c_18ec_2750_83e5_bdd730f8fa5e["formatNodes"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 729a086c_18ec_2750_83e5_bdd730f8fa5e
  4ccbfbad_b80c_422a_38fe_dc35ee118e8d["migrate-preflight.ts"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 4ccbfbad_b80c_422a_38fe_dc35ee118e8d
  904b969f_df9e_eb9f_fedd_18eea0cfe028["migratePreflight"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 904b969f_df9e_eb9f_fedd_18eea0cfe028
  ecf9faa2_4ccf_f16c_bb10_222be63faed0["sort-buckets.ts"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> ecf9faa2_4ccf_f16c_bb10_222be63faed0
  92a12a9f_b36d_4c66_d885_e04224081f21["sortBuckets"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 92a12a9f_b36d_4c66_d885_e04224081f21
  92f2d961_72a4_d195_92d7_2e66972f8894["node"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 92f2d961_72a4_d195_92d7_2e66972f8894
  211db6bb_9759_d0cf_acda_36d7f5733ce2["dedent"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 211db6bb_9759_d0cf_acda_36d7f5733ce2
  ba54c7c3_7b1e_9984_bfef_a693a3df2d84["postcss"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> ba54c7c3_7b1e_9984_bfef_a693a3df2d84
  696bd648_5f24_1b59_8e8b_7a97a692869e["vitest"]
  48369d9b_74af_14f1_33c7_7d263509d02f --> 696bd648_5f24_1b59_8e8b_7a97a692869e
  style 48369d9b_74af_14f1_33c7_7d263509d02f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { __unstable__loadDesignSystem } from '@tailwindcss/node'
import dedent from 'dedent'
import postcss from 'postcss'
import { expect, it, vi } from 'vitest'
import * as versions from '../../utils/version'
import { formatNodes } from './format-nodes'
import { migratePreflight } from './migrate-preflight'
import { sortBuckets } from './sort-buckets'
vi.spyOn(versions, 'isMajor').mockReturnValue(true)

const css = dedent

async function migrate(input: string) {
  let designSystem = await __unstable__loadDesignSystem(
    css`
      @import 'tailwindcss';
    `,
    { base: __dirname },
  )

  return postcss()
    .use(migratePreflight({ designSystem }))
    .use(sortBuckets())
    .use(formatNodes())
    .process(input, { from: expect.getState().testPath })
    .then((result) => result.css)
}

it("should add compatibility CSS after the `@import 'tailwindcss'`", async () => {
  expect(
    await migrate(css`
      @import 'tailwindcss';
    `),
  ).toMatchInlineSnapshot(`
    "@import 'tailwindcss';

    /*
      The default border color has changed to \`currentcolor\` in Tailwind CSS v4,
      so we've added these compatibility styles to make sure everything still
      looks the same as it did with Tailwind CSS v3.

      If we ever want to remove these styles, we need to add an explicit border
      color utility to any element that depends on these defaults.
    */
    @layer base {
      *,
      ::after,
      ::before,
      ::backdrop,
      ::file-selector-button {
        border-color: var(--color-gray-200, currentcolor);
      }
    }"
  `)
})

it('should add the compatibility CSS after the last `@import`', async () => {
  expect(
    await migrate(css`
      @import 'tailwindcss';
// ... (266 more lines)

Subdomains

Functions

Frequently Asked Questions

What does migrate-preflight.test.ts do?
migrate-preflight.test.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-preflight.test.ts?
migrate-preflight.test.ts defines 1 function(s): migrate.
What does migrate-preflight.test.ts depend on?
migrate-preflight.test.ts imports 11 module(s): dedent, format-nodes.ts, formatNodes, migrate-preflight.ts, migratePreflight, node, postcss, sort-buckets.ts, and 3 more.
Where is migrate-preflight.test.ts in the architecture?
migrate-preflight.test.ts is located at packages/@tailwindcss-upgrade/src/codemods/css/migrate-preflight.test.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/@tailwindcss-upgrade/src/codemods/css).

Analyze Your Own Codebase

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

Try Supermodel Free