Home / File/ resolve.ts — tailwindcss Source File

resolve.ts — tailwindcss Source File

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

File typescript UpgradeToolkit Codemods 3 imports 3 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  8c8b43f7_0052_590f_b261_209a8ea9e585["resolve.ts"]
  6f8c4a8c_1595_847b_d252_4173f478a307["enhanced-resolve"]
  8c8b43f7_0052_590f_b261_209a8ea9e585 --> 6f8c4a8c_1595_847b_d252_4173f478a307
  6390fa3b_300d_6028_9e96_c869157db42d["node:fs"]
  8c8b43f7_0052_590f_b261_209a8ea9e585 --> 6390fa3b_300d_6028_9e96_c869157db42d
  acca0d4d_d5a0_546f_e935_ba836aa528c6["node:module"]
  8c8b43f7_0052_590f_b261_209a8ea9e585 --> acca0d4d_d5a0_546f_e935_ba836aa528c6
  764d02dc_895f_8f85_d274_59af948c9ebb["analyze.ts"]
  764d02dc_895f_8f85_d274_59af948c9ebb --> 8c8b43f7_0052_590f_b261_209a8ea9e585
  0f4b2aca_6ae5_ec90_f7db_7b345b730686["package-version.ts"]
  0f4b2aca_6ae5_ec90_f7db_7b345b730686 --> 8c8b43f7_0052_590f_b261_209a8ea9e585
  9106c15d_cfb8_77f5_665e_9707020b48c8["renderer.ts"]
  9106c15d_cfb8_77f5_665e_9707020b48c8 --> 8c8b43f7_0052_590f_b261_209a8ea9e585
  style 8c8b43f7_0052_590f_b261_209a8ea9e585 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import EnhancedResolve from 'enhanced-resolve'
import fs from 'node:fs'
import { createRequire } from 'node:module'

const localResolve = createRequire(import.meta.url).resolve
export function resolve(id: string) {
  if (typeof globalThis.__tw_resolve === 'function') {
    let resolved = globalThis.__tw_resolve(id)
    if (resolved) {
      return resolved
    }
  }
  return localResolve(id)
}

const esmResolver = EnhancedResolve.ResolverFactory.createResolver({
  fileSystem: new EnhancedResolve.CachedInputFileSystem(fs, 4000),
  useSyncFileSystemCalls: true,
  extensions: ['.js', '.json', '.node', '.ts'],
  conditionNames: ['node', 'import'],
})

const cjsResolver = EnhancedResolve.ResolverFactory.createResolver({
  fileSystem: new EnhancedResolve.CachedInputFileSystem(fs, 4000),
  useSyncFileSystemCalls: true,
  extensions: ['.js', '.json', '.node', '.ts'],
  conditionNames: ['node', 'require'],
})

export function resolveJsId(id: string, base: string) {
  try {
    return esmResolver.resolveSync({}, base, id)
  } catch {
    return cjsResolver.resolveSync({}, base, id)
  }
}

const resolver = EnhancedResolve.ResolverFactory.createResolver({
  fileSystem: new EnhancedResolve.CachedInputFileSystem(fs, 4000),
  useSyncFileSystemCalls: true,
  extensions: ['.css'],
  mainFields: ['style'],
  conditionNames: ['style'],
})
export function resolveCssId(id: string, base: string) {
  return resolver.resolveSync({}, base, id)
}

Subdomains

Dependencies

  • enhanced-resolve
  • node:fs
  • node:module

Frequently Asked Questions

What does resolve.ts do?
resolve.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 resolve.ts?
resolve.ts defines 3 function(s): resolve, resolveCssId, resolveJsId.
What does resolve.ts depend on?
resolve.ts imports 3 module(s): enhanced-resolve, node:fs, node:module.
What files import resolve.ts?
resolve.ts is imported by 3 file(s): analyze.ts, package-version.ts, renderer.ts.
Where is resolve.ts in the architecture?
resolve.ts is located at packages/@tailwindcss-upgrade/src/utils/resolve.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/@tailwindcss-upgrade/src/utils).

Analyze Your Own Codebase

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

Try Supermodel Free