mirror of https://github.com/curbengh/hexo-yam
fix: skip empty file
This commit is contained in:
parent
8d0fdaeb80
commit
d75b10b64b
|
@ -61,7 +61,7 @@ function logFn (original, minified, path, ext) {
|
||||||
function minifyHtml (str, data) {
|
function minifyHtml (str, data) {
|
||||||
const hexo = this
|
const hexo = this
|
||||||
const options = hexo.config.minify.html
|
const options = hexo.config.minify.html
|
||||||
if (options.enable === false) return
|
if (options.enable === false || !str) return
|
||||||
|
|
||||||
const { path } = data
|
const { path } = data
|
||||||
const { exclude, globOptions, verbose } = options
|
const { exclude, globOptions, verbose } = options
|
||||||
|
@ -78,7 +78,7 @@ function minifyHtml (str, data) {
|
||||||
async function minifyCss (str, data) {
|
async function minifyCss (str, data) {
|
||||||
const hexo = this
|
const hexo = this
|
||||||
const options = hexo.config.minify.css
|
const options = hexo.config.minify.css
|
||||||
if (options.enable === false) return
|
if (options.enable === false || !str) return
|
||||||
|
|
||||||
const { path } = data
|
const { path } = data
|
||||||
const { exclude, globOptions, verbose } = options
|
const { exclude, globOptions, verbose } = options
|
||||||
|
@ -97,7 +97,7 @@ async function minifyCss (str, data) {
|
||||||
function minifyJs (str, data) {
|
function minifyJs (str, data) {
|
||||||
const hexo = this
|
const hexo = this
|
||||||
const options = hexo.config.minify.js
|
const options = hexo.config.minify.js
|
||||||
if (options.enable === false) return
|
if (options.enable === false || !str) return
|
||||||
|
|
||||||
const { path } = data
|
const { path } = data
|
||||||
const { exclude, globOptions, verbose } = options
|
const { exclude, globOptions, verbose } = options
|
||||||
|
@ -145,6 +145,7 @@ function minifySvg () {
|
||||||
reject(new Error(err))
|
reject(new Error(err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
|
@ -176,6 +177,7 @@ function gzipFn () {
|
||||||
reject(new Error(err))
|
reject(new Error(err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
|
@ -207,6 +209,7 @@ function brotliFn () {
|
||||||
reject(new Error(err))
|
reject(new Error(err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -32,6 +32,12 @@ describe('html', () => {
|
||||||
expect(result).toBeUndefined()
|
expect(result).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('empty file', () => {
|
||||||
|
const result = h('', { path })
|
||||||
|
|
||||||
|
expect(result).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
test('option', () => {
|
test('option', () => {
|
||||||
const customOpt = { removeEmptyAttributes: false }
|
const customOpt = { removeEmptyAttributes: false }
|
||||||
hexo.config.minify.html = customOpt
|
hexo.config.minify.html = customOpt
|
||||||
|
@ -128,6 +134,12 @@ describe('css', () => {
|
||||||
expect(result).toBeUndefined()
|
expect(result).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('empty file', async () => {
|
||||||
|
const result = await c('', { path })
|
||||||
|
|
||||||
|
expect(result).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
test('option', async () => {
|
test('option', async () => {
|
||||||
const customOpt = {
|
const customOpt = {
|
||||||
level: {
|
level: {
|
||||||
|
@ -225,6 +237,12 @@ describe('js', () => {
|
||||||
expect(result).toBeUndefined()
|
expect(result).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('empty file', () => {
|
||||||
|
const result = j('', { path })
|
||||||
|
|
||||||
|
expect(result).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
test('option', () => {
|
test('option', () => {
|
||||||
const customOpt = {
|
const customOpt = {
|
||||||
mangle: {
|
mangle: {
|
||||||
|
@ -322,6 +340,15 @@ describe('svg', () => {
|
||||||
expect(result).toBeUndefined()
|
expect(result).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('empty file', async () => {
|
||||||
|
hexo.route.set(path, '')
|
||||||
|
const result = await s()
|
||||||
|
|
||||||
|
// empty file resolves to an array of undefined
|
||||||
|
expect(result).toBeDefined()
|
||||||
|
expect(result[0]).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
test('option', async () => {
|
test('option', async () => {
|
||||||
const customOpt = [{ cleanupIDs: false }]
|
const customOpt = [{ cleanupIDs: false }]
|
||||||
hexo.config.minify.svg.plugins = customOpt
|
hexo.config.minify.svg.plugins = customOpt
|
||||||
|
@ -530,6 +557,18 @@ describe('gzip', () => {
|
||||||
expect(result).toBeUndefined()
|
expect(result).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('empty file', async () => {
|
||||||
|
hexo.route.set(path, '')
|
||||||
|
|
||||||
|
const routeList = hexo.route.list()
|
||||||
|
expect(routeList).not.toContain(path.concat('.gz'))
|
||||||
|
|
||||||
|
const result = await g()
|
||||||
|
// empty file resolves to an array of undefined
|
||||||
|
expect(result).toBeDefined()
|
||||||
|
expect(result[0]).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
test('option', async () => {
|
test('option', async () => {
|
||||||
const customOpt = {
|
const customOpt = {
|
||||||
level: 1
|
level: 1
|
||||||
|
@ -747,6 +786,18 @@ describe('brotli', () => {
|
||||||
expect(result).toBeUndefined()
|
expect(result).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('empty file', async () => {
|
||||||
|
hexo.route.set(path, '')
|
||||||
|
|
||||||
|
const routeList = hexo.route.list()
|
||||||
|
expect(routeList).not.toContain(path.concat('.br'))
|
||||||
|
|
||||||
|
const result = await b()
|
||||||
|
// empty file resolves to an array of undefined
|
||||||
|
expect(result).toBeDefined()
|
||||||
|
expect(result[0]).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
test('option', async () => {
|
test('option', async () => {
|
||||||
const level = 1
|
const level = 1
|
||||||
hexo.config.minify.brotli.level = level
|
hexo.config.minify.brotli.level = level
|
||||||
|
|
Loading…
Reference in New Issue