In Tailwind v4 the CSS file is the main entry point to your project and is generally configured via `@theme`. However, given that all v3 projects were configured via a `tailwind.config.js` file we definitely need to support those. This PR adds support for loading existing Tailwind config files by adding an `@config` directive to the CSS — similar to how v3 supported multiple config files except that this is now _required_ to use a config file. You can load a config file like so: ``` @import "tailwindcss"; @config "./path/to/tailwind.config.js"; ``` A few notes: - Both CommonJS and ESM config files are supported (loaded directly via `import()` in Node) - This is not yet supported in Intellisense or Prettier — should hopefully land next week - TypeScript is **not yet** supported in the config file — this will be handled in a future PR. --------- Co-authored-by: Philipp Spiess <hello@philippspiess.com> Co-authored-by: Adam Wathan <adam.wathan@gmail.com> Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
10 lines
388 B
TypeScript
10 lines
388 B
TypeScript
import * as Module from 'node:module'
|
|
import { pathToFileURL } from 'node:url'
|
|
export * from './compile'
|
|
|
|
// In Bun, ESM modules will also populate `require.cache`, so the module hook is
|
|
// not necessary.
|
|
if (!process.versions.bun) {
|
|
let localRequire = Module.createRequire(import.meta.url)
|
|
Module.register(pathToFileURL(localRequire.resolve('@tailwindcss/node/esm-cache-loader')))
|
|
}
|