Skip to content

Commit

Permalink
update(script): Binary files are properly supported
Browse files Browse the repository at this point in the history
  • Loading branch information
GriffFerguson committed May 4, 2022
1 parent cfc6daf commit f46a125
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions lib/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ fs.readFile('./build.config.json', {encoding: 'utf8'}, (err, data) => {

function createFile(file, code) {
buildDirectory(path.join(config.output, file.dir))
fs.writeFile(`${path.join(config.output, file.dir)}/${file.name}`, Buffer.from(code, 'utf8'), (err) => {if (err) console.error(`Error while creating file ${file.name} at ${file.dir}:\n${err}`)})
fs.writeFile(`${path.join(config.output, file.dir)}/${file.name}`, code, (err) => {if (err) console.error(`Error while creating file ${file.name} at ${file.dir}:\n${err}`)})
}

function findFiles(origin) {
var i = 0;
var files = [];
var dir = fs.readdirSync(origin, {encoding: 'utf8', withFileTypes: false});
var dir = fs.readdirSync(origin, {withFileTypes: false});

function searcher() {
var file = {
Expand All @@ -48,7 +48,8 @@ function findFiles(origin) {
if (file.isDirectory) {
files = files.concat(findFiles(file.fullPath))
} else {
var reqdFile = fs.readFileSync(file.fullPath, {encoding: 'utf8'})
var reqdFile = fs.readFileSync(file.fullPath, {encoding:
file.ext == '.html' || file.ext == '.htm' || file.ext == '.css' || file.ext == '.js' || file.ext == '.ts' ? 'utf8' : 'hex'})
files.push({meta: file, data: reqdFile})
}
} else console.log(`Ignoring '${file.name}'`)
Expand Down Expand Up @@ -80,17 +81,17 @@ function build() {
} else if (file.meta.ext == '.css') {
// CSS
cssMinify(file)
} else if (file.meta.ext == '.html') {
} else if (file.meta.ext == '.html' || file.meta.ext == '.htm') {
// HTML
htmlMinify(file)
} else {
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, file.data)
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, Buffer.from(file.data, 'hex'))
}
}

async function jsMinify(file) {
var minified = await jsTerser.minify(file.data, {mangle: true, compress: true})
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, minified.code)
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, Buffer.from(minified.code, 'utf8'))
}

async function tsMinify(file) {
Expand All @@ -110,12 +111,12 @@ function build() {

async function htmlMinify(file) {
var minified = minify.html(file.data)
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, minified)
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, Buffer.from(minified, 'utf8'))
}

async function cssMinify(file) {
var minified = minify.css(file.data)
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, minified)
createFile({dir: path.normalize(file.meta.path.split('src')[1]), name: file.meta.name}, Buffer.from(minified, 'utf8'))
}
}

Expand Down

0 comments on commit f46a125

Please sign in to comment.