12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/bin/env node
- 'use strict'
- import { readFileSync, writeFileSync } from 'node:fs';
- import { join, dirname, basename } from 'node:path';
- import { fileURLToPath } from 'node:url'
- import { sync } from 'glob';
- import banner from '@repo/banner';
- const __dirname = dirname(fileURLToPath(import.meta.url))
- const styles = sync(join(__dirname, '..', 'dist', 'css', '*.css'))
- const plugins = {
- 'tabler-flags': 'Flags',
- 'tabler-flags.rtl': 'Flags RTL',
- 'tabler-marketing': 'Marketing',
- 'tabler-marketing.rtl': 'Marketing RTL',
- 'tabler-payments': 'Payments',
- 'tabler-payments.rtl': 'Payments RTL',
- 'tabler-socials': 'Socials',
- 'tabler-socials.rtl': 'Socials RTL',
- 'tabler-vendors': 'Vendors',
- 'tabler-vendors.rtl': 'Vendors RTL',
- }
- styles.forEach((file, i) => {
- const content = readFileSync(file, 'utf8')
- const filename = basename(file)
- const pluginKey = Object.keys(plugins).find(plugin => filename.includes(plugin))
- const plugin = plugins[pluginKey]
- const regex = /^(@charset ['"][a-zA-Z0-9-]+['"];?)\n?/i
- let newContent = ''
- if (content.match(regex)) {
- newContent = content.replace(regex, (m, m1) => {
- return `${m1}\n${banner(plugin)}\n`
- })
- } else {
- newContent = `${banner(plugin)}\n${content}`
- }
- writeFileSync(file, newContent, 'utf8')
- })
|