Home / File/ plugin.ts — tailwindcss Source File

plugin.ts — tailwindcss Source File

Architecture documentation for plugin.ts, a typescript file in the tailwindcss codebase. 11 imports, 10 dependents.

File typescript Oxide PreProcessors 11 imports 10 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5["plugin.ts"]
  cad44155_17aa_e1d6_081a_8f3b4f06bcde["resolve-config.ts"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> cad44155_17aa_e1d6_081a_8f3b4f06bcde
  b521a87d_7940_0a07_a022_4bf8a651911f["PluginUtils"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> b521a87d_7940_0a07_a022_4bf8a651911f
  479eaf18_f640_94ff_bd07_456688f9ac14["types.ts"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> 479eaf18_f640_94ff_bd07_456688f9ac14
  5e19beef_b180_2bdd_297c_193d23fdf7c5["ThemeConfig"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> 5e19beef_b180_2bdd_297c_193d23fdf7c5
  da5d1116_ab2a_437a_6b13_c1429fd546fa["plugin-api.ts"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> da5d1116_ab2a_437a_6b13_c1429fd546fa
  0255ffc0_a3d5_e883_5143_99660766448f["Config"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> 0255ffc0_a3d5_e883_5143_99660766448f
  aace5133_6deb_d0f7_e1a1_d3e530878a5b["Plugin"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> aace5133_6deb_d0f7_e1a1_d3e530878a5b
  78ae59ed_15ed_26ff_5333_748db1fc1326["PluginAPI"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> 78ae59ed_15ed_26ff_5333_748db1fc1326
  9218cd12_24d4_ade9_9ff5_76b01697d76e["PluginFn"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> 9218cd12_24d4_ade9_9ff5_76b01697d76e
  ffe0b7b8_e1fc_a7de_d070_1fd07c3c9a6b["PluginWithConfig"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> ffe0b7b8_e1fc_a7de_d070_1fd07c3c9a6b
  3a386172_6471_1574_1a5c_504074d916fb["PluginWithOptions"]
  914a5326_dcdd_e839_bbc4_d6545cf4c5d5 --> 3a386172_6471_1574_1a5c_504074d916fb
  4df2701b_a89e_8fd1_9f94_60320aab09a9["at-import.test.ts"]
  4df2701b_a89e_8fd1_9f94_60320aab09a9 --> 914a5326_dcdd_e839_bbc4_d6545cf4c5d5
  79e55422_077b_cc18_428e_522cf1765560["config.test.ts"]
  79e55422_077b_cc18_428e_522cf1765560 --> 914a5326_dcdd_e839_bbc4_d6545cf4c5d5
  6887ddc2_d1b1_dd38_0f59_c2a51c756bc5["plugin-api.test.ts"]
  6887ddc2_d1b1_dd38_0f59_c2a51c756bc5 --> 914a5326_dcdd_e839_bbc4_d6545cf4c5d5
  style 914a5326_dcdd_e839_bbc4_d6545cf4c5d5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { PluginUtils } from './compat/config/resolve-config'
import type { ThemeConfig } from './compat/config/types'
import type {
  Config,
  Plugin,
  PluginAPI,
  PluginFn,
  PluginWithConfig,
  PluginWithOptions,
} from './compat/plugin-api'

function createPlugin(handler: PluginFn, config?: Partial<Config>): PluginWithConfig {
  return {
    handler,
    config,
  }
}

createPlugin.withOptions = function <T>(
  pluginFunction: (options?: T) => PluginFn,
  configFunction: (options?: T) => Partial<Config> = () => ({}),
): PluginWithOptions<T> {
  function optionsFunction(options: T): PluginWithConfig {
    return {
      handler: pluginFunction(options),
      config: configFunction(options),
    }
  }

  optionsFunction.__isOptionsFunction = true as const

  return optionsFunction as PluginWithOptions<T>
}

export default createPlugin

// v3 compatible types previously exported via `tailwindcss/types/config`
export type {
  Config,
  PluginAPI,
  PluginFn as PluginCreator,
  Plugin as PluginsConfig,
  PluginUtils,
  ThemeConfig,
}

Domain

Subdomains

Functions

Frequently Asked Questions

What does plugin.ts do?
plugin.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the Oxide domain, PreProcessors subdomain.
What functions are defined in plugin.ts?
plugin.ts defines 1 function(s): createPlugin.
What does plugin.ts depend on?
plugin.ts imports 11 module(s): Config, Plugin, PluginAPI, PluginFn, PluginUtils, PluginWithConfig, PluginWithOptions, ThemeConfig, and 3 more.
What files import plugin.ts?
plugin.ts is imported by 10 file(s): at-import.test.ts, config.test.ts, css-functions.test.ts, index.test.ts, intellisense.test.ts, plugin-api.test.ts, plugin.test.ts, prefix.test.ts, and 2 more.
Where is plugin.ts in the architecture?
plugin.ts is located at packages/tailwindcss/src/plugin.ts (domain: Oxide, subdomain: PreProcessors, directory: packages/tailwindcss/src).

Analyze Your Own Codebase

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

Try Supermodel Free