-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathpostcss.config.js
47 lines (42 loc) · 1006 Bytes
/
postcss.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* @typedef {('development'|'production'|string)} PostCSSEnv
*/
/**
* @typedef {Object} PostCSSFile
* @property {string} dirname
* @property {string} basename
* @property {string} extname
*/
/**
* @typedef {Object} PostCSSOptions
* @property {unknown} [map]
* @property {unknown} [parser]
* @property {unknown} [syntax]
* @property {unknown} [stringifier]
*/
/**
* @typedef {Object} PostCSSContext
* @property {PostCSSEnv} env
* @property {PostCSSFile} file
* @property {PostCSSOptions} options
*/
/**
* @typedef {Object} PostCSSConfig
* @property {unknown} [map]
* @property {unknown} [parser]
* @property {Record<string, unknown>} plugins
*/
/**
* @param {PostCSSContext} ctx
* @returns {PostCSSConfig} PostCSS configuration for a given file
*/
module.exports = (ctx) => ({
map: ctx.options.map,
parser: ctx.options.parser,
plugins: {
precss: true,
autoprefixer: true,
"postcss-url": { url: "inline" },
// cssnano: ctx.env === "production" ? {} : false
}
})