diff --git a/.eslintrc.json b/.eslintrc.json index d0832f697..edbcdd19e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -3,7 +3,7 @@ "jest": true }, "parserOptions": { - "ecmaVersion": 2018, + "ecmaVersion": 2020, "sourceType": "module" }, "extends": ["prettier"], diff --git a/jit/corePlugins/animation.js b/jit/corePlugins/animation.js index 048f9ac93..a45ed9f7f 100644 --- a/jit/corePlugins/animation.js +++ b/jit/corePlugins/animation.js @@ -2,9 +2,9 @@ const { nameClass } = require('../pluginUtils') const transformThemeValue = require('../../lib/util/transformThemeValue').default const parseAnimationValue = require('../../lib/util/parseAnimationValue').default -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities, theme }) { let keyframes = Object.fromEntries( - Object.entries(theme.keyframes).map(([key, value]) => { + Object.entries(theme('keyframes')).map(([key, value]) => { return [ key, [ diff --git a/jit/corePlugins/backgroundColor.js b/jit/corePlugins/backgroundColor.js index b4f74e5b9..2bde03d70 100644 --- a/jit/corePlugins/backgroundColor.js +++ b/jit/corePlugins/backgroundColor.js @@ -2,8 +2,8 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').defaul const withAlphaVariable = require('../../lib/util/withAlphaVariable').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.backgroundColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('backgroundColor')) matchUtilities({ bg: (modifier) => { diff --git a/jit/corePlugins/backgroundImage.js b/jit/corePlugins/backgroundImage.js index 3de3a40cc..69162875d 100644 --- a/jit/corePlugins/backgroundImage.js +++ b/jit/corePlugins/backgroundImage.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ bg: (modifier, { theme }) => { let value = theme.backgroundImage[modifier] diff --git a/jit/corePlugins/backgroundOpacity.js b/jit/corePlugins/backgroundOpacity.js index aa0eae3f2..ab1b66554 100644 --- a/jit/corePlugins/backgroundOpacity.js +++ b/jit/corePlugins/backgroundOpacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme, addVariant, e } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'bg-opacity': (modifier, { theme }) => { let value = asValue(modifier, theme.backgroundOpacity) diff --git a/jit/corePlugins/backgroundPosition.js b/jit/corePlugins/backgroundPosition.js index 1fbeabedd..c1a793b3d 100644 --- a/jit/corePlugins/backgroundPosition.js +++ b/jit/corePlugins/backgroundPosition.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ bg: (modifier, { theme }) => { let value = theme.backgroundPosition[modifier] diff --git a/jit/corePlugins/backgroundSize.js b/jit/corePlugins/backgroundSize.js index 4dbf5a8cd..1659021ab 100644 --- a/jit/corePlugins/backgroundSize.js +++ b/jit/corePlugins/backgroundSize.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ bg: (modifier, { theme }) => { let value = theme.backgroundSize[modifier] diff --git a/jit/corePlugins/borderColor.js b/jit/corePlugins/borderColor.js index 9dc09c0c1..5c7902550 100644 --- a/jit/corePlugins/borderColor.js +++ b/jit/corePlugins/borderColor.js @@ -2,8 +2,8 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').defaul const withAlphaVariable = require('../../lib/util/withAlphaVariable').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.borderColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('borderColor')) matchUtilities({ border: (modifier) => { diff --git a/jit/corePlugins/borderOpacity.js b/jit/corePlugins/borderOpacity.js index 69b3ae245..4fc4917d8 100644 --- a/jit/corePlugins/borderOpacity.js +++ b/jit/corePlugins/borderOpacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'border-opacity': (modifier, { theme }) => { let value = asValue(modifier, theme.borderOpacity) diff --git a/jit/corePlugins/borderRadius.js b/jit/corePlugins/borderRadius.js index afbb4215b..b3d271c9f 100644 --- a/jit/corePlugins/borderRadius.js +++ b/jit/corePlugins/borderRadius.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ rounded: (modifier, { theme }) => { let value = asLength(modifier, theme['borderRadius']) diff --git a/jit/corePlugins/borderWidth.js b/jit/corePlugins/borderWidth.js index 5dc2724b9..2177ff5b7 100644 --- a/jit/corePlugins/borderWidth.js +++ b/jit/corePlugins/borderWidth.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ border: (modifier, { theme }) => { let value = asLength(modifier, theme['borderWidth']) diff --git a/jit/corePlugins/cursor.js b/jit/corePlugins/cursor.js index 1c04086fc..22065f619 100644 --- a/jit/corePlugins/cursor.js +++ b/jit/corePlugins/cursor.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ cursor: (modifier, { theme }) => { let value = asValue(modifier, theme.cursor) diff --git a/jit/corePlugins/divideColor.js b/jit/corePlugins/divideColor.js index 32f734b9e..c17d83be3 100644 --- a/jit/corePlugins/divideColor.js +++ b/jit/corePlugins/divideColor.js @@ -2,8 +2,8 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').defaul const withAlphaVariable = require('../../lib/util/withAlphaVariable').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.divideColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('divideColor')) // TODO: Make sure there is no issue with DEFAULT here matchUtilities({ diff --git a/jit/corePlugins/divideOpacity.js b/jit/corePlugins/divideOpacity.js index 5d605147b..9c2fa2495 100644 --- a/jit/corePlugins/divideOpacity.js +++ b/jit/corePlugins/divideOpacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'divide-opacity': (modifier, { theme }) => { let value = asValue(modifier, theme.divideOpacity) diff --git a/jit/corePlugins/divideWidth.js b/jit/corePlugins/divideWidth.js index 72a377265..d572ddb2f 100644 --- a/jit/corePlugins/divideWidth.js +++ b/jit/corePlugins/divideWidth.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ addUtilities, matchUtilities, jit: { theme } }) { +module.exports = function ({ addUtilities, matchUtilities }) { matchUtilities({ 'divide-x': (modifier, { theme }) => { let value = asLength(modifier, theme['divideWidth']) diff --git a/jit/corePlugins/fill.js b/jit/corePlugins/fill.js index 4d91dcfa9..4d1df2c08 100644 --- a/jit/corePlugins/fill.js +++ b/jit/corePlugins/fill.js @@ -1,13 +1,12 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').default -const withAlphaVariable = require('../../lib/util/withAlphaVariable').default const toColorValue = require('../../lib/util/toColorValue').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.fill) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('fill')) matchUtilities({ - fill: (modifier, { theme }) => { + fill: (modifier) => { let value = asColor(modifier, colorPalette) if (value === undefined) { diff --git a/jit/corePlugins/flexGrow.js b/jit/corePlugins/flexGrow.js index 5ef14cc95..b02b0f7e1 100644 --- a/jit/corePlugins/flexGrow.js +++ b/jit/corePlugins/flexGrow.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'flex-grow': (modifier, { theme }) => { let value = asValue(modifier, theme.flexGrow) diff --git a/jit/corePlugins/flexShrink.js b/jit/corePlugins/flexShrink.js index e01dee08e..c789785de 100644 --- a/jit/corePlugins/flexShrink.js +++ b/jit/corePlugins/flexShrink.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'flex-shrink': (modifier, { theme }) => { let value = asValue(modifier, theme.flexShrink) diff --git a/jit/corePlugins/fontSize.js b/jit/corePlugins/fontSize.js index 1c73c1b7c..e20e4663c 100644 --- a/jit/corePlugins/fontSize.js +++ b/jit/corePlugins/fontSize.js @@ -1,7 +1,7 @@ const { asLength, nameClass } = require('../pluginUtils') const { isPlainObject } = require('../lib/utils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ text: (modifier, { theme }) => { let value = theme.fontSize[modifier] diff --git a/jit/corePlugins/gap.js b/jit/corePlugins/gap.js index f176e1813..5519cd76a 100644 --- a/jit/corePlugins/gap.js +++ b/jit/corePlugins/gap.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ gap: (modifier, { theme }) => { let value = asLength(modifier, theme['gap']) diff --git a/jit/corePlugins/gridAutoColumns.js b/jit/corePlugins/gridAutoColumns.js index 9838a46af..90a970b94 100644 --- a/jit/corePlugins/gridAutoColumns.js +++ b/jit/corePlugins/gridAutoColumns.js @@ -1,6 +1,6 @@ const { asList, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'auto-cols': (modifier, { theme }) => { let value = asList(modifier, theme.gridAutoColumns) diff --git a/jit/corePlugins/gridAutoRows.js b/jit/corePlugins/gridAutoRows.js index 4dc38a175..0e40b6698 100644 --- a/jit/corePlugins/gridAutoRows.js +++ b/jit/corePlugins/gridAutoRows.js @@ -1,6 +1,6 @@ const { asList, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'auto-rows': (modifier, { theme }) => { let value = asList(modifier, theme.gridAutoRows) diff --git a/jit/corePlugins/gridRowEnd.js b/jit/corePlugins/gridRowEnd.js index 56df03b75..64d6e56f1 100644 --- a/jit/corePlugins/gridRowEnd.js +++ b/jit/corePlugins/gridRowEnd.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'row-end': (modifier, { theme }) => { let value = theme.gridRowEnd[modifier] diff --git a/jit/corePlugins/gridRowStart.js b/jit/corePlugins/gridRowStart.js index 270ee48bf..683918ed3 100644 --- a/jit/corePlugins/gridRowStart.js +++ b/jit/corePlugins/gridRowStart.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'row-start': (modifier, { theme }) => { let value = theme.gridRowStart[modifier] diff --git a/jit/corePlugins/gridTemplateColumns.js b/jit/corePlugins/gridTemplateColumns.js index 9fdf1cef8..745b5ba7b 100644 --- a/jit/corePlugins/gridTemplateColumns.js +++ b/jit/corePlugins/gridTemplateColumns.js @@ -1,6 +1,6 @@ const { asList, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'grid-cols': (modifier, { theme }) => { let value = asList(modifier, theme.gridTemplateColumns) diff --git a/jit/corePlugins/gridTemplateRows.js b/jit/corePlugins/gridTemplateRows.js index c79cc91f7..bff4eb3cd 100644 --- a/jit/corePlugins/gridTemplateRows.js +++ b/jit/corePlugins/gridTemplateRows.js @@ -1,6 +1,6 @@ const { asList, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'grid-rows': (modifier, { theme }) => { let value = asList(modifier, theme.gridTemplateRows) diff --git a/jit/corePlugins/index.js b/jit/corePlugins/index.js index 2d5f0d330..3d4c95d79 100644 --- a/jit/corePlugins/index.js +++ b/jit/corePlugins/index.js @@ -10,7 +10,7 @@ const { } = require('../pluginUtils') module.exports = { - pseudoClassVariants: function ({ config, theme, addVariant }) { + pseudoClassVariants: function ({ config, addVariant }) { let pseudoVariants = [ ['first', 'first-child'], ['last', 'last-child'], @@ -62,7 +62,7 @@ module.exports = { ) } }, - directionVariants: function ({ config, theme, addVariant }) { + directionVariants: function ({ config, addVariant }) { addVariant( 'ltr', transformAllSelectors( @@ -85,7 +85,7 @@ module.exports = { ) ) }, - reducedMotionVariants: function ({ config, theme, addVariant }) { + reducedMotionVariants: function ({ config, addVariant }) { addVariant( 'motion-safe', transformLastClasses( @@ -106,7 +106,7 @@ module.exports = { ) ) }, - darkVariants: function ({ config, theme, addVariant }) { + darkVariants: function ({ config, addVariant }) { if (config('darkMode') === 'class') { addVariant( 'dark', diff --git a/jit/corePlugins/letterSpacing.js b/jit/corePlugins/letterSpacing.js index 3767f99e5..a4111e9b2 100644 --- a/jit/corePlugins/letterSpacing.js +++ b/jit/corePlugins/letterSpacing.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ tracking: (modifier, { theme }) => { let value = asLength(modifier, theme['letterSpacing']) diff --git a/jit/corePlugins/lineHeight.js b/jit/corePlugins/lineHeight.js index b7c8144c3..c9e9795ec 100644 --- a/jit/corePlugins/lineHeight.js +++ b/jit/corePlugins/lineHeight.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ leading: (modifier, { theme }) => { let value = asLength(modifier, theme['lineHeight']) diff --git a/jit/corePlugins/opacity.js b/jit/corePlugins/opacity.js index 061f547c4..2fc8fc851 100644 --- a/jit/corePlugins/opacity.js +++ b/jit/corePlugins/opacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ opacity: (modifier, { theme }) => { let value = asValue(modifier, theme.opacity) diff --git a/jit/corePlugins/order.js b/jit/corePlugins/order.js index f7bf2f2ac..e17cf14c9 100644 --- a/jit/corePlugins/order.js +++ b/jit/corePlugins/order.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ order: (modifier, { theme }) => { let value = asValue(modifier, theme.order) diff --git a/jit/corePlugins/outline.js b/jit/corePlugins/outline.js index ac6f5ecb9..c19beb1a3 100644 --- a/jit/corePlugins/outline.js +++ b/jit/corePlugins/outline.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ outline: (modifier, { theme }) => { let value = theme.outline[modifier] diff --git a/jit/corePlugins/padding.js b/jit/corePlugins/padding.js index 2b1e7e117..eaf64aea8 100644 --- a/jit/corePlugins/padding.js +++ b/jit/corePlugins/padding.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ p: (modifier, { theme }) => { let value = asValue(modifier, theme['padding']) diff --git a/jit/corePlugins/placeholderColor.js b/jit/corePlugins/placeholderColor.js index d25fe654c..0e55f2ae3 100644 --- a/jit/corePlugins/placeholderColor.js +++ b/jit/corePlugins/placeholderColor.js @@ -1,13 +1,12 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').default const withAlphaVariable = require('../../lib/util/withAlphaVariable').default -const toColorValue = require('../../lib/util/toColorValue').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.placeholderColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('placeholderColor')) matchUtilities({ - placeholder: (modifier, { theme }) => { + placeholder: (modifier) => { let value = asColor(modifier, colorPalette) if (value === undefined) { diff --git a/jit/corePlugins/placeholderOpacity.js b/jit/corePlugins/placeholderOpacity.js index 118776bbf..98614028d 100644 --- a/jit/corePlugins/placeholderOpacity.js +++ b/jit/corePlugins/placeholderOpacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'placeholder-opacity': (modifier, { theme }) => { let value = asValue(modifier, theme.placeholderOpacity) diff --git a/jit/corePlugins/ringColor.js b/jit/corePlugins/ringColor.js index dcfcc5357..347a00794 100644 --- a/jit/corePlugins/ringColor.js +++ b/jit/corePlugins/ringColor.js @@ -1,13 +1,12 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').default const withAlphaVariable = require('../../lib/util/withAlphaVariable').default -const toColorValue = require('../../lib/util/toColorValue').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.ringColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('ringColor')) matchUtilities({ - ring: (modifier, { theme }) => { + ring: (modifier) => { if (modifier === 'DEFAULT') { return [] } diff --git a/jit/corePlugins/ringOffsetColor.js b/jit/corePlugins/ringOffsetColor.js index 45ec9081c..73b61b2f0 100644 --- a/jit/corePlugins/ringOffsetColor.js +++ b/jit/corePlugins/ringOffsetColor.js @@ -1,13 +1,12 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').default -const withAlphaVariable = require('../../lib/util/withAlphaVariable').default const toColorValue = require('../../lib/util/toColorValue').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.ringOffsetColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('ringOffsetColor')) matchUtilities({ - 'ring-offset': (modifier, { theme }) => { + 'ring-offset': (modifier) => { let value = asColor(modifier, colorPalette) if (value === undefined) { diff --git a/jit/corePlugins/ringOffsetWidth.js b/jit/corePlugins/ringOffsetWidth.js index d8218415a..a4a5109af 100644 --- a/jit/corePlugins/ringOffsetWidth.js +++ b/jit/corePlugins/ringOffsetWidth.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'ring-offset': (modifier, { theme }) => { let value = asLength(modifier, theme['ringOffsetWidth']) diff --git a/jit/corePlugins/ringOpacity.js b/jit/corePlugins/ringOpacity.js index e68023868..a093882fa 100644 --- a/jit/corePlugins/ringOpacity.js +++ b/jit/corePlugins/ringOpacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'ring-opacity': (modifier, { theme }) => { let value = asValue(modifier, theme['ringOpacity']) diff --git a/jit/corePlugins/rotate.js b/jit/corePlugins/rotate.js index b033e8959..170b6d825 100644 --- a/jit/corePlugins/rotate.js +++ b/jit/corePlugins/rotate.js @@ -1,6 +1,6 @@ const { asAngle, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ rotate: (modifier, { theme }) => { let value = asAngle(modifier, theme.rotate) diff --git a/jit/corePlugins/scale.js b/jit/corePlugins/scale.js index c5b049e7d..9e5a1dae2 100644 --- a/jit/corePlugins/scale.js +++ b/jit/corePlugins/scale.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ scale: (modifier, { theme }) => { let value = asValue(modifier, theme.scale) diff --git a/jit/corePlugins/skew.js b/jit/corePlugins/skew.js index ed5cd7b11..6e53571c6 100644 --- a/jit/corePlugins/skew.js +++ b/jit/corePlugins/skew.js @@ -1,6 +1,6 @@ const { asAngle, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'skew-x': (modifier, { theme }) => { let value = asAngle(modifier, theme.skew) diff --git a/jit/corePlugins/stroke.js b/jit/corePlugins/stroke.js index 0099fbede..3a7d1f722 100644 --- a/jit/corePlugins/stroke.js +++ b/jit/corePlugins/stroke.js @@ -1,13 +1,12 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').default -const withAlphaVariable = require('../../lib/util/withAlphaVariable').default const toColorValue = require('../../lib/util/toColorValue').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.stroke) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('stroke')) matchUtilities({ - stroke: (modifier, { theme }) => { + stroke: (modifier) => { let value = asColor(modifier, colorPalette) if (value === undefined) { diff --git a/jit/corePlugins/textColor.js b/jit/corePlugins/textColor.js index b685e73b7..fb8e46306 100644 --- a/jit/corePlugins/textColor.js +++ b/jit/corePlugins/textColor.js @@ -1,13 +1,12 @@ const flattenColorPalette = require('../../lib/util/flattenColorPalette').default const withAlphaVariable = require('../../lib/util/withAlphaVariable').default -const toColorValue = require('../../lib/util/toColorValue').default const { asColor, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let colorPalette = flattenColorPalette(theme.textColor) +module.exports = function ({ matchUtilities, theme }) { + let colorPalette = flattenColorPalette(theme('textColor')) matchUtilities({ - text: (modifier, { theme }) => { + text: (modifier) => { let value = asColor(modifier, colorPalette) if (value === undefined) { diff --git a/jit/corePlugins/textOpacity.js b/jit/corePlugins/textOpacity.js index 90e980f05..5e2836257 100644 --- a/jit/corePlugins/textOpacity.js +++ b/jit/corePlugins/textOpacity.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'text-opacity': (modifier, { theme }) => { let value = asValue(modifier, theme.textOpacity) diff --git a/jit/corePlugins/transformOrigin.js b/jit/corePlugins/transformOrigin.js index 5860822c7..32735553e 100644 --- a/jit/corePlugins/transformOrigin.js +++ b/jit/corePlugins/transformOrigin.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ origin: (modifier, { theme }) => { let value = theme.transformOrigin[modifier] diff --git a/jit/corePlugins/transitionDelay.js b/jit/corePlugins/transitionDelay.js index dc9ed2e20..567101f60 100644 --- a/jit/corePlugins/transitionDelay.js +++ b/jit/corePlugins/transitionDelay.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ delay: (modifier, { theme }) => { let value = theme.transitionDelay[modifier] diff --git a/jit/corePlugins/transitionDuration.js b/jit/corePlugins/transitionDuration.js index 0a3cf925a..26667a9e2 100644 --- a/jit/corePlugins/transitionDuration.js +++ b/jit/corePlugins/transitionDuration.js @@ -1,6 +1,6 @@ const { nameClass, asValue } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ duration: (modifier, { theme }) => { let value = asValue(modifier, theme.transitionDuration) diff --git a/jit/corePlugins/transitionProperty.js b/jit/corePlugins/transitionProperty.js index be0343cf9..2f7ac7e1f 100644 --- a/jit/corePlugins/transitionProperty.js +++ b/jit/corePlugins/transitionProperty.js @@ -1,8 +1,8 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { - let defaultTimingFunction = theme.transitionTimingFunction.DEFAULT - let defaultDuration = theme.transitionDuration.DEFAULT +module.exports = function ({ matchUtilities, theme }) { + let defaultTimingFunction = theme('transitionTimingFunction.DEFAULT') + let defaultDuration = theme('transitionDuration.DEFAULT') matchUtilities({ transition: (modifier, { theme }) => { diff --git a/jit/corePlugins/transitionTimingFunction.js b/jit/corePlugins/transitionTimingFunction.js index fb436fc02..cdfb9955a 100644 --- a/jit/corePlugins/transitionTimingFunction.js +++ b/jit/corePlugins/transitionTimingFunction.js @@ -1,6 +1,6 @@ const { nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ ease: (modifier, { theme }) => { let value = theme.transitionTimingFunction[modifier] diff --git a/jit/corePlugins/translate.js b/jit/corePlugins/translate.js index d51e1c2ec..c81fbf944 100644 --- a/jit/corePlugins/translate.js +++ b/jit/corePlugins/translate.js @@ -1,6 +1,6 @@ const { asLength, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ 'translate-x': (modifier, { theme }) => { let value = asLength(modifier, theme['translate']) diff --git a/jit/corePlugins/zIndex.js b/jit/corePlugins/zIndex.js index 9e3fa1fe9..9ce3e286a 100644 --- a/jit/corePlugins/zIndex.js +++ b/jit/corePlugins/zIndex.js @@ -1,6 +1,6 @@ const { asValue, nameClass } = require('../pluginUtils') -module.exports = function ({ matchUtilities, jit: { theme } }) { +module.exports = function ({ matchUtilities }) { matchUtilities({ z: (modifier, { theme }) => { let value = asValue(modifier, theme.zIndex) diff --git a/jit/index.js b/jit/index.js index dccd46b42..e7d466deb 100644 --- a/jit/index.js +++ b/jit/index.js @@ -1,5 +1,4 @@ const postcss = require('postcss') -const dlv = require('dlv') const evaluateTailwindFunctions = require('../lib/lib/evaluateTailwindFunctions').default const substituteScreenAtRules = require('../lib/lib/substituteScreenAtRules').default @@ -57,53 +56,6 @@ module.exports = (configOrPath = {}) => { return root }, ].filter(Boolean) - - return { - postcssPlugin: 'tailwindcss-jit', - plugins: [ - env.DEBUG && - function (root) { - console.log('\n') - console.time('JIT TOTAL') - return root - }, - function (root, result) { - function registerDependency(fileName, type = 'dependency') { - result.messages.push({ - type, - plugin: 'tailwindcss-jit', - parent: result.opts.from, - file: fileName, - }) - } - - rewriteTailwindImports(root) - - let context = setupContext(configOrPath)(result, root) - - if (!env.TAILWIND_DISABLE_TOUCH) { - if (context.configPath !== null) { - registerDependency(context.configPath) - } - } - - return postcss([ - removeLayerAtRules(context), - expandTailwindAtRules(context, registerDependency), - expandApplyAtRules(context), - evaluateTailwindFunctions(context.tailwindConfig), - substituteScreenAtRules(context.tailwindConfig), - collapseAdjacentRules(context), - ]).process(root, { from: undefined }) - }, - env.DEBUG && - function (root) { - console.timeEnd('JIT TOTAL') - console.log('\n') - return root - }, - ], - } } module.exports.postcss = true diff --git a/jit/lib/collapseAdjacentRules.js b/jit/lib/collapseAdjacentRules.js index ad5d40bbf..5f9c0166a 100644 --- a/jit/lib/collapseAdjacentRules.js +++ b/jit/lib/collapseAdjacentRules.js @@ -4,7 +4,7 @@ let comparisonMap = { } let types = new Set(Object.keys(comparisonMap)) -function collapseAdjacentRules(context) { +function collapseAdjacentRules() { return (root) => { let currentRule = null root.each((node) => { diff --git a/jit/lib/generateRules.js b/jit/lib/generateRules.js index c3fca99ad..74f2bc644 100644 --- a/jit/lib/generateRules.js +++ b/jit/lib/generateRules.js @@ -1,6 +1,6 @@ const postcss = require('postcss') const parseObjectStyles = require('../../lib/util/parseObjectStyles').default -const { isPlainObject, bigSign } = require('./utils') +const { isPlainObject } = require('./utils') const selectorParser = require('postcss-selector-parser') const prefixSelector = require('../../lib/util/prefixSelector').default const { updateAllClasses } = require('../pluginUtils') @@ -191,12 +191,6 @@ function* resolveMatchedPlugins(classCandidate, context) { } } -function sortAgainst(toSort, against) { - return toSort.slice().sort((a, z) => { - return bigSign(against.get(a)[0] - against.get(z)[0]) - }) -} - function* resolveMatches(candidate, context) { let separator = context.tailwindConfig.separator let [classCandidate, ...variants] = candidate.split(separator).reverse() @@ -207,10 +201,12 @@ function* resolveMatches(candidate, context) { classCandidate = classCandidate.slice(1) } - // Strip prefix - // md:hover:tw-bg-black - // TODO: Reintroduce this in ways that doesn't break on false positives + // function sortAgainst(toSort, against) { + // return toSort.slice().sort((a, z) => { + // return bigSign(against.get(a)[0] - against.get(z)[0]) + // }) + // } // let sorted = sortAgainst(variants, context.variantMap) // if (sorted.toString() !== variants.toString()) { // let corrected = sorted.reverse().concat(classCandidate).join(':') diff --git a/jit/lib/removeLayerAtRules.js b/jit/lib/removeLayerAtRules.js index 3155e3483..91fcaeb59 100644 --- a/jit/lib/removeLayerAtRules.js +++ b/jit/lib/removeLayerAtRules.js @@ -1,4 +1,4 @@ -function removeLayerAtRules(context) { +function removeLayerAtRules() { return (root) => { root.walkAtRules((rule) => { if (['layer', 'responsive', 'variants'].includes(rule.name)) { diff --git a/jit/lib/setupContext.js b/jit/lib/setupContext.js index f1c566754..479c8ad60 100644 --- a/jit/lib/setupContext.js +++ b/jit/lib/setupContext.js @@ -21,7 +21,6 @@ const resolveConfig = require('../../resolveConfig') const sharedState = require('./sharedState') const corePlugins = require('../corePlugins') const { isPlainObject, escapeClassName } = require('./utils') -const { isBuffer } = require('util') let contextMap = sharedState.contextMap let configContextMap = sharedState.configContextMap @@ -676,7 +675,7 @@ function setupContext(configOrPath) { return (result, root) => { let foundTailwind = false - root.walkAtRules('tailwind', (rule) => { + root.walkAtRules('tailwind', () => { foundTailwind = true }) diff --git a/jit/pluginUtils.js b/jit/pluginUtils.js index 34d9c183c..e3089c26a 100644 --- a/jit/pluginUtils.js +++ b/jit/pluginUtils.js @@ -66,7 +66,7 @@ function transformAllSelectors(transformSelector, wrap = null) { } } -function transformAllClasses(transformClass, wrap = null) { +function transformAllClasses(transformClass) { return ({ container }) => { container.walkRules((rule) => { let selector = rule.selector diff --git a/jit/tests/modify-selectors.test.js b/jit/tests/modify-selectors.test.js index 0d06fab48..ae3fede3d 100644 --- a/jit/tests/modify-selectors.test.js +++ b/jit/tests/modify-selectors.test.js @@ -15,7 +15,7 @@ test('modify selectors', () => { corePlugins: { preflight: false }, theme: {}, plugins: [ - function ({ addVariant, e }) { + function ({ addVariant }) { addVariant('foo', ({ modifySelectors, separator }) => { modifySelectors(({ selector }) => { return selectorParser((selectors) => {