{"objects":[{"downloads":{"monthly":511,"weekly":74},"dependents":0,"updated":"2026-07-15T11:36:22.525Z","searchScore":732.52856,"package":{"name":"canvas-plus","keywords":["canvas","utilities","rounded","dashed","line","rotate"],"version":"1.0.3","description":"Extend HTML5 Canvas with practical and high level methods that were missing","sanitized_name":"canvas-plus","publisher":{"email":"martin.r.pitt@gmail.com","username":"nexii"},"maintainers":[{"email":"martin.r.pitt@gmail.com","username":"nexii"}],"license":"MIT","date":"2016-07-03T19:43:28.929Z","links":{"npm":"https://www.npmjs.com/package/canvas-plus"}},"score":{"final":732.52856,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2525,"weekly":419},"dependents":"42","updated":"2026-07-14T17:11:35.744Z","searchScore":136.93546,"package":{"name":"sign-canvas-plus","keywords":[],"version":"2.0.3","description":"一个基于canvas和vue3的手写签名板,支持移动端和PC可以直接下载图片和转成base64编码，支持高倍屏高清绘制,(sign-canvas)的vue3版本,可以在vue3中使用了。","sanitized_name":"sign-canvas-plus","publisher":{"email":"1096432931@qq.com","username":"yxs"},"maintainers":[{"email":"1096432931@qq.com","username":"yxs"}],"date":"2024-05-20T06:16:01.864Z","links":{"homepage":"https://github.com/langyuxiansheng/sign-canvas-plus#readme","repository":"git+ssh://git@github.com/langyuxiansheng/sign-canvas-plus.git","bugs":"https://github.com/langyuxiansheng/sign-canvas-plus/issues","npm":"https://www.npmjs.com/package/sign-canvas-plus"}},"score":{"final":136.93546,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":903,"weekly":903},"dependents":0,"updated":"2026-07-16T18:47:48.480Z","searchScore":100.175995,"package":{"name":"@flowget/templates","keywords":["flowget","workflow","workflow-automation","templates","template-gallery","react","builder"],"version":"0.1.6","description":"Builder-agnostic workflow-template picker for Flowget — a turnkey <WorkflowTemplates> modal (title + description cards) that loads a chosen template's graph onto the canvas, plus a headless useWorkflowTemplates() hook. Bring your own template source via t","sanitized_name":"@flowget/templates","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:1d8f04b9-9c2f-4d89-ac00-d8628eee36e6","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"juniorb2ss@gmail.com","username":"juniorb2ss"}],"license":"FSL-1.1-ALv2","date":"2026-07-16T18:47:17.669Z","links":{"homepage":"https://github.com/flowgethq/templates#readme","repository":"git+https://github.com/flowgethq/templates.git","bugs":"https://github.com/flowgethq/templates/issues","npm":"https://www.npmjs.com/package/@flowget/templates"}},"score":{"final":100.175995,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":770,"weekly":39},"dependents":"1","updated":"2026-07-15T18:16:32.642Z","searchScore":97.4917,"package":{"name":"pixl-canvas-plus","keywords":["image","canvas","rgba"],"version":"3.0.5","description":"A universal library for manipulating images, built on canvas.","sanitized_name":"pixl-canvas-plus","publisher":{"email":"jhuckaby@gmail.com","username":"jhuckaby"},"maintainers":[{"email":"jhuckaby@gmail.com","username":"jhuckaby"}],"license":"MIT","date":"2026-07-01T18:08:55.645Z","links":{"homepage":"https://github.com/jhuckaby/canvas-plus","repository":"git+https://github.com/jhuckaby/canvas-plus.git","bugs":"https://github.com/jhuckaby/canvas-plus/issues","npm":"https://www.npmjs.com/package/pixl-canvas-plus"}},"score":{"final":97.4917,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":54,"weekly":8},"dependents":0,"updated":"2026-07-15T17:21:17.135Z","searchScore":94.552986,"package":{"name":"pi-excalidraw","keywords":["pi-package","pi-extension","excalidraw","diagramming"],"version":"0.5.0","description":"A pi package that provides a locally hosted Excalidraw canvas plus AI-callable diagramming tools.","sanitized_name":"pi-excalidraw","publisher":{"email":"macnewma@gmail.com","username":"coctostan"},"maintainers":[{"email":"macnewma@gmail.com","username":"coctostan"}],"date":"2026-03-18T15:58:57.225Z","links":{"homepage":"https://github.com/coctostan/pi-excalidraw#readme","repository":"git+https://github.com/coctostan/pi-excalidraw.git","bugs":"https://github.com/coctostan/pi-excalidraw/issues","npm":"https://www.npmjs.com/package/pi-excalidraw"}},"score":{"final":94.552986,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":120,"weekly":31},"dependents":0,"updated":"2026-07-15T02:21:29.375Z","searchScore":77.44272,"package":{"name":"@3r/canvas-plus","keywords":["canvas","tool","extension"],"version":"1.0.9","description":"a extension methods to canvas.","sanitized_name":"@3r/canvas-plus","publisher":{"email":"752957127@qq.com","username":"linyisonger"},"maintainers":[{"email":"trixiel@163.com","username":"trixieliu"},{"email":"752957127@qq.com","username":"linyisonger"},{"email":"462739670@qq.com","username":"adairchai"}],"license":"MIT","date":"2025-03-25T09:37:17.148Z","links":{"homepage":"https://github.com/White-Dews/canvas-plus#readme","repository":"git+https://github.com/White-Dews/canvas-plus.git","bugs":"https://github.com/White-Dews/canvas-plus/issues","npm":"https://www.npmjs.com/package/@3r/canvas-plus"}},"score":{"final":77.44272,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":63876341,"weekly":14999348},"dependents":"565","updated":"2026-07-20T05:22:44.688Z","searchScore":75.18855,"package":{"name":"@napi-rs/canvas","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:2cafc522-d7cc-4b34-a78b-ddb0074b046e","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:26:31.597Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas"}},"score":{"final":75.18855,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":28390477,"weekly":6855648},"dependents":"363","updated":"2026-07-20T05:24:42.093Z","searchScore":72.929054,"package":{"name":"canvas-confetti","keywords":["canvas","confetti","animation","burst","fireworks","snow","particles"],"version":"1.9.4","description":"performant confetti animation in the browser","sanitized_name":"canvas-confetti","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:a5b46b57-e79b-44e7-ae17-c30e11c1d13e","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"vatev.1+npm@gmail.com","username":"kirilv"}],"license":"ISC","date":"2025-10-25T05:15:41.929Z","links":{"homepage":"https://github.com/catdad/canvas-confetti#readme","repository":"git+https://github.com/catdad/canvas-confetti.git","bugs":"https://github.com/catdad/canvas-confetti/issues","npm":"https://www.npmjs.com/package/canvas-confetti"}},"score":{"final":72.929054,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":56119426,"weekly":14542009},"dependents":"1","updated":"2026-07-20T05:25:58.852Z","searchScore":72.74925,"package":{"name":"@napi-rs/canvas-linux-x64-gnu","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-linux-x64-gnu","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:a37070b9-3a23-4868-8fbb-484bd6cadd46","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:24:54.356Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-linux-x64-gnu"}},"score":{"final":72.74925,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":89033,"weekly":28314},"dependents":"13","updated":"2026-07-20T05:26:20.456Z","searchScore":71.82964,"package":{"name":"@rive-app/canvas-advanced","keywords":["rive","animation"],"version":"2.38.5","description":"Rive's lightweight low-level canvas based web api.","sanitized_name":"@rive-app/canvas-advanced","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"rive-engineering","type":"user","email":"engineering@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:774dcfba-ce03-409a-b37b-9a2b9dd9e1f8","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:30:28.877Z","links":{"homepage":"https://rive.app","repository":"git+https://github.com/rive-app/rive-wasm.git#master","bugs":"https://github.com/rive-app/rive-wasm/issues","npm":"https://www.npmjs.com/package/@rive-app/canvas-advanced"}},"score":{"final":71.82964,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":29581570,"weekly":7668719},"dependents":"3167","updated":"2026-07-20T22:50:16.075Z","searchScore":71.57882,"package":{"name":"canvas","keywords":["canvas","graphic","graphics","pixman","cairo","image","images","pdf"],"version":"3.2.3","description":"Canvas graphics API backed by Cairo","sanitized_name":"canvas","publisher":{"email":"caleb@chearon.net","actor":{"name":"calebhearon","type":"user","email":"caleb@chearon.net"},"username":"calebhearon"},"maintainers":[{"email":"kangax@gmail.com","username":"kangax"},{"email":"rauchg@gmail.com","username":"rauchg"},{"email":"linus@folkdatorn.se","username":"linusu"},{"email":"nathan@tootallnate.net","username":"tootallnate"},{"email":"d@domenic.me","username":"domenic"},{"email":"tj@vision-media.ca","username":"tjholowaychuk"},{"email":"zbbjornson@gmail.com","username":"zbjornson"},{"email":"caleb@chearon.net","username":"calebhearon"}],"license":"MIT","date":"2026-03-31T02:08:02.710Z","links":{"homepage":"https://github.com/Automattic/node-canvas","repository":"git://github.com/Automattic/node-canvas.git","bugs":"https://github.com/Automattic/node-canvas/issues","npm":"https://www.npmjs.com/package/canvas"}},"score":{"final":71.57882,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":37976522,"weekly":9618733},"dependents":"1","updated":"2026-07-20T05:25:49.839Z","searchScore":70.35631,"package":{"name":"@napi-rs/canvas-linux-x64-musl","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-linux-x64-musl","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:74737b56-ac73-48a0-bfa9-6b59df9f8c75","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:25:40.291Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-linux-x64-musl"}},"score":{"final":70.35631,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":30298531,"weekly":8828563},"dependents":"136","updated":"2026-07-20T05:27:04.325Z","searchScore":70.126976,"package":{"name":"png-js","keywords":[],"version":"2.0.0","description":"A PNG decoder in JavaScript","sanitized_name":"png-js","publisher":{"email":"diegomuracciole@gmail.com","username":"diegomura"},"maintainers":[{"email":"devongovett@gmail.com","username":"devongovett"},{"email":"diegomuracciole@gmail.com","username":"diegomura"}],"date":"2026-04-14T23:38:23.950Z","links":{"homepage":"https://github.com/devongovett/png.js#readme","repository":"git+https://github.com/devongovett/png.js.git","bugs":"http://github.com/devongovett/png.js/issues","npm":"https://www.npmjs.com/package/png-js"}},"score":{"final":70.126976,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":10573275,"weekly":2658737},"dependents":"201","updated":"2026-07-20T05:23:40.546Z","searchScore":69.73875,"package":{"name":"jest-canvas-mock","keywords":["mock","jest","jest-mock","echarts","canvas","test","unit"],"version":"2.5.8","description":"Mock a canvas in your jest tests.","sanitized_name":"jest-canvas-mock","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:ef308905-ed2f-44d3-bc22-2d15700abb16","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"tenner.joshua@gmail.com","username":"jtenner"},{"email":"wzwahl36@qq.com","username":"atool"}],"license":"MIT","date":"2026-07-09T13:34:24.192Z","links":{"homepage":"https://github.com/hustcc/jest-canvas-mock#readme","repository":"git+https://github.com/hustcc/jest-canvas-mock.git","bugs":"https://github.com/hustcc/jest-canvas-mock/issues","npm":"https://www.npmjs.com/package/jest-canvas-mock"}},"score":{"final":69.73875,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":23193699,"weekly":5713235},"dependents":"31","updated":"2026-07-20T05:24:33.568Z","searchScore":68.96997,"package":{"name":"@types/canvas-confetti","keywords":[],"version":"1.9.0","description":"TypeScript definitions for canvas-confetti","sanitized_name":"@types/canvas-confetti","publisher":{"email":"ts-npm-types@microsoft.com","username":"types"},"maintainers":[{"email":"ts-npm-types@microsoft.com","username":"types"}],"license":"MIT","date":"2024-12-17T15:02:30.419Z","links":{"homepage":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/canvas-confetti","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","npm":"https://www.npmjs.com/package/@types/canvas-confetti"}},"score":{"final":68.96997,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":85826075,"weekly":18624009},"dependents":"2","updated":"2026-07-20T05:24:22.390Z","searchScore":66.32024,"package":{"name":"@sentry-internal/replay-canvas","keywords":[],"version":"10.57.0","description":"Replay canvas integration","sanitized_name":"@sentry-internal/replay-canvas","publisher":{"email":"accounts@sentry.io","actor":{"name":"sentry-bot","type":"user","email":"accounts@sentry.io"},"username":"sentry-bot"},"maintainers":[{"email":"accounts@sentry.io","username":"sentry-bot"}],"license":"MIT","date":"2026-06-09T09:44:39.630Z","links":{"homepage":"https://docs.sentry.io/platforms/javascript/session-replay/","repository":"git+https://github.com/getsentry/sentry-javascript.git","bugs":"https://github.com/getsentry/sentry-javascript/issues","npm":"https://www.npmjs.com/package/@sentry-internal/replay-canvas"}},"score":{"final":66.32024,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2768286,"weekly":673665},"dependents":"9","updated":"2026-07-20T05:23:57.966Z","searchScore":66.089096,"package":{"name":"vega-canvas","keywords":["vega","canvas","image"],"version":"2.0.0","description":"Canvas and Image utilities.","sanitized_name":"vega-canvas","publisher":{"email":"lukashermann28@gmail.com","username":"lhermann"},"maintainers":[{"email":"jeffrey.heer@gmail.com","username":"jheer"},{"email":"domoritz@gmail.com","username":"domoritz"},{"email":"arvindsatya1@gmail.com","username":"arvindsatya1"},{"email":"lukashermann28@gmail.com","username":"lhermann"}],"license":"BSD-3-Clause","date":"2025-03-27T00:23:07.638Z","links":{"homepage":"https://github.com/vega/vega#readme","repository":"vega/vega","bugs":"https://github.com/vega/vega/issues","npm":"https://www.npmjs.com/package/vega-canvas"}},"score":{"final":66.089096,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":4215296,"weekly":1098128},"dependents":"375","updated":"2026-07-20T05:27:10.006Z","searchScore":65.80736,"package":{"name":"react-signature-canvas","keywords":["react","react-component","component","signature","sign","e-sign","e-signature","canvas","trim","whitespace","draw","pad","wrapper","signature-pad","react-signature-pad"],"version":"1.1.0-alpha.2","description":"A React wrapper component around signature_pad. 100% test coverage, types, examples, & more. Unopinionated and heavily updated fork of react-signature-pad","sanitized_name":"react-signature-canvas","publisher":{"email":"agilgur5@gmail.com","username":"agilgur5"},"maintainers":[{"email":"agilgur5@gmail.com","username":"agilgur5"}],"license":"Apache-2.0","date":"2025-03-29T06:27:26.803Z","links":{"homepage":"https://github.com/agilgur5/react-signature-canvas","repository":"git+https://github.com/agilgur5/react-signature-canvas.git","bugs":"https://github.com/agilgur5/react-signature-canvas/issues","npm":"https://www.npmjs.com/package/react-signature-canvas"}},"score":{"final":65.80736,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":9579307,"weekly":1758238},"dependents":"1","updated":"2026-07-20T05:22:53.273Z","searchScore":65.16248,"package":{"name":"@napi-rs/canvas-linux-arm64-gnu","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-linux-arm64-gnu","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:05578978-22d4-412b-8cfd-288996accccc","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:25:49.173Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-linux-arm64-gnu"}},"score":{"final":65.16248,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":7363907,"weekly":1263857},"dependents":"1","updated":"2026-07-20T05:23:05.518Z","searchScore":65.153145,"package":{"name":"@napi-rs/canvas-darwin-arm64","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-darwin-arm64","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:aa990b92-7f2a-4854-a12e-f5ef8fbe259f","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:26:07.154Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-darwin-arm64"}},"score":{"final":65.153145,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2634811,"weekly":707290},"dependents":"9","updated":"2026-07-20T05:25:39.712Z","searchScore":65.13481,"package":{"name":"canvas-color-tracker","keywords":["canvas","color","tracker","interaction","hover","hidden"],"version":"1.3.2","description":"A utility to track objects on a canvas by unique px color","sanitized_name":"canvas-color-tracker","publisher":{"email":"vastur@gmail.com","username":"vasturiano"},"maintainers":[{"email":"vastur@gmail.com","username":"vasturiano"}],"license":"MIT","date":"2025-03-21T15:35:41.129Z","links":{"homepage":"https://github.com/vasturiano/canvas-color-tracker","repository":"git+https://github.com/vasturiano/canvas-color-tracker.git","bugs":"https://github.com/vasturiano/canvas-color-tracker/issues","npm":"https://www.npmjs.com/package/canvas-color-tracker"}},"score":{"final":65.13481,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":9561727,"weekly":2704070},"dependents":"6","updated":"2026-07-20T05:26:14.169Z","searchScore":64.14893,"package":{"name":"path2d","keywords":["Path2D","polyfill","canvas","roundRect"],"version":"0.3.3","description":"Path2D API for node. Can be used for server-side rendering with canvas","sanitized_name":"path2d","publisher":{"email":"nilssonanders79@gmail.com","actor":{"name":"nilzona_user","type":"user","email":"nilssonanders79@gmail.com"},"username":"nilzona_user"},"maintainers":[{"email":"nilssonanders79@gmail.com","username":"nilzona_user"}],"license":"MIT","date":"2026-06-16T09:57:08.439Z","links":{"homepage":"https://github.com/nilzona/path2d-polyfill#readme","repository":"git+https://github.com/nilzona/path2d-polyfill.git","bugs":"https://github.com/nilzona/path2d-polyfill/issues","npm":"https://www.npmjs.com/package/path2d"}},"score":{"final":64.14893,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":7465128,"weekly":1237043},"dependents":"1","updated":"2026-07-20T05:22:46.348Z","searchScore":64.10611,"package":{"name":"@napi-rs/canvas-win32-x64-msvc","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-win32-x64-msvc","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:31da2f3a-311b-4df3-b623-98cfb7842216","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:25:13.608Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-win32-x64-msvc"}},"score":{"final":64.10611,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3223179,"weekly":681537},"dependents":"114","updated":"2026-07-20T05:22:36.439Z","searchScore":63.871918,"package":{"name":"@rive-app/react-canvas","keywords":[],"version":"4.29.5","description":"React wrapper around the @rive-app/canvas library","sanitized_name":"@rive-app/react-canvas","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"avivian_rive","type":"user","email":"arthur@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:d43d99df-b5d5-41b7-8a5d-cc6e6b4e06d7","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:48:24.306Z","links":{"homepage":"https://github.com/rive-app/rive-react#readme","repository":"git+https://github.com/rive-app/rive-react.git","bugs":"https://github.com/rive-app/rive-react/issues","npm":"https://www.npmjs.com/package/@rive-app/react-canvas"}},"score":{"final":63.871918,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":6923329,"weekly":1064552},"dependents":"1","updated":"2026-07-20T05:24:32.839Z","searchScore":63.73684,"package":{"name":"@napi-rs/canvas-darwin-x64","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-darwin-x64","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:c3e56cb2-a3a9-4d0e-93e0-6bc9e03217dc","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:25:03.203Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-darwin-x64"}},"score":{"final":63.73684,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":7471041,"weekly":1399090},"dependents":"1","updated":"2026-07-20T05:25:51.946Z","searchScore":63.67107,"package":{"name":"@napi-rs/canvas-linux-arm64-musl","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-linux-arm64-musl","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:720c5b8a-8d60-4050-a462-578d161f98b4","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:25:57.964Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-linux-arm64-musl"}},"score":{"final":63.67107,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":5870345,"weekly":817505},"dependents":0,"updated":"2026-07-20T05:22:57.772Z","searchScore":63.088005,"package":{"name":"@napi-rs/canvas-linux-arm-gnueabihf","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-linux-arm-gnueabihf","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:3acade71-3f15-4bcc-b11e-87dd5cd19cdd","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:25:30.828Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-linux-arm-gnueabihf"}},"score":{"final":63.088005,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":5863259,"weekly":815492},"dependents":0,"updated":"2026-07-20T05:23:08.764Z","searchScore":62.83403,"package":{"name":"@napi-rs/canvas-android-arm64","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-android-arm64","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:aa5b4430-f7c8-446d-a8ec-433944c63ed7","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:26:16.277Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-android-arm64"}},"score":{"final":62.83403,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":6020166,"weekly":812658},"dependents":0,"updated":"2026-07-20T05:24:10.482Z","searchScore":62.762627,"package":{"name":"@napi-rs/canvas-linux-riscv64-gnu","keywords":["napi-rs","NAPI","N-API","Rust","node-addon","node-addon-api","canvas","image","pdf","svg","skia"],"version":"1.0.2","description":"Canvas for Node.js with skia backend","sanitized_name":"@napi-rs/canvas-linux-riscv64-gnu","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"broooooklyn","type":"user","email":"lynweklm@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:8482c35f-7c37-49a0-9406-ddaaa957dc9c","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"forehalo@gmail.com","username":"forehalo"}],"license":"MIT","date":"2026-06-30T10:26:25.209Z","links":{"homepage":"https://github.com/Brooooooklyn/canvas#readme","repository":"git+https://github.com/Brooooooklyn/canvas.git","bugs":"https://github.com/Brooooooklyn/canvas/issues","npm":"https://www.npmjs.com/package/@napi-rs/canvas-linux-riscv64-gnu"}},"score":{"final":62.762627,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3771403,"weekly":1087012},"dependents":"26","updated":"2026-07-20T05:27:43.542Z","searchScore":62.72893,"package":{"name":"trim-canvas","keywords":["canvas","trim","whitespace","remove","blanks","removeBlanks","remove-blanks"],"version":"0.1.2","description":"A tiny library for trimming whitespace from a canvas element","sanitized_name":"trim-canvas","publisher":{"email":"agilgur5@gmail.com","username":"agilgur5"},"maintainers":[{"email":"agilgur5@gmail.com","username":"agilgur5"}],"license":"Apache-2.0","date":"2017-05-25T05:07:29.181Z","links":{"homepage":"https://github.com/agilgur5/trim-canvas#readme","repository":"git+https://github.com/agilgur5/trim-canvas.git","bugs":"https://github.com/agilgur5/trim-canvas/issues","npm":"https://www.npmjs.com/package/trim-canvas"}},"score":{"final":62.72893,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":45952764,"weekly":10848524},"dependents":"1129","updated":"2026-07-20T05:22:55.962Z","searchScore":61.644176,"package":{"name":"jsonpath-plus","keywords":["json","jsonpath"],"version":"10.4.0","description":"A JS implementation of JSONPath with some additional operators","sanitized_name":"jsonpath-plus","publisher":{"email":"iamavinashthakur.at@gmail.com","username":"80avin"},"maintainers":[{"email":"brettz9@yahoo.com","username":"brettz9"},{"email":"iamavinashthakur.at@gmail.com","username":"80avin"}],"license":"MIT","date":"2026-02-16T03:04:22.106Z","links":{"homepage":"https://github.com/s3u/JSONPath","repository":"git://github.com/s3u/JSONPath.git","bugs":"https://github.com/s3u/JSONPath/issues/","npm":"https://www.npmjs.com/package/jsonpath-plus"}},"score":{"final":61.644176,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":8348941,"weekly":2304615},"dependents":"28","updated":"2026-07-20T05:23:38.395Z","searchScore":61.433914,"package":{"name":"@react-pdf/png-js","keywords":[],"version":"3.0.0","description":"A PNG decoder in JS","sanitized_name":"@react-pdf/png-js","publisher":{"email":"diegomuracciole@gmail.com","username":"diegomura"},"maintainers":[{"email":"diegomuracciole@gmail.com","username":"diegomura"}],"license":"MIT","date":"2024-09-23T18:26:56.361Z","links":{"homepage":"https://github.com/diegomura/react-pdf#readme","repository":"git+https://github.com/diegomura/react-pdf.git","bugs":"https://github.com/diegomura/react-pdf/issues","npm":"https://www.npmjs.com/package/@react-pdf/png-js"}},"score":{"final":61.433914,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2398391,"weekly":600522},"dependents":"93","updated":"2026-07-20T05:27:24.498Z","searchScore":61.419846,"package":{"name":"blueimp-canvas-to-blob","keywords":["javascript","canvas","blob","convert","conversion"],"version":"3.29.0","description":"Canvas to Blob is a polyfill for the standard JavaScript canvas.toBlob method. It can be used to create Blob objects from an HTML canvas element.","sanitized_name":"blueimp-canvas-to-blob","publisher":{"email":"mail@blueimp.net","username":"blueimp"},"maintainers":[{"email":"mail@blueimp.net","username":"blueimp"}],"license":"MIT","date":"2021-09-25T16:10:31.596Z","links":{"homepage":"https://github.com/blueimp/JavaScript-Canvas-to-Blob","repository":"git://github.com/blueimp/JavaScript-Canvas-to-Blob.git","bugs":"https://github.com/blueimp/JavaScript-Canvas-to-Blob/issues","npm":"https://www.npmjs.com/package/blueimp-canvas-to-blob"}},"score":{"final":61.419846,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2167800,"weekly":568840},"dependents":"3","updated":"2026-07-20T05:23:47.342Z","searchScore":61.338688,"package":{"name":"@nivo/canvas","keywords":["nivo","dataviz","react","d3","canvas"],"version":"0.99.0","description":"<a href=\"https://nivo.rocks\"><img alt=\"nivo\" src=\"https://raw.githubusercontent.com/plouc/nivo/master/nivo.png\" width=\"216\" height=\"68\"/></a>","sanitized_name":"@nivo/canvas","publisher":{"email":"benitteraphael+npm@gmail.com","username":"plouc"},"maintainers":[{"email":"benitteraphael+npm@gmail.com","username":"plouc"}],"license":"MIT","date":"2025-05-23T14:57:53.918Z","links":{"homepage":"https://github.com/plouc/nivo#readme","repository":"https://github.com/plouc/nivo.git","bugs":"https://github.com/plouc/nivo/issues","npm":"https://www.npmjs.com/package/@nivo/canvas"}},"score":{"final":61.338688,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1653653,"weekly":418536},"dependents":"91","updated":"2026-07-20T05:26:04.763Z","searchScore":61.24195,"package":{"name":"@antv/g-canvas","keywords":["antv","g","renderer","Canvas2D"],"version":"2.2.0","description":"A renderer implemented by Canvas 2D API","sanitized_name":"@antv/g-canvas","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"}],"license":"MIT","date":"2025-12-24T11:59:06.819Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g-canvas"}},"score":{"final":61.24195,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3639703,"weekly":848658},"dependents":"32","updated":"2026-07-20T05:25:35.842Z","searchScore":61.09682,"package":{"name":"@rive-app/canvas","keywords":["rive","animation"],"version":"2.38.5","description":"Rive's canvas based web api.","sanitized_name":"@rive-app/canvas","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"rive-engineering","type":"user","email":"engineering@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:23293039-4b5a-4f3a-9e65-443e50a8c03c","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:30:23.509Z","links":{"homepage":"https://rive.app","repository":"git+https://github.com/rive-app/rive-wasm.git#master","bugs":"https://github.com/rive-app/rive-wasm/issues","npm":"https://www.npmjs.com/package/@rive-app/canvas"}},"score":{"final":61.09682,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":45184393,"weekly":11624823},"dependents":"88","updated":"2026-07-20T05:26:11.194Z","searchScore":61.080772,"package":{"name":"stackblur-canvas","keywords":["stackblur","blur","canvas","gaussian"],"version":"3.0.1","description":"Fast and almost Gaussian blur by Mario Klingemann","sanitized_name":"stackblur-canvas","publisher":{"email":"brettz9@yahoo.com","username":"brettz9"},"maintainers":[{"email":"brettz9@yahoo.com","username":"brettz9"},{"email":"npm-3@flogisoft.com","username":"flozz"}],"license":"MIT","date":"2026-03-14T01:17:40.409Z","links":{"homepage":"http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html","repository":"git+https://github.com/flozz/StackBlur.git","bugs":"https://github.com/flozz/StackBlur/issues","npm":"https://www.npmjs.com/package/stackblur-canvas"}},"score":{"final":61.080772,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":43923868,"weekly":10661770},"dependents":"343","updated":"2026-07-20T05:24:12.747Z","searchScore":60.65638,"package":{"name":"canvg","keywords":["javascript","client","browser","svg","canvas"],"version":"4.0.3","description":"JavaScript SVG parser and renderer on Canvas.","sanitized_name":"canvg","publisher":{"email":"gabelerner@gmail.com","username":"gabelerner"},"maintainers":[{"email":"danon0404@gmail.com","username":"dangreen"},{"email":"gabelerner@gmail.com","username":"gabelerner"}],"license":"MIT","date":"2025-03-12T23:04:02.997Z","links":{"homepage":"https://github.com/canvg/canvg#readme","repository":"git+https://github.com/canvg/canvg.git","bugs":"https://github.com/canvg/canvg/issues","npm":"https://www.npmjs.com/package/canvg"}},"score":{"final":60.65638,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1558645,"weekly":311900},"dependents":"32","updated":"2026-07-20T05:24:54.155Z","searchScore":59.907295,"package":{"name":"canvas-hypertxt","keywords":["html5","canvas","text","font","layout","multiline","wrapping","wrap","alignment"],"version":"1.0.3","description":"The fastest way to layout wrapped text on a HTML5 canvas","sanitized_name":"canvas-hypertxt","publisher":{"email":"jason@heyglide.com","username":"jassmith87"},"maintainers":[{"email":"jason@heyglide.com","username":"jassmith87"}],"license":"MIT","date":"2023-11-25T04:11:04.483Z","links":{"homepage":"https://github.com/glideapps/canvas-hypertxt#readme","repository":"git+https://github.com/glideapps/canvas-hypertxt.git","bugs":"https://github.com/glideapps/canvas-hypertxt/issues","npm":"https://www.npmjs.com/package/canvas-hypertxt"}},"score":{"final":59.907295,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3681147,"weekly":989002},"dependents":"6","updated":"2026-07-20T05:24:47.535Z","searchScore":59.847717,"package":{"name":"vitest-canvas-mock","keywords":["canvas","mock","test","vitest"],"version":"1.1.4","description":"🌗 A module used to mock canvas in Vitest.","sanitized_name":"vitest-canvas-mock","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:07b295dd-3634-4dea-a7bb-eb6cefa42126","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"sorianorobertc@gmail.com","username":"wobsoriano"}],"license":"MIT","date":"2026-03-24T14:42:39.285Z","links":{"homepage":"https://github.com/wobsoriano/vitest-canvas-mock#readme","repository":"git+https://github.com/wobsoriano/vitest-canvas-mock.git","bugs":"https://github.com/wobsoriano/vitest-canvas-mock/issues","npm":"https://www.npmjs.com/package/vitest-canvas-mock"}},"score":{"final":59.847717,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":4863622,"weekly":1146433},"dependents":"66","updated":"2026-07-20T05:22:58.629Z","searchScore":59.683674,"package":{"name":"rehype-prism-plus","keywords":["rehype","rehype-plugin","syntax-highlighting","prism","mdx","jsx"],"version":"2.0.2","description":"rehype plugin to highlight code blocks in HTML with Prism (via refractor) with line highlighting and line numbers","sanitized_name":"rehype-prism-plus","publisher":{"email":"timothy0336@hotmail.com","username":"timlrx"},"maintainers":[{"email":"timothy0336@hotmail.com","username":"timlrx"}],"license":"MIT","date":"2026-02-08T09:52:55.623Z","links":{"homepage":"https://github.com/timlrx/rehype-prism-plus#readme","repository":"git+https://github.com/timlrx/rehype-prism-plus.git","bugs":"https://github.com/timlrx/rehype-prism-plus/issues","npm":"https://www.npmjs.com/package/rehype-prism-plus"}},"score":{"final":59.683674,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":15091,"weekly":3327},"dependents":"1","updated":"2026-07-14T09:41:46.949Z","searchScore":59.220787,"package":{"name":"@rive-app/canvas-advanced-single","keywords":["rive","animation"],"version":"2.38.5","description":"Rive's lightweight low-level canvas based web api all in one js file.","sanitized_name":"@rive-app/canvas-advanced-single","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"rive-engineering","type":"user","email":"engineering@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:43db3e83-e13e-4158-b0de-ee43d848fd97","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:30:38.555Z","links":{"homepage":"https://rive.app","repository":"git+https://github.com/rive-app/rive-wasm.git#master","bugs":"https://github.com/rive-app/rive-wasm/issues","npm":"https://www.npmjs.com/package/@rive-app/canvas-advanced-single"}},"score":{"final":59.220787,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":17825725,"weekly":6261408},"dependents":"1","updated":"2026-07-20T12:19:27.954Z","searchScore":58.778255,"package":{"name":"@sentry/replay-canvas","keywords":[],"version":"10.67.0","description":"Replay canvas integration","sanitized_name":"@sentry/replay-canvas","publisher":{"email":"accounts@sentry.io","username":"sentry-bot"},"maintainers":[{"email":"accounts@sentry.io","username":"sentry-bot"}],"license":"MIT","date":"2026-07-20T12:18:57.246Z","links":{"homepage":"https://docs.sentry.io/platforms/javascript/session-replay/","repository":"git+https://github.com/getsentry/sentry-javascript.git","bugs":"https://github.com/getsentry/sentry-javascript/issues","npm":"https://www.npmjs.com/package/@sentry/replay-canvas"}},"score":{"final":58.778255,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2321270,"weekly":671950},"dependents":"2","updated":"2026-07-20T05:28:19.189Z","searchScore":58.541725,"package":{"name":"font-atlas","keywords":["font","type","typography","gamedev","canvas","browser","browserify","element","atlas","text"],"version":"2.1.0","description":"Populate a <canvas> element with a font texture atlas","sanitized_name":"font-atlas","publisher":{"email":"df.creative@gmail.com","username":"dfcreative"},"maintainers":[{"email":"df.creative@gmail.com","username":"dfcreative"},{"email":"hughskennedy@gmail.com","username":"hughsk"}],"license":"MIT","date":"2018-06-20T22:05:03.566Z","links":{"homepage":"https://github.com/hughsk/font-atlas","repository":"git://github.com/hughsk/font-atlas.git","bugs":"https://github.com/hughsk/font-atlas/issues","npm":"https://www.npmjs.com/package/font-atlas"}},"score":{"final":58.541725,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2124412,"weekly":489939},"dependents":"42","updated":"2026-07-20T05:25:29.667Z","searchScore":58.07968,"package":{"name":"canvas-fit","keywords":["canvas","fit","screen","window","browser","stretch","resize"],"version":"1.5.0","description":"Small module for fitting a canvas element within the bounds of its parent.","sanitized_name":"canvas-fit","publisher":{"email":"hughskennedy@gmail.com","username":"hughsk"},"maintainers":[{"email":"hughskennedy@gmail.com","username":"hughsk"}],"license":"MIT","date":"2015-08-27T23:17:51.421Z","links":{"homepage":"https://github.com/hughsk/canvas-fit","repository":"git://github.com/hughsk/canvas-fit.git","bugs":"https://github.com/hughsk/canvas-fit/issues","npm":"https://www.npmjs.com/package/canvas-fit"}},"score":{"final":58.07968,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":588195,"weekly":163389},"dependents":"23","updated":"2026-07-20T05:27:39.547Z","searchScore":57.904266,"package":{"name":"canvas-size","keywords":["area","canvas","height","html","limit","max","maximum","offscreen","offscreencanvas","promise","scale","size","test","web worker","worker","width"],"version":"2.0.0","description":"Determine the maximum area, height, width, and custom dimensions of an HTML canvas element.","sanitized_name":"canvas-size","publisher":{"email":"john@hildenbiddle.com","username":"jhildenbiddle"},"maintainers":[{"email":"john@hildenbiddle.com","username":"jhildenbiddle"}],"license":"MIT","date":"2024-02-13T04:12:49.428Z","links":{"homepage":"https://github.com/jhildenbiddle/canvas-size","repository":"git+https://jhildenbiddle@github.com/jhildenbiddle/canvas-size.git","bugs":"https://github.com/jhildenbiddle/canvas-size/issues","npm":"https://www.npmjs.com/package/canvas-size"}},"score":{"final":57.904266,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":885879,"weekly":206740},"dependents":"20","updated":"2026-07-20T05:24:28.441Z","searchScore":57.49505,"package":{"name":"react-canvas-confetti","keywords":["react","canvas","confetti","animation","burst","fireworks","snow","particles"],"version":"2.0.7","description":"React component for canvas-confetti library","sanitized_name":"react-canvas-confetti","publisher":{"email":"ulitcos@gmail.com","username":"ulitcos"},"maintainers":[{"email":"ulitcos@gmail.com","username":"ulitcos"}],"license":"MIT","date":"2024-03-08T19:56:50.407Z","links":{"homepage":"https://github.com/ulitcos/react-canvas-confetti#readme","repository":"git+https://github.com/ulitcos/react-canvas-confetti.git","bugs":"https://github.com/ulitcos/react-canvas-confetti/issues","npm":"https://www.npmjs.com/package/react-canvas-confetti"}},"score":{"final":57.49505,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2437822,"weekly":617475},"dependents":"22","updated":"2026-07-20T05:23:48.623Z","searchScore":57.46406,"package":{"name":"@types/react-signature-canvas","keywords":[],"version":"1.0.7","description":"TypeScript definitions for react-signature-canvas","sanitized_name":"@types/react-signature-canvas","publisher":{"email":"ts-npm-types@microsoft.com","username":"types"},"maintainers":[{"email":"ts-npm-types@microsoft.com","username":"types"}],"license":"MIT","date":"2025-02-06T17:33:56.225Z","links":{"homepage":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-signature-canvas","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","npm":"https://www.npmjs.com/package/@types/react-signature-canvas"}},"score":{"final":57.46406,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3161469,"weekly":889085},"dependents":"143","updated":"2026-07-20T05:27:58.025Z","searchScore":56.993317,"package":{"name":"inquirer-checkbox-plus-prompt","keywords":["inquirer","checkbox","autocomplete","search","filter","searchable","highlight","source","api","promise","command","prompt","stdin","cli","tty","menu"],"version":"1.4.2","description":"Checkbox with autocomplete and other additions for Inquirer","sanitized_name":"inquirer-checkbox-plus-prompt","publisher":{"email":"faressoft.com@gmail.com","username":"faressoft"},"maintainers":[{"email":"faressoft.com@gmail.com","username":"faressoft"}],"license":"MIT","date":"2023-01-23T19:44:40.055Z","links":{"homepage":"https://github.com/faressoft/inquirer-checkbox-plus-prompt#readme","repository":"git+https://github.com/faressoft/inquirer-checkbox-plus-prompt.git","bugs":"https://github.com/faressoft/inquirer-checkbox-plus-prompt/issues","npm":"https://www.npmjs.com/package/inquirer-checkbox-plus-prompt"}},"score":{"final":56.993317,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":965764,"weekly":245663},"dependents":"88","updated":"2026-07-20T05:22:28.896Z","searchScore":56.497772,"package":{"name":"chartjs-node-canvas","keywords":[],"version":"5.0.0","description":"A node renderer for Chart.js using canvas.","sanitized_name":"chartjs-node-canvas","publisher":{"email":"sean.m.sobey@gmail.com","username":"seansobey"},"maintainers":[{"email":"sean.m.sobey@gmail.com","username":"seansobey"}],"license":"MIT","date":"2025-03-24T20:27:11.663Z","links":{"homepage":"https://github.com/SeanSobey/ChartjsNodeCanvas","repository":"git+https://github.com/SeanSobey/ChartjsNodeCanvas.git","bugs":"https://github.com/SeanSobey/ChartjsNodeCanvas/issues","npm":"https://www.npmjs.com/package/chartjs-node-canvas"}},"score":{"final":56.497772,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2693055,"weekly":622269},"dependents":"5137","updated":"2026-07-20T05:22:37.877Z","searchScore":56.47631,"package":{"name":"element-plus","keywords":["element-plus","element","component library","ui framework","ui","vue"],"version":"2.14.3","description":"A Component Library for Vue 3","sanitized_name":"element-plus","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"jeremywuuuuu","type":"user","email":"jeremy577@icloud.com"},"trustedPublisher":{"oidcConfigId":"oidc:72c62799-7023-4e04-8e57-86d5b4ed0ff2","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"kunhello@outlook.com","username":"iamkun"},{"email":"jeremy577@icloud.com","username":"jeremywuuuuu"}],"license":"MIT","date":"2026-07-10T13:02:59.061Z","links":{"homepage":"https://element-plus.org/","repository":"git+https://github.com/element-plus/element-plus.git","bugs":"https://github.com/element-plus/element-plus/issues","npm":"https://www.npmjs.com/package/element-plus"}},"score":{"final":56.47631,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1301500,"weekly":451803},"dependents":"1","updated":"2026-07-20T16:14:00.392Z","searchScore":56.192635,"package":{"name":"@remotion/canvas-capture","keywords":["remotion","canvas-capture"],"version":"4.0.495","description":"Capture HTML-in-canvas content as a video","sanitized_name":"@remotion/canvas-capture","publisher":{"email":"jonathanburger11@gmail.com","username":"jonny"},"maintainers":[{"email":"jonathanburger11@gmail.com","username":"jonny"}],"license":"Remotion License","date":"2026-07-20T16:13:29.594Z","links":{"repository":"https://github.com/remotion-dev/remotion/tree/main/packages/canvas-capture","bugs":"https://github.com/remotion-dev/remotion/issues","npm":"https://www.npmjs.com/package/@remotion/canvas-capture"}},"score":{"final":56.192635,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":791031,"weekly":191591},"dependents":"43","updated":"2026-07-20T05:23:24.696Z","searchScore":55.88387,"package":{"name":"react-native-signature-canvas","keywords":["react-native","react component","ios","android","signature","signature-pad","canvas","expo","typescript","drawing","webview","performance","error-handling","undo-redo","svg-export"],"version":"5.1.0","description":"A performant, customizable React Native signature canvas with advanced error handling, WebView optimization, and TypeScript support for iOS, Android, and Expo","sanitized_name":"react-native-signature-canvas","publisher":{"email":"yan950414@gmail.com","actor":{"name":"evanyan","type":"user","email":"evanyan@ethsign.xyz"},"username":"yanyuanfe"},"maintainers":[{"email":"yan950414@gmail.com","username":"yanyuanfe"},{"email":"evanyan@ethsign.xyz","username":"evanyan"}],"license":"MIT","date":"2026-07-05T07:17:18.608Z","links":{"homepage":"https://github.com/YanYuanFE/react-native-signature-canvas#readme","repository":"git+https://github.com/YanYuanFE/react-native-signature-canvas.git","bugs":"https://github.com/YanYuanFE/react-native-signature-canvas/issues","npm":"https://www.npmjs.com/package/react-native-signature-canvas"}},"score":{"final":55.88387,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":643864,"weekly":174571},"dependents":"5","updated":"2026-07-20T05:25:33.812Z","searchScore":55.583294,"package":{"name":"@rive-app/canvas-lite","keywords":["rive","animation"],"version":"2.38.5","description":"A lite version of Rive's canvas based web api.","sanitized_name":"@rive-app/canvas-lite","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"rive-engineering","type":"user","email":"engineering@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:d68f15ca-00f5-4676-b704-dc77f066014a","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:30:43.288Z","links":{"homepage":"https://rive.app","repository":"git+https://github.com/rive-app/rive-wasm.git#master","bugs":"https://github.com/rive-app/rive-wasm/issues","npm":"https://www.npmjs.com/package/@rive-app/canvas-lite"}},"score":{"final":55.583294,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":618323,"weekly":153947},"dependents":"86","updated":"2026-07-20T05:27:15.130Z","searchScore":55.221115,"package":{"name":"skia-canvas","keywords":["canvas","gpu","skia","offscreen","headless","graphic","graphics","image","images","compositing","render","vulkan","metal","pdf","svg","rust"],"version":"3.0.8","description":"A multi-threaded, GPU-accelerated, Canvas API for Node","sanitized_name":"skia-canvas","publisher":{"email":"drafting@samizdat.co","username":"samizdatco"},"maintainers":[{"email":"drafting@samizdat.co","username":"samizdatco"}],"license":"MIT","date":"2025-09-25T20:42:20.589Z","links":{"homepage":"https://skia-canvas.org","repository":"git+https://github.com/samizdatco/skia-canvas.git","bugs":"https://github.com/samizdatco/skia-canvas/issues","npm":"https://www.npmjs.com/package/skia-canvas"}},"score":{"final":55.221115,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2302072,"weekly":607201},"dependents":"0","updated":"2026-07-20T05:22:51.562Z","searchScore":55.08655,"package":{"name":"@voidzero-dev/vite-plus-linux-x64-gnu","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-linux-x64-gnu","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:c0f94659-dd60-4cd2-b151-56aa68788ad2","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:19:59.177Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-linux-x64-gnu"}},"score":{"final":55.08655,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2752282,"weekly":687841},"dependents":"20","updated":"2026-07-20T05:23:20.235Z","searchScore":54.938095,"package":{"name":"vega-scenegraph","keywords":[],"version":"5.1.0","description":"Vega scenegraph and renderers.","sanitized_name":"vega-scenegraph","publisher":{"email":"lukashermann28@gmail.com","username":"lhermann"},"maintainers":[{"email":"domoritz@gmail.com","username":"domoritz"},{"email":"cameron.yick@gmail.com","username":"hydrosquall"},{"email":"jeffrey.heer@gmail.com","username":"jheer"},{"email":"arvindsatya1@gmail.com","username":"arvindsatya1"},{"email":"lukashermann28@gmail.com","username":"lhermann"}],"license":"BSD-3-Clause","date":"2025-09-16T21:31:58.929Z","links":{"homepage":"https://github.com/vega/vega#readme","repository":"git+https://github.com/vega/vega.git","bugs":"https://github.com/vega/vega/issues","npm":"https://www.npmjs.com/package/vega-scenegraph"}},"score":{"final":54.938095,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":346794,"weekly":93771},"dependents":"3","updated":"2026-07-20T05:26:59.865Z","searchScore":54.327644,"package":{"name":"@rive-app/react-canvas-lite","keywords":[],"version":"4.29.5","description":"React wrapper around the @rive-app/canvas-lite library","sanitized_name":"@rive-app/react-canvas-lite","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"avivian_rive","type":"user","email":"arthur@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:5c72856e-85ab-4c30-b891-f93da6cfa922","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:48:27.777Z","links":{"homepage":"https://github.com/rive-app/rive-react#readme","repository":"git+https://github.com/rive-app/rive-react.git","bugs":"https://github.com/rive-app/rive-react/issues","npm":"https://www.npmjs.com/package/@rive-app/react-canvas-lite"}},"score":{"final":54.327644,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":284217,"weekly":67469},"dependents":"1","updated":"2026-07-20T16:00:58.716Z","searchScore":54.111008,"package":{"name":"shaders","keywords":["vue","vue3","react","svelte","solid","webgpu","webgl","wgsl","glsl","shaders"],"version":"3.0.442","description":"The design platform for web shaders","sanitized_name":"shaders","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"marchantweb","type":"user","email":"simon@marchantweb.com"},"trustedPublisher":{"oidcConfigId":"oidc:75692fd6-3a2f-4d74-9c1e-f4b3930e46ef","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"simon@marchantweb.com","username":"marchantweb"}],"license":"ISC","date":"2026-07-20T16:00:27.574Z","links":{"homepage":"https://shaders.com/","npm":"https://www.npmjs.com/package/shaders"}},"score":{"final":54.111008,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1845415,"weekly":385592},"dependents":"73","updated":"2026-07-20T05:27:39.843Z","searchScore":53.970814,"package":{"name":"fnv-plus","keywords":["id","unique","hash","checksum","fnv","fnv1a","signature","uniqueness","bloom","filter"],"version":"1.3.1","description":"Javascript FNV-1a Hashing Algorithm up to 1024 bits, with highly optimized 32bit and 52bit implementations.","sanitized_name":"fnv-plus","publisher":{"email":"me@traviswebb.com","username":"tjwebb"},"maintainers":[{"email":"me@traviswebb.com","username":"tjwebb"}],"license":"MIT","date":"2019-11-16T17:12:24.971Z","links":{"homepage":"https://github.com/tjwebb/fnv-plus#readme","repository":"git+https://github.com/tjwebb/fnv-plus.git","bugs":"https://github.com/tjwebb/fnv-plus/issues","npm":"https://www.npmjs.com/package/fnv-plus"}},"score":{"final":53.970814,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1210373,"weekly":283839},"dependents":"50","updated":"2026-07-20T05:24:38.612Z","searchScore":53.762203,"package":{"name":"@antv/g","keywords":["antv","g","rendering engine"],"version":"6.3.1","description":"A core module for rendering engine implements DOM API.","sanitized_name":"@antv/g","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"},{"email":"874706277@qq.com","username":"moayuisuda"}],"license":"MIT","date":"2025-12-24T11:59:07.300Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g"}},"score":{"final":53.762203,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":524701,"weekly":144190},"dependents":"1","updated":"2026-07-20T05:27:09.786Z","searchScore":53.713966,"package":{"name":"canvas-renderer","keywords":["javascript","canvas","rasterize","rasterizer","renderer","png","polygon"],"version":"2.2.1","description":"HTML5 inspired canvas that can be rendered to PNG with no native dependencies.","sanitized_name":"canvas-renderer","publisher":{"email":"d@mester.se","username":"dmester"},"maintainers":[{"email":"d@mester.se","username":"dmester"}],"license":"MIT","date":"2022-08-07T19:49:16.802Z","links":{"homepage":"https://github.com/dmester/canvas-renderer#readme","repository":"git+https://github.com/dmester/canvas-renderer.git","bugs":"https://github.com/dmester/canvas-renderer/issues","npm":"https://www.npmjs.com/package/canvas-renderer"}},"score":{"final":53.713966,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1128277,"weekly":263477},"dependents":"53","updated":"2026-07-20T05:22:59.513Z","searchScore":53.52117,"package":{"name":"@antv/g-lite","keywords":["antv","g","rendering engine"],"version":"2.7.0","description":"A core module for rendering engine implements DOM API.","sanitized_name":"@antv/g-lite","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"}],"license":"MIT","date":"2025-12-24T11:59:07.663Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g-lite"}},"score":{"final":53.52117,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":297883,"weekly":59108},"dependents":"17","updated":"2026-07-20T05:25:24.892Z","searchScore":53.44669,"package":{"name":"react-sketch-canvas","keywords":["react-component","sketch","canvas","drawing","freehand","vector","svg-canvas","react-sketch"],"version":"8.0.0","description":"react-sketch-canvas - Freehand vector drawing tool for React using SVG as canvas","sanitized_name":"react-sketch-canvas","publisher":{"email":"vinoth.pandian@rwth-aachen.de","username":"vinothpandian"},"maintainers":[{"email":"vinoth.pandian@rwth-aachen.de","username":"vinothpandian"}],"license":"MIT","date":"2026-05-27T02:10:24.295Z","links":{"homepage":"https://vinoth.info/react-sketch-canvas","repository":"https://github.com/vinothpandian/react-sketch-canvas.git","bugs":"https://github.com/vinothpandian/react-sketch-canvas/issues","npm":"https://www.npmjs.com/package/react-sketch-canvas"}},"score":{"final":53.44669,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2704911,"weekly":713299},"dependents":"6","updated":"2026-07-20T05:25:52.645Z","searchScore":53.38684,"package":{"name":"vega-view","keywords":["vega","view","layout"],"version":"6.1.0","description":"View component and transforms for Vega visualizations.","sanitized_name":"vega-view","publisher":{"email":"lukashermann28@gmail.com","username":"lhermann"},"maintainers":[{"email":"domoritz@gmail.com","username":"domoritz"},{"email":"cameron.yick@gmail.com","username":"hydrosquall"},{"email":"jeffrey.heer@gmail.com","username":"jheer"},{"email":"arvindsatya1@gmail.com","username":"arvindsatya1"},{"email":"lukashermann28@gmail.com","username":"lhermann"}],"license":"BSD-3-Clause","date":"2025-09-16T21:32:06.335Z","links":{"homepage":"https://github.com/vega/vega#readme","repository":"git+https://github.com/vega/vega.git","bugs":"https://github.com/vega/vega/issues","npm":"https://www.npmjs.com/package/vega-view"}},"score":{"final":53.38684,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":41683019,"weekly":11454058},"dependents":"58","updated":"2026-07-20T05:27:02.839Z","searchScore":52.716328,"package":{"name":"wmf","keywords":["wmf","image","office","word"],"version":"1.0.2","description":"Windows MetaFile (WMF) parser","sanitized_name":"wmf","publisher":{"email":"dev@sheetjs.com","username":"sheetjs"},"maintainers":[{"email":"dev@sheetjs.com","username":"sheetjs"}],"license":"Apache-2.0","date":"2020-03-16T16:32:17.663Z","links":{"homepage":"https://sheetjs.com/","repository":"git://github.com/SheetJS/js-wmf.git","bugs":"https://github.com/SheetJS/js-wmf/issues","npm":"https://www.npmjs.com/package/wmf"}},"score":{"final":52.716328,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1627737,"weekly":371792},"dependents":"25","updated":"2026-07-20T05:23:25.381Z","searchScore":52.629402,"package":{"name":"@antv/component","keywords":["antv","visualization","ui","component"],"version":"2.1.11","description":"Visualization components for AntV, based on G.","sanitized_name":"@antv/component","publisher":{"email":"874706277@qq.com","username":"moayuisuda"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"},{"email":"874706277@qq.com","username":"moayuisuda"}],"license":"MIT","date":"2025-11-21T10:24:33.855Z","links":{"homepage":"https://github.com/antvis/component#readme","repository":"git+https://github.com/antvis/component.git","bugs":"https://github.com/antvis/component/issues","npm":"https://www.npmjs.com/package/@antv/component"}},"score":{"final":52.629402,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2903186,"weekly":674261},"dependents":"19","updated":"2026-07-20T05:25:43.770Z","searchScore":52.576828,"package":{"name":"gl-text","keywords":["regl","plotly","text","gl-text","typography","font"],"version":"1.4.0","description":"Render text with WebGL","sanitized_name":"gl-text","publisher":{"email":"arch.mojtaba.samimi@gmail.com","username":"archmoj"},"maintainers":[{"email":"chris@plot.ly","username":"chriddyp"},{"email":"post.ben.here@gmail.com","username":"bpostlethwaite"},{"email":"antoine@plot.ly","username":"antrg"},{"email":"hammadtheone@gmail.com","username":"hammadtheone"},{"email":"chuck@plot.ly","username":"bronsolo"},{"email":"t4rk@outlook.com","username":"t4rk"},{"email":"alexshoe@gmail.com","username":"alexshoe"},{"email":"liam@plotly.com","username":"lconnors"},{"email":"nathan@drezner.xyz","username":"ndrezner"},{"email":"mario.rodriguez@plot.ly","username":"farkites"},{"email":"alex@plot.ly","username":"alexcjohnson"},{"email":"emily@plot.ly","username":"emilykl-plotly"},{"email":"martha.cryan326@gmail.com","username":"marthacryan"},{"email":"packages@plot.ly","username":"packages-team-plotly"},{"email":"df.creative@gmail.com","username":"dfcreative"},{"email":"code@etpinard.xyz","username":"etpinard"}],"license":"MIT","date":"2024-04-23T18:01:55.491Z","links":{"homepage":"https://github.com/a-vis/gl-text#readme","repository":"git+https://github.com/a-vis/gl-text.git","bugs":"https://github.com/a-vis/gl-text/issues","npm":"https://www.npmjs.com/package/gl-text"}},"score":{"final":52.576828,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":282478,"weekly":67691},"dependents":0,"updated":"2026-07-18T09:03:37.916Z","searchScore":52.36504,"package":{"name":"@salesforce/canvas-js-sdk","keywords":["salesforce","canvas"],"version":"1.41.0","description":"A JavaScript SDK used to integrate applications with the Force.com Canvas framework","sanitized_name":"@salesforce/canvas-js-sdk","publisher":{"email":"npmjs@msenn.com","username":"mpsenn"},"maintainers":[{"email":"industriesEngineeringDevOps@salesforce.com","username":"ire-npm-team-user"},{"email":"jimjag@gmail.com","username":"jimjag"},{"email":"alm-cli@salesforce.com","username":"salesforce-releases"},{"email":"jschroeder@salesforce.com","username":"jasonschroeder-sfdc"},{"email":"dev@mobify.com","username":"mobify"},{"email":"admin@lwcjs.org","username":"lwc-admin"},{"email":"osscore@salesforce.com","username":"salesforce-admin"}],"license":"BSD-3-Clause","date":"2017-08-17T15:32:31.122Z","links":{"homepage":"https://github.com/forcedotcom/SalesforceCanvasJavascriptSDK#readme","repository":"git+https://github.com/forcedotcom/SalesforceCanvasJavascriptSDK.git","bugs":"https://github.com/forcedotcom/SalesforceCanvasJavascriptSDK/issues","npm":"https://www.npmjs.com/package/@salesforce/canvas-js-sdk"}},"score":{"final":52.36504,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":470445,"weekly":119651},"dependents":"7","updated":"2026-07-20T05:23:48.785Z","searchScore":52.272766,"package":{"name":"@cropper/element-canvas","keywords":["canvas","cropper","cropper.js","cropper-element","custom-element","web-component"],"version":"2.1.1","description":"A custom canvas element for the Cropper.","sanitized_name":"@cropper/element-canvas","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:a4332544-0c9e-46d3-b927-9b503d47a852","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"chenfengyuan@outlook.com","username":"chenfengyuan"}],"license":"MIT","date":"2026-04-06T13:02:17.053Z","links":{"homepage":"https://github.com/fengyuanchen/cropperjs/tree/main/packages/element-canvas/#readme","repository":"git+https://github.com/fengyuanchen/cropperjs.git","bugs":"https://github.com/fengyuanchen/cropperjs/issues","npm":"https://www.npmjs.com/package/@cropper/element-canvas"}},"score":{"final":52.272766,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1044392,"weekly":243132},"dependents":"233","updated":"2026-07-20T05:22:51.535Z","searchScore":52.14741,"package":{"name":"vue-draggable-plus","keywords":["vue","vue2.x","vue3.x","Sortable","sortablejs","drag","dragging","vue-draggable","vue-draggable-plus"],"version":"0.6.1","description":"Universal Drag-and-Drop Component Supporting both Vue 3 and Vue 2","sanitized_name":"vue-draggable-plus","publisher":{"email":"yangpanteng@gmail.com","username":"yuanfang03"},"maintainers":[{"email":"yangpanteng@gmail.com","username":"yuanfang03"}],"license":"MIT","date":"2026-01-11T07:56:12.900Z","links":{"homepage":"https://vue-draggable-plus.pages.dev/en/","repository":"git+https://github.com/Alfred-Skyblue/vue-draggable-plus.git","bugs":"https://github.com/Alfred-Skyblue/vue-draggable-plus/issues","npm":"https://www.npmjs.com/package/vue-draggable-plus"}},"score":{"final":52.14741,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":97940054,"weekly":23193038},"dependents":"1500","updated":"2026-07-20T05:25:16.272Z","searchScore":52.06697,"package":{"name":"assert-plus","keywords":[],"version":"1.0.0","description":"Extra assertions on top of node's assert module","sanitized_name":"assert-plus","publisher":{"email":"patrick.f.mooney@gmail.com","username":"pfmooney"},"maintainers":[{"email":"todd.whiteman@joyent.com","username":"todd.whiteman"},{"email":"kusorbox@gmail.com","username":"kusor"},{"email":"michael.hicks@joyent.com","username":"michael.hicks"},{"email":"bahamat@digitalelf.net","username":"bahamat"},{"email":"Tr@visPaul.me","username":"tpaul"},{"email":"danmcd@edgecast.io","username":"kebesays"},{"email":"pmooney@pfmooney.com","username":"pfmooney"},{"email":"mcavage@gmail.com","username":"mcavage"},{"email":"alex@cooperi.net","username":"arekinath"}],"license":"MIT","date":"2016-01-27T19:03:38.091Z","links":{"homepage":"https://github.com/mcavage/node-assert-plus#readme","repository":"git+https://github.com/mcavage/node-assert-plus.git","bugs":"https://github.com/mcavage/node-assert-plus/issues","npm":"https://www.npmjs.com/package/assert-plus"}},"score":{"final":52.06697,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3467322,"weekly":864011},"dependents":"31","updated":"2026-07-20T05:22:57.064Z","searchScore":52.030544,"package":{"name":"bitmap-sdf","keywords":["sdf","signed-distance","image-sdf","bitmap","bwdist","tiny-sdf"],"version":"1.0.4","description":"Calculate SDF for image/bw-data/array","sanitized_name":"bitmap-sdf","publisher":{"email":"df.creative@gmail.com","username":"dfcreative"},"maintainers":[{"email":"df.creative@gmail.com","username":"dfcreative"}],"license":"MIT","date":"2022-05-02T18:55:11.323Z","links":{"homepage":"https://github.com/dfcreative/bitmap-sdf#readme","repository":"git+https://github.com/dfcreative/bitmap-sdf.git","bugs":"https://github.com/dfcreative/bitmap-sdf/issues","npm":"https://www.npmjs.com/package/bitmap-sdf"}},"score":{"final":52.030544,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":166206,"weekly":49833},"dependents":"42","updated":"2026-07-18T09:04:44.876Z","searchScore":51.977592,"package":{"name":"react-canvas-draw","keywords":["react-component","react","reactjs","canvas","drawing"],"version":"1.2.1","description":"A simple yet powerful canvas-drawing component for React.","sanitized_name":"react-canvas-draw","publisher":{"email":"mbeierling@gmail.com","username":"mbeierling"},"maintainers":[{"email":"mbeierling@gmail.com","username":"mbeierling"}],"license":"MIT","date":"2021-11-08T09:40:13.932Z","links":{"homepage":"https://embiem.github.io/react-canvas-draw/","repository":"git+https://github.com/embiem/react-canvas-draw.git","bugs":"https://github.com/embiem/react-canvas-draw/issues","npm":"https://www.npmjs.com/package/react-canvas-draw"}},"score":{"final":51.977592,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":844245,"weekly":212055},"dependents":"55","updated":"2026-07-20T05:24:51.611Z","searchScore":51.953915,"package":{"name":"ngx-build-plus","keywords":[],"version":"20.0.0","description":"Extends the Angular CLI's build process","sanitized_name":"ngx-build-plus","publisher":{"email":"manfred.steyer@softwarearchitekt.at","username":"manfred.steyer"},"maintainers":[{"email":"manfred.steyer@softwarearchitekt.at","username":"manfred.steyer"}],"license":"MIT","date":"2025-06-02T16:00:40.091Z","links":{"homepage":"https://github.com/manfredsteyer/ngx-build-plus#readme","repository":"git+https://github.com/manfredsteyer/ngx-build-plus.git","bugs":"https://github.com/manfredsteyer/ngx-build-plus/issues","npm":"https://www.npmjs.com/package/ngx-build-plus"}},"score":{"final":51.953915,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2616907,"weekly":687816},"dependents":"17","updated":"2026-07-20T05:28:17.021Z","searchScore":51.92979,"package":{"name":"get-canvas-context","keywords":["canvas","context","2d","webgl","experimental","webgl2","3d","gl","html5"],"version":"1.0.2","description":"gets canvas context by name","sanitized_name":"get-canvas-context","publisher":{"email":"dave.des@gmail.com","username":"mattdesl"},"maintainers":[{"email":"dave.des@gmail.com","username":"mattdesl"}],"license":"MIT","date":"2016-05-10T19:23:17.425Z","links":{"homepage":"https://github.com/Jam3/get-canvas-context","repository":"git://github.com/Jam3/get-canvas-context.git","bugs":"https://github.com/Jam3/get-canvas-context/issues","npm":"https://www.npmjs.com/package/get-canvas-context"}},"score":{"final":51.92979,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":430829,"weekly":102770},"dependents":0,"updated":"2026-07-20T05:23:27.659Z","searchScore":51.732246,"package":{"name":"@voidzero-dev/vite-plus-linux-x64-musl","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-linux-x64-musl","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:65cbb206-02bb-47ad-8a75-9a3e17715336","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:20:05.672Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-linux-x64-musl"}},"score":{"final":51.732246,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":256730,"weekly":60175},"dependents":"2","updated":"2026-07-20T05:24:47.722Z","searchScore":51.643105,"package":{"name":"@antv/g-plugin-canvas-path-generator","keywords":["antv","g"],"version":"2.1.26","description":"A G plugin of path generator with Canvas2D API","sanitized_name":"@antv/g-plugin-canvas-path-generator","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"}],"license":"MIT","date":"2025-12-12T03:33:41.943Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g-plugin-canvas-path-generator"}},"score":{"final":51.643105,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":164849,"weekly":28881},"dependents":"0","updated":"2026-07-18T09:06:04.529Z","searchScore":51.524986,"package":{"name":"vi-canvas-mock","keywords":["mock","vitest","vitest-mock","canvas","test","unit"],"version":"1.0.0","description":"Mock a canvas in your vitest tests.","sanitized_name":"vi-canvas-mock","publisher":{"email":"alanbschio@gmail.com","username":"schirrel"},"maintainers":[{"email":"alanbschio@gmail.com","username":"schirrel"}],"license":"MIT","date":"2023-03-01T19:16:40.564Z","links":{"homepage":"https://github.com/schirrel/vi-canvas-mock#readme","repository":"git+https://github.com/schirrel/vi-canvas-mock.git","bugs":"https://github.com/schirrel/vi-canvas-mock/issues","npm":"https://www.npmjs.com/package/vi-canvas-mock"}},"score":{"final":51.524986,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":58736593,"weekly":15778343},"dependents":"554","updated":"2026-07-20T15:15:43.726Z","searchScore":51.277294,"package":{"name":"@storybook/addon-docs","keywords":["docs","documentation","storybook","storybook-addon","essentials","organize","MDX","markdown","autodocs","styleguide","style guide","component","components","react","vue","angular","svelte","web-components"],"version":"10.5.3","description":"Storybook Docs: Document UI components automatically with stories and MDX","sanitized_name":"@storybook/addon-docs","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"storybook-bot","type":"user","email":"storybookbot@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:b0528836-4b67-4988-b310-9f4f33761cb1","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"ndelangen@me.com","username":"ndelangen"},{"email":"shilman@gmail.com","username":"shilman"},{"email":"tom@thesnail.org","username":"tmeasday"},{"email":"gert@chromatic.com","username":"ghengeveld"},{"email":"varunvachhar@gmail.com","username":"winkervsbecks"},{"email":"yannbf@gmail.com","username":"yannbf"},{"email":"kyle.gach@gmail.com","username":"kylegach"},{"email":"jeppe@reinhold.is","username":"jreinhold"},{"email":"kasperpeulen@gmail.com","username":"kasperpeulen"},{"email":"dev@valentinpalkovic.dev","username":"valentinpalkovic"},{"email":"dom@hichroma.com","username":"domyen"},{"email":"storybookbot@gmail.com","username":"storybook-bot"}],"license":"MIT","date":"2026-07-20T15:15:11.081Z","links":{"homepage":"https://github.com/storybookjs/storybook/tree/next/code/addons/docs","repository":"https://github.com/storybookjs/storybook.git","bugs":"https://github.com/storybookjs/storybook/issues","npm":"https://www.npmjs.com/package/@storybook/addon-docs"}},"score":{"final":51.277294,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":93547980,"weekly":22563887},"dependents":"560","updated":"2026-07-20T05:23:46.259Z","searchScore":51.108135,"package":{"name":"d3-zoom","keywords":["d3","d3-module","zoom","behavior","interaction"],"version":"3.0.0","description":"Pan and zoom SVG, HTML or Canvas using mouse or touch input.","sanitized_name":"d3-zoom","publisher":{"email":"mike@ocks.org","username":"mbostock"},"maintainers":[{"email":"mike@ocks.org","username":"mbostock"},{"email":"fil@rezo.net","username":"recifs"}],"license":"ISC","date":"2021-06-10T00:49:18.125Z","links":{"homepage":"https://d3js.org/d3-zoom/","repository":"git+https://github.com/d3/d3-zoom.git","bugs":"https://github.com/d3/d3-zoom/issues","npm":"https://www.npmjs.com/package/d3-zoom"}},"score":{"final":51.108135,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":5405,"weekly":1316},"dependents":"1","updated":"2026-07-15T15:36:13.169Z","searchScore":50.994415,"package":{"name":"@rive-app/canvas-advanced-lite","keywords":["rive","animation"],"version":"2.38.5","description":"Rive's lite low-level canvas based web api.","sanitized_name":"@rive-app/canvas-advanced-lite","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"rive-engineering","type":"user","email":"engineering@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:a38220d7-10bc-4ca8-8568-229a4efaf3cb","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-07-08T15:30:33.585Z","links":{"homepage":"https://rive.app","repository":"git+https://github.com/rive-app/rive-wasm.git#master","bugs":"https://github.com/rive-app/rive-wasm/issues","npm":"https://www.npmjs.com/package/@rive-app/canvas-advanced-lite"}},"score":{"final":50.994415,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":481737,"weekly":127074},"dependents":"31","updated":"2026-07-20T05:27:02.758Z","searchScore":50.97957,"package":{"name":"@xterm/addon-canvas","keywords":["terminal","canvas","xterm","xterm.js"],"version":"0.7.0","description":"An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables a canvas-based renderer using a 2d context to draw. This addon requires xterm.js v5+.","sanitized_name":"@xterm/addon-canvas","publisher":{"email":"tyriar@tyriar.com","username":"tyriar"},"maintainers":[{"email":"tyriar@tyriar.com","username":"tyriar"}],"license":"MIT","date":"2024-04-05T14:01:55.092Z","links":{"homepage":"https://github.com/xtermjs/xterm.js/tree/master#readme","repository":"git+https://github.com/xtermjs/xterm.js.git#master","bugs":"https://github.com/xtermjs/xterm.js/issues","npm":"https://www.npmjs.com/package/@xterm/addon-canvas"}},"score":{"final":50.97957,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":291888,"weekly":71897},"dependents":"15","updated":"2026-07-20T05:27:54.814Z","searchScore":50.95806,"package":{"name":"map-canvas","keywords":[],"version":"0.1.5","description":"A map widget for [blessed-contrib](https://github.com/yaronn/blessed-contrib).","sanitized_name":"map-canvas","publisher":{"email":"yaronn01@gmail.com","username":"yaron"},"maintainers":[{"email":"yaronn01@gmail.com","username":"yaron"}],"license":"ISC","date":"2015-03-14T19:13:54.053Z","links":{"homepage":"https://github.com/yaronn/map-canvas","repository":"https://github.com/yaronn/map-canvas.git","bugs":"https://github.com/yaronn/map-canvas/issues","npm":"https://www.npmjs.com/package/map-canvas"}},"score":{"final":50.95806,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":605664,"weekly":158380},"dependents":"28","updated":"2026-07-20T05:23:27.192Z","searchScore":50.50753,"package":{"name":"@fontsource/plus-jakarta-sans","keywords":["fontsource","font","font family","google fonts","plus-jakarta-sans","Plus Jakarta Sans","css","sass","front-end","web","typeface","variable"],"version":"5.3.0","description":"Self-host the Plus Jakarta Sans font in a neatly bundled NPM package.","sanitized_name":"@fontsource/plus-jakarta-sans","publisher":{"email":"declininglotus@gmail.com","username":"lotusdevshack"},"maintainers":[{"email":"dev@jwr.one","username":"jwr1"},{"email":"declininglotus@gmail.com","username":"lotusdevshack"}],"license":"OFL-1.1","date":"2026-07-19T03:45:13.114Z","links":{"homepage":"https://fontsource.org/fonts/plus-jakarta-sans","repository":"git+https://github.com/fontsource/font-files.git","bugs":"https://github.com/fontsource/font-files/issues","npm":"https://www.npmjs.com/package/@fontsource/plus-jakarta-sans"}},"score":{"final":50.50753,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":636551,"weekly":156124},"dependents":"16","updated":"2026-07-20T05:22:51.292Z","searchScore":50.186314,"package":{"name":"@fontsource-variable/plus-jakarta-sans","keywords":["fontsource","font","font family","google fonts","plus-jakarta-sans","Plus Jakarta Sans","css","sass","front-end","web","typeface","variable"],"version":"5.3.0","description":"Self-host the Plus Jakarta Sans font in a neatly bundled NPM package.","sanitized_name":"@fontsource-variable/plus-jakarta-sans","publisher":{"email":"declininglotus@gmail.com","username":"lotusdevshack"},"maintainers":[{"email":"dev@jwr.one","username":"jwr1"},{"email":"declininglotus@gmail.com","username":"lotusdevshack"}],"license":"OFL-1.1","date":"2026-07-19T03:51:53.993Z","links":{"homepage":"https://fontsource.org/fonts/plus-jakarta-sans","repository":"git+https://github.com/fontsource/font-files.git","bugs":"https://github.com/fontsource/font-files/issues","npm":"https://www.npmjs.com/package/@fontsource-variable/plus-jakarta-sans"}},"score":{"final":50.186314,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":259960,"weekly":60456},"dependents":0,"updated":"2026-07-20T05:23:43.282Z","searchScore":49.98513,"package":{"name":"@antv/g-plugin-canvas-picker","keywords":["antv","g"],"version":"2.3.1","description":"A G plugin for picking in canvas","sanitized_name":"@antv/g-plugin-canvas-picker","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"}],"license":"MIT","date":"2025-12-12T03:33:46.036Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g-plugin-canvas-picker"}},"score":{"final":49.98513,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":219099,"weekly":56065},"dependents":"10","updated":"2026-07-20T05:22:48.243Z","searchScore":49.873024,"package":{"name":"@pixi/canvas-extract","keywords":[],"version":"7.4.3","description":"Canvas mixin for the extract package","sanitized_name":"@pixi/canvas-extract","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:39.914Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-extract"}},"score":{"final":49.873024,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2683608,"weekly":651365},"dependents":"37","updated":"2026-07-20T05:23:12.692Z","searchScore":49.82147,"package":{"name":"force-graph","keywords":["2d","force","simulation","graph","canvas","d3"],"version":"1.51.4","description":"2D force-directed graph rendered on HTML5 canvas","sanitized_name":"force-graph","publisher":{"email":"vastur@gmail.com","actor":{"name":"vasturiano","type":"user","email":"vastur@gmail.com"},"username":"vasturiano"},"maintainers":[{"email":"vastur@gmail.com","username":"vasturiano"}],"license":"MIT","date":"2026-04-16T22:42:29.449Z","links":{"homepage":"https://github.com/vasturiano/force-graph","repository":"git+https://github.com/vasturiano/force-graph.git","bugs":"https://github.com/vasturiano/force-graph/issues","npm":"https://www.npmjs.com/package/force-graph"}},"score":{"final":49.82147,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":227256,"weekly":55803},"dependents":"4","updated":"2026-07-20T05:23:46.785Z","searchScore":49.792606,"package":{"name":"@pixi/canvas-mesh","keywords":[],"version":"7.4.3","description":"Canvas mixin for the mesh package","sanitized_name":"@pixi/canvas-mesh","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:44.530Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-mesh"}},"score":{"final":49.792606,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":37958437,"weekly":9511296},"dependents":"359","updated":"2026-07-20T05:23:16.267Z","searchScore":49.774742,"package":{"name":"roughjs","keywords":["canvas","svg","graphics","sketchy","hand drawn","hand-drawn"],"version":"4.6.6","description":"Create graphics using HTML Canvas or SVG with a hand-drawn, sketchy, appearance.","sanitized_name":"roughjs","publisher":{"email":"preetshihn@gmail.com","username":"shihn"},"maintainers":[{"email":"preetshihn@gmail.com","username":"shihn"}],"license":"MIT","date":"2023-11-20T04:31:26.059Z","links":{"homepage":"https://roughjs.com","repository":"git+https://github.com/pshihn/rough.git","bugs":"https://github.com/pshihn/rough/issues","npm":"https://www.npmjs.com/package/roughjs"}},"score":{"final":49.774742,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":255315,"weekly":62905},"dependents":"15","updated":"2026-07-20T05:25:40.652Z","searchScore":49.737778,"package":{"name":"@pixi/canvas-display","keywords":[],"version":"7.4.3","description":"Canvas mixin for the display package","sanitized_name":"@pixi/canvas-display","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:37.565Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-display"}},"score":{"final":49.737778,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":252182,"weekly":62365},"dependents":"7","updated":"2026-07-20T05:25:36.290Z","searchScore":49.733364,"package":{"name":"@pixi/canvas-graphics","keywords":[],"version":"7.4.3","description":"Canvas mixin for the graphics package","sanitized_name":"@pixi/canvas-graphics","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:42.303Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-graphics"}},"score":{"final":49.733364,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1778436,"weekly":430263},"dependents":"48","updated":"2026-07-20T05:23:08.090Z","searchScore":49.612423,"package":{"name":"@splinetool/runtime","keywords":["spline","3D","webgl","shader","interactive","collaborative"],"version":"1.12.98","description":"Spline is a collaborative design platform for creating production-ready interactive experiences in multiple dimensions. © 2025 Spline, Inc.","sanitized_name":"@splinetool/runtime","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"alelepd","type":"user","email":"alejandro@spline.design"},"trustedPublisher":{"oidcConfigId":"oidc:c05773ca-8e9b-480a-b3f3-90cf4b35ecf7","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"alejandro@spline.design","username":"alelepd"},{"email":"guillaume@spline.design","username":"guillaumespline"},{"email":"marco@spline.design","username":"marcospline"}],"date":"2026-06-25T16:14:32.035Z","links":{"homepage":"https://github.com/splinetool/spline#readme","repository":"git+https://github.com/splinetool/spline.git","bugs":"https://github.com/splinetool/spline/issues","npm":"https://www.npmjs.com/package/@splinetool/runtime"}},"score":{"final":49.612423,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":275679,"weekly":64113},"dependents":"13","updated":"2026-07-20T05:25:01.443Z","searchScore":49.5349,"package":{"name":"@pixi/canvas-renderer","keywords":[],"version":"7.4.3","description":"Rendering using the Canvas API","sanitized_name":"@pixi/canvas-renderer","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:51.170Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-renderer"}},"score":{"final":49.5349,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":288773,"weekly":71740},"dependents":"24","updated":"2026-07-20T05:28:03.778Z","searchScore":49.49703,"package":{"name":"term-canvas","keywords":["canvas","ascii","ansi","terminal","shell"],"version":"0.0.5","description":"Terminal canvas api written with node.js","sanitized_name":"term-canvas","maintainers":[{"email":"tj@vision-media.ca","username":"tjholowaychuk"}],"date":"2012-07-21T17:09:38.268Z","links":{"npm":"https://www.npmjs.com/package/term-canvas"}},"score":{"final":49.49703,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":234110,"weekly":60579},"dependents":"7","updated":"2026-07-20T05:25:52.426Z","searchScore":49.430798,"package":{"name":"@pixi/canvas-sprite","keywords":[],"version":"7.4.3","description":"Canvas mixin for the sprite package","sanitized_name":"@pixi/canvas-sprite","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:53.584Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-sprite"}},"score":{"final":49.430798,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":171431,"weekly":46573},"dependents":"7","updated":"2026-07-20T05:23:29.919Z","searchScore":49.34567,"package":{"name":"@tsparticles/canvas-utils","keywords":["front-end","frontend","tsparticles","particles.js","particlesjs","particles","particle","canvas","jsparticles","xparticles","particles-js","particles-bg","particles-bg-vue","particles-ts","particles.ts","react-particles-js","react-particles.js","react-particles","react","reactjs","vue-particles","ngx-particles","angular-particles","particleground","vue","vuejs","preact","preactjs","jquery","angularjs","angular","typescript","javascript","animation","web","html5","web-design","webdesign","css","html","css3","animated","background","confetti","canvas","fireworks","fireworks-js","confetti-js","confettijs","fireworksjs","canvas-confetti","tsparticles-plugin"],"version":"4.3.2","description":"tsParticles canvas utils library","sanitized_name":"@tsparticles/canvas-utils","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:282b544c-7a3b-46e4-b958-a3aa1f13838d","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"ar3s@icloud.com","username":"matteobruni"}],"license":"MIT","date":"2026-07-10T10:34:17.604Z","links":{"homepage":"https://particles.js.org","repository":"git+https://github.com/tsparticles/tsparticles.git","bugs":"https://github.com/tsparticles/tsparticles/issues","npm":"https://www.npmjs.com/package/@tsparticles/canvas-utils"}},"score":{"final":49.34567,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":250632,"weekly":58085},"dependents":"6","updated":"2026-07-20T05:24:24.817Z","searchScore":49.33021,"package":{"name":"@pixi/canvas-text","keywords":[],"version":"7.4.3","description":"Canvas mixin for the text package","sanitized_name":"@pixi/canvas-text","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:58.109Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-text"}},"score":{"final":49.33021,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":498085,"weekly":123346},"dependents":"12","updated":"2026-07-20T05:23:21.764Z","searchScore":49.20246,"package":{"name":"@stylistic/eslint-plugin-plus","keywords":[],"version":"4.4.1","description":"Supplementary rules introduced by ESLint Stylistic.","sanitized_name":"@stylistic/eslint-plugin-plus","publisher":{"email":"npm-eslint-stylistic@antfu.me","username":"eslint-stylistic-bot"},"maintainers":[{"email":"npm-eslint-stylistic@antfu.me","username":"eslint-stylistic-bot"}],"license":"MIT","date":"2025-06-04T05:15:06.430Z","links":{"homepage":"https://github.com/eslint-stylistic/eslint-stylistic#readme","repository":"git+https://github.com/eslint-stylistic/eslint-stylistic.git","bugs":"https://github.com/eslint-stylistic/eslint-stylistic/issues","npm":"https://www.npmjs.com/package/@stylistic/eslint-plugin-plus"}},"score":{"final":49.20246,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":103769,"weekly":23881},"dependents":"1","updated":"2026-07-20T05:27:55.664Z","searchScore":49.158813,"package":{"name":"jest-webgl-canvas-mock","keywords":["mock","jest","jest-mock","echarts","canvas","test","unit","stub","webgl","pixi","pixi.js","pixijs"],"version":"2.5.3","description":"Mock both 2D and WebGL contexts in Jest.","sanitized_name":"jest-webgl-canvas-mock","publisher":{"email":"adamfsk@gmail.com","username":"adamfsk"},"maintainers":[{"email":"adamfsk@gmail.com","username":"adamfsk"}],"license":"MIT","date":"2023-10-30T16:09:56.046Z","links":{"homepage":"https://github.com/adamfsk/jest-webgl-canvas-mock#readme","repository":"git+https://github.com/adamfsk/jest-webgl-canvas-mock.git","bugs":"https://github.com/adamfsk/jest-webgl-canvas-mock/issues","npm":"https://www.npmjs.com/package/jest-webgl-canvas-mock"}},"score":{"final":49.158813,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":217070,"weekly":55826},"dependents":"6","updated":"2026-07-20T05:22:56.248Z","searchScore":49.098484,"package":{"name":"@pixi/canvas-prepare","keywords":[],"version":"7.4.3","description":"Canvas mixin for the prepare package","sanitized_name":"@pixi/canvas-prepare","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:48.656Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-prepare"}},"score":{"final":49.098484,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":395517,"weekly":99391},"dependents":"1","updated":"2026-07-20T05:27:54.444Z","searchScore":48.88603,"package":{"name":"@expo-google-fonts/plus-jakarta-sans","keywords":[],"version":"0.4.2","description":"Use the Plus Jakarta Sans font family from Google Fonts in your Expo app","sanitized_name":"@expo-google-fonts/plus-jakarta-sans","publisher":{"email":"hellokadi@gmail.com","username":"kadikraman"},"maintainers":[{"email":"brentvatne@gmail.com","username":"brentvatne"},{"email":"ccheever@gmail.com","username":"ccheever"},{"email":"hellokadi@gmail.com","username":"kadikraman"},{"email":"kontakt@jakubgrzywacz.pl","username":"jake7"}],"license":"MIT AND OFL-1.1","date":"2025-09-11T15:50:17.978Z","links":{"homepage":"https://github.com/expo/google-fonts/tree/master/font-packages/plus-jakarta-sans#readme","repository":"git+https://github.com/expo/google-fonts.git","bugs":"https://github.com/expo/google-fonts/issues","npm":"https://www.npmjs.com/package/@expo-google-fonts/plus-jakarta-sans"}},"score":{"final":48.88603,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":8365,"weekly":989},"dependents":0,"updated":"2026-07-18T04:16:09.652Z","searchScore":48.83648,"package":{"name":"@whfzgyx/ojo-canvas-sdk","keywords":[],"version":"0.3.18","description":"Pure OJO Canvas browser SDK.","sanitized_name":"@whfzgyx/ojo-canvas-sdk","publisher":{"email":"whfzgyx@gmail.com","username":"whfzgyx"},"maintainers":[{"email":"whfzgyx@gmail.com","username":"whfzgyx"}],"date":"2026-07-11T04:10:55.135Z","links":{"npm":"https://www.npmjs.com/package/@whfzgyx/ojo-canvas-sdk"}},"score":{"final":48.83648,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":226687,"weekly":55656},"dependents":"4","updated":"2026-07-20T05:24:54.007Z","searchScore":48.7228,"package":{"name":"@pixi/canvas-sprite-tiling","keywords":[],"version":"7.4.3","description":"Canvas mixin for the sprite-tiling package","sanitized_name":"@pixi/canvas-sprite-tiling","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:55.828Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-sprite-tiling"}},"score":{"final":48.7228,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2349148,"weekly":564511},"dependents":"2","updated":"2026-07-20T05:25:15.112Z","searchScore":48.388348,"package":{"name":"@svgdotjs/svg.select.js","keywords":["svg.js","select","mouse"],"version":"4.0.3","description":"An extension of svg.js which allows to select elements with mouse","sanitized_name":"@svgdotjs/svg-select-js","publisher":{"email":"ulima.ums@googlemail.com","username":"fuzzyma"},"maintainers":[{"email":"ulima.ums@googlemail.com","username":"fuzzyma"},{"email":"wout@mick-wout.com","username":"wout"}],"license":"MIT","date":"2025-05-06T14:30:15.461Z","links":{"homepage":"https://github.com/svgdotjs/svg.select.js","repository":"git+https://github.com/svgdotjs/svg.select.js.git","bugs":"https://github.com/svgdotjs/svg.select.js/issues","npm":"https://www.npmjs.com/package/@svgdotjs/svg.select.js"}},"score":{"final":48.388348,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":269658,"weekly":60585},"dependents":"1","updated":"2026-07-20T05:23:27.547Z","searchScore":48.350456,"package":{"name":"@antv/g-plugin-canvas-renderer","keywords":["antv","g"],"version":"2.5.1","description":"A G plugin of renderer implementation with Canvas2D API","sanitized_name":"@antv/g-plugin-canvas-renderer","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"}],"license":"MIT","date":"2025-12-12T03:33:45.734Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g-plugin-canvas-renderer"}},"score":{"final":48.350456,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":23274813,"weekly":5620487},"dependents":"131","updated":"2026-07-20T05:24:00.942Z","searchScore":48.200584,"package":{"name":"blob-util","keywords":["blob","blobs","binary","util","utils"],"version":"2.0.2","description":"Utilities for working with Blob objects in the browser","sanitized_name":"blob-util","publisher":{"email":"nolan@nolanlawson.com","username":"nolanlawson"},"maintainers":[{"email":"nolan@nolanlawson.com","username":"nolanlawson"}],"license":"Apache-2.0","date":"2018-05-21T22:35:20.301Z","links":{"homepage":"https://github.com/nolanlawson/blob-util#readme","repository":"git://github.com/nolanlawson/blob-util.git","bugs":"https://github.com/nolanlawson/blob-util/issues","npm":"https://www.npmjs.com/package/blob-util"}},"score":{"final":48.200584,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":116632,"weekly":32379},"dependents":"12","updated":"2026-07-20T08:35:59.306Z","searchScore":48.03506,"package":{"name":"@esotericsoftware/spine-canvas","keywords":["gamedev","animations","2d","spine","game-dev","runtimes","skeletal"],"version":"4.3.11","description":"The official Spine Runtimes for the web.","sanitized_name":"@esotericsoftware/spine-canvas","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"daaaaa","type":"user","email":"iamdjj@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:6917eb2a-cac0-4ba8-b29f-72f75fd190da","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"mario@badlogicgames.com","username":"badlogic"},{"email":"nate@n4te.com","username":"nathansweet"},{"email":"iamdjj@gmail.com","username":"daaaaa"}],"license":"LicenseRef-LICENSE","date":"2026-07-20T08:35:28.208Z","links":{"homepage":"https://github.com/esotericsoftware/spine-runtimes#readme","repository":"git+https://github.com/EsotericSoftware/spine-runtimes.git","bugs":"https://github.com/esotericsoftware/spine-runtimes/issues","npm":"https://www.npmjs.com/package/@esotericsoftware/spine-canvas"}},"score":{"final":48.03506,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":293105,"weekly":10780},"dependents":0,"updated":"2026-07-20T13:18:07.273Z","searchScore":47.99731,"package":{"name":"cdk8s-plus-34","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.0.41","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-34 synthesizes Kubernetes manifests for Kubernetes 1.34.0","sanitized_name":"cdk8s-plus-34","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:46721a83-b8d5-4225-bba7-c29d04cc8c39","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2026-07-20T13:17:36.351Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-34"}},"score":{"final":47.99731,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":434239,"weekly":122836},"dependents":"63","updated":"2026-07-20T05:23:23.794Z","searchScore":47.906673,"package":{"name":"rasterizehtml","keywords":["canvas","HTML"],"version":"1.4.1","description":"Renders HTML into the browser's canvas.","sanitized_name":"rasterizehtml","publisher":{"email":"christoph.burgmer@gmail.com","username":"cburgmer"},"maintainers":[{"email":"christoph.burgmer@gmail.com","username":"cburgmer"}],"license":"MIT","date":"2026-01-14T17:21:24.549Z","links":{"homepage":"http://www.github.com/cburgmer/rasterizeHTML.js","repository":"git://github.com/cburgmer/rasterizeHTML.js.git","bugs":"https://github.com/cburgmer/rasterizeHTML.js/issues","npm":"https://www.npmjs.com/package/rasterizehtml"}},"score":{"final":47.906673,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":277152,"weekly":78947},"dependents":"3","updated":"2026-07-20T12:52:23.544Z","searchScore":47.669994,"package":{"name":"cdk8s-plus-33","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.5.40","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-33 synthesizes Kubernetes manifests for Kubernetes 1.33.0","sanitized_name":"cdk8s-plus-33","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:4e601bb4-59e9-4c8f-b2ef-e12c15a8f00f","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2026-07-20T12:51:52.330Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-33"}},"score":{"final":47.669994,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":63528,"weekly":24941},"dependents":"62","updated":"2026-07-20T13:10:23.887Z","searchScore":47.62514,"package":{"name":"@uniformdev/canvas","keywords":[],"version":"20.72.2","description":"Common functionality and types for Uniform Canvas","sanitized_name":"@uniformdev/canvas","publisher":{"email":"antesepic@protonmail.com","actor":{"name":"ilyasmez","type":"user","email":"ilyas@amezouar.com"},"username":"originalexe"},"maintainers":[{"email":"alexs@uniform.dev","username":"drolexan"},{"email":"alen.pelin@gmail.com","username":"alenpelin"},{"email":"kamsar@gmail.com","username":"kamsar"},{"email":"adaml@uniform.dev","username":"adamluniform"},{"email":"antesepic@protonmail.com","username":"originalexe"},{"email":"artemm@uniform.dev","username":"m1r1k"},{"email":"jakube@uniform.dev","username":"jakub-uniform"},{"email":"serhiio@uniform.dev","username":"serhiiouniformdev"}],"license":"SEE LICENSE IN LICENSE.txt","date":"2026-07-16T17:18:09.890Z","links":{"npm":"https://www.npmjs.com/package/@uniformdev/canvas"}},"score":{"final":47.62514,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":16667815,"weekly":4414456},"dependents":"61","updated":"2026-07-20T05:24:16.715Z","searchScore":47.34909,"package":{"name":"@react-pdf/primitives","keywords":[],"version":"4.3.0","description":"Define uninitialized elements","sanitized_name":"@react-pdf/primitives","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:8056fe88-3179-4620-ae91-41abaf221bf2","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"diegomuracciole@gmail.com","username":"diegomura"}],"license":"MIT","date":"2026-04-15T00:09:09.928Z","links":{"homepage":"https://github.com/diegomura/react-pdf#readme","repository":"git+https://github.com/diegomura/react-pdf.git","bugs":"https://github.com/diegomura/react-pdf/issues","npm":"https://www.npmjs.com/package/@react-pdf/primitives"}},"score":{"final":47.34909,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":74429,"weekly":17510},"dependents":"1","updated":"2026-07-20T05:22:30.073Z","searchScore":47.16919,"package":{"name":"@applitools/jsdom","keywords":["dom","html","whatwg","w3c"],"version":"1.0.4","description":"jsdom without canvas 19.0.0","sanitized_name":"@applitools/jsdom","publisher":{"email":"amit.zur@applitools.com","username":"amitzur-applitools"},"maintainers":[{"email":"daniel.puterman@applitools.com","username":"danielputerman"},{"email":"gil.akrish@applitools.com","username":"gearm"},{"email":"amit.rokach@applitools.com","username":"amit.rokach"},{"email":"roy.sela@applitools.com","username":"roy.sela"},{"email":"team@applitools.com","username":"applitools-admin"},{"email":"gil.tayar@applitools.com","username":"applitools-readonly"},{"email":"itamar.asis@applitools.com","username":"iasisapp"},{"email":"noam.mendel@applitools.com","username":"noam.mendel"},{"email":"arik.maor@applitools.com","username":"arik-applitools"},{"email":"yotammadem@gmail.com","username":"yotammadem"},{"email":"denis.styrt@applitools.com","username":"denis.styrt"},{"email":"kyrylo.onufriiev@applitools.com","username":"kyrylo.onufriiev"},{"email":"ormeird@gmail.com","username":"ormeda"},{"email":"klemobari@gmail.com","username":"clementbarry"},{"email":"ido.elmaleh@applitools.com","username":"idosapplitools"},{"email":"kjhgfdsa100@gmail.com","username":"gofilord"},{"email":"Alex.burdeynyy@applitools.com","username":"alex.burdeynyy"},{"email":"roni.karilkar@applitools.com","username":"ronikar_applitools"},{"email":"benny.halberstadt@applitools.com","username":"benny.halberstadt"},{"email":"kalous.michal@gmail.com","username":"grayscale64"},{"email":"fatih.solhan@applitools.com","username":"fatihsolhan-applitools"},{"email":"itai.zeitak@applitools.com","username":"itaiz134"},{"email":"eranbarlev@outlook.com","username":"dockermaster"},{"email":"abagmar@gmail.com","username":"anandbagmar"},{"email":"itay.tamir@applitools.com","username":"itaytamir-at"},{"email":"sergii.ovchynnyk@applitools.com","username":"sergovapplitools"},{"email":"serhii.khalymon@applitools.com","username":"fluxomni.io"},{"email":"moshe.milman@applitools.com","username":"mmilapp"},{"email":"noam.gaash@applitools.com","username":"noam.gaash"},{"email":"roee.fridman@applitools.com","username":"roeefr"},{"email":"anastasia.koifman@applitools.com","username":"anastasia.koifman"},{"email":"artem.borodavka@applitools.com","username":"aretm_borodavka"},{"email":"yonit.tsairi@applitools.com","username":"yonittzairilevy"},{"email":"anand.sundaram@applitools.com","username":"asundaram-applitools"},{"email":"amir.groisman@applitools.com","username":"amir.groisman"},{"email":"eitan.masuary@applitools.com","username":"emasuary"},{"email":"naama.shoham@applitools.com","username":"naama.shoham"},{"email":"carmiadam@gmail.com","username":"adamcarmi"},{"email":"muly.gottlieb@applitools.com","username":"mulygottlieb"},{"email":"yoav.naveh@applitools.com","username":"yoavnaveh-applitools"},{"email":"chaim.aharonson@applitools.com","username":"chaimaharonson"},{"email":"doron.movshovitz@applitools.com","username":"movsho"},{"email":"netta.bondy@applitools.com","username":"netta.bondy"},{"email":"shir.binshtok@applitools.com","username":"shirbin"},{"email":"ran.hadar@applitools.com","username":"ranhadar"},{"email":"dmitrii.grechukha@applitools.com","username":"dmytro-h"},{"email":"rostyslav.pidburachynskyi@applitools.com","username":"rostyslav.pidburachynskyi.applitools"},{"email":"tal.weinstein@applitools.com","username":"taltool"}],"license":"MIT","date":"2021-12-16T09:55:55.249Z","links":{"repository":"https://github.com/jsdom/jsdom.git","npm":"https://www.npmjs.com/package/@applitools/jsdom"}},"score":{"final":47.16919,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":184727,"weekly":56176},"dependents":"12","updated":"2026-07-20T05:26:22.627Z","searchScore":47.020393,"package":{"name":"@tailwindplus/elements","keywords":[],"version":"1.0.22","description":"<img src=\"https://assets.tailwindcss.com/tailwind-plus-elements/hero.png\" />","sanitized_name":"@tailwindplus/elements","publisher":{"actor":{"name":"philipp-spiess","type":"user","email":"hello@philippspiess.com"},"email":"hello@philippspiess.com","username":"philipp-spiess"},"maintainers":[{"email":"malfait.robin@gmail.com","username":"malfaitrobin"},{"email":"jonathan@reinink.ca","username":"reinink"},{"email":"adam@adamwathan.me","username":"adamwathan"}],"license":"SEE LICENSE IN LICENSE.md","date":"2026-01-05T12:08:33.447Z","links":{"npm":"https://www.npmjs.com/package/@tailwindplus/elements"}},"score":{"final":47.020393,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":284109,"weekly":72347},"dependents":"17","updated":"2026-07-20T05:27:30.722Z","searchScore":47.01899,"package":{"name":"drawille-canvas-blessed-contrib","keywords":["drawille","canvas"],"version":"0.1.3","description":"HTML5 Canvas API for drawille","sanitized_name":"drawille-canvas-blessed-contrib","publisher":{"email":"yaronn01@gmail.com","username":"yaron"},"maintainers":[{"email":"yaronn01@gmail.com","username":"yaron"}],"license":"MIT","date":"2016-02-27T23:22:52.218Z","links":{"homepage":"https://github.com/madbence/node-drawille-canvas","repository":"git://github.com/madbence/node-drawille-canvas.git","bugs":"https://github.com/madbence/node-drawille-canvas/issues","npm":"https://www.npmjs.com/package/drawille-canvas-blessed-contrib"}},"score":{"final":47.01899,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":250122,"weekly":60291},"dependents":"46","updated":"2026-07-20T05:23:14.722Z","searchScore":46.96901,"package":{"name":"json-file-plus","keywords":["json","json file","formatting","read","write","promise"],"version":"4.0.1","description":"[![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im","sanitized_name":"json-file-plus","publisher":{"email":"ljharb@gmail.com","username":"ljharb"},"maintainers":[{"email":"ljharb@gmail.com","username":"ljharb"}],"license":"MIT","date":"2025-12-18T06:35:32.113Z","links":{"homepage":"https://github.com/ljharb/json-file-plus#readme","repository":"git://github.com/ljharb/json-file-plus.git","bugs":"https://github.com/ljharb/json-file-plus/issues","npm":"https://www.npmjs.com/package/json-file-plus"}},"score":{"final":46.96901,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":280448,"weekly":90929},"dependents":0,"updated":"2026-07-20T05:23:56.751Z","searchScore":46.777214,"package":{"name":"@voidzero-dev/vite-plus-linux-arm64-gnu","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-linux-arm64-gnu","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:782fe9f2-8878-44a1-90bb-2f17495bbe5a","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:19:46.948Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-linux-arm64-gnu"}},"score":{"final":46.777214,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":479155,"weekly":126927},"dependents":"13","updated":"2026-07-20T05:23:20.051Z","searchScore":46.764328,"package":{"name":"pixelsmith","keywords":["spritesmith","image","spritesmith-engine"],"version":"2.6.0","description":"Node based engine for spritesmith","sanitized_name":"pixelsmith","publisher":{"email":"todd@twolfson.com","username":"twolfson"},"maintainers":[{"email":"todd@twolfson.com","username":"twolfson"}],"date":"2022-04-14T07:56:57.694Z","links":{"homepage":"https://github.com/twolfson/pixelsmith","repository":"git://github.com/twolfson/pixelsmith.git","bugs":"https://github.com/twolfson/pixelsmith/issues","npm":"https://www.npmjs.com/package/pixelsmith"}},"score":{"final":46.764328,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1217044,"weekly":322499},"dependents":"33","updated":"2026-07-20T05:22:35.387Z","searchScore":46.66835,"package":{"name":"tldraw","keywords":["tldraw","sdk","drawing","app","development","whiteboard","canvas","infinite"],"version":"5.2.5","description":"A tiny little drawing editor.","sanitized_name":"tldraw","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"tldraw-personal","type":"user","email":"steve@tldraw.com"},"trustedPublisher":{"oidcConfigId":"oidc:b35f48e4-fafc-4f8e-a4c5-5ec6a4b27d49","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"steve@tldraw.com","username":"tldraw-personal"},{"email":"steveruizok@gmail.com","username":"steveruizok"},{"email":"mime@tldraw.com","username":"mimetldraw"},{"email":"mitja@tldraw.com","username":"mitjatldraw"},{"email":"accounts@tldraw.com","username":"siobhantldraw"}],"license":"SEE LICENSE IN LICENSE.md","date":"2026-07-15T23:13:19.549Z","links":{"homepage":"https://tldraw.dev","repository":"https://github.com/tldraw/tldraw","bugs":"https://github.com/tldraw/tldraw/issues","npm":"https://www.npmjs.com/package/tldraw"}},"score":{"final":46.66835,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":283787,"weekly":67855},"dependents":"29","updated":"2026-07-20T05:25:22.069Z","searchScore":46.591995,"package":{"name":"grid-layout-plus","keywords":["flex","components","vue","vexip","plugin","toolkit","vite","layout","grid-layout","vue-grid-layout"],"version":"1.1.1","description":"<p align=\"center\">   <a href=\"https://grid-layout-plus.netlify.app/\" target=\"_blank\" rel=\"noopener noreferrer\">     <img src=\"./docs/public/grid-layout-plus.svg\" width=\"180\" style=\"width: 120px;\" />   </a> </p>","sanitized_name":"grid-layout-plus","publisher":{"email":"rkzhang9595@gmail.com","username":"qmhc"},"maintainers":[{"email":"rkzhang9595@gmail.com","username":"qmhc"}],"license":"MIT","date":"2025-10-13T02:42:42.281Z","links":{"npm":"https://www.npmjs.com/package/grid-layout-plus"}},"score":{"final":46.591995,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":200009,"weekly":51552},"dependents":"4","updated":"2026-07-20T05:24:04.152Z","searchScore":46.390217,"package":{"name":"@pixi/canvas-particle-container","keywords":[],"version":"7.4.3","description":"Canvas mixin for the particles package","sanitized_name":"@pixi/canvas-particle-container","publisher":{"email":"matt@mattkarl.com","username":"bigtimebuddy"},"maintainers":[{"email":"matt@mattkarl.com","username":"bigtimebuddy"},{"email":"sean-burns@outlook.com","username":"zyie"}],"license":"MIT","date":"2025-03-06T15:00:46.598Z","links":{"homepage":"http://pixijs.com/","repository":"git+https://github.com/pixijs/pixijs.git","bugs":"https://github.com/pixijs/pixijs/issues","npm":"https://www.npmjs.com/package/@pixi/canvas-particle-container"}},"score":{"final":46.390217,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":252181,"weekly":55425},"dependents":"74","updated":"2026-07-20T05:22:37.032Z","searchScore":45.978184,"package":{"name":"resemblejs","keywords":["comparison","visual","image","diff","compare","html5"],"version":"5.0.0","description":"Image analysis and comparison with HTML5","sanitized_name":"resemblejs","publisher":{"email":"jamescryer.hire@gmail.com","username":"jamescryer"},"maintainers":[{"email":"opensource@huddle.com","username":"huddleoss"},{"email":"gjpyzer@gmail.com","username":"gidztech"},{"email":"jamescryer.hire@gmail.com","username":"jamescryer"}],"license":"MIT","date":"2023-06-06T21:17:38.781Z","links":{"homepage":"https://github.com/rsmbl/Resemble.js","repository":"git+https://github.com/rsmbl/Resemble.js.git","bugs":"https://github.com/rsmbl/Resemble.js/issues","npm":"https://www.npmjs.com/package/resemblejs"}},"score":{"final":45.978184,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2989639,"weekly":649141},"dependents":"25","updated":"2026-07-20T05:23:23.526Z","searchScore":45.854534,"package":{"name":"world-calendars","keywords":["calendar","date","international"],"version":"1.0.4","description":"Convert between various world calendars","sanitized_name":"world-calendars","publisher":{"email":"arch.mojtaba.samimi@gmail.com","username":"archmoj"},"maintainers":[{"email":"chris@plot.ly","username":"chriddyp"},{"email":"post.ben.here@gmail.com","username":"bpostlethwaite"},{"email":"antoine@plot.ly","username":"antrg"},{"email":"hammadtheone@gmail.com","username":"hammadtheone"},{"email":"chuck@plot.ly","username":"bronsolo"},{"email":"t4rk@outlook.com","username":"t4rk"},{"email":"alexshoe@gmail.com","username":"alexshoe"},{"email":"liam@plotly.com","username":"lconnors"},{"email":"nathan@drezner.xyz","username":"ndrezner"},{"email":"mario.rodriguez@plot.ly","username":"farkites"},{"email":"alex@plot.ly","username":"alexcjohnson"},{"email":"emily@plot.ly","username":"emilykl-plotly"},{"email":"martha.cryan326@gmail.com","username":"marthacryan"},{"email":"packages@plot.ly","username":"packages-team-plotly"}],"license":"MIT","date":"2025-07-11T16:30:18.060Z","links":{"homepage":"https://github.com/plotly/world-calendars#readme","repository":"git+https://github.com/plotly/world-calendars.git","bugs":"https://github.com/plotly/world-calendars/issues","npm":"https://www.npmjs.com/package/world-calendars"}},"score":{"final":45.854534,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":188539,"weekly":44184},"dependents":"2","updated":"2026-07-20T05:23:49.765Z","searchScore":45.73269,"package":{"name":"cdk8s-plus-28","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.5.6","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-28 synthesizes Kubernetes manifests for Kubernetes 1.28.0","sanitized_name":"cdk8s-plus-28","publisher":{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2024-09-10T07:50:20.844Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-28"}},"score":{"final":45.73269,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":156725,"weekly":36433},"dependents":"54","updated":"2026-07-20T05:22:54.991Z","searchScore":45.65954,"package":{"name":"unplugin-element-plus","keywords":["element-plus","unplugin","vite","webpack","rollup","esbuild","plugin"],"version":"0.11.2","description":"Import Element Plus on demand. Support Vite, Webpack, Vue CLI, Rollup and esbuild.","sanitized_name":"unplugin-element-plus","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:5df40243-89bf-4a7a-a22c-727e96878ab3","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"jeremy577@icloud.com","username":"jeremywuuuuu"}],"license":"MIT","date":"2025-12-15T18:35:58.294Z","links":{"homepage":"https://github.com/element-plus/unplugin-element-plus/tree/main/#readme","repository":"git+https://github.com/element-plus/unplugin-element-plus.git","bugs":"https://github.com/element-plus/unplugin-element-plus/issues","npm":"https://www.npmjs.com/package/unplugin-element-plus"}},"score":{"final":45.65954,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2802503,"weekly":686617},"dependents":"38","updated":"2026-07-20T05:27:11.326Z","searchScore":45.61637,"package":{"name":"webgl-context","keywords":["webgl","glsl","context","glcontext","gl","webglrenderingcontext","webglcontext"],"version":"2.2.0","description":"gets a WebGLRenderingContext","sanitized_name":"webgl-context","publisher":{"email":"dave.des@gmail.com","username":"mattdesl"},"maintainers":[{"email":"dave.des@gmail.com","username":"mattdesl"}],"license":"MIT","date":"2015-06-11T17:59:49.318Z","links":{"homepage":"https://github.com/mattdesl/webgl-context","repository":"git://github.com/mattdesl/webgl-context.git","bugs":"https://github.com/mattdesl/webgl-context/issues","npm":"https://www.npmjs.com/package/webgl-context"}},"score":{"final":45.61637,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":305822,"weekly":96413},"dependents":"0","updated":"2026-07-20T05:24:13.918Z","searchScore":45.410744,"package":{"name":"@types/canvas-size","keywords":[],"version":"1.2.2","description":"TypeScript definitions for canvas-size","sanitized_name":"@types/canvas-size","publisher":{"email":"ts-npm-types@microsoft.com","username":"types"},"maintainers":[{"email":"ts-npm-types@microsoft.com","username":"types"}],"license":"MIT","date":"2023-11-07T00:18:28.989Z","links":{"homepage":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/canvas-size","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","npm":"https://www.npmjs.com/package/@types/canvas-size"}},"score":{"final":45.410744,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":143767,"weekly":42872},"dependents":"2","updated":"2026-07-20T13:16:04.264Z","searchScore":45.227978,"package":{"name":"cdk8s-plus-32","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.5.84","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-32 synthesizes Kubernetes manifests for Kubernetes 1.32.0","sanitized_name":"cdk8s-plus-32","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"cdk8s-team","type":"user","email":"cdk8s-team@amazon.com"},"trustedPublisher":{"oidcConfigId":"oidc:770159bd-732e-490b-8299-17e455a74a36","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2026-07-20T13:15:33.084Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-32"}},"score":{"final":45.227978,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":256917,"weekly":67631},"dependents":"60","updated":"2026-07-20T05:25:21.663Z","searchScore":45.189144,"package":{"name":"type-plus","keywords":["assert","test","testing","type-check","type","types","typescript","typings","utils"],"version":"7.6.2","description":"Provides additional types for TypeScript.","sanitized_name":"type-plus","publisher":{"email":"homawong@gmail.com","username":"unional"},"maintainers":[{"email":"homawong@gmail.com","username":"unional"}],"license":"MIT","date":"2024-03-10T22:38:50.231Z","links":{"homepage":"https://github.com/unional/type-plus/tree/main/type-plus#readme","repository":"git+https://github.com/unional/type-plus.git","bugs":"https://github.com/unional/type-plus/issues","npm":"https://www.npmjs.com/package/type-plus"}},"score":{"final":45.189144,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":33889,"weekly":6839},"dependents":"11","updated":"2026-07-18T09:00:49.705Z","searchScore":45.057484,"package":{"name":"canvas-datagrid","keywords":["data","datagrid","grid","data-grid","data-table","table","datatable","component"],"version":"0.4.7","description":"Canvas based data grid web component. Capable of displaying millions of contiguous hierarchical rows and columns without paging or loading, on a single canvas element.","sanitized_name":"canvas-datagrid","publisher":{"email":"Tony.Germaneri@gmail.com","username":"tgermaneri"},"maintainers":[{"email":"Tony.Germaneri@gmail.com","username":"tgermaneri"}],"license":"BSD-3-Clause","date":"2023-12-29T23:23:10.513Z","links":{"homepage":"https://canvas-datagrid.js.org/","repository":"git+https://github.com/TonyGermaneri/canvas-datagrid.git","bugs":"https://github.com/TonyGermaneri/canvas-datagrid/issues","npm":"https://www.npmjs.com/package/canvas-datagrid"}},"score":{"final":45.057484,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":83585,"weekly":20462},"dependents":"30","updated":"2026-07-20T05:23:57.692Z","searchScore":44.9318,"package":{"name":"canvas-flatten","keywords":["flatten","transparency","canvas"],"version":"1.0.1","description":"Flatten canvas image data with transparency on a solid background","sanitized_name":"canvas-flatten","publisher":{"email":"niels@leenheer.nl","username":"nielsleenheer"},"maintainers":[{"email":"niels@leenheer.nl","username":"nielsleenheer"}],"license":"MIT","date":"2020-08-17T19:25:21.197Z","links":{"homepage":"https://github.com/NielsLeenheer/CanvasFlatten#readme","repository":"git+https://github.com/NielsLeenheer/CanvasFlatten.git","bugs":"https://github.com/NielsLeenheer/CanvasFlatten/issues","npm":"https://www.npmjs.com/package/canvas-flatten"}},"score":{"final":44.9318,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":25905,"weekly":6146},"dependents":"34","updated":"2026-07-18T09:00:31.137Z","searchScore":44.745373,"package":{"name":"@file-viewer/core","keywords":["file-viewer","document-preview","typescript","core","document-viewer","file-preview","self-hosted","browser","wasm","office-viewer","pdf-viewer"],"version":"2.2.2","description":"Framework-neutral modular TypeScript core for Flyfish File Viewer renderer orchestration, lifecycle APIs, search, zoom, print, and export","sanitized_name":"@file-viewer/core","publisher":{"email":"wybaby168@gmail.com","username":"wybaby168"},"maintainers":[{"email":"wybaby168@gmail.com","username":"wybaby168"}],"license":"Apache-2.0","date":"2026-07-17T23:41:52.253Z","links":{"homepage":"https://doc.file-viewer.app/","repository":"git+https://github.com/flyfish-dev/file-viewer-core.git","bugs":"https://github.com/flyfish-dev/file-viewer-core/issues","npm":"https://www.npmjs.com/package/@file-viewer/core"}},"score":{"final":44.745373,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":140531,"weekly":48906},"dependents":"2","updated":"2026-07-20T05:24:51.561Z","searchScore":44.68916,"package":{"name":"cdk8s-plus-25","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.22.79","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-25 synthesizes Kubernetes manifests for Kubernetes 1.25.0","sanitized_name":"cdk8s-plus-25","publisher":{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2024-02-22T14:56:01.835Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-25"}},"score":{"final":44.68916,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":125714,"weekly":28775},"dependents":0,"updated":"2026-07-20T05:23:39.017Z","searchScore":44.68554,"package":{"name":"@voidzero-dev/vite-plus-darwin-arm64","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-darwin-arm64","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:794c2822-00b3-4e6a-a354-53945fa4ad97","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:19:32.620Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-darwin-arm64"}},"score":{"final":44.68554,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":38288,"weekly":9186},"dependents":"20","updated":"2026-07-18T09:04:11.254Z","searchScore":44.684784,"package":{"name":"react-native-canvas","keywords":[],"version":"0.1.40","description":"A Canvas component for React Native","sanitized_name":"react-native-canvas","publisher":{"email":"mail@aniddan.com","username":"iddan"},"maintainers":[{"email":"mail@aniddan.com","username":"iddan"}],"license":"MIT","date":"2024-06-02T10:21:56.140Z","links":{"homepage":"https://github.com/iddan/react-native-canvas#readme","repository":"git+https://github.com/iddan/react-native-canvas.git","bugs":"https://github.com/iddan/react-native-canvas/issues","npm":"https://www.npmjs.com/package/react-native-canvas"}},"score":{"final":44.684784,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":210779,"weekly":64745},"dependents":"1","updated":"2026-07-20T05:28:23.132Z","searchScore":44.596172,"package":{"name":"@enonic/fnv-plus","keywords":["id","unique","hash","checksum","fnv","fnv1a","signature","uniqueness","bloom","filter"],"version":"1.3.0","description":"Javascript FNV-1a Hashing Algorithm up to 1024 bits, with highly optimized 32bit and 52bit implementations.","sanitized_name":"@enonic/fnv-plus","publisher":{"email":"cwe@enonic.com","username":"cwe_at_enonic.com"},"maintainers":[{"email":"tsi@enonic.com","username":"sigdestad"},{"email":"alan.semenov@gmail.com","username":"alansemenov"},{"email":"edloidas@gmail.com","username":"edloidas"},{"email":"pmi@enonic.com","username":"pmi"}],"license":"MIT","date":"2019-06-17T15:14:07.539Z","links":{"homepage":"https://github.com/tjwebb/fnv-plus#readme","repository":"git+https://github.com/tjwebb/fnv-plus.git","bugs":"https://github.com/tjwebb/fnv-plus/issues","npm":"https://www.npmjs.com/package/@enonic/fnv-plus"}},"score":{"final":44.596172,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":71113,"weekly":24121},"dependents":"2","updated":"2026-07-20T05:28:17.505Z","searchScore":44.53179,"package":{"name":"vitest-webgl-canvas-mock","keywords":["mock","vitest","vitest-mock","echarts","canvas","test","unit","stub","webgl","pixi","pixi.js","pixijs"],"version":"1.1.0","description":"Mock both 2D and WebGL contexts in Vitest.","sanitized_name":"vitest-webgl-canvas-mock","publisher":{"email":"sam@webcreative5.net","username":"webcreative5"},"maintainers":[{"email":"sam@webcreative5.net","username":"webcreative5"}],"license":"MIT","date":"2023-03-28T14:02:44.502Z","links":{"homepage":"https://github.com/RSamaium/vitest-webgl-canvas-mock#readme","repository":"git+https://github.com/RSamaium/vitest-webgl-canvas-mock.git","bugs":"https://github.com/RSamaium/vitest-webgl-canvas-mock/issues","npm":"https://www.npmjs.com/package/vitest-webgl-canvas-mock"}},"score":{"final":44.53179,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":648515,"weekly":183105},"dependents":"17","updated":"2026-07-20T05:23:48.911Z","searchScore":44.46264,"package":{"name":"us-atlas","keywords":["topojson","geojson","shapefile"],"version":"3.0.1","description":"Pre-built TopoJSON from the U.S. Census Bureau.","sanitized_name":"us-atlas","publisher":{"email":"mike@ocks.org","username":"mbostock"},"maintainers":[{"email":"mike@ocks.org","username":"mbostock"}],"license":"ISC","date":"2023-04-19T03:13:38.541Z","links":{"homepage":"https://github.com/topojson/us-atlas#readme","repository":"git+https://github.com/topojson/us-atlas.git","bugs":"https://github.com/topojson/us-atlas/issues","npm":"https://www.npmjs.com/package/us-atlas"}},"score":{"final":44.46264,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1304,"weekly":1304},"dependents":0,"updated":"2026-07-18T03:05:52.362Z","searchScore":44.36162,"package":{"name":"vue-watermark-plus","keywords":["vue","watermark","directive","水印","canvas","svg","Vue水印插件","防篡改水印","自定义指令水印"],"version":"1.7.5","description":"基于 Vue2/Vue3 强力水印插件✨，支持Canvas/SVG双渲染模式🎨，内置防篡改机制📝，采用自定义指令无侵入式设计，为你的页面内容加上隐形安全锁🛡️🛡️🛡️。","sanitized_name":"vue-watermark-plus","publisher":{"email":"slm_130968@163.com","username":"lebron_shi"},"maintainers":[{"email":"slm_130968@163.com","username":"lebron_shi"}],"license":"MIT","date":"2026-07-18T03:05:21.543Z","links":{"homepage":"https://github.com/shilimingY/vue-watermark-plus#readme","repository":"git+https://github.com/shilimingY/vue-watermark-plus.git","bugs":"https://github.com/shilimingY/vue-watermark-plus/issues","npm":"https://www.npmjs.com/package/vue-watermark-plus"}},"score":{"final":44.36162,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2436456,"weekly":673327},"dependents":"3","updated":"2026-07-20T05:28:18.271Z","searchScore":44.33375,"package":{"name":"draw-svg-path","keywords":["svg","path","canvas"],"version":"2.0.1","description":"draw svg paths onto canvas contexts","sanitized_name":"draw-svg-path","publisher":{"email":"spam@michaelrhod.es","username":"michaelrhodes"},"maintainers":[{"email":"spam@michaelrhod.es","username":"michaelrhodes"}],"license":"MIT","date":"2018-01-26T06:39:34.288Z","links":{"homepage":"https://github.com/michaelrhodes/draw-svg-path#readme","repository":"git://github.com/michaelrhodes/draw-svg-path.git","bugs":"https://github.com/michaelrhodes/draw-svg-path/issues","npm":"https://www.npmjs.com/package/draw-svg-path"}},"score":{"final":44.33375,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":28550,"weekly":12812},"dependents":"4","updated":"2026-07-20T18:43:51.445Z","searchScore":44.305,"package":{"name":"@workday/canvas-kit-react","keywords":["canvas","canvas-kit","react","components","workday"],"version":"15.1.1","description":"The parent module that contains all Workday Canvas Kit React components","sanitized_name":"@workday/canvas-kit-react","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"workday-canvas-kit","type":"user","email":"canvas.kit@workday.com"},"trustedPublisher":{"oidcConfigId":"oidc:708b973e-2ea6-4d46-9fe7-a1809f26c3f9","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},{"email":"Manuel.carrera.91@gmail.com","username":"mannycarrera4"},{"email":"raisa.primerova@workday.com","username":"raisa.primerova"},{"email":"a.bax.smith@gmail.com","username":"alanbsmith"},{"email":"jaclynjessup@gmail.com","username":"jaclynjessup"},{"email":"jason@heddings.com","username":"jheddings"},{"email":"sheelah@sheelahb.com","username":"sheelah"}],"license":"Apache-2.0","date":"2026-07-15T14:18:48.865Z","links":{"homepage":"https://github.com/Workday/canvas-kit#readme","repository":"git+https://github.com/Workday/canvas-kit.git","bugs":"https://github.com/Workday/canvas-kit/issues","npm":"https://www.npmjs.com/package/@workday/canvas-kit-react"}},"score":{"final":44.305,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":62172,"weekly":15014},"dependents":"32","updated":"2026-07-20T05:22:33.395Z","searchScore":44.221077,"package":{"name":"watermark-js-plus","keywords":["watermark","canvas","水印","暗水印","盲水印","数据水印","防删除水印","解密水印"],"version":"1.6.6","description":"watermark for the browser","sanitized_name":"watermark-js-plus","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:d75e3d66-17d4-4617-863a-12d4985ad926","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"zhensherlock@126.com","username":"zhensherlock"}],"license":"MIT","date":"2026-07-14T02:48:40.545Z","links":{"homepage":"https://zhensherlock.github.io/watermark-js-plus/","repository":"git+https://github.com/zhensherlock/watermark-js-plus.git","bugs":"https://github.com/zhensherlock/watermark-js-plus/issues","npm":"https://www.npmjs.com/package/watermark-js-plus"}},"score":{"final":44.221077,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":720133,"weekly":174317},"dependents":"26","updated":"2026-07-20T05:23:02.749Z","searchScore":44.207333,"package":{"name":"pdf-to-png-converter","keywords":["pdf","pdfparse","pdf parse","pdf-parse","pdf to png","pdf to image","pdf file to image","pdf buffer to image","convert pdf to png","pdf to png converter","pdf to png cli"],"version":"4.1.1","description":"Node.js utility to convert PDF file/buffer pages to PNG files/buffers. No build-time compilation required — pre-built native binaries included for all major platforms.","sanitized_name":"pdf-to-png-converter","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"dichovsky","type":"user","email":"magdich.igor@gmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:8f86f888-7419-4b40-af8f-7f2c48b69694","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"magdich.igor@gmail.com","username":"dichovsky"}],"license":"MIT","date":"2026-06-18T23:24:54.677Z","links":{"homepage":"https://github.com/dichovsky/pdf-to-png-converter#readme","repository":"git+https://github.com/dichovsky/pdf-to-png-converter.git","bugs":"https://github.com/dichovsky/pdf-to-png-converter/issues","npm":"https://www.npmjs.com/package/pdf-to-png-converter"}},"score":{"final":44.207333,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":54937,"weekly":14767},"dependents":"1","updated":"2026-07-18T09:03:55.723Z","searchScore":43.972763,"package":{"name":"jest-canvas-mock-compare","keywords":["jest","canvas","snapshot","visual-regression"],"version":"0.1.0","description":"Jest matchers for canvas snapshots with a visual diff workflow.","sanitized_name":"jest-canvas-mock-compare","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:e111a294-1565-48e9-a22e-4d30addff80e","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"fastfrwrd@gmail.com","username":"fastfrwrd"},{"email":"galen.kistler@grafana.com","username":"gtk.grafana"}],"license":"AGPL-3.0-only","date":"2026-05-22T12:41:40.310Z","links":{"homepage":"https://github.com/grafana/jest-canvas-mock-compare#readme","repository":"git+https://github.com/grafana/jest-canvas-mock-compare.git","bugs":"https://github.com/grafana/jest-canvas-mock-compare/issues","npm":"https://www.npmjs.com/package/jest-canvas-mock-compare"}},"score":{"final":43.972763,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":106720,"weekly":28264},"dependents":0,"updated":"2026-07-20T05:26:19.878Z","searchScore":43.94944,"package":{"name":"@voidzero-dev/vite-plus-win32-x64-msvc","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-win32-x64-msvc","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:9c77560f-1d20-45b2-a6f5-698d75a9df7f","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:20:17.577Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-win32-x64-msvc"}},"score":{"final":43.94944,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":4985774,"weekly":1175902},"dependents":"228","updated":"2026-07-20T05:22:48.797Z","searchScore":43.92219,"package":{"name":"blurhash","keywords":["blurhash","blur","hash","image"],"version":"2.0.5","description":"Encoder and decoder for the Wolt BlurHash algorithm.","sanitized_name":"blurhash","publisher":{"email":"thisen-dk@hotmail.com","username":"thisen"},"maintainers":[{"email":"fotis@fpapado.com","username":"fpapado"},{"email":"velimattiluoto@gmail.com","username":"vluoto"},{"email":"thisen-dk@hotmail.com","username":"thisen"},{"email":"paracelsus@gmail.com","username":"waha.06x36"},{"email":"klaus.nygard@gmail.com","username":"nyde"},{"email":"olli.mahlamaki@gmail.com","username":"omahlama"}],"license":"MIT","date":"2023-02-17T12:15:40.323Z","links":{"homepage":"https://blurha.sh/","repository":"https://github.com/woltapp/blurhash/tree/master/TypeScript","npm":"https://www.npmjs.com/package/blurhash"}},"score":{"final":43.92219,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":307425919,"weekly":73170535},"dependents":"252","updated":"2026-07-20T05:23:23.061Z","searchScore":43.821808,"package":{"name":"d3-path","keywords":["d3","d3-module","canvas","path","svg","graphics","CanvasRenderingContext2D","CanvasPathMethods","Path2D"],"version":"3.1.0","description":"Serialize Canvas path commands to SVG.","sanitized_name":"d3-path","publisher":{"email":"mike@ocks.org","username":"mbostock"},"maintainers":[{"email":"mike@ocks.org","username":"mbostock"},{"email":"fil@rezo.net","username":"recifs"}],"license":"ISC","date":"2022-12-19T21:50:21.362Z","links":{"homepage":"https://d3js.org/d3-path/","repository":"git+https://github.com/d3/d3-path.git","bugs":"https://github.com/d3/d3-path/issues","npm":"https://www.npmjs.com/package/d3-path"}},"score":{"final":43.821808,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":240336,"weekly":57256},"dependents":"101","updated":"2026-07-20T05:22:31.682Z","searchScore":43.706585,"package":{"name":"underscore-plus","keywords":["underscore"],"version":"1.7.0","description":"Underscore plus additional utilities","sanitized_name":"underscore-plus","publisher":{"email":"atom@github.com","username":"atom-team"},"maintainers":[{"email":"atom@github.com","username":"atom-team"},{"email":"ogle.ben@gmail.com","username":"benogle"},{"email":"kevinsawicki@gmail.com","username":"kevinsawicki"},{"email":"maxbrunsfeld@gmail.com","username":"maxbrunsfeld"},{"email":"matt@colyer.name","username":"mcolyer"},{"email":"nathan@github.com","username":"nathansobo"}],"date":"2019-03-29T17:00:36.767Z","links":{"homepage":"https://github.com/atom/underscore-plus#readme","repository":"git+https://github.com/atom/underscore-plus.git","bugs":"https://github.com/atom/underscore-plus/issues","npm":"https://www.npmjs.com/package/underscore-plus"}},"score":{"final":43.706585,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3964,"weekly":771},"dependents":"0","updated":"2026-07-19T20:33:59.035Z","searchScore":43.695515,"package":{"name":"@particle-academy/react-fancy","keywords":["react","components","ui","tailwind","human-plus-ux"],"version":"4.15.1","description":"React UI component library for Human+ UX — controlled, agent-bridgeable primitives","sanitized_name":"@particle-academy/react-fancy","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:8bb7ebae-6510-4964-bad3-cc7a616e01c1","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"Glenn@impactivism.net","username":"wishborn"}],"license":"MIT","date":"2026-07-19T20:33:27.953Z","links":{"homepage":"https://github.com/Particle-Academy/react-fancy#readme","repository":"git+https://github.com/Particle-Academy/react-fancy.git","bugs":"https://github.com/Particle-Academy/react-fancy/issues","npm":"https://www.npmjs.com/package/@particle-academy/react-fancy"}},"score":{"final":43.695515,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3401,"weekly":1065},"dependents":"2","updated":"2026-07-14T06:06:35.125Z","searchScore":43.68413,"package":{"name":"@codemation/canvas-core","keywords":[],"version":"0.4.0","description":"Headless building blocks for the Codemation workflow canvas: hooks, controllers, realtime infrastructure, API client, and layout engine. **No JSX.**","sanitized_name":"@codemation/canvas-core","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:04341b3f-51b5-4766-a66d-85a3d496faf5","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"chris@maderelevant.com","username":"cblokland"}],"license":"SEE LICENSE IN LICENSE","date":"2026-06-30T05:57:57.122Z","links":{"homepage":"https://www.maderelevant.com","repository":"git+https://github.com/MadeRelevant/codemation.git","bugs":"https://github.com/MadeRelevant/codemation/issues","npm":"https://www.npmjs.com/package/@codemation/canvas-core"}},"score":{"final":43.68413,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":317018860,"weekly":80484815},"dependents":"1894","updated":"2026-07-20T05:26:04.258Z","searchScore":43.629852,"package":{"name":"d3-shape","keywords":["d3","d3-module","graphics","visualization","canvas","svg"],"version":"3.2.0","description":"Graphical primitives for visualization, such as lines and areas.","sanitized_name":"d3-shape","publisher":{"email":"mike@ocks.org","username":"mbostock"},"maintainers":[{"email":"mike@ocks.org","username":"mbostock"},{"email":"fil@rezo.net","username":"recifs"}],"license":"ISC","date":"2022-12-20T23:39:17.478Z","links":{"homepage":"https://d3js.org/d3-shape/","repository":"git+https://github.com/d3/d3-shape.git","bugs":"https://github.com/d3/d3-shape/issues","npm":"https://www.npmjs.com/package/d3-shape"}},"score":{"final":43.629852,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":276732,"weekly":73302},"dependents":"13","updated":"2026-07-20T05:25:49.133Z","searchScore":43.61411,"package":{"name":"next-qrcode","keywords":["react","reactjs","qrcode","next-qrcode","next-plugin","nextjs-plugin","react-qrcode","create-next-app","create-react-app"],"version":"2.5.1","description":"React hooks for generating QR code for your next React apps.","sanitized_name":"next-qrcode","publisher":{"email":"bunlong.van@gmail.com","username":"bunlong"},"maintainers":[{"email":"bunlong.van@gmail.com","username":"bunlong"}],"license":"MIT","date":"2023-08-02T07:30:29.999Z","links":{"homepage":"https://next-qrcode.js.org","repository":"git+https://github.com/Bunlong/next-qrcode.git","bugs":"https://github.com/Bunlong/next-qrcode.git/issues","npm":"https://www.npmjs.com/package/next-qrcode"}},"score":{"final":43.61411,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":110523,"weekly":30824},"dependents":"1","updated":"2026-07-18T09:07:26.045Z","searchScore":43.567677,"package":{"name":"pa11y-reporter-html-plus","keywords":["pa11y","reporter"],"version":"5.1.1","description":"A Pa11y reporter that generates an HTML report with enhanced support for all runners, including links to relevant help, and the ability to filter accessibility issues by type","sanitized_name":"pa11y-reporter-html-plus","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:1a81cd97-f7ae-43da-aaaa-7e1fa8ff79b7","id":"gitlab"},"username":"GitLab CI/CD"},"maintainers":[{"email":"npm@aarongoldenthal.com","username":"aarongoldenthal"}],"license":"MIT","date":"2026-03-31T02:36:01.025Z","links":{"homepage":"https://gitlab.com/gitlab-ci-utils/pa11y-reporter-html-plus","repository":"git+https://gitlab.com/gitlab-ci-utils/pa11y-reporter-html-plus.git","bugs":"https://gitlab.com/gitlab-ci-utils/pa11y-reporter-html-plus/issues","npm":"https://www.npmjs.com/package/pa11y-reporter-html-plus"}},"score":{"final":43.567677,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":519078,"weekly":125737},"dependents":"66","updated":"2026-07-20T05:22:50.253Z","searchScore":43.48479,"package":{"name":"marker-clusterer-plus","keywords":["google-marker-clusterer-plus","google","maps","cluster","clusterer","map"],"version":"2.1.4","description":"Clone of markerclustererplus, but works with npm out of the box","sanitized_name":"marker-clusterer-plus","publisher":{"email":"hello@mikesaidani.com","username":"frostwind"},"maintainers":[{"email":"hi@frostwind.me","username":"frostwind"}],"date":"2016-05-19T10:50:54.045Z","links":{"homepage":"https://github.com/mikesaidani/marker-clusterer-plus","repository":"git+https://github.com/mikesaidani/marker-clusterer-plus.git","bugs":"https://github.com/mikesaidani/marker-clusterer-plus/issues","npm":"https://www.npmjs.com/package/marker-clusterer-plus"}},"score":{"final":43.48479,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":26053,"weekly":1981},"dependents":0,"updated":"2026-07-20T18:43:42.586Z","searchScore":43.445435,"package":{"name":"@workday/canvas-kit-mcp","keywords":["canvas","canvas-kit","workday","mcp"],"version":"15.1.1","description":"MCP package for Canvas Kit","sanitized_name":"@workday/canvas-kit-mcp","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:76f84860-bf05-461c-aadc-3b6627292758","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},{"email":"Manuel.carrera.91@gmail.com","username":"mannycarrera4"},{"email":"raisa.primerova@workday.com","username":"raisa.primerova"},{"email":"a.bax.smith@gmail.com","username":"alanbsmith"},{"email":"jaclynjessup@gmail.com","username":"jaclynjessup"},{"email":"jason@heddings.com","username":"jheddings"}],"license":"Apache-2.0","date":"2026-07-15T14:18:41.675Z","links":{"homepage":"https://github.com/Workday/canvas-kit#readme","repository":"git+https://github.com/Workday/canvas-kit.git","bugs":"https://github.com/Workday/canvas-kit/issues","npm":"https://www.npmjs.com/package/@workday/canvas-kit-mcp"}},"score":{"final":43.445435,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":63929,"weekly":13453},"dependents":"5","updated":"2026-07-20T05:28:18.079Z","searchScore":43.30042,"package":{"name":"universal-canvas-context","keywords":["Rax","canvas"],"version":"1.0.0","description":"Universal canvas context api","sanitized_name":"universal-canvas-context","publisher":{"email":"rax-public@alibaba-inc.com","username":"rax-publisher"},"maintainers":[{"email":"rax-public@alibaba-inc.com","username":"rax-publisher"}],"date":"2020-07-10T06:18:36.710Z","links":{"npm":"https://www.npmjs.com/package/universal-canvas-context"}},"score":{"final":43.30042,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":679204,"weekly":172606},"dependents":"134","updated":"2026-07-20T05:23:44.133Z","searchScore":43.297104,"package":{"name":"art","keywords":["art","canvas","svg","vml"],"version":"0.10.3","description":"Cross-browser Vector Graphics","sanitized_name":"art","publisher":{"email":"sebastian@calyptus.eu","username":"sebmarkbage"},"maintainers":[{"email":"kamicane@gmail.com","username":"kamicane"},{"email":"sebastian@calyptus.eu","username":"sebmarkbage"},{"email":"paul@oshannessy.com","username":"zpao"}],"license":"MIT","date":"2018-07-12T16:56:32.006Z","links":{"homepage":"http://sebmarkbage.github.io/art","repository":"git+https://github.com/sebmarkbage/art.git","bugs":"https://github.com/sebmarkbage/art/issues","npm":"https://www.npmjs.com/package/art"}},"score":{"final":43.297104,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":380232,"weekly":81450},"dependents":"6","updated":"2026-07-20T05:25:17.794Z","searchScore":43.260242,"package":{"name":"@antv/g-webgpu","keywords":["antv","g"],"version":"2.1.1","description":"A renderer implemented by WebGPU","sanitized_name":"@antv/g-webgpu","publisher":{"email":"mrwang1212@126.com","username":"wang1212"},"maintainers":[{"email":"yunji.me@outlook.com","username":"lvisei"},{"email":"943720372@qq.com","username":"iaaron"},{"email":"jinke.li666@gmail.com","username":"jinke.li"},{"email":"120635640@qq.com","username":"lzxue"},{"email":"army8735@qq.com","username":"army8735"},{"email":"dengfuping_private@163.com","username":"dengfuping"},{"email":"afc163@gmail.com","username":"afc163"},{"email":"chenluuli@gmail.com","username":"chenluli"},{"email":"1175863618@qq.com","username":"kn9117"},{"email":"1491812683@qq.com","username":"bbsqq"},{"email":"zhuyuxin0627@gmail.com","username":"banxuan"},{"email":"ojh496845051@gmail.com","username":"yanxiong"},{"email":"wzwahl36@qq.com","username":"atool"},{"email":"610999886@qq.com","username":"pearl_wang"},{"email":"alex_zjt@163.com","username":"alex_zjt"},{"email":"duxinyue.dxy@antgroup.com","username":"duxinyue023"},{"email":"mrwang1212@126.com","username":"wang1212"},{"email":"gaofh1023@163.com","username":"gaofuhong"}],"license":"MIT","date":"2025-12-24T11:59:21.154Z","links":{"homepage":"https://github.com/antvis/g#readme","repository":"git+https://github.com/antvis/g.git","bugs":"https://github.com/antvis/g/issues","npm":"https://www.npmjs.com/package/@antv/g-webgpu"}},"score":{"final":43.260242,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":24039,"weekly":5606},"dependents":"4","updated":"2026-07-17T09:53:06.735Z","searchScore":43.210926,"package":{"name":"canvas-record","keywords":["canvas","record","video","recorder","capture","mp4","webm","mkv","gif","sequence","framesequence","media-recorder","ffmpeg","h264"],"version":"5.5.1","description":"Record a video in the browser or directly on the File System from a canvas region (2D/WebGL/WebGPU) as MP4, WebM, MKV, MOV, GIF, PNG/JPG Sequence using WebCodecs and wasm when available.","sanitized_name":"canvas-record","publisher":{"email":"dmnsgn@gmail.com","username":"dmnsgn"},"maintainers":[{"email":"dmnsgn@gmail.com","username":"dmnsgn"}],"license":"MIT","date":"2026-03-06T11:16:44.288Z","links":{"homepage":"https://github.com/dmnsgn/canvas-record","repository":"git+https://github.com/dmnsgn/canvas-record.git","bugs":"https://github.com/dmnsgn/canvas-record/issues","npm":"https://www.npmjs.com/package/canvas-record"}},"score":{"final":43.210926,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3889145,"weekly":920729},"dependents":"96","updated":"2026-07-20T05:25:13.297Z","searchScore":43.19277,"package":{"name":"gifuct-js","keywords":["gif","parser","javascript"],"version":"2.1.2","description":"Easy to use efficient .GIF parsing in javascript","sanitized_name":"gifuct-js","publisher":{"email":"matt@syntropy.xyz","username":"matt-syntropy"},"maintainers":[{"email":"matt@syntropy.xyz","username":"matt-syntropy"}],"license":"MIT","date":"2021-11-04T12:28:51.462Z","links":{"homepage":"https://github.com/matt-way/gifuct-js","repository":"git+https://github.com/matt-way/gifuct-js.git","bugs":"https://github.com/matt-way/gifuct-js/issues","npm":"https://www.npmjs.com/package/gifuct-js"}},"score":{"final":43.19277,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":39639,"weekly":10199},"dependents":"10","updated":"2026-07-18T09:04:34.231Z","searchScore":42.95348,"package":{"name":"downscale","keywords":["crop","downscale","downsample","fast","jpeg","jpg","image","linear","performance","photo","pica","png","processing","scale","canvas","resample","resize","sharp","simple","thumbnail","upload","webp"],"version":"1.0.6","description":"Better image downscale with canvas.","sanitized_name":"downscale","publisher":{"email":"yevhentiurin@gmail.com","username":"ytiurin"},"maintainers":[{"email":"yevhentiurin@gmail.com","username":"ytiurin"}],"license":"MIT","date":"2019-02-10T21:18:43.869Z","links":{"homepage":"https://github.com/ytiurin/downscale","repository":"git+https://github.com/ytiurin/downscale.git","bugs":"https://github.com/ytiurin/downscale/issues","npm":"https://www.npmjs.com/package/downscale"}},"score":{"final":42.95348,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1142045,"weekly":281217},"dependents":"31","updated":"2026-07-20T05:22:28.137Z","searchScore":42.94145,"package":{"name":"cobe","keywords":[],"version":"2.0.1","description":"[![COBE](card.png)](https://cobe.vercel.app)","sanitized_name":"cobe","publisher":{"email":"g@shud.in","username":"quietshu"},"maintainers":[{"email":"ds303077135@gmail.com","username":"shudin"},{"email":"g@shud.in","username":"quietshu"}],"license":"MIT","date":"2026-03-19T17:01:47.985Z","links":{"homepage":"https://github.com/shuding/cobe#readme","repository":"git+https://github.com/shuding/cobe.git","bugs":"https://github.com/shuding/cobe/issues","npm":"https://www.npmjs.com/package/cobe"}},"score":{"final":42.94145,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":8945003,"weekly":2286089},"dependents":"517","updated":"2026-07-20T05:26:03.086Z","searchScore":42.882866,"package":{"name":"signature_pad","keywords":[],"version":"5.1.3","description":"Library for drawing smooth signatures.","sanitized_name":"signature_pad","publisher":{"email":"szimek@gmail.com","actor":{"name":"szimek","type":"user","email":"szimek@gmail.com"},"username":"szimek"},"maintainers":[{"email":"szimek@gmail.com","username":"szimek"},{"email":"tony@brix.ninja","username":"tonybrix"}],"license":"MIT","date":"2025-12-03T15:15:05.714Z","links":{"homepage":"https://github.com/szimek/signature_pad","repository":"git+https://github.com/szimek/signature_pad.git","bugs":"https://github.com/szimek/signature_pad/issues","npm":"https://www.npmjs.com/package/signature_pad"}},"score":{"final":42.882866,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":79788,"weekly":23860},"dependents":"24","updated":"2026-07-19T05:31:15.380Z","searchScore":42.766293,"package":{"name":"memcache-plus","keywords":["memcache","memcached","cache","promise","elasticache","cluster"],"version":"0.3.1","description":"Better memcache for node","sanitized_name":"memcache-plus","publisher":{"email":"mail@victorquinn.com","username":"victorquinn"},"maintainers":[{"email":"mail@victorquinn.com","username":"victorquinn"}],"license":"MIT","date":"2025-04-14T18:17:58.535Z","links":{"homepage":"https://github.com/victorquinn/memcache-plus","repository":"git://github.com/victorquinn/memcache-plus.git","bugs":"https://github.com/victorquinn/memcache-plus/issues","npm":"https://www.npmjs.com/package/memcache-plus"}},"score":{"final":42.766293,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":3387548,"weekly":809103},"dependents":"950","updated":"2026-07-20T05:23:18.724Z","searchScore":42.711384,"package":{"name":"fabric","keywords":["canvas","graphic","graphics","SVG","node-canvas","parser","HTML5","object model"],"version":"7.4.0","description":"Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.","sanitized_name":"fabric","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:ebd9058a-a7af-4664-8061-3817d4c18607","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"kangax@gmail.com","username":"kangax"},{"email":"andreabogazzi79@gmail.com","username":"asturur"}],"license":"MIT","date":"2026-05-18T18:36:25.365Z","links":{"homepage":"http://fabricjs.com/","repository":"git+https://github.com/fabricjs/fabric.js.git","bugs":"https://github.com/fabricjs/fabric.js/issues","npm":"https://www.npmjs.com/package/fabric"}},"score":{"final":42.711384,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":35,"weekly":6},"dependents":0,"updated":"2026-07-15T17:01:34.112Z","searchScore":42.62631,"package":{"name":"react-signature-canvas-plus","keywords":["react","react-component","component","signature","sign","e-sign","e-signature","canvas","trim","whitespace","draw","pad","wrapper","signature-pad","react-signature-pad"],"version":"1.0.8","description":"A React wrapper component around signature_pad. Unopinionated and heavily updated fork of react-signature-pad","sanitized_name":"react-signature-canvas-plus","publisher":{"email":"d@danielkalen.com","username":"danielkalen"},"maintainers":[{"email":"d@danielkalen.com","username":"danielkalen"}],"license":"Apache-2.0","date":"2024-12-10T18:32:46.640Z","links":{"homepage":"https://github.com/danielkalen/react-signature-canvas","repository":"git+https://github.com/danielkalen/react-signature-canvas.git","bugs":"https://github.com/danielkalen/react-signature-canvas/issues","npm":"https://www.npmjs.com/package/react-signature-canvas-plus"}},"score":{"final":42.62631,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":585342,"weekly":144738},"dependents":"63","updated":"2026-07-20T05:23:52.436Z","searchScore":42.61562,"package":{"name":"save-pixels","keywords":["save","pixel","image","png","ndarray"],"version":"2.3.6","description":"Saves an ndarray as an image to a file","sanitized_name":"save-pixels","publisher":{"email":"mikolalysenko@gmail.com","username":"mikolalysenko"},"maintainers":[{"email":"mikolalysenko@gmail.com","username":"mikolalysenko"},{"email":"th.v.d.gronde@hccnet.nl","username":"jaspervdg"},{"email":"hughskennedy@gmail.com","username":"hughsk"},{"email":"pgb@andrew.cmu.edu","username":"planeshifter"},{"email":"rsreusser@gmail.com","username":"rreusser"}],"license":"MIT","date":"2021-07-31T16:48:27.732Z","links":{"homepage":"https://github.com/mikolalysenko/save-pixels#readme","repository":"git://github.com/mikolalysenko/save-pixels.git","bugs":"https://github.com/mikolalysenko/save-pixels/issues","npm":"https://www.npmjs.com/package/save-pixels"}},"score":{"final":42.61562,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":8219820,"weekly":2113259},"dependents":"1154","updated":"2026-07-20T05:25:48.818Z","searchScore":42.498287,"package":{"name":"konva","keywords":["canvas","animations","graphic","html5"],"version":"10.3.0","description":"HTML5 2d canvas library.","sanitized_name":"konva","publisher":{"email":"lavrton@gmail.com","actor":{"name":"lavrton","type":"user","email":"lavrton@gmail.com"},"username":"lavrton"},"maintainers":[{"email":"lavrton@gmail.com","username":"lavrton"}],"license":"MIT","date":"2026-04-30T20:23:09.955Z","links":{"homepage":"http://konvajs.org/","repository":"git://github.com/konvajs/konva.git","bugs":"https://github.com/konvajs/konva/issues","npm":"https://www.npmjs.com/package/konva"}},"score":{"final":42.498287,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":72458,"weekly":20217},"dependents":0,"updated":"2026-07-18T09:06:06.037Z","searchScore":42.29379,"package":{"name":"react-canvas-map","keywords":[],"version":"0.3.4","description":"An interactive canvas-based map component for React.","sanitized_name":"react-canvas-map","publisher":{"email":"bor3ham@gmail.com","username":"bor3ham"},"maintainers":[{"email":"bor3ham@gmail.com","username":"bor3ham"}],"license":"MIT","date":"2024-06-13T01:08:04.676Z","links":{"homepage":"https://github.com/bor3ham/react-canvas-map#readme","repository":"git+ssh://git@github.com/bor3ham/react-canvas-map.git","bugs":"https://github.com/bor3ham/react-canvas-map/issues","npm":"https://www.npmjs.com/package/react-canvas-map"}},"score":{"final":42.29379,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":50705,"weekly":15670},"dependents":0,"updated":"2026-07-18T09:04:48.905Z","searchScore":42.19929,"package":{"name":"fabricjs-extension","keywords":[],"version":"0.2.30","description":"Fabric.js Extension is a powerful enhancement for Fabric.js, introducing a rich set of keyboard shortcuts and intuitive mouse actions to optimize canvas editing. This extension is ideal for designers, developers, and digital artists who need advanced func","sanitized_name":"fabricjs-extension","publisher":{"email":"fibianmejia@gmail.com","username":"fibiaanm"},"maintainers":[{"email":"fibianmejia@gmail.com","username":"fibiaanm"}],"license":"MIT","date":"2024-11-28T19:41:07.684Z","links":{"homepage":"https://github.com/fibiaanm/fabricjs-extension#readme","repository":"git+https://github.com/fibiaanm/fabricjs-extension.git","bugs":"https://github.com/fibiaanm/fabricjs-extension/issues","npm":"https://www.npmjs.com/package/fabricjs-extension"}},"score":{"final":42.19929,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1854646,"weekly":459995},"dependents":"18","updated":"2026-07-20T05:26:24.144Z","searchScore":42.196014,"package":{"name":"jest-date-mock","keywords":["mock","jest","jest-date","Date","datetime","timestamp"],"version":"1.0.10","description":"Mock `window.Date` when run unit test cases with jest. Make tests of `Date` easier.","sanitized_name":"jest-date-mock","publisher":{"email":"i@hust.cc","username":"atool"},"maintainers":[{"email":"i@hust.cc","username":"atool"}],"license":"MIT","date":"2024-04-21T01:51:40.935Z","links":{"homepage":"https://github.com/hustcc/jest-date-mock#readme","repository":"git+https://github.com/hustcc/jest-date-mock.git","bugs":"https://github.com/hustcc/jest-date-mock/issues","npm":"https://www.npmjs.com/package/jest-date-mock"}},"score":{"final":42.196014,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":91099597,"weekly":25305384},"dependents":"405","updated":"2026-07-20T05:26:17.925Z","searchScore":42.170258,"package":{"name":"d3-drag","keywords":["d3","d3-module","drag","behavior","interaction"],"version":"3.0.0","description":"Drag and drop SVG, HTML or Canvas using mouse or touch input.","sanitized_name":"d3-drag","publisher":{"email":"mike@ocks.org","username":"mbostock"},"maintainers":[{"email":"mike@ocks.org","username":"mbostock"},{"email":"fil@rezo.net","username":"recifs"}],"license":"ISC","date":"2021-06-09T16:00:59.516Z","links":{"homepage":"https://d3js.org/d3-drag/","repository":"git+https://github.com/d3/d3-drag.git","bugs":"https://github.com/d3/d3-drag/issues","npm":"https://www.npmjs.com/package/d3-drag"}},"score":{"final":42.170258,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":35460,"weekly":5233},"dependents":"2","updated":"2026-07-17T09:54:32.160Z","searchScore":42.118977,"package":{"name":"geowarp-canvas","keywords":["canvas","cutline","geowarp","gis","imagery","map","reproject","resample","satellite"],"version":"0.2.0","description":"Adds HTML Canvas Support to GeoWarp","sanitized_name":"geowarp-canvas","publisher":{"email":"daniel.j.dufour@gmail.com","username":"danieljdufour"},"maintainers":[{"email":"daniel.j.dufour@gmail.com","username":"danieljdufour"}],"license":"CC0-1.0","date":"2024-02-04T15:33:21.395Z","links":{"homepage":"https://github.com/DanielJDufour/geowarp-canvas#readme","repository":"git+https://github.com/DanielJDufour/geowarp-canvas.git","bugs":"https://github.com/DanielJDufour/geowarp-canvas/issues","npm":"https://www.npmjs.com/package/geowarp-canvas"}},"score":{"final":42.118977,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":5057,"weekly":1148},"dependents":"1","updated":"2026-07-18T08:46:24.506Z","searchScore":42.022346,"package":{"name":"svelte-pan-zoom","keywords":["svelte","component","canvas","image","pan","zoom","touch","gesture"],"version":"0.0.13","description":"![minified](https://img.shields.io/bundlephobia/min/svelte-pan-zoom/0.0.11?style=for-the-badge) ![minified + zipped](https://img.shields.io/bundlephobia/minzip/svelte-pan-zoom/0.0.11?style=for-the-badge)","sanitized_name":"svelte-pan-zoom","publisher":{"email":"simon@captaincodeman.com","username":"captaincodeman"},"maintainers":[{"email":"simon@captaincodeman.com","username":"captaincodeman"}],"license":"MIT","date":"2024-10-02T15:26:46.843Z","links":{"homepage":"https://captaincodeman.github.io/svelte-pan-zoom/","repository":"git+https://github.com/captaincodeman/svelte-pan-zoom.git","bugs":"https://github.com/captaincodeman/svelte-pan-zoom/issues","npm":"https://www.npmjs.com/package/svelte-pan-zoom"}},"score":{"final":42.022346,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":81530,"weekly":21044},"dependents":0,"updated":"2026-07-18T09:07:25.425Z","searchScore":41.973167,"package":{"name":"@meistrari/tela-sdk-js","keywords":[],"version":"2.17.0","description":"The Tela SDK for JavaScript provides a simple and powerful way to interact with the Tela API. This SDK allows you to create chat completions, handle file uploads, and manage various resources with ease.","sanitized_name":"@meistrari/tela-sdk-js","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:95a87286-8755-4e7b-91c4-68d58898e93f","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"prxg22@gmail.com","username":"prxg22"},{"email":"thierrysantoos123+npm@gmail.com","username":"0xthierry"},{"email":"lucassiqueira.dev@gmail.com","username":"lucassiqueira08"},{"email":"roz@rjmunhoz.me","username":"rjmunhoz"},{"email":"aluamorim@hotmail.com","username":"amorim33"},{"email":"henrycunh@gmail.com","username":"henrykunh"},{"email":"rodrigolegod@gmail.com","username":"rodrigo_lg"},{"email":"czoliv@gmail.com","username":"czaghi"},{"email":"imlbfireman@gmail.com","username":"ianfireman"},{"email":"matheusvellone@gmail.com","username":"matheusvellone"},{"email":"thullyo.cunha@meistrari.com","username":"thullyocunha"},{"email":"renanllm01@gmail.com","username":"renanllm"}],"date":"2026-07-14T14:29:09.778Z","links":{"homepage":"https://github.com/meistrari/tela-sdk-js#readme","repository":"git+https://github.com/meistrari/tela-sdk-js.git","bugs":"https://github.com/meistrari/tela-sdk-js/issues","npm":"https://www.npmjs.com/package/@meistrari/tela-sdk-js"}},"score":{"final":41.973167,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":59189,"weekly":15247},"dependents":0,"updated":"2026-07-18T09:07:32.479Z","searchScore":41.89542,"package":{"name":"@mikaello/avrodoc-plus","keywords":[],"version":"1.5.0","description":"Documentation tool for Avro schemas. Forked from https://github.com/leosilvadev/avrodoc-plus.","sanitized_name":"@mikaello/avrodoc-plus","publisher":{"email":"mikaello@student.matnat.uio.no","username":"mikaello"},"maintainers":[{"email":"mikaello@student.matnat.uio.no","username":"mikaello"}],"license":"Apache-2.0","date":"2026-04-02T12:56:47.315Z","links":{"npm":"https://www.npmjs.com/package/@mikaello/avrodoc-plus"}},"score":{"final":41.89542,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":69956,"weekly":17846},"dependents":"78","updated":"2026-07-20T05:28:10.418Z","searchScore":41.803986,"package":{"name":"canvas-toBlob","keywords":["blob","polyfill","canvas"],"version":"1.0.0","description":"A canvas.toBlob() implementation","sanitized_name":"canvas-toBlob","publisher":{"email":"mwumli@hotmail.com","username":"mwumli"},"maintainers":[{"email":"mwumli@hotmail.com","username":"mwumli"}],"license":"MIT","date":"2016-12-01T09:25:31.930Z","links":{"homepage":"https://github.com/eligrey/canvas-toBlob.js#readme","repository":"git+https://github.com/eligrey/canvas-toBlob.js.git","bugs":"https://github.com/eligrey/canvas-toBlob.js/issues","npm":"https://www.npmjs.com/package/canvas-toBlob"}},"score":{"final":41.803986,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":177401,"weekly":47042},"dependents":"5","updated":"2026-07-20T05:24:28.564Z","searchScore":41.75411,"package":{"name":"tiptap-pagination-plus","keywords":["tiptap","tiptap extension","pagination","page","break","header","footer","customizable","layouts","extension"],"version":"3.1.0","description":"Tiptap pagination extension with advanced options like automatic page breaks, customizable layouts and more.","sanitized_name":"tiptap-pagination-plus","publisher":{"email":"makavanaromik1214@gmail.com","actor":{"name":"romik.m","type":"user","email":"makavanaromik1214@gmail.com"},"username":"romik.m"},"maintainers":[{"email":"makavanaromik1214@gmail.com","username":"romik.m"}],"license":"MIT","date":"2026-04-28T15:33:28.640Z","links":{"homepage":"https://romikmakavana.me/tiptap-pagination/","repository":"git+https://github.com/RomikMakavana/tiptap-pagination-plus.git","bugs":"https://github.com/RomikMakavana/tiptap-pagination-plus/issues","npm":"https://www.npmjs.com/package/tiptap-pagination-plus"}},"score":{"final":41.75411,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":102454,"weekly":28298},"dependents":0,"updated":"2026-07-19T05:31:47.661Z","searchScore":41.729584,"package":{"name":"tiptap-table-plus","keywords":["tiptap","tiptap extension","table","pagination"],"version":"3.1.0","description":"Tiptap table extra options like duplicate column, duplicate row etc...","sanitized_name":"tiptap-table-plus","publisher":{"email":"makavanaromik1214@gmail.com","username":"romik.m"},"maintainers":[{"email":"makavanaromik1214@gmail.com","username":"romik.m"}],"license":"MIT","date":"2026-01-09T05:03:57.608Z","links":{"homepage":"https://romikmakavana.me/tiptap/table-plus","repository":"git+https://github.com/RomikMakavana/tiptap-table-plus.git","bugs":"https://github.com/RomikMakavana/tiptap-table-plus/issues","npm":"https://www.npmjs.com/package/tiptap-table-plus"}},"score":{"final":41.729584,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":66031,"weekly":22173},"dependents":0,"updated":"2026-07-20T05:27:10.855Z","searchScore":41.612812,"package":{"name":"@voidzero-dev/vite-plus-linux-arm64-musl","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-linux-arm64-musl","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:fcdd4152-dadb-4f0d-b5bb-6267eebce674","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:19:52.805Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-linux-arm64-musl"}},"score":{"final":41.612812,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":24921,"weekly":5054},"dependents":"12","updated":"2026-07-15T09:57:56.978Z","searchScore":41.612514,"package":{"name":"canvas-gauges","keywords":["gauge","canvas","html5","javascript","radial-gauge","linear-gauge"],"version":"2.1.7","description":"Minimalist HTML5 Canvas Gauges","sanitized_name":"canvas-gauges","publisher":{"email":"mikhus@gmail.com","username":"mikhus"},"maintainers":[{"email":"mikhus@gmail.com","username":"mikhus"}],"license":"MIT","date":"2020-04-09T13:08:34.133Z","links":{"homepage":"https://github.com/Mikhus/canvas-gauges#readme","repository":"git://github.com/Mikhus/canvas-gauges.git","bugs":"https://github.com/Mikhus/canvas-gauges/issues","npm":"https://www.npmjs.com/package/canvas-gauges"}},"score":{"final":41.612514,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":57700,"weekly":13804},"dependents":"1","updated":"2026-07-18T09:05:54.152Z","searchScore":41.520676,"package":{"name":"scandit-web-datacapture-core","keywords":["scandit","barcode","data capture","capture","qr","scan","scanner","scanning","code","webassembly","sdk","javascript","typescript","web component"],"version":"6.28.11","description":"Scandit Data Capture SDK for the Web","sanitized_name":"scandit-web-datacapture-core","publisher":{"email":"info@scandit.com","username":"scandit-ci"},"maintainers":[{"email":"moritz@scandit.com","username":"moritz-scandit"},{"email":"lorenzo@scandit.com","username":"scandit-lorenzo"},{"email":"sebastien@scandit.com","username":"scandit-sebastien"},{"email":"info@scandit.com","username":"scandit-ci"}],"license":"SEE LICENSE IN LICENSE","date":"2026-07-10T20:56:17.186Z","links":{"homepage":"https://www.scandit.com/products/sdk-web/","repository":"https://github.com/scandit","npm":"https://www.npmjs.com/package/scandit-web-datacapture-core"}},"score":{"final":41.520676,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":64091,"weekly":20028},"dependents":"2","updated":"2026-07-20T05:26:18.088Z","searchScore":41.424587,"package":{"name":"cdk8s-plus-30","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.4.10","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-30 synthesizes Kubernetes manifests for Kubernetes 1.30.0","sanitized_name":"cdk8s-plus-30","publisher":{"email":"cdk8s-team@amazon.com","actor":{"name":"cdk8s-team","type":"user","email":"cdk8s-team@amazon.com"},"username":"cdk8s-team"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2025-08-11T12:17:01.910Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-30"}},"score":{"final":41.424587,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":708392,"weekly":174559},"dependents":"70","updated":"2026-07-20T05:23:51.939Z","searchScore":41.386993,"package":{"name":"@vue-flow/minimap","keywords":["vue","flow","diagram","editor","graph","node","link","port","slot","vue3","composition-api","vue-flow","vueflow","typescript"],"version":"1.5.4","description":"This is a minimap component for Vue Flow. It can be used to add a minimap to the canvas, which will show a smaller version of the canvas with your nodes. The minimap can also be used to pan and zoom the main canvas.","sanitized_name":"@vue-flow/minimap","publisher":{"email":"brainbraks@googlemail.com","username":"braks"},"maintainers":[{"email":"brainbraks@googlemail.com","username":"braks"}],"license":"MIT","date":"2025-08-15T11:29:26.380Z","links":{"homepage":"https://github.com/bcakmakoglu/vue-flow#readme","repository":"git+https://github.com/bcakmakoglu/vue-flow/packages/plugins/minimap","bugs":"https://github.com/bcakmakoglu/vue-flow/issues","npm":"https://www.npmjs.com/package/@vue-flow/minimap"}},"score":{"final":41.386993,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":16872,"weekly":3432},"dependents":"11","updated":"2026-07-14T09:45:12.837Z","searchScore":41.28877,"package":{"name":"canvas-txt","keywords":["vue","react","library","canvas","Multiline","es6"],"version":"4.1.1","description":"Render multiline textboxes in HTML5 canvas with auto line breaks and better alignment system","sanitized_name":"canvas-txt","publisher":{"email":"geongeorge98@gmail.com","username":"geongeorge"},"maintainers":[{"email":"geongeorge98@gmail.com","username":"geongeorge"}],"license":"MIT","date":"2023-09-21T18:04:20.701Z","links":{"homepage":"https://canvas-txt.geongeorge.com","repository":"git+https://github.com/geongeorge/Canvas-Txt.git","bugs":"https://github.com/geongeorge/Canvas-Txt/issues","npm":"https://www.npmjs.com/package/canvas-txt"}},"score":{"final":41.28877,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":67686,"weekly":16579},"dependents":"16","updated":"2026-07-18T09:07:11.685Z","searchScore":41.222363,"package":{"name":"@element-plus/nuxt","keywords":["element-plus","nuxt"],"version":"1.1.5","description":"Element Plus module for Nuxt","sanitized_name":"@element-plus/nuxt","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:6dae68b6-39aa-40f0-bb45-dbcb18479da8","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"kunhello@outlook.com","username":"iamkun"},{"email":"jeremy577@icloud.com","username":"jeremywuuuuu"},{"email":"npm@sxzz.moe","username":"sxzz"}],"license":"MIT","date":"2026-02-05T03:16:15.353Z","links":{"homepage":"https://github.com/element-plus/element-plus-nuxt#readme","repository":"git+https://github.com/element-plus/element-plus-nuxt.git","bugs":"https://github.com/element-plus/element-plus-nuxt/issues","npm":"https://www.npmjs.com/package/@element-plus/nuxt"}},"score":{"final":41.222363,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":706096,"weekly":183080},"dependents":"70","updated":"2026-07-20T05:25:43.032Z","searchScore":41.173256,"package":{"name":"react-konva-utils","keywords":["react","canvas","konva","react-konva"],"version":"2.0.0","description":"Useful components and hooks for react-konva","sanitized_name":"react-konva-utils","publisher":{"email":"lavrton@gmail.com","actor":{"name":"lavrton","type":"user","email":"lavrton@gmail.com"},"username":"lavrton"},"maintainers":[{"email":"lavrton@gmail.com","username":"lavrton"}],"license":"MIT","date":"2025-09-09T14:39:37.783Z","links":{"npm":"https://www.npmjs.com/package/react-konva-utils"}},"score":{"final":41.173256,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":243387,"weekly":56839},"dependents":"189","updated":"2026-07-20T05:23:59.464Z","searchScore":41.13765,"package":{"name":"fs-plus","keywords":["fs","filesystem"],"version":"3.1.1","description":"node's fs with more helpers","sanitized_name":"fs-plus","publisher":{"email":"atom@github.com","username":"atom-team"},"maintainers":[{"email":"ogle.ben@gmail.com","username":"benogle"},{"email":"matt@colyer.name","username":"mcolyer"},{"email":"nathan@github.com","username":"nathansobo"},{"email":"kevinsawicki@gmail.com","username":"kevinsawicki"},{"email":"lee@lee-dohm.com","username":"lee-dohm"},{"email":"as-cii@github.com","username":"as-cii"},{"email":"ian.olsen@gmail.com","username":"iolsen"},{"email":"atom@github.com","username":"atom-team"},{"email":"ungb@github.com","username":"ungb"}],"license":"MIT","date":"2018-12-19T02:28:22.764Z","links":{"homepage":"http://atom.github.io/fs-plus","repository":"git+https://github.com/atom/fs-plus.git","bugs":"https://github.com/atom/fs-plus/issues","npm":"https://www.npmjs.com/package/fs-plus"}},"score":{"final":41.13765,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":229502,"weekly":62478},"dependents":"2","updated":"2026-07-20T05:26:13.119Z","searchScore":41.135403,"package":{"name":"flame-chart-js","keywords":[],"version":"3.3.0","description":"[![npm flame-chart-js package](https://img.shields.io/npm/v/flame-chart-js)](https://www.npmjs.com/package/flame-chart-js)","sanitized_name":"flame-chart-js","publisher":{"email":"pyatyispyatil@gmail.com","username":"pyatyispyatil"},"maintainers":[{"email":"pyatyispyatil@gmail.com","username":"pyatyispyatil"}],"license":"MIT","date":"2023-12-18T23:14:42.369Z","links":{"homepage":"https://github.com/pyatyispyatil/flame-chart-js#readme","repository":"git+https://github.com/pyatyispyatil/flame-chart-js.git","bugs":"https://github.com/pyatyispyatil/flame-chart-js/issues","npm":"https://www.npmjs.com/package/flame-chart-js"}},"score":{"final":41.135403,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":51049,"weekly":13398},"dependents":"3","updated":"2026-07-18T09:02:18.179Z","searchScore":41.114887,"package":{"name":"semantic-release-plus","keywords":["author","automation","changelog","module","package","publish","release","semver","version"],"version":"20.0.0","description":"Fork of Automated semver compliant package publishing to enable additional features","sanitized_name":"semantic-release-plus","publisher":{"email":"JoAMoS.dev@gmail.com","username":"joamos"},"maintainers":[{"email":"JoAMoS.dev@gmail.com","username":"joamos"}],"license":"MIT","date":"2022-02-04T22:36:04.310Z","links":{"homepage":"https://github.com/semantic-release-plus/semantic-release#readme","repository":"git+https://github.com/semantic-release-plus/semantic-release.git","bugs":"https://github.com/semantic-release-plus/semantic-release/issues","npm":"https://www.npmjs.com/package/semantic-release-plus"}},"score":{"final":41.114887,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":154290,"weekly":49610},"dependents":"3","updated":"2026-07-20T05:27:20.146Z","searchScore":41.062794,"package":{"name":"georaster-to-canvas","keywords":["georaster","geotiff","canvas"],"version":"0.2.0","description":"Converts a GeoRaster into a Canvas","sanitized_name":"georaster-to-canvas","publisher":{"email":"daniel.j.dufour@gmail.com","username":"danieljdufour"},"maintainers":[{"email":"daniel.j.dufour@gmail.com","username":"danieljdufour"}],"license":"MIT","date":"2019-07-18T01:39:00.261Z","links":{"homepage":"https://github.com/GeoTIFF/georaster-to-canvas#readme","repository":"git+https://github.com/GeoTIFF/georaster-to-canvas.git","bugs":"https://github.com/GeoTIFF/georaster-to-canvas/issues","npm":"https://www.npmjs.com/package/georaster-to-canvas"}},"score":{"final":41.062794,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":34024,"weekly":9115},"dependents":"6","updated":"2026-07-18T09:02:46.794Z","searchScore":41.030827,"package":{"name":"@types/react-canvas-draw","keywords":[],"version":"1.2.4","description":"TypeScript definitions for react-canvas-draw","sanitized_name":"@types/react-canvas-draw","publisher":{"email":"ts-npm-types@microsoft.com","username":"types"},"maintainers":[{"email":"ts-npm-types@microsoft.com","username":"types"}],"license":"MIT","date":"2024-10-18T20:36:53.721Z","links":{"homepage":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-canvas-draw","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","npm":"https://www.npmjs.com/package/@types/react-canvas-draw"}},"score":{"final":41.030827,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2097943,"weekly":572012},"dependents":"232","updated":"2026-07-20T05:24:44.489Z","searchScore":41.025566,"package":{"name":"pica","keywords":["resize","scale","image","lanczos","canvas"],"version":"10.0.2","description":"High quality image resize in browser.","sanitized_name":"pica","publisher":{"email":"vitaly@rcopen.com","username":"vitaly"},"maintainers":[{"email":"vitaly@rcopen.com","username":"vitaly"}],"license":"MIT","date":"2026-06-26T03:29:04.041Z","links":{"homepage":"https://github.com/nodeca/pica","repository":"git+https://github.com/nodeca/pica.git","bugs":"https://github.com/nodeca/pica/issues","npm":"https://www.npmjs.com/package/pica"}},"score":{"final":41.025566,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":52274,"weekly":13212},"dependents":"5","updated":"2026-07-20T05:26:58.108Z","searchScore":41.00996,"package":{"name":"enum-plus","keywords":["enum","enumeration","javascript","typescript","front-end","back-end","node.js","browser","mini-program","react-native","ui-binding","ssr","localization","globalization","plugin-system","react","vue","angular"],"version":"3.2.1","description":"A drop-in replacement for native enum. Like native enum but much better!","sanitized_name":"enum-plus","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"shijistars","type":"user","email":"shijistar@hotmail.com"},"trustedPublisher":{"oidcConfigId":"oidc:4a3573b2-8a8c-4d8a-a677-4a00d7596fe9","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"shijistar@hotmail.com","username":"shijistars"}],"license":"MIT","date":"2026-07-08T15:22:56.110Z","links":{"homepage":"https://github.com/shijistar/enum-plus","repository":"git+https://github.com/shijistar/enum-plus.git","bugs":"https://github.com/shijistar/enum-plus/issues","npm":"https://www.npmjs.com/package/enum-plus"}},"score":{"final":41.00996,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":82065,"weekly":23392},"dependents":"30","updated":"2026-07-20T05:28:19.784Z","searchScore":40.984848,"package":{"name":"canvas-dither","keywords":["dithering","dither","canvas","bw","black","white","1 bit"],"version":"1.0.1","description":"Black and White dithering for the canvas element","sanitized_name":"canvas-dither","publisher":{"email":"niels@leenheer.nl","username":"nielsleenheer"},"maintainers":[{"email":"niels@leenheer.nl","username":"nielsleenheer"}],"license":"MIT","date":"2020-08-17T19:19:33.153Z","links":{"homepage":"https://github.com/NielsLeenheer/CanvasDither#readme","repository":"git+https://github.com/NielsLeenheer/CanvasDither.git","bugs":"https://github.com/NielsLeenheer/CanvasDither/issues","npm":"https://www.npmjs.com/package/canvas-dither"}},"score":{"final":40.984848,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":26866566,"weekly":6997345},"dependents":"1311","updated":"2026-07-20T05:27:02.052Z","searchScore":40.97412,"package":{"name":"qrcode.react","keywords":["react","react-component","qrcode"],"version":"4.2.0","description":"React component to generate QR codes","sanitized_name":"qrcode-react","publisher":{"email":"paul@oshannessy.com","username":"zpao"},"maintainers":[{"email":"paul@oshannessy.com","username":"zpao"}],"license":"ISC","date":"2024-12-11T17:22:40.569Z","links":{"homepage":"http://zpao.github.io/qrcode.react","repository":"git+https://github.com/zpao/qrcode.react.git","bugs":"https://github.com/zpao/qrcode.react/issues","npm":"https://www.npmjs.com/package/qrcode.react"}},"score":{"final":40.97412,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":19342,"weekly":4998},"dependents":"1","updated":"2026-07-15T09:58:45.201Z","searchScore":40.957584,"package":{"name":"to-canvas","keywords":["canvas","data","element","html","image","jpg","png"],"version":"0.2.0","description":"Convert Almost Anything to an HTML Canvas.","sanitized_name":"to-canvas","publisher":{"email":"daniel.j.dufour@gmail.com","username":"danieljdufour"},"maintainers":[{"email":"daniel.j.dufour@gmail.com","username":"danieljdufour"}],"license":"CC0-1.0","date":"2022-10-23T20:56:18.576Z","links":{"homepage":"https://github.com/DanielJDufour/to-canvas#readme","repository":"git+https://github.com/DanielJDufour/to-canvas.git","bugs":"https://github.com/DanielJDufour/to-canvas/issues","npm":"https://www.npmjs.com/package/to-canvas"}},"score":{"final":40.957584,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":275410,"weekly":72395},"dependents":"2","updated":"2026-07-20T05:27:43.710Z","searchScore":40.903065,"package":{"name":"drawille-blessed-contrib","keywords":[],"version":"1.0.0","description":"Drawing in terminal with unicode braille characters","sanitized_name":"drawille-blessed-contrib","publisher":{"email":"yaronn01@gmail.com","username":"yaron"},"maintainers":[{"email":"yaronn01@gmail.com","username":"yaron"}],"license":"MIT","date":"2015-01-13T23:27:27.777Z","links":{"homepage":"https://github.com/madbence/node-drawille","repository":"git@github.com:madbence/node-drawille.git","bugs":"https://github.com/madbence/node-drawille/issues","npm":"https://www.npmjs.com/package/drawille-blessed-contrib"}},"score":{"final":40.903065,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":31775,"weekly":6627},"dependents":"20","updated":"2026-07-18T09:02:12.906Z","searchScore":40.87614,"package":{"name":"lucky-canvas","keywords":["大转盘抽奖","九宫格抽奖","老虎机抽奖","抽奖插件","js抽奖","移动端抽奖","canvas抽奖"],"version":"1.7.27","description":"一个基于原生 js 的（大转盘 / 九宫格 / 老虎机）抽奖插件","sanitized_name":"lucky-canvas","publisher":{"email":"ldq404@qq.com","username":"ldq404"},"maintainers":[{"email":"17778888138@189.cn","username":"buuing"},{"email":"ldq404@qq.com","username":"ldq404"}],"license":"Apache-2.0","date":"2022-07-29T10:39:30.590Z","links":{"homepage":"https://100px.net","repository":"git+https://github.com/LuckDraw/lucky-canvas.git","bugs":"https://github.com/LuckDraw/lucky-canvas/issues","npm":"https://www.npmjs.com/package/lucky-canvas"}},"score":{"final":40.87614,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1267375,"weekly":403637},"dependents":"135","updated":"2026-07-20T05:28:22.527Z","searchScore":40.86026,"package":{"name":"canvas-roundrect-polyfill","keywords":["canvas","polyfill","roundRect"],"version":"0.0.1","description":"CanvasRenderingContext2D.roundRect() and Path2D.roundRect() polyfill","sanitized_name":"canvas-roundrect-polyfill","publisher":{"email":"tristan.fraipont@gmail.com","username":"kaiido"},"maintainers":[{"email":"tristan.fraipont@gmail.com","username":"kaiido"}],"license":"MIT","date":"2022-03-15T07:05:10.159Z","links":{"homepage":"https://github.com/Kaiido/roundRect#readme","repository":"git+https://github.com/Kaiido/roundRect.git","bugs":"https://github.com/Kaiido/roundRect/issues","npm":"https://www.npmjs.com/package/canvas-roundrect-polyfill"}},"score":{"final":40.86026,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":189625921,"weekly":39015314},"dependents":"797","updated":"2026-07-20T05:23:48.845Z","searchScore":40.82942,"package":{"name":"didyoumean","keywords":["didyoumean","mean","edit","distance","levenshtein"],"version":"1.2.2","description":"Match human-quality input to potential matches by edit distance.","sanitized_name":"didyoumean","publisher":{"email":"dcporter@gmail.com","username":"dcporter"},"maintainers":[{"email":"dcporter@gmail.com","username":"dcporter"}],"license":"Apache-2.0","date":"2021-06-24T14:00:09.748Z","links":{"homepage":"https://github.com/dcporter/didyoumean.js","repository":"git+https://github.com/dcporter/didyoumean.js.git","bugs":"https://github.com/dcporter/didyoumean.js/issues","npm":"https://www.npmjs.com/package/didyoumean"}},"score":{"final":40.82942,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":17492,"weekly":5000},"dependents":"6","updated":"2026-07-15T09:57:13.851Z","searchScore":40.72095,"package":{"name":"@workday/canvas-colors-web","keywords":["canvas","workday","colors","scss","sass"],"version":"2.0.1","description":"Canvas colors for web","sanitized_name":"@workday/canvas-colors-web","publisher":{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},"maintainers":[{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},{"email":"Manuel.carrera.91@gmail.com","username":"mannycarrera4"},{"email":"raisa.primerova@workday.com","username":"raisa.primerova"},{"email":"a.bax.smith@gmail.com","username":"alanbsmith"},{"email":"jaclynjessup@gmail.com","username":"jaclynjessup"},{"email":"jason@heddings.com","username":"jheddings"},{"email":"sheelah@sheelahb.com","username":"sheelah"}],"license":"CC-BY-ND-4.0","date":"2024-05-20T15:11:18.984Z","links":{"npm":"https://www.npmjs.com/package/@workday/canvas-colors-web"}},"score":{"final":40.72095,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":29527,"weekly":7587},"dependents":"3","updated":"2026-07-18T09:07:25.046Z","searchScore":40.69082,"package":{"name":"@types/react-native-canvas","keywords":[],"version":"0.1.14","description":"TypeScript definitions for react-native-canvas","sanitized_name":"@types/react-native-canvas","publisher":{"email":"ts-npm-types@microsoft.com","username":"types"},"maintainers":[{"email":"ts-npm-types@microsoft.com","username":"types"}],"license":"MIT","date":"2024-12-05T19:34:03.753Z","links":{"homepage":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-native-canvas","repository":"https://github.com/DefinitelyTyped/DefinitelyTyped.git","npm":"https://www.npmjs.com/package/@types/react-native-canvas"}},"score":{"final":40.69082,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2208,"weekly":2204},"dependents":0,"updated":"2026-07-16T09:55:39.898Z","searchScore":40.49216,"package":{"name":"accelr8","keywords":["cli","tui","ascii","collaborative","canvas","live-cursors","terminal","accelr8"],"version":"3.8.2","description":"Collaborative ascii canvas in your terminal. Real multiplayer, live cursors, mouse-driven TUI.","sanitized_name":"accelr8","publisher":{"email":"patsant97@gmail.com","username":"patsant97"},"maintainers":[{"email":"patsant97@gmail.com","username":"patsant97"}],"license":"ISC","date":"2026-07-16T00:38:54.884Z","links":{"homepage":"https://github.com/Patonchain/accelr8-cli#readme","repository":"git+https://github.com/Patonchain/accelr8-cli.git","bugs":"https://github.com/Patonchain/accelr8-cli/issues","npm":"https://www.npmjs.com/package/accelr8"}},"score":{"final":40.49216,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":2171006,"weekly":700476},"dependents":"19","updated":"2026-07-20T05:27:04.647Z","searchScore":40.40163,"package":{"name":"@canvas/image-data","keywords":[],"version":"1.1.0","description":"An `ImageData` implementation for usage outside of the browser.","sanitized_name":"@canvas/image-data","publisher":{"email":"linus@folkdatorn.se","username":"linusu"},"maintainers":[{"email":"linus@folkdatorn.se","username":"linusu"}],"license":"MIT","date":"2025-10-14T12:38:56.853Z","links":{"homepage":"https://github.com/node-gfx/image-data#readme","repository":"git+https://github.com/node-gfx/image-data.git","bugs":"https://github.com/node-gfx/image-data/issues","npm":"https://www.npmjs.com/package/@canvas/image-data"}},"score":{"final":40.40163,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":60623,"weekly":15437},"dependents":"5","updated":"2026-07-20T05:27:46.921Z","searchScore":40.22089,"package":{"name":"@feathers-plus/batch-loader","keywords":["feathers","feathers-plus","batch","cache"],"version":"0.3.6","description":"Reduce requests to backend services by batching calls and caching records.","sanitized_name":"@feathers-plus/batch-loader","publisher":{"email":"johnsz9999@gmail.com","username":"eddystop"},"maintainers":[{"email":"johnsz9999@gmail.com","username":"eddystop"},{"email":"marshall@creativeideal.net","username":"marshallswain"}],"license":"MIT","date":"2019-01-02T14:59:52.341Z","links":{"homepage":"https://github.com/feathers-plus/batch-loader","repository":"git://github.com/feathers-plus/batch-loader.git","bugs":"https://github.com/feathers-plus/batch-loader/issues","npm":"https://www.npmjs.com/package/@feathers-plus/batch-loader"}},"score":{"final":40.22089,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":20895942,"weekly":4746953},"dependents":"177","updated":"2026-07-20T05:22:42.781Z","searchScore":40.21839,"package":{"name":"@storybook/test","keywords":["storybook"],"version":"8.6.15","description":"","sanitized_name":"@storybook/test","publisher":{"email":"storybookbot@gmail.com","username":"storybook-bot"},"maintainers":[{"email":"ndelangen@me.com","username":"ndelangen"},{"email":"shilman@gmail.com","username":"shilman"},{"email":"tom@thesnail.org","username":"tmeasday"},{"email":"gert@chromatic.com","username":"ghengeveld"},{"email":"varunvachhar@gmail.com","username":"winkervsbecks"},{"email":"yannbf@gmail.com","username":"yannbf"},{"email":"kyle.gach@gmail.com","username":"kylegach"},{"email":"jeppe@reinhold.is","username":"jreinhold"},{"email":"kasperpeulen@gmail.com","username":"kasperpeulen"},{"email":"dev@valentinpalkovic.dev","username":"valentinpalkovic"},{"email":"dom@hichroma.com","username":"domyen"},{"email":"storybookbot@gmail.com","username":"storybook-bot"}],"license":"MIT","date":"2025-12-17T13:28:38.796Z","links":{"homepage":"https://github.com/storybookjs/storybook/tree/next/code/lib/test","repository":"https://github.com/storybookjs/storybook.git","bugs":"https://github.com/storybookjs/storybook/issues","npm":"https://www.npmjs.com/package/@storybook/test"}},"score":{"final":40.21839,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":35261,"weekly":11463},"dependents":"2","updated":"2026-07-18T09:03:28.185Z","searchScore":40.195377,"package":{"name":"@leafer/canvas","keywords":["leafer","leaferjs"],"version":"2.2.3","description":"@leafer/canvas","sanitized_name":"@leafer/canvas","publisher":{"email":"leaferjs@163.com","actor":{"name":"leaferjs","type":"user","email":"leaferjs@163.com"},"username":"leaferjs"},"maintainers":[{"email":"leaferjs@163.com","username":"leaferjs"}],"license":"MIT","date":"2026-07-17T10:38:00.995Z","links":{"homepage":"https://github.com/leaferjs/leafer/tree/main/packages/canvas/canvas","repository":"git+https://github.com/leaferjs/leafer.git","bugs":"https://github.com/leaferjs/leafer/issues","npm":"https://www.npmjs.com/package/@leafer/canvas"}},"score":{"final":40.195377,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":132593,"weekly":33535},"dependents":"1","updated":"2026-07-20T05:23:51.163Z","searchScore":40.18441,"package":{"name":"astro-og-canvas","keywords":["withastro","astro-integration","open-graph","seo","images"],"version":"0.13.0","description":"Generate OpenGraph images for your Astro site","sanitized_name":"astro-og-canvas","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:77db7c77-fabb-47e1-8ff1-eae5bfca9e8e","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"swithinbank@gmail.com","username":"delucis"}],"license":"MIT","date":"2026-06-30T10:24:42.914Z","links":{"homepage":"https://github.com/delucis/astro-og-canvas#readme","repository":"https://github.com/delucis/astro-og-canvas.git","bugs":"https://github.com/delucis/astro-og-canvas/issues","npm":"https://www.npmjs.com/package/astro-og-canvas"}},"score":{"final":40.18441,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":16081,"weekly":3275},"dependents":"2","updated":"2026-07-15T10:02:22.652Z","searchScore":40.18323,"package":{"name":"@netless/canvas-polyfill","keywords":["canvas","polyfill","getTransform"],"version":"0.0.4","description":"a polyfill for canvas getTransform, ellipse, resetTransform API","sanitized_name":"@netless/canvas-polyfill","publisher":{"email":"leavesster+npm@gmail.com","username":"yleaf"},"maintainers":[{"email":"huaguzheng2007@126.com","username":"huaguzheng"},{"email":"xuyunshi@agora.io","username":"vince-hz"},{"email":"285569480@qq.com","username":"hqer"}],"license":"MIT","date":"2020-09-24T08:21:06.555Z","links":{"homepage":"https://github.com/netless-io/canvas-polyfill#readme","repository":"git+https://github.com/netless-io/canvas-polyfill.git","bugs":"https://github.com/netless-io/canvas-polyfill/issues","npm":"https://www.npmjs.com/package/@netless/canvas-polyfill"}},"score":{"final":40.18323,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":78177,"weekly":25509},"dependents":"15","updated":"2026-07-20T05:28:05.493Z","searchScore":40.18213,"package":{"name":"canvas2svg","keywords":["canvas","svg","canvas2svg"],"version":"1.0.16","description":"canvas2svg","sanitized_name":"canvas2svg","publisher":{"email":"webspinner.gabriel@gmail.com","username":"webspinner"},"maintainers":[{"email":"webspinner.gabriel@gmail.com","username":"webspinner"}],"license":"MIT","date":"2015-09-09T19:15:48.811Z","links":{"homepage":"http://gliffy.github.io/canvas2svg/","npm":"https://www.npmjs.com/package/canvas2svg"}},"score":{"final":40.18213,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":44258,"weekly":11704},"dependents":"0","updated":"2026-07-18T09:03:54.657Z","searchScore":40.179886,"package":{"name":"cdk8s-plus-27","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.9.5","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-27 synthesizes Kubernetes manifests for Kubernetes 1.27.0","sanitized_name":"cdk8s-plus-27","publisher":{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2024-05-31T12:08:32.048Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-27"}},"score":{"final":40.179886,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":22732,"weekly":4857},"dependents":"3","updated":"2026-07-16T09:46:06.866Z","searchScore":40.176605,"package":{"name":"vue-drawing-canvas","keywords":["vue","vuejs","vue2","vue3","canvas","signature","draw","drawing"],"version":"1.0.14","description":"VueJS Component for drawing on canvas.","sanitized_name":"vue-drawing-canvas","publisher":{"email":"tonioktoro@gmail.com","username":"razztyfication"},"maintainers":[{"email":"tonioktoro@gmail.com","username":"razztyfication"}],"license":"MIT","date":"2022-05-17T16:53:16.934Z","links":{"homepage":"https://github.com/razztyfication/vue-drawing-canvas","repository":"git+https://github.com/razztyfication/vue-drawing-canvas.git","bugs":"https://github.com/razztyfication/vue-drawing-canvas/issues","npm":"https://www.npmjs.com/package/vue-drawing-canvas"}},"score":{"final":40.176605,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":61040,"weekly":12048},"dependents":"2","updated":"2026-07-20T05:23:23.738Z","searchScore":40.159565,"package":{"name":"canvas-app","keywords":["canvas","2d","webgl","gl","context","context2d","render","renderer","loop","frame","game","shell","animation"],"version":"2.4.1","description":"sets up a retina-scaled canvas with render loop","sanitized_name":"canvas-app","publisher":{"email":"dave.des@gmail.com","username":"mattdesl"},"maintainers":[{"email":"dave.des@gmail.com","username":"mattdesl"}],"license":"MIT","date":"2015-05-09T20:09:05.163Z","links":{"homepage":"https://github.com/mattdesl/canvas-app","repository":"git://github.com/mattdesl/canvas-app.git","bugs":"https://github.com/mattdesl/canvas-app/issues","npm":"https://www.npmjs.com/package/canvas-app"}},"score":{"final":40.159565,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":13209,"weekly":3650},"dependents":"5","updated":"2026-07-20T18:43:47.252Z","searchScore":40.137646,"package":{"name":"@workday/canvas-kit-styling","keywords":["canvas","canvas-kit","react","components","workday","styling"],"version":"15.1.1","description":"The custom CSS in JS solution that takes JS styles and turns them into static CSS","sanitized_name":"@workday/canvas-kit-styling","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"workday-canvas-kit","type":"user","email":"canvas.kit@workday.com"},"trustedPublisher":{"oidcConfigId":"oidc:53c5b0a0-8da4-4c24-a2d9-8e5d3286de68","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},{"email":"Manuel.carrera.91@gmail.com","username":"mannycarrera4"},{"email":"raisa.primerova@workday.com","username":"raisa.primerova"},{"email":"a.bax.smith@gmail.com","username":"alanbsmith"},{"email":"jaclynjessup@gmail.com","username":"jaclynjessup"},{"email":"jason@heddings.com","username":"jheddings"}],"license":"Apache-2.0","date":"2026-07-15T14:18:44.909Z","links":{"homepage":"https://github.com/Workday/canvas-kit#readme","repository":"git+https://github.com/Workday/canvas-kit.git","bugs":"https://github.com/Workday/canvas-kit/issues","npm":"https://www.npmjs.com/package/@workday/canvas-kit-styling"}},"score":{"final":40.137646,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":15828,"weekly":1391},"dependents":"0","updated":"2026-07-15T10:16:14.441Z","searchScore":40.112846,"package":{"name":"scrawl-canvas","keywords":["html5","dom","canvas","2d","graphics","infographics","visualization","chart","animation","js","javascript","accessible","accessibility","responsive","interactive","ui","drawing","game","creative coding"],"version":"8.19.0","description":"Responsive, interactive and more accessible HTML5 canvas elements. Scrawl-canvas is a JavaScript library designed to make using the HTML5 canvas element easier, and more fun","sanitized_name":"scrawl-canvas","publisher":{"email":"rik.roots@rikworks.co.uk","username":"rikroots"},"maintainers":[{"email":"rik.roots@rikworks.co.uk","username":"rikroots"}],"license":"MIT","date":"2026-05-26T08:21:17.994Z","links":{"homepage":"https://github.com/KaliedaRik/Scrawl-canvas#readme","repository":"git+https://github.com/KaliedaRik/Scrawl-canvas.git","bugs":"https://github.com/KaliedaRik/Scrawl-canvas/issues","npm":"https://www.npmjs.com/package/scrawl-canvas"}},"score":{"final":40.112846,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":47210,"weekly":8731},"dependents":0,"updated":"2026-07-20T05:23:48.428Z","searchScore":40.098183,"package":{"name":"@voidzero-dev/vite-plus-win32-arm64-msvc","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-win32-arm64-msvc","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:9a4e2d98-d634-4f67-a764-57d3357c3c32","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:20:11.426Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-win32-arm64-msvc"}},"score":{"final":40.098183,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":182739,"weekly":55390},"dependents":"1","updated":"2026-07-20T05:28:07.456Z","searchScore":40.02447,"package":{"name":"uwrap","keywords":["text","line","word","wrap","wrapping","split","virtualization","virtualize","canvas","measure"],"version":"0.1.2","description":"A very fast and accurate text and line wrapping util","sanitized_name":"uwrap","publisher":{"email":"leeoniya@gmail.com","username":"leeoniya"},"maintainers":[{"email":"leeoniya@gmail.com","username":"leeoniya"}],"license":"MIT","date":"2025-07-28T17:57:04.357Z","links":{"homepage":"https://github.com/leeoniya/uWrap#readme","repository":"git+https://github.com/leeoniya/uWrap.git","bugs":"https://github.com/leeoniya/uWrap/issues","npm":"https://www.npmjs.com/package/uwrap"}},"score":{"final":40.02447,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":43237,"weekly":9917},"dependents":0,"updated":"2026-07-18T09:02:13.009Z","searchScore":40.012424,"package":{"name":"motion-plus-vue","keywords":["ui","vue"],"version":"1.8.1","description":"Motion Plus Vue","sanitized_name":"motion-plus-vue","publisher":{"email":"hp0844182@gmail.com","actor":{"name":"hp0844182","type":"user","email":"hp0844182@gmail.com"},"username":"hp0844182"},"maintainers":[{"email":"hp0844182@gmail.com","username":"hp0844182"}],"license":"ISC","date":"2026-03-08T06:09:16.661Z","links":{"npm":"https://www.npmjs.com/package/motion-plus-vue"}},"score":{"final":40.012424,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":279539,"weekly":73554},"dependents":"86","updated":"2026-07-20T05:27:08.807Z","searchScore":40.00713,"package":{"name":"humanize-plus","keywords":[],"version":"1.8.2","description":"A simple utility library for making the web more humane.","sanitized_name":"humanize-plus","publisher":{"email":"dev@hubspot.com","username":"hs"},"maintainers":[{"email":"devteam@hubspot.com","username":"rberdeen-hubspot"},{"email":"ryan@ryanberdeen.com","username":"also"},{"email":"kevin@kj800x.com","username":"kj800x"},{"email":"hilker.j@gmail.com","username":"jhilker"},{"email":"service-ccs+npmjs.com@hubspot.com","username":"service-ccs"},{"email":"maxwellskala@gmail.com","username":"maxwellskala"},{"email":"henry.dineen@gmail.com","username":"henryqdineen"},{"email":"akuhl@hubspot.com","username":"akuhl-hubspot"},{"email":"benjaminjbaum@gmail.com","username":"bent0b0x"},{"email":"me@jonathan-kim.com","username":"hijonathan"},{"email":"ashbryanct@gmail.com","username":"bash"}],"license":"MIT","date":"2016-04-19T14:02:17.355Z","links":{"homepage":"https://github.com/HubSpot/humanize","repository":"git://github.com/HubSpot/humanize.git","bugs":"https://github.com/HubSpot/humanize/issues","npm":"https://www.npmjs.com/package/humanize-plus"}},"score":{"final":40.00713,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":169790,"weekly":48628},"dependents":"7","updated":"2026-07-20T05:25:27.113Z","searchScore":39.995544,"package":{"name":"event-source-plus","keywords":["sse","server sent events","fetch"],"version":"0.1.15","description":"A better EventSource API","sanitized_name":"event-source-plus","publisher":{"email":"josh@modiimedia.com","username":"joshmossas"},"maintainers":[{"email":"josh@modiimedia.com","username":"joshmossas"}],"license":"MIT","date":"2025-11-20T15:10:51.616Z","links":{"homepage":"https://github.com/joshmossas/event-source-plus#readme","repository":"git+https://github.com/joshmossas/event-source-plus.git","bugs":"https://github.com/joshmossas/event-source-plus/issues","npm":"https://www.npmjs.com/package/event-source-plus"}},"score":{"final":39.995544,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":11851,"weekly":4234},"dependents":"13","updated":"2026-07-20T05:23:59.130Z","searchScore":39.985172,"package":{"name":"@hufe921/canvas-editor","keywords":["canvas-editor","editor","wysiwyg","emr"],"version":"0.9.137","description":"A Canvas/SVG-based rich text editor","sanitized_name":"@hufe921/canvas-editor","publisher":{"email":"huangyunfeihufe@hotmail.com","actor":{"name":"hufe","type":"user","email":"huangyunfeihufe@hotmail.com"},"username":"hufe"},"maintainers":[{"email":"huangyunfeihufe@hotmail.com","username":"hufe"}],"license":"MIT","date":"2026-07-10T14:54:16.538Z","links":{"homepage":"https://github.com/Hufe921/canvas-editor","repository":"git+https://github.com/Hufe921/canvas-editor.git","bugs":"https://github.com/Hufe921/canvas-editor/issues","npm":"https://www.npmjs.com/package/@hufe921/canvas-editor"}},"score":{"final":39.985172,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":101870,"weekly":27875},"dependents":"3","updated":"2026-07-20T05:27:39.386Z","searchScore":39.961494,"package":{"name":"filtered-vector","keywords":["filter","input","curve","device","mouse"],"version":"1.2.5","description":"Filter an input vector valued curve","sanitized_name":"filtered-vector","publisher":{"email":"mikolalysenko@gmail.com","username":"mikolalysenko"},"maintainers":[{"email":"mikolalysenko@gmail.com","username":"mikolalysenko"}],"license":"MIT","date":"2021-06-03T03:16:53.138Z","links":{"homepage":"https://github.com/mikolalysenko/filtered-vector","repository":"git+https://github.com/mikolalysenko/filtered-vector.git","bugs":"https://github.com/mikolalysenko/filtered-vector/issues","npm":"https://www.npmjs.com/package/filtered-vector"}},"score":{"final":39.961494,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":18031230,"weekly":4872934},"dependents":"459","updated":"2026-07-20T05:27:24.606Z","searchScore":39.95349,"package":{"name":"topojson-client","keywords":["topojson","topology","geojson"],"version":"3.1.0","description":"Manipulate TopoJSON and convert it to GeoJSON.","sanitized_name":"topojson-client","publisher":{"email":"mike@ocks.org","username":"mbostock"},"maintainers":[{"email":"mike@ocks.org","username":"mbostock"}],"license":"ISC","date":"2019-11-06T03:44:54.022Z","links":{"homepage":"https://github.com/topojson/topojson-client","repository":"git+https://github.com/topojson/topojson-client.git","bugs":"https://github.com/topojson/topojson-client/issues","npm":"https://www.npmjs.com/package/topojson-client"}},"score":{"final":39.95349,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1483159,"weekly":320676},"dependents":"4","updated":"2026-07-20T05:23:51.291Z","searchScore":39.900284,"package":{"name":"appium-safari-driver","keywords":["appium","safari","safaridriver"],"version":"5.0.4","description":"Appium driver for Safari browser","sanitized_name":"appium-safari-driver","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:2027624c-ae7b-45cb-ad22-ce2b81918d5a","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"jlipps@gmail.com","username":"jlipps"},{"email":"mokhnach@gmail.com","username":"nick.mokhnach"},{"email":"fly.49.89.over@gmail.com","username":"kazucocoa"},{"email":"isaac@saucelabs.com","username":"imurchie"},{"email":"dan@saucelabs.com","username":"dangraham"}],"license":"Apache-2.0","date":"2026-07-01T12:20:42.660Z","links":{"homepage":"https://appium.github.io/appium-safari-driver","repository":"git+https://github.com/appium/appium-safari-driver.git","bugs":"https://github.com/appium/appium-safari-driver/issues","npm":"https://www.npmjs.com/package/appium-safari-driver"}},"score":{"final":39.900284,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":62514,"weekly":14406},"dependents":"6","updated":"2026-07-20T05:25:08.756Z","searchScore":39.88542,"package":{"name":"atrament","keywords":["canvas","drawing","handwriting","graphics"],"version":"5.1.0","description":"Tiny JS library for beautiful drawing and handwriting on the HTML Canvas","sanitized_name":"atrament","publisher":{"email":"j4kub.fiala@gmail.com","username":"jakubfiala"},"maintainers":[{"email":"j4kub.fiala@gmail.com","username":"jakubfiala"}],"license":"SEE LICENSE IN LICENSE.md","date":"2025-09-26T10:40:00.667Z","links":{"homepage":"https://github.com/jakubfiala/atrament#readme","repository":"git+https://github.com/jakubfiala/atrament.git","bugs":"https://github.com/jakubfiala/atrament/issues","npm":"https://www.npmjs.com/package/atrament"}},"score":{"final":39.88542,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":11459,"weekly":3054},"dependents":"7","updated":"2026-07-20T22:10:33.109Z","searchScore":39.85858,"package":{"name":"@workday/canvas-tokens-web","keywords":[],"version":"4.3.0","description":"Canvas design tokens for web","sanitized_name":"@workday/canvas-tokens-web","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:6b787817-e1c9-4db9-884f-d432bb2f7364","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},{"email":"Manuel.carrera.91@gmail.com","username":"mannycarrera4"},{"email":"raisa.primerova@workday.com","username":"raisa.primerova"},{"email":"a.bax.smith@gmail.com","username":"alanbsmith"},{"email":"jaclynjessup@gmail.com","username":"jaclynjessup"},{"email":"jason@heddings.com","username":"jheddings"},{"email":"sheelah@sheelahb.com","username":"sheelah"}],"license":"CC-BY-ND-4.0","date":"2026-04-28T18:05:09.710Z","links":{"homepage":"https://github.com/Workday/canvas-tokens#readme","repository":"git+https://github.com/Workday/canvas-tokens.git","bugs":"https://github.com/Workday/canvas-tokens/issues","npm":"https://www.npmjs.com/package/@workday/canvas-tokens-web"}},"score":{"final":39.85858,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":92979,"weekly":22290},"dependents":"22","updated":"2026-07-20T05:27:16.446Z","searchScore":39.85442,"package":{"name":"babel-runtime-jsx-plus","keywords":["babel","runtime","jsxplus"],"version":"0.1.5","description":"Babel runtime support for jsx plus.","sanitized_name":"babel-runtime-jsx-plus","publisher":{"email":"wssgcg1213@qq.com","username":"zeroling"},"maintainers":[{"email":"wssgcg1213@qq.com","username":"zeroling"}],"license":"MIT","date":"2020-01-06T07:48:07.948Z","links":{"homepage":"https://github.com/jsx-plus/babel-runtime-jsx-plus#readme","repository":"git+https://github.com/jsx-plus/babel-runtime-jsx-plus.git","bugs":"https://github.com/jsx-plus/babel-runtime-jsx-plus/issues","npm":"https://www.npmjs.com/package/babel-runtime-jsx-plus"}},"score":{"final":39.85442,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":38788,"weekly":5909},"dependents":"1","updated":"2026-07-18T09:07:31.388Z","searchScore":39.83696,"package":{"name":"cdk8s-plus-29","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.6.0","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-29 synthesizes Kubernetes manifests for Kubernetes 1.29.0","sanitized_name":"cdk8s-plus-29","publisher":{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2025-02-25T07:01:16.844Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-29"}},"score":{"final":39.83696,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":32843,"weekly":8807},"dependents":"13","updated":"2026-07-17T09:54:23.217Z","searchScore":39.805252,"package":{"name":"inquirer-checkbox-plus-plus","keywords":["inquirer","checkbox","autocomplete","search","filter","searchable","highlight","source","api","promise","command","prompt","stdin","cli","tty","menu","esm","cjs","dual-package","inquirer-checkbox-plus-prompt-fork","maintained-fork"],"version":"1.1.1","description":"Checkbox with autocomplete and other additions for Inquirer (maintained fork)","sanitized_name":"inquirer-checkbox-plus-plus","publisher":{"email":"bhnmzm@gmail.com","username":"behnamazimi"},"maintainers":[{"email":"bhnmzm@gmail.com","username":"behnamazimi"}],"license":"MIT","date":"2025-10-30T07:48:50.570Z","links":{"homepage":"https://github.com/behnamazimi/inquirer-checkbox-plus-plus#readme","repository":"git+https://github.com/behnamazimi/inquirer-checkbox-plus-plus.git","bugs":"https://github.com/behnamazimi/inquirer-checkbox-plus-plus/issues","npm":"https://www.npmjs.com/package/inquirer-checkbox-plus-plus"}},"score":{"final":39.805252,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":60444,"weekly":16148},"dependents":"3","updated":"2026-07-18T09:07:43.168Z","searchScore":39.79927,"package":{"name":"eslint-plugin-sort-keys-plus","keywords":["eslint","eslintplugin","eslint-plugin"],"version":"1.5.0","description":"Fork of eslint rule that sorts keys in objects (https://eslint.org/docs/rules/sort-keys) with extra features","sanitized_name":"eslint-plugin-sort-keys-plus","publisher":{"email":"forivall@gmail.com","username":"forivall"},"maintainers":[{"email":"forivall@gmail.com","username":"forivall"}],"license":"ISC","date":"2025-05-13T00:44:10.806Z","links":{"repository":"https://github.com/forivall/eslint-plugin-sort-keys-plus","npm":"https://www.npmjs.com/package/eslint-plugin-sort-keys-plus"}},"score":{"final":39.79927,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":22672,"weekly":5525},"dependents":0,"updated":"2026-07-18T09:05:26.075Z","searchScore":39.79809,"package":{"name":"react-pts-canvas","keywords":[],"version":"0.5.2","description":"[![NPM](https://img.shields.io/npm/v/react-pts-canvas.svg)](https://www.npmjs.com/package/react-pts-canvas)","sanitized_name":"react-pts-canvas","publisher":{"email":"hello.mr.ngan@gmail.com","username":"williamngan"},"maintainers":[{"email":"hello.mr.ngan@gmail.com","username":"williamngan"}],"date":"2024-05-04T01:14:57.423Z","links":{"npm":"https://www.npmjs.com/package/react-pts-canvas"}},"score":{"final":39.79809,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":13690,"weekly":3274},"dependents":"1","updated":"2026-07-20T18:43:56.168Z","searchScore":39.671753,"package":{"name":"@workday/canvas-kit-preview-react","keywords":["canvas","canvas-kit","react","components","workday"],"version":"15.1.1","description":"Canvas Kit Preview is made up of components that have the full design and a11y review, are part of the DS ecosystem and are approved for use in product. The API's could be subject to change, but not without strong communication and migration strategies.","sanitized_name":"@workday/canvas-kit-preview-react","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"workday-canvas-kit","type":"user","email":"canvas.kit@workday.com"},"trustedPublisher":{"oidcConfigId":"oidc:8bb05293-c570-45cd-8089-1ba74750c9ff","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"canvas.kit@workday.com","username":"workday-canvas-kit"},{"email":"Manuel.carrera.91@gmail.com","username":"mannycarrera4"},{"email":"raisa.primerova@workday.com","username":"raisa.primerova"},{"email":"a.bax.smith@gmail.com","username":"alanbsmith"},{"email":"jaclynjessup@gmail.com","username":"jaclynjessup"},{"email":"jason@heddings.com","username":"jheddings"},{"email":"sheelah@sheelahb.com","username":"sheelah"},{"email":"npmjs-oss-user@workday.com","username":"dops"}],"license":"Apache-2.0","date":"2026-07-15T14:18:53.450Z","links":{"homepage":"https://github.com/Workday/canvas-kit#readme","repository":"git+https://github.com/Workday/canvas-kit.git","bugs":"https://github.com/Workday/canvas-kit/issues","npm":"https://www.npmjs.com/package/@workday/canvas-kit-preview-react"}},"score":{"final":39.671753,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":32788,"weekly":7781},"dependents":"1","updated":"2026-07-18T09:00:00.816Z","searchScore":39.586834,"package":{"name":"cdk8s-plus-31","keywords":["cdk","configuration","constructs","containers","k8s","kubernetes","microservices"],"version":"2.6.43","description":"cdk8s+ is a software development framework that provides high level abstractions for authoring Kubernetes applications. cdk8s-plus-31 synthesizes Kubernetes manifests for Kubernetes 1.31.0","sanitized_name":"cdk8s-plus-31","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"cdk8s-team","type":"user","email":"cdk8s-team@amazon.com"},"trustedPublisher":{"oidcConfigId":"oidc:a6b9b3bf-4068-4fdf-a2ad-fb46b6256b2b","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"cdk8s-team@amazon.com","username":"cdk8s-team"}],"license":"Apache-2.0","date":"2026-04-08T12:30:24.278Z","links":{"homepage":"https://github.com/cdk8s-team/cdk8s-plus#readme","repository":"git+https://github.com/cdk8s-team/cdk8s-plus.git","bugs":"https://github.com/cdk8s-team/cdk8s-plus/issues","npm":"https://www.npmjs.com/package/cdk8s-plus-31"}},"score":{"final":39.586834,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1384,"weekly":534},"dependents":0,"updated":"2026-07-19T21:21:11.271Z","searchScore":39.53631,"package":{"name":"@alisaitteke/seatmap-canvas","keywords":["seating","seatmap","seat-selection","angular","angular-component","angular-directive","angular14","angular17","vue","vue3","vuejs","react","reactjs","react-component","nextjs","next.js","nextjs-component","app-router","pages-router","server-components","seat-booking","theater-seating","event-seating","ticket-booking"],"version":"2.7.6","description":"Seatmap Canvas is an advanced, open-source library for interactive seat selection in various settings such as stadiums, theaters, and event spaces. Designed with d3.js, this code version is optimized for developers looking for a customizable and efficient","sanitized_name":"@alisaitteke/seatmap-canvas","publisher":{"email":"alisaitt@gmail.com","username":"axee"},"maintainers":[{"email":"alisaitt@gmail.com","username":"axee"}],"license":"MIT","date":"2026-04-26T20:23:43.591Z","links":{"homepage":"https://github.com/alisaitteke/seatmap-canvas","repository":"git+https://github.com/alisaitteke/seatmap-canvas.git","bugs":"https://github.com/alisaitteke/seatmap-canvas/issues","npm":"https://www.npmjs.com/package/@alisaitteke/seatmap-canvas"}},"score":{"final":39.53631,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":105328,"weekly":25055},"dependents":"10","updated":"2026-07-18T09:05:37.741Z","searchScore":39.50431,"package":{"name":"@rive-app/webgl","keywords":["rive","animation"],"version":"2.37.0","description":"Rive's webgl based web api.","sanitized_name":"@rive-app/webgl","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"rive-engineering","type":"user","email":"engineering@rive.app"},"trustedPublisher":{"oidcConfigId":"oidc:319d617d-3dfa-45b1-918d-9c97d83089b9","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"engineering@rive.app","username":"rive-engineering"},{"email":"luigi.rosso@gmail.com","username":"luigi-rosso"},{"email":"guido@rive.app","username":"guidorosso"},{"email":"arthur@rive.app","username":"avivian_rive"},{"email":"phil@rive.app","username":"phil_rive"}],"license":"MIT","date":"2026-04-03T20:14:37.269Z","links":{"homepage":"https://rive.app","repository":"git+https://github.com/rive-app/rive-wasm.git#master","bugs":"https://github.com/rive-app/rive-wasm/issues","npm":"https://www.npmjs.com/package/@rive-app/webgl"}},"score":{"final":39.50431,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":12278,"weekly":2311},"dependents":"6","updated":"2026-07-16T02:51:23.065Z","searchScore":39.49564,"package":{"name":"@lucky-canvas/vue","keywords":["vue3抽奖","大转盘抽奖","九宫格抽奖","抽奖插件","web抽奖","移动端抽奖","canvas抽奖"],"version":"0.1.11","description":"一个支持 vue2 / vue3 的（大转盘 / 九宫格 / 老虎机）luckydraw 抽奖插件","sanitized_name":"@lucky-canvas/vue","publisher":{"email":"ldq404@qq.com","username":"ldq404"},"maintainers":[{"email":"ldq404@qq.com","username":"ldq404"}],"license":"Apache-2.0","date":"2022-05-17T15:02:21.843Z","links":{"homepage":"https://100px.net","npm":"https://www.npmjs.com/package/@lucky-canvas/vue"}},"score":{"final":39.49564,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":4098,"weekly":241},"dependents":0,"updated":"2026-07-20T16:34:13.222Z","searchScore":39.47089,"package":{"name":"@gjsify/nativescript-vite","keywords":["vite","rolldown","nativescript","android","ios","gjsify"],"version":"0.20.0","description":"Vite 8 / Rolldown compatibility + gjsify transforms for building NativeScript apps — composes @nativescript/vite and fixes the pieces Rolldown rejects.","sanitized_name":"@gjsify/nativescript-vite","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:56dde168-82f8-4907-bf78-33e4f14d9d4b","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"pascal@artandcode.studio","username":"jumplink"},{"email":"schanz89@web.de","username":"schanz"},{"email":"npm@evanwelsh.com","username":"ewlsh"}],"license":"MIT","date":"2026-07-20T16:33:42.382Z","links":{"homepage":"https://github.com/gjsify/gjsify/tree/main/packages/infra/nativescript-vite#readme","repository":"git+https://github.com/gjsify/gjsify.git","bugs":"https://github.com/gjsify/gjsify/issues","npm":"https://www.npmjs.com/package/@gjsify/nativescript-vite"}},"score":{"final":39.47089,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":11668,"weekly":3475},"dependents":0,"updated":"2026-07-20T07:03:12.156Z","searchScore":39.408356,"package":{"name":"@openhands/agent-canvas","keywords":[],"version":"1.5.2","description":"Agent Canvas UI for OpenHands - run AI coding agents with a visual interface","sanitized_name":"@openhands/agent-canvas","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:6b6a9dc7-8817-49e8-9ab5-fa3e1ac12883","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"rohit@openhands.dev","username":"malhotra5"},{"email":"joe.laverty@openhands.dev","username":"jlav"},{"email":"robert@all-hands.dev","username":"rbren"}],"license":"MIT","date":"2026-07-20T07:02:40.841Z","links":{"homepage":"https://github.com/OpenHands/agent-canvas#readme","repository":"git+https://github.com/OpenHands/agent-canvas.git","bugs":"https://github.com/OpenHands/agent-canvas/issues","npm":"https://www.npmjs.com/package/@openhands/agent-canvas"}},"score":{"final":39.408356,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":66241,"weekly":15476},"dependents":"5","updated":"2026-07-20T05:24:15.495Z","searchScore":39.324883,"package":{"name":"@d3fc/d3fc-element","keywords":["d3","d3fc","element"],"version":"6.2.0","description":"Custom HTML elements that make it easier to create responsive visualisations that integrate easily with other UI frameworks (e.g. React, Angular)","sanitized_name":"@d3fc/d3fc-element","publisher":{"email":"price.c@gmail.com","username":"chrisprice"},"maintainers":[{"email":"price.c@gmail.com","username":"chrisprice"},{"email":"ceberhardt@scottlogic.com","username":"colineberhardt"},{"email":"tsimmons@scottlogic.co.uk","username":"tlsim"}],"license":"MIT","date":"2021-08-02T13:48:08.103Z","links":{"homepage":"https://github.com/d3fc/d3fc","repository":"git+https://github.com/d3fc/d3fc.git","bugs":"https://github.com/d3fc/d3fc/issues","npm":"https://www.npmjs.com/package/@d3fc/d3fc-element"}},"score":{"final":39.324883,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1569917,"weekly":366885},"dependents":"157","updated":"2026-07-20T05:25:11.964Z","searchScore":39.279594,"package":{"name":"blueimp-load-image","keywords":["javascript","load","loading","image","file","blob","url","scale","crop","rotate","img","canvas","meta","exif","orientation","thumbnail","iptc"],"version":"5.16.0","description":"JavaScript Load Image is a library to load images provided as File or Blob objects or via URL. It returns an optionally scaled, cropped or rotated HTML img or canvas element. It also provides methods to parse image metadata to extract IPTC and Exif tags a","sanitized_name":"blueimp-load-image","publisher":{"email":"mail@blueimp.net","username":"blueimp"},"maintainers":[{"email":"mail@blueimp.net","username":"blueimp"}],"license":"MIT","date":"2021-10-20T14:18:14.642Z","links":{"homepage":"https://github.com/blueimp/JavaScript-Load-Image","repository":"git://github.com/blueimp/JavaScript-Load-Image.git","bugs":"https://github.com/blueimp/JavaScript-Load-Image/issues","npm":"https://www.npmjs.com/package/blueimp-load-image"}},"score":{"final":39.279594,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":41266,"weekly":11253},"dependents":0,"updated":"2026-07-20T05:23:41.562Z","searchScore":39.276443,"package":{"name":"@voidzero-dev/vite-plus-darwin-x64","keywords":[],"version":"0.2.5","description":"The Unified Toolchain for the Web","sanitized_name":"@voidzero-dev/vite-plus-darwin-x64","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:31285858-9ee1-4855-a822-ec9b60e1b8f6","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"yyx990803@gmail.com","username":"yyx990803"},{"email":"vite@voidzero.dev","username":"vitebot"},{"email":"lynweklm@gmail.com","username":"broooooklyn"},{"email":"boshenc@gmail.com","username":"boshen"}],"license":"MIT","date":"2026-07-17T01:19:40.752Z","links":{"homepage":"https://viteplus.dev/guide","repository":"git+https://github.com/voidzero-dev/vite-plus.git","bugs":"https://github.com/voidzero-dev/vite-plus/issues","npm":"https://www.npmjs.com/package/@voidzero-dev/vite-plus-darwin-x64"}},"score":{"final":39.276443,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":1197305,"weekly":332920},"dependents":"20","updated":"2026-07-20T05:23:11.036Z","searchScore":39.268265,"package":{"name":"@newrelic/browser-agent","keywords":[],"version":"1.318.0","description":"New Relic Browser Agent","sanitized_name":"@newrelic/browser-agent","publisher":{"email":"npm-oidc-no-reply@github.com","actor":{"name":"newrelic","type":"user","email":"nodejs@newrelic.com"},"trustedPublisher":{"oidcConfigId":"oidc:f25f8405-7827-48d1-bebb-aa5127e9a581","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"nodejs@newrelic.com","username":"newrelic"}],"license":"Apache-2.0","date":"2026-07-09T18:16:55.640Z","links":{"homepage":"https://docs.newrelic.com/docs/browser/browser-monitoring","repository":"git+https://github.com/newrelic/newrelic-browser-agent.git","bugs":"https://github.com/newrelic/newrelic-browser-agent/issues","npm":"https://www.npmjs.com/package/@newrelic/browser-agent"}},"score":{"final":39.268265,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":10624,"weekly":1826},"dependents":"3","updated":"2026-07-14T08:11:25.144Z","searchScore":39.215878,"package":{"name":"canvas-context","keywords":["canvas","context","offscreen","worker","offscreen-canvas","2d","webgl","experimental-webgl","webgl2","bitmaprenderer","webgpu","gpupresent"],"version":"3.3.1","description":"Create a RenderingContext (2d, webgl, webgl2, bitmaprenderer, webgpu), optionally offscreen for possible use in a Worker.","sanitized_name":"canvas-context","publisher":{"email":"dmnsgn@gmail.com","username":"dmnsgn"},"maintainers":[{"email":"dmnsgn@gmail.com","username":"dmnsgn"}],"license":"MIT","date":"2025-09-15T21:17:39.165Z","links":{"homepage":"https://github.com/dmnsgn/canvas-context","repository":"git+https://github.com/dmnsgn/canvas-context.git","bugs":"https://github.com/dmnsgn/canvas-context/issues","npm":"https://www.npmjs.com/package/canvas-context"}},"score":{"final":39.215878,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":11103,"weekly":2438},"dependents":"3","updated":"2026-07-14T08:06:28.606Z","searchScore":39.213135,"package":{"name":"canvas-screenshot","keywords":["canvas","image","download","downloader"],"version":"4.2.2","description":"A one trick pony package to download an image from a canvas.","sanitized_name":"canvas-screenshot","publisher":{"email":"dmnsgn@gmail.com","username":"dmnsgn"},"maintainers":[{"email":"dmnsgn@gmail.com","username":"dmnsgn"}],"license":"MIT","date":"2024-07-06T15:26:38.099Z","links":{"homepage":"https://github.com/dmnsgn/canvas-screenshot","repository":"git+https://github.com/dmnsgn/canvas-screenshot.git","bugs":"https://github.com/dmnsgn/canvas-screenshot/issues","npm":"https://www.npmjs.com/package/canvas-screenshot"}},"score":{"final":39.213135,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":529711,"weekly":105563},"dependents":"32","updated":"2026-07-20T05:24:11.457Z","searchScore":39.210033,"package":{"name":"js-confetti","keywords":["confetti","js-confetti"],"version":"0.13.1","description":"JS Confetti library with zero dependencies, works without any config, TS typings included, adapts to user screen","sanitized_name":"js-confetti","publisher":{"email":"vladimirsuperwizard@gmail.com","username":"loonywizard"},"maintainers":[{"email":"vladimirsuperwizard@gmail.com","username":"loonywizard"}],"license":"MIT","date":"2025-09-02T21:27:03.834Z","links":{"homepage":"https://github.com/loonywizard/js-confetti","repository":"git+https://github.com/loonywizard/js-confetti.git","bugs":"https://github.com/loonywizard/js-confetti/issues","npm":"https://www.npmjs.com/package/js-confetti"}},"score":{"final":39.210033,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":278930,"weekly":53254},"dependents":"3","updated":"2026-07-19T05:30:00.783Z","searchScore":39.146126,"package":{"name":"oslllo-svg2","keywords":["svg2","oslllo","convert","svg-png","svg-bmp","svg-jpeg","svg-tiff","svg-image","svg-image","svg-to-png","svg-to-bmp","svg-to-jpeg","svg-to-tiff","svg-to-image","svg-to-element"],"version":"5.0.0","description":"Convert a SVG to multiple image formats (without puppeteer or a headless browser)","sanitized_name":"oslllo-svg2","publisher":{"email":"ghustavh97@gmail.com","username":"ghustavh97"},"maintainers":[{"email":"ghustavh97@gmail.com","username":"ghustavh97"}],"license":"MIT","date":"2025-12-22T17:14:37.816Z","links":{"homepage":"https://docs.oslllo.com/svg2/master","repository":"git+https://github.com/oslllo/svg2.git","bugs":"https://github.com/oslllo/svg2/issues","npm":"https://www.npmjs.com/package/oslllo-svg2"}},"score":{"final":39.146126,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}},{"downloads":{"monthly":19562,"weekly":4905},"dependents":"2","updated":"2026-07-18T08:56:09.227Z","searchScore":39.09491,"package":{"name":"@tsparticles/plugin-canvas-mask","keywords":["front-end","frontend","tsparticles","particles.js","particlesjs","particles","particle","canvas","jsparticles","xparticles","particles-js","particles-bg","particles-bg-vue","particles-ts","particles.ts","react-particles-js","react-particles.js","react-particles","react","reactjs","vue-particles","ngx-particles","angular-particles","particleground","vue","vuejs","preact","preactjs","jquery","angularjs","angular","typescript","javascript","animation","web","html5","web-design","webdesign","css","html","css3","animated","background","confetti","canvas","fireworks","fireworks-js","confetti-js","confettijs","fireworksjs","canvas-confetti","tsparticles-plugin"],"version":"4.3.2","description":"tsParticles canvas mask plugin","sanitized_name":"@tsparticles/plugin-canvas-mask","publisher":{"email":"npm-oidc-no-reply@github.com","trustedPublisher":{"oidcConfigId":"oidc:589eeee3-1cb8-43a6-87b7-a738b7a64b05","id":"github"},"username":"GitHub Actions"},"maintainers":[{"email":"ar3s@icloud.com","username":"matteobruni"}],"license":"MIT","date":"2026-07-10T10:35:13.447Z","links":{"homepage":"https://particles.js.org","repository":"git+https://github.com/tsparticles/tsparticles.git","bugs":"https://github.com/tsparticles/tsparticles/issues","npm":"https://www.npmjs.com/package/@tsparticles/plugin-canvas-mask"}},"score":{"final":39.09491,"detail":{"popularity":1,"quality":1,"maintenance":1}},"flags":{"insecure":0}}],"total":54497,"time":"2026-07-20T23:45:33.136Z"}