Package Exports
- @resvg/resvg-js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@resvg/resvg-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
resvg-js
A high-performance SVG renderer, powered by Rust based resvg and napi-rs.
- Very fast, safe and zero dependencies!
- Cross-platform support, including Apple M1.
- No need for node-gyp and postinstall, the
.nodefile has been compiled for you.
Installation
npm i @resvg/resvg-js
cnpm i @resvg/resvg-js
pnpm i @resvg/resvg-jsExample
node example/index.js
Loaded 1 font faces in 0ms.
Font './example/SourceHanSerifCN-Light-subset.ttf':0 found in 0.006ms.
✨ Done in 55.65491008758545 ms| SVG | PNG |
|---|---|
![]() |
Support matrix
Operating Systems
| node12 | node14 | node16 | |
|---|---|---|---|
| Windows x64 | ✓ | ✓ | ✓ |
| Windows x32 | ✓ | ✓ | ✓ |
| Windows arm64 | ✓ | ✓ | ✓ |
| macOS x64 | ✓ | ✓ | ✓ |
| macOS arm64(M1) | ✓ | ✓ | ✓ |
| Linux x64 gnu | ✓ | ✓ | ✓ |
| Linux x64 musl | ✓ | ✓ | ✓ |
| Linux arm gnu | ✓ | ✓ | ✓ |
| Linux arm64 gnu | ✓ | ✓ | ✓ |
| Linux arm64 musl | ✓ | ✓ | ✓ |
| Android arm64 | ✓ | ✓ | ✓ |
| FreeBSD x64 | ✓ | ✓ | ✓ |
Ability
Build
You can set the name of the generated .node file in napi.name of package.json.
After npm run build command, you can see resvgjs.[darwin|win32|linux].node file in project root. This is the native addon built from lib.rs.
Test
With ava, run npm run test to testing native addon. You can also switch to another testing framework if you want.
Develop requirements
- Install latest
Rust - Install
Node.js@10+which fully supportedNode-API - Install
yarn@1.x
Test in local
- yarn
- yarn build
- yarn test
And you will see:
$ ava --verbose
✔ sync function from native code
✔ sleep function from native code (201ms)
─
2 tests passed
✨ Done in 1.12s.Release package
npm version [xxx]
git push --follow-tagsGitHub actions will do the rest job for you.
