Home / File/ source-maps.test.ts — tailwindcss Source File

source-maps.test.ts — tailwindcss Source File

Architecture documentation for source-maps.test.ts, a typescript file in the tailwindcss codebase. 5 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  7fb67b34_95b3_7a39_e311_54d9764cf0a0["source-maps.test.ts"]
  9ffd1dda_9675_c514_373d_0f4ab4648249["utils.ts"]
  7fb67b34_95b3_7a39_e311_54d9764cf0a0 --> 9ffd1dda_9675_c514_373d_0f4ab4648249
  b7531519_9055_fbfa_5f69_ebc8586b0422["candidate"]
  7fb67b34_95b3_7a39_e311_54d9764cf0a0 --> b7531519_9055_fbfa_5f69_ebc8586b0422
  41c6e4f2_197a_5e83_1beb_584bbb4130fa["fetchStyles"]
  7fb67b34_95b3_7a39_e311_54d9764cf0a0 --> 41c6e4f2_197a_5e83_1beb_584bbb4130fa
  329ca5ee_2e24_1ec5_6818_8fdc3622dda9["retryAssertion"]
  7fb67b34_95b3_7a39_e311_54d9764cf0a0 --> 329ca5ee_2e24_1ec5_6818_8fdc3622dda9
  f11e3be9_51f8_140b_68b0_f58ddd082595["test"]
  7fb67b34_95b3_7a39_e311_54d9764cf0a0 --> f11e3be9_51f8_140b_68b0_f58ddd082595
  style 7fb67b34_95b3_7a39_e311_54d9764cf0a0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { candidate, css, fetchStyles, html, json, retryAssertion, test, ts } from '../utils'

test(
  `dev build`,
  {
    fs: {
      'package.json': json`
        {
          "type": "module",
          "dependencies": {
            "@tailwindcss/vite": "workspace:^",
            "tailwindcss": "workspace:^"
          },
          "devDependencies": {
            "lightningcss": "^1",
            "vite": "^7"
          }
        }
      `,
      'vite.config.ts': ts`
        import tailwindcss from '@tailwindcss/vite'
        import { defineConfig } from 'vite'

        export default defineConfig({
          plugins: [tailwindcss()],
          css: {
            devSourcemap: true,
          },
        })
      `,
      'index.html': html`
        <head>
          <link rel="stylesheet" href="./src/index.css" />
        </head>
        <body>
          <div class="flex">Hello, world!</div>
        </body>
      `,
      'src/index.css': css`
        @import 'tailwindcss/utilities';
        /*  */
      `,
    },
  },
  async ({ fs, spawn, expect, parseSourceMap }) => {
    // Source maps only work in development mode in Vite
    let process = await spawn('pnpm vite dev')
    await process.onStdout((m) => m.includes('ready in'))

    let url = ''
    await process.onStdout((m) => {
      let match = /Local:\s*(http.*)\//.exec(m)
      if (match) url = match[1]
      return Boolean(url)
    })

    let styles = await retryAssertion(async () => {
      let styles = await fetchStyles(url, '/index.html')

      // Wait until we have the right CSS
      expect(styles).toContain(candidate`flex`)

      return styles
    })

    // Make sure we can find a source map
    let map = parseSourceMap(styles)

    expect(map.at(1, 0)).toMatchObject({
      source: null,
      original: '(none)',
      generated: '/*! tailwi...',
    })

    expect(map.at(2, 0)).toMatchObject({
      source: expect.stringContaining('utilities.css'),
      original: '@tailwind...',
      generated: '.flex {...',
    })

    expect(map.at(3, 2)).toMatchObject({
      source: expect.stringContaining('utilities.css'),
      original: '@tailwind...',
      generated: 'display: f...',
    })

    expect(map.at(4, 0)).toMatchObject({
      source: null,
      original: '(none)',
      generated: '}...',
    })
  },
)

Domain

Frequently Asked Questions

What does source-maps.test.ts do?
source-maps.test.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the OxideEngine domain.
What does source-maps.test.ts depend on?
source-maps.test.ts imports 5 module(s): candidate, fetchStyles, retryAssertion, test, utils.ts.
Where is source-maps.test.ts in the architecture?
source-maps.test.ts is located at integrations/vite/source-maps.test.ts (domain: OxideEngine, directory: integrations/vite).

Analyze Your Own Codebase

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

Try Supermodel Free