Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@fullcalendar/resource-daygrid

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fullcalendar/resource-daygrid - npm Package Compare versions

Comparing version 4.3.0 to 4.4.0

main.js.map

14

main.d.ts

@@ -16,3 +16,3 @@ // Generated by dts-bundle v0.7.3-fork.1

declare module '@fullcalendar/resource-daygrid/ResourceDayGridView' {
import { ComponentContext, ViewSpec, DateProfileGenerator } from '@fullcalendar/core';
import { ComponentContext } from '@fullcalendar/core';
import { AbstractDayGridView } from '@fullcalendar/daygrid';

@@ -27,5 +27,6 @@ import { ResourceDayHeader, ResourceViewProps } from '@fullcalendar/resource-common';

resourceDayGrid: ResourceDayGrid;
constructor(context: ComponentContext, viewSpec: ViewSpec, dateProfileGenerator: DateProfileGenerator, parentEl: HTMLElement);
destroy(): void;
render(props: ResourceViewProps): void;
_processOptions(options: any): void;
render(props: ResourceViewProps, context: ComponentContext): void;
_renderSkeleton(context: ComponentContext): void;
_unrenderSkeleton(): void;
}

@@ -54,5 +55,6 @@ }

dayGrid: DayGrid;
constructor(context: ComponentContext, dayGrid: DayGrid);
constructor(dayGrid: DayGrid);
firstContext(context: ComponentContext): void;
destroy(): void;
render(props: ResourceDayGridProps): void;
render(props: ResourceDayGridProps, context: ComponentContext): void;
buildPositionCaches(): void;

@@ -59,0 +61,0 @@ queryHit(positionLeft: number, positionTop: number): Hit;

/*!
FullCalendar Resource Day Grid Plugin v4.3.0
FullCalendar Resource Day Grid Plugin v4.4.0
Docs & License: https://fullcalendar.io/scheduler

@@ -53,4 +53,4 @@ (c) 2019 Adam Shaw

__extends(ResourceDayGrid, _super);
function ResourceDayGrid(context, dayGrid) {
var _this = _super.call(this, context, dayGrid.el) || this;
function ResourceDayGrid(dayGrid) {
var _this = _super.call(this, dayGrid.el) || this;
_this.splitter = new VResourceSplitter();

@@ -60,12 +60,14 @@ _this.slicers = {};

_this.dayGrid = dayGrid;
context.calendar.registerInteractiveComponent(_this, {
el: _this.dayGrid.el
});
return _this;
}
ResourceDayGrid.prototype.firstContext = function (context) {
context.calendar.registerInteractiveComponent(this, {
el: this.dayGrid.el
});
};
ResourceDayGrid.prototype.destroy = function () {
_super.prototype.destroy.call(this);
this.calendar.unregisterInteractiveComponent(this);
this.context.calendar.unregisterInteractiveComponent(this);
};
ResourceDayGrid.prototype.render = function (props) {
ResourceDayGrid.prototype.render = function (props, context) {
var _this = this;

@@ -79,6 +81,6 @@ var dayGrid = this.dayGrid;

var slicedProps = mapHash(this.slicers, function (slicer, resourceId) {
return slicer.sliceProps(splitProps[resourceId], dateProfile, nextDayThreshold, dayGrid, resourceDayTable.dayTable);
return slicer.sliceProps(splitProps[resourceId], dateProfile, nextDayThreshold, context.calendar, dayGrid, resourceDayTable.dayTable);
});
dayGrid.allowAcrossResources = resourceDayTable.dayTable.colCnt === 1;
dayGrid.receiveProps(__assign({}, this.joiner.joinProps(slicedProps, resourceDayTable), { dateProfile: dateProfile, cells: resourceDayTable.cells, isRigid: props.isRigid }));
dayGrid.receiveProps(__assign({}, this.joiner.joinProps(slicedProps, resourceDayTable), { dateProfile: dateProfile, cells: resourceDayTable.cells, isRigid: props.isRigid }), context);
};

@@ -127,24 +129,17 @@ ResourceDayGrid.prototype.buildPositionCaches = function () {

__extends(ResourceDayGridView, _super);
function ResourceDayGridView(context, viewSpec, dateProfileGenerator, parentEl) {
var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;
function ResourceDayGridView() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.flattenResources = memoize(flattenResources);
_this.buildResourceDayTable = memoize(buildResourceDayTable);
_this.resourceOrderSpecs = parseFieldSpecs(_this.opt('resourceOrder'));
if (_this.opt('columnHeader')) {
_this.header = new ResourceDayHeader(_this.context, _this.el.querySelector('.fc-head-container'));
}
_this.resourceDayGrid = new ResourceDayGrid(context, _this.dayGrid);
return _this;
}
ResourceDayGridView.prototype.destroy = function () {
_super.prototype.destroy.call(this);
if (this.header) {
this.header.destroy();
}
this.resourceDayGrid.destroy();
ResourceDayGridView.prototype._processOptions = function (options) {
_super.prototype._processOptions.call(this, options);
this.resourceOrderSpecs = parseFieldSpecs(options.resourceOrder);
};
ResourceDayGridView.prototype.render = function (props) {
_super.prototype.render.call(this, props); // for flags for updateSize
ResourceDayGridView.prototype.render = function (props, context) {
_super.prototype.render.call(this, props, context); // for flags for updateSize. also _renderSkeleton/_unrenderSkeleton
var options = context.options, nextDayThreshold = context.nextDayThreshold;
var resources = this.flattenResources(props.resourceStore, this.resourceOrderSpecs);
var resourceDayTable = this.buildResourceDayTable(this.props.dateProfile, this.dateProfileGenerator, resources, this.opt('datesAboveResources'));
var resourceDayTable = this.buildResourceDayTable(props.dateProfile, props.dateProfileGenerator, resources, options.datesAboveResources);
if (this.header) {

@@ -157,3 +152,3 @@ this.header.receiveProps({

renderIntroHtml: this.renderHeadIntroHtml
});
}, context);
}

@@ -171,5 +166,19 @@ this.resourceDayGrid.receiveProps({

isRigid: this.hasRigidRows(),
nextDayThreshold: this.nextDayThreshold
});
nextDayThreshold: nextDayThreshold
}, context);
};
ResourceDayGridView.prototype._renderSkeleton = function (context) {
_super.prototype._renderSkeleton.call(this, context);
if (context.options.columnHeader) {
this.header = new ResourceDayHeader(this.el.querySelector('.fc-head-container'));
}
this.resourceDayGrid = new ResourceDayGrid(this.dayGrid);
};
ResourceDayGridView.prototype._unrenderSkeleton = function () {
_super.prototype._unrenderSkeleton.call(this);
if (this.header) {
this.header.destroy();
}
this.resourceDayGrid.destroy();
};
ResourceDayGridView.needsResourceData = true; // for ResourceViewProps

@@ -176,0 +185,0 @@ return ResourceDayGridView;

/*!
FullCalendar Resource Day Grid Plugin v4.3.0
FullCalendar Resource Day Grid Plugin v4.4.0
Docs & License: https://fullcalendar.io/scheduler

@@ -58,4 +58,4 @@ (c) 2019 Adam Shaw

__extends(ResourceDayGrid, _super);
function ResourceDayGrid(context, dayGrid) {
var _this = _super.call(this, context, dayGrid.el) || this;
function ResourceDayGrid(dayGrid) {
var _this = _super.call(this, dayGrid.el) || this;
_this.splitter = new ResourceCommonPlugin.VResourceSplitter();

@@ -65,12 +65,14 @@ _this.slicers = {};

_this.dayGrid = dayGrid;
context.calendar.registerInteractiveComponent(_this, {
el: _this.dayGrid.el
});
return _this;
}
ResourceDayGrid.prototype.firstContext = function (context) {
context.calendar.registerInteractiveComponent(this, {
el: this.dayGrid.el
});
};
ResourceDayGrid.prototype.destroy = function () {
_super.prototype.destroy.call(this);
this.calendar.unregisterInteractiveComponent(this);
this.context.calendar.unregisterInteractiveComponent(this);
};
ResourceDayGrid.prototype.render = function (props) {
ResourceDayGrid.prototype.render = function (props, context) {
var _this = this;

@@ -84,6 +86,6 @@ var dayGrid = this.dayGrid;

var slicedProps = core.mapHash(this.slicers, function (slicer, resourceId) {
return slicer.sliceProps(splitProps[resourceId], dateProfile, nextDayThreshold, dayGrid, resourceDayTable.dayTable);
return slicer.sliceProps(splitProps[resourceId], dateProfile, nextDayThreshold, context.calendar, dayGrid, resourceDayTable.dayTable);
});
dayGrid.allowAcrossResources = resourceDayTable.dayTable.colCnt === 1;
dayGrid.receiveProps(__assign({}, this.joiner.joinProps(slicedProps, resourceDayTable), { dateProfile: dateProfile, cells: resourceDayTable.cells, isRigid: props.isRigid }));
dayGrid.receiveProps(__assign({}, this.joiner.joinProps(slicedProps, resourceDayTable), { dateProfile: dateProfile, cells: resourceDayTable.cells, isRigid: props.isRigid }), context);
};

@@ -132,24 +134,17 @@ ResourceDayGrid.prototype.buildPositionCaches = function () {

__extends(ResourceDayGridView, _super);
function ResourceDayGridView(context, viewSpec, dateProfileGenerator, parentEl) {
var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;
function ResourceDayGridView() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.flattenResources = core.memoize(ResourceCommonPlugin.flattenResources);
_this.buildResourceDayTable = core.memoize(buildResourceDayTable);
_this.resourceOrderSpecs = core.parseFieldSpecs(_this.opt('resourceOrder'));
if (_this.opt('columnHeader')) {
_this.header = new ResourceCommonPlugin.ResourceDayHeader(_this.context, _this.el.querySelector('.fc-head-container'));
}
_this.resourceDayGrid = new ResourceDayGrid(context, _this.dayGrid);
return _this;
}
ResourceDayGridView.prototype.destroy = function () {
_super.prototype.destroy.call(this);
if (this.header) {
this.header.destroy();
}
this.resourceDayGrid.destroy();
ResourceDayGridView.prototype._processOptions = function (options) {
_super.prototype._processOptions.call(this, options);
this.resourceOrderSpecs = core.parseFieldSpecs(options.resourceOrder);
};
ResourceDayGridView.prototype.render = function (props) {
_super.prototype.render.call(this, props); // for flags for updateSize
ResourceDayGridView.prototype.render = function (props, context) {
_super.prototype.render.call(this, props, context); // for flags for updateSize. also _renderSkeleton/_unrenderSkeleton
var options = context.options, nextDayThreshold = context.nextDayThreshold;
var resources = this.flattenResources(props.resourceStore, this.resourceOrderSpecs);
var resourceDayTable = this.buildResourceDayTable(this.props.dateProfile, this.dateProfileGenerator, resources, this.opt('datesAboveResources'));
var resourceDayTable = this.buildResourceDayTable(props.dateProfile, props.dateProfileGenerator, resources, options.datesAboveResources);
if (this.header) {

@@ -162,3 +157,3 @@ this.header.receiveProps({

renderIntroHtml: this.renderHeadIntroHtml
});
}, context);
}

@@ -176,5 +171,19 @@ this.resourceDayGrid.receiveProps({

isRigid: this.hasRigidRows(),
nextDayThreshold: this.nextDayThreshold
});
nextDayThreshold: nextDayThreshold
}, context);
};
ResourceDayGridView.prototype._renderSkeleton = function (context) {
_super.prototype._renderSkeleton.call(this, context);
if (context.options.columnHeader) {
this.header = new ResourceCommonPlugin.ResourceDayHeader(this.el.querySelector('.fc-head-container'));
}
this.resourceDayGrid = new ResourceDayGrid(this.dayGrid);
};
ResourceDayGridView.prototype._unrenderSkeleton = function () {
_super.prototype._unrenderSkeleton.call(this);
if (this.header) {
this.header.destroy();
}
this.resourceDayGrid.destroy();
};
ResourceDayGridView.needsResourceData = true; // for ResourceViewProps

@@ -181,0 +190,0 @@ return ResourceDayGridView;

/*!
FullCalendar Resource Day Grid Plugin v4.3.0
FullCalendar Resource Day Grid Plugin v4.4.0
Docs & License: https://fullcalendar.io/scheduler
(c) 2019 Adam Shaw
*/
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@fullcalendar/core"),require("@fullcalendar/resource-common"),require("@fullcalendar/daygrid")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core","@fullcalendar/resource-common","@fullcalendar/daygrid"],r):r((e=e||self).FullCalendarResourceDayGrid={},e.FullCalendar,e.FullCalendarResourceCommon,e.FullCalendarDayGrid)}(this,function(e,r,t,o){"use strict";var i="default"in t?t.default:t,a="default"in o?o.default:o,s=function(e,r){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)};function n(e,r){function t(){this.constructor=e}s(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}var l=function(){return(l=Object.assign||function(e){for(var r,t=1,o=arguments.length;t<o;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e}).apply(this,arguments)},c=function(e){function i(r,o){var i=e.call(this,r,o.el)||this;return i.splitter=new t.VResourceSplitter,i.slicers={},i.joiner=new d,i.dayGrid=o,r.calendar.registerInteractiveComponent(i,{el:i.dayGrid.el}),i}return n(i,e),i.prototype.destroy=function(){e.prototype.destroy.call(this),this.calendar.unregisterInteractiveComponent(this)},i.prototype.render=function(e){var t=this,i=this.dayGrid,a=e.dateProfile,s=e.resourceDayTable,n=e.nextDayThreshold,c=this.splitter.splitProps(e);this.slicers=r.mapHash(c,function(e,r){return t.slicers[r]||new o.DayGridSlicer});var d=r.mapHash(this.slicers,function(e,r){return e.sliceProps(c[r],a,n,i,s.dayTable)});i.allowAcrossResources=1===s.dayTable.colCnt,i.receiveProps(l({},this.joiner.joinProps(d,s),{dateProfile:a,cells:s.cells,isRigid:e.isRigid}))},i.prototype.buildPositionCaches=function(){this.dayGrid.buildPositionCaches()},i.prototype.queryHit=function(e,r){var t=this.dayGrid.positionToHit(e,r);if(t)return{component:this.dayGrid,dateSpan:{range:t.dateSpan.range,allDay:t.dateSpan.allDay,resourceId:this.props.resourceDayTable.cells[t.row][t.col].resource.id},dayEl:t.dayEl,rect:{left:t.relativeRect.left,right:t.relativeRect.right,top:t.relativeRect.top,bottom:t.relativeRect.bottom},layer:0}},i}(r.DateComponent),d=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return n(r,e),r.prototype.transformSeg=function(e,r,t){return r.computeColRanges(e.firstCol,e.lastCol,t).map(function(r){return l({},e,r,{isStart:e.isStart&&r.isStart,isEnd:e.isEnd&&r.isEnd})})},r}(t.VResourceJoiner),u=function(e){function o(o,i,a,s){var n=e.call(this,o,i,a,s)||this;return n.flattenResources=r.memoize(t.flattenResources),n.buildResourceDayTable=r.memoize(y),n.resourceOrderSpecs=r.parseFieldSpecs(n.opt("resourceOrder")),n.opt("columnHeader")&&(n.header=new t.ResourceDayHeader(n.context,n.el.querySelector(".fc-head-container"))),n.resourceDayGrid=new c(o,n.dayGrid),n}return n(o,e),o.prototype.destroy=function(){e.prototype.destroy.call(this),this.header&&this.header.destroy(),this.resourceDayGrid.destroy()},o.prototype.render=function(r){e.prototype.render.call(this,r);var t=this.flattenResources(r.resourceStore,this.resourceOrderSpecs),o=this.buildResourceDayTable(this.props.dateProfile,this.dateProfileGenerator,t,this.opt("datesAboveResources"));this.header&&this.header.receiveProps({resources:t,dates:o.dayTable.headerDates,dateProfile:r.dateProfile,datesRepDistinctDays:!0,renderIntroHtml:this.renderHeadIntroHtml}),this.resourceDayGrid.receiveProps({dateProfile:r.dateProfile,resourceDayTable:o,businessHours:r.businessHours,eventStore:r.eventStore,eventUiBases:r.eventUiBases,dateSelection:r.dateSelection,eventSelection:r.eventSelection,eventDrag:r.eventDrag,eventResize:r.eventResize,isRigid:this.hasRigidRows(),nextDayThreshold:this.nextDayThreshold})},o.needsResourceData=!0,o}(o.AbstractDayGridView);function y(e,r,i,a){var s=o.buildBasicDayTable(e,r);return a?new t.DayResourceTable(s,i):new t.ResourceDayTable(s,i)}var p=r.createPlugin({deps:[i,a],defaultView:"resourceDayGridDay",views:{resourceDayGrid:u,resourceDayGridDay:{type:"resourceDayGrid",duration:{days:1}},resourceDayGridWeek:{type:"resourceDayGrid",duration:{weeks:1}},resourceDayGridMonth:{type:"resourceDayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}});e.ResourceDayGrid=c,e.ResourceDayGridView=u,e.default=p,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@fullcalendar/core"),require("@fullcalendar/resource-common"),require("@fullcalendar/daygrid")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core","@fullcalendar/resource-common","@fullcalendar/daygrid"],r):r((e=e||self).FullCalendarResourceDayGrid={},e.FullCalendar,e.FullCalendarResourceCommon,e.FullCalendarDayGrid)}(this,function(e,r,t,o){"use strict";var i="default"in t?t.default:t,n="default"in o?o.default:o,s=function(e,r){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)};function a(e,r){function t(){this.constructor=e}s(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}var l=function(){return(l=Object.assign||function(e){for(var r,t=1,o=arguments.length;t<o;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e}).apply(this,arguments)},c=function(e){function i(r){var o=e.call(this,r.el)||this;return o.splitter=new t.VResourceSplitter,o.slicers={},o.joiner=new d,o.dayGrid=r,o}return a(i,e),i.prototype.firstContext=function(e){e.calendar.registerInteractiveComponent(this,{el:this.dayGrid.el})},i.prototype.destroy=function(){e.prototype.destroy.call(this),this.context.calendar.unregisterInteractiveComponent(this)},i.prototype.render=function(e,t){var i=this,n=this.dayGrid,s=e.dateProfile,a=e.resourceDayTable,c=e.nextDayThreshold,d=this.splitter.splitProps(e);this.slicers=r.mapHash(d,function(e,r){return i.slicers[r]||new o.DayGridSlicer});var u=r.mapHash(this.slicers,function(e,r){return e.sliceProps(d[r],s,c,t.calendar,n,a.dayTable)});n.allowAcrossResources=1===a.dayTable.colCnt,n.receiveProps(l({},this.joiner.joinProps(u,a),{dateProfile:s,cells:a.cells,isRigid:e.isRigid}),t)},i.prototype.buildPositionCaches=function(){this.dayGrid.buildPositionCaches()},i.prototype.queryHit=function(e,r){var t=this.dayGrid.positionToHit(e,r);if(t)return{component:this.dayGrid,dateSpan:{range:t.dateSpan.range,allDay:t.dateSpan.allDay,resourceId:this.props.resourceDayTable.cells[t.row][t.col].resource.id},dayEl:t.dayEl,rect:{left:t.relativeRect.left,right:t.relativeRect.right,top:t.relativeRect.top,bottom:t.relativeRect.bottom},layer:0}},i}(r.DateComponent),d=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return a(r,e),r.prototype.transformSeg=function(e,r,t){return r.computeColRanges(e.firstCol,e.lastCol,t).map(function(r){return l({},e,r,{isStart:e.isStart&&r.isStart,isEnd:e.isEnd&&r.isEnd})})},r}(t.VResourceJoiner),u=function(e){function o(){var o=null!==e&&e.apply(this,arguments)||this;return o.flattenResources=r.memoize(t.flattenResources),o.buildResourceDayTable=r.memoize(p),o}return a(o,e),o.prototype._processOptions=function(t){e.prototype._processOptions.call(this,t),this.resourceOrderSpecs=r.parseFieldSpecs(t.resourceOrder)},o.prototype.render=function(r,t){e.prototype.render.call(this,r,t);var o=t.options,i=t.nextDayThreshold,n=this.flattenResources(r.resourceStore,this.resourceOrderSpecs),s=this.buildResourceDayTable(r.dateProfile,r.dateProfileGenerator,n,o.datesAboveResources);this.header&&this.header.receiveProps({resources:n,dates:s.dayTable.headerDates,dateProfile:r.dateProfile,datesRepDistinctDays:!0,renderIntroHtml:this.renderHeadIntroHtml},t),this.resourceDayGrid.receiveProps({dateProfile:r.dateProfile,resourceDayTable:s,businessHours:r.businessHours,eventStore:r.eventStore,eventUiBases:r.eventUiBases,dateSelection:r.dateSelection,eventSelection:r.eventSelection,eventDrag:r.eventDrag,eventResize:r.eventResize,isRigid:this.hasRigidRows(),nextDayThreshold:i},t)},o.prototype._renderSkeleton=function(r){e.prototype._renderSkeleton.call(this,r),r.options.columnHeader&&(this.header=new t.ResourceDayHeader(this.el.querySelector(".fc-head-container"))),this.resourceDayGrid=new c(this.dayGrid)},o.prototype._unrenderSkeleton=function(){e.prototype._unrenderSkeleton.call(this),this.header&&this.header.destroy(),this.resourceDayGrid.destroy()},o.needsResourceData=!0,o}(o.AbstractDayGridView);function p(e,r,i,n){var s=o.buildBasicDayTable(e,r);return n?new t.DayResourceTable(s,i):new t.ResourceDayTable(s,i)}var y=r.createPlugin({deps:[i,n],defaultView:"resourceDayGridDay",views:{resourceDayGrid:u,resourceDayGridDay:{type:"resourceDayGrid",duration:{days:1}},resourceDayGridWeek:{type:"resourceDayGrid",duration:{weeks:1}},resourceDayGridMonth:{type:"resourceDayGrid",duration:{months:1},monthMode:!0,fixedWeekCount:!0}}});e.ResourceDayGrid=c,e.ResourceDayGridView=u,e.default=y,Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "@fullcalendar/resource-daygrid",
"version": "4.3.0",
"version": "4.4.0",
"title": "FullCalendar Resource Day Grid Plugin",

@@ -27,7 +27,7 @@ "description": "Displays events in individual columns for days and resources",

"dependencies": {
"@fullcalendar/resource-common": "~4.3.0",
"@fullcalendar/daygrid": "~4.3.0"
"@fullcalendar/resource-common": "~4.4.0",
"@fullcalendar/daygrid": "~4.4.0"
},
"peerDependencies": {
"@fullcalendar/core": "~4.3.0"
"@fullcalendar/core": "~4.4.0"
},

@@ -34,0 +34,0 @@ "main": "main.js",

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