fix(svg): svgo@3 now throws error

- cleanupIDs -> cleanupIds
- https://github.com/svg/svgo/releases/tag/v3.0.0
This commit is contained in:
MDLeom 2022-11-06 02:54:55 +00:00
parent 9c8a228e09
commit a6e2ea0879
No known key found for this signature in database
GPG Key ID: 06C236E63CBC68AA
3 changed files with 20 additions and 12 deletions

View File

@ -133,7 +133,7 @@ minify:
# Retain comments
removeComments: false
# Do not remove unused ID attributes
cleanupIDs: false
cleanupIds: false
```
- For more options, see [svgo](https://github.com/svg/svgo).
- **globOptions** - See [globbing](#globbing) section.

View File

@ -152,12 +152,16 @@ function minifySvg () {
assetPath.on('data', (chunk) => (assetTxt += chunk))
assetPath.on('end', async () => {
if (assetTxt.length) {
const { data, error } = svgOptimize(assetTxt, { ...options, plugins })
try {
const { data } = svgOptimize(assetTxt, { ...options, plugins })
if (data) {
if (verbose) logFn.call(this, assetTxt, data, path, 'svg')
resolve(route.set(path, data))
} else if (error) {
reject(new Error(`Path: ${path}\n${error}`))
} else {
reject(new Error(`Path: ${path}\nEmpty svg input`))
}
} catch (err) {
reject(new Error(`Path: ${path}\n${err}`))
}
}
resolve()

View File

@ -71,7 +71,7 @@ describe('svg', () => {
test('option', async () => {
const customOpt = {
cleanupIDs: false
cleanupIds: false
}
hexo.config.minify.svg.plugins = customOpt
plugins = [{
@ -117,10 +117,14 @@ describe('svg', () => {
const input = '{}'
hexo.route.set(path, input)
const { error } = svgOptimize(input, { plugins })
expect(error).toBeDefined()
await expect(s()).rejects.toThrow(`Path: ${path}\n${error}`)
let expected
try {
svgOptimize(input, { plugins })
} catch (err) {
expected = err
}
expect(expected).toBeDefined()
await expect(s()).rejects.toThrow(`Path: ${path}\n${expected}`)
})
test('include - exclude *.min.svg by default', async () => {