mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
Make it possible to enable caretColor and content core plugins in AOT mode (#4548)
* Fix issue where disabled corePlugins can't be re-enabled * Disable caretColor and content core plugins by default, enable in JIT * Don't disable caretColor/content in default config stub, hard-code for AOT instead But with ability to still opt-in through your own config. Somewhat messy, but goal is to keep the messes in the AOT path and keep the JIT path pure. * Fix style * Revert unnecessary changes * Fix style
This commit is contained in:
parent
d6b11b3807
commit
65fde59f6a
@ -1,11 +1,7 @@
|
||||
import * as plugins from './plugins/index.js'
|
||||
import configurePlugins from './util/configurePlugins'
|
||||
|
||||
const jitOnlyPlugins = ['caretColor', 'content']
|
||||
|
||||
export default function ({ corePlugins: corePluginConfig }) {
|
||||
corePluginConfig = corePluginConfig.filter((pluginName) => !jitOnlyPlugins.includes(pluginName))
|
||||
|
||||
return configurePlugins(corePluginConfig, Object.keys(plugins)).map((pluginName) => {
|
||||
return plugins[pluginName]()
|
||||
})
|
||||
|
||||
10
src/index.js
10
src/index.js
@ -50,7 +50,10 @@ function resolveConfigPath(filePath) {
|
||||
|
||||
const getConfigFunction = (config) => () => {
|
||||
if (_.isUndefined(config)) {
|
||||
return resolveConfig([...getAllConfigs(defaultConfig)])
|
||||
return resolveConfig([
|
||||
...getAllConfigs(defaultConfig),
|
||||
{ corePlugins: { caretColor: false, content: false } },
|
||||
])
|
||||
}
|
||||
|
||||
// Skip this if Jest is running: https://github.com/facebook/jest/pull/9841#issuecomment-621417584
|
||||
@ -64,7 +67,10 @@ const getConfigFunction = (config) => () => {
|
||||
|
||||
const configObject = _.isObject(config) ? _.get(config, 'config', config) : require(config)
|
||||
|
||||
return resolveConfig([...getAllConfigs(configObject)])
|
||||
return resolveConfig([
|
||||
...getAllConfigs(configObject),
|
||||
{ corePlugins: { caretColor: false, content: false } },
|
||||
])
|
||||
}
|
||||
|
||||
let warned = false
|
||||
|
||||
@ -5,9 +5,19 @@ export default function (pluginConfig, plugins) {
|
||||
|
||||
const pluginNames = Array.isArray(pluginConfig)
|
||||
? pluginConfig
|
||||
: plugins.filter((pluginName) => {
|
||||
return pluginConfig !== false && pluginConfig[pluginName] !== false
|
||||
})
|
||||
: [
|
||||
...new Set(
|
||||
plugins
|
||||
.filter((pluginName) => {
|
||||
return pluginConfig !== false && pluginConfig[pluginName] !== false
|
||||
})
|
||||
.concat(
|
||||
Object.keys(pluginConfig).filter((pluginName) => {
|
||||
return pluginConfig[pluginName] !== false
|
||||
})
|
||||
)
|
||||
),
|
||||
]
|
||||
|
||||
return pluginNames
|
||||
}
|
||||
|
||||
@ -2137,6 +2137,25 @@ test('core plugin configuration builds on the default list when starting with an
|
||||
})
|
||||
})
|
||||
|
||||
test('core plugins that are disabled by default can be enabled', () => {
|
||||
const userConfig = {
|
||||
corePlugins: { display: true },
|
||||
}
|
||||
|
||||
const defaultConfig = {
|
||||
presets: [],
|
||||
prefix: '',
|
||||
important: false,
|
||||
separator: ':',
|
||||
theme: {},
|
||||
variants: {},
|
||||
corePlugins: { display: false },
|
||||
}
|
||||
|
||||
const result = resolveConfig([userConfig, defaultConfig])
|
||||
expect(result.corePlugins).toContain('display')
|
||||
})
|
||||
|
||||
test('core plugin configurations stack', () => {
|
||||
const userConfig = {
|
||||
corePlugins: { display: false },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user