mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
Support passing config object under config key
This commit is contained in:
parent
5cad3910fd
commit
0bf8495b96
@ -95,6 +95,44 @@ test('custom config path can be passed using `config` property in an object', ()
|
||||
})
|
||||
})
|
||||
|
||||
test('custom config can be passed under the `config` property', () => {
|
||||
return postcss([
|
||||
tailwind({
|
||||
config: {
|
||||
theme: {
|
||||
screens: {
|
||||
mobile: '400px',
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
])
|
||||
.process(
|
||||
`
|
||||
@responsive {
|
||||
.foo {
|
||||
color: blue;
|
||||
}
|
||||
}
|
||||
`,
|
||||
{ from: undefined }
|
||||
)
|
||||
.then(result => {
|
||||
const expected = `
|
||||
.foo {
|
||||
color: blue;
|
||||
}
|
||||
@media (min-width: 400px) {
|
||||
.mobile\\:foo {
|
||||
color: blue;
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
expect(result.css).toMatchCss(expected)
|
||||
})
|
||||
})
|
||||
|
||||
test('tailwind.config.js is picked up by default', () => {
|
||||
return inTempDirectory(() => {
|
||||
fs.writeFileSync(
|
||||
|
||||
16
src/index.js
16
src/index.js
@ -13,18 +13,27 @@ import { defaultConfigFile } from './constants'
|
||||
import defaultConfig from '../stubs/defaultConfig.stub.js'
|
||||
|
||||
function resolveConfigPath(filePath) {
|
||||
// require('tailwindcss')({ theme: ..., variants: ... })
|
||||
if (_.isObject(filePath) && !_.has(filePath, 'config') && !_.isEmpty(filePath)) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
if (_.isObject(filePath) && _.has(filePath, 'config')) {
|
||||
// require('tailwindcss')({ config: 'custom-config.js' })
|
||||
if (_.isObject(filePath) && _.has(filePath, 'config') && _.isString(filePath.config)) {
|
||||
return path.resolve(filePath.config)
|
||||
}
|
||||
|
||||
// require('tailwindcss')({ config: { theme: ..., variants: ... } })
|
||||
if (_.isObject(filePath) && _.has(filePath, 'config') && _.isObject(filePath.config)) {
|
||||
undefined
|
||||
}
|
||||
|
||||
// require('tailwindcss')('custom-config.js')
|
||||
if (_.isString(filePath)) {
|
||||
return path.resolve(filePath)
|
||||
}
|
||||
|
||||
// require('tailwindcss')
|
||||
try {
|
||||
const defaultConfigPath = path.resolve(defaultConfigFile)
|
||||
fs.accessSync(defaultConfigPath)
|
||||
@ -43,7 +52,10 @@ const getConfigFunction = config => () => {
|
||||
delete require.cache[require.resolve(config)]
|
||||
}
|
||||
|
||||
return resolveConfig([_.isObject(config) ? config : require(config), defaultConfig])
|
||||
return resolveConfig([
|
||||
_.isObject(config) ? _.get(config, 'config', config) : require(config),
|
||||
defaultConfig,
|
||||
])
|
||||
}
|
||||
|
||||
const plugin = postcss.plugin('tailwind', config => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user