Browse Source

Removed rollup-plugin-filesize dependency. (#32650)

mrdoob 1 month ago
parent
commit
bc25e82393
2 changed files with 51 additions and 11 deletions
  1. 0 1
      package.json
  2. 51 10
      test/rollup.treeshake.config.js

+ 0 - 1
package.json

@@ -111,7 +111,6 @@
     "puppeteer": "^24.25.0",
     "qunit": "^2.19.4",
     "rollup": "^4.6.0",
-    "rollup-plugin-filesize": "^10.0.0",
     "servez": "^2.2.4"
   },
   "overrides": {

+ 51 - 10
test/rollup.treeshake.config.js

@@ -1,7 +1,54 @@
+import { gzipSync } from 'zlib';
 import resolve from '@rollup/plugin-node-resolve';
-import filesize from 'rollup-plugin-filesize';
 import terser from '@rollup/plugin-terser';
 
+function filesize() {
+
+	const green = '\x1b[1m\x1b[32m';
+	const yellow = '\x1b[33m';
+	const reset = '\x1b[0m';
+
+	return {
+		name: 'filesize',
+		writeBundle( options, bundle ) {
+
+			for ( const [ , chunk ] of Object.entries( bundle ) ) {
+
+				if ( chunk.code ) {
+
+					const size = ( chunk.code.length / 1024 ).toFixed( 2 ) + ' KB';
+					const gzipped = ( gzipSync( chunk.code ).length / 1024 ).toFixed( 2 ) + ' KB';
+					const destination = options.file;
+
+					const lines = [
+						{ label: 'Destination: ', value: destination },
+						{ label: 'Bundle Size:  ', value: size },
+						{ label: 'Gzipped Size: ', value: gzipped }
+					];
+
+					const maxLength = Math.max( ...lines.map( l => l.label.length + l.value.length ) );
+					const width = maxLength + 6;
+
+					console.log( `\n┌${'─'.repeat( width )}┐` );
+					console.log( `│${' '.repeat( width )}│` );
+					lines.forEach( ( { label, value } ) => {
+
+						const padding = ' '.repeat( width - label.length - value.length - 3 );
+						console.log( `│   ${green}${label}${yellow}${value}${reset}${padding}│` );
+
+					} );
+					console.log( `│${' '.repeat( width )}│` );
+					console.log( `└${'─'.repeat( width )}┘` );
+
+				}
+
+			}
+
+		}
+	};
+
+}
+
 export default [
 	{
 		input: 'test/treeshake/index.js',
@@ -20,9 +67,7 @@ export default [
 		plugins: [
 			resolve(),
 			terser(),
-			filesize( {
-				showMinifiedSize: false,
-			} )
+			filesize()
 		],
 		output: [
 			{
@@ -48,9 +93,7 @@ export default [
 		plugins: [
 			resolve(),
 			terser(),
-			filesize( {
-				showMinifiedSize: false,
-			} )
+			filesize()
 		],
 		output: [
 			{
@@ -76,9 +119,7 @@ export default [
 		plugins: [
 			resolve(),
 			terser(),
-			filesize( {
-				showMinifiedSize: false,
-			} )
+			filesize()
 		],
 		output: [
 			{

粤ICP备19079148号