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 NodeServer Resolver 3 imports 2 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  cc39a724_b44f_cf69_4007_aecaae32d127["optimize.ts"]
  1660b643_8c19_ccd6_9b97_2dc45d38e9dc["remapping"]
  cc39a724_b44f_cf69_4007_aecaae32d127 --> 1660b643_8c19_ccd6_9b97_2dc45d38e9dc
  aaf94d27_6e7c_e63f_52bf_255289ca3958["lightningcss"]
  cc39a724_b44f_cf69_4007_aecaae32d127 --> aaf94d27_6e7c_e63f_52bf_255289ca3958
  e4986020_2bce_a095_c378_5690f6f48a38["magic-string"]
  cc39a724_b44f_cf69_4007_aecaae32d127 --> e4986020_2bce_a095_c378_5690f6f48a38
  f9b7eac1_3b10_a208_408b_b98998a33868["run.ts"]
  f9b7eac1_3b10_a208_408b_b98998a33868 --> cc39a724_b44f_cf69_4007_aecaae32d127
  3dc429a0_5545_c843_5c3d_ae12e834e123["ui.spec.ts"]
  3dc429a0_5545_c843_5c3d_ae12e834e123 --> cc39a724_b44f_cf69_4007_aecaae32d127
  style cc39a724_b44f_cf69_4007_aecaae32d127 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 NodeServer domain, Resolver 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: NodeServer, subdomain: Resolver, 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