mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-14 18:13:54 +00:00
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
|
import { join } from 'node:path'
|
||
|
import PostcssConfig from '../src/utils/postcss'
|
||
|
|
||
|
describe('webpack: postcss', () => {
|
||
|
const getConfigWithPostcssConfig = config =>
|
||
|
new PostcssConfig({
|
||
|
options: {
|
||
|
dev: false,
|
||
|
srcDir: join(__dirname),
|
||
|
rootDir: join(__dirname),
|
||
|
modulesDir: []
|
||
|
},
|
||
|
nuxt: {
|
||
|
resolver: {
|
||
|
requireModule: plugin => opts => [plugin, opts]
|
||
|
}
|
||
|
},
|
||
|
buildOptions: {
|
||
|
postcss: config
|
||
|
}
|
||
|
})
|
||
|
|
||
|
test('should have the right default configuration', () => {
|
||
|
// Use the default postcss config: stage 2
|
||
|
// https://cssdb.org/#staging-process
|
||
|
const pluginConfig = Object.fromEntries(
|
||
|
getConfigWithPostcssConfig({ postcssOptions: {} }).config().postcssOptions.plugins
|
||
|
)
|
||
|
expect(pluginConfig).toMatchInlineSnapshot(`
|
||
|
{
|
||
|
"cssnano": {
|
||
|
"preset": [
|
||
|
"default",
|
||
|
{
|
||
|
"minifyFontValues": {
|
||
|
"removeQuotes": false,
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
"postcss-import": {
|
||
|
"resolve": [Function],
|
||
|
},
|
||
|
"postcss-preset-env": {},
|
||
|
"postcss-url": {},
|
||
|
}
|
||
|
`)
|
||
|
})
|
||
|
test('can pass a function through', () => {
|
||
|
// Use the default postcss config: stage 2
|
||
|
// https://cssdb.org/#staging-process
|
||
|
const options = getConfigWithPostcssConfig({ postcssOptions: () => ({ preset: { stage: 2 } }) }).config().postcssOptions
|
||
|
expect(typeof options).toBe('function')
|
||
|
})
|
||
|
})
|