mirror of
https://github.com/tabler/tabler.git
synced 2025-12-21 17:34:25 +04:00
Add banner generation to CSS files and update package metadata
This commit is contained in:
46
core/build/add-banner.mjs
Normal file
46
core/build/add-banner.mjs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/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')
|
||||||
|
})
|
||||||
@@ -7,8 +7,9 @@
|
|||||||
"dev": "pnpm run watch",
|
"dev": "pnpm run watch",
|
||||||
"build": "pnpm run clean && pnpm run css && pnpm run js && pnpm run copy",
|
"build": "pnpm run clean && pnpm run css && pnpm run js && pnpm run copy",
|
||||||
"clean": "rm -rf dist/* demo",
|
"clean": "rm -rf dist/* demo",
|
||||||
"css": "pnpm run css-compile && pnpm run css-prefix && pnpm run css-rtl && pnpm run css-minify",
|
"css": "pnpm run css-compile && pnpm run css-prefix && pnpm run css-rtl && pnpm run css-minify && pnpm run css-banner",
|
||||||
"css-compile": "sass scss/:dist/css/ --no-source-map --load-path=node_modules",
|
"css-compile": "sass scss/:dist/css/ --no-source-map --load-path=node_modules",
|
||||||
|
"css-banner": "node build/add-banner.mjs",
|
||||||
"css-prefix": "postcss --config build/postcss.config.mjs --replace 'dist/css/*.css' '!dist/css/*.rtl*.css' '!dist/css/*.min.css'",
|
"css-prefix": "postcss --config build/postcss.config.mjs --replace 'dist/css/*.css' '!dist/css/*.rtl*.css' '!dist/css/*.min.css'",
|
||||||
"css-rtl": "cross-env NODE_ENV=RTL postcss --config build/postcss.config.mjs --dir 'dist/css' --ext '.rtl.css' 'dist/css/*.css' '!dist/css/*.min.css' '!dist/css/*.rtl.css'",
|
"css-rtl": "cross-env NODE_ENV=RTL postcss --config build/postcss.config.mjs --dir 'dist/css' --ext '.rtl.css' 'dist/css/*.css' '!dist/css/*.min.css' '!dist/css/*.rtl.css'",
|
||||||
"css-minify": "pnpm run css-minify-main && pnpm run css-minify-rtl",
|
"css-minify": "pnpm run css-minify-main && pnpm run css-minify-rtl",
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ const year = new Date().getFullYear()
|
|||||||
|
|
||||||
function getBanner(pluginFilename) {
|
function getBanner(pluginFilename) {
|
||||||
return `/*!
|
return `/*!
|
||||||
* Tabler${pluginFilename ? ` ${pluginFilename}` : ''} v${pkg.version} (${pkg.homepage})
|
* Tabler${pluginFilename ? ` ${pluginFilename}` : ''} v${pkg.version} (${pkg.homepage})
|
||||||
* Copyright 2018-${year} The Tabler Authors
|
* Copyright 2018-${year} The Tabler Authors
|
||||||
* Copyright 2018-${year} codecalm.net Paweł Kuna
|
* Copyright 2018-${year} codecalm.net Paweł Kuna
|
||||||
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
|
||||||
*/`
|
*/`
|
||||||
}
|
}
|
||||||
|
|
||||||
export default getBanner
|
export default getBanner
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@repo/banner",
|
"name": "@repo/banner",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
|
"homepage": "https://tabler.io",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"default": "./index.mjs"
|
"default": "./index.mjs"
|
||||||
|
|||||||
Reference in New Issue
Block a user