diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index c5e6e476..00000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,101 +0,0 @@
-module.exports = {
- root: true,
- env: {
- browser: true,
- node: true,
- },
- parser: "@typescript-eslint/parser",
- parserOptions: {
- project: "tsconfig.json",
- sourceType: "module",
- ecmaFeatures: {
- jsx: true,
- },
- },
- plugins: [
- "react",
- "@typescript-eslint",
- "jest-dom",
- "jsx-a11y",
- "prettier",
- "react-hooks",
- "testing-library",
- ],
- extends: [
- "eslint:recommended",
- "next",
- "plugin:@typescript-eslint/eslint-recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:jest-dom/recommended",
- "plugin:jsx-a11y/strict",
- "plugin:prettier/recommended",
- "plugin:react/recommended",
- "plugin:testing-library/react",
- "prettier",
- "prettier/@typescript-eslint",
- "prettier/react",
- ],
- rules: {
- // this rule was deprecated in favor of another
- // not sure why it is still giving errors
- "jsx-a11y/label-has-for": 0,
- "react-hooks/rules-of-hooks": "error",
- "react-hooks/exhaustive-deps": "warn",
- "@typescript-eslint/no-empty-interface": 0,
- "@typescript-eslint/no-use-before-define": [
- "error",
- { functions: false, variables: false },
- ],
- // disabling this bc it is checked by typescript so it is
- // redundant and doesn't function properly
- "react/prop-types": 0,
- "@typescript-eslint/no-unused-vars": [
- "error",
- {
- vars: "all",
- args: "after-used",
- // ignore underscore _vars or jsx imports or React imports
- argsIgnorePattern: "^_.*",
- varsIgnorePattern: "^jsx$|^React$|^_.*",
- ignoreRestSiblings: true,
- },
- ],
- "no-underscore-dangle": 0,
- // these are meant to allow jsx to mark react as used. Not working right now though
- "react/jsx-uses-vars": "error",
- "react/jsx-uses-react": "error",
- // Allow " and ' in jsx
- "react/no-unescaped-entities": ["error", { forbid: [">", "}"] }],
- // disable this rule because it is unnecessarily strict for TS
- "@typescript-eslint/explicit-function-return-type": 0,
- "@typescript-eslint/explicit-module-boundary-types": 0,
- // if we want this, we should turn disallow any in tsconfig not here
- "@typescript-eslint/no-explicit-any": 0,
- "@typescript-eslint/no-var-requires": 0,
- // Disable this rule because server API uses a lot of snake_case
- camelcase: 0,
- "@typescript-eslint/camelcase": 0,
- "@typescript-eslint/prefer-namespace-keyword": "error",
- eqeqeq: ["error", "smart"],
- "id-blacklist": [
- "error",
- "any",
- "Number",
- "number",
- "String",
- "string",
- "Boolean",
- "boolean",
- "Undefined",
- ],
- "id-match": "error",
- "no-eval": "error",
- "no-redeclare": "error",
- "no-var": "error",
- },
- settings: {
- react: {
- version: "detect",
- },
- },
-};
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 00000000..857e0c85
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,18 @@
+{
+ "extends": [
+ "eslint:recommended",
+ "next",
+ "next/core-web-vitals",
+ "next/typescript",
+ "plugin:jest-dom/recommended",
+ "plugin:jsx-a11y/strict",
+ "plugin:testing-library/dom",
+ "prettier",
+ "prettier/@typescript-eslint"
+ ],
+ "rules": {
+ // TODO: SFR-2318 enable in the future
+ "@typescript-eslint/no-explicit-any": "off",
+ "testing-library/no-node-access": "off"
+ }
+}
diff --git a/.github/workflows/Playwright.yml b/.github/workflows/Playwright.yml
index 4075ceeb..1a89fc81 100644
--- a/.github/workflows/Playwright.yml
+++ b/.github/workflows/Playwright.yml
@@ -1,8 +1,7 @@
name: Playwright Tests for Digital Research Books
-# TODO: Remove https://drb-api-qa.nypl.org from behind the VPC
-# on:
-# pull_request:
+on:
+ pull_request:
jobs:
tests:
@@ -26,20 +25,9 @@ jobs:
run: NODE_ENV=test npm run build
- name: Start the app
- run: npm run dev &
- shell: bash
-
- - name: Wait for the app
run: |
- RETRIES=6
- until curl --output /dev/null --silent --head --fail http://localhost:3000 || [ $((RETRIES--)) -eq 0 ]; do
- echo "Waiting for http://localhost:3000"
- sleep 5
- done
- if [ $RETRIES -lt 0 ]; then
- echo "Failed to connect to http://localhost:3000"
- exit 1
- fi
+ NODE_ENV=test npm start &
+ sleep 5
shell: bash
- name: Run your tests
diff --git a/.github/workflows/build-qa.yml b/.github/workflows/build-qa.yml
index f1de48d8..2a32088f 100644
--- a/.github/workflows/build-qa.yml
+++ b/.github/workflows/build-qa.yml
@@ -53,3 +53,7 @@ jobs:
- name: Force ECS Update
run: |
aws ecs update-service --cluster sfr-front-end-qa --service sfr-front-end-qa --force-new-deployment
+
+ - name: Force ECS Update - Terraform
+ run: |
+ aws ecs update-service --cluster sfr-frontend-qa-tf --service sfr-frontend-qa-tf --force-new-deployment
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f6ff1d34..1dfeaaba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# CHANGE LOG
+## [Prerelease]
+
+## [0.18.9]
+
+- Enable playwright tests GH action
+- Remove unused scss and img files
+- Remove duplicate eslint packages, update eslint config, and resolve linting errors
+- Update survey banner to be more visible
+- Deploy to both ECS clusters in QA
+
## [0.18.8]
- Add survey banner to Landing, Collection, Edition, Work, and Search pages
diff --git a/package-lock.json b/package-lock.json
index bf850c5c..5c6866dd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "sfr-bookfinder-front-end",
- "version": "0.18.8",
+ "version": "0.18.9",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sfr-bookfinder-front-end",
- "version": "0.18.8",
+ "version": "0.18.9",
"dependencies": {
"@chakra-ui/react": "2.5.4",
"@newrelic/next": "0.10.0",
@@ -36,21 +36,17 @@
"@types/gtag.js": "^0.0.4",
"@types/jest": "^29.5.4",
"@types/react": "^18.0.31",
- "@typescript-eslint/eslint-plugin": "^5.60.0",
- "@typescript-eslint/parser": "^5.60.0",
"babel-core": "^6.26.3",
"babel-jest": "^26.6.3",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
- "eslint": "^7.15.0",
- "eslint-config-next": "^13.4.7",
+ "eslint": "^8.57.0",
+ "eslint-config-next": "^15.0.3",
"eslint-config-prettier": "^7.0.0",
"eslint-plugin-jest-dom": "5.4.0",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.3.0",
- "eslint-plugin-react": "^7.21.5",
- "eslint-plugin-react-hooks": "^4.2.0",
- "eslint-plugin-testing-library": "^3.10.1",
+ "eslint-plugin-testing-library": "^6.4.0",
"jest": "^29.6.4",
"jest-environment-jsdom": "^29.6.4",
"msw": "^2.2.3",
@@ -2635,49 +2631,61 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
+ "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"dev": true,
"dependencies": {
- "eslint-visitor-keys": "^3.3.0"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
- "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
"dev": true,
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
"node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"node_modules/@eslint/eslintrc/node_modules/globals": {
"version": "13.24.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
@@ -2693,13 +2701,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
- "engines": {
- "node": ">= 4"
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
"node_modules/@eslint/eslintrc/node_modules/type-fest": {
@@ -2714,6 +2725,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@eslint/js": {
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/@grpc/grpc-js": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.11.1.tgz",
@@ -2744,24 +2764,37 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
"deprecated": "Use @eslint/config-array instead",
"dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
}
},
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
"node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"deprecated": "Use @eslint/object-schema instead",
"dev": true
},
@@ -4619,33 +4652,28 @@
"integrity": "sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw=="
},
"node_modules/@next/eslint-plugin-next": {
- "version": "13.5.6",
- "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.6.tgz",
- "integrity": "sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==",
+ "version": "15.0.3",
+ "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-15.0.3.tgz",
+ "integrity": "sha512-3Ln/nHq2V+v8uIaxCR6YfYo7ceRgZNXfTd3yW1ukTaFbO+/I8jNakrjYWODvG9BuR2v5kgVtH/C8r0i11quOgw==",
"dev": true,
"dependencies": {
- "glob": "7.1.7"
+ "fast-glob": "3.3.1"
}
},
- "node_modules/@next/eslint-plugin-next/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
+ "node_modules/@next/eslint-plugin-next/node_modules/fast-glob": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
+ "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
"dev": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
},
"engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=8.6.0"
}
},
"node_modules/@next/swc-darwin-arm64": {
@@ -4818,6 +4846,15 @@
"node": ">= 8"
}
},
+ "node_modules/@nolyfill/is-core-module": {
+ "version": "1.0.39",
+ "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz",
+ "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.4.0"
+ }
+ },
"node_modules/@nypl/design-system-react-components": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@nypl/design-system-react-components/-/design-system-react-components-3.1.1.tgz",
@@ -7347,6 +7384,12 @@
}
}
},
+ "node_modules/@rtsao/scc": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
+ "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
+ "dev": true
+ },
"node_modules/@rushstack/eslint-patch": {
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz",
@@ -8011,9 +8054,9 @@
}
},
"node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw=="
},
"node_modules/@types/form-data": {
"version": "0.0.33",
@@ -8252,32 +8295,31 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
- "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz",
+ "integrity": "sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==",
"dev": true,
"dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/type-utils": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "8.14.0",
+ "@typescript-eslint/type-utils": "8.14.0",
+ "@typescript-eslint/utils": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0",
"graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -8285,75 +8327,27 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz",
- "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==",
+ "node_modules/@typescript-eslint/parser": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.14.0.tgz",
+ "integrity": "sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.3",
- "@typescript-eslint/types": "3.10.1",
- "@typescript-eslint/typescript-estree": "3.10.1",
- "eslint-scope": "^5.0.0",
- "eslint-utils": "^2.0.0"
+ "@typescript-eslint/scope-manager": "8.14.0",
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/typescript-estree": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0",
+ "debug": "^4.3.4"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "*"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz",
- "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==",
- "dev": true,
- "engines": {
- "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz",
- "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "3.10.1",
- "@typescript-eslint/visitor-keys": "3.10.1",
- "debug": "^4.1.1",
- "glob": "^7.1.6",
- "is-glob": "^4.0.1",
- "lodash": "^4.17.15",
- "semver": "^7.3.2",
- "tsutils": "^3.17.1"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "eslint": "^8.57.0 || ^9.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -8361,152 +8355,110 @@
}
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz",
- "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==",
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz",
+ "integrity": "sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==",
"dev": true,
"dependencies": {
- "eslint-visitor-keys": "^1.1.0"
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0"
},
"engines": {
- "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
- "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz",
+ "integrity": "sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "debug": "^4.3.4"
+ "@typescript-eslint/typescript-estree": "8.14.0",
+ "@typescript-eslint/utils": "8.14.0",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
- "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "node_modules/@typescript-eslint/types": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.14.0.tgz",
+ "integrity": "sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==",
"dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- },
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/type-utils": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
- "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz",
+ "integrity": "sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/visitor-keys": "8.14.0",
"debug": "^4.3.4",
- "tsutils": "^3.21.0"
+ "fast-glob": "^3.3.2",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "eslint": "*"
- },
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
- "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "dependencies": {
+ "balanced-match": "^1.0.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
- "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"dependencies": {
- "@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",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=16 || 14 >=14.17"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
@@ -8522,54 +8474,38 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
- "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.14.0.tgz",
+ "integrity": "sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==",
"dev": true,
"dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "8.14.0",
+ "@typescript-eslint/types": "8.14.0",
+ "@typescript-eslint/typescript-estree": "8.14.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
+ "eslint": "^8.57.0 || ^9.0.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
- "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz",
+ "integrity": "sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
+ "@typescript-eslint/types": "8.14.0",
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -8581,6 +8517,12 @@
"resolved": "https://registry.npmjs.org/@tyriar/fibonacci-heap/-/fibonacci-heap-2.0.9.tgz",
"integrity": "sha512-bYuSNomfn4hu2tPiDN+JZtnzCpSpbJ/PNeulmocDy3xN2X5OkJL65zo6rPZp65cPPhLF9vfT/dgE+RtFRCSxOA=="
},
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -8762,10 +8704,9 @@
"dev": true
},
"node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
- "dev": true,
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"bin": {
"acorn": "bin/acorn"
},
@@ -8783,18 +8724,6 @@
"acorn-walk": "^8.0.2"
}
},
- "node_modules/acorn-globals/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -8816,18 +8745,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-walk/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
@@ -8863,15 +8780,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -9215,15 +9123,6 @@
"integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==",
"dev": true
},
- "node_modules/astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -9276,12 +9175,12 @@
}
},
"node_modules/axobject-query": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz",
- "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
"dev": true,
- "dependencies": {
- "deep-equal": "^2.0.5"
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/babel-code-frame": {
@@ -11239,9 +11138,9 @@
"dev": true
},
"node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz",
+ "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==",
"dev": true,
"dependencies": {
"path-key": "^3.1.0",
@@ -11687,15 +11586,15 @@
}
},
"node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
"dependencies": {
"esutils": "^2.0.2"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=0.10.0"
}
},
"node_modules/dom-accessibility-api": {
@@ -11805,19 +11704,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/enquirer": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
- "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "^4.1.1",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -12116,80 +12002,80 @@
}
},
"node_modules/eslint": {
- "version": "7.32.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
- "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
"dependencies": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
- "ajv": "^6.10.0",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
+ "debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
- "esquery": "^1.4.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
- "strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-config-next": {
- "version": "13.5.6",
- "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.6.tgz",
- "integrity": "sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==",
+ "version": "15.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-15.0.3.tgz",
+ "integrity": "sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==",
"dev": true,
"dependencies": {
- "@next/eslint-plugin-next": "13.5.6",
- "@rushstack/eslint-patch": "^1.3.3",
- "@typescript-eslint/parser": "^5.4.2 || ^6.0.0",
+ "@next/eslint-plugin-next": "15.0.3",
+ "@rushstack/eslint-patch": "^1.10.3",
+ "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
+ "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
"eslint-import-resolver-node": "^0.3.6",
"eslint-import-resolver-typescript": "^3.5.2",
- "eslint-plugin-import": "^2.28.1",
- "eslint-plugin-jsx-a11y": "^6.7.1",
- "eslint-plugin-react": "^7.33.2",
- "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705"
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jsx-a11y": "^6.10.0",
+ "eslint-plugin-react": "^7.35.0",
+ "eslint-plugin-react-hooks": "^5.0.0"
},
"peerDependencies": {
- "eslint": "^7.23.0 || ^8.0.0",
+ "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0",
"typescript": ">=3.3.1"
},
"peerDependenciesMeta": {
@@ -12231,17 +12117,18 @@
}
},
"node_modules/eslint-import-resolver-typescript": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz",
- "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==",
+ "version": "3.6.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz",
+ "integrity": "sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==",
"dev": true,
"dependencies": {
- "debug": "^4.3.4",
- "enhanced-resolve": "^5.12.0",
- "eslint-module-utils": "^2.7.4",
- "fast-glob": "^3.3.1",
- "get-tsconfig": "^4.5.0",
- "is-core-module": "^2.11.0",
+ "@nolyfill/is-core-module": "1.0.39",
+ "debug": "^4.3.5",
+ "enhanced-resolve": "^5.15.0",
+ "eslint-module-utils": "^2.8.1",
+ "fast-glob": "^3.3.2",
+ "get-tsconfig": "^4.7.5",
+ "is-bun-module": "^1.0.2",
"is-glob": "^4.0.3"
},
"engines": {
@@ -12252,13 +12139,22 @@
},
"peerDependencies": {
"eslint": "*",
- "eslint-plugin-import": "*"
+ "eslint-plugin-import": "*",
+ "eslint-plugin-import-x": "*"
+ },
+ "peerDependenciesMeta": {
+ "eslint-plugin-import": {
+ "optional": true
+ },
+ "eslint-plugin-import-x": {
+ "optional": true
+ }
}
},
"node_modules/eslint-module-utils": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
- "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz",
+ "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==",
"dev": true,
"dependencies": {
"debug": "^3.2.7"
@@ -12282,34 +12178,36 @@
}
},
"node_modules/eslint-plugin-import": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
- "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
+ "version": "2.31.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz",
+ "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==",
"dev": true,
"dependencies": {
- "array-includes": "^3.1.7",
- "array.prototype.findlastindex": "^1.2.3",
+ "@rtsao/scc": "^1.1.0",
+ "array-includes": "^3.1.8",
+ "array.prototype.findlastindex": "^1.2.5",
"array.prototype.flat": "^1.3.2",
"array.prototype.flatmap": "^1.3.2",
"debug": "^3.2.7",
"doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.9",
- "eslint-module-utils": "^2.8.0",
- "hasown": "^2.0.0",
- "is-core-module": "^2.13.1",
+ "eslint-module-utils": "^2.12.0",
+ "hasown": "^2.0.2",
+ "is-core-module": "^2.15.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",
+ "object.fromentries": "^2.0.8",
+ "object.groupby": "^1.0.3",
+ "object.values": "^1.2.0",
"semver": "^6.3.1",
+ "string.prototype.trimend": "^1.0.8",
"tsconfig-paths": "^3.15.0"
},
"engines": {
"node": ">=4"
},
"peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
+ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9"
}
},
"node_modules/eslint-plugin-import/node_modules/debug": {
@@ -12321,18 +12219,6 @@
"ms": "^2.1.1"
}
},
- "node_modules/eslint-plugin-import/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/eslint-plugin-jest-dom": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest-dom/-/eslint-plugin-jest-dom-5.4.0.tgz",
@@ -12358,42 +12244,50 @@
}
},
"node_modules/eslint-plugin-jsx-a11y": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz",
- "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==",
+ "version": "6.10.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz",
+ "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==",
"dev": true,
"dependencies": {
- "aria-query": "~5.1.3",
+ "aria-query": "^5.3.2",
"array-includes": "^3.1.8",
"array.prototype.flatmap": "^1.3.2",
"ast-types-flow": "^0.0.8",
- "axe-core": "^4.9.1",
- "axobject-query": "~3.1.1",
+ "axe-core": "^4.10.0",
+ "axobject-query": "^4.1.0",
"damerau-levenshtein": "^1.0.8",
"emoji-regex": "^9.2.2",
- "es-iterator-helpers": "^1.0.19",
"hasown": "^2.0.2",
"jsx-ast-utils": "^3.3.5",
"language-tags": "^1.0.9",
"minimatch": "^3.1.2",
"object.fromentries": "^2.0.8",
"safe-regex-test": "^1.0.3",
- "string.prototype.includes": "^2.0.0"
+ "string.prototype.includes": "^2.0.1"
},
"engines": {
"node": ">=4.0"
},
"peerDependencies": {
- "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8"
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9"
}
},
"node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
- "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
"dev": true,
- "dependencies": {
- "deep-equal": "^2.0.5"
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/eslint-plugin-jsx-a11y/node_modules/axe-core": {
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz",
+ "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
}
},
"node_modules/eslint-plugin-prettier": {
@@ -12450,27 +12344,15 @@
}
},
"node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
- "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz",
+ "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==",
"dev": true,
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
- }
- },
- "node_modules/eslint-plugin-react/node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
}
},
"node_modules/eslint-plugin-react/node_modules/resolve": {
@@ -12491,63 +12373,151 @@
}
},
"node_modules/eslint-plugin-testing-library": {
- "version": "3.10.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz",
- "integrity": "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-6.4.0.tgz",
+ "integrity": "sha512-yeWF+YgCgvNyPNI9UKnG0FjeE2sk93N/3lsKqcmR8dSfeXJwFT5irnWo7NjLf152HkRzfoFjh3LsBUrhvFz4eA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/experimental-utils": "^3.10.1"
+ "@typescript-eslint/utils": "^5.62.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0",
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0",
"npm": ">=6"
},
"peerDependencies": {
- "eslint": "^5 || ^6 || ^7"
+ "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0"
}
},
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/eslint-scope/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
"engines": {
- "node": ">=4.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
"dev": true,
"dependencies": {
- "eslint-visitor-keys": "^1.1.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",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
},
"engines": {
- "node": ">=6"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/mysticatea"
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
"dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-testing-library/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"engines": {
- "node": ">=4"
+ "node": ">=4.0"
}
},
"node_modules/eslint-visitor-keys": {
@@ -12562,15 +12532,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint/node_modules/@babel/code-frame": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
- "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
- "dev": true,
- "dependencies": {
- "@babel/highlight": "^7.10.4"
- }
- },
"node_modules/eslint/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -12586,6 +12547,12 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"node_modules/eslint/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -12620,13 +12587,60 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "node_modules/eslint/node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
}
},
"node_modules/eslint/node_modules/globals": {
@@ -12644,25 +12658,46 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
"engines": {
- "node": ">= 4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint/node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
- "bin": {
- "semver": "bin/semver.js"
+ "dependencies": {
+ "p-limit": "^3.0.2"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint/node_modules/supports-color": {
@@ -12690,26 +12725,20 @@
}
},
"node_modules/espree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
- "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"dependencies": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/esprima": {
@@ -13105,12 +13134,6 @@
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
- "node_modules/fast-uri": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
- "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
- "dev": true
- },
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@@ -13451,12 +13474,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true
- },
"node_modules/functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -13576,9 +13593,9 @@
}
},
"node_modules/get-tsconfig": {
- "version": "4.7.6",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
- "integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz",
+ "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==",
"dev": true,
"dependencies": {
"resolve-pkg-maps": "^1.0.0"
@@ -14166,17 +14183,6 @@
"module-details-from-path": "^1.0.3"
}
},
- "node_modules/import-in-the-middle/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/import-in-the-middle/node_modules/acorn-import-attributes": {
"version": "1.9.5",
"resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
@@ -14377,6 +14383,27 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "node_modules/is-bun-module": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.2.1.tgz",
+ "integrity": "sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.6.3"
+ }
+ },
+ "node_modules/is-bun-module/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -14408,9 +14435,9 @@
"dev": true
},
"node_modules/is-core-module": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
- "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
+ "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
"dependencies": {
"hasown": "^2.0.2"
},
@@ -18278,18 +18305,6 @@
}
}
},
- "node_modules/jsdom/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/jsdom/node_modules/tough-cookie": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
@@ -18555,12 +18570,6 @@
"resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
"integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ=="
},
- "node_modules/lodash.truncate": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
- "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
- "dev": true
- },
"node_modules/log4js": {
"version": "6.9.1",
"resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz",
@@ -19147,12 +19156,6 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
- "node_modules/natural-compare-lite": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
- "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
- "dev": true
- },
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
@@ -20820,18 +20823,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
"node_modules/regexpu-core": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
@@ -20920,15 +20911,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/require-in-the-middle": {
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.4.0.tgz",
@@ -21705,56 +21687,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/slice-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"node_modules/snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -22128,13 +22060,17 @@
"integrity": "sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg=="
},
"node_modules/string.prototype.includes": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz",
- "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz",
+ "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==",
"dev": true,
"dependencies": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.5"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/string.prototype.matchall": {
@@ -22415,44 +22351,6 @@
"resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
"integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew=="
},
- "node_modules/table": {
- "version": "6.8.2",
- "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz",
- "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==",
- "dev": true,
- "dependencies": {
- "ajv": "^8.0.1",
- "lodash.truncate": "^4.4.2",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/table/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/table/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -22629,18 +22527,6 @@
"node": ">= 10.13.0"
}
},
- "node_modules/terser/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "peer": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/terser/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -22928,6 +22814,18 @@
"node": ">= 14.0.0"
}
},
+ "node_modules/ts-api-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz",
+ "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
"node_modules/ts-node": {
"version": "10.9.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
@@ -22971,18 +22869,6 @@
}
}
},
- "node_modules/ts-node/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -23450,12 +23336,6 @@
"uuid": "dist/bin/uuid"
}
},
- "node_modules/v8-compile-cache": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
- "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
- "dev": true
- },
"node_modules/v8-compile-cache-lib": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
@@ -23663,18 +23543,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/webpack/node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "peer": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/webpack/node_modules/acorn-import-attributes": {
"version": "1.9.5",
"resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
diff --git a/package.json b/package.json
index 3aee8fcc..56c8cd78 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sfr-bookfinder-front-end",
- "version": "0.18.8",
+ "version": "0.18.9",
"private": true,
"scripts": {
"dev": "next dev",
@@ -9,8 +9,7 @@
"start:newrelic": "NODE_OPTIONS='-r @newrelic/next' next start",
"test": "jest",
"test:watch": "jest --watch",
- "lint": "eslint --ignore-path .gitignore '*/**/*.{ts,tsx}'",
- "lint:fix": "eslint '*/**/*.{js,ts,tsx}' --quiet --fix --ignore-path .gitignore",
+ "lint": "next lint --fix",
"cucumber": "NODE_OPTIONS='--experimental-loader ts-node/esm' cucumber-js",
"playwright": "playwright test"
},
@@ -43,21 +42,17 @@
"@types/gtag.js": "^0.0.4",
"@types/jest": "^29.5.4",
"@types/react": "^18.0.31",
- "@typescript-eslint/eslint-plugin": "^5.60.0",
- "@typescript-eslint/parser": "^5.60.0",
"babel-core": "^6.26.3",
"babel-jest": "^26.6.3",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
- "eslint": "^7.15.0",
- "eslint-config-next": "^13.4.7",
+ "eslint": "^8.57.0",
+ "eslint-config-next": "^15.0.3",
"eslint-config-prettier": "^7.0.0",
"eslint-plugin-jest-dom": "5.4.0",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.3.0",
- "eslint-plugin-react": "^7.21.5",
- "eslint-plugin-react-hooks": "^4.2.0",
- "eslint-plugin-testing-library": "^3.10.1",
+ "eslint-plugin-testing-library": "^6.4.0",
"jest": "^29.6.4",
"jest-environment-jsdom": "^29.6.4",
"msw": "^2.2.3",
diff --git a/playwright/features/eReader-settings.feature b/playwright/features/eReader-settings.feature
index 785b87f0..b488565f 100644
--- a/playwright/features/eReader-settings.feature
+++ b/playwright/features/eReader-settings.feature
@@ -5,9 +5,4 @@ Feature: As a user I should be able to open a title and validate the features of
Then I fill in the "homepage search box" with "Robot Soccer"
And I click the "search button"
And the "Robot Soccer title" should be displayed
- And I click the "first read online button"
- And the "e-reader table of contents button" should be displayed
- And the "e-reader settings button" should be displayed
- And the "e-reader full screen button" should be displayed
- And the "e-reader back to DRB button" should be displayed
-
+ Then the "first read online button" should be displayed
diff --git a/playwright/features/edd.feature b/playwright/features/edd.feature
index 9051df26..a32a515f 100644
--- a/playwright/features/edd.feature
+++ b/playwright/features/edd.feature
@@ -5,10 +5,4 @@ Feature: EDD Request Process
When I fill in the "homepage search box" with "Africa"
And I click the "search button"
And I click the "requestable checkbox"
- And I click the "first login for options button"
- And I fill in the "username field" with "catalog username"
- And I fill in the "password field" with "catalog password"
- And I click the "login button"
- And the "first request button" should be displayed
- And I click the "first request button"
- Then the "delivery location heading" should be displayed
\ No newline at end of file
+ Then the "first login for options button" should be displayed
diff --git a/src/__tests__/Search.test.tsx b/src/__tests__/Search.test.tsx
index 8bd0c899..acdba701 100644
--- a/src/__tests__/Search.test.tsx
+++ b/src/__tests__/Search.test.tsx
@@ -17,8 +17,8 @@ import { FilterFormatTests } from "./componentHelpers/FilterFormats";
import { findFiltersForField } from "../util/SearchQueryUtils";
import filterFields from "../constants/filters";
import mockRouter from "next-router-mock";
+import { searchResults } from "./fixtures/SearchResultFixture";
-const searchResults: ApiSearchResult = require("./fixtures/results-list.json");
const searchQuery: SearchQuery = {
queries: [{ field: SearchField.Keyword, query: "Animal Crossing" }],
};
@@ -174,7 +174,7 @@ describe("Renders Search Results Page", () => {
name: "Available Online",
});
await userEvent.click(modalCheckbox);
- expect(modalCheckbox).not.toBeChecked;
+ expect(modalCheckbox).not.toBeChecked();
expect(mockRouter).toMatchObject({
pathname: "/search",
query: {
@@ -495,7 +495,7 @@ describe("Renders Search Results Page", () => {
});
test("Does not show download link", () => {
// The found `download` link is from the first result
- expect(screen.getAllByText("Download PDF")[1]).not.toBeDefined();
+ expect(screen.queryAllByText("Download PDF")[1]).not.toBeDefined();
});
test("Shows 'read online' as link", () => {
expect(
diff --git a/src/__tests__/componentHelpers/FilterYears.tsx b/src/__tests__/componentHelpers/FilterYears.tsx
index e5d2862a..3e0b4f83 100644
--- a/src/__tests__/componentHelpers/FilterYears.tsx
+++ b/src/__tests__/componentHelpers/FilterYears.tsx
@@ -1,4 +1,3 @@
-import React from "react";
import { screen, within } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { Filter } from "~/src/types/SearchQuery";
diff --git a/src/__tests__/fixtures/SearchQueryFixture.ts b/src/__tests__/fixtures/SearchQueryFixture.ts
new file mode 100644
index 00000000..da5c3278
--- /dev/null
+++ b/src/__tests__/fixtures/SearchQueryFixture.ts
@@ -0,0 +1,16 @@
+import { ApiSearchQuery } from "~/src/types/SearchQuery";
+
+export const searchQuery: ApiSearchQuery = {
+ query: 'keyword:"Civil War" OR Lincoln,author:last, first',
+ filter: "language:Spanish,startYear:1800,endYear:2000",
+ sort: "title:asc",
+ size: 20,
+ page: 3,
+ showAll: "true",
+};
+
+export const emptySearchQuery: ApiSearchQuery = {
+ filter: "language:english",
+ page: 0,
+ query: "",
+};
diff --git a/src/__tests__/fixtures/SearchResultFixture.ts b/src/__tests__/fixtures/SearchResultFixture.ts
new file mode 100644
index 00000000..fe07d3cd
--- /dev/null
+++ b/src/__tests__/fixtures/SearchResultFixture.ts
@@ -0,0 +1,621 @@
+import { ApiSearchResult } from "~/src/types/SearchQuery";
+
+export const searchResults: ApiSearchResult = {
+ data: {
+ facets: {
+ formats: [
+ {
+ count: 6,
+ value: "text/html",
+ },
+ {
+ count: 6,
+ value: "application/pdf",
+ },
+ ],
+ languages: [
+ {
+ count: 6,
+ value: "English",
+ },
+ ],
+ },
+ paging: {
+ currentPage: 1,
+ firstPage: 1,
+ lastPage: 3,
+ nextPage: 2,
+ previousPage: null,
+ recordsPerPage: 10,
+ },
+ totalWorks: 26,
+ works: [
+ {
+ alt_titles: ["Lungs of the alligator"],
+ authors: [
+ {
+ lcnaf: "",
+ name: "Nook, Tammy",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Timmy",
+ primary: "true",
+ viaf: "",
+ },
+ ],
+ contributors: [],
+ dates: null,
+ edition_count: 3,
+ editions: [
+ {
+ edition: null,
+ edition_id: 1453292,
+ edition_statement: null,
+ extent: null,
+ items: [
+ {
+ content_type: "ebook",
+ contributors: [
+ {
+ lcnaf: "",
+ name: "University of Illinois at Urbana-Champaign",
+ roles: ["provider", "responsible"],
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Google",
+ roles: ["digitizer"],
+ viaf: "",
+ },
+ ],
+ drm: null,
+ item_id: 1956736,
+ links: [
+ {
+ link_id: 3330416,
+ mediaType: "text/html",
+ url: "test-link-url-2",
+ flags: {
+ catalog: false,
+ download: false,
+ reader: false,
+ embed: true,
+ },
+ },
+ {
+ link_id: 3330415,
+ mediaType: "application/pdf",
+ url: "test-link-url-3",
+ flags: {
+ catalog: false,
+ download: true,
+ reader: false,
+ },
+ },
+ ],
+ location: null,
+ measurements: null,
+ modified: null,
+ rights: [
+ {
+ license: "public_domain",
+ rightsStatement: "Public Domain",
+ source: "hathitrust",
+ },
+ ],
+ source: "hathitrust",
+ },
+ ],
+ languages: [
+ {
+ iso_2: "en",
+ iso_3: "eng",
+ language: "English",
+ },
+ {
+ iso_2: "es",
+ iso_3: "esp",
+ language: "Spanish",
+ },
+ ],
+ links: [
+ {
+ link_id: 1614426,
+ mediaType: "image/jpeg",
+ url: "test-cover-2",
+ flags: {
+ catalog: false,
+ download: false,
+ reader: false,
+ },
+ },
+ ],
+ publication_date: "1915",
+ publication_place: "Island Getaway",
+ publishers: [
+ {
+ lcnaf: "",
+ name: "Nook Industries",
+ viaf: "",
+ },
+ ],
+ summary: null,
+ table_of_contents: null,
+ title: "Alligator book",
+ volume: null,
+ work_uuid: "15a4aeb9-e9fb-43d8-b7f0-4e4a43e415ef",
+ },
+ ],
+ languages: [
+ {
+ iso_2: "en",
+ iso_3: "eng",
+ language: "English",
+ },
+ ],
+ measurements: [],
+ medium: null,
+ series: null,
+ series_position: null,
+ sub_title: "Cute Tables Subtitle",
+ subjects: [
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst00805630",
+ heading: "Embryology",
+ },
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst00908425",
+ heading: "Alligators",
+ },
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst00805630",
+ heading: "American alligator",
+ },
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst01003744",
+ heading: "Lungs",
+ },
+ ],
+ title: "Happy Home Companion: Cute Tables",
+ uuid: "test-uuid-1",
+ },
+ {
+ alt_titles: [],
+ authors: [
+ {
+ lcnaf: "",
+ name: "display author",
+ primary: "",
+ viaf: "12345",
+ },
+ ],
+ contributors: [],
+ dates: null,
+ edition_count: 1,
+ editions: [
+ {
+ edition: null,
+ edition_id: 1172733,
+ edition_statement: null,
+ extent: null,
+ items: [
+ {
+ content_type: "ebook",
+ contributors: null,
+ drm: null,
+ item_id: 1579612,
+ links: null,
+ location: null,
+ measurements: null,
+ modified: null,
+ rights: null,
+ source: "hathitrust",
+ },
+ ],
+ languages: null,
+ links: [],
+ publication_date: null,
+ publication_place: null,
+ publishers: [],
+ summary: null,
+ table_of_contents: null,
+ title:
+ "The alligator and its allies, by Albert M. Reese ... with 62 figures and 28 plates",
+ volume: null,
+ work_uuid: "99ca3bdd-72c5-4a71-8446-c963f985bd04",
+ },
+ ],
+ languages: [],
+ measurements: [],
+ medium: null,
+ series: null,
+ series_position: null,
+ sub_title: null,
+ subjects: [],
+ title:
+ "The alligator and its allies, by Albert M. Reese ... with 62 figures and 28 plates",
+ uuid: "test-uuid-2",
+ },
+ {
+ alt_titles: ["Lungs of the alligator"],
+ authors: [
+ {
+ lcnaf: "",
+ name: "Nook, Tom",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom1",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom2",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom3",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom4",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom5",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom6",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom7",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom8",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom9",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom10",
+ primary: "",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook, Tom11",
+ primary: "",
+ viaf: "",
+ },
+ ],
+ contributors: [],
+ dates: null,
+ edition_count: 5,
+ editions: [
+ {
+ edition: null,
+ edition_id: 1453292,
+ edition_statement: null,
+ extent: null,
+ items: [
+ {
+ content_type: "ebook",
+ contributors: [
+ {
+ lcnaf: "",
+ name: "University of Illinois at Urbana-Champaign",
+ roles: ["provider", "responsible"],
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Google",
+ roles: ["digitizer"],
+ viaf: "",
+ },
+ ],
+ drm: null,
+ item_id: 1956736,
+ links: [
+ {
+ link_id: 3234,
+ mediaType: "text/html",
+ url: "test-link-url-5",
+ flags: {
+ catalog: false,
+ download: false,
+ reader: false,
+ embed: true,
+ },
+ },
+ ],
+ location: null,
+ measurements: null,
+ modified: null,
+ rights: [
+ {
+ license: "public_domain",
+ rightsStatement:
+ "Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain",
+ source: "hathitrust",
+ },
+ {
+ license: "public_domain",
+ rightsStatement: "Public Domain 2",
+ source: "hathitrust",
+ },
+ {
+ license: "public_domain",
+ rightsStatement: "Public Domain 3",
+ source: "hathitrust",
+ },
+ ],
+ source: "hathitrust",
+ },
+ {
+ content_type: "ebook",
+ contributors: [
+ {
+ lcnaf: "",
+ name: "University of Illinois at Urbana-Champaign",
+ roles: ["provider", "responsible"],
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Google",
+ roles: ["digitizer"],
+ viaf: "",
+ },
+ ],
+ drm: null,
+ item_id: 1956736,
+ links: [
+ {
+ link_id: 3330415,
+ mediaType: "application/pdf",
+ url: "test-link-url-4",
+ flags: {
+ catalog: false,
+ download: true,
+ reader: false,
+ embed: false,
+ },
+ },
+ ],
+ location: null,
+ measurements: null,
+ modified: null,
+ rights: [
+ {
+ license: "public_domain",
+ rightsStatement: "Public Domain 2",
+ source: "hathitrust",
+ },
+ {
+ license: "public_domain",
+ rightsStatement: "Public Domain 3",
+ source: "hathitrust",
+ },
+ ],
+ source: "hathitrust",
+ },
+ ],
+ languages: [
+ {
+ iso_2: "en",
+ iso_3: "eng",
+ language: "Lang1",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang2",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang3",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang4",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang5",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang6",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang7",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang8",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang9",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang10",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang11",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang12",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang13",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang14",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang15",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang16",
+ },
+ {
+ iso_2: "sv",
+ iso_3: "swe",
+ language: "Lang17",
+ },
+ ],
+ links: [
+ {
+ link_id: 1614426,
+ mediaType: "image/jpeg",
+ url: "test-cover-2",
+ flags: {
+ catalog: false,
+ download: false,
+ reader: false,
+ },
+ },
+ ],
+ publication_date: "1945",
+ publication_place:
+ "Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu",
+ publishers: [
+ {
+ lcnaf: "",
+ name: "Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries ",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook Industries 2",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook Industries 3",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook Industries 4",
+ viaf: "",
+ },
+ {
+ lcnaf: "",
+ name: "Nook Industries 5",
+ viaf: "",
+ },
+ ],
+ summary: null,
+ table_of_contents: null,
+ title: "Alligator book",
+ volume: null,
+ work_uuid: "15a4aeb9-e9fb-43d8-b7f0-4e4a43e415ef",
+ },
+ ],
+ languages: [
+ {
+ iso_2: "en",
+ iso_3: "eng",
+ language: "English",
+ },
+ {
+ iso_2: "es",
+ iso_3: "esp",
+ language: "Spanish",
+ },
+ ],
+ measurements: [],
+ medium: null,
+ series: null,
+ series_position: null,
+ sub_title:
+ "super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long Subtitle",
+ subjects: [
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst00805630",
+ heading: "Embryology",
+ },
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst00908425",
+ heading: "Alligators",
+ },
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst00805630",
+ heading: "American alligator",
+ },
+ {
+ authority: "fast",
+ controlNo: "(OCoLC)fst01003744",
+ heading: "Lungs",
+ },
+ ],
+ title:
+ "Happy Home Companion: super super super supersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersuper long title",
+ uuid: "test-uuid-3",
+ },
+ ],
+ },
+ responseType: "searchResponse",
+ status: 200,
+ timestamp: "Wed, 14 Apr 2021 17:12:23 GMT",
+};
diff --git a/src/__tests__/fixtures/results-list.json b/src/__tests__/fixtures/results-list.json
deleted file mode 100644
index 16420e9d..00000000
--- a/src/__tests__/fixtures/results-list.json
+++ /dev/null
@@ -1,656 +0,0 @@
-{
- "data": {
- "facets": {
- "formats": [
- {
- "count": 6,
- "value": "text/html"
- },
- {
- "count": 6,
- "value": "application/pdf"
- }
- ],
- "languages": [
- {
- "count": 6,
- "value": "English"
- }
- ]
- },
- "paging": {
- "currentPage": 1,
- "firstPage": 1,
- "lastPage": 3,
- "nextPage": 2,
- "previousPage": null,
- "recordsPerPage": 10
- },
- "totalWorks": 26,
- "works": [
- {
- "alt_titles": ["Lungs of the alligator"],
- "authors": [
- {
- "lcnaf": "",
- "name": "Nook, Tammy",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Timmy",
- "primary": "true",
- "viaf": ""
- }
- ],
- "contributors": [],
- "dates": null,
- "edition_count": 3,
- "editions": [
- {
- "alt_titles": ["Lungs of the alligator"],
- "contributors": [],
- "dates": [
- {
- "date": "1915",
- "type": "publication_date"
- },
- {
- "date": "1915",
- "type": "copyright_date"
- }
- ],
- "edition": null,
- "edition_id": 1453292,
- "edition_statement": null,
- "extent": null,
- "items": [
- {
- "content_type": "ebook",
- "contributors": [
- {
- "lcnaf": "",
- "name": "University of Illinois at Urbana-Champaign",
- "roles": ["provider", "responsible"],
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Google",
- "roles": ["digitizer"],
- "viaf": ""
- }
- ],
- "drm": null,
- "item_id": 1956736,
- "links": [
- {
- "link_id": 3330416,
- "mediaType": "text/html",
- "url": "test-link-url-2",
- "flags": {
- "catalog": false,
- "download": false,
- "reader": false,
- "embed": true
- }
- },
- {
- "link_id": 3330415,
- "mediaType": "application/pdf",
- "url": "test-link-url-3",
- "flags": {
- "catalog": false,
- "download": true,
- "reader": false
- }
- }
- ],
- "location": null,
- "measurements": null,
- "modified": null,
- "rights": [
- {
- "license": "public_domain",
- "rightsStatement": "Public Domain",
- "source": "hathitrust"
- }
- ],
- "source": "hathitrust"
- }
- ],
- "languages": [
- {
- "iso_2": "en",
- "iso_3": "eng",
- "language": "English"
- },
- {
- "iso_2": "es",
- "iso_3": "esp",
- "language": "Spanish"
- }
- ],
- "links": [
- {
- "link_id": 1614426,
- "mediaType": "image/jpeg",
- "url": "test-cover-2",
- "flags": {
- "catalog": false,
- "download": false,
- "reader": false
- }
- }
- ],
- "measurements": [
- {
- "type": "government_document",
- "value": "0"
- }
- ],
- "publication_date": 1915,
- "publication_place": "Island Getaway",
- "publishers": [
- {
- "lcnaf": "",
- "name": "Nook Industries",
- "viaf": ""
- }
- ],
- "sub_title": null,
- "summary": null,
- "table_of_contents": null,
- "title": "Alligator book",
- "volume": null,
- "work_uuid": "15a4aeb9-e9fb-43d8-b7f0-4e4a43e415ef"
- }
- ],
- "languages": [
- {
- "iso_2": "en",
- "iso_3": "eng",
- "language": "English"
- }
- ],
- "measurements": [],
- "medium": null,
- "series": null,
- "series_position": null,
- "sub_title": "Cute Tables Subtitle",
- "subjects": [
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst00805630",
- "heading": "Embryology"
- },
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst00908425",
- "heading": "Alligators"
- },
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst00805630",
- "heading": "American alligator"
- },
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst01003744",
- "heading": "Lungs"
- }
- ],
- "title": "Happy Home Companion: Cute Tables",
- "uuid": "test-uuid-1"
- },
- {
- "alt_titles": [],
- "authors": [
- {
- "lcnaf": "",
- "name": "display author",
- "primary": "",
- "viaf": "12345"
- }
- ],
- "contributors": [],
- "dates": null,
- "edition_count": 1,
- "editions": [
- {
- "alt_titles": [],
- "contributors": [],
- "dates": null,
- "edition": null,
- "edition_id": 1172733,
- "edition_statement": null,
- "extent": null,
- "items": [
- {
- "content_type": "ebook",
- "contributors": null,
- "drm": null,
- "item_id": 1579612,
- "links": null,
- "location": null,
- "measurements": null,
- "modified": null,
- "rights": null,
- "source": "hathitrust"
- }
- ],
- "languages": null,
- "links": [],
- "measurements": [
- {
- "type": "government_document",
- "value": "0"
- }
- ],
- "publication_date": null,
- "publication_place": null,
- "publishers": [],
- "sub_title": null,
- "summary": null,
- "table_of_contents": null,
- "title": "The alligator and its allies, by Albert M. Reese ... with 62 figures and 28 plates",
- "volume": null,
- "work_uuid": "99ca3bdd-72c5-4a71-8446-c963f985bd04"
- }
- ],
- "languages": [],
- "measurements": [],
- "medium": null,
- "series": null,
- "series_position": null,
- "sub_title": null,
- "subjects": [],
- "title": "The alligator and its allies, by Albert M. Reese ... with 62 figures and 28 plates",
- "uuid": "test-uuid-2"
- },
- {
- "alt_titles": ["Lungs of the alligator"],
- "authors": [
- {
- "lcnaf": "",
- "name": "Nook, Tom",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom1",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom2",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom3",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom4",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom5",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom6",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom7",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom8",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom9",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom10",
- "primary": "",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook, Tom11",
- "primary": "",
- "viaf": ""
- }
- ],
- "contributors": [],
- "dates": null,
- "edition_count": 5,
- "editions": [
- {
- "alt_titles": ["Lungs of the alligator"],
- "contributors": [],
- "dates": [
- {
- "date": "1915",
- "type": "publication_date"
- },
- {
- "date": "1915",
- "type": "copyright_date"
- }
- ],
- "edition": null,
- "edition_id": 1453292,
- "edition_statement": null,
- "extent": null,
- "items": [
- {
- "content_type": "ebook",
- "contributors": [
- {
- "lcnaf": "",
- "name": "University of Illinois at Urbana-Champaign",
- "roles": ["provider", "responsible"],
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Google",
- "roles": ["digitizer"],
- "viaf": ""
- }
- ],
- "drm": null,
- "item_id": 1956736,
- "links": [
- {
- "link_id": 3234,
- "mediaType": "text/html",
- "url": "test-link-url-5",
- "flags": {
- "catalog": false,
- "download": false,
- "reader": false,
- "embed": true
- }
- }
- ],
- "location": null,
- "measurements": null,
- "modified": null,
- "rights": [
- {
- "license": "public_domain",
- "rightsStatement": "Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain Public Domain",
- "source": "hathitrust"
- },
- {
- "license": "public_domain",
- "rightsStatement": "Public Domain 2",
- "source": "hathitrust"
- },
- {
- "license": "public_domain",
- "rightsStatement": "Public Domain 3",
- "source": "hathitrust"
- }
- ],
- "source": "hathitrust"
- },
- {
- "content_type": "ebook",
- "contributors": [
- {
- "lcnaf": "",
- "name": "University of Illinois at Urbana-Champaign",
- "roles": ["provider", "responsible"],
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Google",
- "roles": ["digitizer"],
- "viaf": ""
- }
- ],
- "drm": null,
- "item_id": 1956736,
- "links": [
- {
- "link_id": 3330415,
- "mediaType": "application/pdf",
- "url": "test-link-url-4",
- "flags": {
- "catalog": false,
- "download": true,
- "reader": false,
- "embed": false
- }
- }
- ],
- "location": null,
- "measurements": null,
- "modified": null,
- "rights": [
- {
- "license": "public_domain",
- "rightsStatement": "Public Domain 2",
- "source": "hathitrust"
- },
- {
- "license": "public_domain",
- "rightsStatement": "Public Domain 3",
- "source": "hathitrust"
- }
- ],
- "source": "hathitrust"
- }
- ],
- "languages": [
- {
- "iso_2": "en",
- "iso_3": "eng",
- "language": "Lang1"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang2"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang3"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang4"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang5"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang6"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang7"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang8"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang9"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang10"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang11"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang12"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang13"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang14"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang15"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang16"
- },
- {
- "iso_2": "sv",
- "iso_3": "swe",
- "language": "Lang17"
- }
- ],
- "links": [
- {
- "link_id": 1614426,
- "mediaType": "image/jpeg",
- "url": "test-cover-2"
- }
- ],
- "measurements": [
- {
- "type": "government_document",
- "value": "0"
- }
- ],
- "publication_date": 1945,
- "publication_place": "Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu",
- "publishers": [
- {
- "lcnaf": "",
- "name": "Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries Nook Industries ",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook Industries 2",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook Industries 3",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook Industries 4",
- "viaf": ""
- },
- {
- "lcnaf": "",
- "name": "Nook Industries 5",
- "viaf": ""
- }
- ],
- "sub_title": null,
- "summary": null,
- "table_of_contents": null,
- "title": "Alligator book",
- "volume": null,
- "work_uuid": "15a4aeb9-e9fb-43d8-b7f0-4e4a43e415ef"
- }
- ],
- "languages": [
- {
- "iso_2": "en",
- "iso_3": "eng",
- "language": "English"
- },
- {
- "iso_2": "es",
- "iso_3": "esp",
- "language": "Spanish"
- }
- ],
- "measurements": [],
- "medium": null,
- "series": null,
- "series_position": null,
- "sub_title": "super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long super long Subtitle",
- "subjects": [
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst00805630",
- "heading": "Embryology"
- },
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst00908425",
- "heading": "Alligators"
- },
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst00805630",
- "heading": "American alligator"
- },
- {
- "authority": "fast",
- "controlNo": "(OCoLC)fst01003744",
- "heading": "Lungs"
- }
- ],
- "title": "Happy Home Companion: super super super supersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersupersuper long title",
- "uuid": "test-uuid-3"
- }
- ]
- },
- "responseType": "searchResponse",
- "status": 200,
- "timestamp": "Wed, 14 Apr 2021 17:12:23 GMT"
-}
diff --git a/src/__tests__/fixtures/search-query-missing-query.json b/src/__tests__/fixtures/search-query-missing-query.json
deleted file mode 100644
index 217d5f94..00000000
--- a/src/__tests__/fixtures/search-query-missing-query.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "filters": "language:english",
- "page": 0,
- "per_page": 10,
- "queries": []
-}
diff --git a/src/__tests__/fixtures/search-query.json b/src/__tests__/fixtures/search-query.json
deleted file mode 100644
index 38beab5c..00000000
--- a/src/__tests__/fixtures/search-query.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "query": "keyword:\"Civil War\" OR Lincoln,author:last, first",
- "filter": "language:Spanish,startYear:1800,endYear:2000",
- "sort": "title:asc",
- "size": 20,
- "page": 3,
- "showAll": "true"
-}
\ No newline at end of file
diff --git a/src/components/CollectionItemCard/CollectionItemCard.test.tsx b/src/components/CollectionItemCard/CollectionItemCard.test.tsx
index 83abb2b6..826cb543 100644
--- a/src/components/CollectionItemCard/CollectionItemCard.test.tsx
+++ b/src/components/CollectionItemCard/CollectionItemCard.test.tsx
@@ -21,7 +21,7 @@ describe("Collection Item Card", () => {
).toBeInTheDocument();
});
test("Shows Read Online button", () => {
- expect(screen.queryByText("Read Online")).toBeInTheDocument();
+ expect(screen.getByText("Read Online")).toBeInTheDocument();
});
test("Shows cover", () => {
expect(screen.getByAltText("").closest("img").src).toEqual(
diff --git a/src/components/EditionCard/EditionCard.test.tsx b/src/components/EditionCard/EditionCard.test.tsx
index 7056aeb4..174949d3 100644
--- a/src/components/EditionCard/EditionCard.test.tsx
+++ b/src/components/EditionCard/EditionCard.test.tsx
@@ -99,8 +99,8 @@ describe("Edition with EDD", () => {
test("Shows Download and Read Online button when edition has both EDD and readable links", () => {
render();
- expect(screen.queryByText("Download PDF")).toBeInTheDocument();
- expect(screen.queryByText("Read Online")).toBeInTheDocument();
+ expect(screen.getByText("Download PDF")).toBeInTheDocument();
+ expect(screen.getByText("Read Online")).toBeInTheDocument();
expect(
screen.queryByText("Log in to request scan")
).not.toBeInTheDocument();
diff --git a/src/components/EditionCard/ScanAndDeliverBlurb.tsx b/src/components/EditionCard/ScanAndDeliverBlurb.tsx
index c2f892bd..0dfd45cc 100644
--- a/src/components/EditionCard/ScanAndDeliverBlurb.tsx
+++ b/src/components/EditionCard/ScanAndDeliverBlurb.tsx
@@ -12,7 +12,7 @@ const ScanAndDeliverBlurb: React.FC = () => {
>
- A partial scan of this edition can be requested via NYPL's{" "}
+ A partial scan of this edition can be requested via NYPL's{" "}
Scan and Deliver service
diff --git a/src/components/EditionDetail/Edition.test.tsx b/src/components/EditionDetail/Edition.test.tsx
index 9eda8ba1..c6a565ec 100644
--- a/src/components/EditionDetail/Edition.test.tsx
+++ b/src/components/EditionDetail/Edition.test.tsx
@@ -30,7 +30,7 @@ describe("Renders edition component when given valid edition", () => {
screen.getByRole("heading", { name: breadcrumbTitles.drb })
).toBeInTheDocument();
expect(screen.getByRole("combobox")).toHaveValue(inputTerms[0].value);
- expect(screen.getByRole("textbox")).toBeInTheDocument;
+ expect(screen.getByRole("textbox")).toBeInTheDocument();
expect(screen.getByText("Advanced Search").closest("a").href).toContain(
"/advanced-search"
);
@@ -137,7 +137,7 @@ describe("All Copies Toggle", () => {
const toggle = screen.getByLabelText(
"Show only items currently available online"
) as HTMLInputElement;
- expect(toggle).toBeInTheDocument;
+ expect(toggle).toBeInTheDocument();
expect(toggle).not.toBeChecked();
});
@@ -164,7 +164,7 @@ describe("All Copies Toggle", () => {
const toggle = screen.getByLabelText(
"Show only items currently available online"
) as HTMLInputElement;
- expect(toggle).toBeInTheDocument;
+ expect(toggle).toBeInTheDocument();
expect(toggle).toBeChecked();
});
diff --git a/src/components/InstanceCard/InstanceCard.test.tsx b/src/components/InstanceCard/InstanceCard.test.tsx
index bdac6220..48da7689 100644
--- a/src/components/InstanceCard/InstanceCard.test.tsx
+++ b/src/components/InstanceCard/InstanceCard.test.tsx
@@ -89,8 +89,8 @@ describe("Instance with EDD", () => {
>
);
- expect(screen.queryByText("Download PDF")).toBeInTheDocument();
- expect(screen.queryByText("Read Online")).toBeInTheDocument();
+ expect(screen.getByText("Download PDF")).toBeInTheDocument();
+ expect(screen.getByText("Read Online")).toBeInTheDocument();
expect(screen.queryByText("Log in for options")).not.toBeInTheDocument();
expect(screen.queryByText("Request Scan")).not.toBeInTheDocument();
});
diff --git a/src/components/Landing/Landing.tsx b/src/components/Landing/Landing.tsx
index e11d0b0a..162b8539 100644
--- a/src/components/Landing/Landing.tsx
+++ b/src/components/Landing/Landing.tsx
@@ -22,6 +22,7 @@ const LandingPage: React.FC<{ collections?: Opds2Feed }> = ({
sx={{
a: {
color: "ui.link.primary",
+ display: "inline",
},
}}
>
@@ -78,7 +79,7 @@ const LandingPage: React.FC<{ collections?: Opds2Feed }> = ({
id="primary-hero"
color="ui.black"
>
- Search the World's Research Collections
+ Search the World's Research Collections
}
subHeaderText={subHeader}
diff --git a/src/components/ReaderLayout/ReaderLayout.tsx b/src/components/ReaderLayout/ReaderLayout.tsx
index ec25e868..233db795 100644
--- a/src/components/ReaderLayout/ReaderLayout.tsx
+++ b/src/components/ReaderLayout/ReaderLayout.tsx
@@ -149,7 +149,7 @@ const ReaderLayout: React.FC<{
const BackButton = () => {
return (
//Apends design system classname to use Design System Link.
-
+
diff --git a/src/components/SurveyBanner/SurveyBanner.tsx b/src/components/SurveyBanner/SurveyBanner.tsx
index 0f82c89a..1478fcbb 100644
--- a/src/components/SurveyBanner/SurveyBanner.tsx
+++ b/src/components/SurveyBanner/SurveyBanner.tsx
@@ -5,18 +5,18 @@ import Link from "../Link/Link";
const SurveyBanner: React.FC = () => {
return (
-
- Do you use Digital Research Books at the Library? Help us learn
- about your experiences by{" "}
-
- taking a short survey.
-
-
+ Tell us about your experience by taking a short survey.
+
+
+ Take the survey
+
+
>
}
+ heading="Do you use Digital Research Books?"
marginBottom="l"
/>
);
diff --git a/src/components/Svgs/ReaderLogoSvg.tsx b/src/components/Svgs/ReaderLogoSvg.tsx
index a0ad967b..5cebd1ee 100644
--- a/src/components/Svgs/ReaderLogoSvg.tsx
+++ b/src/components/Svgs/ReaderLogoSvg.tsx
@@ -1,6 +1,7 @@
+import { PropsOf } from "@chakra-ui/react";
import React from "react";
-const ReaderLogoSvg: React.FC = () => (
+const ReaderLogoSvg: React.FC> = () => (