Home / File/ optimize.ts — tailwindcss Source File

optimize.ts — tailwindcss Source File

Architecture documentation for optimize.ts, a typescript file in the tailwindcss codebase. 3 imports, 2 dependents.

File typescript NodeBridge Compiler 3 imports 2 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  e09ef3f3_5e41_ad68_014b_afd42dbefec1["optimize.ts"]
  facdb12f_af00_955b_ad76_f74421b66d0d["remapping"]
  e09ef3f3_5e41_ad68_014b_afd42dbefec1 --> facdb12f_af00_955b_ad76_f74421b66d0d
  f4387556_2583_3e5c_82c0_b3125a1d0fde["lightningcss"]
  e09ef3f3_5e41_ad68_014b_afd42dbefec1 --> f4387556_2583_3e5c_82c0_b3125a1d0fde
  4e9749c1_3be5_4190_0982_9e2be7f35db0["magic-string"]
  e09ef3f3_5e41_ad68_014b_afd42dbefec1 --> 4e9749c1_3be5_4190_0982_9e2be7f35db0
  cf14281b_29d9_c059_3148_2e2cc2fe19ae["run.ts"]
  cf14281b_29d9_c059_3148_2e2cc2fe19ae --> e09ef3f3_5e41_ad68_014b_afd42dbefec1
  4ccd2731_2148_46c0_9c34_d4351473d556["ui.spec.ts"]
  4ccd2731_2148_46c0_9c34_d4351473d556 --> e09ef3f3_5e41_ad68_014b_afd42dbefec1
  style e09ef3f3_5e41_ad68_014b_afd42dbefec1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import remapping from '@jridgewell/remapping'
import { Features, transform } from 'lightningcss'
import MagicString from 'magic-string'

export interface OptimizeOptions {
  /**
   * The file being transformed
   */
  file?: string

  /**
   * Enabled minified output
   */
  minify?: boolean

  /**
   * The output source map before optimization
   *
   * If omitted a resulting source map will not be available
   */
  map?: string
}

export interface TransformResult {
  code: string
  map: string | undefined
}

export function optimize(
  input: string,
  { file = 'input.css', minify = false, map }: OptimizeOptions = {},
): TransformResult {
  function optimize(code: Buffer | Uint8Array, map: string | undefined) {
    return transform({
      filename: file,
      code,
      minify,
      sourceMap: typeof map !== 'undefined',
      inputSourceMap: map,
      drafts: {
        customMedia: true,
      },
      nonStandard: {
        deepSelectorCombinator: true,
      },
      include: Features.Nesting | Features.MediaQueries,
      exclude: Features.LogicalProperties | Features.DirSelector | Features.LightDark,
      targets: {
        safari: (16 << 16) | (4 << 8),
        ios_saf: (16 << 16) | (4 << 8),
        firefox: 128 << 16,
        chrome: 111 << 16,
      },
      errorRecovery: true,
    })
  }

  // Running Lightning CSS twice to ensure that adjacent rules are merged after
  // nesting is applied. This creates a more optimized output.
  let result = optimize(Buffer.from(input), map)
// ... (92 more lines)

Domain

Subdomains

Dependencies

  • lightningcss
  • magic-string
  • remapping

Frequently Asked Questions

What does optimize.ts do?
optimize.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the NodeBridge domain, Compiler subdomain.
What functions are defined in optimize.ts?
optimize.ts defines 3 function(s): dim, optimize, yellow.
What does optimize.ts depend on?
optimize.ts imports 3 module(s): lightningcss, magic-string, remapping.
What files import optimize.ts?
optimize.ts is imported by 2 file(s): run.ts, ui.spec.ts.
Where is optimize.ts in the architecture?
optimize.ts is located at packages/@tailwindcss-node/src/optimize.ts (domain: NodeBridge, subdomain: Compiler, directory: packages/@tailwindcss-node/src).

Analyze Your Own Codebase

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

Try Supermodel Free