diff --git a/app/features/object-damage-calculator/routes/object-damage-calculator.tsx b/app/features/object-damage-calculator/routes/object-damage-calculator.tsx index 7066fb68f..b8f5ab300 100644 --- a/app/features/object-damage-calculator/routes/object-damage-calculator.tsx +++ b/app/features/object-damage-calculator/routes/object-damage-calculator.tsx @@ -30,7 +30,7 @@ import { Label } from "~/components/Label"; import { Ability } from "~/components/Ability"; import { damageTypeTranslationString } from "~/utils/i18next"; import { useSetTitle } from "~/hooks/useSetTitle"; -import type { ShouldReloadFunction } from "@remix-run/react"; +import type { ShouldRevalidateFunction } from "@remix-run/react"; import { Toggle } from "~/components/Toggle"; import { useObjectDamage } from "../calculator-hooks"; import { type DamageType, possibleApValues } from "~/features/build-analyzer"; @@ -38,7 +38,7 @@ import type { DamageReceiver } from "../calculator-types"; export const CURRENT_PATCH = "2.1"; -export const unstable_shouldReload: ShouldReloadFunction = () => false; +export const shouldRevalidate: ShouldRevalidateFunction = () => false; export const links: LinksFunction = () => { return [{ rel: "stylesheet", href: styles }]; diff --git a/app/root.tsx b/app/root.tsx index 86e224508..7b0e773f8 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -11,8 +11,8 @@ import { Meta, Outlet, Scripts, + type ShouldRevalidateFunction, useLoaderData, - type ShouldReloadFunction, } from "@remix-run/react"; import * as React from "react"; import commonStyles from "~/styles/common.css"; @@ -41,9 +41,9 @@ import { isTheme } from "./modules/theme/provider"; import { useIsMounted } from "./hooks/useIsMounted"; import invariant from "tiny-invariant"; -export const unstable_shouldReload: ShouldReloadFunction = ({ url }) => { - // reload on language change so the selected language gets set into the cookie - const lang = url.searchParams.get("lng"); +export const shouldRevalidate: ShouldRevalidateFunction = ({ nextUrl }) => { + // // reload on language change so the selected language gets set into the cookie + const lang = nextUrl.searchParams.get("lng"); return Boolean(lang); }; diff --git a/app/routes/maps.tsx b/app/routes/maps.tsx index 5336687d6..bc48ff518 100644 --- a/app/routes/maps.tsx +++ b/app/routes/maps.tsx @@ -4,7 +4,7 @@ import type { MetaFunction, SerializeFrom, } from "@remix-run/node"; -import type { ShouldReloadFunction } from "@remix-run/react"; +import type { ShouldRevalidateFunction } from "@remix-run/react"; import { Link, useLoaderData, useSearchParams } from "@remix-run/react"; import * as React from "react"; import { useCopyToClipboard } from "react-use"; @@ -39,8 +39,8 @@ import { const AMOUNT_OF_MAPS_IN_MAP_LIST = stageIds.length * 2; -export const unstable_shouldReload: ShouldReloadFunction = ({ url }) => { - const searchParams = new URL(url).searchParams; +export const shouldRevalidate: ShouldRevalidateFunction = ({ nextUrl }) => { + const searchParams = new URL(nextUrl).searchParams; // Only let loader reload data if we're not currently editing the map pool // and persisting it in the search params. return searchParams.has("readonly"); diff --git a/app/routes/plus/suggestions.tsx b/app/routes/plus/suggestions.tsx index e3e07b590..3d1f55993 100644 --- a/app/routes/plus/suggestions.tsx +++ b/app/routes/plus/suggestions.tsx @@ -4,7 +4,7 @@ import type { MetaFunction, } from "@remix-run/node"; import { json } from "@remix-run/node"; -import type { ShouldReloadFunction } from "@remix-run/react"; +import type { ShouldRevalidateFunction } from "@remix-run/react"; import { Link, Outlet, useLoaderData, useSearchParams } from "@remix-run/react"; import clsx from "clsx"; import invariant from "tiny-invariant"; @@ -138,9 +138,9 @@ export interface PlusSuggestionsLoaderData { suggestedForTiers: number[]; } -export const unstable_shouldReload: ShouldReloadFunction = ({ submission }) => { +export const shouldRevalidate: ShouldRevalidateFunction = ({ formMethod }) => { // only reload if form submission not when user changes tabs - return Boolean(submission); + return Boolean(formMethod && formMethod !== "get"); }; export const loader: LoaderFunction = async ({ request }) => { diff --git a/package-lock.json b/package-lock.json index 5a3fd0f21..0a9297cb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,9 @@ "@faker-js/faker": "^7.6.0", "@headlessui/react": "^1.7.7", "@popperjs/core": "^2.11.6", - "@remix-run/node": "^1.9.0", - "@remix-run/react": "^1.9.0", - "@remix-run/serve": "^1.9.0", + "@remix-run/node": "^1.11.1", + "@remix-run/react": "^1.11.1", + "@remix-run/serve": "^1.11.1", "@tldraw/tldraw": "^1.27.0", "aws-sdk": "^2.1299.0", "better-sqlite3": "^8.0.1", @@ -49,8 +49,8 @@ }, "devDependencies": { "@playwright/test": "^1.29.2", - "@remix-run/dev": "^1.9.0", - "@remix-run/eslint-config": "^1.9.0", + "@remix-run/dev": "^1.11.1", + "@remix-run/eslint-config": "^1.11.1", "@types/better-sqlite3": "^7.6.3", "@types/i18next-fs-backend": "^1.1.2", "@types/node-cron": "^3.0.7", @@ -2103,6 +2103,12 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", + "dev": true + }, "node_modules/@esbuild-plugins/node-modules-polyfill": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz", @@ -3740,20 +3746,24 @@ } }, "node_modules/@remix-run/dev": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-1.9.0.tgz", - "integrity": "sha512-4EEctL2lo7eLPbVkzVBuRW+TX1B9yNdR9Ug7z7PYwFvJF0Oy9PovGx7ooVIypNiWLGOztKgN+K3c9jdffsrYYQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-1.11.1.tgz", + "integrity": "sha512-8N7TRbJtNXKhU4pQwDGdEMDlOIJ1SqQdG1zZoIzU7Q7YfkdAI8/AOtXT7i2X6y5urjijtFUZEY6x8IVNhGAjbg==", "dev": true, "dependencies": { "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/parser": "^7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/plugin-syntax-typescript": "^7.20.0", "@babel/preset-env": "^7.18.6", "@babel/preset-typescript": "^7.18.6", + "@babel/traverse": "^7.18.6", "@babel/types": "^7.20.2", "@esbuild-plugins/node-modules-polyfill": "^0.1.4", "@npmcli/package-json": "^2.0.0", - "@remix-run/server-runtime": "1.9.0", + "@remix-run/server-runtime": "1.11.1", + "@vanilla-extract/integration": "^6.0.1", "arg": "^5.0.1", "cacache": "^15.0.5", "chalk": "^4.1.2", @@ -3773,9 +3783,13 @@ "json5": "^2.2.1", "lodash": "^4.17.21", "lodash.debounce": "^4.0.8", + "lru-cache": "^7.14.1", "minimatch": "^3.0.4", "node-fetch": "^2.6.7", "ora": "^5.4.1", + "postcss": "^8.4.19", + "postcss-discard-duplicates": "^5.1.0", + "postcss-modules": "^6.0.0", "prettier": "2.7.1", "pretty-ms": "^7.0.1", "proxy-agent": "^5.0.0", @@ -3796,7 +3810,7 @@ "node": ">=14" }, "peerDependencies": { - "@remix-run/serve": "^1.9.0" + "@remix-run/serve": "^1.11.1" }, "peerDependenciesMeta": { "@remix-run/serve": { @@ -3891,6 +3905,15 @@ "@esbuild/win32-x64": "0.16.3" } }, + "node_modules/@remix-run/dev/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@remix-run/dev/node_modules/prettier": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", @@ -3931,9 +3954,9 @@ } }, "node_modules/@remix-run/eslint-config": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/eslint-config/-/eslint-config-1.9.0.tgz", - "integrity": "sha512-SPEY+FqvYrlpqYpvPPKd/2dlKzd9Vlxa2HkvKqIHtaiBFUGX9GWnKRro6b5KQ6IU0K5wupCJXG4/bw1CYd8pFg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/eslint-config/-/eslint-config-1.11.1.tgz", + "integrity": "sha512-mpisTkWBKYklmuIuDhwdy8BAUV5+EJ3Q3cxlSGBXZ+SaddK8WgBZu5C44o/0YZvktFm53rWBH3Afeq0A03yUkQ==", "dev": true, "dependencies": { "@babel/core": "^7.19.1", @@ -3968,11 +3991,11 @@ } }, "node_modules/@remix-run/express": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/express/-/express-1.9.0.tgz", - "integrity": "sha512-kWLINQNx4D2ypBzfgUiTwEvsM/GFTtpnjK1aHBKH/PCN1JH0yDpbr6VGlUbj0Mmnfy9Qg2yPlwTlgHNox++a4g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/express/-/express-1.11.1.tgz", + "integrity": "sha512-riT5ooTXWeX52bSTaL5ovCApKRU/W6NjdowfESH4Ur3MSM3FP1/z9K0HBV+mVsAW7zYSOk/vaPX+kJnVZsuhCw==", "dependencies": { - "@remix-run/node": "1.9.0" + "@remix-run/node": "1.11.1" }, "engines": { "node": ">=14" @@ -3982,11 +4005,11 @@ } }, "node_modules/@remix-run/node": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-1.9.0.tgz", - "integrity": "sha512-LKbzMieBEE1oxeEoR3qyAFd29o/dQvRZvxQyB0LLy1IdAfrMTrADCRK8YZ7xVtJeUzWnNpn9abslotQN82Oz7g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-1.11.1.tgz", + "integrity": "sha512-Lc2mI7Qm26kIB0cyjPC56XTZskfufX1uTTpHsAAYvBooyahhKoBHDLa0skl56cT20mz7dSy+ocYoPel6Eavr2A==", "dependencies": { - "@remix-run/server-runtime": "1.9.0", + "@remix-run/server-runtime": "1.11.1", "@remix-run/web-fetch": "^4.3.2", "@remix-run/web-file": "^3.0.2", "@remix-run/web-stream": "^1.0.3", @@ -4001,12 +4024,13 @@ } }, "node_modules/@remix-run/react": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/react/-/react-1.9.0.tgz", - "integrity": "sha512-Rtm6qqdKMD0AMsJuzCFwpz40/o6LXQq20smHyyvH8EMHJRPrms44By28uMW0kmc+M9q0wa0gBfMzWFfZnCSFwg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/react/-/react-1.11.1.tgz", + "integrity": "sha512-8D+55ygREmGLWuCfqU7DntMgD8EN/5Lk8feO0oF09eFR9tZ5frjjiB3xTiH+4wkyY3vz+cdFxVI/8p9Iyrwd6Q==", "dependencies": { - "@remix-run/router": "1.1.0", - "react-router-dom": "6.5.0" + "@remix-run/router": "1.3.0", + "react-router-dom": "6.7.0", + "use-sync-external-store": "1.2.0" }, "engines": { "node": ">=14" @@ -4017,19 +4041,19 @@ } }, "node_modules/@remix-run/router": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.1.0.tgz", - "integrity": "sha512-rGl+jH/7x1KBCQScz9p54p0dtPLNeKGb3e0wD2H5/oZj41bwQUnXdzbj2TbUAFhvD7cp9EyEQA4dEgpUFa1O7Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.0.tgz", + "integrity": "sha512-nwQoYb3m4DDpHTeOwpJEuDt8lWVcujhYYSFGLluC+9es2PyLjm+jjq3IeRBQbwBtPLJE/lkuHuGHr8uQLgmJRA==", "engines": { "node": ">=14" } }, "node_modules/@remix-run/serve": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/serve/-/serve-1.9.0.tgz", - "integrity": "sha512-dERDi06Qqd5VIHvtHx++Wna4NX+lrtUFFuMdPyDmn3ii8RVhh0yED7yJBe3t0k3Syk5IysMc3V49k6pOGtEsdQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/serve/-/serve-1.11.1.tgz", + "integrity": "sha512-a39vG0DhKIQfjlK9yHX17VOjBw+MyPYtHG7/tJtsE204s93pahZZMM7nBjsUrdx6zjwht8v6uoF4lZTEzzrSwg==", "dependencies": { - "@remix-run/express": "1.9.0", + "@remix-run/express": "1.11.1", "compression": "^1.7.4", "express": "^4.17.1", "morgan": "^1.10.0" @@ -4042,11 +4066,11 @@ } }, "node_modules/@remix-run/server-runtime": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.9.0.tgz", - "integrity": "sha512-HNJGAzdp4JZqBtDqhi9tEtTxWztuQYruuMPyTlJmSWQhK3MdaOs7F9DJtfFKAhy8LBOqniwpE5w27dkCx7trOg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.11.1.tgz", + "integrity": "sha512-D0jTiaUSMK0q29CTVL7Bn4SlE6fd4bnp18vxObjSXlA6VYrzDAK3pQ/1baDawPdxBDIQPqImXOQ6g4aAYImfCA==", "dependencies": { - "@remix-run/router": "1.1.0", + "@remix-run/router": "1.3.0", "@types/cookie": "^0.4.0", "@web3-storage/multipart-parser": "^1.0.0", "cookie": "^0.4.1", @@ -4860,6 +4884,138 @@ "react": ">= 16.8.0" } }, + "node_modules/@vanilla-extract/babel-plugin-debug-ids": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.0.tgz", + "integrity": "sha512-Q2Nh/0FEAENfcphAv+fvcMoKfl3bhPWO/2x3MPviNAhsTsvuvYPuRtLjcXwoe4aJ8MxxI46JLY33j8NBEzpTIg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.10" + } + }, + "node_modules/@vanilla-extract/css": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.9.2.tgz", + "integrity": "sha512-CE5+R89LOl9XG5dRwEIvVyl/YcS2GkqjdE/XnGJ+p7Fp6Exu08fifv7tY87XxFeCIRAbc9psM+h4lF+wC3Y0fg==", + "dev": true, + "dependencies": { + "@emotion/hash": "^0.9.0", + "@vanilla-extract/private": "^1.0.3", + "ahocorasick": "1.0.2", + "chalk": "^4.1.1", + "css-what": "^5.0.1", + "cssesc": "^3.0.0", + "csstype": "^3.0.7", + "deep-object-diff": "^1.1.0", + "deepmerge": "^4.2.2", + "media-query-parser": "^2.0.2", + "outdent": "^0.8.0" + } + }, + "node_modules/@vanilla-extract/integration": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-6.0.1.tgz", + "integrity": "sha512-8D2JdBTH6UEao5Tm50m1qtY63JP4hDxiv/sNvgj2+ix/9M5RML9sa0diS80u0hW/r26+/ZsdzoA5YIbg6ghOMw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.10", + "@babel/plugin-syntax-typescript": "^7.18.6", + "@vanilla-extract/babel-plugin-debug-ids": "^1.0.0", + "@vanilla-extract/css": "^1.9.2", + "esbuild": "^0.11.16", + "eval": "0.1.6", + "find-up": "^5.0.0", + "javascript-stringify": "^2.0.1", + "lodash": "^4.17.21", + "outdent": "^0.8.0" + } + }, + "node_modules/@vanilla-extract/integration/node_modules/esbuild": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.23.tgz", + "integrity": "sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + } + }, + "node_modules/@vanilla-extract/integration/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/@vanilla-extract/integration/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": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vanilla-extract/integration/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vanilla-extract/integration/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, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vanilla-extract/integration/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vanilla-extract/private": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.3.tgz", + "integrity": "sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==", + "dev": true + }, "node_modules/@web3-storage/multipart-parser": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", @@ -4982,6 +5138,12 @@ "node": ">=8" } }, + "node_modules/ahocorasick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ahocorasick/-/ahocorasick-1.0.2.tgz", + "integrity": "sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==", + "dev": true + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -6517,6 +6679,18 @@ "node": ">=0.10.0" } }, + "node_modules/css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -6675,6 +6849,21 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deep-object-diff": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -8470,6 +8659,18 @@ "node": ">= 0.6" } }, + "node_modules/eval": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz", + "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==", + "dev": true, + "dependencies": { + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -9192,6 +9393,24 @@ "node": ">=0.10.0" } }, + "node_modules/generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dev": true, + "dependencies": { + "loader-utils": "^3.2.0" + } + }, + "node_modules/generic-names/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -10010,6 +10229,18 @@ "node": ">=0.10.0" } }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/idb-keyval": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.0.tgz", @@ -10766,6 +10997,12 @@ "node": ">=0.10.0" } }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, "node_modules/jmespath": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", @@ -11167,6 +11404,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -11562,6 +11805,15 @@ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", "dev": true }, + "node_modules/media-query-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", + "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -13011,6 +13263,12 @@ "node": ">=0.10.0" } }, + "node_modules/outdent": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==", + "dev": true + }, "node_modules/p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -13382,12 +13640,102 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, "node_modules/postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, + "node_modules/postcss-modules": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz", + "integrity": "sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==", + "dev": true, + "dependencies": { + "generic-names": "^4.0.0", + "icss-utils": "^5.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", @@ -13968,11 +14316,11 @@ } }, "node_modules/react-router": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.5.0.tgz", - "integrity": "sha512-fqqUSU0NC0tSX0sZbyuxzuAzvGqbjiZItBQnyicWlOUmzhAU8YuLgRbaCL2hf3sJdtRy4LP/WBrWtARkMvdGPQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.7.0.tgz", + "integrity": "sha512-KNWlG622ddq29MAM159uUsNMdbX8USruoKnwMMQcs/QWZgFUayICSn2oB7reHce1zPj6CG18kfkZIunSSRyGHg==", "dependencies": { - "@remix-run/router": "1.1.0" + "@remix-run/router": "1.3.0" }, "engines": { "node": ">=14" @@ -13982,12 +14330,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.5.0.tgz", - "integrity": "sha512-/XzRc5fq80gW1ctiIGilyKFZC/j4kfe75uivMsTChFbkvrK4ZrF3P3cGIc1f/SSkQ4JiJozPrf+AwUHHWVehVg==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.7.0.tgz", + "integrity": "sha512-jQtXUJyhso3kFw430+0SPCbmCmY1/kJv8iRffGHwHy3CkoomGxeYzMkmeSPYo6Egzh3FKJZRAL22yg5p2tXtfg==", "dependencies": { - "@remix-run/router": "1.1.0", - "react-router": "6.5.0" + "@remix-run/router": "1.3.0", + "react-router": "6.7.0" }, "engines": { "node": ">=14" @@ -14502,6 +14850,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/requireindex": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", @@ -15535,6 +15892,12 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", + "dev": true + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -18987,6 +19350,12 @@ "dev": true, "requires": {} }, + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", + "dev": true + }, "@esbuild-plugins/node-modules-polyfill": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz", @@ -20142,20 +20511,24 @@ } }, "@remix-run/dev": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-1.9.0.tgz", - "integrity": "sha512-4EEctL2lo7eLPbVkzVBuRW+TX1B9yNdR9Ug7z7PYwFvJF0Oy9PovGx7ooVIypNiWLGOztKgN+K3c9jdffsrYYQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/dev/-/dev-1.11.1.tgz", + "integrity": "sha512-8N7TRbJtNXKhU4pQwDGdEMDlOIJ1SqQdG1zZoIzU7Q7YfkdAI8/AOtXT7i2X6y5urjijtFUZEY6x8IVNhGAjbg==", "dev": true, "requires": { "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/parser": "^7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/plugin-syntax-typescript": "^7.20.0", "@babel/preset-env": "^7.18.6", "@babel/preset-typescript": "^7.18.6", + "@babel/traverse": "^7.18.6", "@babel/types": "^7.20.2", "@esbuild-plugins/node-modules-polyfill": "^0.1.4", "@npmcli/package-json": "^2.0.0", - "@remix-run/server-runtime": "1.9.0", + "@remix-run/server-runtime": "1.11.1", + "@vanilla-extract/integration": "^6.0.1", "arg": "^5.0.1", "cacache": "^15.0.5", "chalk": "^4.1.2", @@ -20175,9 +20548,13 @@ "json5": "^2.2.1", "lodash": "^4.17.21", "lodash.debounce": "^4.0.8", + "lru-cache": "^7.14.1", "minimatch": "^3.0.4", "node-fetch": "^2.6.7", "ora": "^5.4.1", + "postcss": "^8.4.19", + "postcss-discard-duplicates": "^5.1.0", + "postcss-modules": "^6.0.0", "prettier": "2.7.1", "pretty-ms": "^7.0.1", "proxy-agent": "^5.0.0", @@ -20251,6 +20628,12 @@ "@esbuild/win32-x64": "0.16.3" } }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + }, "prettier": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", @@ -20278,9 +20661,9 @@ } }, "@remix-run/eslint-config": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/eslint-config/-/eslint-config-1.9.0.tgz", - "integrity": "sha512-SPEY+FqvYrlpqYpvPPKd/2dlKzd9Vlxa2HkvKqIHtaiBFUGX9GWnKRro6b5KQ6IU0K5wupCJXG4/bw1CYd8pFg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/eslint-config/-/eslint-config-1.11.1.tgz", + "integrity": "sha512-mpisTkWBKYklmuIuDhwdy8BAUV5+EJ3Q3cxlSGBXZ+SaddK8WgBZu5C44o/0YZvktFm53rWBH3Afeq0A03yUkQ==", "dev": true, "requires": { "@babel/core": "^7.19.1", @@ -20302,19 +20685,19 @@ } }, "@remix-run/express": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/express/-/express-1.9.0.tgz", - "integrity": "sha512-kWLINQNx4D2ypBzfgUiTwEvsM/GFTtpnjK1aHBKH/PCN1JH0yDpbr6VGlUbj0Mmnfy9Qg2yPlwTlgHNox++a4g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/express/-/express-1.11.1.tgz", + "integrity": "sha512-riT5ooTXWeX52bSTaL5ovCApKRU/W6NjdowfESH4Ur3MSM3FP1/z9K0HBV+mVsAW7zYSOk/vaPX+kJnVZsuhCw==", "requires": { - "@remix-run/node": "1.9.0" + "@remix-run/node": "1.11.1" } }, "@remix-run/node": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-1.9.0.tgz", - "integrity": "sha512-LKbzMieBEE1oxeEoR3qyAFd29o/dQvRZvxQyB0LLy1IdAfrMTrADCRK8YZ7xVtJeUzWnNpn9abslotQN82Oz7g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-1.11.1.tgz", + "integrity": "sha512-Lc2mI7Qm26kIB0cyjPC56XTZskfufX1uTTpHsAAYvBooyahhKoBHDLa0skl56cT20mz7dSy+ocYoPel6Eavr2A==", "requires": { - "@remix-run/server-runtime": "1.9.0", + "@remix-run/server-runtime": "1.11.1", "@remix-run/web-fetch": "^4.3.2", "@remix-run/web-file": "^3.0.2", "@remix-run/web-stream": "^1.0.3", @@ -20326,36 +20709,37 @@ } }, "@remix-run/react": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/react/-/react-1.9.0.tgz", - "integrity": "sha512-Rtm6qqdKMD0AMsJuzCFwpz40/o6LXQq20smHyyvH8EMHJRPrms44By28uMW0kmc+M9q0wa0gBfMzWFfZnCSFwg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/react/-/react-1.11.1.tgz", + "integrity": "sha512-8D+55ygREmGLWuCfqU7DntMgD8EN/5Lk8feO0oF09eFR9tZ5frjjiB3xTiH+4wkyY3vz+cdFxVI/8p9Iyrwd6Q==", "requires": { - "@remix-run/router": "1.1.0", - "react-router-dom": "6.5.0" + "@remix-run/router": "1.3.0", + "react-router-dom": "6.7.0", + "use-sync-external-store": "1.2.0" } }, "@remix-run/router": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.1.0.tgz", - "integrity": "sha512-rGl+jH/7x1KBCQScz9p54p0dtPLNeKGb3e0wD2H5/oZj41bwQUnXdzbj2TbUAFhvD7cp9EyEQA4dEgpUFa1O7Q==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.0.tgz", + "integrity": "sha512-nwQoYb3m4DDpHTeOwpJEuDt8lWVcujhYYSFGLluC+9es2PyLjm+jjq3IeRBQbwBtPLJE/lkuHuGHr8uQLgmJRA==" }, "@remix-run/serve": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/serve/-/serve-1.9.0.tgz", - "integrity": "sha512-dERDi06Qqd5VIHvtHx++Wna4NX+lrtUFFuMdPyDmn3ii8RVhh0yED7yJBe3t0k3Syk5IysMc3V49k6pOGtEsdQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/serve/-/serve-1.11.1.tgz", + "integrity": "sha512-a39vG0DhKIQfjlK9yHX17VOjBw+MyPYtHG7/tJtsE204s93pahZZMM7nBjsUrdx6zjwht8v6uoF4lZTEzzrSwg==", "requires": { - "@remix-run/express": "1.9.0", + "@remix-run/express": "1.11.1", "compression": "^1.7.4", "express": "^4.17.1", "morgan": "^1.10.0" } }, "@remix-run/server-runtime": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.9.0.tgz", - "integrity": "sha512-HNJGAzdp4JZqBtDqhi9tEtTxWztuQYruuMPyTlJmSWQhK3MdaOs7F9DJtfFKAhy8LBOqniwpE5w27dkCx7trOg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-1.11.1.tgz", + "integrity": "sha512-D0jTiaUSMK0q29CTVL7Bn4SlE6fd4bnp18vxObjSXlA6VYrzDAK3pQ/1baDawPdxBDIQPqImXOQ6g4aAYImfCA==", "requires": { - "@remix-run/router": "1.1.0", + "@remix-run/router": "1.3.0", "@types/cookie": "^0.4.0", "@web3-storage/multipart-parser": "^1.0.0", "cookie": "^0.4.1", @@ -21010,6 +21394,109 @@ "@use-gesture/core": "10.2.23" } }, + "@vanilla-extract/babel-plugin-debug-ids": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.0.tgz", + "integrity": "sha512-Q2Nh/0FEAENfcphAv+fvcMoKfl3bhPWO/2x3MPviNAhsTsvuvYPuRtLjcXwoe4aJ8MxxI46JLY33j8NBEzpTIg==", + "dev": true, + "requires": { + "@babel/core": "^7.13.10" + } + }, + "@vanilla-extract/css": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.9.2.tgz", + "integrity": "sha512-CE5+R89LOl9XG5dRwEIvVyl/YcS2GkqjdE/XnGJ+p7Fp6Exu08fifv7tY87XxFeCIRAbc9psM+h4lF+wC3Y0fg==", + "dev": true, + "requires": { + "@emotion/hash": "^0.9.0", + "@vanilla-extract/private": "^1.0.3", + "ahocorasick": "1.0.2", + "chalk": "^4.1.1", + "css-what": "^5.0.1", + "cssesc": "^3.0.0", + "csstype": "^3.0.7", + "deep-object-diff": "^1.1.0", + "deepmerge": "^4.2.2", + "media-query-parser": "^2.0.2", + "outdent": "^0.8.0" + } + }, + "@vanilla-extract/integration": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vanilla-extract/integration/-/integration-6.0.1.tgz", + "integrity": "sha512-8D2JdBTH6UEao5Tm50m1qtY63JP4hDxiv/sNvgj2+ix/9M5RML9sa0diS80u0hW/r26+/ZsdzoA5YIbg6ghOMw==", + "dev": true, + "requires": { + "@babel/core": "^7.13.10", + "@babel/plugin-syntax-typescript": "^7.18.6", + "@vanilla-extract/babel-plugin-debug-ids": "^1.0.0", + "@vanilla-extract/css": "^1.9.2", + "esbuild": "^0.11.16", + "eval": "0.1.6", + "find-up": "^5.0.0", + "javascript-stringify": "^2.0.1", + "lodash": "^4.17.21", + "outdent": "^0.8.0" + }, + "dependencies": { + "esbuild": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.23.tgz", + "integrity": "sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q==", + "dev": true + }, + "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, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "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, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "@vanilla-extract/private": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.3.tgz", + "integrity": "sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==", + "dev": true + }, "@web3-storage/multipart-parser": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", @@ -21103,6 +21590,12 @@ "indent-string": "^4.0.0" } }, + "ahocorasick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ahocorasick/-/ahocorasick-1.0.2.tgz", + "integrity": "sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -22260,6 +22753,12 @@ } } }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", @@ -22371,6 +22870,18 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "deep-object-diff": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/deep-object-diff/-/deep-object-diff-1.1.9.tgz", + "integrity": "sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -23603,6 +24114,15 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, + "eval": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz", + "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==", + "dev": true, + "requires": { + "require-like": ">= 0.1.1" + } + }, "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", @@ -24178,6 +24698,23 @@ } } }, + "generic-names": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-4.0.0.tgz", + "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==", + "dev": true, + "requires": { + "loader-utils": "^3.2.0" + }, + "dependencies": { + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true + } + } + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -24804,6 +25341,13 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, "idb-keyval": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.0.tgz", @@ -25338,6 +25882,12 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, "jmespath": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", @@ -25673,6 +26223,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -25972,6 +26528,15 @@ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", "dev": true }, + "media-query-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/media-query-parser/-/media-query-parser-2.0.2.tgz", + "integrity": "sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -26945,6 +27510,12 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "outdent": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.8.0.tgz", + "integrity": "sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==", + "dev": true + }, "p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -27214,12 +27785,71 @@ "source-map-js": "^1.0.2" } }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", "dev": true }, + "postcss-modules": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-6.0.0.tgz", + "integrity": "sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==", + "dev": true, + "requires": { + "generic-names": "^4.0.0", + "icss-utils": "^5.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, "postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", @@ -27627,20 +28257,20 @@ } }, "react-router": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.5.0.tgz", - "integrity": "sha512-fqqUSU0NC0tSX0sZbyuxzuAzvGqbjiZItBQnyicWlOUmzhAU8YuLgRbaCL2hf3sJdtRy4LP/WBrWtARkMvdGPQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.7.0.tgz", + "integrity": "sha512-KNWlG622ddq29MAM159uUsNMdbX8USruoKnwMMQcs/QWZgFUayICSn2oB7reHce1zPj6CG18kfkZIunSSRyGHg==", "requires": { - "@remix-run/router": "1.1.0" + "@remix-run/router": "1.3.0" } }, "react-router-dom": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.5.0.tgz", - "integrity": "sha512-/XzRc5fq80gW1ctiIGilyKFZC/j4kfe75uivMsTChFbkvrK4ZrF3P3cGIc1f/SSkQ4JiJozPrf+AwUHHWVehVg==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.7.0.tgz", + "integrity": "sha512-jQtXUJyhso3kFw430+0SPCbmCmY1/kJv8iRffGHwHy3CkoomGxeYzMkmeSPYo6Egzh3FKJZRAL22yg5p2tXtfg==", "requires": { - "@remix-run/router": "1.1.0", - "react-router": "6.5.0" + "@remix-run/router": "1.3.0", + "react-router": "6.7.0" } }, "react-style-singleton": { @@ -28027,6 +28657,12 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, + "require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "dev": true + }, "requireindex": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", @@ -28836,6 +29472,12 @@ } } }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==", + "dev": true + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", diff --git a/package.json b/package.json index f7c8624a4..3c20b7e58 100644 --- a/package.json +++ b/package.json @@ -35,9 +35,9 @@ "@faker-js/faker": "^7.6.0", "@headlessui/react": "^1.7.7", "@popperjs/core": "^2.11.6", - "@remix-run/node": "^1.9.0", - "@remix-run/react": "^1.9.0", - "@remix-run/serve": "^1.9.0", + "@remix-run/node": "^1.11.1", + "@remix-run/react": "^1.11.1", + "@remix-run/serve": "^1.11.1", "@tldraw/tldraw": "^1.27.0", "aws-sdk": "^2.1299.0", "better-sqlite3": "^8.0.1", @@ -75,8 +75,8 @@ }, "devDependencies": { "@playwright/test": "^1.29.2", - "@remix-run/dev": "^1.9.0", - "@remix-run/eslint-config": "^1.9.0", + "@remix-run/dev": "^1.11.1", + "@remix-run/eslint-config": "^1.11.1", "@types/better-sqlite3": "^7.6.3", "@types/i18next-fs-backend": "^1.1.2", "@types/node-cron": "^3.0.7",