| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- const fs = require('fs')
- const color = require('./../../build/css/tw-extend/color')
- /**
- *
- * Generates a JS file with all the custom tailwind color classes
- *
- * @param {string} file
- * Name of file to be created
- */
- function writeJsFile(file: string) {
- const backgrounds = Object.keys(color).filter((x) => x.includes('background-'))
- const borders = Object.keys(color).filter((x) => x.includes('border-'))
- const texts = Object.keys(color).filter((x) => x.includes('foreground-'))
- const colors = Object.keys(color).filter(
- (x) =>
- !x.includes('foreground-') &&
- !x.includes('background-') &&
- !x.includes('border-') &&
- !x.includes('colors-') &&
- !x.includes('variables-')
- )
- const palletes = Object.keys(color).filter((x) => x.includes('colors-'))
- // console.log('Example tailwind classes: ')
- function santizieDefaults(x: string) {
- // console.log(x)
- let value = x
- value = value.replace('-DEFAULT', '')
- value = value.replace('background', 'bg')
- value = value.replace('foreground', 'text')
- value = value.replace('colors-', 'bg-')
- value = value.toLowerCase()
- return value
- }
- const result = {
- background: [...backgrounds.map((x) => santizieDefaults(x))],
- border: [...borders.map((x) => santizieDefaults(x))],
- text: [...texts.map((x) => santizieDefaults(x))],
- colors: [...colors.map((x) => `bg-${santizieDefaults(x)}`)],
- palletes: [...palletes.map((x) => santizieDefaults(x))],
- }
- const fileContent = `export default ${JSON.stringify(result, null, 2)};\n`
- fs.writeFileSync(file, fileContent)
- console.log('saved example color classes to : ', file)
- }
- writeJsFile('./src/lib/tailwind-demo-classes.ts')
- // example output
- // ./src/lib/tailwind-demo-classes.js
- // module.exports = {
- // "background": [
- // "bg",
- // "bg-selection",
- // //..
- // ],
- // "border": [
- // "border",
- // "border-muted",
- // //..
- // ],
- // "text": [
- // "text",
- // "text-strong",
- // //..
- // ],
- // "colors": [
- // "bg-destructive-200",
- // "bg-destructive-300",
- // //..
- // ],
- // "palletes": [
- // "bg-black",
- // "bg-white",
- // //..
- // ]
- // }
|