[Scripts > Strip] Strip HTML
This commit is contained in:
parent
c02460a7c2
commit
c9d2d435fe
1 changed files with 32 additions and 24 deletions
|
@ -1,34 +1,41 @@
|
|||
const fs = require('fs');
|
||||
const { writeFileSync, readFileSync, readdirSync } = require('fs');
|
||||
const { join } = require('path');
|
||||
|
||||
const stripCode = (code) => code
|
||||
.replace(/(^| )\/\/.*$/gm, '')
|
||||
.replaceAll('const ', 'const#')
|
||||
.replaceAll('let ', 'let#')
|
||||
.replaceAll('var ', 'var#')
|
||||
.replaceAll('class ', 'class#')
|
||||
.replaceAll('get ', 'get#')
|
||||
.replaceAll('delete ', 'delete#')
|
||||
.replaceAll(' extends ', '#extends#')
|
||||
.replaceAll('typeof ', 'typeof#')
|
||||
.replaceAll(' of ', '#of#')
|
||||
.replaceAll(' in ', '#in#')
|
||||
.replaceAll('case ', 'case#')
|
||||
.replaceAll('await ', 'await#')
|
||||
.replaceAll('new ', 'new#')
|
||||
.replaceAll('return ', 'return#')
|
||||
.replaceAll('function ', 'function#')
|
||||
.replaceAll('void ', 'void#')
|
||||
.replaceAll('throw ', 'throw#')
|
||||
.replaceAll('async ', 'async#')
|
||||
.replaceAll('else ', 'else#')
|
||||
.replaceAll('const ', 'const~')
|
||||
.replaceAll('let ', 'let~')
|
||||
.replaceAll('var ', 'var~')
|
||||
.replaceAll('class ', 'class~')
|
||||
.replaceAll('get ', 'get~')
|
||||
.replaceAll('delete ', 'delete~')
|
||||
.replaceAll(' extends ', '~extends~')
|
||||
.replaceAll('typeof ', 'typeof~')
|
||||
.replaceAll(' of ', '~of~')
|
||||
.replaceAll(' in ', '~in~')
|
||||
.replaceAll('case ', 'case~')
|
||||
.replaceAll('await ', 'await~')
|
||||
.replaceAll('new ', 'new~')
|
||||
.replaceAll('return ', 'return~')
|
||||
.replaceAll('function ', 'function~')
|
||||
.replaceAll('void ', 'void~')
|
||||
.replaceAll('throw ', 'throw~')
|
||||
.replaceAll('async ', 'async~')
|
||||
.replaceAll('else ', 'else~')
|
||||
.replaceAll('false', '!!0')
|
||||
.replaceAll('true', '!0')
|
||||
.replace(/((['"`])[\s\S]*?\2)|[ \n]/g, (_, g1) => g1 || '')
|
||||
.replaceAll('#', ' ')
|
||||
.replaceAll('~', ' ')
|
||||
.replaceAll('? ?', '??');
|
||||
|
||||
const stripJs = (jsPath) => fs.writeFileSync(jsPath, stripCode(fs.readFileSync(jsPath, 'utf8')));
|
||||
const fixHtml = (code) => code
|
||||
.replaceAll(' loop', '~loop')
|
||||
.replaceAll(' autoplay', '~autoplay')
|
||||
.replaceAll(' src', '~src')
|
||||
.replaceAll(' id', '~id');
|
||||
|
||||
const stripJs = (path) => writeFileSync(path, stripCode(readFileSync(path, 'utf8')));
|
||||
const stripHtml = (path) => writeFileSync(path, stripCode(fixHtml(readFileSync(path, 'utf8'))));
|
||||
|
||||
const minJson = (data) => {
|
||||
if (data.description) delete data.description;
|
||||
|
@ -36,14 +43,15 @@ const minJson = (data) => {
|
|||
return data;
|
||||
};
|
||||
|
||||
const stripJson = (path) => fs.writeFileSync(path, JSON.stringify(minJson(JSON.parse(fs.readFileSync(path, 'utf8')))));
|
||||
const stripJson = (path) => writeFileSync(path, JSON.stringify(minJson(JSON.parse(readFileSync(path, 'utf8')))));
|
||||
|
||||
const tree = (dirPath) => fs.readdirSync(dirPath).forEach((x) => {
|
||||
const tree = (dirPath) => readdirSync(dirPath).forEach((x) => {
|
||||
const path = join(dirPath, x);
|
||||
console.log(path);
|
||||
|
||||
if (x.endsWith('.js')) return stripJs(path);
|
||||
if (x.endsWith('.json')) return stripJson(path);
|
||||
if (x.endsWith('.html')) return stripHtml(path);
|
||||
if (!x.includes('.')) return tree(path);
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue