Brak opisu

processTailwindFeatures.js 3.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. Object.defineProperty(exports, "default", {
  6. enumerable: true,
  7. get: function() {
  8. return processTailwindFeatures;
  9. }
  10. });
  11. const _normalizeTailwindDirectives = /*#__PURE__*/ _interop_require_default(require("./lib/normalizeTailwindDirectives"));
  12. const _expandTailwindAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/expandTailwindAtRules"));
  13. const _expandApplyAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/expandApplyAtRules"));
  14. const _evaluateTailwindFunctions = /*#__PURE__*/ _interop_require_default(require("./lib/evaluateTailwindFunctions"));
  15. const _substituteScreenAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/substituteScreenAtRules"));
  16. const _resolveDefaultsAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/resolveDefaultsAtRules"));
  17. const _collapseAdjacentRules = /*#__PURE__*/ _interop_require_default(require("./lib/collapseAdjacentRules"));
  18. const _collapseDuplicateDeclarations = /*#__PURE__*/ _interop_require_default(require("./lib/collapseDuplicateDeclarations"));
  19. const _partitionApplyAtRules = /*#__PURE__*/ _interop_require_default(require("./lib/partitionApplyAtRules"));
  20. const _detectNesting = /*#__PURE__*/ _interop_require_default(require("./lib/detectNesting"));
  21. const _setupContextUtils = require("./lib/setupContextUtils");
  22. const _featureFlags = require("./featureFlags");
  23. function _interop_require_default(obj) {
  24. return obj && obj.__esModule ? obj : {
  25. default: obj
  26. };
  27. }
  28. function processTailwindFeatures(setupContext) {
  29. return function(root, result) {
  30. let { tailwindDirectives , applyDirectives } = (0, _normalizeTailwindDirectives.default)(root);
  31. (0, _detectNesting.default)()(root, result);
  32. // Partition apply rules that are found in the css
  33. // itself.
  34. (0, _partitionApplyAtRules.default)()(root, result);
  35. let context = setupContext({
  36. tailwindDirectives,
  37. applyDirectives,
  38. registerDependency (dependency) {
  39. result.messages.push({
  40. plugin: "tailwindcss",
  41. parent: result.opts.from,
  42. ...dependency
  43. });
  44. },
  45. createContext (tailwindConfig, changedContent) {
  46. return (0, _setupContextUtils.createContext)(tailwindConfig, changedContent, root);
  47. }
  48. })(root, result);
  49. if (context.tailwindConfig.separator === "-") {
  50. throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");
  51. }
  52. (0, _featureFlags.issueFlagNotices)(context.tailwindConfig);
  53. (0, _expandTailwindAtRules.default)(context)(root, result);
  54. // Partition apply rules that are generated by
  55. // addComponents, addUtilities and so on.
  56. (0, _partitionApplyAtRules.default)()(root, result);
  57. (0, _expandApplyAtRules.default)(context)(root, result);
  58. (0, _evaluateTailwindFunctions.default)(context)(root, result);
  59. (0, _substituteScreenAtRules.default)(context)(root, result);
  60. (0, _resolveDefaultsAtRules.default)(context)(root, result);
  61. (0, _collapseAdjacentRules.default)(context)(root, result);
  62. (0, _collapseDuplicateDeclarations.default)(context)(root, result);
  63. };
  64. }