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