diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index d2f14c8..39f023d 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,27 +1,35 @@
module.exports = {
root: true,
+ env: {browser: true, es2020: true, node: true, jest: true},
+ parserOptions: {
+ ecmaVersion: 'latest',
+ // eslint-disable-next-line no-undef
+ tsconfigRootDir: __dirname,
+ sourceType: 'module',
+ },
+ settings: {
+ react: {
+ version: 'detect',
+ },
+ },
extends: [
+ 'eslint:recommended',
'plugin:@typescript-eslint/recommended',
- 'next/core-web-vitals',
+ 'plugin:react/recommended',
+ 'plugin:react/jsx-runtime',
'plugin:react-hooks/recommended',
+ 'next/core-web-vitals',
'plugin:ssr-friendly/recommended',
- 'plugin:prettier/recommended'
+ 'plugin:prettier/recommended',
],
parser: '@typescript-eslint/parser',
- parserOptions: {
- ecmaFeatures: {
- jsx: true
- },
- ecmaVersion: 2018,
- sourceType: 'module'
- },
- plugins: ['prettier', '@typescript-eslint', 'ssr-friendly'],
+ plugins: ['import', 'prettier', '@typescript-eslint', 'ssr-friendly'],
rules: {
/**
* Allow empty arrow functions `() => {}`, while keeping other empty functions restricted
* @see https://eslint.org/docs/latest/rules/no-empty-function#allow-arrowfunctions
*/
- '@typescript-eslint/no-empty-function': ['error', { allow: ['arrowFunctions'] }],
+ '@typescript-eslint/no-empty-function': ['error', {allow: ['arrowFunctions']}],
'@typescript-eslint/ban-ts-comment': 1,
'no-const-assign': 'error',
/** Restrict imports from devDependencies since they are not included in library build. peerDependencies are ok */
@@ -29,8 +37,8 @@ module.exports = {
'error',
{
devDependencies: false,
- peerDependencies: true
- }
+ peerDependencies: true,
+ },
],
/**
* Enforce import order with empty lines between import group
@@ -39,20 +47,15 @@ module.exports = {
'import/order': [
'error',
{
- groups: [
- 'builtin',
- 'external',
- 'internal',
- ['parent', 'sibling', 'index']
- ],
+ groups: ['builtin', 'external', 'internal', ['parent', 'sibling', 'index']],
pathGroups: [
{
pattern: '@/**',
- group: 'internal'
- }
+ group: 'internal',
+ },
],
- 'newlines-between': 'always'
- }
+ 'newlines-between': 'always',
+ },
],
/**
* Disallow combined module and type imports like this `import React, {FC} from 'react'`.
@@ -61,14 +64,79 @@ module.exports = {
*/
'@typescript-eslint/consistent-type-imports': 'error',
'import/no-cycle': 'error',
- 'prettier/prettier': ['error', {
- semi: true,
- singleQuote: true,
- jsxSingleQuote: false,
- trailingComma: 'none',
- bracketSpacing: true,
- jsxBracketSameLine: true,
- arrowParens: 'avoid'
- }]
- }
+ 'prettier/prettier': [
+ 'error',
+ {
+ semi: true,
+ singleQuote: true,
+ jsxSingleQuote: false,
+ trailingComma: 'es5',
+ bracketSpacing: false,
+ jsxBracketSameLine: true,
+ arrowParens: 'avoid',
+ },
+ ],
+ '@typescript-eslint/consistent-type-definitions': ['error', 'type'],
+ /**
+ * Allow unused variables with names stating with '_'
+ * @see https://eslint.org/docs/latest/rules/no-unused-vars
+ * @see https://typescript-eslint.io/rules/no-unused-vars/
+ */
+ '@typescript-eslint/no-unused-vars': [
+ 'error',
+ {
+ argsIgnorePattern: '^_',
+ varsIgnorePattern: '^_',
+ caughtErrorsIgnorePattern: '^_',
+ ignoreRestSiblings: true,
+ args: 'after-used',
+ },
+ ],
+ },
+ overrides: [
+ /* Allow require imports for internal scripts */
+ {
+ files: ['*.js', '*.cjs'],
+ rules: {
+ '@typescript-eslint/no-var-requires': 0,
+ },
+ },
+ /* Allow devDependencies imports for tests and config files */
+ {
+ files: [
+ '**/*.spec.*',
+ '**/testUtils/*.*',
+ '**/*.js',
+ '**/*.cjs',
+ '**/setupTests.ts',
+ ],
+ rules: {
+ 'import/no-extraneous-dependencies': [
+ 'error',
+ {
+ devDependencies: true,
+ peerDependencies: true,
+ },
+ ],
+ },
+ },
+ /* Disable `template` directory imports for all files */
+ {
+ files: ['./src/**/*.*'],
+ rules: {
+ 'no-restricted-imports': [
+ 'error',
+ {
+ patterns: [
+ {
+ group: ['**/templates/**'],
+ message: 'Imports from templates directory are forbidden.',
+ },
+ ],
+ },
+ ],
+ },
+ }
+ ],
};
+
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 6bedb25..0000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "extends": ["plugin:@typescript-eslint/recommended", "next/core-web-vitals", "plugin:ssr-friendly/recommended", "plugin:prettier/recommended"],
- "plugins": ["prettier", "@typescript-eslint", "ssr-friendly"]
-}
diff --git a/README.md b/README.md
index bc88566..eb40895 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,6 @@
This template is for Next based web applications using Redux.
-Tba
-
## Features
- Supports **Typescript**.
diff --git a/package.json b/package.json
index c5492a0..8eb8f33 100644
--- a/package.json
+++ b/package.json
@@ -9,8 +9,8 @@
"start": "next start",
"lint:code": "eslint src/ --ext .js,.jsx,.ts,.tsx",
"fix:code": "run-s 'lint:code --fix'",
- "lint:style": "stylelint 'src/**/*.{ts,tsx}'",
- "fix:style": "stylelint 'src/**/*.{ts,tsx}' --fix",
+ "lint:style": "stylelint 'src/**/*.css'",
+ "fix:style": "stylelint 'src/**/*.css' --fix",
"lint:tsc": "tsc --pretty --noEmit",
"prepare": "is-ci || husky install"
},
@@ -30,11 +30,14 @@
"@types/react-dom": "18.2.15",
"@types/uniqid": "5.3.4",
"@typescript-eslint/eslint-plugin": "5.62.0",
+ "@typescript-eslint/parser": "^7.8.0",
"eslint": "8.53.0",
"eslint-config-next": "13.5.6",
"eslint-config-prettier": "8.10.0",
"eslint-config-react-app": "7.0.1",
+ "eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "4.2.1",
+ "eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-plugin-ssr-friendly": "1.2.0",
"husky": "8.0.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8a06b99..e353f54 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -47,7 +47,10 @@ importers:
version: 5.3.4
'@typescript-eslint/eslint-plugin':
specifier: 5.62.0
- version: 5.62.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
+ version: 5.62.0(@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/parser':
+ specifier: ^7.8.0
+ version: 7.8.0(eslint@8.53.0)(typescript@4.9.5)
eslint:
specifier: 8.53.0
version: 8.53.0
@@ -60,9 +63,15 @@ importers:
eslint-config-react-app:
specifier: 7.0.1
version: 7.0.1(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.3))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3))(eslint@8.53.0)(typescript@4.9.5)
+ eslint-plugin-import:
+ specifier: ^2.29.1
+ version: 2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)
eslint-plugin-prettier:
specifier: 4.2.1
version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.53.0))(eslint@8.53.0)(prettier@2.8.8)
+ eslint-plugin-react:
+ specifier: ^7.34.1
+ version: 7.34.1(eslint@8.53.0)
eslint-plugin-react-hooks:
specifier: 4.6.0
version: 4.6.0(eslint@8.53.0)
@@ -1285,8 +1294,8 @@ packages:
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- '@typescript-eslint/parser@5.49.0':
- resolution: {integrity: sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==}
+ '@typescript-eslint/parser@5.62.0':
+ resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -1295,24 +1304,24 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@5.62.0':
- resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/parser@7.8.0':
+ resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/scope-manager@5.49.0':
- resolution: {integrity: sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
'@typescript-eslint/scope-manager@5.62.0':
resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/scope-manager@7.8.0':
+ resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@typescript-eslint/type-utils@5.62.0':
resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1323,16 +1332,16 @@ packages:
typescript:
optional: true
- '@typescript-eslint/types@5.49.0':
- resolution: {integrity: sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
'@typescript-eslint/types@5.62.0':
resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@typescript-eslint/typescript-estree@5.49.0':
- resolution: {integrity: sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==}
+ '@typescript-eslint/types@7.8.0':
+ resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
+ '@typescript-eslint/typescript-estree@5.62.0':
+ resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@@ -1340,9 +1349,9 @@ packages:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@5.62.0':
- resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/typescript-estree@7.8.0':
+ resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -1355,14 +1364,14 @@ packages:
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- '@typescript-eslint/visitor-keys@5.49.0':
- resolution: {integrity: sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
'@typescript-eslint/visitor-keys@5.62.0':
resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@typescript-eslint/visitor-keys@7.8.0':
+ resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
@@ -1428,8 +1437,8 @@ packages:
array-buffer-byte-length@1.0.0:
resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
- array-includes@3.1.6:
- resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
+ array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
array-includes@3.1.7:
@@ -1440,6 +1449,10 @@ packages:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'}
+ array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+
array.prototype.findlastindex@1.2.3:
resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
engines: {node: '>= 0.4'}
@@ -1448,21 +1461,24 @@ packages:
resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
engines: {node: '>= 0.4'}
- array.prototype.flatmap@1.3.1:
- resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
- engines: {node: '>= 0.4'}
-
array.prototype.flatmap@1.3.2:
resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
engines: {node: '>= 0.4'}
- array.prototype.tosorted@1.1.1:
- resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
+ array.prototype.toreversed@1.1.2:
+ resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+
+ array.prototype.tosorted@1.1.3:
+ resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
arraybuffer.prototype.slice@1.0.2:
resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
engines: {node: '>= 0.4'}
+ arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+
arrify@1.0.1:
resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
engines: {node: '>=0.10.0'}
@@ -1474,9 +1490,6 @@ packages:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
- asynciterator.prototype@1.0.0:
- resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
-
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
@@ -1491,6 +1504,10 @@ packages:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
axe-core@4.6.3:
resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==}
engines: {node: '>=4'}
@@ -1535,6 +1552,9 @@ packages:
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
braces@3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
@@ -1556,6 +1576,10 @@ packages:
call-bind@1.0.5:
resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
+ call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -1709,6 +1733,18 @@ packages:
damerau-levenshtein@1.0.8:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ data-view-buffer@1.0.1:
+ resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.1:
+ resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.0:
+ resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ engines: {node: '>= 0.4'}
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -1748,6 +1784,10 @@ packages:
resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
engines: {node: '>= 0.4'}
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
define-lazy-prop@2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
engines: {node: '>=8'}
@@ -1801,19 +1841,43 @@ packages:
resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
engines: {node: '>= 0.4'}
+ es-abstract@1.23.3:
+ resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ engines: {node: '>= 0.4'}
+
+ es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
es-get-iterator@1.1.3:
resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
- es-iterator-helpers@1.0.15:
- resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
+ es-iterator-helpers@1.0.19:
+ resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
+ engines: {node: '>= 0.4'}
+
+ es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
es-set-tostringtag@2.0.1:
resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
engines: {node: '>= 0.4'}
+ es-set-tostringtag@2.0.3:
+ resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
+
es-shim-unscopables@1.0.0:
resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+
es-to-primitive@1.2.1:
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
engines: {node: '>= 0.4'}
@@ -1897,18 +1961,8 @@ packages:
'@babel/plugin-transform-react-jsx': ^7.14.9
eslint: ^8.1.0
- eslint-plugin-import@2.27.5:
- 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
-
- eslint-plugin-import@2.29.0:
- resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
+ eslint-plugin-import@2.29.1:
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@@ -1953,14 +2007,8 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
- eslint-plugin-react@7.32.1:
- resolution: {integrity: sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
-
- eslint-plugin-react@7.33.2:
- resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
+ eslint-plugin-react@7.34.1:
+ resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
@@ -2120,6 +2168,10 @@ packages:
get-intrinsic@1.2.2:
resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
+ get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -2128,6 +2180,10 @@ packages:
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
engines: {node: '>= 0.4'}
+ get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+
get-tsconfig@4.3.0:
resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==}
@@ -2216,10 +2272,17 @@ packages:
has-property-descriptors@1.0.0:
resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
has-proto@1.0.1:
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
engines: {node: '>= 0.4'}
+ has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+
has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
@@ -2228,6 +2291,10 @@ packages:
resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
engines: {node: '>= 0.4'}
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
has@1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
@@ -2236,6 +2303,10 @@ packages:
resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
engines: {node: '>= 0.4'}
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
@@ -2296,6 +2367,10 @@ packages:
resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
engines: {node: '>= 0.4'}
+ internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+
is-arguments@1.1.1:
resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
engines: {node: '>= 0.4'}
@@ -2303,6 +2378,10 @@ packages:
is-array-buffer@3.0.2:
resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
+ is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
@@ -2331,6 +2410,10 @@ packages:
is-core-module@2.13.1:
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ is-data-view@1.0.1:
+ resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
+
is-date-object@1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
engines: {node: '>= 0.4'}
@@ -2370,6 +2453,10 @@ packages:
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
engines: {node: '>= 0.4'}
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+
is-number-object@1.0.7:
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
engines: {node: '>= 0.4'}
@@ -2400,6 +2487,10 @@ packages:
is-shared-array-buffer@1.0.2:
resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ is-shared-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
+
is-stream@3.0.0:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@@ -2416,6 +2507,10 @@ packages:
resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
engines: {node: '>= 0.4'}
+ is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+
is-weakmap@2.0.1:
resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
@@ -2617,6 +2712,10 @@ packages:
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ minimatch@9.0.4:
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
minimist-options@4.1.0:
resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
engines: {node: '>= 6'}
@@ -2715,12 +2814,16 @@ packages:
resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
engines: {node: '>= 0.4'}
+ object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+
object.entries@1.1.6:
resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
engines: {node: '>= 0.4'}
- object.fromentries@2.0.6:
- resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
+ object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
engines: {node: '>= 0.4'}
object.fromentries@2.0.7:
@@ -2730,11 +2833,8 @@ packages:
object.groupby@1.0.1:
resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
- object.hasown@1.1.2:
- resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
-
- object.values@1.1.6:
- resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
+ object.hasown@1.1.4:
+ resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
engines: {node: '>= 0.4'}
object.values@1.1.7:
@@ -2840,6 +2940,10 @@ packages:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
+ possible-typed-array-names@1.0.0:
+ resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
+
postcss-attribute-case-insensitive@6.0.3:
resolution: {integrity: sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==}
engines: {node: ^14 || ^16 || >=18}
@@ -3130,6 +3234,10 @@ packages:
resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
engines: {node: '>= 0.4'}
+ regexp.prototype.flags@1.5.2:
+ resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+
regexpu-core@5.3.2:
resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
engines: {node: '>=4'}
@@ -3158,8 +3266,8 @@ packages:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
- resolve@2.0.0-next.4:
- resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
+ resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
hasBin: true
restore-cursor@3.1.0:
@@ -3187,9 +3295,17 @@ packages:
resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
engines: {node: '>=0.4'}
+ safe-array-concat@1.1.2:
+ resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ engines: {node: '>=0.4'}
+
safe-regex-test@1.0.0:
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
+ safe-regex-test@1.0.3:
+ resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+
scheduler@0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
@@ -3206,14 +3322,27 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.6.2:
+ resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ engines: {node: '>=10'}
+ hasBin: true
+
set-function-length@1.1.1:
resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
engines: {node: '>= 0.4'}
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
set-function-name@2.0.1:
resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
engines: {node: '>= 0.4'}
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
shebang-command@1.2.0:
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
engines: {node: '>=0.10.0'}
@@ -3236,6 +3365,10 @@ packages:
side-channel@1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -3306,8 +3439,9 @@ packages:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
engines: {node: '>=12'}
- string.prototype.matchall@4.0.8:
- resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
+ string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
string.prototype.padend@3.1.5:
resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==}
@@ -3317,12 +3451,23 @@ packages:
resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
engines: {node: '>= 0.4'}
+ string.prototype.trim@1.2.9:
+ resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ engines: {node: '>= 0.4'}
+
string.prototype.trimend@1.0.7:
resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ string.prototype.trimend@1.0.8:
+ resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+
string.prototype.trimstart@1.0.7:
resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -3458,8 +3603,14 @@ packages:
resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
engines: {node: '>=12'}
- tsconfig-paths@3.14.2:
- resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
+ ts-api-utils@1.3.0:
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ typescript: '>=4.2.0'
+
+ tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@@ -3493,17 +3644,33 @@ packages:
resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
engines: {node: '>= 0.4'}
+ typed-array-buffer@1.0.2:
+ resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ engines: {node: '>= 0.4'}
+
typed-array-byte-length@1.0.0:
resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
engines: {node: '>= 0.4'}
+ typed-array-byte-length@1.0.1:
+ resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ engines: {node: '>= 0.4'}
+
typed-array-byte-offset@1.0.0:
resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
engines: {node: '>= 0.4'}
+ typed-array-byte-offset@1.0.2:
+ resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ engines: {node: '>= 0.4'}
+
typed-array-length@1.0.4:
resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
+ typed-array-length@1.0.6:
+ resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ engines: {node: '>= 0.4'}
+
typescript@4.9.5:
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}
@@ -3582,6 +3749,10 @@ packages:
resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
engines: {node: '>= 0.4'}
+ which-typed-array@1.1.15:
+ resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ engines: {node: '>= 0.4'}
+
which@1.3.1:
resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
hasBin: true
@@ -4908,10 +5079,10 @@ snapshots:
'@types/use-sync-external-store@0.0.3': {}
- '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)':
+ '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)':
dependencies:
'@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 5.49.0(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/type-utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
'@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
@@ -4927,25 +5098,32 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/experimental-utils@5.62.0(eslint@8.53.0)(typescript@4.9.5)':
+ '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)':
dependencies:
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 7.8.0(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/scope-manager': 5.62.0
+ '@typescript-eslint/type-utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
'@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
+ debug: 4.3.4
eslint: 8.53.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
+ semver: 7.3.8
+ tsutils: 3.21.0(typescript@4.9.5)
+ optionalDependencies:
+ typescript: 4.9.5
transitivePeerDependencies:
- supports-color
- - typescript
- '@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5)':
+ '@typescript-eslint/experimental-utils@5.62.0(eslint@8.53.0)(typescript@4.9.5)':
dependencies:
- '@typescript-eslint/scope-manager': 5.49.0
- '@typescript-eslint/types': 5.49.0
- '@typescript-eslint/typescript-estree': 5.49.0(typescript@4.9.5)
- debug: 4.3.4
+ '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
eslint: 8.53.0
- optionalDependencies:
- typescript: 4.9.5
transitivePeerDependencies:
- supports-color
+ - typescript
'@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5)':
dependencies:
@@ -4959,16 +5137,29 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@5.49.0':
+ '@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5)':
dependencies:
- '@typescript-eslint/types': 5.49.0
- '@typescript-eslint/visitor-keys': 5.49.0
+ '@typescript-eslint/scope-manager': 7.8.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/typescript-estree': 7.8.0(typescript@4.9.5)
+ '@typescript-eslint/visitor-keys': 7.8.0
+ debug: 4.3.4
+ eslint: 8.53.0
+ optionalDependencies:
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - supports-color
'@typescript-eslint/scope-manager@5.62.0':
dependencies:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/visitor-keys': 5.62.0
+ '@typescript-eslint/scope-manager@7.8.0':
+ dependencies:
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/visitor-keys': 7.8.0
+
'@typescript-eslint/type-utils@5.62.0(eslint@8.53.0)(typescript@4.9.5)':
dependencies:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5)
@@ -4981,14 +5172,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@5.49.0': {}
-
'@typescript-eslint/types@5.62.0': {}
- '@typescript-eslint/typescript-estree@5.49.0(typescript@4.9.5)':
+ '@typescript-eslint/types@7.8.0': {}
+
+ '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)':
dependencies:
- '@typescript-eslint/types': 5.49.0
- '@typescript-eslint/visitor-keys': 5.49.0
+ '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/visitor-keys': 5.62.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -4999,7 +5190,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)':
+ '@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6)':
dependencies:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/visitor-keys': 5.62.0
@@ -5007,23 +5198,24 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.3.8
- tsutils: 3.21.0(typescript@4.9.5)
+ tsutils: 3.21.0(typescript@5.1.6)
optionalDependencies:
- typescript: 4.9.5
+ typescript: 5.1.6
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6)':
+ '@typescript-eslint/typescript-estree@7.8.0(typescript@4.9.5)':
dependencies:
- '@typescript-eslint/types': 5.62.0
- '@typescript-eslint/visitor-keys': 5.62.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/visitor-keys': 7.8.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.3.8
- tsutils: 3.21.0(typescript@5.1.6)
+ minimatch: 9.0.4
+ semver: 7.6.2
+ ts-api-utils: 1.3.0(typescript@4.9.5)
optionalDependencies:
- typescript: 5.1.6
+ typescript: 4.9.5
transitivePeerDependencies:
- supports-color
@@ -5042,14 +5234,14 @@ snapshots:
- supports-color
- typescript
- '@typescript-eslint/visitor-keys@5.49.0':
+ '@typescript-eslint/visitor-keys@5.62.0':
dependencies:
- '@typescript-eslint/types': 5.49.0
+ '@typescript-eslint/types': 5.62.0
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@5.62.0':
+ '@typescript-eslint/visitor-keys@7.8.0':
dependencies:
- '@typescript-eslint/types': 5.62.0
+ '@typescript-eslint/types': 7.8.0
eslint-visitor-keys: 3.4.3
'@ungap/structured-clone@1.2.0': {}
@@ -5112,13 +5304,10 @@ snapshots:
call-bind: 1.0.5
is-array-buffer: 3.0.2
- array-includes@3.1.6:
+ array-buffer-byte-length@1.0.1:
dependencies:
- call-bind: 1.0.5
- define-properties: 1.2.1
- es-abstract: 1.22.3
- get-intrinsic: 1.2.2
- is-string: 1.0.7
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
array-includes@3.1.7:
dependencies:
@@ -5130,6 +5319,15 @@ snapshots:
array-union@2.1.0: {}
+ array.prototype.findlast@1.2.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
+
array.prototype.findlastindex@1.2.3:
dependencies:
call-bind: 1.0.5
@@ -5145,27 +5343,27 @@ snapshots:
es-abstract: 1.22.3
es-shim-unscopables: 1.0.0
- array.prototype.flatmap@1.3.1:
+ array.prototype.flatmap@1.3.2:
dependencies:
call-bind: 1.0.5
define-properties: 1.2.1
es-abstract: 1.22.3
es-shim-unscopables: 1.0.0
- array.prototype.flatmap@1.3.2:
+ array.prototype.toreversed@1.1.2:
dependencies:
call-bind: 1.0.5
define-properties: 1.2.1
es-abstract: 1.22.3
es-shim-unscopables: 1.0.0
- array.prototype.tosorted@1.1.1:
+ array.prototype.tosorted@1.1.3:
dependencies:
call-bind: 1.0.5
define-properties: 1.2.1
es-abstract: 1.22.3
- es-shim-unscopables: 1.0.0
- get-intrinsic: 1.2.2
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
arraybuffer.prototype.slice@1.0.2:
dependencies:
@@ -5177,16 +5375,23 @@ snapshots:
is-array-buffer: 3.0.2
is-shared-array-buffer: 1.0.2
+ arraybuffer.prototype.slice@1.0.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.3
+
arrify@1.0.1: {}
ast-types-flow@0.0.7: {}
astral-regex@2.0.0: {}
- asynciterator.prototype@1.0.0:
- dependencies:
- has-symbols: 1.0.3
-
asynckit@0.4.0: {}
autoprefixer@10.4.19(postcss@8.4.31):
@@ -5201,6 +5406,10 @@ snapshots:
available-typed-arrays@1.0.5: {}
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.0.0
+
axe-core@4.6.3: {}
axios@1.6.1:
@@ -5278,6 +5487,10 @@ snapshots:
balanced-match: 1.0.2
concat-map: 0.0.1
+ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
braces@3.0.2:
dependencies:
fill-range: 7.0.1
@@ -5306,6 +5519,14 @@ snapshots:
get-intrinsic: 1.2.2
set-function-length: 1.1.1
+ call-bind@1.0.7:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+
callsites@3.1.0: {}
camelcase-keys@7.0.2:
@@ -5448,6 +5669,24 @@ snapshots:
damerau-levenshtein@1.0.8: {}
+ data-view-buffer@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ data-view-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ data-view-byte-offset@1.0.0:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -5493,6 +5732,12 @@ snapshots:
gopd: 1.0.1
has-property-descriptors: 1.0.0
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+
define-lazy-prop@2.0.0: {}
define-properties@1.2.1:
@@ -5578,6 +5823,61 @@ snapshots:
unbox-primitive: 1.0.2
which-typed-array: 1.1.13
+ es-abstract@1.23.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ data-view-buffer: 1.0.1
+ data-view-byte-length: 1.0.1
+ data-view-byte-offset: 1.0.0
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-data-view: 1.0.1
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.6
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
+
+ es-define-property@1.0.0:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ es-errors@1.3.0: {}
+
es-get-iterator@1.1.3:
dependencies:
call-bind: 1.0.5
@@ -5590,22 +5890,26 @@ snapshots:
isarray: 2.0.5
stop-iteration-iterator: 1.0.0
- es-iterator-helpers@1.0.15:
+ es-iterator-helpers@1.0.19:
dependencies:
- asynciterator.prototype: 1.0.0
- call-bind: 1.0.5
+ call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.3
- es-set-tostringtag: 2.0.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.3
function-bind: 1.1.2
- get-intrinsic: 1.2.2
+ get-intrinsic: 1.2.4
globalthis: 1.0.3
- has-property-descriptors: 1.0.0
- has-proto: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
has-symbols: 1.0.3
- internal-slot: 1.0.6
+ internal-slot: 1.0.7
iterator.prototype: 1.1.2
- safe-array-concat: 1.0.1
+ safe-array-concat: 1.1.2
+
+ es-object-atoms@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
es-set-tostringtag@2.0.1:
dependencies:
@@ -5613,10 +5917,20 @@ snapshots:
has: 1.0.3
has-tostringtag: 1.0.0
+ es-set-tostringtag@2.0.3:
+ dependencies:
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
es-shim-unscopables@1.0.0:
dependencies:
has: 1.0.3
+ es-shim-unscopables@1.0.2:
+ dependencies:
+ hasown: 2.0.0
+
es-to-primitive@1.2.1:
dependencies:
is-callable: 1.2.7
@@ -5636,10 +5950,10 @@ snapshots:
'@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
eslint: 8.53.0
eslint-import-resolver-node: 0.3.7
- eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.29.0)(eslint@8.53.0)
- eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)
+ eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.29.1)(eslint@8.53.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.5.3)(eslint@8.53.0)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.53.0)
- eslint-plugin-react: 7.33.2(eslint@8.53.0)
+ eslint-plugin-react: 7.34.1(eslint@8.53.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.53.0)
optionalDependencies:
typescript: 4.9.5
@@ -5656,16 +5970,16 @@ snapshots:
'@babel/core': 7.23.3
'@babel/eslint-parser': 7.23.3(@babel/core@7.23.3)(eslint@8.53.0)
'@rushstack/eslint-patch': 1.2.0
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
- '@typescript-eslint/parser': 5.49.0(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
babel-preset-react-app: 10.0.1
confusing-browser-globals: 1.0.11
eslint: 8.53.0
eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.3))(@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.3))(eslint@8.53.0)
- eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)
- eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)
+ eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.53.0)
- eslint-plugin-react: 7.32.1(eslint@8.53.0)
+ eslint-plugin-react: 7.34.1(eslint@8.53.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.53.0)
eslint-plugin-testing-library: 5.11.1(eslint@8.53.0)(typescript@4.9.5)
optionalDependencies:
@@ -5694,12 +6008,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.29.0)(eslint@8.53.0):
+ eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.29.1)(eslint@8.53.0):
dependencies:
debug: 4.3.4
enhanced-resolve: 5.12.0
eslint: 8.53.0
- eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.5.3)(eslint@8.53.0)
get-tsconfig: 4.3.0
globby: 13.1.3
is-core-module: 2.11.0
@@ -5708,11 +6022,32 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.8.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0):
+ eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.29.1)(eslint@8.53.0))(eslint@8.53.0):
+ dependencies:
+ debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
+ eslint: 8.53.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.29.1)(eslint@8.53.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 5.49.0(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
+ eslint: 8.53.0
+ eslint-import-resolver-node: 0.3.9
+ transitivePeerDependencies:
+ - supports-color
+
+ eslint-module-utils@2.8.0(@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0):
+ dependencies:
+ debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 7.8.0(eslint@8.53.0)(typescript@4.9.5)
eslint: 8.53.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
@@ -5726,32 +6061,34 @@ snapshots:
lodash: 4.17.21
string-natural-compare: 3.0.1
- eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0):
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-typescript@3.5.3)(eslint@8.53.0):
dependencies:
array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2
array.prototype.flatmap: 1.3.2
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.53.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0)
- has: 1.0.3
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.29.1)(eslint@8.53.0))(eslint@8.53.0)
+ hasown: 2.0.0
is-core-module: 2.13.1
is-glob: 4.0.3
minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
object.values: 1.1.7
- resolve: 1.22.8
semver: 6.3.1
- tsconfig-paths: 3.14.2
+ tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 5.49.0(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0):
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0):
dependencies:
array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3
@@ -5761,7 +6098,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.53.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0)
hasown: 2.0.0
is-core-module: 2.13.1
is-glob: 4.0.3
@@ -5770,20 +6107,47 @@ snapshots:
object.groupby: 1.0.1
object.values: 1.1.7
semver: 6.3.1
- tsconfig-paths: 3.14.2
+ tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 5.49.0(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/parser': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5):
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0):
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.3
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.53.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.8.0(eslint@8.53.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.53.0)
+ hasown: 2.0.0
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.1
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 7.8.0(eslint@8.53.0)(typescript@4.9.5)
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+
+ eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5):
dependencies:
'@typescript-eslint/experimental-utils': 5.62.0(eslint@8.53.0)(typescript@4.9.5)
eslint: 8.53.0
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.49.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
+ '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.53.0)(typescript@4.9.5))(eslint@8.53.0)(typescript@4.9.5)
transitivePeerDependencies:
- supports-color
- typescript
@@ -5820,44 +6184,27 @@ snapshots:
dependencies:
eslint: 8.53.0
- eslint-plugin-react@7.32.1(eslint@8.53.0):
+ eslint-plugin-react@7.34.1(eslint@8.53.0):
dependencies:
array-includes: 3.1.7
+ array.prototype.findlast: 1.2.5
array.prototype.flatmap: 1.3.2
- array.prototype.tosorted: 1.1.1
+ array.prototype.toreversed: 1.1.2
+ array.prototype.tosorted: 1.1.3
doctrine: 2.1.0
+ es-iterator-helpers: 1.0.19
eslint: 8.53.0
estraverse: 5.3.0
jsx-ast-utils: 3.3.3
minimatch: 3.1.2
- object.entries: 1.1.6
+ object.entries: 1.1.8
object.fromentries: 2.0.7
- object.hasown: 1.1.2
+ object.hasown: 1.1.4
object.values: 1.1.7
prop-types: 15.8.1
- resolve: 2.0.0-next.4
+ resolve: 2.0.0-next.5
semver: 6.3.1
- string.prototype.matchall: 4.0.8
-
- eslint-plugin-react@7.33.2(eslint@8.53.0):
- dependencies:
- array-includes: 3.1.6
- array.prototype.flatmap: 1.3.1
- array.prototype.tosorted: 1.1.1
- doctrine: 2.1.0
- es-iterator-helpers: 1.0.15
- eslint: 8.53.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.1
- string.prototype.matchall: 4.0.8
+ string.prototype.matchall: 4.0.11
eslint-plugin-ssr-friendly@1.2.0(eslint@8.53.0):
dependencies:
@@ -6053,6 +6400,14 @@ snapshots:
has-symbols: 1.0.3
hasown: 2.0.0
+ get-intrinsic@1.2.4:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.0
+
get-stream@6.0.1: {}
get-symbol-description@1.0.0:
@@ -6060,6 +6415,12 @@ snapshots:
call-bind: 1.0.5
get-intrinsic: 1.2.2
+ get-symbol-description@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+
get-tsconfig@4.3.0: {}
glob-parent@5.1.2:
@@ -6157,14 +6518,24 @@ snapshots:
dependencies:
get-intrinsic: 1.2.2
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.0
+
has-proto@1.0.1: {}
+ has-proto@1.0.3: {}
+
has-symbols@1.0.3: {}
has-tostringtag@1.0.0:
dependencies:
has-symbols: 1.0.3
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.0.3
+
has@1.0.3:
dependencies:
function-bind: 1.1.2
@@ -6173,6 +6544,10 @@ snapshots:
dependencies:
function-bind: 1.1.2
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
hoist-non-react-statics@3.3.2:
dependencies:
react-is: 16.13.1
@@ -6219,6 +6594,12 @@ snapshots:
hasown: 2.0.0
side-channel: 1.0.4
+ internal-slot@1.0.7:
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.0
+ side-channel: 1.0.4
+
is-arguments@1.1.1:
dependencies:
call-bind: 1.0.5
@@ -6230,6 +6611,11 @@ snapshots:
get-intrinsic: 1.2.2
is-typed-array: 1.1.12
+ is-array-buffer@3.0.4:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+
is-arrayish@0.2.1: {}
is-async-function@2.0.0:
@@ -6259,6 +6645,10 @@ snapshots:
dependencies:
hasown: 2.0.0
+ is-data-view@1.0.1:
+ dependencies:
+ is-typed-array: 1.1.13
+
is-date-object@1.0.5:
dependencies:
has-tostringtag: 1.0.0
@@ -6269,7 +6659,7 @@ snapshots:
is-finalizationregistry@1.0.2:
dependencies:
- call-bind: 1.0.5
+ call-bind: 1.0.7
is-fullwidth-code-point@3.0.0: {}
@@ -6287,6 +6677,8 @@ snapshots:
is-negative-zero@2.0.2: {}
+ is-negative-zero@2.0.3: {}
+
is-number-object@1.0.7:
dependencies:
has-tostringtag: 1.0.0
@@ -6310,6 +6702,10 @@ snapshots:
dependencies:
call-bind: 1.0.5
+ is-shared-array-buffer@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+
is-stream@3.0.0: {}
is-string@1.0.7:
@@ -6324,6 +6720,10 @@ snapshots:
dependencies:
which-typed-array: 1.1.13
+ is-typed-array@1.1.13:
+ dependencies:
+ which-typed-array: 1.1.15
+
is-weakmap@2.0.1: {}
is-weakref@1.0.2:
@@ -6346,7 +6746,7 @@ snapshots:
iterator.prototype@1.1.2:
dependencies:
define-properties: 1.2.1
- get-intrinsic: 1.2.2
+ get-intrinsic: 1.2.4
has-symbols: 1.0.3
reflect.getprototypeof: 1.0.4
set-function-name: 2.0.1
@@ -6525,6 +6925,10 @@ snapshots:
dependencies:
brace-expansion: 1.1.11
+ minimatch@9.0.4:
+ dependencies:
+ brace-expansion: 2.0.1
+
minimist-options@4.1.0:
dependencies:
arrify: 1.0.1
@@ -6630,17 +7034,24 @@ snapshots:
has-symbols: 1.0.3
object-keys: 1.1.1
+ object.assign@4.1.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+
object.entries@1.1.6:
dependencies:
call-bind: 1.0.5
define-properties: 1.2.1
es-abstract: 1.22.3
- object.fromentries@2.0.6:
+ object.entries@1.1.8:
dependencies:
- call-bind: 1.0.5
+ call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.3
+ es-object-atoms: 1.0.0
object.fromentries@2.0.7:
dependencies:
@@ -6655,16 +7066,11 @@ snapshots:
es-abstract: 1.22.3
get-intrinsic: 1.2.2
- object.hasown@1.1.2:
- dependencies:
- define-properties: 1.2.1
- es-abstract: 1.22.3
-
- object.values@1.1.6:
+ object.hasown@1.1.4:
dependencies:
- call-bind: 1.0.5
define-properties: 1.2.1
- es-abstract: 1.22.3
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
object.values@1.1.7:
dependencies:
@@ -6757,6 +7163,8 @@ snapshots:
pify@3.0.0: {}
+ possible-typed-array-names@1.0.0: {}
+
postcss-attribute-case-insensitive@6.0.3(postcss@8.4.31):
dependencies:
postcss: 8.4.31
@@ -7079,10 +7487,10 @@ snapshots:
reflect.getprototypeof@1.0.4:
dependencies:
- call-bind: 1.0.5
+ call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.3
- get-intrinsic: 1.2.2
+ es-abstract: 1.23.3
+ get-intrinsic: 1.2.4
globalthis: 1.0.3
which-builtin-type: 1.1.3
@@ -7104,6 +7512,13 @@ snapshots:
define-properties: 1.2.1
set-function-name: 2.0.1
+ regexp.prototype.flags@1.5.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ set-function-name: 2.0.2
+
regexpu-core@5.3.2:
dependencies:
'@babel/regjsgen': 0.8.0
@@ -7135,7 +7550,7 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- resolve@2.0.0-next.4:
+ resolve@2.0.0-next.5:
dependencies:
is-core-module: 2.13.1
path-parse: 1.0.7
@@ -7169,12 +7584,25 @@ snapshots:
has-symbols: 1.0.3
isarray: 2.0.5
+ safe-array-concat@1.1.2:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+
safe-regex-test@1.0.0:
dependencies:
call-bind: 1.0.5
get-intrinsic: 1.2.2
is-regex: 1.1.4
+ safe-regex-test@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-regex: 1.1.4
+
scheduler@0.23.0:
dependencies:
loose-envify: 1.4.0
@@ -7187,6 +7615,8 @@ snapshots:
dependencies:
lru-cache: 6.0.0
+ semver@7.6.2: {}
+
set-function-length@1.1.1:
dependencies:
define-data-property: 1.1.1
@@ -7194,12 +7624,28 @@ snapshots:
gopd: 1.0.1
has-property-descriptors: 1.0.0
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+
set-function-name@2.0.1:
dependencies:
define-data-property: 1.1.1
functions-have-names: 1.2.3
has-property-descriptors: 1.0.0
+ set-function-name@2.0.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+
shebang-command@1.2.0:
dependencies:
shebang-regex: 1.0.0
@@ -7220,6 +7666,13 @@ snapshots:
get-intrinsic: 1.2.2
object-inspect: 1.13.1
+ side-channel@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.1
+
signal-exit@3.0.7: {}
signal-exit@4.1.0: {}
@@ -7289,16 +7742,20 @@ snapshots:
emoji-regex: 9.2.2
strip-ansi: 7.0.1
- string.prototype.matchall@4.0.8:
+ string.prototype.matchall@4.0.11:
dependencies:
- call-bind: 1.0.5
+ call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.3
- get-intrinsic: 1.2.2
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
has-symbols: 1.0.3
- internal-slot: 1.0.6
- regexp.prototype.flags: 1.5.1
- side-channel: 1.0.4
+ internal-slot: 1.0.7
+ regexp.prototype.flags: 1.5.2
+ set-function-name: 2.0.2
+ side-channel: 1.0.6
string.prototype.padend@3.1.5:
dependencies:
@@ -7312,18 +7769,37 @@ snapshots:
define-properties: 1.2.1
es-abstract: 1.22.3
+ string.prototype.trim@1.2.9:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
string.prototype.trimend@1.0.7:
dependencies:
call-bind: 1.0.5
define-properties: 1.2.1
es-abstract: 1.22.3
+ string.prototype.trimend@1.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
string.prototype.trimstart@1.0.7:
dependencies:
call-bind: 1.0.5
define-properties: 1.2.1
es-abstract: 1.22.3
+ string.prototype.trimstart@1.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
@@ -7475,7 +7951,11 @@ snapshots:
trim-newlines@4.1.1: {}
- tsconfig-paths@3.14.2:
+ ts-api-utils@1.3.0(typescript@4.9.5):
+ dependencies:
+ typescript: 4.9.5
+
+ tsconfig-paths@3.15.0:
dependencies:
'@types/json5': 0.0.29
json5: 1.0.2
@@ -7512,6 +7992,12 @@ snapshots:
get-intrinsic: 1.2.2
is-typed-array: 1.1.12
+ typed-array-buffer@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-typed-array: 1.1.13
+
typed-array-byte-length@1.0.0:
dependencies:
call-bind: 1.0.5
@@ -7519,6 +8005,14 @@ snapshots:
has-proto: 1.0.1
is-typed-array: 1.1.12
+ typed-array-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+
typed-array-byte-offset@1.0.0:
dependencies:
available-typed-arrays: 1.0.5
@@ -7527,12 +8021,30 @@ snapshots:
has-proto: 1.0.1
is-typed-array: 1.1.12
+ typed-array-byte-offset@1.0.2:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+
typed-array-length@1.0.4:
dependencies:
call-bind: 1.0.5
for-each: 0.3.3
is-typed-array: 1.1.12
+ typed-array-length@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ possible-typed-array-names: 1.0.0
+
typescript@4.9.5: {}
typescript@5.1.6: {}
@@ -7644,6 +8156,14 @@ snapshots:
gopd: 1.0.1
has-tostringtag: 1.0.0
+ which-typed-array@1.1.15:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.2
+
which@1.3.1:
dependencies:
isexe: 2.0.0
diff --git a/src/components/Counter/Counter.module.css b/src/components/Counter/Counter.module.css
index b9bc15f..3e16459 100644
--- a/src/components/Counter/Counter.module.css
+++ b/src/components/Counter/Counter.module.css
@@ -1,32 +1,32 @@
.counter {
- border: 1px solid lightgray;
- margin: 36px 24px;
- padding: 24px;
- text-align: center;
- width: 240px;
+ border: 1px solid lightgray;
+ margin: 36px 24px;
+ padding: 24px;
+ text-align: center;
+ width: 240px;
}
.header {
- font-size: 24px;
- font-weight: normal;
- margin: 0 0 12px;
+ font-size: 24px;
+ font-weight: normal;
+ margin: 0 0 12px;
}
.button {
- background: lightseagreen;
- border: none;
- border-radius: 5px;
- color: white;
- cursor: pointer;
- display: block;
- font-size: 16px;
- margin: 0 auto 24px;
- padding: 12px 24px;
- text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
+ background: lightseagreen;
+ border: none;
+ border-radius: 5px;
+ color: white;
+ cursor: pointer;
+ display: block;
+ font-size: 16px;
+ margin: 0 auto 24px;
+ padding: 12px 24px;
+ text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
}
.button:active {
- left: 1px;
- position: relative;
- top: 1px;
+ left: 1px;
+ position: relative;
+ top: 1px;
}
diff --git a/src/components/Counter/Counter.spec.js b/src/components/Counter/Counter.spec.js
index d562b1a..b954db9 100644
--- a/src/components/Counter/Counter.spec.js
+++ b/src/components/Counter/Counter.spec.js
@@ -1,8 +1,8 @@
import React from 'react';
-import { Provider } from 'react-redux';
-import { render, fireEvent } from '@testing-library/react';
+import {Provider} from 'react-redux';
+import {render, fireEvent} from '@testing-library/react';
import configureStore from 'redux-mock-store';
-import { INCREMENT_COUNTER } from 'features/counter/actionTypes';
+import {INCREMENT_COUNTER} from 'features/counter/actionTypes';
import Counter from './Counter';
@@ -11,8 +11,8 @@ describe('components > Counter', () => {
const mockStore = configureStore([]);
const store = mockStore({
count: {
- value: 6
- }
+ value: 6,
+ },
});
/**
@@ -43,8 +43,8 @@ describe('components > Counter', () => {
* `wrapper`
* @see https://testing-library.com/docs/react-testing-library/api#wrapper
*/
- const { asFragment, getByText } = render(, {
- wrapper: ({ children }) => {children}
+ const {asFragment, getByText} = render(, {
+ wrapper: ({children}) => {children},
});
/**
@@ -62,8 +62,8 @@ describe('components > Counter', () => {
* `getByRole`:
* @see https://testing-library.com/docs/dom-testing-library/api-queries#byrole
*/
- const { getByRole } = render(, {
- wrapper: ({ children }) => {children}
+ const {getByRole} = render(, {
+ wrapper: ({children}) => {children},
});
/**
@@ -78,7 +78,7 @@ describe('components > Counter', () => {
/** Check if store.dispatch was run with correct action */
expect(store.dispatch).toHaveBeenCalledWith({
type: INCREMENT_COUNTER,
- value: 7
+ value: 7,
});
});
});
diff --git a/src/components/Counter/Counter.tsx b/src/components/Counter/Counter.tsx
index 13b56a8..95de98c 100644
--- a/src/components/Counter/Counter.tsx
+++ b/src/components/Counter/Counter.tsx
@@ -1,7 +1,7 @@
-import type { FC } from 'react';
+import type {FC} from 'react';
import React from 'react';
-import { useCountValue, useIncrementCounter } from '@/features/counter';
+import {useCountValue, useIncrementCounter} from '@/features/counter';
import classes from './Counter.module.css';
diff --git a/src/components/Counter/index.ts b/src/components/Counter/index.ts
index 8ea29b5..b0723d6 100644
--- a/src/components/Counter/index.ts
+++ b/src/components/Counter/index.ts
@@ -1 +1 @@
-export { default } from './Counter';
+export {default} from './Counter';
diff --git a/src/components/Random/Random.module.css b/src/components/Random/Random.module.css
index afaa1ae..d19a8a2 100644
--- a/src/components/Random/Random.module.css
+++ b/src/components/Random/Random.module.css
@@ -1,37 +1,37 @@
.counter {
- border: 1px solid lightgray;
- margin: 36px 24px;
- padding: 24px;
- width: 240px;
+ border: 1px solid lightgray;
+ margin: 36px 24px;
+ padding: 24px;
+ width: 240px;
}
.header {
- font-size: 24px;
- font-weight: normal;
- margin: 0 0 12px;
- text-align: center;
+ font-size: 24px;
+ font-weight: normal;
+ margin: 0 0 12px;
+ text-align: center;
}
.button {
- background: lightseagreen;
- border: none;
- border-radius: 5px;
- color: white;
- cursor: pointer;
- display: block;
- font-size: 16px;
- margin: 0 auto 24px;
- padding: 12px 24px;
- text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
+ background: lightseagreen;
+ border: none;
+ border-radius: 5px;
+ color: white;
+ cursor: pointer;
+ display: block;
+ font-size: 16px;
+ margin: 0 auto 24px;
+ padding: 12px 24px;
+ text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
}
.button:disabled {
- background: lightgray;
- cursor: not-allowed;
+ background: lightgray;
+ cursor: not-allowed;
}
.button:active:not(:disabled) {
- left: 1px;
- position: relative;
- top: 1px;
+ left: 1px;
+ position: relative;
+ top: 1px;
}
diff --git a/src/components/Random/Random.spec.js b/src/components/Random/Random.spec.js
index 47e0672..dc38034 100644
--- a/src/components/Random/Random.spec.js
+++ b/src/components/Random/Random.spec.js
@@ -1,12 +1,12 @@
import React from 'react';
-import { Provider } from 'react-redux';
-import { render, fireEvent, waitFor, screen, waitForElementToBeRemoved } from '@testing-library/react';
+import {Provider} from 'react-redux';
+import {render, fireEvent, waitFor, screen, waitForElementToBeRemoved} from '@testing-library/react';
import axios from 'axios';
import configureStore from 'redux-mock-store';
-import { GET_RANDOM_NUMBER } from 'features/random/actionTypes';
-import { store as realStore } from 'withReduxFeatures';
+import {GET_RANDOM_NUMBER} from 'features/random/actionTypes';
+import {store as realStore} from 'withReduxFeatures';
-import { promiseResolverMiddleware } from '../../middlewares/promiseResolverMiddleware';
+import {promiseResolverMiddleware} from '../../middlewares/promiseResolverMiddleware';
import Random from './Random';
/**
@@ -34,15 +34,15 @@ describe('components > Random', () => {
${true} | ${false} | ${false}
${false} | ${true} | ${false}
${false} | ${false} | ${true}
- `('renders different store states', ({ isLoading, hasError, isFulfilled }) => {
+ `('renders different store states', ({isLoading, hasError, isFulfilled}) => {
it(`when isLoading === ${isLoading} && hasError === ${hasError} && isFulfilled === ${isFulfilled}`, () => {
const store = mockStore({
random: {
isLoading,
hasError,
isFulfilled,
- number: isFulfilled ? 1 : undefined
- }
+ number: isFulfilled ? 1 : undefined,
+ },
});
/**
@@ -51,8 +51,8 @@ describe('components > Random', () => {
* `wrapper`:
* @see https://testing-library.com/docs/react-testing-library/api#wrapper
*/
- const { asFragment } = render(, {
- wrapper: ({ children }) => {children}
+ const {asFragment} = render(, {
+ wrapper: ({children}) => {children},
});
/**
@@ -68,17 +68,17 @@ describe('components > Random', () => {
* Mock axios successful response
* @see https://www.robinwieruch.de/axios-jest
*/
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: response }));
+ axios.get.mockImplementationOnce(() => Promise.resolve({data: response}));
/**
* `getByRole`:
* @see https://testing-library.com/docs/dom-testing-library/api-queries#byrole
*/
- const { asFragment, getByRole } = render(, {
- wrapper: ({ children }) => (
+ const {asFragment, getByRole} = render(, {
+ wrapper: ({children}) => (
/* We use real store here, to get action through */
{children}
- )
+ ),
});
/**
@@ -111,11 +111,11 @@ describe('components > Random', () => {
* `getByRole`:
* @see https://testing-library.com/docs/dom-testing-library/api-queries#byrole
*/
- const { asFragment, getByRole } = render(, {
- wrapper: ({ children }) => (
+ const {asFragment, getByRole} = render(, {
+ wrapper: ({children}) => (
/* We use real store here, to get action through */
{children}
- )
+ ),
});
/**
@@ -142,22 +142,22 @@ describe('components > Random', () => {
random: {
isLoading: false,
hasError: false,
- isFulfilled: false
- }
+ isFulfilled: false,
+ },
});
/**
* Mock axios successful response
* @see https://www.robinwieruch.de/axios-jest
*/
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: response }));
+ axios.get.mockImplementationOnce(() => Promise.resolve({data: response}));
/**
* `getByRole`:
* @see https://testing-library.com/docs/dom-testing-library/api-queries#byrole
*/
- const { getByRole } = render(, {
- wrapper: ({ children }) => {children}
+ const {getByRole} = render(, {
+ wrapper: ({children}) => {children},
});
/**
@@ -168,7 +168,7 @@ describe('components > Random', () => {
/** First dispatched action should have _PENDING suffix */
expect(store.getActions()[0]).toEqual({
- type: `${GET_RANDOM_NUMBER}_PENDING`
+ type: `${GET_RANDOM_NUMBER}_PENDING`,
});
await waitFor(() => {
@@ -185,8 +185,8 @@ describe('components > Random', () => {
random: {
isLoading: false,
hasError: false,
- isFulfilled: false
- }
+ isFulfilled: false,
+ },
});
/**
@@ -199,8 +199,8 @@ describe('components > Random', () => {
* `getByRole`:
* @see https://testing-library.com/docs/dom-testing-library/api-queries#byrole
*/
- const { getByRole } = render(, {
- wrapper: ({ children }) => {children}
+ const {getByRole} = render(, {
+ wrapper: ({children}) => {children},
});
/**
@@ -211,7 +211,7 @@ describe('components > Random', () => {
/** First dispatched action should have _PENDING suffix */
expect(store.getActions()[0]).toEqual({
- type: `${GET_RANDOM_NUMBER}_PENDING`
+ type: `${GET_RANDOM_NUMBER}_PENDING`,
});
await waitFor(() => {
diff --git a/src/components/Random/Random.tsx b/src/components/Random/Random.tsx
index e90dd64..27e7b72 100644
--- a/src/components/Random/Random.tsx
+++ b/src/components/Random/Random.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { useGetRandomNumberQuery, useRandomNumber, useLoadingState } from '@/features/random';
+import {useGetRandomNumberQuery, useRandomNumber, useLoadingState} from '@/features/random';
import classes from './Random.module.css';
const Random = () => {
/** Loading state of random.org request from Redux store */
- const { isLoading, hasError, isFulfilled } = useLoadingState();
+ const {isLoading, hasError, isFulfilled} = useLoadingState();
/** Random number value */
const number = useRandomNumber();
diff --git a/src/components/Random/index.ts b/src/components/Random/index.ts
index b090e4a..1cb871b 100644
--- a/src/components/Random/index.ts
+++ b/src/components/Random/index.ts
@@ -1 +1 @@
-export { default } from './Random';
+export {default} from './Random';
diff --git a/src/features/counter/CounterReducer.spec.js b/src/features/counter/CounterReducer.spec.js
index ba11765..95477d7 100644
--- a/src/features/counter/CounterReducer.spec.js
+++ b/src/features/counter/CounterReducer.spec.js
@@ -1,4 +1,4 @@
-import { INCREMENT_COUNTER } from './actionTypes';
+import {INCREMENT_COUNTER} from './actionTypes';
import CounterReducer from './CounterReducer';
describe('features > counter > CounterReducer', () => {
@@ -8,11 +8,11 @@ describe('features > counter > CounterReducer', () => {
*/
it('returns initial state, if non matched action is dispatched', () => {
const initialState = {
- value: 0
+ value: 0,
};
const action = {
- type: 'FOO'
+ type: 'FOO',
};
expect(CounterReducer(initialState, action)).toBe(initialState);
@@ -20,17 +20,17 @@ describe('features > counter > CounterReducer', () => {
it(`returns state with incremented value, if ${INCREMENT_COUNTER} action is dispatched`, () => {
const initialState = {
- value: 0
+ value: 0,
};
/** State we expect after action dispatched */
const expectedState = {
- value: 1
+ value: 1,
};
const action = {
type: INCREMENT_COUNTER,
- value: expectedState.value
+ value: expectedState.value,
};
/**
* Use `toEqual` matcher instead of `toBe`,
diff --git a/src/features/counter/CounterReducer.ts b/src/features/counter/CounterReducer.ts
index cacec67..be3bc47 100644
--- a/src/features/counter/CounterReducer.ts
+++ b/src/features/counter/CounterReducer.ts
@@ -1,11 +1,11 @@
-import { Actions } from './actionTypes';
+import {Actions} from './actionTypes';
export type State = {
value: number;
};
export const initialState = {
- value: 0
+ value: 0,
} as State;
export type Action = {
@@ -16,7 +16,7 @@ export type Action = {
const reducer = (state = initialState, action: Action): State => {
switch (action.type) {
case Actions.INCREMENT_COUNTER: {
- return { ...state, value: action.value };
+ return {...state, value: action.value};
}
default:
diff --git a/src/features/counter/actionTypes.ts b/src/features/counter/actionTypes.ts
index 85be9d3..cd9a7a4 100644
--- a/src/features/counter/actionTypes.ts
+++ b/src/features/counter/actionTypes.ts
@@ -1,3 +1,3 @@
export enum Actions {
- INCREMENT_COUNTER = 'INCREMENT_COUNTER'
+ INCREMENT_COUNTER = 'INCREMENT_COUNTER',
}
diff --git a/src/features/counter/index.ts b/src/features/counter/index.ts
index e6404f4..fb45f28 100644
--- a/src/features/counter/index.ts
+++ b/src/features/counter/index.ts
@@ -1,3 +1,3 @@
-export { default as CounterReducer, initialState as CounterInitialState } from './CounterReducer';
-export { default as useCountValue } from './selectors';
-export { default as useIncrementCounter } from './useIncrementCounter';
+export {default as CounterReducer, initialState as CounterInitialState} from './CounterReducer';
+export {default as useCountValue} from './selectors';
+export {default as useIncrementCounter} from './useIncrementCounter';
diff --git a/src/features/counter/selectors.spec.js b/src/features/counter/selectors.spec.js
index 50d151e..f28deb0 100644
--- a/src/features/counter/selectors.spec.js
+++ b/src/features/counter/selectors.spec.js
@@ -1,7 +1,7 @@
import React from 'react';
-import { Provider } from 'react-redux';
+import {Provider} from 'react-redux';
import configureStore from 'redux-mock-store';
-import { renderHook } from '@testing-library/react-hooks';
+import {renderHook} from '@testing-library/react-hooks';
import useCountValue from './selectors';
@@ -11,8 +11,8 @@ describe('features > counter > useCountValue', () => {
const value = 6;
const store = mockStore({
count: {
- value
- }
+ value,
+ },
});
it('returns count value', () => {
@@ -20,8 +20,8 @@ describe('features > counter > useCountValue', () => {
* Render hook, using testing-library utility
* @see https://react-hooks-testing-library.com/reference/api#renderhook
*/
- const { result } = renderHook(() => useCountValue(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useCountValue(), {
+ wrapper: ({children}) => {children},
});
expect(result.current).toBe(value);
diff --git a/src/features/counter/selectors.ts b/src/features/counter/selectors.ts
index e4e03e0..77b8f68 100644
--- a/src/features/counter/selectors.ts
+++ b/src/features/counter/selectors.ts
@@ -1,13 +1,13 @@
-import { useSelector } from 'react-redux';
+import {useSelector} from 'react-redux';
-import type { State } from './CounterReducer';
+import type {State} from './CounterReducer';
/**
* Custom React Hook to get count value from state.
* @see https://reactjs.org/docs/hooks-custom.html
*/
const useCountValue = () => {
- return useSelector<{ counter: State }, number>(state => state.counter.value);
+ return useSelector<{counter: State}, number>(state => state.counter.value);
};
export default useCountValue;
diff --git a/src/features/counter/useIncrementCounter.spec.js b/src/features/counter/useIncrementCounter.spec.js
index 24368b1..a2f681d 100644
--- a/src/features/counter/useIncrementCounter.spec.js
+++ b/src/features/counter/useIncrementCounter.spec.js
@@ -1,9 +1,9 @@
import React from 'react';
-import { Provider } from 'react-redux';
+import {Provider} from 'react-redux';
import configureStore from 'redux-mock-store';
-import { renderHook } from '@testing-library/react-hooks';
+import {renderHook} from '@testing-library/react-hooks';
-import { INCREMENT_COUNTER } from './actionTypes';
+import {INCREMENT_COUNTER} from './actionTypes';
import useIncrementCounter from './useIncrementCounter';
describe('features > counter > useIncrementCounter', () => {
@@ -12,8 +12,8 @@ describe('features > counter > useIncrementCounter', () => {
const value = 6;
const store = mockStore({
count: {
- value
- }
+ value,
+ },
});
/**
@@ -40,8 +40,8 @@ describe('features > counter > useIncrementCounter', () => {
* Render hook, using testing-library utility
* @see https://react-hooks-testing-library.com/reference/api#renderhook
*/
- const { result } = renderHook(() => useIncrementCounter(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useIncrementCounter(), {
+ wrapper: ({children}) => {children},
});
expect(result.current).toBeInstanceOf(Function);
@@ -49,8 +49,8 @@ describe('features > counter > useIncrementCounter', () => {
describe('incrementCounter', () => {
it('increments counter value by 1', () => {
- const { result } = renderHook(() => useIncrementCounter(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useIncrementCounter(), {
+ wrapper: ({children}) => {children},
});
result.current();
@@ -61,7 +61,7 @@ describe('features > counter > useIncrementCounter', () => {
/** store.dispatch should be run with proper action */
expect(store.dispatch).toHaveBeenCalledWith({
type: INCREMENT_COUNTER,
- value: value + 1 // value should be increased by one
+ value: value + 1, // value should be increased by one
});
});
});
diff --git a/src/features/counter/useIncrementCounter.ts b/src/features/counter/useIncrementCounter.ts
index eaf6f3b..1dd8fa2 100644
--- a/src/features/counter/useIncrementCounter.ts
+++ b/src/features/counter/useIncrementCounter.ts
@@ -1,8 +1,8 @@
-import { useCallback } from 'react';
-import { useDispatch } from 'react-redux';
+import {useCallback} from 'react';
+import {useDispatch} from 'react-redux';
import useCountValue from './selectors';
-import { Actions } from './actionTypes';
+import {Actions} from './actionTypes';
const useIncrementCounter = () => {
const dispatch = useDispatch();
@@ -10,7 +10,7 @@ const useIncrementCounter = () => {
return useCallback(() => {
dispatch({
type: Actions.INCREMENT_COUNTER,
- value: count + 1
+ value: count + 1,
});
}, [count, dispatch]);
};
diff --git a/src/features/random/RandomReducer.spec.js b/src/features/random/RandomReducer.spec.js
index 5cdc57a..e485dae 100644
--- a/src/features/random/RandomReducer.spec.js
+++ b/src/features/random/RandomReducer.spec.js
@@ -1,4 +1,4 @@
-import { GET_RANDOM_NUMBER } from './actionTypes';
+import {GET_RANDOM_NUMBER} from './actionTypes';
import RandomReducer from './RandomReducer';
describe('features > random > RandomReducer', () => {
@@ -6,11 +6,11 @@ describe('features > random > RandomReducer', () => {
const initialState = {
isLoading: false,
hasError: false,
- isFulfilled: false
+ isFulfilled: false,
};
const action = {
- type: 'FOO'
+ type: 'FOO',
};
expect(RandomReducer(initialState, action)).toBe(initialState);
@@ -24,19 +24,19 @@ describe('features > random > RandomReducer', () => {
`updates state according to dispatched action`,
actionType => {
const initialState = {
- value: 0
+ value: 0,
};
const payload =
actionType === `${GET_RANDOM_NUMBER}_FULFILLED`
? {
- data: 1
+ data: 1,
}
: undefined;
const action = {
type: actionType,
- payload
+ payload,
};
expect(RandomReducer(initialState, action)).toMatchSnapshot();
diff --git a/src/features/random/RandomReducer.ts b/src/features/random/RandomReducer.ts
index ff05fe5..c8f8992 100644
--- a/src/features/random/RandomReducer.ts
+++ b/src/features/random/RandomReducer.ts
@@ -1,4 +1,4 @@
-import { Actions } from './actionTypes';
+import {Actions} from './actionTypes';
export type State = {
number?: number;
@@ -11,12 +11,12 @@ const initialState = {
number: undefined,
isLoading: false,
hasError: false,
- isFulfilled: false
+ isFulfilled: false,
} as State;
export type Action = {
type: keyof typeof Actions;
- payload: { data: number };
+ payload: {data: number};
};
const reducer = (state = initialState, action: Action): State => {
@@ -27,7 +27,7 @@ const reducer = (state = initialState, action: Action): State => {
isFulfilled: false,
isLoading: true,
hasError: false,
- number: undefined
+ number: undefined,
};
case `${Actions.GET_RANDOM_NUMBER}_FULFILLED`:
@@ -35,7 +35,7 @@ const reducer = (state = initialState, action: Action): State => {
isFulfilled: true,
isLoading: false,
hasError: false,
- number: action.payload.data
+ number: action.payload.data,
};
case `${Actions.GET_RANDOM_NUMBER}_REJECTED`:
@@ -43,7 +43,7 @@ const reducer = (state = initialState, action: Action): State => {
isFulfilled: false,
isLoading: false,
hasError: true,
- number: undefined
+ number: undefined,
};
default:
diff --git a/src/features/random/actionTypes.ts b/src/features/random/actionTypes.ts
index 9a90d4e..608055c 100644
--- a/src/features/random/actionTypes.ts
+++ b/src/features/random/actionTypes.ts
@@ -1,5 +1,5 @@
export const GET_RANDOM_NUMBER = 'GET_RANDOM_NUMBER';
export enum Actions {
- GET_RANDOM_NUMBER = 'GET_RANDOM_NUMBER'
+ GET_RANDOM_NUMBER = 'GET_RANDOM_NUMBER',
}
diff --git a/src/features/random/index.ts b/src/features/random/index.ts
index 65fd48d..47f34f0 100644
--- a/src/features/random/index.ts
+++ b/src/features/random/index.ts
@@ -1,3 +1,3 @@
-export { default as RandomReducer } from './RandomReducer';
-export { useRandomNumber, useLoadingState } from './selectors';
-export { default as useGetRandomNumberQuery } from './useGetRandomNumberQuery';
+export {default as RandomReducer} from './RandomReducer';
+export {useRandomNumber, useLoadingState} from './selectors';
+export {default as useGetRandomNumberQuery} from './useGetRandomNumberQuery';
diff --git a/src/features/random/selectors.spec.js b/src/features/random/selectors.spec.js
index f0c34db..62d0ac4 100644
--- a/src/features/random/selectors.spec.js
+++ b/src/features/random/selectors.spec.js
@@ -1,17 +1,17 @@
import React from 'react';
-import { Provider } from 'react-redux';
+import {Provider} from 'react-redux';
import configureStore from 'redux-mock-store';
-import { renderHook } from '@testing-library/react-hooks';
+import {renderHook} from '@testing-library/react-hooks';
-import { useRandomNumber, useLoadingState } from './selectors';
+import {useRandomNumber, useLoadingState} from './selectors';
describe('features > counter > useRandomNumber', () => {
const mockStore = configureStore([]);
const state = {
random: {
- number: 42
- }
+ number: 42,
+ },
};
const store = mockStore(state);
@@ -21,8 +21,8 @@ describe('features > counter > useRandomNumber', () => {
* Render hook, using testing-library utility
* @see https://react-hooks-testing-library.com/reference/api#renderhook
*/
- const { result } = renderHook(() => useRandomNumber(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useRandomNumber(), {
+ wrapper: ({children}) => {children},
});
expect(result.current).toBe(state.random.number);
@@ -37,8 +37,8 @@ describe('features > counter > useLoadingState', () => {
isLoading: true,
hasError: true,
isFulfilled: true,
- foo: 'bar'
- }
+ foo: 'bar',
+ },
};
const store = mockStore(state);
@@ -48,8 +48,8 @@ describe('features > counter > useLoadingState', () => {
* Render hook, using testing-library utility
* @see https://react-hooks-testing-library.com/reference/api#renderhook
*/
- const { result } = renderHook(() => useLoadingState(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useLoadingState(), {
+ wrapper: ({children}) => {children},
});
/* We expect hook to return certain values from the state, but not all state */
diff --git a/src/features/random/selectors.ts b/src/features/random/selectors.ts
index 1fa9515..e1903b7 100644
--- a/src/features/random/selectors.ts
+++ b/src/features/random/selectors.ts
@@ -1,6 +1,6 @@
-import { useSelector } from 'react-redux';
+import {useSelector} from 'react-redux';
-import type { State } from './RandomReducer';
+import type {State} from './RandomReducer';
/**
* Custom React Hooks to get random.org API loading state and response from the state.
@@ -8,8 +8,8 @@ import type { State } from './RandomReducer';
* @see https://reactjs.org/docs/hooks-custom.html
*/
export const useLoadingState = () => {
- const { isLoading, hasError, isFulfilled } = useSelector<{ random: State }, State>(state => state.random);
- return { isLoading, hasError, isFulfilled };
+ const {isLoading, hasError, isFulfilled} = useSelector<{random: State}, State>(state => state.random);
+ return {isLoading, hasError, isFulfilled};
};
-export const useRandomNumber = () => useSelector<{ random: State }, number | undefined>(state => state.random.number);
+export const useRandomNumber = () => useSelector<{random: State}, number | undefined>(state => state.random.number);
diff --git a/src/features/random/useGetRandomNumberQuery.spec.js b/src/features/random/useGetRandomNumberQuery.spec.js
index ed6f164..d176849 100644
--- a/src/features/random/useGetRandomNumberQuery.spec.js
+++ b/src/features/random/useGetRandomNumberQuery.spec.js
@@ -1,12 +1,12 @@
import React from 'react';
-import { Provider } from 'react-redux';
+import {Provider} from 'react-redux';
import axios from 'axios';
import configureStore from 'redux-mock-store';
-import { waitFor } from '@testing-library/react';
-import { renderHook } from '@testing-library/react-hooks';
+import {waitFor} from '@testing-library/react';
+import {renderHook} from '@testing-library/react-hooks';
-import { promiseResolverMiddleware } from '../../middlewares/promiseResolverMiddleware';
-import { GET_RANDOM_NUMBER } from './actionTypes';
+import {promiseResolverMiddleware} from '../../middlewares/promiseResolverMiddleware';
+import {GET_RANDOM_NUMBER} from './actionTypes';
import useGetRandomNumberQuery from './useGetRandomNumberQuery';
jest.mock('axios');
@@ -19,8 +19,8 @@ describe('features > counter > useGetRandomNumberQuery', () => {
random: {
isLoading: false,
hasError: false,
- isFulfilled: false
- }
+ isFulfilled: false,
+ },
});
it('returns function', () => {
@@ -28,8 +28,8 @@ describe('features > counter > useGetRandomNumberQuery', () => {
* Render hook, using testing-library utility
* @see https://react-hooks-testing-library.com/reference/api#renderhook
*/
- const { result } = renderHook(() => useGetRandomNumberQuery(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useGetRandomNumberQuery(), {
+ wrapper: ({children}) => {children},
});
expect(result.current).toBeInstanceOf(Function);
@@ -42,8 +42,8 @@ describe('features > counter > useGetRandomNumberQuery', () => {
/** Note that tests functions are async */
it(`handles successful API query`, async () => {
- const { result } = renderHook(() => useGetRandomNumberQuery(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useGetRandomNumberQuery(), {
+ wrapper: ({children}) => {children},
});
/** Mock response from API */
@@ -53,7 +53,7 @@ describe('features > counter > useGetRandomNumberQuery', () => {
* Mock axios successful response
* @see https://www.robinwieruch.de/axios-jest
*/
- axios.get.mockImplementationOnce(() => Promise.resolve({ data: response }));
+ axios.get.mockImplementationOnce(() => Promise.resolve({data: response}));
/**
* Wait until async action finishes
@@ -62,7 +62,7 @@ describe('features > counter > useGetRandomNumberQuery', () => {
/** First dispatched action should have _PENDING suffix */
expect(store.getActions()[0]).toEqual({
- type: `${GET_RANDOM_NUMBER}_PENDING`
+ type: `${GET_RANDOM_NUMBER}_PENDING`,
});
await waitFor(() => {
@@ -74,8 +74,8 @@ describe('features > counter > useGetRandomNumberQuery', () => {
});
it(`handles rejected API query`, async () => {
- const { result } = renderHook(() => useGetRandomNumberQuery(), {
- wrapper: ({ children }) => {children}
+ const {result} = renderHook(() => useGetRandomNumberQuery(), {
+ wrapper: ({children}) => {children},
});
/**
@@ -91,7 +91,7 @@ describe('features > counter > useGetRandomNumberQuery', () => {
/** First dispatched action should have _PENDING suffix */
expect(store.getActions()[0]).toEqual({
- type: `${GET_RANDOM_NUMBER}_PENDING`
+ type: `${GET_RANDOM_NUMBER}_PENDING`,
});
await waitFor(() => {
diff --git a/src/features/random/useGetRandomNumberQuery.ts b/src/features/random/useGetRandomNumberQuery.ts
index 409ebd2..f56e4b3 100644
--- a/src/features/random/useGetRandomNumberQuery.ts
+++ b/src/features/random/useGetRandomNumberQuery.ts
@@ -1,8 +1,8 @@
-import { useCallback } from 'react';
-import { useDispatch } from 'react-redux';
+import {useCallback} from 'react';
+import {useDispatch} from 'react-redux';
import axios from 'axios';
-import { Actions } from './actionTypes';
+import {Actions} from './actionTypes';
const useGetRandomNumberQuery = () => {
const dispatch = useDispatch();
@@ -12,7 +12,7 @@ const useGetRandomNumberQuery = () => {
type: Actions.GET_RANDOM_NUMBER,
payload: axios.get(
'https://www.random.org/integers/?num=1&min=1&max=99&col=1&base=10&format=plain&rnd=new'
- )
+ ),
}),
[dispatch]
);
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 0d3496e..d3e7aaf 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -1,11 +1,11 @@
-import type { AppProps } from 'next/app';
+import type {AppProps} from 'next/app';
// import 'the-new-css-reset/css/reset.css';
-import { ReduxProvider } from '@/state';
+import {ReduxProvider} from '@/state';
import './index.css';
-export default function App({ Component, pageProps }: AppProps) {
+export default function App({Component, pageProps}: AppProps) {
return (
diff --git a/src/state/ReduxProvider.tsx b/src/state/ReduxProvider.tsx
index 31faed6..3825aa5 100644
--- a/src/state/ReduxProvider.tsx
+++ b/src/state/ReduxProvider.tsx
@@ -1,17 +1,17 @@
'use client';
-import { combineReducers, createStore, applyMiddleware, compose } from 'redux';
-import { Provider } from 'react-redux';
-import type { FC, ReactNode } from 'react';
+import {combineReducers, createStore, applyMiddleware, compose} from 'redux';
+import {Provider} from 'react-redux';
+import type {FC, ReactNode} from 'react';
-import { CounterReducer } from '@/features/counter';
-import { RandomReducer } from '@/features/random';
+import {CounterReducer} from '@/features/counter';
+import {RandomReducer} from '@/features/random';
-import { promiseResolverMiddleware } from './promiseResolverMiddleware';
+import {promiseResolverMiddleware} from './promiseResolverMiddleware';
const rootReducer = combineReducers({
counter: CounterReducer,
- random: RandomReducer
+ random: RandomReducer,
});
/**
@@ -33,6 +33,6 @@ const composedEnhancers = composeEnhancers(middlewareEnhancer);
export const store = createStore(rootReducer, undefined, composedEnhancers);
-export const ReduxProvider: FC<{ children?: ReactNode }> = ({ children }) => {
+export const ReduxProvider: FC<{children?: ReactNode}> = ({children}) => {
return {children};
};
diff --git a/src/state/index.ts b/src/state/index.ts
index 5dbcf1a..1418f63 100644
--- a/src/state/index.ts
+++ b/src/state/index.ts
@@ -1 +1 @@
-export { ReduxProvider } from './ReduxProvider';
+export {ReduxProvider} from './ReduxProvider';
diff --git a/src/state/promiseResolverMiddleware.ts b/src/state/promiseResolverMiddleware.ts
index 63b5fd3..4fb727d 100644
--- a/src/state/promiseResolverMiddleware.ts
+++ b/src/state/promiseResolverMiddleware.ts
@@ -1,6 +1,6 @@
-import type { Action, Middleware } from 'redux';
+import type {Action, Middleware} from 'redux';
-type ActionAsync = Action & { payload?: Promise };
+type ActionAsync = Action & {payload?: Promise};
type PromiseDispatch = (promise: Promise) => Promise;
@@ -12,14 +12,14 @@ export const promiseResolverMiddleware: Middleware = store => n
response => {
store.dispatch({
type: `${action.type}_FULFILLED`,
- payload: response
+ payload: response,
});
},
() => {
store.dispatch({
- type: `${action.type}_REJECTED`
+ type: `${action.type}_REJECTED`,
});
}
);
- return next({ type: `${action.type}_PENDING` });
+ return next({type: `${action.type}_PENDING`});
};
diff --git a/tsconfig.json b/tsconfig.json
index 032aff9..61ff3b0 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -19,6 +19,18 @@
"@/*": ["./src/*"]
}
},
- "include": ["next-env.d.ts", "additional.d.ts", "**/*.ts", "**/*.tsx"],
+ "include": [
+ "next-env.d.ts",
+ "additional.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ "**/*.stories.tsx",
+ "**/*.stories.ts",
+ "*.config.ts",
+ "src",
+ ".eslintrc.cjs",
+ "templates/**/*.ts",
+ "templates/**/*.tsx"
+ ],
"exclude": ["node_modules"]
}