standalone.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. let log = require('tailwindcss/lib/util/log').default
  2. let localModules = {
  3. 'tailwindcss/colors': require('tailwindcss/colors'),
  4. 'tailwindcss/defaultConfig': require('tailwindcss/defaultConfig'),
  5. 'tailwindcss/defaultTheme': require('tailwindcss/defaultTheme'),
  6. 'tailwindcss/resolveConfig': require('tailwindcss/resolveConfig'),
  7. 'tailwindcss/plugin': require('tailwindcss/plugin'),
  8. '@tailwindcss/aspect-ratio': require('@tailwindcss/aspect-ratio'),
  9. '@tailwindcss/container-queries': require('@tailwindcss/container-queries'),
  10. '@tailwindcss/forms': require('@tailwindcss/forms'),
  11. '@tailwindcss/line-clamp': () => {
  12. log.warn('line-clamp-in-core', [
  13. 'As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.',
  14. 'Remove it from the `plugins` array in your configuration to eliminate this warning.',
  15. ])
  16. },
  17. '@tailwindcss/typography': require('@tailwindcss/typography'),
  18. // These are present to allow them to be specified in the PostCSS config file
  19. autoprefixer: require('autoprefixer'),
  20. tailwindcss: require('tailwindcss'),
  21. }
  22. // Swap out the default JITI implementation with one that has the built-in modules above preloaded as "native modules"
  23. // NOTE: This uses a private, internal API of Tailwind CSS and is subject to change at any time
  24. let { useCustomJiti } = require('tailwindcss/lib/lib/load-config')
  25. let { transform } = require('sucrase')
  26. useCustomJiti(() =>
  27. require('jiti')(__filename, {
  28. interopDefault: true,
  29. nativeModules: Object.keys(localModules),
  30. transform: (opts) => {
  31. return transform(opts.source, {
  32. transforms: ['typescript', 'imports'],
  33. })
  34. },
  35. })
  36. )
  37. let { patchRequire } = require('./patch-require.js')
  38. patchRequire(
  39. // Patch require(…) to return the bundled modules above so they don't need to be installed
  40. localModules,
  41. // Create a require cache that maps module IDs to module objects
  42. // This MUST be done before require is patched to handle caching
  43. Object.fromEntries(
  44. Object.keys(localModules).map((id) => [
  45. id,
  46. id === '@tailwindcss/line-clamp'
  47. ? `node_modules/@tailwindcss/line-clamp/`
  48. : require.cache[require.resolve(id)],
  49. ])
  50. )
  51. )
  52. require('tailwindcss/lib/cli')