feat: vite for builds
This commit is contained in:
parent
a262627335
commit
de2bb89710
48 changed files with 856 additions and 1184 deletions
|
@ -1,59 +0,0 @@
|
|||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import { minify } from 'terser'
|
||||
|
||||
const errorPages = ['404', '500', '1000', 'broken', 'error', 'js-challenge', 'not-allowed', 'rate-limit']
|
||||
|
||||
export const copyErrorPages = () => {
|
||||
errorPages.forEach((errorPage) => {
|
||||
const sourcePath = path.join('_site', errorPage, 'index.html')
|
||||
const destinationPath = path.join('_site', `${errorPage}.html`)
|
||||
const directoryPath = path.join('_site', errorPage)
|
||||
|
||||
fs.copyFile(sourcePath, destinationPath, (err) => {
|
||||
if (err) {
|
||||
console.error(`Error copying ${errorPage} page:`, err)
|
||||
return
|
||||
}
|
||||
|
||||
fs.unlink(sourcePath, (unlinkErr) => {
|
||||
if (unlinkErr) {
|
||||
console.error(`Error deleting source file for ${errorPage} page:`, unlinkErr)
|
||||
return
|
||||
}
|
||||
|
||||
fs.rmdir(directoryPath, (rmdirErr) => {
|
||||
if (rmdirErr) console.error(`Error removing directory for ${errorPage} page:`, rmdirErr)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const minifyJsComponents = async () => {
|
||||
const scriptsDir = '_site/assets/scripts'
|
||||
|
||||
const minifyJsFilesInDir = async (dir) => {
|
||||
const files = fs.readdirSync(dir)
|
||||
for (const fileName of files) {
|
||||
const filePath = path.join(dir, fileName)
|
||||
const stat = fs.statSync(filePath)
|
||||
|
||||
if (stat.isDirectory()) {
|
||||
await minifyJsFilesInDir(filePath)
|
||||
} else if (fileName.endsWith('.js')) {
|
||||
const fileContent = fs.readFileSync(filePath, 'utf8')
|
||||
const minified = await minify(fileContent)
|
||||
if (minified.error) {
|
||||
console.error(`Error minifying ${filePath}:`, minified.error)
|
||||
} else {
|
||||
fs.writeFileSync(filePath, minified.code)
|
||||
}
|
||||
} else {
|
||||
console.log(`No .js files to minify in ${filePath}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await minifyJsFilesInDir(scriptsDir)
|
||||
}
|
Reference in a new issue