Always load core plugins by default
This commit is contained in:
parent
760e93bd38
commit
fd22dea5ad
4 changed files with 13 additions and 58 deletions
|
|
@ -1,9 +1,10 @@
|
|||
import postcss from 'postcss'
|
||||
import substituteClassApplyAtRules from '../src/lib/substituteClassApplyAtRules'
|
||||
import processPlugins from '../src/util/processPlugins'
|
||||
import defaultPlugins from '../src/defaultPlugins'
|
||||
import defaultConfig from '../defaultConfig.stub.js'
|
||||
|
||||
const { utilities: defaultUtilities } = processPlugins(defaultConfig.plugins, defaultConfig)
|
||||
const { utilities: defaultUtilities } = processPlugins(defaultPlugins(defaultConfig), defaultConfig)
|
||||
|
||||
function run(input, config = defaultConfig, utilities = defaultUtilities) {
|
||||
return postcss([substituteClassApplyAtRules(config, utilities)]).process(input, {
|
||||
|
|
@ -204,7 +205,7 @@ test('you can apply utility classes without using the given prefix', () => {
|
|||
prefix: 'tw-',
|
||||
}
|
||||
|
||||
return run(input, config, processPlugins(defaultConfig.plugins, config).utilities).then(
|
||||
return run(input, config, processPlugins(defaultPlugins(config), config).utilities).then(
|
||||
result => {
|
||||
expect(result.css).toEqual(expected)
|
||||
expect(result.warnings().length).toBe(0)
|
||||
|
|
@ -228,7 +229,7 @@ test('you can apply utility classes without using the given prefix when using a
|
|||
},
|
||||
}
|
||||
|
||||
return run(input, config, processPlugins(defaultConfig.plugins, config).utilities).then(
|
||||
return run(input, config, processPlugins(defaultPlugins(config), config).utilities).then(
|
||||
result => {
|
||||
expect(result.css).toEqual(expected)
|
||||
expect(result.warnings().length).toBe(0)
|
||||
|
|
|
|||
|
|
@ -842,55 +842,5 @@ module.exports = {
|
|||
// center: true,
|
||||
// padding: '1rem',
|
||||
}),
|
||||
require('./plugins/lists')({ variants: styles.modules.lists }),
|
||||
require('./plugins/appearance')({ variants: styles.modules.appearance }),
|
||||
require('./plugins/backgroundAttachment')({ variants: styles.modules.backgroundAttachment }),
|
||||
require('./plugins/backgroundColors')({ values: styles.backgroundColors, variants: styles.modules.backgroundColors }),
|
||||
require('./plugins/backgroundPosition')({ variants: styles.modules.backgroundPosition }),
|
||||
require('./plugins/backgroundRepeat')({ variants: styles.modules.backgroundRepeat }),
|
||||
require('./plugins/backgroundSize')({ values: styles.backgroundSize, variants: styles.modules.backgroundSize }),
|
||||
require('./plugins/borderCollapse')({ variants: styles.modules.borderCollapse }),
|
||||
require('./plugins/borderColors')({ values: styles.borderColors, variants: styles.modules.borderColors }),
|
||||
require('./plugins/borderRadius')({ values: styles.borderRadius, variants: styles.modules.borderRadius }),
|
||||
require('./plugins/borderStyle')({ variants: styles.modules.borderStyle }),
|
||||
require('./plugins/borderWidths')({ values: styles.borderWidths, variants: styles.modules.borderWidths }),
|
||||
require('./plugins/cursor')({ variants: styles.modules.cursor }),
|
||||
require('./plugins/display')({ variants: styles.modules.display }),
|
||||
require('./plugins/flexbox')({ variants: styles.modules.flexbox }),
|
||||
require('./plugins/float')({ variants: styles.modules.float }),
|
||||
require('./plugins/fonts')({ values: styles.fonts, variants: styles.modules.fonts }),
|
||||
require('./plugins/fontWeights')({ values: styles.fontWeights, variants: styles.modules.fontWeights }),
|
||||
require('./plugins/height')({ values: styles.height, variants: styles.modules.height }),
|
||||
require('./plugins/leading')({ values: styles.leading, variants: styles.modules.leading }),
|
||||
require('./plugins/margin')({ values: styles.margin, variants: styles.modules.margin }),
|
||||
require('./plugins/maxHeight')({ values: styles.maxHeight, variants: styles.modules.maxHeight }),
|
||||
require('./plugins/maxWidth')({ values: styles.maxWidth, variants: styles.modules.maxWidth }),
|
||||
require('./plugins/minHeight')({ values: styles.minHeight, variants: styles.modules.minHeight }),
|
||||
require('./plugins/minWidth')({ values: styles.minWidth, variants: styles.modules.minWidth }),
|
||||
require('./plugins/negativeMargin')({ values: styles.negativeMargin, variants: styles.modules.negativeMargin }),
|
||||
// require('./plugins/objectFit')({ variants: styles.modules.objectFit }),
|
||||
// require('./plugins/objectPosition')({ variants: styles.modules.objectPosition }),
|
||||
require('./plugins/opacity')({ values: styles.opacity, variants: styles.modules.opacity }),
|
||||
require('./plugins/outline')({ variants: styles.modules.outline }),
|
||||
require('./plugins/overflow')({ variants: styles.modules.overflow }),
|
||||
require('./plugins/padding')({ values: styles.padding, variants: styles.modules.padding }),
|
||||
require('./plugins/pointerEvents')({ variants: styles.modules.pointerEvents }),
|
||||
require('./plugins/position')({ variants: styles.modules.position }),
|
||||
require('./plugins/resize')({ variants: styles.modules.resize }),
|
||||
require('./plugins/shadows')({ values: styles.shadows, variants: styles.modules.shadows }),
|
||||
require('./plugins/svgFill')({ values: styles.svgFill, variants: styles.modules.svgFill }),
|
||||
require('./plugins/svgStroke')({ values: styles.svgStroke, variants: styles.modules.svgStroke }),
|
||||
require('./plugins/tableLayout')({ variants: styles.modules.tableLayout }),
|
||||
require('./plugins/textAlign')({ variants: styles.modules.textAlign }),
|
||||
require('./plugins/textColors')({ values: styles.textColors, variants: styles.modules.textColors }),
|
||||
require('./plugins/textSizes')({ values: styles.textSizes, variants: styles.modules.textSizes }),
|
||||
require('./plugins/textStyle')({ variants: styles.modules.textStyle }),
|
||||
require('./plugins/tracking')({ values: styles.tracking, variants: styles.modules.tracking }),
|
||||
require('./plugins/userSelect')({ variants: styles.modules.userSelect }),
|
||||
require('./plugins/verticalAlign')({ variants: styles.modules.verticalAlign }),
|
||||
require('./plugins/visibility')({ variants: styles.modules.visibility }),
|
||||
require('./plugins/whitespace')({ variants: styles.modules.whitespace }),
|
||||
require('./plugins/width')({ values: styles.width, variants: styles.modules.width }),
|
||||
require('./plugins/zIndex')({ values: styles.zIndex, variants: styles.modules.zIndex }),
|
||||
],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,14 +49,17 @@ import whitespace from './plugins/whitespace'
|
|||
import width from './plugins/width'
|
||||
import zIndex from './plugins/zIndex'
|
||||
|
||||
function loadPlugins(modules, plugins) {
|
||||
function loadPlugins({ styles }, plugins) {
|
||||
return Object.keys(plugins)
|
||||
.filter(plugin => modules[plugin] !== false)
|
||||
.map(plugin => plugins[plugin]())
|
||||
.filter(plugin => styles.modules[plugin] !== false)
|
||||
.map(plugin => plugins[plugin]({
|
||||
values: styles[plugin],
|
||||
variants: styles.modules[plugin],
|
||||
}))
|
||||
}
|
||||
|
||||
export default function(config) {
|
||||
return loadPlugins(config.modules, {
|
||||
return loadPlugins(config, {
|
||||
lists,
|
||||
appearance,
|
||||
backgroundAttachment,
|
||||
|
|
|
|||
|
|
@ -8,12 +8,13 @@ import substituteResponsiveAtRules from './lib/substituteResponsiveAtRules'
|
|||
import substituteScreenAtRules from './lib/substituteScreenAtRules'
|
||||
import substituteClassApplyAtRules from './lib/substituteClassApplyAtRules'
|
||||
|
||||
import defaultPlugins from './defaultPlugins'
|
||||
import processPlugins from './util/processPlugins'
|
||||
|
||||
export default function(getConfig) {
|
||||
return function(css) {
|
||||
const config = getConfig()
|
||||
const processedPlugins = processPlugins(config.plugins, config)
|
||||
const processedPlugins = processPlugins([...defaultPlugins(config), ...config.plugins], config)
|
||||
|
||||
return postcss([
|
||||
substituteTailwindAtRules(config, processedPlugins),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue