Include default config by default in presets (#2660)

This commit is contained in:
Adam Wathan 2020-10-23 13:23:21 -04:00 committed by GitHub
parent de7da05604
commit b27608557a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 65 additions and 12 deletions

View File

@ -218,17 +218,17 @@ test('the default config can be overridden using the presets key', () => {
{
theme: {
extend: {
colors: {
black: 'black',
minHeight: {
24: '24px',
},
backgroundColor: (theme) => theme('colors'),
},
},
corePlugins: ['backgroundColor'],
corePlugins: ['minHeight'],
variants: { minHeight: [] },
},
],
theme: {
extend: { colors: { white: 'white' } },
extend: { minHeight: { 48: '48px' } },
},
}),
])
@ -240,11 +240,62 @@ test('the default config can be overridden using the presets key', () => {
)
.then((result) => {
const expected = `
.bg-black {
background-color: black;
.min-h-0 {
min-height: 0;
}
.bg-white {
background-color: white;
.min-h-24 {
min-height: 24px;
}
.min-h-48 {
min-height: 48px;
}
.min-h-full {
min-height: 100%;
}
.min-h-screen {
min-height: 100vh;
}
`
expect(result.css).toMatchCss(expected)
})
})
test('the default config can be removed by using an empty presets key in a preset', () => {
return postcss([
tailwind({
presets: [
{
presets: [],
theme: {
extend: {
minHeight: {
24: '24px',
},
},
},
corePlugins: ['minHeight'],
variants: { minHeight: [] },
},
],
theme: {
extend: { minHeight: { 48: '48px' } },
},
}),
])
.process(
`
@tailwind utilities
`,
{ from: undefined }
)
.then((result) => {
const expected = `
.min-h-24 {
min-height: 24px;
}
.min-h-48 {
min-height: 48px;
}
`
@ -257,6 +308,7 @@ test('presets can have their own presets', () => {
tailwind({
presets: [
{
presets: [],
theme: {
colors: { red: '#dd0000' },
},
@ -264,6 +316,7 @@ test('presets can have their own presets', () => {
{
presets: [
{
presets: [],
theme: {
colors: {
transparent: 'transparent',

View File

@ -2,9 +2,9 @@ import defaultConfig from '../../stubs/defaultConfig.stub.js'
import { flagEnabled } from '../featureFlags'
import { flatMap, get } from 'lodash'
export default function getAllConfigs(config, defaultPresets = [defaultConfig]) {
const configs = flatMap([...get(config, 'presets', defaultPresets)].reverse(), (preset) => {
return getAllConfigs(preset, [])
export default function getAllConfigs(config) {
const configs = flatMap([...get(config, 'presets', [defaultConfig])].reverse(), (preset) => {
return getAllConfigs(preset)
})
const features = {