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) {
 | 
			
		||||
  const hexo = this
 | 
			
		||||
  const options = hexo.config.minify.html
 | 
			
		||||
  if (options.enable === false) return
 | 
			
		||||
  if (options.enable === false || !str) return
 | 
			
		||||
 | 
			
		||||
  const { path } = data
 | 
			
		||||
  const { exclude, globOptions, verbose } = options
 | 
			
		||||
| 
						 | 
				
			
			@ -78,7 +78,7 @@ function minifyHtml (str, data) {
 | 
			
		|||
async function minifyCss (str, data) {
 | 
			
		||||
  const hexo = this
 | 
			
		||||
  const options = hexo.config.minify.css
 | 
			
		||||
  if (options.enable === false) return
 | 
			
		||||
  if (options.enable === false || !str) return
 | 
			
		||||
 | 
			
		||||
  const { path } = data
 | 
			
		||||
  const { exclude, globOptions, verbose } = options
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,7 @@ async function minifyCss (str, data) {
 | 
			
		|||
function minifyJs (str, data) {
 | 
			
		||||
  const hexo = this
 | 
			
		||||
  const options = hexo.config.minify.js
 | 
			
		||||
  if (options.enable === false) return
 | 
			
		||||
  if (options.enable === false || !str) return
 | 
			
		||||
 | 
			
		||||
  const { path } = data
 | 
			
		||||
  const { exclude, globOptions, verbose } = options
 | 
			
		||||
| 
						 | 
				
			
			@ -145,6 +145,7 @@ function minifySvg () {
 | 
			
		|||
            reject(new Error(err))
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        resolve()
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
  }))
 | 
			
		||||
| 
						 | 
				
			
			@ -176,6 +177,7 @@ function gzipFn () {
 | 
			
		|||
            reject(new Error(err))
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        resolve()
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
  }))
 | 
			
		||||
| 
						 | 
				
			
			@ -207,6 +209,7 @@ function brotliFn () {
 | 
			
		|||
            reject(new Error(err))
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        resolve()
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
  }))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,12 @@ describe('html', () => {
 | 
			
		|||
    expect(result).toBeUndefined()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  test('empty file', () => {
 | 
			
		||||
    const result = h('', { path })
 | 
			
		||||
 | 
			
		||||
    expect(result).toBeUndefined()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  test('option', () => {
 | 
			
		||||
    const customOpt = { removeEmptyAttributes: false }
 | 
			
		||||
    hexo.config.minify.html = customOpt
 | 
			
		||||
| 
						 | 
				
			
			@ -128,6 +134,12 @@ describe('css', () => {
 | 
			
		|||
    expect(result).toBeUndefined()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  test('empty file', async () => {
 | 
			
		||||
    const result = await c('', { path })
 | 
			
		||||
 | 
			
		||||
    expect(result).toBeUndefined()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  test('option', async () => {
 | 
			
		||||
    const customOpt = {
 | 
			
		||||
      level: {
 | 
			
		||||
| 
						 | 
				
			
			@ -225,6 +237,12 @@ describe('js', () => {
 | 
			
		|||
    expect(result).toBeUndefined()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  test('empty file', () => {
 | 
			
		||||
    const result = j('', { path })
 | 
			
		||||
 | 
			
		||||
    expect(result).toBeUndefined()
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  test('option', () => {
 | 
			
		||||
    const customOpt = {
 | 
			
		||||
      mangle: {
 | 
			
		||||
| 
						 | 
				
			
			@ -322,6 +340,15 @@ describe('svg', () => {
 | 
			
		|||
    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 () => {
 | 
			
		||||
    const customOpt = [{ cleanupIDs: false }]
 | 
			
		||||
    hexo.config.minify.svg.plugins = customOpt
 | 
			
		||||
| 
						 | 
				
			
			@ -530,6 +557,18 @@ describe('gzip', () => {
 | 
			
		|||
    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 () => {
 | 
			
		||||
    const customOpt = {
 | 
			
		||||
      level: 1
 | 
			
		||||
| 
						 | 
				
			
			@ -747,6 +786,18 @@ describe('brotli', () => {
 | 
			
		|||
    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 () => {
 | 
			
		||||
    const level = 1
 | 
			
		||||
    hexo.config.minify.brotli.level = level
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue