// postcss.config.js
import { purgeCSSPlugin } from '@fullhuman/postcss-purgecss'
import postcssApply from 'postcss-apply'
import postcssEasing from 'postcss-easings'
import postcssImport from 'postcss-import'
import postcssMixins from 'postcss-mixins'
import postcssNesting from 'postcss-nesting'
import postcssPresetEnv from 'postcss-preset-env'
import postcssUtilities from 'postcss-utilities'

const plugins = [
  postcssImport(),
  postcssApply(),
  postcssMixins(),
  postcssEasing(),
  postcssPresetEnv({
    stage: 1,
    features: {
      'nesting-rules': false,
    },
  }),

  postcssUtilities(),
  postcssNesting(),
]

if (process.env.NODE_ENV === 'production') {
  console.log('Adding PurgeCSS')
  plugins.push(
    purgeCSSPlugin({
      content: ['./src/**/*.{html,js,jsx,ts,tsx}', './content/**/*.{md,mdx}'],
      safelist: ['html', 'body'],
      variables: true,
    })
  )
}

export default {
  plugins,
}
