mirror of
https://github.com/responsively-org/responsively-app
synced 2024-09-20 22:31:59 +00:00
Full page screenshot
This commit is contained in:
parent
fe1f2e94b8
commit
c943ee3150
5 changed files with 285 additions and 23 deletions
|
@ -2,6 +2,8 @@
|
|||
import React, {Component, createRef} from 'react';
|
||||
import {ipcRenderer} from 'electron';
|
||||
import {toast} from 'react-toastify';
|
||||
import mergeImg from 'merge-img';
|
||||
import {promisify} from 'util';
|
||||
import os from 'os';
|
||||
import path from 'path';
|
||||
import pubsub from 'pubsub.js';
|
||||
|
@ -148,27 +150,83 @@ class WebView extends Component {
|
|||
this.webviewRef.current.getWebContents().toggleDevTools();
|
||||
};
|
||||
|
||||
_takeSnapshot = async () => {
|
||||
const image = await this.webviewRef.current.getWebContents().capturePage();
|
||||
_takeFullPageSnapshot = async () => {
|
||||
const images = [];
|
||||
const scrollPosition = await this.webviewRef.current.executeJavaScript(`
|
||||
var value = {left: window.scrollX, top: window.scrollY};
|
||||
value;
|
||||
`);
|
||||
|
||||
//scroll to top and get the windows's scroll details
|
||||
let scrollY = 0;
|
||||
const {scrollHeight, viewPortHeight} = await this.webviewRef.current
|
||||
.executeJavaScript(`
|
||||
window.scrollTo(0,0);
|
||||
var value = {
|
||||
scrollHeight: document.body.scrollHeight,
|
||||
viewPortHeight: document.documentElement.clientHeight
|
||||
};
|
||||
value;
|
||||
`);
|
||||
|
||||
do {
|
||||
images.push(await this._takeSnapshot());
|
||||
scrollY = scrollY + viewPortHeight;
|
||||
await this.webviewRef.current.executeJavaScript(`
|
||||
window.scrollTo(0, ${scrollY})
|
||||
`);
|
||||
} while (scrollHeight > scrollY + viewPortHeight);
|
||||
|
||||
this.webviewRef.current.executeJavaScript(`
|
||||
window.scrollTo(${JSON.stringify(scrollPosition)})
|
||||
`);
|
||||
|
||||
const mergedImage = await (await mergeImg(
|
||||
images.map(img => ({src: img.toPNG()})),
|
||||
{direction: true}
|
||||
))
|
||||
.rgba(false)
|
||||
.background(0xffffffff);
|
||||
console.log('mergedImage', mergedImage.getBuffer);
|
||||
const getBufferAsync = promisify(mergedImage.getBuffer.bind(mergedImage));
|
||||
await this._writeScreenshotFile(
|
||||
await getBufferAsync('image/png'),
|
||||
this._getScreenshotFileName()
|
||||
);
|
||||
};
|
||||
|
||||
_delay(ms) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
resolve();
|
||||
}, ms);
|
||||
});
|
||||
}
|
||||
|
||||
_takeSnapshot = () => {
|
||||
return this.webviewRef.current.getWebContents().capturePage();
|
||||
};
|
||||
|
||||
_getScreenshotFileName(now = new Date()) {
|
||||
return `${this.props.device.name} - ${now
|
||||
.toLocaleDateString()
|
||||
.split('/')
|
||||
.reverse()
|
||||
.join('-')} at ${now
|
||||
.toLocaleTimeString([], {hour12: true})
|
||||
.replace(/\:/g, '.')
|
||||
.toUpperCase()}.png`;
|
||||
}
|
||||
|
||||
_writeScreenshotFile = (content, name) => {
|
||||
try {
|
||||
const now = new Date();
|
||||
const folder = path.join(
|
||||
os.homedir(),
|
||||
`Desktop/Responsively-Screenshots`
|
||||
);
|
||||
fs.ensureDirSync(folder);
|
||||
const filePath = path.join(
|
||||
folder,
|
||||
`${this.props.device.name} - ${now
|
||||
.toLocaleDateString()
|
||||
.split('/')
|
||||
.reverse()
|
||||
.join('-')} at ${now
|
||||
.toLocaleTimeString([], {hour12: true})
|
||||
.replace(/\:/g, '.')
|
||||
.toUpperCase()}.png`
|
||||
);
|
||||
fs.writeFileSync(filePath, image.toPNG());
|
||||
const filePath = path.join(folder, name);
|
||||
fs.writeFileSync(filePath, content);
|
||||
toast.info(`${this.props.device.name} screenshot taken!`);
|
||||
} catch (e) {
|
||||
console.log('err', e);
|
||||
|
@ -176,6 +234,14 @@ class WebView extends Component {
|
|||
}
|
||||
};
|
||||
|
||||
_takeVisibleSectionSnapshot = async () => {
|
||||
const image = this._takeSnapshot();
|
||||
await this._writeScreenshotFile(
|
||||
image.toPNG(),
|
||||
this._getScreenshotFileName()
|
||||
);
|
||||
};
|
||||
|
||||
render() {
|
||||
console.log('WebView this.props', this.props);
|
||||
const {device, browser} = this.props;
|
||||
|
@ -190,7 +256,7 @@ class WebView extends Component {
|
|||
</div>
|
||||
<div
|
||||
className={cx(styles.webViewToolbarIcons)}
|
||||
onClick={this._takeSnapshot}
|
||||
onClick={this._takeFullPageSnapshot}
|
||||
>
|
||||
<ScreenshotIcon height={15} color={iconsColor} />
|
||||
</div>
|
||||
|
|
|
@ -24,7 +24,7 @@ export default [
|
|||
useragent:
|
||||
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/75.0.3770.70 Mobile/14E5239e Safari/602.1',
|
||||
},
|
||||
{
|
||||
/*{
|
||||
id: 3,
|
||||
width: 768,
|
||||
height: 1024,
|
||||
|
@ -47,5 +47,5 @@ export default [
|
|||
name: 'Laptop',
|
||||
useragent:
|
||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
|
||||
},
|
||||
},*/
|
||||
];
|
||||
|
|
|
@ -23,7 +23,7 @@ export type BrowserStateType = {
|
|||
export default function counter(
|
||||
state: BrowserStateType = {
|
||||
devices,
|
||||
address: 'https://www.google.com',
|
||||
address: 'https://www.joybird.com',
|
||||
zoomLevel: 0.5,
|
||||
scrollPosition: {x: 0, y: 0},
|
||||
},
|
||||
|
|
|
@ -235,6 +235,7 @@
|
|||
"electron-log": "^3.0.7",
|
||||
"electron-updater": "^4.1.2",
|
||||
"history": "^4.7.2",
|
||||
"merge-img": "^2.1.3",
|
||||
"pubsub.js": "^1.5.2",
|
||||
"react": "^16.9.0",
|
||||
"react-dom": "^16.9.0",
|
||||
|
|
|
@ -2518,6 +2518,11 @@ big.js@^3.1.3:
|
|||
version "3.2.0"
|
||||
resolved "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
|
||||
|
||||
bignumber.js@^2.1.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.4.0.tgz#838a992da9f9d737e0f4b2db0be62bb09dd0c5e8"
|
||||
integrity sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=
|
||||
|
||||
bin-v8-flags-filter@^1.1.2:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.npmjs.org/bin-v8-flags-filter/-/bin-v8-flags-filter-1.1.3.tgz#14c018c6cca7529767c1f42f12bd3bb20d61e4d3"
|
||||
|
@ -2566,6 +2571,11 @@ bluebird@~3.4.1:
|
|||
version "3.4.7"
|
||||
resolved "http://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
|
||||
|
||||
bmp-js@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.1.tgz#5ad0147099d13a9f38aa7b99af1d6e78666ed37f"
|
||||
integrity sha1-WtAUcJnROp84qnuZrx1ueGZu038=
|
||||
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
|
||||
version "4.11.8"
|
||||
resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
|
||||
|
@ -2777,6 +2787,11 @@ buffer-crc32@^0.2.1:
|
|||
version "0.2.13"
|
||||
resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
|
||||
buffer-equal@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
|
||||
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
|
||||
|
||||
buffer-fill@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
|
||||
|
@ -4635,6 +4650,11 @@ es-to-primitive@^1.1.1:
|
|||
is-date-object "^1.0.1"
|
||||
is-symbol "^1.0.2"
|
||||
|
||||
es6-promise@^3.0.2:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
|
||||
integrity sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=
|
||||
|
||||
es6-promise@^4.0.3:
|
||||
version "4.2.5"
|
||||
resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054"
|
||||
|
@ -4978,6 +4998,11 @@ execall@^1.0.0:
|
|||
dependencies:
|
||||
clone-regexp "^1.0.0"
|
||||
|
||||
exif-parser@^0.1.9:
|
||||
version "0.1.12"
|
||||
resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922"
|
||||
integrity sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=
|
||||
|
||||
exit-hook@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
|
||||
|
@ -5282,6 +5307,11 @@ file-loader@^2.0.0:
|
|||
loader-utils "^1.0.2"
|
||||
schema-utils "^1.0.0"
|
||||
|
||||
file-type@^3.1.0:
|
||||
version "3.9.0"
|
||||
resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
|
||||
integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek=
|
||||
|
||||
filename-regex@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
|
||||
|
@ -5441,6 +5471,13 @@ follow-redirects@^1.0.0:
|
|||
dependencies:
|
||||
debug "=3.1.0"
|
||||
|
||||
for-each@^0.3.3:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
|
||||
integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
|
||||
dependencies:
|
||||
is-callable "^1.1.3"
|
||||
|
||||
for-in@^0.1.3:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
|
||||
|
@ -5747,7 +5784,7 @@ global-prefix@^1.0.1:
|
|||
is-windows "^1.0.1"
|
||||
which "^1.2.14"
|
||||
|
||||
global@^4.3.0:
|
||||
global@^4.3.0, global@~4.3.0:
|
||||
version "4.3.2"
|
||||
resolved "https://registry.npmjs.org/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
|
||||
dependencies:
|
||||
|
@ -6497,6 +6534,11 @@ invert-kv@^2.0.0:
|
|||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
|
||||
|
||||
ip-regex@^1.0.1:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
|
||||
integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=
|
||||
|
||||
ip-regex@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
|
||||
|
@ -6703,6 +6745,11 @@ is-fullwidth-code-point@^2.0.0:
|
|||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
|
||||
|
||||
is-function@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
|
||||
integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=
|
||||
|
||||
is-generator-fn@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
|
||||
|
@ -7315,6 +7362,32 @@ jest@^23.6.0:
|
|||
import-local "^1.0.0"
|
||||
jest-cli "^23.6.0"
|
||||
|
||||
jimp@0.2.27:
|
||||
version "0.2.27"
|
||||
resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.2.27.tgz#41ef5082d8b63201d54747e04fe8bcacbaf25474"
|
||||
integrity sha1-Qe9Qgti2MgHVR0fgT+i8rLryVHQ=
|
||||
dependencies:
|
||||
bignumber.js "^2.1.0"
|
||||
bmp-js "0.0.1"
|
||||
es6-promise "^3.0.2"
|
||||
exif-parser "^0.1.9"
|
||||
file-type "^3.1.0"
|
||||
jpeg-js "^0.2.0"
|
||||
load-bmfont "^1.2.3"
|
||||
mime "^1.3.4"
|
||||
pixelmatch "^4.0.0"
|
||||
pngjs "^3.0.0"
|
||||
read-chunk "^1.0.1"
|
||||
request "^2.65.0"
|
||||
stream-to-buffer "^0.1.0"
|
||||
tinycolor2 "^1.1.2"
|
||||
url-regex "^3.0.0"
|
||||
|
||||
jpeg-js@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz#53e448ec9d263e683266467e9442d2c5a2ef5482"
|
||||
integrity sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=
|
||||
|
||||
js-base64@^2.1.8:
|
||||
version "2.4.9"
|
||||
resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz#748911fb04f48a60c4771b375cac45a80df11c03"
|
||||
|
@ -7728,6 +7801,20 @@ listr@^0.14.2:
|
|||
p-map "^1.1.1"
|
||||
rxjs "^6.1.0"
|
||||
|
||||
load-bmfont@^1.2.3:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz#75f17070b14a8c785fe7f5bee2e6fd4f98093b6b"
|
||||
integrity sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==
|
||||
dependencies:
|
||||
buffer-equal "0.0.1"
|
||||
mime "^1.3.4"
|
||||
parse-bmfont-ascii "^1.0.3"
|
||||
parse-bmfont-binary "^1.0.5"
|
||||
parse-bmfont-xml "^1.1.4"
|
||||
phin "^2.9.1"
|
||||
xhr "^2.0.1"
|
||||
xtend "^4.0.0"
|
||||
|
||||
load-json-file@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
|
||||
|
@ -8097,6 +8184,14 @@ merge-descriptors@1.0.1, merge-descriptors@~1.0.0:
|
|||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
|
||||
|
||||
merge-img@^2.1.3:
|
||||
version "2.1.3"
|
||||
resolved "https://registry.yarnpkg.com/merge-img/-/merge-img-2.1.3.tgz#276bc334f9ef06391ddb9548063eac20d1eaf0b6"
|
||||
integrity sha512-PA8caQPleTulKV7s2CXGvzTPxVoT5wkFCB0jf0RVzIYG+job08wibDA9lMYlpcHjCOvup3p1UPk1JgTwgJnu6g==
|
||||
dependencies:
|
||||
is-plain-obj "^1.1.0"
|
||||
jimp "0.2.27"
|
||||
|
||||
merge-stream@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
|
||||
|
@ -8184,7 +8279,7 @@ mime@1.4.1, mime@~1.4.1:
|
|||
version "1.4.1"
|
||||
resolved "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
|
||||
|
||||
mime@1.6.0:
|
||||
mime@1.6.0, mime@^1.3.4:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
|
||||
|
@ -9065,6 +9160,24 @@ parse-asn1@^5.0.0:
|
|||
evp_bytestokey "^1.0.0"
|
||||
pbkdf2 "^3.0.3"
|
||||
|
||||
parse-bmfont-ascii@^1.0.3:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
|
||||
integrity sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=
|
||||
|
||||
parse-bmfont-binary@^1.0.5:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006"
|
||||
integrity sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=
|
||||
|
||||
parse-bmfont-xml@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389"
|
||||
integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==
|
||||
dependencies:
|
||||
xml-parse-from-string "^1.0.0"
|
||||
xml2js "^0.4.5"
|
||||
|
||||
parse-entities@^1.0.2, parse-entities@^1.1.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.0.tgz#9deac087661b2e36814153cb78d7e54a4c5fd6f4"
|
||||
|
@ -9085,6 +9198,14 @@ parse-glob@^3.0.4:
|
|||
is-extglob "^1.0.0"
|
||||
is-glob "^2.0.0"
|
||||
|
||||
parse-headers@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34"
|
||||
integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==
|
||||
dependencies:
|
||||
for-each "^0.3.3"
|
||||
string.prototype.trim "^1.1.2"
|
||||
|
||||
parse-json@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
|
||||
|
@ -9219,6 +9340,11 @@ performance-now@^2.1.0:
|
|||
version "2.1.0"
|
||||
resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||
|
||||
phin@^2.9.1:
|
||||
version "2.9.3"
|
||||
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
|
||||
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
|
||||
|
||||
pify@^2.0.0, pify@^2.2.0, pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
|
||||
|
@ -9257,6 +9383,13 @@ pirates@^4.0.0:
|
|||
dependencies:
|
||||
node-modules-regexp "^1.0.0"
|
||||
|
||||
pixelmatch@^4.0.0:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
|
||||
integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=
|
||||
dependencies:
|
||||
pngjs "^3.0.0"
|
||||
|
||||
pkg-dir@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
|
||||
|
@ -9305,6 +9438,11 @@ pn@^1.1.0:
|
|||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
|
||||
|
||||
pngjs@^3.0.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
|
||||
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
|
||||
|
||||
pngjs@^3.3.1:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz#85173703bde3edac8998757b96e5821d0966a21b"
|
||||
|
@ -10116,6 +10254,11 @@ react@^16.9.0:
|
|||
object-assign "^4.1.1"
|
||||
prop-types "^15.6.2"
|
||||
|
||||
read-chunk@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz#5f68cab307e663f19993527d9b589cace4661194"
|
||||
integrity sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=
|
||||
|
||||
read-config-file@5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-5.0.0.tgz#1487c983fae9c1b672d3acda5cac899a2d451f02"
|
||||
|
@ -10487,7 +10630,7 @@ request-promise-native@^1.0.5:
|
|||
stealthy-require "^1.1.0"
|
||||
tough-cookie ">=2.3.3"
|
||||
|
||||
request@^2.45.0, request@^2.83.0, request@^2.87.0, request@^2.88.0:
|
||||
request@^2.45.0, request@^2.65.0, request@^2.83.0, request@^2.87.0, request@^2.88.0:
|
||||
version "2.88.0"
|
||||
resolved "https://registry.npmjs.org/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
|
||||
dependencies:
|
||||
|
@ -10763,7 +10906,7 @@ sass-loader@^7.1.0:
|
|||
pify "^3.0.0"
|
||||
semver "^5.5.0"
|
||||
|
||||
sax@^1.2.4, sax@~1.2.4:
|
||||
sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
|
||||
|
@ -11341,6 +11484,18 @@ stream-shift@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
|
||||
|
||||
stream-to-buffer@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz#26799d903ab2025c9bd550ac47171b00f8dd80a9"
|
||||
integrity sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=
|
||||
dependencies:
|
||||
stream-to "~0.2.0"
|
||||
|
||||
stream-to@~0.2.0:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/stream-to/-/stream-to-0.2.2.tgz#84306098d85fdb990b9fa300b1b3ccf55e8ef01d"
|
||||
integrity sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=
|
||||
|
||||
string-argv@^0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736"
|
||||
|
@ -12002,6 +12157,11 @@ tiny-warning@^1.0.0, tiny-warning@^1.0.2:
|
|||
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
|
||||
integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
|
||||
|
||||
tinycolor2@^1.1.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
|
||||
integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
|
||||
|
||||
tmp@0.0.28:
|
||||
version "0.0.28"
|
||||
resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120"
|
||||
|
@ -12412,6 +12572,13 @@ url-parse@^1.4.3:
|
|||
querystringify "^2.0.0"
|
||||
requires-port "^1.0.0"
|
||||
|
||||
url-regex@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724"
|
||||
integrity sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=
|
||||
dependencies:
|
||||
ip-regex "^1.0.1"
|
||||
|
||||
url-template@^2.0.8:
|
||||
version "2.0.8"
|
||||
resolved "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"
|
||||
|
@ -12924,10 +13091,38 @@ xdg-basedir@^3.0.0:
|
|||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
|
||||
|
||||
xhr@^2.0.1:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd"
|
||||
integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==
|
||||
dependencies:
|
||||
global "~4.3.0"
|
||||
is-function "^1.0.1"
|
||||
parse-headers "^2.0.0"
|
||||
xtend "^4.0.0"
|
||||
|
||||
xml-name-validator@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||
|
||||
xml-parse-from-string@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28"
|
||||
integrity sha1-qQKekp09vN7RafPG4oI42VpdWig=
|
||||
|
||||
xml2js@^0.4.5:
|
||||
version "0.4.19"
|
||||
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
|
||||
integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
|
||||
dependencies:
|
||||
sax ">=0.6.0"
|
||||
xmlbuilder "~9.0.1"
|
||||
|
||||
xmlbuilder@~9.0.1:
|
||||
version "9.0.7"
|
||||
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
|
||||
integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
|
||||
|
||||
xregexp@4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020"
|
||||
|
|
Loading…
Reference in a new issue