build(web): introduce Perfsee (#1256)

This commit is contained in:
LongYinan 2023-03-02 16:49:33 +08:00 committed by GitHub
parent 855588ca8b
commit a4892e5992
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 387 additions and 163 deletions

View File

@ -53,6 +53,7 @@ jobs:
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID }}
NEXT_PUBLIC_FIREBASE_APP_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_APP_ID }}
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID }}
PERFSEE_TOKEN: ${{ secrets.PERFSEE_TOKEN }}
- name: Export
run: pnpm export

View File

@ -4,6 +4,7 @@ import debugLocal from 'next-debug-local';
import preset from './preset.config.mjs';
import { createRequire } from 'node:module';
import { getCommitHash, getGitVersion } from './scripts/gitInfo.mjs';
import { PerfseePlugin } from '@perfsee/webpack';
const require = createRequire(import.meta.url);
@ -75,13 +76,25 @@ const nextConfig = {
editorVersion: require('./package.json').dependencies['@blocksuite/editor'],
...preset,
},
webpack: config => {
webpack: (config, { dev, isServer }) => {
config.experiments = { ...config.experiments, topLevelAwait: true };
config.module.rules.push({
test: /\.md$/i,
loader: 'raw-loader',
});
if (!isServer && !dev) {
config.devtool = 'hidden-nosources-source-map';
const perfsee = new PerfseePlugin({
project: 'affine-toeverything',
});
if (Array.isArray(config.plugins)) {
config.plugins.push(perfsee);
} else {
config.plugins = [perfsee];
}
}
return config;
},
rewrites: async () => {

View File

@ -39,6 +39,7 @@
"zod": "^3.20.6"
},
"devDependencies": {
"@perfsee/webpack": "^1.3.0",
"@redux-devtools/extension": "^3.2.5",
"@swc-jotai/debug-label": "^0.0.6",
"@swc-jotai/react-refresh": "^0.0.4",

View File

@ -156,6 +156,7 @@ importers:
'@emotion/css': ^11.10.6
'@emotion/react': ^11.10.6
'@mui/material': ^5.11.10
'@perfsee/webpack': ^1.3.0
'@redux-devtools/extension': ^3.2.5
'@swc-jotai/debug-label': ^0.0.6
'@swc-jotai/react-refresh': ^0.0.4
@ -214,6 +215,7 @@ importers:
yjs: 13.5.47
zod: 3.20.6
devDependencies:
'@perfsee/webpack': 1.3.0_webpack@5.75.0
'@redux-devtools/extension': 3.2.5_redux@4.2.1
'@swc-jotai/debug-label': 0.0.6
'@swc-jotai/react-refresh': 0.0.4
@ -221,11 +223,11 @@ importers:
'@types/react-dom': 18.0.11
'@types/webpack-env': 1.18.0
dotenv: 16.0.3
eslint-config-next: 13.2.2_typescript@4.9.5
eslint-config-next: 13.2.2_7kw3g6rralp5ps6mg3uyzz6azm
next: 13.2.2_biqbaboplfbrettd7655fr4n2y
next-debug-local: 0.1.5
next-router-mock: 0.9.2_next@13.2.2+react@18.2.0
raw-loader: 4.0.2
raw-loader: 4.0.2_webpack@5.75.0
redux: 4.2.1
typescript: 4.9.5
@ -297,7 +299,7 @@ importers:
swc-loader: 0.2.3_wumblt6f7l27pkvqm54p67bbsa
typescript: 4.9.5
vite: 4.1.4
webpack: 5.75.0_@swc+core@1.3.36
webpack: 5.75.0_vtoi35pt7ox7clreeappmlbt3e
yjs: 13.5.47
packages/data-center:
@ -356,7 +358,7 @@ importers:
dependencies:
'@blocksuite/global': 0.4.1-20230220214107-0a354de
devDependencies:
next: 13.2.3
next: 13.2.3_biqbaboplfbrettd7655fr4n2y
zod: 3.20.6
packages/i18n:
@ -375,11 +377,11 @@ importers:
'@affine/debug': link:../debug
i18next: 22.4.10
react: 18.2.0
react-i18next: 12.2.0_dxv7ampvtjrtnimevxnrn5rvga
react-i18next: 12.2.0_3yopsigl4h4eb2nqrqfsy65uwi
devDependencies:
'@types/node': 18.14.2
'@types/prettier': 2.7.2
next: 13.2.3_react@18.2.0
next: 13.2.3_biqbaboplfbrettd7655fr4n2y
prettier: 2.8.4
ts-node: 10.9.1_ellgaeuoqnti3hful2ny2iugba
typescript: 4.9.5
@ -2571,6 +2573,11 @@ packages:
- supports-color
dev: true
/@eyhn/msgpack-stream/2.8.4:
resolution: {integrity: sha512-Xx2/IEg+fLzzLH1t8sVr+UIQ3TK56lKOPxfxPCSZru8BkojW7xCXvRBCrYKVdm/BTgXYMQW5RaVIKk2HcQ4yrw==}
engines: {node: '>= 10'}
dev: true
/@fal-works/esbuild-plugin-global-externals/2.1.2:
resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==}
dev: true
@ -3211,6 +3218,18 @@ packages:
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
dev: true
/@kwsites/file-exists/1.1.1:
resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
dependencies:
debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: true
/@kwsites/promise-deferred/1.1.1:
resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
dev: true
/@lit-labs/ssr-dom-shim/1.0.0:
resolution: {integrity: sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==}
@ -3913,6 +3932,64 @@ packages:
fastq: 1.13.0
dev: true
/@perfsee/bundle-analyzer/1.3.0:
resolution: {integrity: sha512-saB1D08c2jEZ0oMTkWWLp+vSiLLWFN6ALrU2F3DIb+NC1rmSZWDzne++6kyZkuaPpzRZu7SR2LhfhiRi79Wsqg==}
dependencies:
'@eyhn/msgpack-stream': 2.8.4
'@perfsee/utils': 1.3.0
acorn: 8.8.2
acorn-walk: 8.2.0
htmlparser2: 8.0.1
lodash: 4.17.21
query-string: 7.1.3
tar: 6.1.13
tslib: 2.5.0
dev: true
/@perfsee/plugin-utils/1.3.0:
resolution: {integrity: sha512-2s8yH3LmYHDC9ya72fbgb8QwR7rBmlHsNz/wNmbibao9fofxSQlRpASTga4W0jccUf1XzCwo9wmEXuYjmBmCnA==}
dependencies:
'@eyhn/msgpack-stream': 2.8.4
'@perfsee/bundle-analyzer': 1.3.0
'@perfsee/utils': 1.3.0
chalk: 4.1.2
debug: 4.3.4
env-ci: 7.3.0
file-type: 16.5.4
lodash: 4.17.21
node-fetch: 2.6.7
query-string: 7.1.3
simple-git: 3.16.1
table: 6.8.1
tar: 6.1.13
tslib: 2.5.0
uuid: 9.0.0
transitivePeerDependencies:
- encoding
- supports-color
dev: true
/@perfsee/utils/1.3.0:
resolution: {integrity: sha512-Qla/tiqM6Ct5fMEFfWXoRTPXo/T/n5lkRd0yHl3jmSUMvDhIH0EIAzL0L5IoVdha8H4de5ly/FhVv2p9zZ3o9g==}
dependencies:
tslib: 2.5.0
dev: true
/@perfsee/webpack/1.3.0_webpack@5.75.0:
resolution: {integrity: sha512-f0IMwQ6S8lKE1XMaaV7zkIxdnOWpswkjGHC1wVR+mauO3+njiGGrMFwm57o0nlJSxf9CQ5d9AFIUj8Yu/Q5hVg==}
peerDependencies:
webpack: '>= 4'
dependencies:
'@perfsee/bundle-analyzer': 1.3.0
'@perfsee/plugin-utils': 1.3.0
chalk: 4.1.2
tslib: 2.5.0
webpack: 5.75.0
transitivePeerDependencies:
- encoding
- supports-color
dev: true
/@pkgr/utils/2.3.1:
resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
@ -5757,25 +5834,6 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser/5.53.0_typescript@4.9.5:
resolution: {integrity: sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.53.0
'@typescript-eslint/types': 5.53.0
'@typescript-eslint/typescript-estree': 5.53.0_typescript@4.9.5
debug: 4.3.4
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/scope-manager/5.53.0:
resolution: {integrity: sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -6165,6 +6223,15 @@ packages:
uri-js: 4.4.1
dev: true
/ajv/8.12.0:
resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
dependencies:
fast-deep-equal: 3.1.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js: 4.4.1
dev: true
/ansi-align/3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
dependencies:
@ -7330,6 +7397,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/decode-uri-component/0.2.2:
resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
engines: {node: '>=0.10'}
dev: true
/decompress-response/6.0.0:
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
engines: {node: '>=10'}
@ -7537,16 +7609,43 @@ packages:
csstype: 3.1.1
dev: false
/dom-serializer/2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.4.0
dev: true
/domelementtype/2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: true
/domexception/1.0.1:
resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==}
dependencies:
webidl-conversions: 4.0.2
dev: true
/domhandler/5.0.3:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
dependencies:
domelementtype: 2.3.0
dev: true
/domino/2.1.6:
resolution: {integrity: sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==}
dev: false
/domutils/3.0.1:
resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
dependencies:
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
dev: true
/dotenv-expand/10.0.0:
resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==}
engines: {node: '>=12'}
@ -7625,6 +7724,20 @@ packages:
ansi-colors: 4.1.3
dev: true
/entities/4.4.0:
resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
engines: {node: '>=0.12'}
dev: true
/env-ci/7.3.0:
resolution: {integrity: sha512-L8vK54CSjKB4pwlwx0YaqeBdUSGufaLHl/pEgD+EqnMrYCVUA8HzMjURALSyvOlC57e953yN7KyXS63qDoc3Rg==}
engines: {node: '>=12.20'}
dependencies:
execa: 5.1.1
fromentries: 1.3.2
java-properties: 1.0.2
dev: true
/envinfo/7.8.1:
resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==}
engines: {node: '>=4'}
@ -7872,7 +7985,7 @@ packages:
source-map: 0.6.1
dev: true
/eslint-config-next/13.2.2_typescript@4.9.5:
/eslint-config-next/13.2.2_7kw3g6rralp5ps6mg3uyzz6azm:
resolution: {integrity: sha512-aI56IaeSHaLevpmD/5sVTRGDp7rs1vFkrJxFsrwCSkd4GbWHkUbam0cv8neoW58fw+O/B05MoK/Nb0rcf9wOZQ==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
@ -7883,13 +7996,14 @@ packages:
dependencies:
'@next/eslint-plugin-next': 13.2.2
'@rushstack/eslint-patch': 1.2.0
'@typescript-eslint/parser': 5.53.0_typescript@4.9.5
'@typescript-eslint/parser': 5.53.0_7kw3g6rralp5ps6mg3uyzz6azm
eslint: 8.34.0
eslint-import-resolver-node: 0.3.7
eslint-import-resolver-typescript: 3.5.3_5rfvta7qn57kxm7ir36ta6fixq
eslint-plugin-import: 2.27.5_d3ys7ohip27gahpsqrh6axvxiq
eslint-plugin-jsx-a11y: 6.7.1
eslint-plugin-react: 7.32.2
eslint-plugin-react-hooks: 4.6.0
eslint-import-resolver-typescript: 3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm
eslint-plugin-import: 2.27.5_eslint@8.34.0
eslint-plugin-jsx-a11y: 6.7.1_eslint@8.34.0
eslint-plugin-react: 7.32.2_eslint@8.34.0
eslint-plugin-react-hooks: 4.6.0_eslint@8.34.0
typescript: 4.9.5
transitivePeerDependencies:
- eslint-import-resolver-webpack
@ -7915,7 +8029,7 @@ packages:
- supports-color
dev: true
/eslint-import-resolver-typescript/3.5.3_5rfvta7qn57kxm7ir36ta6fixq:
/eslint-import-resolver-typescript/3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm:
resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@ -7924,7 +8038,8 @@ packages:
dependencies:
debug: 4.3.4
enhanced-resolve: 5.12.0
eslint-plugin-import: 2.27.5_d3ys7ohip27gahpsqrh6axvxiq
eslint: 8.34.0
eslint-plugin-import: 2.27.5_eslint@8.34.0
get-tsconfig: 4.4.0
globby: 13.1.3
is-core-module: 2.11.0
@ -7963,7 +8078,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils/2.7.4_a4difm2tsf7lmihf7yyalibgdq:
/eslint-module-utils/2.7.4_eyqnu5kib2hfrvsonwfdq4ojse:
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
@ -7984,46 +8099,13 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.53.0_typescript@4.9.5
debug: 3.2.7
eslint: 8.34.0
eslint-import-resolver-node: 0.3.7
eslint-import-resolver-typescript: 3.5.3_5rfvta7qn57kxm7ir36ta6fixq
transitivePeerDependencies:
- supports-color
dev: true
/eslint-plugin-import/2.27.5_d3ys7ohip27gahpsqrh6axvxiq:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.53.0_typescript@4.9.5
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
debug: 3.2.7
doctrine: 2.1.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.7.4_a4difm2tsf7lmihf7yyalibgdq
has: 1.0.3
is-core-module: 2.11.0
is-glob: 4.0.3
minimatch: 3.1.2
object.values: 1.1.6
resolve: 1.22.1
semver: 6.3.0
tsconfig-paths: 3.14.1
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: true
/eslint-plugin-import/2.27.5_dbs2zxbe2aiqaiiio3svelvkai:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
@ -8057,7 +8139,39 @@ packages:
- supports-color
dev: true
/eslint-plugin-jsx-a11y/6.7.1:
/eslint-plugin-import/2.27.5_eslint@8.34.0:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
dependencies:
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.34.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.7.4_eyqnu5kib2hfrvsonwfdq4ojse
has: 1.0.3
is-core-module: 2.11.0
is-glob: 4.0.3
minimatch: 3.1.2
object.values: 1.1.6
resolve: 1.22.1
semver: 6.3.0
tsconfig-paths: 3.14.1
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: true
/eslint-plugin-jsx-a11y/6.7.1_eslint@8.34.0:
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
engines: {node: '>=4.0'}
peerDependencies:
@ -8072,6 +8186,7 @@ packages:
axobject-query: 3.1.1
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
eslint: 8.34.0
has: 1.0.3
jsx-ast-utils: 3.3.3
language-tags: 1.0.5
@ -8098,34 +8213,13 @@ packages:
prettier-linter-helpers: 1.0.0
dev: true
/eslint-plugin-react-hooks/4.6.0:
/eslint-plugin-react-hooks/4.6.0_eslint@8.34.0:
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
engines: {node: '>=10'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dev: true
/eslint-plugin-react/7.32.2:
resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
array-includes: 3.1.6
array.prototype.flatmap: 1.3.1
array.prototype.tosorted: 1.1.1
doctrine: 2.1.0
estraverse: 5.3.0
jsx-ast-utils: 3.3.3
minimatch: 3.1.2
object.entries: 1.1.6
object.fromentries: 2.0.6
object.hasown: 1.1.2
object.values: 1.1.6
prop-types: 15.8.1
resolve: 2.0.0-next.4
semver: 6.3.0
string.prototype.matchall: 4.0.8
eslint: 8.34.0
dev: true
/eslint-plugin-react/7.32.2_eslint@8.34.0:
@ -8586,6 +8680,15 @@ packages:
ramda: 0.28.0
dev: true
/file-type/16.5.4:
resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==}
engines: {node: '>=10'}
dependencies:
readable-web-to-node-stream: 3.0.2
strtok3: 6.3.0
token-types: 4.2.1
dev: true
/file-type/17.1.6:
resolution: {integrity: sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -8622,6 +8725,11 @@ packages:
to-regex-range: 5.0.1
dev: true
/filter-obj/1.1.0:
resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
engines: {node: '>=0.10.0'}
dev: true
/finalhandler/1.2.0:
resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
engines: {node: '>= 0.8'}
@ -9299,6 +9407,15 @@ packages:
engines: {node: '>=8'}
dev: true
/htmlparser2/8.0.1:
resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==}
dependencies:
domelementtype: 2.3.0
domhandler: 5.0.3
domutils: 3.0.1
entities: 4.4.0
dev: true
/http-cache-semantics/4.1.0:
resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==}
dev: true
@ -9852,6 +9969,11 @@ packages:
minimatch: 3.1.2
dev: true
/java-properties/1.0.2:
resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==}
engines: {node: '>= 0.6.0'}
dev: true
/jest-haste-map/29.4.2:
resolution: {integrity: sha512-WkUgo26LN5UHPknkezrBzr7lUtV1OpGsp+NfXbBwHztsFruS3gz+AMTTBcEklvi8uPzpISzYjdKXYZQJXBnfvw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@ -10031,6 +10153,10 @@ packages:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
/json-schema-traverse/1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
dev: true
/json-stable-stringify-without-jsonify/1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
@ -10307,6 +10433,10 @@ packages:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
dev: true
/lodash.truncate/4.4.2:
resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==}
dev: true
/lodash/4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@ -10830,52 +10960,7 @@ packages:
- babel-plugin-macros
dev: true
/next/13.2.3:
resolution: {integrity: sha512-nKFJC6upCPN7DWRx4+0S/1PIOT7vNlCT157w9AzbXEgKy6zkiPKEt5YyRUsRZkmpEqBVrGgOqNfwecTociyg+w==}
engines: {node: '>=14.6.0'}
hasBin: true
peerDependencies:
'@opentelemetry/api': ^1.4.0
fibers: '>= 3.1.0'
node-sass: ^6.0.0 || ^7.0.0
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
peerDependenciesMeta:
'@opentelemetry/api':
optional: true
fibers:
optional: true
node-sass:
optional: true
sass:
optional: true
dependencies:
'@next/env': 13.2.3
'@swc/helpers': 0.4.14
caniuse-lite: 1.0.30001419
postcss: 8.4.14
styled-jsx: 5.1.1
optionalDependencies:
'@next/swc-android-arm-eabi': 13.2.3
'@next/swc-android-arm64': 13.2.3
'@next/swc-darwin-arm64': 13.2.3
'@next/swc-darwin-x64': 13.2.3
'@next/swc-freebsd-x64': 13.2.3
'@next/swc-linux-arm-gnueabihf': 13.2.3
'@next/swc-linux-arm64-gnu': 13.2.3
'@next/swc-linux-arm64-musl': 13.2.3
'@next/swc-linux-x64-gnu': 13.2.3
'@next/swc-linux-x64-musl': 13.2.3
'@next/swc-win32-arm64-msvc': 13.2.3
'@next/swc-win32-ia32-msvc': 13.2.3
'@next/swc-win32-x64-msvc': 13.2.3
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
dev: true
/next/13.2.3_react@18.2.0:
/next/13.2.3_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-nKFJC6upCPN7DWRx4+0S/1PIOT7vNlCT157w9AzbXEgKy6zkiPKEt5YyRUsRZkmpEqBVrGgOqNfwecTociyg+w==}
engines: {node: '>=14.6.0'}
hasBin: true
@ -10901,6 +10986,7 @@ packages:
caniuse-lite: 1.0.30001419
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
styled-jsx: 5.1.1_react@18.2.0
optionalDependencies:
'@next/swc-android-arm-eabi': 13.2.3
@ -11440,6 +11526,11 @@ packages:
through: 2.3.8
dev: true
/peek-readable/4.1.0:
resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==}
engines: {node: '>=8'}
dev: true
/peek-readable/5.0.0:
resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==}
engines: {node: '>=14.16'}
@ -11725,6 +11816,16 @@ packages:
side-channel: 1.0.4
dev: true
/query-string/7.1.3:
resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
engines: {node: '>=6'}
dependencies:
decode-uri-component: 0.2.2
filter-obj: 1.1.0
split-on-first: 1.1.0
strict-uri-encode: 2.0.0
dev: true
/queue-microtask/1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@ -11786,7 +11887,7 @@ packages:
unpipe: 1.0.0
dev: true
/raw-loader/4.0.2:
/raw-loader/4.0.2_webpack@5.75.0:
resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==}
engines: {node: '>= 10.13.0'}
peerDependencies:
@ -11794,6 +11895,7 @@ packages:
dependencies:
loader-utils: 2.0.4
schema-utils: 3.1.1
webpack: 5.75.0
dev: true
/react-colorful/5.6.1_biqbaboplfbrettd7655fr4n2y:
@ -11874,7 +11976,7 @@ packages:
shallowequal: 1.1.0
dev: false
/react-i18next/12.2.0_dxv7ampvtjrtnimevxnrn5rvga:
/react-i18next/12.2.0_3yopsigl4h4eb2nqrqfsy65uwi:
resolution: {integrity: sha512-5XeVgSygaGfyFmDd2WcXvINRw2WEC1XviW1LXY/xLOEMzsCFRwKqfnHN+hUjla8ZipbVJR27GCMSuTr0BhBBBQ==}
peerDependencies:
i18next: '>= 19.0.0'
@ -11891,6 +11993,7 @@ packages:
html-parse-stringify: 3.0.1
i18next: 22.4.10
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
dev: false
/react-inspector/6.0.1_react@18.2.0:
@ -12213,6 +12316,11 @@ packages:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
/require-from-string/2.0.2:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
dev: true
/require-main-filename/2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
dev: true
@ -12522,6 +12630,16 @@ packages:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: true
/simple-git/3.16.1:
resolution: {integrity: sha512-xzRxMKiy1zEYeHGXgAzvuXffDS0xgsq07Oi4LWEEcVH29vLpcZ2tyQRWyK0NLLlCVaKysZeem5tC1qHEOxsKwA==}
dependencies:
'@kwsites/file-exists': 1.1.1
'@kwsites/promise-deferred': 1.1.1
debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: true
/simple-peer/9.11.1:
resolution: {integrity: sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==}
dependencies:
@ -12685,6 +12803,11 @@ packages:
resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==}
dev: true
/split-on-first/1.1.0:
resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
engines: {node: '>=6'}
dev: true
/split/0.3.3:
resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
dependencies:
@ -12743,6 +12866,11 @@ packages:
mixme: 0.5.4
dev: true
/strict-uri-encode/2.0.0:
resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
engines: {node: '>=4'}
dev: true
/string-argv/0.3.1:
resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==}
engines: {node: '>=0.6.19'}
@ -12866,6 +12994,14 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
/strtok3/6.3.0:
resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==}
engines: {node: '>=10'}
dependencies:
'@tokenizer/token': 0.3.0
peek-readable: 4.1.0
dev: true
/strtok3/7.0.0:
resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==}
engines: {node: '>=14.16'}
@ -12874,22 +13010,6 @@ packages:
peek-readable: 5.0.0
dev: true
/styled-jsx/5.1.1:
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
peerDependencies:
'@babel/core': '*'
babel-plugin-macros: '*'
react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
peerDependenciesMeta:
'@babel/core':
optional: true
babel-plugin-macros:
optional: true
dependencies:
client-only: 0.0.1
dev: true
/styled-jsx/5.1.1_react@18.2.0:
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
@ -12941,7 +13061,7 @@ packages:
webpack: '>=2'
dependencies:
'@swc/core': 1.3.36
webpack: 5.75.0_@swc+core@1.3.36
webpack: 5.75.0_vtoi35pt7ox7clreeappmlbt3e
dev: true
/swc/1.0.11:
@ -12975,6 +13095,17 @@ packages:
tslib: 2.5.0
dev: true
/table/6.8.1:
resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==}
engines: {node: '>=10.0.0'}
dependencies:
ajv: 8.12.0
lodash.truncate: 4.4.2
slice-ansi: 4.0.0
string-width: 4.2.3
strip-ansi: 6.0.1
dev: true
/tapable/2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
@ -13026,7 +13157,7 @@ packages:
engines: {node: '>=8'}
dev: true
/terser-webpack-plugin/5.3.6_wumblt6f7l27pkvqm54p67bbsa:
/terser-webpack-plugin/5.3.6_idpwx3pifil5ztt5ydph72mifi:
resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==}
engines: {node: '>= 10.13.0'}
peerDependencies:
@ -13044,11 +13175,36 @@ packages:
dependencies:
'@jridgewell/trace-mapping': 0.3.17
'@swc/core': 1.3.36
esbuild: 0.16.17
jest-worker: 27.5.1
schema-utils: 3.1.1
serialize-javascript: 6.0.0
terser: 5.16.1
webpack: 5.75.0_@swc+core@1.3.36
webpack: 5.75.0_vtoi35pt7ox7clreeappmlbt3e
dev: true
/terser-webpack-plugin/5.3.6_webpack@5.75.0:
resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
esbuild: '*'
uglify-js: '*'
webpack: ^5.1.0
peerDependenciesMeta:
'@swc/core':
optional: true
esbuild:
optional: true
uglify-js:
optional: true
dependencies:
'@jridgewell/trace-mapping': 0.3.17
jest-worker: 27.5.1
schema-utils: 3.1.1
serialize-javascript: 6.0.0
terser: 5.16.1
webpack: 5.75.0
dev: true
/terser/5.16.1:
@ -13147,6 +13303,14 @@ packages:
engines: {node: '>=0.6'}
dev: true
/token-types/4.2.1:
resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==}
engines: {node: '>=10'}
dependencies:
'@tokenizer/token': 0.3.0
ieee754: 1.2.1
dev: true
/token-types/5.0.1:
resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==}
engines: {node: '>=14.16'}
@ -13586,6 +13750,11 @@ packages:
hasBin: true
dev: true
/uuid/9.0.0:
resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==}
hasBin: true
dev: true
/v8-compile-cache-lib/3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
dev: true
@ -13824,7 +13993,7 @@ packages:
resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==}
dev: true
/webpack/5.75.0_@swc+core@1.3.36:
/webpack/5.75.0:
resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==}
engines: {node: '>=10.13.0'}
hasBin: true
@ -13855,7 +14024,47 @@ packages:
neo-async: 2.6.2
schema-utils: 3.1.1
tapable: 2.2.1
terser-webpack-plugin: 5.3.6_wumblt6f7l27pkvqm54p67bbsa
terser-webpack-plugin: 5.3.6_webpack@5.75.0
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies:
- '@swc/core'
- esbuild
- uglify-js
dev: true
/webpack/5.75.0_vtoi35pt7ox7clreeappmlbt3e:
resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
webpack-cli: '*'
peerDependenciesMeta:
webpack-cli:
optional: true
dependencies:
'@types/eslint-scope': 3.7.4
'@types/estree': 0.0.51
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/wasm-edit': 1.11.1
'@webassemblyjs/wasm-parser': 1.11.1
acorn: 8.8.2
acorn-import-assertions: 1.8.0_acorn@8.8.2
browserslist: 4.21.4
chrome-trace-event: 1.0.3
enhanced-resolve: 5.12.0
es-module-lexer: 0.9.3
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
graceful-fs: 4.2.10
json-parse-even-better-errors: 2.3.1
loader-runner: 4.3.0
mime-types: 2.1.35
neo-async: 2.6.2
schema-utils: 3.1.1
tapable: 2.2.1
terser-webpack-plugin: 5.3.6_idpwx3pifil5ztt5ydph72mifi
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies: