📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: LiteSpeed
2026-06-29 01:40:06
📂
/ (Root)
/
home
/
apkbfjox
/
joygame.com.pk
/
wp-content
/
plugins
/
seo-by-rank-math
/
vendor
/
cmb2
/
cmb2
/
scripts
📍 /home/apkbfjox/joygame.com.pk/wp-content/plugins/seo-by-rank-math/vendor/cmb2/cmb2/scripts
🔄 Refresh
✏️
Editing: build-banner.js
Writable
#!/usr/bin/env node /** * CSS banner injection and minification script. * * Usage: * node scripts/build-banner.js # Add expanded banners to CSS files * node scripts/build-banner.js --minify # Create .min.css files with one-line banner */ const fs = require( 'fs' ); const path = require( 'path' ); const pkg = require( path.join( __dirname, '..', 'package.json' ) ); const date = new Date().toISOString().slice( 0, 10 ); const year = new Date().getFullYear(); const cssFiles = [ 'css/cmb2.css', 'css/cmb2-front.css', 'css/cmb2-display.css', 'css/cmb2-rtl.css', 'css/cmb2-front-rtl.css', 'css/cmb2-display-rtl.css', ]; const expandedBanner = '/*!\n' + ' * ' + pkg.title + ' - v' + pkg.version + ' - ' + date + '\n' + ' * ' + pkg.homepage + '\n' + ' * Copyright (c) ' + year + '\n' + ' * Licensed GPLv2+\n' + ' */\n'; const minBanner = '/*! ' + pkg.title + ' - v' + pkg.version + ' - ' + date + ' | ' + pkg.homepage + ' | Copyright (c) ' + year + ' ' + pkg.author.name + ' | Licensed ' + pkg.license + ' */'; const isMinify = process.argv.includes( '--minify' ); if ( isMinify ) { // Minify mode: create .min.css files with one-line banner. let CleanCSS; try { CleanCSS = require( 'clean-css' ); } catch ( e1 ) { try { // clean-css may be nested inside clean-css-cli CleanCSS = require( 'clean-css-cli/node_modules/clean-css' ); } catch ( e2 ) { console.error( 'clean-css not found. Install clean-css-cli: npm install clean-css-cli' ); process.exit( 1 ); } } const cleancss = new CleanCSS( { level: 1 } ); cssFiles.forEach( function( file ) { const content = fs.readFileSync( file, 'utf8' ); const result = cleancss.minify( content ); if ( result.errors.length ) { console.error( 'Error minifying ' + file + ':', result.errors ); process.exit( 1 ); } const outFile = file.replace( '.css', '.min.css' ); fs.writeFileSync( outFile, minBanner + '\n' + result.styles ); console.log( 'Minified: ' + outFile ); } ); } else { // Banner mode: prepend expanded banner to CSS files. cssFiles.forEach( function( file ) { if ( ! fs.existsSync( file ) ) { console.warn( 'Skipping (not found): ' + file ); return; } const content = fs.readFileSync( file, 'utf8' ); // Strip any existing banner before adding new one. const stripped = content.replace( /^\/\*![\s\S]*?\*\/\s*/, '' ); fs.writeFileSync( file, expandedBanner + '\n' + stripped ); console.log( 'Banner added: ' + file ); } ); }
💾 Save Changes
❌ Cancel