JSPM

  • Created
  • Published
  • Downloads 483470
  • Score
    100M100P100Q194179F
  • License MPL-2.0

A high-performance SVG renderer, powered by Rust based resvg and napi-rs

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

GitHub CI Status

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 .node file has been compiled for you.

Installation

npm i @resvg/resvg-js
cnpm i @resvg/resvg-js
pnpm i @resvg/resvg-js

Example

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 supported Node-API
  • Install yarn@1.x

Test in local

  • yarn
  • yarn build
  • yarn test

And you will see:

$ ava --verbosesync 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-tags

GitHub actions will do the rest job for you.

License

MPLv2.0