// Finalize Nodejs Script // 1 - Append JS in HTML Document // 2 - Gzip HTML // 3 - Covert to Raw Bytes // 4 - ( Save to File: webpage.h ) in dist Folder const fs = require('fs'); const minify = require('@node-minify/core'); const terser = require('@node-minify/terser'); const cssnano = require('@node-minify/cssnano'); // const csso = require('@node-minify/csso'); // const uglifyjs = require('@node-minify/uglify-js'); // const gcc = require('@node-minify/google-closure-compiler'); // const htmlMinifier = require('@node-minify/html-minifier'); const converter = require('./stringConverter'); minify({ compressor: terser, input: '../app.js', output: './min/app.js', sync: true, callback: function (err, min) { if (err) console.log(err); } }); minify({ compressor: cssnano, input: '../style.css', output: './min/style.css', sync: true, callback: function (err, min) { if (err) console.log(err); } }); let html = fs.readFileSync('../setup.htm').toString(); let css = fs.readFileSync('./min/style.css'); let appjs = fs.readFileSync('./min/app.js'); console.log(css.length); console.log(appjs.length); html = html.replace('', ``); html = html.replace('', ``); // minify({ // compressor: htmlMinifier, // content: html // }).then(function (min) { // console.log('html min'); // }); fs.writeFile('./min/all.htm', html, function (err) { if (err) return console.log(err); }); const { createGzip } = require('node:zlib'); const { pipeline } = require('node:stream'); const { createReadStream, createWriteStream } = require('node:fs'); const gzip = createGzip(); const source = createReadStream('./min/all.htm'); var destination = createWriteStream('./min/all.htm.gz'); pipeline(source, gzip, destination, (err) => { if (err) { console.error('An error occurred:', err); process.exitCode = 1; } var c_array = converter.toString(fs.readFileSync('./min/all.htm.gz'), 16); fs.writeFileSync('setup_htm.h', c_array, 'utf8'); })