From 4af10686882b223879562a5c2adacad6fb756f02 Mon Sep 17 00:00:00 2001 From: Thaddeus Crews Date: Tue, 4 Jun 2024 09:49:56 -0500 Subject: [PATCH] CI: Add `svgo` pre-commit hook --- .editorconfig | 3 +++ .pre-commit-config.yaml | 8 ++++++++ misc/utility/svgo.config.mjs | 20 ++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 misc/utility/svgo.config.mjs diff --git a/.editorconfig b/.editorconfig index 92ee947a82b..523ff713072 100644 --- a/.editorconfig +++ b/.editorconfig @@ -21,3 +21,6 @@ indent_size = 4 [*.{yml,yaml}] indent_style = space indent_size = 2 + +[*.svg] +insert_final_newline = false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cf10acfa799..46f29d0d5fc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -118,6 +118,14 @@ repos: pass_filenames: false additional_dependencies: ['jsdoc@^4.0.3'] + - id: svgo + name: svgo + language: node + entry: svgo + files: \.svg$ + args: [--quiet, --config, misc/utility/svgo.config.mjs] + additional_dependencies: ["svgo@3.3.2"] + - id: copyright-headers name: copyright-headers language: python diff --git a/misc/utility/svgo.config.mjs b/misc/utility/svgo.config.mjs new file mode 100644 index 00000000000..d4c14f007cd --- /dev/null +++ b/misc/utility/svgo.config.mjs @@ -0,0 +1,20 @@ +export default { + multipass: true, + precision: 2, + plugins: [ + { + name: "preset-default", + params: { + overrides: { + removeHiddenElems: false, + convertPathData: false, + }, + }, + }, + "convertStyleToAttrs", + "removeScriptElement", + "removeStyleElement", + "reusePaths", + "sortAttrs", + ], +};