11const { createHash } = require ( 'node:crypto' ) ;
2- const { readdir, readFile, writeFile } = require ( 'fs/promises' ) ;
2+ const { readdir, readFile, writeFile } = require ( 'node: fs/promises' ) ;
33const { existsSync, readFileSync } = require ( 'node:fs' ) ;
44const { dirname, extname, resolve } = require ( 'node:path' ) ;
55const { transform, composeVisitors } = require ( 'lightningcss' ) ;
66const { Timer } = require ( './utils/timer.es6.js' ) ;
77
8+ const RootPath = process . cwd ( ) ;
89const skipExternal = true ;
910const variable = 'v' ;
1011
@@ -56,13 +57,15 @@ function urlVersioning(fromFile) {
5657 */
5758const fixVersion = async ( file ) => {
5859 try {
59- const cssString = await readFile ( file ) ;
6060 const { code } = transform ( {
61- code : cssString ,
62- minify : false ,
61+ code : await readFile ( file ) ,
62+ minify : file . endsWith ( '.min.css' ) ,
6363 visitor : composeVisitors ( [ urlVersioning ( file ) ] ) ,
6464 } ) ;
65- await writeFile ( file , code , { encoding : 'utf8' , mode : 0o644 } ) ;
65+ await writeFile ( file , `@charset "UTF-8";${ file . endsWith ( '.min.css' ) ? '' : '\n' } ${ code } ` , {
66+ encoding : 'utf8' ,
67+ mode : 0o644 ,
68+ } ) ;
6669 } catch ( error ) {
6770 throw new Error ( error ) ;
6871 }
@@ -76,7 +79,7 @@ const fixVersion = async (file) => {
7679module . exports . cssVersioning = async ( ) => {
7780 const bench = new Timer ( 'Versioning' ) ;
7881
79- const cssFiles = ( await readdir ( ' media' , { withFileTypes : true , recursive : true } ) )
82+ const cssFiles = ( await readdir ( ` ${ RootPath } / media` , { withFileTypes : true , recursive : true } ) )
8083 . filter ( ( file ) => ( ! file . isDirectory ( ) && extname ( file . name ) === '.css' ) )
8184 . map ( ( file ) => `${ file . path } /${ file . name } ` ) ;
8285
0 commit comments