@paprika/guard
Advanced tools
| import React from "react"; | ||
| import PropTypes from "prop-types"; | ||
| import { GuardRegistrationContext } from "./GuardSupervisor"; | ||
| var propTypes = { | ||
| isDirty: PropTypes.bool, | ||
| group: PropTypes.string | ||
| }; | ||
| var defaultProps = { | ||
| isDirty: false, | ||
| group: null | ||
| }; | ||
| export default function GuardConnector(_ref) { | ||
| var group = _ref.group, | ||
| isDirty = _ref.isDirty; | ||
| var registerGuard = React.useContext(GuardRegistrationContext); | ||
| var updateConnectorStatus = React.useRef(null); | ||
| React.useEffect(function () { | ||
| var _registerGuard = registerGuard(group), | ||
| unregister = _registerGuard.unregister, | ||
| updateStatus = _registerGuard.updateStatus; | ||
| updateConnectorStatus.current = updateStatus; | ||
| return function cleanup() { | ||
| updateConnectorStatus.current = null; | ||
| unregister(); | ||
| }; | ||
| }, [group, registerGuard]); | ||
| React.useEffect(function () { | ||
| if (updateConnectorStatus.current) { | ||
| updateConnectorStatus.current(isDirty); | ||
| } | ||
| }, [isDirty]); | ||
| return null; | ||
| } | ||
| GuardConnector.displayName = "Guard.Connector"; | ||
| GuardConnector.propTypes = propTypes; | ||
| GuardConnector.defaultProps = defaultProps; | ||
| //# sourceMappingURL=GuardConnector.js.map |
| {"version":3,"sources":["../../src/GuardConnector.js"],"names":["React","PropTypes","GuardRegistrationContext","propTypes","isDirty","bool","group","string","defaultProps","GuardConnector","registerGuard","useContext","updateConnectorStatus","useRef","useEffect","unregister","updateStatus","current","cleanup","displayName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,wBAAT,QAAyC,mBAAzC;AAEA,IAAMC,SAAS,GAAG;AAChBC,EAAAA,OAAO,EAAEH,SAAS,CAACI,IADH;AAEhBC,EAAAA,KAAK,EAAEL,SAAS,CAACM;AAFD,CAAlB;AAKA,IAAMC,YAAY,GAAG;AACnBJ,EAAAA,OAAO,EAAE,KADU;AAEnBE,EAAAA,KAAK,EAAE;AAFY,CAArB;AAKA,eAAe,SAASG,cAAT,OAA4C;AAAA,MAAlBH,KAAkB,QAAlBA,KAAkB;AAAA,MAAXF,OAAW,QAAXA,OAAW;AACzD,MAAMM,aAAa,GAAGV,KAAK,CAACW,UAAN,CAAiBT,wBAAjB,CAAtB;AACA,MAAMU,qBAAqB,GAAGZ,KAAK,CAACa,MAAN,CAAa,IAAb,CAA9B;AAEAb,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAM;AAAA,yBACiBJ,aAAa,CAACJ,KAAD,CAD9B;AAAA,QACZS,UADY,kBACZA,UADY;AAAA,QACAC,YADA,kBACAA,YADA;;AAGpBJ,IAAAA,qBAAqB,CAACK,OAAtB,GAAgCD,YAAhC;AAEA,WAAO,SAASE,OAAT,GAAmB;AACxBN,MAAAA,qBAAqB,CAACK,OAAtB,GAAgC,IAAhC;AACAF,MAAAA,UAAU;AACX,KAHD;AAID,GATD,EASG,CAACT,KAAD,EAAQI,aAAR,CATH;AAWAV,EAAAA,KAAK,CAACc,SAAN,CAAgB,YAAM;AACpB,QAAIF,qBAAqB,CAACK,OAA1B,EAAmC;AACjCL,MAAAA,qBAAqB,CAACK,OAAtB,CAA8Bb,OAA9B;AACD;AACF,GAJD,EAIG,CAACA,OAAD,CAJH;AAMA,SAAO,IAAP;AACD;AAEDK,cAAc,CAACU,WAAf,GAA6B,iBAA7B;AACAV,cAAc,CAACN,SAAf,GAA2BA,SAA3B;AACAM,cAAc,CAACD,YAAf,GAA8BA,YAA9B","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { GuardRegistrationContext } from \"./GuardSupervisor\";\n\nconst propTypes = {\n isDirty: PropTypes.bool,\n group: PropTypes.string,\n};\n\nconst defaultProps = {\n isDirty: false,\n group: null,\n};\n\nexport default function GuardConnector({ group, isDirty }) {\n const registerGuard = React.useContext(GuardRegistrationContext);\n const updateConnectorStatus = React.useRef(null);\n\n React.useEffect(() => {\n const { unregister, updateStatus } = registerGuard(group);\n\n updateConnectorStatus.current = updateStatus;\n\n return function cleanup() {\n updateConnectorStatus.current = null;\n unregister();\n };\n }, [group, registerGuard]);\n\n React.useEffect(() => {\n if (updateConnectorStatus.current) {\n updateConnectorStatus.current(isDirty);\n }\n }, [isDirty]);\n\n return null;\n}\n\nGuardConnector.displayName = \"Guard.Connector\";\nGuardConnector.propTypes = propTypes;\nGuardConnector.defaultProps = defaultProps;\n"],"file":"GuardConnector.js"} |
| import React from "react"; | ||
| import PropTypes from "prop-types"; | ||
| import { GuardGatekeeperContext } from "./GuardSupervisor"; | ||
| var propTypes = { | ||
| children: PropTypes.func, | ||
| alertMessage: PropTypes.string, | ||
| group: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) | ||
| }; | ||
| var defaultProps = { | ||
| alertMessage: "", | ||
| children: null, | ||
| group: null | ||
| }; | ||
| export function useGuard() { | ||
| return React.useContext(GuardGatekeeperContext); | ||
| } | ||
| export default function GuardGatekeeper(_ref) { | ||
| var alertMessage = _ref.alertMessage, | ||
| children = _ref.children, | ||
| group = _ref.group; | ||
| var canLeave = useGuard(); | ||
| if (!children) { | ||
| return null; | ||
| } | ||
| return children(function () { | ||
| return canLeave({ | ||
| alertMessage: alertMessage, | ||
| group: group | ||
| }); | ||
| }); | ||
| } | ||
| GuardGatekeeper.displayName = "Guard.Gatekeeper"; | ||
| GuardGatekeeper.propTypes = propTypes; | ||
| GuardGatekeeper.defaultProps = defaultProps; | ||
| //# sourceMappingURL=GuardGatekeeper.js.map |
| {"version":3,"sources":["../../src/GuardGatekeeper.js"],"names":["React","PropTypes","GuardGatekeeperContext","propTypes","children","func","alertMessage","string","group","oneOfType","arrayOf","defaultProps","useGuard","useContext","GuardGatekeeper","canLeave","displayName"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,sBAAT,QAAuC,mBAAvC;AAEA,IAAMC,SAAS,GAAG;AAChBC,EAAAA,QAAQ,EAAEH,SAAS,CAACI,IADJ;AAEhBC,EAAAA,YAAY,EAAEL,SAAS,CAACM,MAFR;AAGhBC,EAAAA,KAAK,EAAEP,SAAS,CAACQ,SAAV,CAAoB,CAACR,SAAS,CAACM,MAAX,EAAmBN,SAAS,CAACS,OAAV,CAAkBT,SAAS,CAACM,MAA5B,CAAnB,CAApB;AAHS,CAAlB;AAMA,IAAMI,YAAY,GAAG;AACnBL,EAAAA,YAAY,EAAE,EADK;AAEnBF,EAAAA,QAAQ,EAAE,IAFS;AAGnBI,EAAAA,KAAK,EAAE;AAHY,CAArB;AAMA,OAAO,SAASI,QAAT,GAAoB;AACzB,SAAOZ,KAAK,CAACa,UAAN,CAAiBX,sBAAjB,CAAP;AACD;AAED,eAAe,SAASY,eAAT,OAA4D;AAAA,MAAjCR,YAAiC,QAAjCA,YAAiC;AAAA,MAAnBF,QAAmB,QAAnBA,QAAmB;AAAA,MAATI,KAAS,QAATA,KAAS;AACzE,MAAMO,QAAQ,GAAGH,QAAQ,EAAzB;;AAEA,MAAI,CAACR,QAAL,EAAe;AACb,WAAO,IAAP;AACD;;AAED,SAAOA,QAAQ,CAAC;AAAA,WACdW,QAAQ,CAAC;AACPT,MAAAA,YAAY,EAAZA,YADO;AAEPE,MAAAA,KAAK,EAALA;AAFO,KAAD,CADM;AAAA,GAAD,CAAf;AAMD;AAEDM,eAAe,CAACE,WAAhB,GAA8B,kBAA9B;AACAF,eAAe,CAACX,SAAhB,GAA4BA,SAA5B;AACAW,eAAe,CAACH,YAAhB,GAA+BA,YAA/B","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { GuardGatekeeperContext } from \"./GuardSupervisor\";\n\nconst propTypes = {\n children: PropTypes.func,\n alertMessage: PropTypes.string,\n group: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n};\n\nconst defaultProps = {\n alertMessage: \"\",\n children: null,\n group: null,\n};\n\nexport function useGuard() {\n return React.useContext(GuardGatekeeperContext);\n}\n\nexport default function GuardGatekeeper({ alertMessage, children, group }) {\n const canLeave = useGuard();\n\n if (!children) {\n return null;\n }\n\n return children(() =>\n canLeave({\n alertMessage,\n group,\n })\n );\n}\n\nGuardGatekeeper.displayName = \"Guard.Gatekeeper\";\nGuardGatekeeper.propTypes = propTypes;\nGuardGatekeeper.defaultProps = defaultProps;\n"],"file":"GuardGatekeeper.js"} |
| import _Array$isArray from "@babel/runtime-corejs2/core-js/array/is-array"; | ||
| import React from "react"; | ||
| import PropTypes from "prop-types"; | ||
| export var GuardRegistrationContext = React.createContext(); | ||
| export var GuardGatekeeperContext = React.createContext(); | ||
| var propTypes = { | ||
| children: PropTypes.node, | ||
| alertMessageDefault: PropTypes.string | ||
| }; | ||
| var defaultProps = { | ||
| children: null, | ||
| alertMessageDefault: null | ||
| }; | ||
| export default function GuardSupervisor(_ref) { | ||
| var alertMessageDefault = _ref.alertMessageDefault, | ||
| children = _ref.children; | ||
| var guards = React.useRef([]); | ||
| var lastId = React.useRef(0); | ||
| function hasDirtyConnectors(group) { | ||
| var checkIsDirty = function checkIsDirty(guard) { | ||
| return guard.isDirty; | ||
| }; | ||
| if (!group) { | ||
| return guards.current.some(checkIsDirty); | ||
| } | ||
| var checkIsInGroup = function checkIsInGroup(guard) { | ||
| return _Array$isArray(group) ? group.indexOf(guard.group) >= 0 : guard.group === group; | ||
| }; | ||
| return guards.current.filter(checkIsInGroup).some(checkIsDirty); | ||
| } | ||
| React.useEffect(function () { | ||
| function handleWindowBeforeUnload(event) { | ||
| if (hasDirtyConnectors()) { | ||
| // SEE: https://developer.mozilla.org/en-US/docs/Web/API/Event/returnValue | ||
| // SEE: https://stackoverflow.com/questions/38879742/is-it-possible-to-display-a-custom-message-in-the-beforeunload-popup | ||
| event.preventDefault(); // eslint-disable-next-line no-param-reassign | ||
| event.returnValue = ""; | ||
| } | ||
| } | ||
| window.addEventListener("beforeunload", handleWindowBeforeUnload, false); | ||
| return function cleanup() { | ||
| window.removeEventListener("beforeunload", handleWindowBeforeUnload, false); | ||
| }; | ||
| }, []); | ||
| function generateId() { | ||
| lastId.current++; | ||
| return lastId.current.toString(); | ||
| } | ||
| var registerGuardCallback = React.useCallback(function (group) { | ||
| var newId = generateId(); | ||
| var guard = { | ||
| id: newId, | ||
| isDirty: false, | ||
| group: group | ||
| }; | ||
| guards.current.push(guard); | ||
| return { | ||
| unregister: function unregister() { | ||
| guards.current = guards.current.filter(function (otherGuard) { | ||
| return otherGuard.id !== newId; | ||
| }); | ||
| }, | ||
| updateStatus: function updateStatus(isDirty) { | ||
| guard.isDirty = isDirty; | ||
| } | ||
| }; | ||
| }, []); | ||
| var canLeaveCallback = React.useCallback(function () { | ||
| var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, | ||
| alertMessage = _ref2.alertMessage, | ||
| group = _ref2.group; | ||
| if (hasDirtyConnectors(group)) { | ||
| // eslint-disable-next-line no-restricted-globals, no-alert | ||
| return confirm(alertMessage || alertMessageDefault); | ||
| } | ||
| return true; | ||
| }, [alertMessageDefault]); | ||
| return /*#__PURE__*/React.createElement(GuardRegistrationContext.Provider, { | ||
| value: registerGuardCallback | ||
| }, /*#__PURE__*/React.createElement(GuardGatekeeperContext.Provider, { | ||
| value: canLeaveCallback | ||
| }, React.Children.count(children) > 1 ? /*#__PURE__*/React.createElement(React.Fragment, null, children) : children)); | ||
| } | ||
| GuardSupervisor.displayName = "Guard.Supervisor"; | ||
| GuardSupervisor.propTypes = propTypes; | ||
| GuardSupervisor.defaultProps = defaultProps; | ||
| //# sourceMappingURL=GuardSupervisor.js.map |
| {"version":3,"sources":["../../src/GuardSupervisor.js"],"names":["React","PropTypes","GuardRegistrationContext","createContext","GuardGatekeeperContext","propTypes","children","node","alertMessageDefault","string","defaultProps","GuardSupervisor","guards","useRef","lastId","hasDirtyConnectors","group","checkIsDirty","guard","isDirty","current","some","checkIsInGroup","indexOf","filter","useEffect","handleWindowBeforeUnload","event","preventDefault","returnValue","window","addEventListener","cleanup","removeEventListener","generateId","toString","registerGuardCallback","useCallback","newId","id","push","unregister","otherGuard","updateStatus","canLeaveCallback","alertMessage","confirm","Children","count","displayName"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nexport const GuardRegistrationContext = React.createContext();\nexport const GuardGatekeeperContext = React.createContext();\n\nconst propTypes = {\n children: PropTypes.node,\n alertMessageDefault: PropTypes.string,\n};\n\nconst defaultProps = {\n children: null,\n alertMessageDefault: null,\n};\n\nexport default function GuardSupervisor({ alertMessageDefault, children }) {\n const guards = React.useRef([]);\n const lastId = React.useRef(0);\n\n function hasDirtyConnectors(group) {\n const checkIsDirty = guard => guard.isDirty;\n\n if (!group) {\n return guards.current.some(checkIsDirty);\n }\n\n const checkIsInGroup = guard => (Array.isArray(group) ? group.indexOf(guard.group) >= 0 : guard.group === group);\n\n return guards.current.filter(checkIsInGroup).some(checkIsDirty);\n }\n\n React.useEffect(() => {\n function handleWindowBeforeUnload(event) {\n if (hasDirtyConnectors()) {\n // SEE: https://developer.mozilla.org/en-US/docs/Web/API/Event/returnValue\n // SEE: https://stackoverflow.com/questions/38879742/is-it-possible-to-display-a-custom-message-in-the-beforeunload-popup\n event.preventDefault();\n // eslint-disable-next-line no-param-reassign\n event.returnValue = \"\";\n }\n }\n\n window.addEventListener(\"beforeunload\", handleWindowBeforeUnload, false);\n\n return function cleanup() {\n window.removeEventListener(\"beforeunload\", handleWindowBeforeUnload, false);\n };\n }, []);\n\n function generateId() {\n lastId.current++;\n return lastId.current.toString();\n }\n\n const registerGuardCallback = React.useCallback(group => {\n const newId = generateId();\n\n const guard = {\n id: newId,\n isDirty: false,\n group,\n };\n\n guards.current.push(guard);\n\n return {\n unregister: () => {\n guards.current = guards.current.filter(otherGuard => otherGuard.id !== newId);\n },\n updateStatus: isDirty => {\n guard.isDirty = isDirty;\n },\n };\n }, []);\n\n const canLeaveCallback = React.useCallback(\n ({ alertMessage, group } = {}) => {\n if (hasDirtyConnectors(group)) {\n // eslint-disable-next-line no-restricted-globals, no-alert\n return confirm(alertMessage || alertMessageDefault);\n }\n return true;\n },\n [alertMessageDefault]\n );\n\n return (\n <GuardRegistrationContext.Provider value={registerGuardCallback}>\n <GuardGatekeeperContext.Provider value={canLeaveCallback}>\n {React.Children.count(children) > 1 ? <React.Fragment>{children}</React.Fragment> : children}\n </GuardGatekeeperContext.Provider>\n </GuardRegistrationContext.Provider>\n );\n}\n\nGuardSupervisor.displayName = \"Guard.Supervisor\";\nGuardSupervisor.propTypes = propTypes;\nGuardSupervisor.defaultProps = defaultProps;\n"],"file":"GuardSupervisor.js"} |
| import Supervisor from "./GuardSupervisor"; | ||
| import Connector from "./GuardConnector"; | ||
| import Gatekeeper, { useGuard } from "./GuardGatekeeper"; | ||
| export default { | ||
| Supervisor: Supervisor, | ||
| Connector: Connector, | ||
| Gatekeeper: Gatekeeper, | ||
| useGuard: useGuard | ||
| }; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"sources":["../../src/index.js"],"names":["Supervisor","Connector","Gatekeeper","useGuard"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,mBAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,OAAOC,UAAP,IAAqBC,QAArB,QAAqC,mBAArC;AAEA,eAAe;AACbH,EAAAA,UAAU,EAAVA,UADa;AAEbC,EAAAA,SAAS,EAATA,SAFa;AAGbC,EAAAA,UAAU,EAAVA,UAHa;AAIbC,EAAAA,QAAQ,EAARA;AAJa,CAAf","sourcesContent":["import Supervisor from \"./GuardSupervisor\";\nimport Connector from \"./GuardConnector\";\nimport Gatekeeper, { useGuard } from \"./GuardGatekeeper\";\n\nexport default {\n Supervisor,\n Connector,\n Gatekeeper,\n useGuard,\n};\n"],"file":"index.js"} |
+6
-0
| # Changelog | ||
| ## 1.0.1-next.0 | ||
| ### Patch Changes | ||
| - ff8eae9: Enable webpack tree shaking ability. | ||
| All notable changes to this project will be documented in this file. | ||
@@ -4,0 +10,0 @@ |
+10
-2
| "use strict"; | ||
| var _interopRequireWildcard = require("@babel/runtime-corejs2/helpers/interopRequireWildcard"); | ||
| var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); | ||
| var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor"); | ||
| var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property"); | ||
| var _typeof = require("@babel/runtime-corejs2/helpers/typeof"); | ||
| var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map"); | ||
| _Object$defineProperty(exports, "__esModule", { | ||
@@ -21,2 +25,6 @@ value: true | ||
| function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
| function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
| var _default = { | ||
@@ -23,0 +31,0 @@ Supervisor: _GuardSupervisor["default"], |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"sources":["../src/index.js"],"names":["Supervisor","Connector","Gatekeeper","useGuard"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;AACA;;eAEe;AACbA,EAAAA,UAAU,EAAVA,2BADa;AAEbC,EAAAA,SAAS,EAATA,0BAFa;AAGbC,EAAAA,UAAU,EAAVA,2BAHa;AAIbC,EAAAA,QAAQ,EAARA;AAJa,C","sourcesContent":["import Supervisor from \"./GuardSupervisor\";\nimport Connector from \"./GuardConnector\";\nimport Gatekeeper, { useGuard } from \"./GuardGatekeeper\";\n\nexport default {\n Supervisor,\n Connector,\n Gatekeeper,\n useGuard,\n};\n"],"file":"index.js"} | ||
| {"version":3,"sources":["../src/index.js"],"names":["Supervisor","Connector","Gatekeeper","useGuard"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;eAEe;AACbA,EAAAA,UAAU,EAAVA,2BADa;AAEbC,EAAAA,SAAS,EAATA,0BAFa;AAGbC,EAAAA,UAAU,EAAVA,2BAHa;AAIbC,EAAAA,QAAQ,EAARA;AAJa,C","sourcesContent":["import Supervisor from \"./GuardSupervisor\";\nimport Connector from \"./GuardConnector\";\nimport Gatekeeper, { useGuard } from \"./GuardGatekeeper\";\n\nexport default {\n Supervisor,\n Connector,\n Gatekeeper,\n useGuard,\n};\n"],"file":"index.js"} |
+3
-2
| { | ||
| "name": "@paprika/guard", | ||
| "version": "1.0.0", | ||
| "version": "1.0.1-next.0", | ||
| "description": "Guard component helps to prevent a user from losing unsaved data", | ||
| "author": "@paprika", | ||
| "main": "lib/index.js", | ||
| "module": "lib/esm/index.js", | ||
| "license": "MIT", | ||
@@ -24,3 +25,3 @@ "repository": { | ||
| }, | ||
| "gitHead": "ad47df7b0dfd4b07d489303a9a7031b44f16ee8f" | ||
| "sideEffects": false | ||
| } |
-21
| MIT License | ||
| Copyright (c) 2018 ACL Services Ltd. | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
40343
79.34%19
58.33%371
86.43%2
100%1
Infinity%