New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pagedjs

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pagedjs - npm Package Compare versions

Comparing version 0.1.17 to 0.1.18

37

lib/chunker/layout.js

@@ -343,3 +343,4 @@ "use strict";

breakAvoid = void 0,
prev = void 0;
prev = void 0,
br = void 0;
while (!done) {

@@ -352,2 +353,3 @@ next = walker.next();

prev = undefined;
br = undefined;

@@ -362,2 +364,3 @@ if (node) {

var isFloat = false;
if ((0, _dom.isElement)(node)) {

@@ -369,2 +372,3 @@ var styles = window.getComputedStyle(node);

prev = breakAvoid && (0, _dom.nodeBefore)(node, rendered);
br = node.tagName === "BR" || node.tagName === "WBR";
}

@@ -378,3 +382,3 @@

if (!isFloat && (0, _dom.isElement)(node)) {
if (!br && !isFloat && (0, _dom.isElement)(node)) {
range = document.createRange();

@@ -392,11 +396,24 @@ range.setStartBefore(node);

if (!range && (0, _dom.isText)(node) && right > end && node.textContent.trim().length && window.getComputedStyle(node.parentNode)["break-inside"] !== "avoid") {
range = document.createRange();
offset = this.textBreak(node, start, end);
if (!offset) {
range = undefined;
} else {
range.setStart(node, offset);
if (!range && (0, _dom.isText)(node) && node.textContent.trim().length && window.getComputedStyle(node.parentNode)["break-inside"] !== "avoid") {
var rects = (0, _utils.getClientRects)(node);
var rect = void 0;
left = 0;
for (var i = 0; i != rects.length; i++) {
rect = rects[i];
if (!left || rect.left > left) {
left = rect.left;
}
}
break;
if (left >= end) {
range = document.createRange();
offset = this.textBreak(node, start, end);
if (!offset) {
range = undefined;
} else {
range.setStart(node, offset);
}
break;
}
}

@@ -403,0 +420,0 @@

@@ -6,2 +6,2 @@ "use strict";

});
exports.default = "\n:root {\n --width: 8.5in;\n --height: 11in;\n --margin-top: 1in;\n --margin-right: 1in;\n --margin-bottom: 1in;\n --margin-left: 1in;\n --page-count: 0;\n}\n\n@page {\n size: letter;\n margin: 0;\n}\n\n.pagedjs_page {\n box-sizing: border-box;\n width: var(--width);\n height: var(--height);\n overflow: hidden;\n position: relative;\n display: grid;\n grid-template-columns: [left] var(--margin-left) [center] calc(var(--width) - var(--margin-left) - var(--margin-right)) [right] var(--margin-right);\n grid-template-rows: [header] var(--margin-top) [page] calc(var(--height) - var(--margin-top) - var(--margin-bottom)) [footer] var(--margin-bottom);\n}\n\n.pagedjs_page * {\n box-sizing: border-box;\n}\n\n.pagedjs_margin-top {\n width: calc(var(--width) - var(--margin-left) - var(--margin-right));\n height: var(--margin-top);\n grid-column: center;\n grid-row: header;\n flex-wrap: nowrap;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: 100%;\n}\n\n.pagedjs_margin-top-left-corner-holder {\n width: var(--margin-left);\n height: var(--margin-top);\n display: flex;\n grid-column: left;\n grid-row: header;\n}\n\n.pagedjs_margin-top-right-corner-holder {\n width: var(--margin-right);\n height: var(--margin-top);\n display: flex;\n grid-column: right;\n grid-row: header;\n}\n\n.pagedjs_margin-top-left-corner {\n width: var(--margin-left);\n}\n\n.pagedjs_margin-top-right-corner {\n width: var(--margin-right);\n}\n\n\n.pagedjs_margin-right {\n height: calc(var(--height) - var(--margin-top) - var(--margin-bottom));\n width: var(--margin-right);\n right: 0;\n grid-column: right;\n grid-row: page;\n display: grid;\n grid-template-rows: repeat(3, 33.3333%);\n grid-template-columns: 100%;\n}\n\n\n\n.pagedjs_margin-bottom {\n width: calc(var(--width) - var(--margin-left) - var(--margin-right));\n height: var(--margin-bottom);\n grid-column: center;\n grid-row: footer;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: 100%;\n}\n\n.pagedjs_margin-bottom-left-corner-holder {\n width: var(--margin-left);\n height: var(--margin-bottom);\n display: flex;\n grid-column: left;\n grid-row: footer;\n}\n\n.pagedjs_margin-bottom-right-corner-holder {\n width: var(--margin-right);\n height: var(--margin-bottom);\n display: flex;\n grid-column: right;\n grid-row: footer;\n}\n\n.pagedjs_margin-bottom-left-corner {\n width: var(--margin-left);\n}\n\n.pagedjs_margin-bottom-right-corner {\n width: var(--margin-right);\n}\n\n\n\n.pagedjs_margin-left {\n height: calc(var(--height) - var(--margin-top) - var(--margin-bottom));\n width: var(--margin-left);\n grid-column: left;\n grid-row: page;\n display: grid;\n grid-template-rows: repeat(3, 33.33333%);\n grid-template-columns: 100%;\n}\n\n.pagedjs_pages .pagedjs_page .pagedjs_margin:not(.hasContent) {\n visibility: hidden;\n}\n\n.pagedjs_page > .pagedjs_area {\n grid-column: center;\n grid-row: page;\n width: 100%;\n height: 100%;\n}\n\n.pagedjs_page > .pagedjs_area > .pagedjs_page_content {\n width: 100%;\n height: 100%;\n position: relative;\n column-fill: auto;\n}\n\n.pagedjs_page {\n counter-increment: page;\n}\n\n.pagedjs_pages {\n counter-reset: pages var(--page-count);\n}\n\n\n.pagedjs_page .pagedjs_margin-top-left-corner,\n.pagedjs_page .pagedjs_margin-top-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-left-corner,\n.pagedjs_page .pagedjs_margin-bottom-right-corner,\n.pagedjs_page .pagedjs_margin-top-left,\n.pagedjs_page .pagedjs_margin-top-right,\n.pagedjs_page .pagedjs_margin-bottom-left,\n.pagedjs_page .pagedjs_margin-bottom-right,\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center,\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center,\n.pagedjs_margin-right-middle,\n.pagedjs_margin-left-middle {\n display: flex;\n align-items: center;\n}\n\n.pagedjs_margin-right-top,\n.pagedjs_margin-left-top {\n display: flex;\n align-items: flex-top;\n}\n\n\n.pagedjs_margin-right-bottom,\n.pagedjs_margin-left-bottom {\n display: flex;\n align-items: flex-end;\n}\n\n\n\n/*\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center {\n height: 100%;\n display: none;\n align-items: center;\n flex: 1 0 33%;\n margin: 0 auto;\n}\n\n.pagedjs_page .pagedjs_margin-top-left-corner,\n.pagedjs_page .pagedjs_margin-top-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-left-corner {\n display: none;\n align-items: center;\n}\n\n.pagedjs_page .pagedjs_margin-left-top,\n.pagedjs_page .pagedjs_margin-right-top {\n display: none;\n align-items: flex-start;\n}\n\n.pagedjs_page .pagedjs_margin-right-middle,\n.pagedjs_page .pagedjs_margin-left-middle {\n display: none;\n align-items: center;\n}\n\n.pagedjs_page .pagedjs_margin-left-bottom,\n.pagedjs_page .pagedjs_margin-right-bottom {\n display: none;\n align-items: flex-end;\n}\n*/\n\n.pagedjs_page .pagedjs_margin-top-left,\n.pagedjs_page .pagedjs_margin-top-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-left,\n.pagedjs_page .pagedjs_margin-bottom-right-corner { text-align: left; }\n\n.pagedjs_page .pagedjs_margin-top-left-corner,\n.pagedjs_page .pagedjs_margin-top-right,\n.pagedjs_page .pagedjs_margin-bottom-left-corner,\n.pagedjs_page .pagedjs_margin-bottom-right { text-align: right; }\n\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center,\n.pagedjs_page .pagedjs_margin-left-top,\n.pagedjs_page .pagedjs_margin-left-middle,\n.pagedjs_page .pagedjs_margin-left-bottom,\n.pagedjs_page .pagedjs_margin-right-top,\n.pagedjs_page .pagedjs_margin-right-middle,\n.pagedjs_page .pagedjs_margin-right-bottom { text-align: center; }\n\n.pagedjs_pages .pagedjs_margin .pagedjs_margin-content {\n width: 100%;\n}\n\n.pagedjs_pages .pagedjs_margin-left .pagedjs_margin-content::after,\n.pagedjs_pages .pagedjs_margin-top .pagedjs_margin-content::after,\n.pagedjs_pages .pagedjs_margin-right .pagedjs_margin-content::after,\n.pagedjs_pages .pagedjs_margin-bottom .pagedjs_margin-content::after {\n display: block;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-to] {\n margin-bottom: unset;\n padding-bottom: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from] {\n text-indent: unset;\n margin-top: unset;\n padding-top: unset;\n initial-letter: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from] > *::first-letter,\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from]::first-letter {\n color: unset;\n font-size: unset;\n font-weight: unset;\n font-family: unset;\n color: unset;\n line-height: unset;\n float: unset;\n padding: unset;\n margin: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-to]:after,\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-to]::after {\n content: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from]:before,\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from]::before {\n content: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div li[data-split-from]:first-of-type {\n list-style: none;\n}\n\n/*\n[data-page]:not([data-split-from]),\n[data-break-before=\"page\"]:not([data-split-from]),\n[data-break-before=\"always\"]:not([data-split-from]),\n[data-break-before=\"left\"]:not([data-split-from]),\n[data-break-before=\"right\"]:not([data-split-from]),\n[data-break-before=\"recto\"]:not([data-split-from]),\n[data-break-before=\"verso\"]:not([data-split-from])\n{\n break-before: column;\n}\n\n[data-page]:not([data-split-to]),\n[data-break-after=\"page\"]:not([data-split-to]),\n[data-break-after=\"always\"]:not([data-split-to]),\n[data-break-after=\"left\"]:not([data-split-to]),\n[data-break-after=\"right\"]:not([data-split-to]),\n[data-break-after=\"recto\"]:not([data-split-to]),\n[data-break-after=\"verso\"]:not([data-split-to])\n{\n break-after: column;\n}\n*/\n\n.pagedjs_clear-after::after {\n content: none !important;\n}\n\n@media print {\n html {\n width: 100%;\n height: 100%;\n }\n body {\n margin: 0;\n padding: 0;\n width: 100% !important;\n height: 100% !important;\n min-width: 100%;\n max-width: 100%;\n min-height: 100%;\n max-height: 100%;\n }\n .pagedjs_pages {\n width: var(--width);\n display: block !important;\n transform: none !important;\n height: 100% !important;\n min-height: 100%;\n max-height: 100%;\n overflow: visible;\n }\n .pagedjs_page {\n margin: 0;\n padding: 0;\n max-height: 100%;\n min-height: 100%;\n height: 100% !important;\n page-break-after: always;\n break-after: page;\n }\n}\n";
exports.default = "\n:root {\n --width: 8.5in;\n --height: 11in;\n --margin-top: 1in;\n --margin-right: 1in;\n --margin-bottom: 1in;\n --margin-left: 1in;\n --page-count: 0;\n}\n\n@page {\n size: letter;\n margin: 0;\n}\n\n.pagedjs_page {\n box-sizing: border-box;\n width: var(--width);\n height: var(--height);\n overflow: hidden;\n position: relative;\n display: grid;\n grid-template-columns: [left] var(--margin-left) [center] calc(var(--width) - var(--margin-left) - var(--margin-right)) [right] var(--margin-right);\n grid-template-rows: [header] var(--margin-top) [page] calc(var(--height) - var(--margin-top) - var(--margin-bottom)) [footer] var(--margin-bottom);\n}\n\n.pagedjs_page * {\n box-sizing: border-box;\n}\n\n.pagedjs_margin-top {\n width: calc(var(--width) - var(--margin-left) - var(--margin-right));\n height: var(--margin-top);\n grid-column: center;\n grid-row: header;\n flex-wrap: nowrap;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: 100%;\n}\n\n.pagedjs_margin-top-left-corner-holder {\n width: var(--margin-left);\n height: var(--margin-top);\n display: flex;\n grid-column: left;\n grid-row: header;\n}\n\n.pagedjs_margin-top-right-corner-holder {\n width: var(--margin-right);\n height: var(--margin-top);\n display: flex;\n grid-column: right;\n grid-row: header;\n}\n\n.pagedjs_margin-top-left-corner {\n width: var(--margin-left);\n}\n\n.pagedjs_margin-top-right-corner {\n width: var(--margin-right);\n}\n\n\n.pagedjs_margin-right {\n height: calc(var(--height) - var(--margin-top) - var(--margin-bottom));\n width: var(--margin-right);\n right: 0;\n grid-column: right;\n grid-row: page;\n display: grid;\n grid-template-rows: repeat(3, 33.3333%);\n grid-template-columns: 100%;\n}\n\n\n\n.pagedjs_margin-bottom {\n width: calc(var(--width) - var(--margin-left) - var(--margin-right));\n height: var(--margin-bottom);\n grid-column: center;\n grid-row: footer;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: 100%;\n}\n\n.pagedjs_margin-bottom-left-corner-holder {\n width: var(--margin-left);\n height: var(--margin-bottom);\n display: flex;\n grid-column: left;\n grid-row: footer;\n}\n\n.pagedjs_margin-bottom-right-corner-holder {\n width: var(--margin-right);\n height: var(--margin-bottom);\n display: flex;\n grid-column: right;\n grid-row: footer;\n}\n\n.pagedjs_margin-bottom-left-corner {\n width: var(--margin-left);\n}\n\n.pagedjs_margin-bottom-right-corner {\n width: var(--margin-right);\n}\n\n\n\n.pagedjs_margin-left {\n height: calc(var(--height) - var(--margin-top) - var(--margin-bottom));\n width: var(--margin-left);\n grid-column: left;\n grid-row: page;\n display: grid;\n grid-template-rows: repeat(3, 33.33333%);\n grid-template-columns: 100%;\n}\n\n.pagedjs_pages .pagedjs_page .pagedjs_margin:not(.hasContent) {\n visibility: hidden;\n}\n\n.pagedjs_page > .pagedjs_area {\n grid-column: center;\n grid-row: page;\n width: 100%;\n height: 100%;\n}\n\n.pagedjs_page > .pagedjs_area > .pagedjs_page_content {\n width: 100%;\n height: 100%;\n position: relative;\n column-fill: auto;\n}\n\n.pagedjs_page {\n counter-increment: page;\n}\n\n.pagedjs_pages {\n counter-reset: pages var(--page-count);\n}\n\n\n.pagedjs_page .pagedjs_margin-top-left-corner,\n.pagedjs_page .pagedjs_margin-top-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-left-corner,\n.pagedjs_page .pagedjs_margin-bottom-right-corner,\n.pagedjs_page .pagedjs_margin-top-left,\n.pagedjs_page .pagedjs_margin-top-right,\n.pagedjs_page .pagedjs_margin-bottom-left,\n.pagedjs_page .pagedjs_margin-bottom-right,\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center,\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center,\n.pagedjs_margin-right-middle,\n.pagedjs_margin-left-middle {\n display: flex;\n align-items: center;\n}\n\n.pagedjs_margin-right-top,\n.pagedjs_margin-left-top {\n display: flex;\n align-items: flex-top;\n}\n\n\n.pagedjs_margin-right-bottom,\n.pagedjs_margin-left-bottom {\n display: flex;\n align-items: flex-end;\n}\n\n\n\n/*\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center {\n height: 100%;\n display: none;\n align-items: center;\n flex: 1 0 33%;\n margin: 0 auto;\n}\n\n.pagedjs_page .pagedjs_margin-top-left-corner,\n.pagedjs_page .pagedjs_margin-top-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-left-corner {\n display: none;\n align-items: center;\n}\n\n.pagedjs_page .pagedjs_margin-left-top,\n.pagedjs_page .pagedjs_margin-right-top {\n display: none;\n align-items: flex-start;\n}\n\n.pagedjs_page .pagedjs_margin-right-middle,\n.pagedjs_page .pagedjs_margin-left-middle {\n display: none;\n align-items: center;\n}\n\n.pagedjs_page .pagedjs_margin-left-bottom,\n.pagedjs_page .pagedjs_margin-right-bottom {\n display: none;\n align-items: flex-end;\n}\n*/\n\n.pagedjs_page .pagedjs_margin-top-left,\n.pagedjs_page .pagedjs_margin-top-right-corner,\n.pagedjs_page .pagedjs_margin-bottom-left,\n.pagedjs_page .pagedjs_margin-bottom-right-corner { text-align: left; }\n\n.pagedjs_page .pagedjs_margin-top-left-corner,\n.pagedjs_page .pagedjs_margin-top-right,\n.pagedjs_page .pagedjs_margin-bottom-left-corner,\n.pagedjs_page .pagedjs_margin-bottom-right { text-align: right; }\n\n.pagedjs_page .pagedjs_margin-top-center,\n.pagedjs_page .pagedjs_margin-bottom-center,\n.pagedjs_page .pagedjs_margin-left-top,\n.pagedjs_page .pagedjs_margin-left-middle,\n.pagedjs_page .pagedjs_margin-left-bottom,\n.pagedjs_page .pagedjs_margin-right-top,\n.pagedjs_page .pagedjs_margin-right-middle,\n.pagedjs_page .pagedjs_margin-right-bottom { text-align: center; }\n\n.pagedjs_pages .pagedjs_margin .pagedjs_margin-content {\n width: 100%;\n}\n\n.pagedjs_pages .pagedjs_margin-left .pagedjs_margin-content::after,\n.pagedjs_pages .pagedjs_margin-top .pagedjs_margin-content::after,\n.pagedjs_pages .pagedjs_margin-right .pagedjs_margin-content::after,\n.pagedjs_pages .pagedjs_margin-bottom .pagedjs_margin-content::after {\n display: block;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-to] {\n margin-bottom: unset;\n padding-bottom: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from] {\n text-indent: unset;\n margin-top: unset;\n padding-top: unset;\n initial-letter: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from] > *::first-letter,\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from]::first-letter {\n color: unset;\n font-size: unset;\n font-weight: unset;\n font-family: unset;\n color: unset;\n line-height: unset;\n float: unset;\n padding: unset;\n margin: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-to]:after,\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-to]::after {\n content: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from]:before,\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div [data-split-from]::before {\n content: unset;\n}\n\n.pagedjs_pages > .pagedjs_page > .pagedjs_area > div li[data-split-from]:first-of-type {\n list-style: none;\n}\n\n/*\n[data-page]:not([data-split-from]),\n[data-break-before=\"page\"]:not([data-split-from]),\n[data-break-before=\"always\"]:not([data-split-from]),\n[data-break-before=\"left\"]:not([data-split-from]),\n[data-break-before=\"right\"]:not([data-split-from]),\n[data-break-before=\"recto\"]:not([data-split-from]),\n[data-break-before=\"verso\"]:not([data-split-from])\n{\n break-before: column;\n}\n\n[data-page]:not([data-split-to]),\n[data-break-after=\"page\"]:not([data-split-to]),\n[data-break-after=\"always\"]:not([data-split-to]),\n[data-break-after=\"left\"]:not([data-split-to]),\n[data-break-after=\"right\"]:not([data-split-to]),\n[data-break-after=\"recto\"]:not([data-split-to]),\n[data-break-after=\"verso\"]:not([data-split-to])\n{\n break-after: column;\n}\n*/\n\n.pagedjs_clear-after::after {\n content: none !important;\n}\n\nimg {\n height: auto;\n}\n\n@media print {\n html {\n width: 100%;\n height: 100%;\n }\n body {\n margin: 0;\n padding: 0;\n width: 100% !important;\n height: 100% !important;\n min-width: 100%;\n max-width: 100%;\n min-height: 100%;\n max-height: 100%;\n }\n .pagedjs_pages {\n width: var(--width);\n display: block !important;\n transform: none !important;\n height: 100% !important;\n min-height: 100%;\n max-height: 100%;\n overflow: visible;\n }\n .pagedjs_page {\n margin: 0;\n padding: 0;\n max-height: 100%;\n min-height: 100%;\n height: 100% !important;\n page-break-after: always;\n break-after: page;\n }\n}\n";

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -7,2 +7,3 @@ Object.defineProperty(exports, "__esModule", {

exports.getBoundingClientRect = getBoundingClientRect;
exports.getClientRects = getClientRects;
exports.UUID = UUID;

@@ -27,2 +28,17 @@ exports.positionInNodeList = positionInNodeList;

function getClientRects(element) {
if (!element) {
return;
}
var rect = void 0;
if (typeof element.getClientRects !== "undefined") {
rect = element.getClientRects();
} else {
var range = document.createRange();
range.selectNode(element);
rect = range.getClientRects();
}
return rect;
}
/**

@@ -29,0 +45,0 @@ * Generates a UUID

{
"name": "pagedjs",
"version": "0.1.17",
"version": "0.1.18",
"description": "Chunks up a document into paged media flows and applies print styles",

@@ -5,0 +5,0 @@ "author": "Fred Chasen",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc