1
0
mirror of https://github.com/svg/svgo.git synced 2026-01-25 18:41:39 +03:00

423 Commits

Author SHA1 Message Date
Lorfdail
50c326bbff perf: optimiztions to reduce regression test runtime (#2135)
Small group of changes that at reduce the regression test runtime
by about 14%.

Motivation for this change in particular were the large PNGs usually
allocated for even the smallest SVGs in the test data which both increases
the time spent allocating as well as the time pixelmatch would take for the
comparison.

The other changes improve not only the test runtime but also the normal
SVG processing given the input data has cases caught by
removeHiddenElems which also has the by far most significant of the 3
changes. All the changes done for baseline performance optimization are
very unlikely to cause any harm and would need specific sets of input
SVGs mostly consisting of visibility checks regarding the element style
to impact performance in a negative way. In my local tests these changes
gave an additional ~7-8% time reduction with the svgo data set.
2025-12-03 14:10:44 +00:00
Aviral Shukla
14010d0321 fix: generate preset list for each plugin in --show-plugins 2025-10-17 00:05:25 +01:00
Seth Falco
ef7fe654a4 types: clearer types for presets (#2178) 2025-10-12 00:00:50 +01:00
Seth Falco
cc489c2f34 chore: revamp regression tests (#2166) 2025-08-18 22:22:30 +01:00
Seth Falco
71e1f05a7e chore: prepare v4 stable release (#2143)
I plan to do the stable release for SVGO v4 today! 💪(•ᴗ•💪)
2025-06-21 16:59:50 +01:00
Seth Falco
4078c13783 chore: increment version to v4.0.0-rc.5 (#2142) 2025-06-11 00:42:49 +01:00
Lorfdail
cb3eea80ba fix(#2140): SVGO fails with ERR_UNSUPPORTED_ESM_URL_SCHEME on Windows (#2141) 2025-06-09 22:18:29 +01:00
Seth Falco
e645d715d5 performance: small optimization when parsing svgs (#2133) 2025-05-11 23:19:37 +01:00
Seth Falco
26d059f3d7 fix: invoke mapNodesToParents lazily (#2132) 2025-05-11 15:38:41 +01:00
Seth Falco
11bbb84f1d chore: increment version to 4.0.0-rc.4 (#2125) 2025-05-06 08:46:10 +01:00
Seth Falco
1deb4a742a chore: increment version to 4.0.0-rc.3 (#2124) 2025-05-06 08:17:44 +01:00
Seth Falco
eabc29d159 fix: types for loadConfig and add more tests (#2123) 2025-05-06 08:05:09 +01:00
ntnyq
52c09479e9 fix: fix loadConfig types (#2122) 2025-05-06 07:13:05 +01:00
Seth Falco
747cc722d9 chore: revamp how we export types (#2118) 2025-05-04 17:39:44 +01:00
Seth Falco
49954bc0d9 chores: various clean ups regardin ESM and TypeScript (#2117) 2025-05-03 09:42:29 +01:00
Seth Falco
a8a53dbd90 chore: apply more eslint rules (#2116) 2025-05-02 10:00:37 +01:00
Seth Falco
97079fb57e chore: refactor stringifier.js (#2115) 2025-05-01 23:24:24 +01:00
Seth Falco
8c593fab06 chore: bulk update all jsdoc and jsdoctypes (#2114) 2025-05-01 22:16:52 +01:00
Seth Falco
9eb3af59f2 chore: drop parentNode property (#2113) 2025-05-01 15:59:23 +01:00
Seth Falco
1b4919a0d4 chore: stronger typing for xast/css-select code (#2112) 2025-04-30 14:41:07 +01:00
Seth Falco
4573d0178e chore: migrate plugin types to plugin (#2111) 2025-04-30 02:16:53 +01:00
Seth Falco
df87725b19 chore: improve jsdoc types and match most files (#2108) 2025-04-29 10:35:11 +01:00
Seth Falco
71a1254895 fix: improve jsdoc types and remove excludes (#2107) 2025-04-28 22:24:16 +01:00
Seth Falco
dba60b3580 chore: migrate from ts-ignore to ts-expect-error (#2103) 2025-04-12 19:41:49 +01:00
Seth Falco
9c8768f64d ci: add spellcheck (#2101) 2025-04-12 16:47:32 +01:00
Nathan Baulch
0eccff2794 chore: fix various typos across the project 2025-03-22 11:49:01 +00:00
ntnyq
c372b36296 feat: export type CustomPlugin and PluginConfig (#2081) 2024-10-21 17:57:17 +01:00
João Palmeiro
a8472bc45f chore: export the Output type (#2076) 2024-10-02 21:39:45 +01:00
Seth Falco
97d7d00add add: centralize exports to svgo (#2071) 2024-09-07 19:26:05 +01:00
Seth Falco
b8f8d1c655 refactor: dont covert to charcode in iswhitespace (#2039) 2024-06-16 13:02:53 +01:00
Vlad Tansky
fea26379d2 fix: support -o-keyframes and -moz-keyframes (#2019) 2024-06-14 13:30:18 +01:00
Seth Falco
8d777dd3c9 chore: use concrete types for generics (#2034) 2024-06-13 16:18:19 +01:00
Seth Falco
65d0a52ab3 fix: add alias of removeScriptElement to removeScripts (#2033) 2024-06-11 23:09:04 +01:00
Seth Falco
a21dae62a1 chore: freeze plugin arrays (#2028) 2024-06-09 18:55:34 +01:00
nuintun
1a025dac88 fix: fixed Config definition for node (#1997) 2024-06-09 16:19:57 +01:00
Seth Falco
0c13740fdd feat: expose builtin plugins (#2027) 2024-06-09 12:28:37 +01:00
XhmikosR
1bb5bbe39e chore!: Update commander to v11 (#2004) 2024-06-07 20:23:59 +01:00
Seth Falco
35d3fb6ee8 chore: export default and named packages (#2022) 2024-06-07 18:08:05 +01:00
Seth Falco
1e23f66e76 chore: rename removescriptelement to removescripts (#2021) 2024-06-07 09:58:21 +01:00
Seth Falco
f604c6979e chore: migrate to upstream sax (#2017) 2024-05-28 08:39:38 +01:00
Seth Falco
78403d3dc9 feat: export version constant (#2016) 2024-05-27 20:28:13 +01:00
XhmikosR
4daaa4251f chore: update ESLint to v9 and switch to flat config (#2001) 2024-05-26 13:22:23 +01:00
Viktor Szépe
559b9ad068 chore: resolve typos 2024-05-09 10:09:31 +01:00
nuintun
3964d64c65 fix: v3.3.0 Common JS missing loadConfig and optimize exports (#1984) 2024-05-09 00:15:06 +01:00
Wojciech Maj
888d078464 fix(makeProgram): specify .mjs and .cjs config files are allowed (#1976) 2024-04-23 12:14:02 +01:00
johnkenny54
473c5a603e fix: stringifyPathData needs space before scientific notation (#1961) 2024-02-25 22:22:01 +00:00
johnkenny54
e2575988cc fix: <a> element not parsed as text (#1959) 2024-02-11 22:14:25 +00:00
Seth Falco
c787b9f6ae fix: output to new directory if trailing slash (#1954) 2024-02-05 23:24:47 +00:00
johnkenny54
4884d59133 fix: revamp matrixToTransform 2024-02-05 21:47:31 +00:00
Seth Falco
7882488193 chore: improve types for custom plugin (#1939)
Co-authored-by: grbd <hecatrons.workshop@gmail.com>
2024-01-19 15:01:02 +00:00