From c9af0f8e41b5d579c2689de9f77319ba1b61aa61 Mon Sep 17 00:00:00 2001 From: Gregory Rushton Date: Tue, 30 Aug 2022 17:27:45 -0400 Subject: [PATCH] [DUOS-2041][risk=no] Documentation Updates (#1775) * updating docs for running under compose and cypress --- .gitignore | 4 +- DEVNOTES.md | 111 ++++++ README.md | 34 +- docker-compose.yaml | 43 ++- package-lock.json | 816 ++++++++++++-------------------------------- package.json | 16 +- 6 files changed, 380 insertions(+), 644 deletions(-) create mode 100644 DEVNOTES.md diff --git a/.gitignore b/.gitignore index 951de7b47..897fc8ca8 100644 --- a/.gitignore +++ b/.gitignore @@ -39,5 +39,7 @@ public/config.json # Server +ca-bundle.crt server.crt -server.key \ No newline at end of file +server.key +site.conf \ No newline at end of file diff --git a/DEVNOTES.md b/DEVNOTES.md new file mode 100644 index 000000000..e711cd249 --- /dev/null +++ b/DEVNOTES.md @@ -0,0 +1,111 @@ +# Local Development + +1. We use [node@16](https://github.com/nvm-sh/nvm#installing-and-updating): + +``` +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash +nvm install 16 +``` +2. Install deps: + +``` +npm install +``` + +3. Install configs for an environment. This example is for the perf environment, but you can use values from any environment by looking at the deployed configs in https://duos-k8s.dsde-{%ENV%}.broadinstitute.org/config.json where {%ENV%} is any of `dev`, `staging`, `perf`, `alpha`, or `prod` +Remember to set the `env` value appropriately. We use `local` for running via npm, but under docker, we use a real env like `dev` +``` +cp config/perf.json public/config.json +``` + +Ensure that your `/etc/hosts` file has an entry for `local.broadinstitute.org` +```properties +127.0.0.1 local.broadinstitute.org +``` + +Download cert files from vault (requires vault access - see [DUOS team members](https://github.com/orgs/DataBiosphere/teams/duos) for more specifics): +```shell +vault login -method=github token=$(cat ~/.github-token) +vault read --format=json /server.key | jq -r .data.value > server.key +vault read --format=json /server.crt | jq -r .data.value > server.crt +vault read --format=json /ca-bundle.crt | jq -r .data.chain > ca-bundle.crt +``` + +Create a `site.conf` file in the project root directory using https://github.com/broadinstitute/terra-helmfile/blob/master/charts/duos/templates/_site.conf.tpl as a model. + +Create a local environment file, `.env.local` +```properties +HOST=local.broadinstitute.org +HTTPS=true +SSL_CRT_FILE=server.crt +SSL_KEY_FILE=server.key +``` + +4. Start development server: + +```shell +npm start +``` +### Running under Docker + +Update your local `docker-compose.yaml` file to mount the preferred `config.json` file in app volumes. +Remember to set the `env` value appropriately in `config.json`. We use `local` for running via npm, but under docker, we use a real env like `dev` + +```dockerfile + volumes: + - ./public/config.json:/usr/share/nginx/html/config.json +``` + +Build and run: + +```shell +docker build . -t duos +docker compose up -d +``` + +# Testing + +## Cypress Tests + +We use Cypress for all component and integration testing. Each suite +of tests is run separately for all PRs via github actions. Local +testing can be run headless or viewed interactively. + +Cypress integration tests run locally require a different `baseUrl` than those +run in Github Actions. Modify your local `cypress.config.js` file so +that the `e2e.baseUrl` looks like this: +```shell + baseUrl: 'https://local.broadinstitute.org:3000/', +``` +This is not necessary for component tests. + +### Headless +To run cypress integration tests, first start up the app in one terminal +and in another terminal window, spin up the tests headless: + +```shell +npm start +npm run cypress:run +``` + +To run cypress component tests headless: + +```shell +npm run cypress:run:component +``` + +### Interactive +To run cypress integration tests, first start up the app in one terminal +and in another terminal window, spin up the tests for viewing: + +```shell +npm start +npm run cypress:open +``` + +To run cypress component tests in a browser: + +```shell +npm run cypress:open:component +``` + \ No newline at end of file diff --git a/README.md b/README.md index 1e8407e08..e7ab6e3ec 100644 --- a/README.md +++ b/README.md @@ -18,35 +18,5 @@ The Data Use Oversight system ensures that researchers using genomics data honor ![What is DUOS](https://github.com/DataBiosphere/duos-ui/blob/develop/public/images/what_is_duos.svg) -### Developers - -1. We use [node@16](https://github.com/nvm-sh/nvm#installing-and-updating): - -``` -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash -nvm install 16 -``` -2. Install deps: - -``` -npm install -``` - -3. Install configs for an environment. This example is for the perf environment, but you can use values from any environment by looking at the deployed configs in https://duos-k8s.dsde-{%ENV%}.broadinstitute.org/config.json where {%ENV%} is any of `dev`, `staging`, `perf`, `alpha`, or `prod` - -``` -cp config/perf.json public/config.json -``` -4. Start development server: - -``` -npm start -``` -### Running under Docker - -Update your local environment configuration file and mount that to `/usr/share/nginx/html/config.json` - -``` -docker build . -t duos -docker run -v ${PWD}/path/to/config.json:/usr/share/nginx/html/config.json:ro -p 80:8080 duos:latest -``` +### Local Development +See [DEVNOTES.md](DEVNOTES.md) for instructions on setting up an environment for local development. \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 367c7e0e2..4d7733dcd 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,19 +1,52 @@ # This is an example compose file that can be used for local development. # Modify the config file in `volumes` to point to the desired environment, default id dev. -# +# Ensure that the following configuration files have been created in the correct locations: +# * public/config.json +# * ca-bundle.crt +# * server.crt +# * server.key +# * site.conf +# Ensure that /etc/hosts contains an entry for: +# 127.0.0.1 local.broadinstitute.org # Build: # docker build . -t duos # Run: -# docker-compose up +# docker compose up -d # Test -# http://localhost:3000/ +# https://local.broadinstitute.org/ version: '3.8' services: app: image: duos:latest container_name: duos ports: - - 3000:8080 + - 8080:8080 volumes: - - ./config/perf.json:/usr/share/nginx/html/config.json + - ./public/config.json:/usr/share/nginx/html/config.json command: ["nginx", "-g", "daemon off;"] + restart: always + + proxy: + image: broadinstitute/openidc-proxy:tcell_3_1_0 + container_name: duos-proxy + hostname: local.broadinstitute.org + links: + - app:app + ports: + - 80:8080 + - 443:443 + volumes: + - ./server.crt:/etc/ssl/certs/server.crt:ro + - ./server.key:/etc/ssl/private/server.key:ro + - ./ca-bundle.crt:/etc/ssl/certs/ca-bundle.crt:ro + - ./site.conf:/etc/apache2/sites-available/site.conf:ro + environment: + AUTH_TYPE: AuthType None + LOG_LEVEL: warn + OIDC_CLAIM: Require all granted + PROXY_PATH: / + PROXY_URL: http://app:8080/ + SERVER_NAME: local.broadinstitute.org + SERVER_NAME_INT: local.broadinstitute.org + ENABLE_TCELL: 'no' + restart: always diff --git a/package-lock.json b/package-lock.json index 88d1ba6c8..44b6403a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "@material-ui/icons": "4.11.3", "@mui/material": "5.10.0", "@mui/styled-engine": "5.10.0", - "@react-pdf/renderer": "^2.3.0", + "@react-pdf/font": "2.2.0", + "@react-pdf/renderer": "2.1.1", "axios": "^0.27.2", "bootstrap": "3.4.1", "country-list": "2.2.0", @@ -62,8 +63,7 @@ "html-webpack-plugin": "4.5.2", "react-error-overlay": "6.0.9", "react-scripts": "4.0.3", - "source-map-explorer": "2.5.2", - "start-server-and-test": "1.14.0" + "source-map-explorer": "2.5.2" } }, "node_modules/@ampproject/remapping": { @@ -2272,12 +2272,6 @@ "deprecated": "This version has been deprecated and is no longer supported or maintained", "dev": true }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, "node_modules/@hapi/joi": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", @@ -2308,15 +2302,6 @@ "@hapi/hoek": "^8.3.0" } }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -3603,18 +3588,13 @@ "url": "https://opencollective.com/popperjs" } }, - "node_modules/@react-pdf/fns": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-1.0.0.tgz", - "integrity": "sha512-jmksnPPeBj7Hl00aOc61wiwNQ0Ngms/tk6wVZq+r8xE5abvJAL9CEiehmlttNR+cUzAIf3eJT5DNvdWIZ2sEgg==" - }, "node_modules/@react-pdf/font": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.2.1.tgz", - "integrity": "sha512-LMdvTkhR6jm/Bt1oKvRTYQc4/4wbtH4mEF++SHzKmwaOhZeruZYzt5sboHadyKRg7gTW/HKoWN03SJGTC4CGnA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.2.0.tgz", + "integrity": "sha512-HQdInik1x/dyWMFhKV0kDZYKjVI2KpXMRjwBGFetl3YOZlxpa5hFqq6wmPjxfMLFqHHiWHcR2Dk15e/sGH0k8w==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/fontkit": "^2.1.2", + "@react-pdf/fontkit": "^2.1.0", "@react-pdf/types": "^2.0.9", "cross-fetch": "^3.1.5", "is-url": "^1.2.4" @@ -3636,33 +3616,58 @@ "unicode-trie": "^0.3.0" } }, + "node_modules/@react-pdf/fontkit/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/@react-pdf/fontkit/node_modules/restructure": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", + "integrity": "sha512-wgNbkrlRpj0NarhUyiCfOXlu8DybDIYRV7MOieKGOl16N7NmAkjTtPhn2F4CBOsyRL8m6RWZLSzjJVVPAkJuiw==", + "dependencies": { + "browserify-optional": "^1.0.0" + } + }, + "node_modules/@react-pdf/fontkit/node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/@react-pdf/image": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.1.1.tgz", - "integrity": "sha512-Uh9N1HBU5QGP1QxuIhpVES8FAQsSy2/IGrCHoCCzUUuvbUKf+Mezl3+gvaS4fkWbENPpZ9q6u2C3yL5IqRirsw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.2.0.tgz", + "integrity": "sha512-BZBbyj32qF+C/T9HfIc7yBlYfy69D6dLC4U9RYrzrb47uSfaiCzNco2OjDeVYjAUYFmJ/Z+Sa+ijrWlVzjUVWw==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/png-js": "^2.1.0", + "@react-pdf/png-js": "^2.2.0", "cross-fetch": "^3.1.5" } }, "node_modules/@react-pdf/layout": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-3.1.2.tgz", - "integrity": "sha512-rbDC3+NUPflHjwnoDb5zTphFjXqnp7o+qy0Y2rBJNORSyyOP33MEEprll1z4t8xNLCnDB2rpmAO0HvMkgMFrCw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-2.1.1.tgz", + "integrity": "sha512-ddpXNRAU1JNHL+AUQEFO2RFolDrtqs/Z0Gb8fjicCcWinthpqkeLdNMWYA5bQuUIzuJXONAQDGd6JLomv2Wayg==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", "@react-pdf/image": "^2.1.1", - "@react-pdf/pdfkit": "^2.4.0", - "@react-pdf/primitives": "^3.0.0", - "@react-pdf/stylesheet": "^3.2.0", - "@react-pdf/textkit": "^4.0.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/pdfkit": "^2.1.0", + "@react-pdf/primitives": "^2.0.2", + "@react-pdf/stylesheet": "^2.1.0", + "@react-pdf/textkit": "^2.1.0", + "@react-pdf/types": "^2.0.8", "@react-pdf/yoga": "^2.0.4", "cross-fetch": "^3.1.5", "emoji-regex": "^8.0.0", - "queue": "^6.0.1" + "queue": "^6.0.1", + "ramda": "^0.26.1" } }, "node_modules/@react-pdf/pdfkit": { @@ -3677,46 +3682,50 @@ } }, "node_modules/@react-pdf/png-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.1.0.tgz", - "integrity": "sha512-S5T5qGOlDK6VUJBVGkltNcPFEOWJW5FAD5IWkp9ATYPehC7L1d0CwuFlkFDaHh9ySmm46fKRHfn4YNQguq9gmw==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.2.0.tgz", + "integrity": "sha512-csZU5lfNW73tq7s7zB/1rWXGro+Z9cQhxtsXwxS418TSszHUiM6PwddouiKJxdGhbVLjRIcuuFVa0aR5cDOC6w==", + "dependencies": { + "browserify-zlib": "^0.2.0" + } }, "node_modules/@react-pdf/primitives": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-3.0.1.tgz", - "integrity": "sha512-0HGcknrLNwyhxe+SZCBL29JY4M85mXKdvTZE9uhjNbADGgTc8wVnkc5+e4S/lDvugbVISXyuIhZnYwtK9eDnyQ==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-2.0.2.tgz", + "integrity": "sha512-NkbOje/Sd/ziqfp9eYFc0ACeytmZB9MIrhx0j1rDT3gIhrjo19sS7R6Iap50gNgSphgx4Nh7GxWu/usBiuTmnw==" }, "node_modules/@react-pdf/render": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-3.2.0.tgz", - "integrity": "sha512-182Xq/+qPitsPl3ldJ2W0yHAeiEuRpI+WZ723HJq1iSAVACiZvUffvNzoaksAbY7tK8Gl5U5UlsWP7yI7GPnKQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-2.1.0.tgz", + "integrity": "sha512-OacYR/eY47OzuuBXr0TaIqdP2m8GWIMWVkzTVaSxB6ZEs0wFCv6Hw5LYmh1k617o1YbZkRRDJIyGUtTmZuw6Ng==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", - "@react-pdf/primitives": "^3.0.0", - "@react-pdf/textkit": "^4.0.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/primitives": "^2.0.2", + "@react-pdf/textkit": "^2.1.0", + "@react-pdf/types": "^2.0.8", "abs-svg-path": "^0.1.1", "color-string": "^1.5.3", "normalize-svg-path": "^1.1.0", "parse-svg-path": "^0.1.2", + "ramda": "^0.26.1", "svg-arc-to-cubic-bezier": "^3.2.0" } }, "node_modules/@react-pdf/renderer": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-2.3.0.tgz", - "integrity": "sha512-JrKgQL6MwANRdsqo3eH8+SD2rNwhXBSy99NBsL4FrdndnuZrDe6/KQOTstaBpxKtn6CEZVrd3hkqgCh9/Oa9mQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-2.1.1.tgz", + "integrity": "sha512-W6Ma/4/zfj8KAJQkBeyHmzR3OuuMZFYZFrFtcfFXQNCZC3NDEasTNN0qYwcBAPkCyDAm+jhA/CKezhAPwnh3QQ==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/font": "^2.2.1", - "@react-pdf/layout": "^3.1.2", - "@react-pdf/pdfkit": "^2.4.0", - "@react-pdf/primitives": "^3.0.0", - "@react-pdf/render": "^3.2.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/font": "^2.1.1", + "@react-pdf/layout": "^2.1.1", + "@react-pdf/pdfkit": "^2.1.0", + "@react-pdf/primitives": "^2.0.2", + "@react-pdf/render": "^2.1.0", + "@react-pdf/types": "^2.0.8", "blob-stream": "^0.1.3", "queue": "^6.0.1", + "ramda": "^0.26.1", "react-reconciler": "^0.23.0", "scheduler": "^0.17.0" }, @@ -3742,28 +3751,28 @@ } }, "node_modules/@react-pdf/stylesheet": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-3.2.0.tgz", - "integrity": "sha512-aXms1U2Knd5SRn5OgtllaBCS52tHO7m4yc2n/y/bpKbzaX+mPdrt2V7vY9/VEMj2CytUV1icNIslxVBhp6CgRA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-2.1.0.tgz", + "integrity": "sha512-F9v++z1QhlnCONkwdUJm1C/FNM9WkTiTRp+OCe6za2iZvrs9sGhSnTHFMOb5HOZYHsAXx+pLgHqE4WP+60SunQ==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/types": "^2.0.8", "color-string": "^1.5.3", "hsl-to-hex": "^1.0.0", "media-engine": "^1.0.3", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.1.0", + "ramda": "^0.26.1" } }, "node_modules/@react-pdf/textkit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-4.0.0.tgz", - "integrity": "sha512-JI3A9R+Ua3oDZgfPABp81ftn1RmWY9+B0HdDZ19HFHGLBr9pVPyAP5xwD+Z0fHh/vAMtrvbEjcZtB1gqs80sGA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-2.1.0.tgz", + "integrity": "sha512-caFluGk2aHgPjeGxqcYvH3rake/01K5zQfjQ7RVtjye5ZvlSgEFSuorRynwFPs92Vw7tA9TjvVnNc3GDsWghgQ==", "dependencies": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", + "@react-pdf/unicode-properties": "^2.5.0", "hyphen": "^1.6.4", - "unicode-properties": "^1.4.1" + "ramda": "^0.26.1" } }, "node_modules/@react-pdf/types": { @@ -3771,6 +3780,23 @@ "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.1.0.tgz", "integrity": "sha512-PmmcPFlehRmLEE7p5bhapNya1NS3lV77dRNs9YEf1wNVbKsf10cF4yXDq813cNwm2YYIhCIgaU98O5GBBxMZaQ==" }, + "node_modules/@react-pdf/unicode-properties": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@react-pdf/unicode-properties/-/unicode-properties-2.6.0.tgz", + "integrity": "sha512-9udElnd75FS+2tSyKlVmSifQ7Qf7eH4TivgiKflAMiw3MpsoSvuMPDVAjzi4VppymMdondi6k4Au8JCHQuc0/A==", + "dependencies": { + "unicode-trie": "^0.3.0" + } + }, + "node_modules/@react-pdf/unicode-properties/node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/@react-pdf/yoga": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@react-pdf/yoga/-/yoga-2.0.4.tgz", @@ -3834,27 +3860,6 @@ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, "node_modules/@sinonjs/commons": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", @@ -6529,7 +6534,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "dependencies": { "pako": "~1.0.5" } @@ -6537,8 +6541,7 @@ "node_modules/browserify-zlib/node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "node_modules/browserslist": { "version": "4.21.1", @@ -7381,14 +7384,6 @@ "node": ">=8" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -10501,21 +10496,6 @@ "node": ">= 0.6" } }, - "node_modules/event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", - "dev": true, - "dependencies": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -11625,12 +11605,6 @@ "node": ">= 0.6" } }, - "node_modules/from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", - "dev": true - }, "node_modules/from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -15607,19 +15581,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, "node_modules/jquery": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", @@ -16492,12 +16453,6 @@ "node": ">=0.10.0" } }, - "node_modules/map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", - "dev": true - }, "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -18385,15 +18340,6 @@ "node": ">=8" } }, - "node_modules/pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", - "dev": true, - "dependencies": { - "through": "~2.3" - } - }, "node_modules/pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -20123,21 +20069,6 @@ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, - "node_modules/ps-tree": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", - "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", - "dev": true, - "dependencies": { - "event-stream": "=3.3.4" - }, - "bin": { - "ps-tree": "bin/ps-tree.js" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -20302,6 +20233,11 @@ "performance-now": "^2.1.0" } }, + "node_modules/ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -21863,14 +21799,6 @@ "node": ">=8" } }, - "node_modules/restructure": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", - "integrity": "sha512-wgNbkrlRpj0NarhUyiCfOXlu8DybDIYRV7MOieKGOl16N7NmAkjTtPhn2F4CBOsyRL8m6RWZLSzjJVVPAkJuiw==", - "dependencies": { - "browserify-optional": "^1.0.0" - } - }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -23458,18 +23386,6 @@ "node": ">= 6" } }, - "node_modules/split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, "node_modules/split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -23634,90 +23550,6 @@ "stacktrace-gps": "^3.0.4" } }, - "node_modules/start-server-and-test": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.14.0.tgz", - "integrity": "sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw==", - "dev": true, - "dependencies": { - "bluebird": "3.7.2", - "check-more-types": "2.24.0", - "debug": "4.3.2", - "execa": "5.1.1", - "lazy-ass": "1.6.0", - "ps-tree": "1.2.0", - "wait-on": "6.0.0" - }, - "bin": { - "server-test": "src/bin/start.js", - "start-server-and-test": "src/bin/start.js", - "start-test": "src/bin/start.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/start-server-and-test/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/start-server-and-test/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/start-server-and-test/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/start-server-and-test/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -23750,15 +23582,6 @@ "readable-stream": "^2.0.2" } }, - "node_modules/stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", - "dev": true, - "dependencies": { - "duplexer": "~0.1.1" - } - }, "node_modules/stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -25179,15 +25002,6 @@ "unicode-trie": "^2.0.0" } }, - "node_modules/unicode-properties/node_modules/unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", @@ -25198,9 +25012,9 @@ } }, "node_modules/unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" @@ -25873,34 +25687,6 @@ "node": ">=10" } }, - "node_modules/wait-on": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.0.tgz", - "integrity": "sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==", - "dev": true, - "dependencies": { - "axios": "^0.21.1", - "joi": "^17.4.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.1.0" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/wait-on/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -29158,12 +28944,6 @@ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", "dev": true }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, "@hapi/joi": { "version": "15.1.1", "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", @@ -29193,15 +28973,6 @@ } } }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, "@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -30106,18 +29877,13 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" }, - "@react-pdf/fns": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-pdf/fns/-/fns-1.0.0.tgz", - "integrity": "sha512-jmksnPPeBj7Hl00aOc61wiwNQ0Ngms/tk6wVZq+r8xE5abvJAL9CEiehmlttNR+cUzAIf3eJT5DNvdWIZ2sEgg==" - }, "@react-pdf/font": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.2.1.tgz", - "integrity": "sha512-LMdvTkhR6jm/Bt1oKvRTYQc4/4wbtH4mEF++SHzKmwaOhZeruZYzt5sboHadyKRg7gTW/HKoWN03SJGTC4CGnA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/font/-/font-2.2.0.tgz", + "integrity": "sha512-HQdInik1x/dyWMFhKV0kDZYKjVI2KpXMRjwBGFetl3YOZlxpa5hFqq6wmPjxfMLFqHHiWHcR2Dk15e/sGH0k8w==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/fontkit": "^2.1.2", + "@react-pdf/fontkit": "^2.1.0", "@react-pdf/types": "^2.0.9", "cross-fetch": "^3.1.5", "is-url": "^1.2.4" @@ -30137,35 +29903,59 @@ "tiny-inflate": "^1.0.2", "unicode-properties": "^1.4.1", "unicode-trie": "^0.3.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + }, + "restructure": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", + "integrity": "sha512-wgNbkrlRpj0NarhUyiCfOXlu8DybDIYRV7MOieKGOl16N7NmAkjTtPhn2F4CBOsyRL8m6RWZLSzjJVVPAkJuiw==", + "requires": { + "browserify-optional": "^1.0.0" + } + }, + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + } } }, "@react-pdf/image": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.1.1.tgz", - "integrity": "sha512-Uh9N1HBU5QGP1QxuIhpVES8FAQsSy2/IGrCHoCCzUUuvbUKf+Mezl3+gvaS4fkWbENPpZ9q6u2C3yL5IqRirsw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/image/-/image-2.2.0.tgz", + "integrity": "sha512-BZBbyj32qF+C/T9HfIc7yBlYfy69D6dLC4U9RYrzrb47uSfaiCzNco2OjDeVYjAUYFmJ/Z+Sa+ijrWlVzjUVWw==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/png-js": "^2.1.0", + "@react-pdf/png-js": "^2.2.0", "cross-fetch": "^3.1.5" } }, "@react-pdf/layout": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-3.1.2.tgz", - "integrity": "sha512-rbDC3+NUPflHjwnoDb5zTphFjXqnp7o+qy0Y2rBJNORSyyOP33MEEprll1z4t8xNLCnDB2rpmAO0HvMkgMFrCw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/layout/-/layout-2.1.1.tgz", + "integrity": "sha512-ddpXNRAU1JNHL+AUQEFO2RFolDrtqs/Z0Gb8fjicCcWinthpqkeLdNMWYA5bQuUIzuJXONAQDGd6JLomv2Wayg==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", "@react-pdf/image": "^2.1.1", - "@react-pdf/pdfkit": "^2.4.0", - "@react-pdf/primitives": "^3.0.0", - "@react-pdf/stylesheet": "^3.2.0", - "@react-pdf/textkit": "^4.0.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/pdfkit": "^2.1.0", + "@react-pdf/primitives": "^2.0.2", + "@react-pdf/stylesheet": "^2.1.0", + "@react-pdf/textkit": "^2.1.0", + "@react-pdf/types": "^2.0.8", "@react-pdf/yoga": "^2.0.4", "cross-fetch": "^3.1.5", "emoji-regex": "^8.0.0", - "queue": "^6.0.1" + "queue": "^6.0.1", + "ramda": "^0.26.1" } }, "@react-pdf/pdfkit": { @@ -30180,46 +29970,50 @@ } }, "@react-pdf/png-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.1.0.tgz", - "integrity": "sha512-S5T5qGOlDK6VUJBVGkltNcPFEOWJW5FAD5IWkp9ATYPehC7L1d0CwuFlkFDaHh9ySmm46fKRHfn4YNQguq9gmw==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@react-pdf/png-js/-/png-js-2.2.0.tgz", + "integrity": "sha512-csZU5lfNW73tq7s7zB/1rWXGro+Z9cQhxtsXwxS418TSszHUiM6PwddouiKJxdGhbVLjRIcuuFVa0aR5cDOC6w==", + "requires": { + "browserify-zlib": "^0.2.0" + } }, "@react-pdf/primitives": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-3.0.1.tgz", - "integrity": "sha512-0HGcknrLNwyhxe+SZCBL29JY4M85mXKdvTZE9uhjNbADGgTc8wVnkc5+e4S/lDvugbVISXyuIhZnYwtK9eDnyQ==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@react-pdf/primitives/-/primitives-2.0.2.tgz", + "integrity": "sha512-NkbOje/Sd/ziqfp9eYFc0ACeytmZB9MIrhx0j1rDT3gIhrjo19sS7R6Iap50gNgSphgx4Nh7GxWu/usBiuTmnw==" }, "@react-pdf/render": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-3.2.0.tgz", - "integrity": "sha512-182Xq/+qPitsPl3ldJ2W0yHAeiEuRpI+WZ723HJq1iSAVACiZvUffvNzoaksAbY7tK8Gl5U5UlsWP7yI7GPnKQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/render/-/render-2.1.0.tgz", + "integrity": "sha512-OacYR/eY47OzuuBXr0TaIqdP2m8GWIMWVkzTVaSxB6ZEs0wFCv6Hw5LYmh1k617o1YbZkRRDJIyGUtTmZuw6Ng==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", - "@react-pdf/primitives": "^3.0.0", - "@react-pdf/textkit": "^4.0.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/primitives": "^2.0.2", + "@react-pdf/textkit": "^2.1.0", + "@react-pdf/types": "^2.0.8", "abs-svg-path": "^0.1.1", "color-string": "^1.5.3", "normalize-svg-path": "^1.1.0", "parse-svg-path": "^0.1.2", + "ramda": "^0.26.1", "svg-arc-to-cubic-bezier": "^3.2.0" } }, "@react-pdf/renderer": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-2.3.0.tgz", - "integrity": "sha512-JrKgQL6MwANRdsqo3eH8+SD2rNwhXBSy99NBsL4FrdndnuZrDe6/KQOTstaBpxKtn6CEZVrd3hkqgCh9/Oa9mQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@react-pdf/renderer/-/renderer-2.1.1.tgz", + "integrity": "sha512-W6Ma/4/zfj8KAJQkBeyHmzR3OuuMZFYZFrFtcfFXQNCZC3NDEasTNN0qYwcBAPkCyDAm+jhA/CKezhAPwnh3QQ==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/font": "^2.2.1", - "@react-pdf/layout": "^3.1.2", - "@react-pdf/pdfkit": "^2.4.0", - "@react-pdf/primitives": "^3.0.0", - "@react-pdf/render": "^3.2.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/font": "2.2.0", + "@react-pdf/layout": "^2.1.1", + "@react-pdf/pdfkit": "^2.1.0", + "@react-pdf/primitives": "^2.0.2", + "@react-pdf/render": "^2.1.0", + "@react-pdf/types": "^2.0.8", "blob-stream": "^0.1.3", "queue": "^6.0.1", + "ramda": "^0.26.1", "react-reconciler": "^0.23.0", "scheduler": "^0.17.0" }, @@ -30238,28 +30032,28 @@ } }, "@react-pdf/stylesheet": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-3.2.0.tgz", - "integrity": "sha512-aXms1U2Knd5SRn5OgtllaBCS52tHO7m4yc2n/y/bpKbzaX+mPdrt2V7vY9/VEMj2CytUV1icNIslxVBhp6CgRA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/stylesheet/-/stylesheet-2.1.0.tgz", + "integrity": "sha512-F9v++z1QhlnCONkwdUJm1C/FNM9WkTiTRp+OCe6za2iZvrs9sGhSnTHFMOb5HOZYHsAXx+pLgHqE4WP+60SunQ==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", - "@react-pdf/types": "^2.1.0", + "@react-pdf/types": "^2.0.8", "color-string": "^1.5.3", "hsl-to-hex": "^1.0.0", "media-engine": "^1.0.3", - "postcss-value-parser": "^4.1.0" + "postcss-value-parser": "^4.1.0", + "ramda": "^0.26.1" } }, "@react-pdf/textkit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-4.0.0.tgz", - "integrity": "sha512-JI3A9R+Ua3oDZgfPABp81ftn1RmWY9+B0HdDZ19HFHGLBr9pVPyAP5xwD+Z0fHh/vAMtrvbEjcZtB1gqs80sGA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@react-pdf/textkit/-/textkit-2.1.0.tgz", + "integrity": "sha512-caFluGk2aHgPjeGxqcYvH3rake/01K5zQfjQ7RVtjye5ZvlSgEFSuorRynwFPs92Vw7tA9TjvVnNc3GDsWghgQ==", "requires": { "@babel/runtime": "^7.16.4", - "@react-pdf/fns": "1.0.0", + "@react-pdf/unicode-properties": "^2.5.0", "hyphen": "^1.6.4", - "unicode-properties": "^1.4.1" + "ramda": "^0.26.1" } }, "@react-pdf/types": { @@ -30267,6 +30061,25 @@ "resolved": "https://registry.npmjs.org/@react-pdf/types/-/types-2.1.0.tgz", "integrity": "sha512-PmmcPFlehRmLEE7p5bhapNya1NS3lV77dRNs9YEf1wNVbKsf10cF4yXDq813cNwm2YYIhCIgaU98O5GBBxMZaQ==" }, + "@react-pdf/unicode-properties": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@react-pdf/unicode-properties/-/unicode-properties-2.6.0.tgz", + "integrity": "sha512-9udElnd75FS+2tSyKlVmSifQ7Qf7eH4TivgiKflAMiw3MpsoSvuMPDVAjzi4VppymMdondi6k4Au8JCHQuc0/A==", + "requires": { + "unicode-trie": "^0.3.0" + }, + "dependencies": { + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + } + } + }, "@react-pdf/yoga": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@react-pdf/yoga/-/yoga-2.0.4.tgz", @@ -30317,27 +30130,6 @@ } } }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, "@sinonjs/commons": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", @@ -32464,7 +32256,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "requires": { "pako": "~1.0.5" }, @@ -32472,8 +32263,7 @@ "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" } } }, @@ -33123,11 +32913,6 @@ } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, "clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -35560,21 +35345,6 @@ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, - "event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", - "dev": true, - "requires": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -36471,12 +36241,6 @@ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, - "from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", - "dev": true - }, "from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -39470,19 +39234,6 @@ } } }, - "joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, "jquery": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", @@ -40189,12 +39940,6 @@ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, - "map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", - "dev": true - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -41567,15 +41312,6 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", - "dev": true, - "requires": { - "through": "~2.3" - } - }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -43001,15 +42737,6 @@ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true }, - "ps-tree": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", - "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", - "dev": true, - "requires": { - "event-stream": "=3.3.4" - } - }, "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -43141,6 +42868,11 @@ "performance-now": "^2.1.0" } }, + "ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -44333,14 +44065,6 @@ "signal-exit": "^3.0.2" } }, - "restructure": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/restructure/-/restructure-0.5.4.tgz", - "integrity": "sha512-wgNbkrlRpj0NarhUyiCfOXlu8DybDIYRV7MOieKGOl16N7NmAkjTtPhn2F4CBOsyRL8m6RWZLSzjJVVPAkJuiw==", - "requires": { - "browserify-optional": "^1.0.0" - } - }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", @@ -45636,15 +45360,6 @@ } } }, - "split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", - "dev": true, - "requires": { - "through": "2" - } - }, "split-on-first": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", @@ -45782,61 +45497,6 @@ "stacktrace-gps": "^3.0.4" } }, - "start-server-and-test": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.14.0.tgz", - "integrity": "sha512-on5ELuxO2K0t8EmNj9MtVlFqwBMxfWOhu4U7uZD1xccVpFlOQKR93CSe0u98iQzfNxRyaNTb/CdadbNllplTsw==", - "dev": true, - "requires": { - "bluebird": "3.7.2", - "check-more-types": "2.24.0", - "debug": "4.3.2", - "execa": "5.1.1", - "lazy-ass": "1.6.0", - "ps-tree": "1.2.0", - "wait-on": "6.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - } - } - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -45863,15 +45523,6 @@ "readable-stream": "^2.0.2" } }, - "stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", - "dev": true, - "requires": { - "duplexer": "~0.1.1" - } - }, "stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -46979,17 +46630,6 @@ "requires": { "base64-js": "^1.3.0", "unicode-trie": "^2.0.0" - }, - "dependencies": { - "unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "requires": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - } } }, "unicode-property-aliases-ecmascript": { @@ -46999,9 +46639,9 @@ "dev": true }, "unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha512-WgVuO0M2jDl7hVfbPgXv2LUrD81HM0bQj/bvLGiw6fJ4Zo8nNFnDrA0/hU2Te/wz6pjxCm5cxJwtLjo2eyV51Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", "requires": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" @@ -47508,30 +47148,6 @@ "xml-name-validator": "^3.0.0" } }, - "wait-on": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.0.tgz", - "integrity": "sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==", - "dev": true, - "requires": { - "axios": "^0.21.1", - "joi": "^17.4.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.1.0" - }, - "dependencies": { - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.0" - } - } - } - }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index 3ce956a81..463bf7f97 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "@mui/styled-engine": "5.10.0", "@material-ui/core": "4.12.4", "@material-ui/icons": "4.11.3", - "@react-pdf/renderer": "^2.3.0", + "@react-pdf/renderer": "2.1.1", + "@react-pdf/font": "2.2.0", "axios": "^0.27.2", "bootstrap": "3.4.1", "country-list": "2.2.0", @@ -49,10 +50,10 @@ "start": "react-scripts start", "build": "react-scripts build", "eject": "react-scripts eject", - "test": "start-server-and-test start:ci http://localhost:3000 cypress:run", - "start:ci": "BROWSER=none react-scripts start", "cypress:open": "CYPRESS_ADMIN=$(cat cypress/fixtures/duos-automation-admin.json) CYPRESS_CHAIR=$(cat cypress/fixtures/duos-automation-chair.json) CYPRESS_MEMBER=$(cat cypress/fixtures/duos-automation-member.json) CYPRESS_RESEARCHER=$(cat cypress/fixtures/duos-automation-researcher.json) CYPRESS_SIGNING_OFFICIAL=$(cat cypress/fixtures/duos-automation-signing-official.json) cypress open", + "cypress:open:component": "cypress open --component", "cypress:run": "CYPRESS_ADMIN=$(cat cypress/fixtures/duos-automation-admin.json) CYPRESS_CHAIR=$(cat cypress/fixtures/duos-automation-chair.json) CYPRESS_MEMBER=$(cat cypress/fixtures/duos-automation-member.json) CYPRESS_RESEARCHER=$(cat cypress/fixtures/duos-automation-researcher.json) CYPRESS_SIGNING_OFFICIAL=$(cat cypress/fixtures/duos-automation-signing-official.json) cypress run", + "cypress:run:component": "cypress run --component", "cypress:verify": "cypress verify" }, "devDependencies": { @@ -68,8 +69,7 @@ "html-webpack-plugin": "4.5.2", "react-error-overlay": "6.0.9", "react-scripts": "4.0.3", - "source-map-explorer": "2.5.2", - "start-server-and-test": "1.14.0" + "source-map-explorer": "2.5.2" }, "browserslist": [ ">0.2%", @@ -79,6 +79,10 @@ ], "overrides": { "react": "$react", - "react-dom": "$react-dom" + "react-dom": "$react-dom", + "@react-pdf/font": "2.2.0" + }, + "resolutions": { + "@react-pdf/font": "2.2.0" } }