Merge branch '10.0-release' into merge-develop-2-28-22

This commit is contained in:
Zach Bloomquist
2022-02-28 15:40:53 -05:00
committed by GitHub
49 changed files with 359 additions and 55 deletions
+2 -2
View File
@@ -3,9 +3,9 @@
<head>
<meta charset="utf-8" />
<link href="/__cypress/assets/favicon.png" rel="icon">
<link href="/__cypress/assets/favicon.png?v2" rel="icon">
<title>Cypress</title>
<link href="/__cypress/runner/favicon.ico" rel="icon">
<link href="/__cypress/runner/favicon.ico?v2" rel="icon">
</head>
<body>
+2 -2
View File
@@ -212,8 +212,8 @@ function getIdIfDirectory (row) {
height: calc(100vh - 64px);
}
/** List header is 72px */
/** Search bar is 72px + List header is 40px = 112px offset */
.spec-list-container {
height: calc(100% - 72px)
height: calc(100% - 112px)
}
</style>
+1 -1
View File
@@ -9,7 +9,7 @@
"check-ts": "tsc --noEmit && yarn -s tslint",
"clean-deps": "rimraf node_modules",
"tslint": "tslint --config ../ts/tslint.json --project .",
"clean": "rimraf './{src,test}/**/*.js'",
"clean": "rimraf './{src,test}/**/*(!.stories).js'",
"test": "yarn test-unit",
"test-unit": "mocha -r @packages/ts/register --config ./test/.mocharc.js"
},
+44 -17
View File
@@ -2,13 +2,11 @@
const _ = require('lodash')
const os = require('os')
const path = require('path')
const Promise = require('bluebird')
const pkg = require('../package.json')
const paths = require('./paths')
const log = require('debug')('cypress:electron')
let fs = require('fs-extra')
fs = Promise.promisifyAll(fs)
const fs = require('fs-extra')
const crypto = require('crypto')
let electronVersion
@@ -25,14 +23,14 @@ module.exports = {
// returns icons package so that the caller code can find
// paths to the icons without hard-coding them
icons () {
return require('@cypress/icons')
return require('@packages/icons')
},
checkCurrentVersion () {
const pathToVersion = paths.getPathToVersion()
// read in the version file
return fs.readFileAsync(pathToVersion, 'utf8')
return fs.readFile(pathToVersion, 'utf8')
.then((str) => {
const version = str.replace('v', '')
@@ -40,29 +38,50 @@ module.exports = {
// throw an error
if (version !== electronVersion) {
throw new Error(`Currently installed version: '${version}' does not match electronVersion: '${electronVersion}`)
} else {
return process.exit()
}
})
},
getFileHash (filePath) {
return fs.readFile(filePath).then((buf) => {
const hashSum = crypto.createHash('sha1')
hashSum.update(buf)
const hash = hashSum.digest('hex')
return hash
})
},
checkIconVersion () {
const mainIconsPath = this.icons().getPathToIcon('cypress.icns')
const cachedIconsPath = path.join(__dirname, '../dist/Cypress/Cypress.app/Contents/Resources/electron.icns')
return Promise.all([this.getFileHash(mainIconsPath), this.getFileHash(cachedIconsPath)])
.then(([mainHash, cachedHash]) => {
if (mainHash !== cachedHash) {
throw new Error('Icon mismatch')
}
})
},
checkExecExistence () {
return fs.statAsync(paths.getPathToExec())
return fs.stat(paths.getPathToExec())
},
move (src, dest) {
// src is ./tmp/Cypress-darwin-x64
// dest is ./dist/Cypress
return fs.moveAsync(src, dest, { overwrite: true })
return fs.move(src, dest, { overwrite: true })
.then(() => {
// remove the tmp folder now
return fs.removeAsync(path.dirname(src))
return fs.remove(path.dirname(src))
})
},
removeEmptyApp () {
// nuke the temporary blank /app
return fs.removeAsync(paths.getPathToResources('app'))
return fs.remove(paths.getPathToResources('app'))
},
packageAndExit () {
@@ -76,7 +95,7 @@ module.exports = {
package (options = {}) {
const pkgr = require('electron-packager')
const icons = require('@cypress/icons')
const icons = require('@packages/icons')
const iconPath = icons.getPathToIcon('cypress')
@@ -117,15 +136,23 @@ module.exports = {
},
ensure () {
return Promise.join(
return Promise.all([
// check the version of electron and re-build if updated
this.checkCurrentVersion(),
// check if the dist folder exist and re-build if not
this.checkExecExistence(),
)
// Compare the icon in dist with the one in the icons
// package. If different, force the re-build.
this.checkIconVersion(),
])
// if all is good, then return without packaging a new electron app
},
check () {
return this.ensure()
.bind(this)
.catch(this.packageAndExit)
.catch(() => {
this.packageAndExit()
})
},
}
+1 -1
View File
@@ -15,7 +15,7 @@
"test-watch": "yarn test-unit --watch"
},
"dependencies": {
"@cypress/icons": "0.7.0",
"@packages/icons": "0.0.0-development",
"bluebird": "3.5.3",
"debug": "^4.3.2",
"fs-extra": "9.1.0",
+1 -1
View File
@@ -1,7 +1,7 @@
import gulp from 'gulp'
import rimraf from 'rimraf'
import webpack from 'webpack'
import cypressIcons from '@cypress/icons'
import * as cypressIcons from '@packages/icons'
import webpackConfig from './webpack.config.js'
const clean = (done) => {
+1 -1
View File
@@ -20,7 +20,7 @@
"lodash": "^4.17.21"
},
"devDependencies": {
"@cypress/icons": "0.7.0",
"@packages/icons": "0.0.0-development",
"@packages/socket": "0.0.0-development",
"chai": "3.5.0",
"coffeescript": "1.12.7",
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

+1
View File
@@ -0,0 +1 @@
export * from './dist/icons'
+1
View File
@@ -0,0 +1 @@
module.exports = require('./dist/icons')
+34
View File
@@ -0,0 +1,34 @@
{
"name": "@packages/icons",
"version": "0.0.0-development",
"description": "Cypress Icons",
"main": "index.js",
"scripts": {
"build": "scripts/build.sh",
"postbuild": "ts-node ./src/ico.ts",
"test": "NODE_ENV=test mocha",
"test-watch": "NODE_ENV=test mocha --watch",
"prepublish": "npm run build",
"release": "releaser"
},
"devDependencies": {
"@types/mocha": "^8.0.3",
"@types/to-ico": "^1.1.1",
"chai": "^4.2.0",
"mocha": "^8.1.3",
"to-ico": "^1.1.5"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/cypress-io/cypress-icons.git"
},
"homepage": "https://github.com/cypress-io/cypress-icons#readme",
"author": "Brian Mann",
"bugs": {
"url": "https://github.com/cypress-io/cypress-icons/issues"
},
"publishConfig": {
"access": "public"
}
}
+43
View File
@@ -0,0 +1,43 @@
# Cypress Icons
The latest versions of the icons.
The public API will always reference these files.
`./dist` is not checked into source control.
## API
```js
const icons = require("@cypress/icons")
// get the absolute path to default favicon
icons.getPathToFavicon("favicon-blue.ico")
// => /Users/.../dist/favicon/favicon-blue.ico
// get the absolute path to icon
icons.getPathToIcon("icon_32x32@2x.png")
// => /Users/.../dist/icons/icon_32x32@2x.png
```
## Architecture detail
To build the MacOS icons you have to use the `iconutil` command line tool installed.
This command line tool is only installed on MacOS.
If you are not on MacOS, the building of this icon will simply be skipped.
If you are not on MacOS, the building of this icon will be skipped instead of erroring.
## Developing
All the icons are in the assets directory.
```bash
## run build to dump to ./dist
yarn build
```
## Testing
```bash
yarn test
```
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
set -e
rm -rf dist && mkdir dist && mkdir dist/icons
yarn tsc -p ./tsconfig.build.json
if [[ "$OSTYPE" == "darwin"* ]]; then
iconutil -c icns assets/cypress.iconset -o dist/icons/cypress.icns
fi
cp -r assets/* dist
mv dist/cypress.iconset/* dist/icons
rm -r dist/cypress.iconset
+16
View File
@@ -0,0 +1,16 @@
import fs from 'fs'
import toIco from 'to-ico'
const files = [
fs.readFileSync('./assets/icons/icon_16x16.png'),
fs.readFileSync('./assets/icons/icon_24x24.png'),
fs.readFileSync('./assets/icons/icon_32x32.png'),
fs.readFileSync('./assets/icons/icon_48x48.png'),
fs.readFileSync('./assets/icons/icon_64x64.png'),
fs.readFileSync('./assets/icons/icon_128x128.png'),
fs.readFileSync('./assets/icons/icon_256x256.png'),
]
toIco(files).then((buf) => {
fs.writeFileSync('./dist/icons/cypress.ico', buf)
})
+19
View File
@@ -0,0 +1,19 @@
import path from 'path'
const dist = [__dirname, '..', 'dist']
function distPath (...args: string[]) {
return path.join.apply(path, dist.concat([...args]))
}
export const getPathToFavicon = (filename: string) => {
return distPath('favicon', filename)
}
export const getPathToIcon = (filename: string) => {
return distPath('icons', filename)
}
export const getPathToLogo = (filename: string) => {
return distPath('logo', filename)
}
+18
View File
@@ -0,0 +1,18 @@
import { expect } from 'chai'
import * as icons from '../src/icons'
const cwd = process.cwd()
describe('Cypress Icons', function () {
it('returns path to favicon', function () {
expect(icons.getPathToFavicon('favicon-red.ico')).to.eq(`${cwd }/dist/favicon/favicon-red.ico`)
})
it('returns path to icon', function () {
expect(icons.getPathToIcon('cypress.icns')).to.eq(`${cwd }/dist/icons/cypress.icns`)
})
it('returns path to logo', function () {
expect(icons.getPathToLogo('cypress-bw.png')).to.eq(`${cwd }/dist/logo/cypress-bw.png`)
})
})
+6
View File
@@ -0,0 +1,6 @@
{
"extends": "./tsconfig.json",
"files": [
"./src/icons.ts"
]
}
+15
View File
@@ -0,0 +1,15 @@
{
"extends": "../ts/tsconfig.json",
"compilerOptions": {
"strict": true,
"allowJs": false,
"noImplicitAny": true,
"noUnusedLocals": false,
"resolveJsonModule": true,
"experimentalDecorators": true,
"noUncheckedIndexedAccess": true,
"importsNotUsedAsValues": "error",
"outDir": "dist",
"declaration": true
},
}
+1 -1
View File
@@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{projectName}}</title>
<link href="/{{namespace}}/runner/favicon.ico" rel="icon">
<link href="/{{namespace}}/runner/favicon.ico?v2" rel="icon">
<link rel="stylesheet" href="/{{namespace}}/runner/cypress_runner.css">
</head>
+1 -1
View File
@@ -4,7 +4,7 @@ import _ from 'lodash'
import path from 'path'
import type webpack from 'webpack'
import { getCommonConfig, HtmlWebpackPlugin, getCopyWebpackPlugin } from '@packages/web-config/webpack.config.base'
import cyIcons from '@cypress/icons'
import * as cyIcons from '@packages/icons'
const commonConfig = getCommonConfig()
const CopyWebpackPlugin = getCopyWebpackPlugin()
+1 -1
View File
@@ -21,13 +21,13 @@
},
"devDependencies": {
"@cypress/design-system": "0.0.0-development",
"@cypress/icons": "0.7.0",
"@cypress/react-tooltip": "0.5.3",
"@cypress/webpack-preprocessor": "0.0.0-development",
"@fontsource/mulish": "4.3.0",
"@fontsource/open-sans": "4.3.0",
"@fortawesome/fontawesome-free": "5.12.1",
"@packages/driver": "0.0.0-development",
"@packages/icons": "0.0.0-development",
"@packages/reporter": "0.0.0-development",
"@packages/socket": "0.0.0-development",
"@packages/web-config": "0.0.0-development",
+1 -1
View File
@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{projectName}}</title>
<link href="/{{namespace}}/runner/favicon.ico" rel="icon">
<link href="/{{namespace}}/runner/favicon.ico?v2" rel="icon">
<link rel="stylesheet" href="/{{namespace}}/runner/cypress_runner.css">
</head>
+1 -1
View File
@@ -2,7 +2,7 @@ import _ from 'lodash'
import { getCommonConfig, getSimpleConfig, HtmlWebpackPlugin, getCopyWebpackPlugin } from '@packages/web-config/webpack.config.base'
import path from 'path'
import webpack from 'webpack'
import cyIcons from '@cypress/icons'
import * as cyIcons from '@packages/icons'
const commonConfig = getCommonConfig()
const CopyWebpackPlugin = getCopyWebpackPlugin()
@@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cypress</title>
<link href="/__cypress/runner/favicon.ico" rel="icon">
<link href="/__cypress/runner/favicon.ico?v2" rel="icon">
<link rel="stylesheet" href="/__cypress/runner/cypress_runner.css">
</head>
+1 -1
View File
@@ -3,7 +3,7 @@ import os from 'os'
import { app, nativeImage as image } from 'electron'
// eslint-disable-next-line no-duplicate-imports
import type { WebContents } from 'electron'
import cyIcons from '@cypress/icons'
import * as cyIcons from '@packages/icons'
import * as savedState from '../saved_state'
import menu from '../gui/menu'
import * as Windows from '../gui/windows'
+1 -1
View File
@@ -25,13 +25,13 @@
"@benmalka/foxdriver": "0.4.1",
"@cypress/commit-info": "2.2.0",
"@cypress/get-windows-proxy": "1.6.2",
"@cypress/icons": "0.7.0",
"@cypress/mocha-teamcity-reporter": "1.0.0",
"@cypress/request": "2.88.10",
"@cypress/request-promise": "4.2.6",
"@cypress/webpack-batteries-included-preprocessor": "0.0.0-development",
"@cypress/webpack-preprocessor": "0.0.0-development",
"@ffmpeg-installer/ffmpeg": "1.1.0",
"@packages/icons": "0.0.0-development",
"ansi_up": "5.0.0",
"ast-types": "0.13.3",
"black-hole-stream": "0.0.1",
+1
View File
@@ -15,6 +15,7 @@ export const monorepoPaths = {
pkgFrontendShared: path.join(__dirname, '../../packages/frontend-shared'),
pkgGraphql: path.join(__dirname, '../../packages/graphql'),
pkgHttpsProxy: path.join(__dirname, '../../packages/https-proxy'),
pkgIcons: path.join(__dirname, '../../packages/icons'),
pkgLauncher: path.join(__dirname, '../../packages/launcher'),
pkgLaunchpad: path.join(__dirname, '../../packages/launchpad'),
pkgNetStubbing: path.join(__dirname, '../../packages/net-stubbing'),
+135 -22
View File
@@ -2610,11 +2610,6 @@
debug "4.1.1"
lazy-ass "1.6.0"
"@cypress/icons@0.7.0":
version "0.7.0"
resolved "https://registry.yarnpkg.com/@cypress/icons/-/icons-0.7.0.tgz#415d3729a8dc8c7eb5cd24f79f2404a65751d303"
integrity sha1-QV03KajcjH61zST3nyQEpldR0wM=
"@cypress/json-schemas@5.39.0":
version "5.39.0"
resolved "https://registry.yarnpkg.com/@cypress/json-schemas/-/json-schemas-5.39.0.tgz#a650ba91d0124f56a2954edc156704da4a313780"
@@ -9664,6 +9659,13 @@
dependencies:
"@types/node" "*"
"@types/to-ico@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/to-ico/-/to-ico-1.1.1.tgz#486397c906bddd8aee38e43cda1afe5c38cd1c05"
integrity sha512-WQbdkUB4RjE2rrM9rNqm5OutcxWWZ3J9olDtYA+zDxiPobD7o/RHC+GlGOM5rL1ASP/AoudkDLKw5DbFV3DO8w==
dependencies:
"@types/node" "*"
"@types/tough-cookie@*":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.0.tgz#fef1904e4668b6e5ecee60c52cc6a078ffa6697d"
@@ -13815,6 +13817,11 @@ big.js@^5.2.2:
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
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-links@^1.1.2, bin-links@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.8.tgz#bd39aadab5dc4bdac222a07df5baf1af745b2228"
@@ -13941,6 +13948,16 @@ blueimp-md5@^2.3.0:
resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.18.0.tgz#1152be1335f0c6b3911ed9e36db54f3e6ac52935"
integrity sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==
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=
bmp-js@0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz#64113e9c7cf1202b376ed607bf30626ebe57b18a"
integrity sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=
bmp-js@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233"
@@ -14354,7 +14371,7 @@ buffer-alloc-unsafe@^1.1.0:
resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
buffer-alloc@^1.2.0:
buffer-alloc@^1.1.0, buffer-alloc@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
@@ -19603,7 +19620,7 @@ es6-object-assign@^1.1.0:
resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
es6-promise@^3.0.0:
es6-promise@^3.0.0, 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=
@@ -20513,7 +20530,7 @@ executable@^4.1.1:
dependencies:
pify "^2.2.0"
exif-parser@^0.1.12:
exif-parser@^0.1.12, 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=
@@ -21109,6 +21126,11 @@ file-system-cache@^1.0.5:
fs-extra "^0.30.0"
ramda "^0.21.0"
file-type@^3.1.0, file-type@^3.8.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek=
file-type@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18"
@@ -22226,7 +22248,7 @@ get-stream@3.0.0, get-stream@^3.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
get-stream@^2.2.0:
get-stream@^2.0.0, get-stream@^2.2.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de"
integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=
@@ -24187,6 +24209,11 @@ image-size@0.8.3:
dependencies:
queue "6.0.1"
image-size@^0.5.0, image-size@~0.5.0:
version "0.5.5"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
image-size@^0.7.2:
version "0.7.5"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.7.5.tgz#269f357cf5797cb44683dfa99790e54c705ead04"
@@ -24199,11 +24226,6 @@ image-size@^1.0.0:
dependencies:
queue "6.0.2"
image-size@~0.5.0:
version "0.5.5"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
immer@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d"
@@ -24632,6 +24654,11 @@ invert-kv@^2.0.0:
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
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.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
@@ -26420,6 +26447,28 @@ jimp@^0.10.3:
core-js "^3.4.1"
regenerator-runtime "^0.13.3"
jimp@^0.2.21:
version "0.2.28"
resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.2.28.tgz#dd529a937190f42957a7937d1acc3a7762996ea2"
integrity sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=
dependencies:
bignumber.js "^2.1.0"
bmp-js "0.0.3"
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"
mkdirp "0.5.1"
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"
jiti@^1.10.1, jiti@^1.12.3:
version "1.12.3"
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.12.3.tgz#fe6f9cb066aa2c37981231dffb1d3f04ab4ebdb2"
@@ -26435,6 +26484,16 @@ joycon@^3.0.1:
resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.0.1.tgz#9074c9b08ccf37a6726ff74a18485f85efcaddaf"
integrity sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==
jpeg-js@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.1.2.tgz#135b992c0575c985cfa0f494a3227ed238583ece"
integrity sha1-E1uZLAV1yYXPoPSUoyJ+0jhYPs4=
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=
jpeg-js@^0.3.4:
version "0.3.7"
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.7.tgz#471a89d06011640592d314158608690172b1028d"
@@ -27877,7 +27936,7 @@ livereload-js@^2.3.0:
resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c"
integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==
load-bmfont@^1.3.1, load-bmfont@^1.4.0:
load-bmfont@^1.2.3, load-bmfont@^1.3.1, load-bmfont@^1.4.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9"
integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==
@@ -29993,9 +30052,9 @@ module-not-found-error@^1.0.1:
integrity sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=
moment@^2.9.0:
version "2.17.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.0.tgz#a4c292e02aac5ddefb29a6eed24f51938dd3b74f"
integrity sha1-pMKS4CqsXd77Kabu0k9Rk43Tt08=
version "2.29.1"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
moo@^0.5.0:
version "0.5.1"
@@ -32313,6 +32372,13 @@ parse-path@^4.0.0:
qs "^6.9.4"
query-string "^6.13.8"
parse-png@^1.0.0, parse-png@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-1.1.2.tgz#f5c2ad7c7993490986020a284c19aee459711ff2"
integrity sha1-9cKtfHmTSQmGAgooTBmu5FlxH/I=
dependencies:
pngjs "^3.2.0"
parse-url@^5.0.0:
version "5.0.2"
resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59"
@@ -32695,7 +32761,7 @@ pirates@^4.0.0, pirates@^4.0.1:
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
pixelmatch@^4.0.2:
pixelmatch@^4.0.0, pixelmatch@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=
@@ -32822,7 +32888,7 @@ pn@^1.1.0:
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
pngjs@^3.0.0, pngjs@^3.3.3, pngjs@^3.4.0:
pngjs@^3.0.0, pngjs@^3.2.0, pngjs@^3.3.3, pngjs@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
@@ -35626,6 +35692,11 @@ read-cache@^1.0.0:
dependencies:
pify "^2.3.0"
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-cmd-shim@^1.0.1, read-cmd-shim@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16"
@@ -36466,7 +36537,7 @@ request-promise-native@^1.0.5, request-promise-native@^1.0.8:
stealthy-require "^1.1.1"
tough-cookie "^2.3.3"
request@^2.74.0, request@^2.87.0, request@^2.88.0, request@^2.88.2:
request@^2.65.0, request@^2.74.0, request@^2.87.0, request@^2.88.0, request@^2.88.2:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@@ -36532,6 +36603,18 @@ reserved-words@^0.1.2:
resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1"
integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=
resize-img@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/resize-img/-/resize-img-1.1.2.tgz#fad650faf3ef2c53ea63112bc272d95e9d92550e"
integrity sha1-+tZQ+vPvLFPqYxErwnLZXp2SVQ4=
dependencies:
bmp-js "0.0.1"
file-type "^3.8.0"
get-stream "^2.0.0"
jimp "^0.2.21"
jpeg-js "^0.1.1"
parse-png "^1.1.1"
resolve-alpn@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c"
@@ -39080,6 +39163,18 @@ stream-splicer@^2.0.0:
inherits "^2.0.1"
readable-stream "^2.0.2"
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=
streamsearch@0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
@@ -40423,7 +40518,7 @@ 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.4.1:
tinycolor2@^1.1.2, tinycolor2@^1.4.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803"
integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==
@@ -40511,6 +40606,17 @@ to-file@^0.2.0:
lazy-cache "^2.0.1"
vinyl "^1.1.1"
to-ico@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/to-ico/-/to-ico-1.1.5.tgz#1d32da5f2c90922edee6b686d610c54527b5a8d5"
integrity sha512-5kIh7m7bkIlqIESEZkL8gAMMzucXKfPe3hX2FoDY5HEAfD9OJU+Qh9b6Enp74w0qRcxVT5ejss66PHKqc3AVkg==
dependencies:
arrify "^1.0.1"
buffer-alloc "^1.1.0"
image-size "^0.5.0"
parse-png "^1.0.0"
resize-img "^1.1.0"
to-iso-string@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1"
@@ -41769,6 +41875,13 @@ url-parse@1.5.6, url-parse@^1.4.3, url-parse@^1.4.7:
querystringify "^2.1.1"
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.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21"