@markusantonwolf/ta-foodtrucks
Version:
TA-Foodtrucks plugin shows the next food truck and street food dates in your area based on Craftplaces API. You can customize the endpoints to get all dates for a specific vendor, for a specific city or just for a location you are interested in. The light
79 lines (70 loc) • 2.4 kB
JavaScript
const plugin = require('tailwindcss/plugin')
const fs = require('fs')
const _ = require('lodash')
const fnc = require('./functions')
const utilities = require('./utilities')
const keyframes = require('./keyframes')
const ta_config_defaults = {
debug: false,
export: false,
}
const ta_plugin_defaults = {
variants: ['responsive'],
respectPrefix: false,
respectImportant: true,
}
if (process.env.NODE_ENV === 'test') {
console.info('utilities', utilities(ta_config_defaults))
console.info('keyframes', keyframes())
}
module.exports = plugin.withOptions((options = {}) => {
return function ({ addComponents, theme, variants }) {
const ta_config = _.defaultsDeep({}, theme('taFoodtrucks'), ta_config_defaults)
const ta_plugin = _.defaultsDeep(options, { variants: variants('taFoodtrucks') }, ta_plugin_defaults)
const new_utilities = {}
const new_keyframes = {}
_.merge(new_utilities, utilities(ta_config))
_.merge(new_keyframes, keyframes())
if (ta_config.debug === true) {
console.info(new_utilities)
console.info(new_keyframes)
}
if (ta_config.export === true) {
fs.mkdirSync('./dist/styles', { recursive: true })
fs.writeFile(
'./dist/styles/ta-foodtrucks-utilities.css',
fnc.flattenObject(new_utilities),
{
encoding: 'utf8',
flag: 'w+',
mode: 0o666,
},
function (err) {
if (err) {
return console.log(err)
}
}
)
fs.writeFile(
'./dist/styles/ta-foodtrucks-keyframes.css',
fnc.flattenObject(new_keyframes),
{
encoding: 'utf8',
flag: 'w+',
mode: 0o666,
},
function (err) {
if (err) {
return console.log(err)
}
}
)
}
addComponents(new_utilities, ta_plugin)
addComponents(new_keyframes, {
variants: [],
respectPrefix: ta_plugin.respectPrefix,
respectImportant: ta_plugin.respectImportant,
})
}
})