mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
61 lines
2.2 KiB
JavaScript
61 lines
2.2 KiB
JavaScript
let log = require('tailwindcss/lib/util/log').default
|
|
|
|
let localModules = {
|
|
'tailwindcss/colors': require('tailwindcss/colors'),
|
|
'tailwindcss/defaultConfig': require('tailwindcss/defaultConfig'),
|
|
'tailwindcss/defaultTheme': require('tailwindcss/defaultTheme'),
|
|
'tailwindcss/resolveConfig': require('tailwindcss/resolveConfig'),
|
|
'tailwindcss/plugin': require('tailwindcss/plugin'),
|
|
|
|
'@tailwindcss/aspect-ratio': require('@tailwindcss/aspect-ratio'),
|
|
'@tailwindcss/container-queries': require('@tailwindcss/container-queries'),
|
|
'@tailwindcss/forms': require('@tailwindcss/forms'),
|
|
'@tailwindcss/line-clamp': () => {
|
|
log.warn('line-clamp-in-core', [
|
|
'As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.',
|
|
'Remove it from the `plugins` array in your configuration to eliminate this warning.',
|
|
])
|
|
},
|
|
'@tailwindcss/typography': require('@tailwindcss/typography'),
|
|
|
|
// These are present to allow them to be specified in the PostCSS config file
|
|
autoprefixer: require('autoprefixer'),
|
|
tailwindcss: require('tailwindcss'),
|
|
}
|
|
|
|
// Swap out the default JITI implementation with one that has the built-in modules above preloaded as "native modules"
|
|
// NOTE: This uses a private, internal API of Tailwind CSS and is subject to change at any time
|
|
let { useCustomJiti } = require('tailwindcss/lib/lib/load-config')
|
|
let { transform } = require('sucrase')
|
|
|
|
useCustomJiti(() =>
|
|
require('jiti')(__filename, {
|
|
interopDefault: true,
|
|
nativeModules: Object.keys(localModules),
|
|
transform: (opts) => {
|
|
return transform(opts.source, {
|
|
transforms: ['typescript', 'imports'],
|
|
})
|
|
},
|
|
})
|
|
)
|
|
|
|
let { patchRequire } = require('./patch-require.js')
|
|
patchRequire(
|
|
// Patch require(…) to return the bundled modules above so they don't need to be installed
|
|
localModules,
|
|
|
|
// Create a require cache that maps module IDs to module objects
|
|
// This MUST be done before require is patched to handle caching
|
|
Object.fromEntries(
|
|
Object.keys(localModules).map((id) => [
|
|
id,
|
|
id === '@tailwindcss/line-clamp'
|
|
? `node_modules/@tailwindcss/line-clamp/`
|
|
: require.cache[require.resolve(id)],
|
|
])
|
|
)
|
|
)
|
|
|
|
require('tailwindcss/lib/cli')
|