react-to-print
Advanced tools
Comparing version 2.0.0-beta-4 to 2.1.0
@@ -1,2 +0,16 @@ | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var React=_interopDefault(require("react")),reactDom=require("react-dom"),propTypes=_interopDefault(require("prop-types")),classCallCheck=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),inherits=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},possibleConstructorReturn=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},toConsumableArray=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},ReactToPrint=function(e){function t(){var e,r,n,o;classCallCheck(this,t);for(var i=arguments.length,a=Array(i),l=0;l<i;l++)a[l]=arguments[l];return r=n=possibleConstructorReturn(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(a))),n.handlePrint=function(){var e=n.props,t=e.content,r=e.copyStyles,o=(e.onAfterPrint,document.createElement("iframe"));o.style.position="absolute",o.style.top="-1000px",o.style.left="-1000px";var i=t(),a=reactDom.findDOMNode(i),l=document.querySelectorAll('link[rel="stylesheet"]');n.linkTotal=l.length||0,n.linkLoaded=0;var c=function(e){n.linkLoaded++,n.linkLoaded===n.linkTotal&&n.triggerPrint(o)};o.onload=function(){var e=o.contentDocument||o.contentWindow.document;e.open(),e.write(a.outerHTML),e.close();var t=e.createElement("style");if(t.appendChild(e.createTextNode("@page { size: auto; margin: 0mm; } @media print { body { -webkit-print-color-adjust: exact; } }")),e.head.appendChild(t),!1!==r){var i=document.querySelectorAll('style, link[rel="stylesheet"]'),l="";if([].concat(toConsumableArray(i)).forEach(function(t){if("STYLE"===t.tagName){if(t.sheet)for(var r=0;r<t.sheet.cssRules.length;r++)l+=t.sheet.cssRules[r].cssText+"\r\n"}else{var n=e.createElement(t.tagName);[].concat(toConsumableArray(t.attributes)).forEach(function(e){n.setAttribute(e.nodeName,e.nodeValue)}),n.onload=c.bind(null,"link"),n.onerror=c.bind(null,"link"),e.head.appendChild(n)}}),l.length){var s=e.createElement("style");s.setAttribute("id","react-to-print"),s.appendChild(e.createTextNode(l)),e.head.appendChild(s)}}0!==n.linkTotal&&!1!==r||n.triggerPrint(o)},document.body.appendChild(o)},o=r,possibleConstructorReturn(n,o)}return inherits(t,e),createClass(t,[{key:"triggerPrint",value:function(e){var t=this;this.props.onBeforePrint&&this.props.onBeforePrint(),setTimeout(function(){e.contentWindow.focus(),e.contentWindow.print(),t.removeWindow(e)},500)}},{key:"removeWindow",value:function(e){setTimeout(function(){e.parentNode.removeChild(e)},1500)}},{key:"render",value:function(){var e=this;return React.cloneElement(this.props.trigger(),{ref:function(t){return e.triggerRef=t},onClick:this.handlePrint})}}]),t}(React.Component);ReactToPrint.defaultProps={copyStyles:!0,closeAfterPrint:!0,bodyClass:""},module.exports=ReactToPrint; | ||
//# sourceMappingURL=index.js.map | ||
!function(t,e){for(var n in e)t[n]=e[n]}(exports,function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1),o=n(2),i=n(3),a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.removeWindow=function(t){setTimeout(function(){t.parentNode.removeChild(t)},0)},e.triggerPrint=function(t){var n=e.props,r=n.onBeforePrint,o=n.onAfterPrint;r&&r(),setTimeout(function(){t.contentWindow.focus(),t.contentWindow.print(),e.removeWindow(t),o&&o()},0)},e.handlePrint=function(){var t=e.props,n=t.bodyClass,r=void 0===n?"":n,o=t.content,a=t.copyStyles,u=void 0===a||a,c=t.pageStyle,l=o();if(void 0!==l){var f=document.createElement("iframe");f.style.position="absolute",f.style.top="-1000px",f.style.left="-1000px";var s=i.findDOMNode(l),d=document.querySelectorAll("link[rel='stylesheet']");e.linkTotal=d.length||0,e.linksLoaded=[],e.linksErrored=[];var p=function(t,n){n?e.linksLoaded.push(t):(console.error('"react-to-print" was unable to load a link. It may be invalid. "react-to-print" will continue attempting to print the page. The link the errored was:',t),e.linksErrored.push(t)),e.linksLoaded.length+e.linksErrored.length===e.linkTotal&&e.triggerPrint(f)};f.onload=function(){window.navigator&&window.navigator.userAgent.indexOf("Trident/7.0")>-1&&(f.onload=null);var t=f.contentDocument||f.contentWindow.document,n=s.querySelectorAll("canvas");t.open(),t.write(s.outerHTML),t.close();var o=void 0===c?"@page { size: auto; margin: 0mm; } @media print { body { -webkit-print-color-adjust: exact; } }":c,i=t.createElement("style");i.appendChild(t.createTextNode(o)),t.head.appendChild(i),r.length&&t.body.classList.add(r);for(var a=t.querySelectorAll("canvas"),l=0,d=a.length;l<d;++l){(h=a[l]).getContext("2d").drawImage(n[l],0,0)}if(!1!==u){var y=document.querySelectorAll("style, link[rel='stylesheet']");for(l=0,d=y.length;l<d;++l){var h;if("STYLE"===(h=y[l]).tagName){var v=t.createElement(h.tagName),b=h.sheet;if(b){for(var m="",_=0;_<b.cssRules.length;_++)"string"==typeof b.cssRules[_].cssText&&(m+=b.cssRules[_].cssText+"\r\n");v.setAttribute("id","react-to-print-"+l),v.appendChild(t.createTextNode(m)),t.head.appendChild(v)}}else if(h.hasAttribute("href")&&h.getAttribute("href")){v=t.createElement(h.tagName),_=0;for(var g=h.attributes.length;_<g;++_){var w=h.attributes[_];v.setAttribute(w.nodeName,w.nodeValue)}v.onload=p.bind(null,v,!0),v.onerror=p.bind(null,v,!1),t.head.appendChild(v)}else console.warn('"react-to-print" encountered a <link> tag with an empty "href" attribute. In addition to being invalid HTML, this can cause problems in many browsers, and so the <link> was not loaded. The <link> is:',h),p(h,!0)}}0!==e.linkTotal&&!1!==u||e.triggerPrint(f)},document.body.appendChild(f)}else console.error('Refs are not available for stateless components. For "react-to-print" to work only Class based components can be printed')},e.setRef=function(t){e.triggerRef=t},e}return r.__extends(e,t),e.prototype.render=function(){var t=this.props.trigger;return o.cloneElement(t(),{onClick:this.handlePrint,ref:this.setRef})},e}(o.Component);e.default=a},function(t,e,n){"use strict";n.r(e),n.d(e,"__extends",function(){return o}),n.d(e,"__assign",function(){return i}),n.d(e,"__rest",function(){return a}),n.d(e,"__decorate",function(){return u}),n.d(e,"__param",function(){return c}),n.d(e,"__metadata",function(){return l}),n.d(e,"__awaiter",function(){return f}),n.d(e,"__generator",function(){return s}),n.d(e,"__exportStar",function(){return d}),n.d(e,"__values",function(){return p}),n.d(e,"__read",function(){return y}),n.d(e,"__spread",function(){return h}),n.d(e,"__await",function(){return v}),n.d(e,"__asyncGenerator",function(){return b}),n.d(e,"__asyncDelegator",function(){return m}),n.d(e,"__asyncValues",function(){return _}),n.d(e,"__makeTemplateObject",function(){return g}),n.d(e,"__importStar",function(){return w}),n.d(e,"__importDefault",function(){return O}); | ||
/*! ***************************************************************************** | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use | ||
this file except in compliance with the License. You may obtain a copy of the | ||
License at http://www.apache.org/licenses/LICENSE-2.0 | ||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED | ||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, | ||
MERCHANTABLITY OR NON-INFRINGEMENT. | ||
See the Apache Version 2.0 License for specific language governing permissions | ||
and limitations under the License. | ||
***************************************************************************** */ | ||
var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function o(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function a(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&(n[r[o]]=t[r[o]])}return n}function u(t,e,n,r){var o,i=arguments.length,a=i<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var u=t.length-1;u>=0;u--)(o=t[u])&&(a=(i<3?o(a):i>3?o(e,n,a):o(e,n))||a);return i>3&&a&&Object.defineProperty(e,n,a),a}function c(t,e){return function(n,r){e(n,r,t)}}function l(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function f(t,e,n,r){return new(n||(n=Promise))(function(o,i){function a(t){try{c(r.next(t))}catch(t){i(t)}}function u(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){t.done?o(t.value):new n(function(e){e(t.value)}).then(a,u)}c((r=r.apply(t,e||[])).next())})}function s(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}}function d(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}function p(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function y(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function h(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(y(arguments[e]));return t}function v(t){return this instanceof v?(this.v=t,this):new v(t)}function b(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(t,e||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(t){o[t]&&(r[t]=function(e){return new Promise(function(n,r){i.push([t,e,n,r])>1||u(t,e)})})}function u(t,e){try{(n=o[t](e)).value instanceof v?Promise.resolve(n.value.v).then(c,l):f(i[0][2],n)}catch(t){f(i[0][3],t)}var n}function c(t){u("next",t)}function l(t){u("throw",t)}function f(t,e){t(e),i.shift(),i.length&&u(i[0][0],i[0][1])}}function m(t){var e,n;return e={},r("next"),r("throw",function(t){throw t}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(r,o){e[r]=t[r]?function(e){return(n=!n)?{value:v(t[r](e)),done:"return"===r}:o?o(e):e}:o}}function _(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=p(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise(function(r,o){(function(t,e,n,r){Promise.resolve(r).then(function(e){t({value:e,done:n})},e)})(r,o,(e=t[n](e)).done,e.value)})}}}function g(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function w(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function O(t){return t&&t.__esModule?t:{default:t}}},function(t,e){t.exports=require("react")},function(t,e){t.exports=require("react-dom")}])); |
{ | ||
"name": "react-to-print", | ||
"version": "2.0.0-beta-4", | ||
"version": "2.1.0", | ||
"description": "Print React components in the browser", | ||
"main": "lib/index.js", | ||
"types": "lib/index.d.ts", | ||
"files": [ | ||
@@ -10,5 +11,5 @@ "lib" | ||
"scripts": { | ||
"build": "rollup -c", | ||
"webpack": "webpack --progress", | ||
"webpack-dev-server": "webpack-dev-server --colors --progress" | ||
"start": "webpack-dev-server --env.development --progress --colors --hot --open", | ||
"build": "webpack --env.production --progress", | ||
"lint": "tslint -c tslint.json 'src/**/*.{ts,tsx}'" | ||
}, | ||
@@ -31,26 +32,37 @@ "repository": { | ||
"homepage": "https://github.com/gregnb/react-to-print#readme", | ||
"peerDependencies": { | ||
"react": "^15.0.0 || ^16.0.0", | ||
"react-dom": "^15.0.0 || ^16.0.0" | ||
}, | ||
"dependencies": { | ||
"prop-types": "^15.6.0", | ||
"react": "^16.2.0" | ||
"prop-types": "^15.6.2" | ||
}, | ||
"devDependencies": { | ||
"babel-cli": "^6.26.0", | ||
"babel-core": "^6.26.0", | ||
"babel-loader": "^7.1.2", | ||
"babel-plugin-external-helpers": "^6.22.0", | ||
"babel-plugin-transform-class-properties": "^6.24.1", | ||
"babel-plugin-transform-object-rest-spread": "^6.26.0", | ||
"babel-plugin-transform-react-remove-prop-types": "^0.4.13", | ||
"babel-preset-env": "^1.6.1", | ||
"babel-preset-react": "^6.24.1", | ||
"eslint": "^4.12.1", | ||
"react-dom": "^16.2.0", | ||
"rollup": "^0.52.0", | ||
"rollup-plugin-babel": "^3.0.2", | ||
"rollup-plugin-commonjs": "^8.2.6", | ||
"rollup-plugin-replace": "^2.0.0", | ||
"rollup-plugin-uglify": "^2.0.1", | ||
"webpack": "^3.9.1", | ||
"webpack-dev-server": "^2.9.5" | ||
"@types/react": "^16.7.18", | ||
"@types/react-dom": "^16.0.11", | ||
"acorn": "^6.1.1", | ||
"clean-webpack-plugin": "^2.0.1", | ||
"html-webpack-plugin": "^3.2.0", | ||
"husky": "^1.3.1", | ||
"lint-staged": "^7.3.0", | ||
"react": "^16.8.4", | ||
"react-dom": "^16.8.4", | ||
"ts-loader": "^5.3.3", | ||
"tslint": "^5.12.1", | ||
"typescript": "^3.3.4000", | ||
"webpack": "^4.29.6", | ||
"webpack-cli": "^3.3.0", | ||
"webpack-dev-server": "^3.2.1" | ||
}, | ||
"husky": { | ||
"hooks": { | ||
"pre-commit": "lint-staged" | ||
} | ||
}, | ||
"lint-staged": { | ||
"*.{ts,tsx}": [ | ||
"tslint", | ||
"git add" | ||
] | ||
} | ||
} |
@@ -11,7 +11,7 @@ <div align="center"> | ||
So you've created a React component but would love to give end users the ability to print out the contents of that component. This package aims to solve that by popping up a new print window with CSS styles copied over as well. | ||
So you've created a React component but would love to give end users the ability to print out the contents of that component. This package aims to solve that by popping up a new print window with CSS styles copied over as well. | ||
## Install | ||
`npm install react-to-print --save-dev ` | ||
`npm install react-to-print --save-dev` | ||
@@ -22,10 +22,10 @@ ## Demo | ||
## Usage | ||
## Example | ||
### Calling from class components | ||
```js | ||
import React from 'react'; | ||
import ReactToPrint from 'react-to-print'; | ||
import React from "react"; | ||
import ReactToPrint from "react-to-print"; | ||
class ComponentToPrint extends React.Component { | ||
@@ -75,7 +75,55 @@ render() { | ||
} | ||
``` | ||
### Calling from functional components with [hooks](https://reactjs.org/docs/hooks-intro.html) | ||
```js | ||
import React, { useRef } from 'react'; | ||
import ReactToPrint from 'react-to-print'; | ||
class ComponentToPrint extends React.Component { | ||
render() { | ||
return ( | ||
<table> | ||
<thead> | ||
<th>column 1</th> | ||
<th>column 2</th> | ||
<th>column 3</th> | ||
</thead> | ||
<tbody> | ||
<tr> | ||
<td>data 1</td> | ||
<td>data 2</td> | ||
<td>data 3</td> | ||
</tr> | ||
<tr> | ||
<td>data 1</td> | ||
<td>data 2</td> | ||
<td>data 3</td> | ||
</tr> | ||
<tr> | ||
<td>data 1</td> | ||
<td>data 2</td> | ||
<td>data 3</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
); | ||
} | ||
} | ||
const Example = () => { | ||
const componentRef = useRef(); | ||
return ( | ||
<div> | ||
<ReactToPrint | ||
trigger={() => <button>Print this out!</button>} | ||
content={() => componentRef.current} | ||
/> | ||
<ComponentToPrint ref={componentRef} /> | ||
</div> | ||
); | ||
}; | ||
``` | ||
## API | ||
@@ -87,8 +135,16 @@ | ||
|Name|Type|Description | ||
|:--:|:-----|:-----| | ||
|**`trigger`**|function|A function that returns a React Component or HTML element | ||
|**`content`**|function|A function that returns a component reference value. The content of this reference value is then used for print | ||
|**`copyStyles`**|boolean|Copies all <style> and <link type="stylesheet" /> from <head> inside the parent window into the print window. (default: true) | ||
|**`onBeforePrint`**|function|A callback function that triggers before print | ||
|**`bodyClass`**|string|Optional class to pass to the print window body | ||
| Name | Type | Description | | ||
| :-------------------: | :------- | :---------------------------------------------------------------------------------------------------------------------------------- | | ||
| **`trigger`** | function | A function that returns a React Component or HTML element | | ||
| **`content`** | function | A function that returns a component reference value. The content of this reference value is then used for print | | ||
| **`copyStyles`** | boolean | Copies all <style> and <link type="stylesheet" /> from <head> inside the parent window into the print window. (default: true) | | ||
| **`onBeforePrint`** | function | A callback function that triggers before print | | ||
| **`onAfterPrint`** | function | A callback function that triggers after print | | ||
| **`closeAfterPrint`** | boolean | Close the print window after action | | ||
| **`pageStyle`** | string | Override default print window styling | | ||
| **`bodyClass`** | string | Optional class to pass to the print window body | | ||
## FAQ | ||
**Why does `react-to-print` skip `<link rel="stylesheet" href="">` tags?** | ||
`<link>`s with empty `href` attributes are [INVALID HTML](https://www.w3.org/TR/html50/document-metadata.html#attr-link-href). In addition, they can cause all sorts of [undesirable behavior](https://gtmetrix.com/avoid-empty-src-or-href.html). For example, many browsers - including modern ones, when presented with `<link href="">` will attempt to load the current page. Some even attempt to load the current page's parent directory. |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
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
19410
15
56
1
147
1
3
+ Addedreact-dom@16.14.0(transitive)
+ Addedscheduler@0.19.1(transitive)
- Removedreact@^16.2.0
Updatedprop-types@^15.6.2