YesPlayMusic/postcss.config.js

42 lines
985 B
JavaScript

/* eslint-disable @typescript-eslint/no-var-requires */
const { colord } = require('colord')
const colors = require('tailwindcss/colors')
const replaceBrandColorWithCssVar = () => {
const blues = Object.entries(colors.blue).map(([key, value]) => {
const c = colord(value).toRgb()
return {
key,
rgb: `${c.r} ${c.g} ${c.b}`,
}
})
return {
postcssPlugin: 'replaceBrandColorWithCssVar',
Declaration(decl) {
let value = decl.value
blues.forEach(blue => {
value = value.replace(
`rgb(${blue.rgb}`,
`rgb(var(--brand-color-${blue.key})`
)
})
// if (decl.value !== value) {
// console.log({
// before: decl.value,
// after: value,
// })
// }
decl.value = value
},
}
}
replaceBrandColorWithCssVar.postcss = true
module.exports = {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
replaceBrandColorWithCssVar,
],
}