Fixes a bug where we were too eager to remove empty containers.
We already had logic to skip removing empty containers if it had the
filter attribute, which is needed to apply a filter to the whole area.
However, the filter can also be defined through CSS. We did not
properly handle this case, and treated the node as if it had no filter
at all.
This computes the styles and checks the stylesheet as well. (We also
move the logic down to avoid computing the styles eagerly.)
When running this plugin on an SVG with an empty block in the CSS, it
would apply it to the matched elements by adding an empty `style`
attribute. See the test for an example.
This resolves that by just dropping the declaration if it's empty.
* Deduplicate dependencies in our `yarn.lock` file with `yarn dedupe`.
* Upgrade dependencies with Dependabot alerts with `yarn up -R {}`.
This only impacted devDependencies, and does nothing to our tests or
bundle sizes, etc.
The regression-test GitHub Action was failing for all pull requests due
to not handling the gzipped archive properly.
This resolved it by piping the response body to zlib#createGunzip
first. Also updates the relevant dependencies.
Signed-off-by: Seth Falco <seth@falco.fun>
Co-authored-by: strarsis <strarsis@gmail.com>
Co-authored-by: Bogdan Chadkin <trysound@yandex.ru>
Ref https://github.com/ai/nanocolors#nano-colors
Nanocolors is deprecated in favour of picocolors to avoid drama.
All dependencies already migrated. Also fixed one vulnerability.
The main change is step away from named exports and dual modules
support in favour of smaller package.