const defaultTheme = require('tailwindcss/defaultTheme') const CLASS_YML_REGEX = /^- "\.([\S-]+)"$/ // for classes in hashes, eg. `SCHEME_CLASS_MAPPINGS` const CLASS_MAPPINGS = '(?:\\S+|:\\"[\\S-]+\\"): \\"([\\S -]+)\\"' // for classes in constants const CLASS_CONSTANT = '[A-Z_]+ = \\"([\\S -]+)\\"' const CLASS_RB_REGEX = new RegExp(`(?:${CLASS_MAPPINGS}|${CLASS_CONSTANT})`, 'g') const resolve = require('path').resolve module.exports = { prefix: 'ariadne-', content: { files: [ resolve(__dirname, 'public/*.html'), resolve(__dirname, 'app/assets/javascripts/**/*.js'), resolve(__dirname, 'app/components/**/*.erb'), resolve(__dirname, 'app/components/**/*.rb'), resolve(__dirname, 'app/lib/ariadne'), resolve(__dirname, 'static/classes.yml') ], extract: { yml: content => { const matches = content.match(CLASS_YML_REGEX) return matches ? matches[1].split(/\s+/) : [] }, rb: content => { const matches = content.match(CLASS_RB_REGEX) return matches ? matches[0].split(/\s+/) : [] } } }, plugins: [ require('@tailwindcss/aspect-ratio'), require('@tailwindcss/line-clamp'), require('@tailwindcss/forms'), require('@tailwindcss/typography') ], theme: { extend: { colors: { 'state-closed': '#da1e28', 'state-open': '#198038' }, fontFamily: { sans: ['Inter var', ...defaultTheme.fontFamily.sans] } } } }