From 3bc3f00e778860d3a41ce1298a21da5b88ba5556 Mon Sep 17 00:00:00 2001 From: lsbyerley Date: Sat, 4 May 2024 12:26:22 -0400 Subject: [PATCH] chore: fix icons, upgrade deps --- .npmrc | 1 + app/components/ui/icons/name.d.ts | 54 ++-- package-lock.json | 507 +++++++++++++++--------------- package.json | 206 ++++++------ tailwind.config.ts | 27 +- 5 files changed, 413 insertions(+), 382 deletions(-) diff --git a/.npmrc b/.npmrc index 668efa1..65fcb3c 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,3 @@ legacy-peer-deps=true registry=https://registry.npmjs.org/ +save-exact=true diff --git a/app/components/ui/icons/name.d.ts b/app/components/ui/icons/name.d.ts index 6830243..c791cca 100644 --- a/app/components/ui/icons/name.d.ts +++ b/app/components/ui/icons/name.d.ts @@ -1,30 +1,30 @@ // This file is generated by npm run build:icons export type IconName = - | 'arrow-left' - | 'arrow-right' - | 'avatar' - | 'camera' - | 'check' - | 'clock' - | 'cross-1' - | 'dots-horizontal' - | 'download' - | 'envelope-closed' - | 'exit' - | 'file-text' - | 'github-logo' - | 'laptop' - | 'link-2' - | 'lock-closed' - | 'lock-open-1' - | 'magnifying-glass' - | 'moon' - | 'pencil-1' - | 'pencil-2' - | 'plus' - | 'question-mark-circled' - | 'reset' - | 'sun' - | 'trash' - | 'update' + | "arrow-left" + | "arrow-right" + | "avatar" + | "camera" + | "check" + | "clock" + | "cross-1" + | "dots-horizontal" + | "download" + | "envelope-closed" + | "exit" + | "file-text" + | "github-logo" + | "laptop" + | "link-2" + | "lock-closed" + | "lock-open-1" + | "magnifying-glass" + | "moon" + | "pencil-1" + | "pencil-2" + | "plus" + | "question-mark-circled" + | "reset" + | "sun" + | "trash" + | "update"; diff --git a/package-lock.json b/package-lock.json index 2f562d9..c85532a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,127 +1,126 @@ { - "name": "lucasb-dev-remix", + "name": "lucasb-dev-remix-6ce5", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "lucasb-dev-remix", - "license": "MIT", - "dependencies": { - "@conform-to/react": "^1.1.3", - "@conform-to/zod": "^1.1.3", - "@epic-web/cachified": "^5.1.2", - "@epic-web/client-hints": "^1.3.0", - "@epic-web/invariant": "^1.0.0", - "@epic-web/remember": "^1.0.2", - "@epic-web/totp": "^1.1.2", - "@nasa-gcn/remix-seo": "^2.0.0", - "@paralleldrive/cuid2": "^2.2.2", - "@prisma/client": "^5.13.0", - "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-toast": "^1.1.5", - "@radix-ui/react-tooltip": "^1.0.7", + "name": "lucasb-dev-remix-6ce5", + "dependencies": { + "@conform-to/react": "1.1.3", + "@conform-to/zod": "1.1.3", + "@epic-web/cachified": "5.1.2", + "@epic-web/client-hints": "1.3.2", + "@epic-web/invariant": "1.0.0", + "@epic-web/remember": "1.0.2", + "@epic-web/totp": "1.1.2", + "@nasa-gcn/remix-seo": "2.0.0", + "@paralleldrive/cuid2": "2.2.2", + "@prisma/client": "5.13.0", + "@radix-ui/react-checkbox": "1.0.4", + "@radix-ui/react-dropdown-menu": "2.0.6", + "@radix-ui/react-label": "2.0.2", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-toast": "1.1.5", + "@radix-ui/react-tooltip": "1.0.7", "@react-email/components": "0.0.17", "@remix-run/express": "2.9.1", "@remix-run/node": "2.9.1", "@remix-run/react": "2.9.1", "@remix-run/server-runtime": "2.9.1", - "@sentry/profiling-node": "^7.112.2", - "@sentry/remix": "^7.112.2", - "address": "^2.0.2", - "bcryptjs": "^2.4.3", - "better-sqlite3": "^9.6.0", - "chalk": "^5.3.0", - "class-variance-authority": "^0.7.0", - "close-with-grace": "^1.3.0", - "clsx": "^2.1.1", - "compression": "^1.7.4", - "cookie": "^0.6.0", - "cross-env": "^7.0.3", - "crypto-js": "^4.2.0", - "date-fns": "^3.6.0", - "dotenv": "^16.4.5", - "eslint-plugin-remix-react-routes": "^1.0.5", - "execa": "^8.0.1", - "express": "^4.19.2", - "express-rate-limit": "^7.2.0", - "get-port": "^7.1.0", - "glob": "^10.3.12", - "helmet": "^7.1.0", - "input-otp": "^1.2.4", - "intl-parse-accept-language": "^1.0.0", - "isbot": "^5.1.6", - "litefs-js": "^1.1.2", - "lru-cache": "^10.2.2", - "morgan": "^1.10.0", - "prisma": "^5.13.0", - "qrcode": "^1.5.3", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "remix-auth": "^3.6.0", - "remix-auth-form": "^1.5.0", - "remix-auth-github": "^1.7.0", - "remix-utils": "^7.6.0", - "set-cookie-parser": "^2.6.0", - "sonner": "^1.4.41", - "source-map-support": "^0.5.21", - "spin-delay": "^2.0.0", - "tailwind-merge": "^2.3.0", - "tailwindcss": "^3.4.3", - "tailwindcss-animate": "^1.0.7", - "tailwindcss-radix": "^3.0.3", - "zod": "^3.23.5" + "@sentry/profiling-node": "7.113.0", + "@sentry/remix": "7.113.0", + "address": "2.0.2", + "bcryptjs": "2.4.3", + "better-sqlite3": "9.6.0", + "chalk": "5.3.0", + "class-variance-authority": "0.7.0", + "close-with-grace": "1.3.0", + "clsx": "2.1.1", + "compression": "1.7.4", + "cookie": "0.6.0", + "cross-env": "7.0.3", + "crypto-js": "4.2.0", + "date-fns": "3.6.0", + "dotenv": "16.4.5", + "eslint-plugin-remix-react-routes": "1.0.5", + "execa": "8.0.1", + "express": "4.19.2", + "express-rate-limit": "7.2.0", + "get-port": "7.1.0", + "glob": "10.3.12", + "helmet": "7.1.0", + "input-otp": "1.2.4", + "intl-parse-accept-language": "1.0.0", + "isbot": "5.1.6", + "litefs-js": "1.1.2", + "lru-cache": "10.2.2", + "morgan": "1.10.0", + "prisma": "5.13.0", + "qrcode": "1.5.3", + "react": "18.3.1", + "react-dom": "18.3.1", + "remix-auth": "3.6.0", + "remix-auth-form": "1.5.0", + "remix-auth-github": "1.7.0", + "remix-utils": "7.6.0", + "set-cookie-parser": "2.6.0", + "sonner": "1.4.41", + "source-map-support": "0.5.21", + "spin-delay": "2.0.0", + "tailwind-merge": "2.3.0", + "tailwindcss": "3.4.3", + "tailwindcss-animate": "1.0.7", + "tailwindcss-radix": "3.0.3", + "zod": "3.23.6" }, "devDependencies": { - "@faker-js/faker": "^8.4.1", - "@playwright/test": "^1.43.1", + "@faker-js/faker": "8.4.1", + "@playwright/test": "1.43.1", "@remix-run/dev": "2.9.1", "@remix-run/eslint-config": "2.9.1", "@remix-run/serve": "2.9.1", "@remix-run/testing": "2.9.1", - "@sentry/vite-plugin": "^2.16.1", - "@sly-cli/sly": "^1.10.0", - "@testing-library/jest-dom": "^6.4.2", - "@testing-library/react": "^15.0.5", - "@testing-library/user-event": "^14.5.2", - "@total-typescript/ts-reset": "^0.5.1", - "@types/bcryptjs": "^2.4.6", - "@types/better-sqlite3": "^7.6.10", - "@types/compression": "^1.7.5", - "@types/cookie": "^0.6.0", - "@types/eslint": "^8.56.10", - "@types/express": "^4.17.21", - "@types/fs-extra": "^11.0.4", - "@types/glob": "^8.1.0", - "@types/morgan": "^1.9.9", - "@types/node": "^20.12.7", - "@types/qrcode": "^1.5.5", - "@types/react": "^18.3.1", - "@types/react-dom": "^18.3.0", - "@types/set-cookie-parser": "^2.4.7", - "@types/source-map-support": "^0.5.10", - "@vitejs/plugin-react": "^4.2.1", - "@vitest/coverage-v8": "^1.5.3", - "autoprefixer": "^10.4.19", - "enforce-unique": "^1.3.0", - "esbuild": "^0.20.2", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "fs-extra": "^11.2.0", - "jsdom": "^24.0.0", + "@sentry/vite-plugin": "2.16.1", + "@sly-cli/sly": "1.10.0", + "@testing-library/jest-dom": "6.4.5", + "@testing-library/react": "15.0.6", + "@testing-library/user-event": "14.5.2", + "@total-typescript/ts-reset": "0.5.1", + "@types/bcryptjs": "2.4.6", + "@types/better-sqlite3": "7.6.10", + "@types/compression": "1.7.5", + "@types/cookie": "0.6.0", + "@types/eslint": "8.56.10", + "@types/express": "4.17.21", + "@types/fs-extra": "11.0.4", + "@types/glob": "8.1.0", + "@types/morgan": "1.9.9", + "@types/node": "20.12.8", + "@types/qrcode": "1.5.5", + "@types/react": "18.3.1", + "@types/react-dom": "18.3.0", + "@types/set-cookie-parser": "2.4.7", + "@types/source-map-support": "0.5.10", + "@vitejs/plugin-react": "4.2.1", + "@vitest/coverage-v8": "1.6.0", + "autoprefixer": "10.4.19", + "enforce-unique": "1.3.0", + "esbuild": "0.20.2", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "fs-extra": "11.2.0", + "jsdom": "24.0.0", "msw": "2.2.14", - "node-html-parser": "^6.1.13", - "npm-run-all": "^4.1.5", - "prettier": "^3.2.5", - "prettier-plugin-sql": "^0.18.0", - "prettier-plugin-tailwindcss": "^0.5.14", - "remix-flat-routes": "^0.6.4", - "tsx": "^4.8.2", - "typescript": "^5.4.5", - "vite": "^5.2.10", - "vitest": "^1.5.3" + "node-html-parser": "6.1.13", + "npm-run-all": "4.1.5", + "prettier": "3.2.5", + "prettier-plugin-sql": "0.18.0", + "prettier-plugin-tailwindcss": "0.5.14", + "remix-flat-routes": "0.6.4", + "tsx": "4.9.1", + "typescript": "5.4.5", + "vite": "5.2.11", + "vitest": "1.6.0" }, "engines": { "node": "20" @@ -1017,9 +1016,9 @@ "integrity": "sha512-8Q1J/jF0bOKUN+XPTSUo+z34WJHMBLkuDv+HkPPS9ufs+cHvInWrLOLi3qIljhe03Xq777pwEDBKnMafetnPhA==" }, "node_modules/@epic-web/client-hints": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@epic-web/client-hints/-/client-hints-1.3.0.tgz", - "integrity": "sha512-beusFnt4S8cowIDGBewBdsiCDgtsrPx6ZW5XL7VQGPcoYqJT0WPu1nNyheqLeX1YHHJKPIjnIMQRrx9pC8o/vg==" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@epic-web/client-hints/-/client-hints-1.3.2.tgz", + "integrity": "sha512-l5J4KSRwIIxyzen+i9hfNmIo3eJFtMmQ27QKKNmY8ziaxhQFswu6qlcNh50w0drABBu6rBoNMV/ByHxDxZz1+Q==" }, "node_modules/@epic-web/invariant": { "version": "1.0.0", @@ -4316,40 +4315,40 @@ } }, "node_modules/@sentry-internal/feedback": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.112.2.tgz", - "integrity": "sha512-z+XP8BwB8B3pa+i8xqbrPsbtDWUFUS6wo+FJbmOYUqOusJJbVFDAhBoEdKoo5ZjOcsAZG7XR6cA9zrhJynIWBA==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.113.0.tgz", + "integrity": "sha512-eEmL8QXauUnM3FXGv0GT29RpL0Jo0pkn/uMu3aqjhQo7JKNqUGVYIUxJxiGWbVMbDXqPQ7L66bjjMS3FR1GM2g==", "dependencies": { - "@sentry/core": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry/core": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.112.2.tgz", - "integrity": "sha512-BCCCxrZ1wJvN6La5gg1JJbKitAhJI5MATCnhtklsZbUcHkHB9iZoj19J65+P56gwssvHz5xh63AjNiITaetIRg==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.113.0.tgz", + "integrity": "sha512-K8uA42aobNF/BAXf14el15iSAi9fonLBUrjZi6nPDq7zaA8rPvfcTL797hwCbqkETz2zDf52Jz7I3WFCshDoUw==", "dependencies": { - "@sentry/core": "7.112.2", - "@sentry/replay": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry/core": "7.113.0", + "@sentry/replay": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry-internal/tracing": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.112.2.tgz", - "integrity": "sha512-fT1Y46J4lfXZkgFkb03YMNeIEs2xS6jdKMoukMFQfRfVvL9fSWEbTgZpHPd/YTT8r2i082XzjtAoQNgklm/0Hw==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.113.0.tgz", + "integrity": "sha512-8MDnYENRMnEfQjvN4gkFYFaaBSiMFSU/6SQZfY9pLI3V105z6JQ4D0PGMAUVowXilwNZVpKNYohE7XByuhEC7Q==", "dependencies": { - "@sentry/core": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry/core": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=8" @@ -4365,18 +4364,18 @@ } }, "node_modules/@sentry/browser": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.112.2.tgz", - "integrity": "sha512-wULwavCch84+d0bueAdFm6CDm1u0TfOjN91VgY+sj/vxUV2vesvDgI8zRZfmbZEor3MYA90zerkZT3ehZQKbYw==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.113.0.tgz", + "integrity": "sha512-PdyVHPOprwoxGfKGsP2dXDWO0MBDW1eyP7EZlfZvM1A4hjk6ZRNfCv30g+TrqX4hiZDKzyqN3+AdP7N/J2IX0Q==", "dependencies": { - "@sentry-internal/feedback": "7.112.2", - "@sentry-internal/replay-canvas": "7.112.2", - "@sentry-internal/tracing": "7.112.2", - "@sentry/core": "7.112.2", - "@sentry/integrations": "7.112.2", - "@sentry/replay": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry-internal/feedback": "7.113.0", + "@sentry-internal/replay-canvas": "7.113.0", + "@sentry-internal/tracing": "7.113.0", + "@sentry/core": "7.113.0", + "@sentry/integrations": "7.113.0", + "@sentry/replay": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=8" @@ -4594,25 +4593,25 @@ } }, "node_modules/@sentry/core": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.112.2.tgz", - "integrity": "sha512-gHPCcJobbMkk0VR18J65WYQTt3ED4qC6X9lHKp27Ddt63E+MDGkG6lvYBU1LS8cV7CdyBGC1XXDCfor61GvLsA==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.113.0.tgz", + "integrity": "sha512-pg75y3C5PG2+ur27A0Re37YTCEnX0liiEU7EOxWDGutH17x3ySwlYqLQmZsFZTSnvzv7t3MGsNZ8nT5O0746YA==", "dependencies": { - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/integrations": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.112.2.tgz", - "integrity": "sha512-ioC2yyU6DqtLkdmWnm87oNvdn2+9oKctJeA4t+jkS6JaJ10DcezjCwiLscX4rhB9aWJV3IWF7Op0O6K3w0t2Hg==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.113.0.tgz", + "integrity": "sha512-w0sspGBQ+6+V/9bgCkpuM3CGwTYoQEVeTW6iNebFKbtN7MrM3XsGAM9I2cW1jVxFZROqCBPFtd2cs5n0j14aAg==", "dependencies": { - "@sentry/core": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2", + "@sentry/core": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0", "localforage": "^1.8.1" }, "engines": { @@ -4620,28 +4619,28 @@ } }, "node_modules/@sentry/node": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.112.2.tgz", - "integrity": "sha512-MNzkqER8jc2xOS3ArkCLH5hakzu15tcjeC7qjU7rQ1Ms4WuV+MG0docSRESux0/p23Qjzf9tZOc8C5Eq+Sxduw==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.113.0.tgz", + "integrity": "sha512-Vam4Ia0I9fhVw8GJOzcLP7MiiHJSKl8L9LzLMMLG3+2/dFnDQOyS7sOfk3GqgpwzqPiusP9vFu7CFSX7EMQbTg==", "dependencies": { - "@sentry-internal/tracing": "7.112.2", - "@sentry/core": "7.112.2", - "@sentry/integrations": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry-internal/tracing": "7.113.0", + "@sentry/core": "7.113.0", + "@sentry/integrations": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/profiling-node": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.112.2.tgz", - "integrity": "sha512-qCLJjQHW5mkDuh12MuqVVZfhdC20pJ4Vlmo/VO8orsDCcdVxDyO2N5SSe54epcBtuzUYOBsjomXyGiXw8sd2dA==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.113.0.tgz", + "integrity": "sha512-ABEBLNaFwKIDZHPmvlFPCyrhdKkFRYyGeTijKuQ/fU0q81CCNnh+FJphfJTh9Js1afJ9ShFxk2KZNGzipyo8Zw==", "hasInstallScript": true, "dependencies": { "detect-libc": "^2.0.2", - "node-abi": "^3.52.0" + "node-abi": "^3.61.0" }, "bin": { "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" @@ -4651,14 +4650,14 @@ } }, "node_modules/@sentry/react": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.112.2.tgz", - "integrity": "sha512-Xf6mc1+/ncCk6ZFIj0oT4or2o0UxqqJZk09U/21RYNvVCn7+DNyCdJZ/F5wXWgPqVE67PrjydLLYaQWiqLibiA==", - "dependencies": { - "@sentry/browser": "7.112.2", - "@sentry/core": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.113.0.tgz", + "integrity": "sha512-+zVPz+h5Wydq4ntekw3/dXq5jeHIpZoQ2iqhB96PA9Y94JIq178i/xIP204S1h6rN7cmWAqtR93vnPKdxnlUbQ==", + "dependencies": { + "@sentry/browser": "7.113.0", + "@sentry/core": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0", "hoist-non-react-statics": "^3.3.2" }, "engines": { @@ -4669,17 +4668,17 @@ } }, "node_modules/@sentry/remix": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/remix/-/remix-7.112.2.tgz", - "integrity": "sha512-8LAtb2om4UKPDeaPmulOWLXtKiaITT5ZtZladycOVqh0zROxEGoi3LwRNA69XloGHgWHmiySGceZti9y6LDSCw==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/remix/-/remix-7.113.0.tgz", + "integrity": "sha512-KO3Xg4UTBmrJ3bqdmXfMD0AT7i16oS2bLlce0iv5WMv7WAewyjRZvKwibfUUfN9adzA5aawO0aE2UtZQ+GzwwQ==", "dependencies": { "@remix-run/router": "1.x", "@sentry/cli": "^2.28.0", - "@sentry/core": "7.112.2", - "@sentry/node": "7.112.2", - "@sentry/react": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2", + "@sentry/core": "7.113.0", + "@sentry/node": "7.113.0", + "@sentry/react": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0", "glob": "^10.3.4", "yargs": "^17.6.0" }, @@ -4696,33 +4695,33 @@ } }, "node_modules/@sentry/replay": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.112.2.tgz", - "integrity": "sha512-7Ns/8D54WPsht1nlVj93Inf6rXyve2AZoibYN0YfcM2w3lI4NO51gPPHJU0lFEfMwzwK4ZBJWzOeW9098a+uEg==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.113.0.tgz", + "integrity": "sha512-UD2IaphOWKFdeGR+ZiaNAQ+wFsnwbJK6PNwcW6cHmWKv9COlKufpFt06lviaqFZ8jmNrM4H+r+R8YVTrqCuxgg==", "dependencies": { - "@sentry-internal/tracing": "7.112.2", - "@sentry/core": "7.112.2", - "@sentry/types": "7.112.2", - "@sentry/utils": "7.112.2" + "@sentry-internal/tracing": "7.113.0", + "@sentry/core": "7.113.0", + "@sentry/types": "7.113.0", + "@sentry/utils": "7.113.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/types": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.112.2.tgz", - "integrity": "sha512-kCMLt7yhY5OkWE9MeowlTNmox9pqDxcpvqguMo4BDNZM5+v9SEb1AauAdR78E1a1V8TyCzjBD7JDfXWhvpYBcQ==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.113.0.tgz", + "integrity": "sha512-PJbTbvkcPu/LuRwwXB1He8m+GjDDLKBtu3lWg5xOZaF5IRdXQU2xwtdXXsjge4PZR00tF7MO7X8ZynTgWbYaew==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.112.2", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.112.2.tgz", - "integrity": "sha512-OjLh0hx0t1EcL4ZIjf+4svlmmP+tHUDGcr5qpFWH78tjmkPW4+cqPuZCZfHSuWcDdeiaXi8TnYoVRqDcJKK/eQ==", + "version": "7.113.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.113.0.tgz", + "integrity": "sha512-nzKsErwmze1mmEsbW2AwL2oB+I5v6cDEJY4sdfLekA4qZbYZ8pV5iWza6IRl4XfzGTE1qpkZmEjPU9eyo0yvYw==", "dependencies": { - "@sentry/types": "7.112.2" + "@sentry/types": "7.113.0" }, "engines": { "node": ">=8" @@ -5445,9 +5444,9 @@ "dev": true }, "node_modules/@testing-library/jest-dom": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz", - "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.5.tgz", + "integrity": "sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==", "dev": true, "dependencies": { "@adobe/css-tools": "^4.3.2", @@ -5456,7 +5455,7 @@ "chalk": "^3.0.0", "css.escape": "^1.5.1", "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.15", + "lodash": "^4.17.21", "redent": "^3.0.0" }, "engines": { @@ -5536,9 +5535,9 @@ "dev": true }, "node_modules/@testing-library/react": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-15.0.5.tgz", - "integrity": "sha512-ttodVWYA2i2w4hRa6krKrmS1vKxAEkwDz34y+CwbcrbZUxFzUYN3a5xZyFKo+K6LBseCRCUkwcjATpaNn/UsIA==", + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-15.0.6.tgz", + "integrity": "sha512-UlbazRtEpQClFOiYp+1BapMT+xyqWMnE+hh9tn5DQ6gmlE7AIZWcGpzZukmDZuFk3By01oiqOf8lRedLS4k6xQ==", "dev": true, "dependencies": { "@babel/runtime": "^7.12.5", @@ -5549,8 +5548,14 @@ "node": ">=18" }, "peerDependencies": { + "@types/react": "^18.0.0", "react": "^18.0.0", "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@testing-library/user-event": { @@ -5841,9 +5846,9 @@ } }, "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.12.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.8.tgz", + "integrity": "sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -7139,9 +7144,9 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.5.3.tgz", - "integrity": "sha512-DPyGSu/fPHOJuPxzFSQoT4N/Fu/2aJfZRtEpEp8GI7NHsXBGE94CQ+pbEGBUMFjatsHPDJw/+TAF9r4ens2CNw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.0.tgz", + "integrity": "sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -7162,17 +7167,17 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "1.5.3" + "vitest": "1.6.0" } }, "node_modules/@vitest/expect": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.3.tgz", - "integrity": "sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", + "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", "dev": true, "dependencies": { - "@vitest/spy": "1.5.3", - "@vitest/utils": "1.5.3", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", "chai": "^4.3.10" }, "funding": { @@ -7180,12 +7185,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.3.tgz", - "integrity": "sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", + "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", "dev": true, "dependencies": { - "@vitest/utils": "1.5.3", + "@vitest/utils": "1.6.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -7221,9 +7226,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.3.tgz", - "integrity": "sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", + "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -7267,9 +7272,9 @@ "dev": true }, "node_modules/@vitest/spy": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.3.tgz", - "integrity": "sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -7279,9 +7284,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.3.tgz", - "integrity": "sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -14238,9 +14243,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.54.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.54.0.tgz", - "integrity": "sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==", + "version": "3.62.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.62.0.tgz", + "integrity": "sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==", "dependencies": { "semver": "^7.3.5" }, @@ -18292,9 +18297,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/tsx": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.8.2.tgz", - "integrity": "sha512-hmmzS4U4mdy1Cnzpl/NQiPUC2k34EcNSTZYVJThYKhdqTwuBeF+4cG9KUK/PFQ7KHaAaYwqlb7QfmsE2nuj+WA==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.9.1.tgz", + "integrity": "sha512-CqSJaYyZ6GEqnGtPuMPQHvUwRGU6VHSVF+RDxoOmRg/XD4aF0pD973tKhoUYGQtdcoCHcSOGk34ioFaP+vYcMQ==", "dev": true, "dependencies": { "esbuild": "~0.20.2", @@ -18883,9 +18888,9 @@ } }, "node_modules/vite": { - "version": "5.2.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", - "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", + "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", "dev": true, "dependencies": { "esbuild": "^0.20.1", @@ -19432,16 +19437,16 @@ } }, "node_modules/vitest": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.3.tgz", - "integrity": "sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", + "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", "dev": true, "dependencies": { - "@vitest/expect": "1.5.3", - "@vitest/runner": "1.5.3", - "@vitest/snapshot": "1.5.3", - "@vitest/spy": "1.5.3", - "@vitest/utils": "1.5.3", + "@vitest/expect": "1.6.0", + "@vitest/runner": "1.6.0", + "@vitest/snapshot": "1.6.0", + "@vitest/spy": "1.6.0", + "@vitest/utils": "1.6.0", "acorn-walk": "^8.3.2", "chai": "^4.3.10", "debug": "^4.3.4", @@ -19455,7 +19460,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.3", "vite": "^5.0.0", - "vite-node": "1.5.3", + "vite-node": "1.6.0", "why-is-node-running": "^2.2.2" }, "bin": { @@ -19470,8 +19475,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.5.3", - "@vitest/ui": "1.5.3", + "@vitest/browser": "1.6.0", + "@vitest/ui": "1.6.0", "happy-dom": "*", "jsdom": "*" }, @@ -19513,9 +19518,9 @@ } }, "node_modules/vitest/node_modules/vite-node": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.3.tgz", - "integrity": "sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", + "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -19999,9 +20004,9 @@ } }, "node_modules/zod": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.5.tgz", - "integrity": "sha512-fkwiq0VIQTksNNA131rDOsVJcns0pfVUjHzLrNBiF/O/Xxb5lQyEXkhZWcJ7npWsYlvs+h0jFWXXy4X46Em1JA==", + "version": "3.23.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.6.tgz", + "integrity": "sha512-RTHJlZhsRbuA8Hmp/iNL7jnfc4nZishjsanDAfEY1QpDQZCahUp3xDzl+zfweE9BklxMUcgBgS1b7Lvie/ZVwA==", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index 46b9ea1..28b8cb5 100644 --- a/package.json +++ b/package.json @@ -37,121 +37,121 @@ "/server-build" ], "dependencies": { - "@conform-to/react": "^1.1.3", - "@conform-to/zod": "^1.1.3", - "@epic-web/cachified": "^5.1.2", - "@epic-web/client-hints": "^1.3.0", - "@epic-web/invariant": "^1.0.0", - "@epic-web/remember": "^1.0.2", - "@epic-web/totp": "^1.1.2", - "@nasa-gcn/remix-seo": "^2.0.0", - "@paralleldrive/cuid2": "^2.2.2", - "@prisma/client": "^5.13.0", - "@radix-ui/react-checkbox": "^1.0.4", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-toast": "^1.1.5", - "@radix-ui/react-tooltip": "^1.0.7", + "@conform-to/react": "1.1.3", + "@conform-to/zod": "1.1.3", + "@epic-web/cachified": "5.1.2", + "@epic-web/client-hints": "1.3.2", + "@epic-web/invariant": "1.0.0", + "@epic-web/remember": "1.0.2", + "@epic-web/totp": "1.1.2", + "@nasa-gcn/remix-seo": "2.0.0", + "@paralleldrive/cuid2": "2.2.2", + "@prisma/client": "5.13.0", + "@radix-ui/react-checkbox": "1.0.4", + "@radix-ui/react-dropdown-menu": "2.0.6", + "@radix-ui/react-label": "2.0.2", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-toast": "1.1.5", + "@radix-ui/react-tooltip": "1.0.7", "@react-email/components": "0.0.17", "@remix-run/express": "2.9.1", "@remix-run/node": "2.9.1", "@remix-run/react": "2.9.1", "@remix-run/server-runtime": "2.9.1", - "@sentry/profiling-node": "^7.112.2", - "@sentry/remix": "^7.112.2", - "address": "^2.0.2", - "bcryptjs": "^2.4.3", - "better-sqlite3": "^9.6.0", - "chalk": "^5.3.0", - "class-variance-authority": "^0.7.0", - "close-with-grace": "^1.3.0", - "clsx": "^2.1.1", - "compression": "^1.7.4", - "cookie": "^0.6.0", - "cross-env": "^7.0.3", - "crypto-js": "^4.2.0", - "date-fns": "^3.6.0", - "dotenv": "^16.4.5", - "eslint-plugin-remix-react-routes": "^1.0.5", - "execa": "^8.0.1", - "express": "^4.19.2", - "express-rate-limit": "^7.2.0", - "get-port": "^7.1.0", - "glob": "^10.3.12", - "helmet": "^7.1.0", - "input-otp": "^1.2.4", - "intl-parse-accept-language": "^1.0.0", - "isbot": "^5.1.6", - "litefs-js": "^1.1.2", - "lru-cache": "^10.2.2", - "morgan": "^1.10.0", - "prisma": "^5.13.0", - "qrcode": "^1.5.3", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "remix-auth": "^3.6.0", - "remix-auth-form": "^1.5.0", - "remix-auth-github": "^1.7.0", - "remix-utils": "^7.6.0", - "set-cookie-parser": "^2.6.0", - "sonner": "^1.4.41", - "source-map-support": "^0.5.21", - "spin-delay": "^2.0.0", - "tailwind-merge": "^2.3.0", - "tailwindcss": "^3.4.3", - "tailwindcss-animate": "^1.0.7", - "tailwindcss-radix": "^3.0.3", - "zod": "^3.23.5" + "@sentry/profiling-node": "7.113.0", + "@sentry/remix": "7.113.0", + "address": "2.0.2", + "bcryptjs": "2.4.3", + "better-sqlite3": "9.6.0", + "chalk": "5.3.0", + "class-variance-authority": "0.7.0", + "close-with-grace": "1.3.0", + "clsx": "2.1.1", + "compression": "1.7.4", + "cookie": "0.6.0", + "cross-env": "7.0.3", + "crypto-js": "4.2.0", + "date-fns": "3.6.0", + "dotenv": "16.4.5", + "eslint-plugin-remix-react-routes": "1.0.5", + "execa": "8.0.1", + "express": "4.19.2", + "express-rate-limit": "7.2.0", + "get-port": "7.1.0", + "glob": "10.3.12", + "helmet": "7.1.0", + "input-otp": "1.2.4", + "intl-parse-accept-language": "1.0.0", + "isbot": "5.1.6", + "litefs-js": "1.1.2", + "lru-cache": "10.2.2", + "morgan": "1.10.0", + "prisma": "5.13.0", + "qrcode": "1.5.3", + "react": "18.3.1", + "react-dom": "18.3.1", + "remix-auth": "3.6.0", + "remix-auth-form": "1.5.0", + "remix-auth-github": "1.7.0", + "remix-utils": "7.6.0", + "set-cookie-parser": "2.6.0", + "sonner": "1.4.41", + "source-map-support": "0.5.21", + "spin-delay": "2.0.0", + "tailwind-merge": "2.3.0", + "tailwindcss": "3.4.3", + "tailwindcss-animate": "1.0.7", + "tailwindcss-radix": "3.0.3", + "zod": "3.23.6" }, "devDependencies": { - "@faker-js/faker": "^8.4.1", - "@playwright/test": "^1.43.1", + "@faker-js/faker": "8.4.1", + "@playwright/test": "1.43.1", "@remix-run/dev": "2.9.1", "@remix-run/eslint-config": "2.9.1", "@remix-run/serve": "2.9.1", "@remix-run/testing": "2.9.1", - "@sentry/vite-plugin": "^2.16.1", - "@sly-cli/sly": "^1.10.0", - "@testing-library/jest-dom": "^6.4.2", - "@testing-library/react": "^15.0.5", - "@testing-library/user-event": "^14.5.2", - "@total-typescript/ts-reset": "^0.5.1", - "@types/bcryptjs": "^2.4.6", - "@types/better-sqlite3": "^7.6.10", - "@types/compression": "^1.7.5", - "@types/cookie": "^0.6.0", - "@types/eslint": "^8.56.10", - "@types/express": "^4.17.21", - "@types/fs-extra": "^11.0.4", - "@types/glob": "^8.1.0", - "@types/morgan": "^1.9.9", - "@types/node": "^20.12.7", - "@types/qrcode": "^1.5.5", - "@types/react": "^18.3.1", - "@types/react-dom": "^18.3.0", - "@types/set-cookie-parser": "^2.4.7", - "@types/source-map-support": "^0.5.10", - "@vitejs/plugin-react": "^4.2.1", - "@vitest/coverage-v8": "^1.5.3", - "autoprefixer": "^10.4.19", - "enforce-unique": "^1.3.0", - "esbuild": "^0.20.2", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "fs-extra": "^11.2.0", - "jsdom": "^24.0.0", + "@sentry/vite-plugin": "2.16.1", + "@sly-cli/sly": "1.10.0", + "@testing-library/jest-dom": "6.4.5", + "@testing-library/react": "15.0.6", + "@testing-library/user-event": "14.5.2", + "@total-typescript/ts-reset": "0.5.1", + "@types/bcryptjs": "2.4.6", + "@types/better-sqlite3": "7.6.10", + "@types/compression": "1.7.5", + "@types/cookie": "0.6.0", + "@types/eslint": "8.56.10", + "@types/express": "4.17.21", + "@types/fs-extra": "11.0.4", + "@types/glob": "8.1.0", + "@types/morgan": "1.9.9", + "@types/node": "20.12.8", + "@types/qrcode": "1.5.5", + "@types/react": "18.3.1", + "@types/react-dom": "18.3.0", + "@types/set-cookie-parser": "2.4.7", + "@types/source-map-support": "0.5.10", + "@vitejs/plugin-react": "4.2.1", + "@vitest/coverage-v8": "1.6.0", + "autoprefixer": "10.4.19", + "enforce-unique": "1.3.0", + "esbuild": "0.20.2", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "fs-extra": "11.2.0", + "jsdom": "24.0.0", "msw": "2.2.14", - "node-html-parser": "^6.1.13", - "npm-run-all": "^4.1.5", - "prettier": "^3.2.5", - "prettier-plugin-sql": "^0.18.0", - "prettier-plugin-tailwindcss": "^0.5.14", - "remix-flat-routes": "^0.6.4", - "tsx": "^4.8.2", - "typescript": "^5.4.5", - "vite": "^5.2.10", - "vitest": "^1.5.3" + "node-html-parser": "6.1.13", + "npm-run-all": "4.1.5", + "prettier": "3.2.5", + "prettier-plugin-sql": "0.18.0", + "prettier-plugin-tailwindcss": "0.5.14", + "remix-flat-routes": "0.6.4", + "tsx": "4.9.1", + "typescript": "5.4.5", + "vite": "5.2.11", + "vitest": "1.6.0" }, "engines": { "node": "20" diff --git a/tailwind.config.ts b/tailwind.config.ts index 0c4695b..efea3c4 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,9 +1,34 @@ import { type Config } from 'tailwindcss' import animatePlugin from 'tailwindcss-animate' import radixPlugin from 'tailwindcss-radix' -import { marketingPreset } from './app/routes/_marketing+/tailwind-preset' import { extendedTheme } from './app/utils/extended-theme.ts' +export const marketingPreset = { + theme: { + extend: { + keyframes: { + 'roll-reveal': { + from: { transform: 'rotate(12deg) scale(0)', opacity: '0' }, + to: { transform: 'rotate(0deg) scale(1)', opacity: '1' }, + }, + 'slide-left': { + from: { transform: 'translateX(20px)', opacity: '0' }, + to: { transform: 'translateX(0px)', opacity: '1' }, + }, + 'slide-top': { + from: { transform: 'translateY(20px)', opacity: '0' }, + to: { transform: 'translateY(0px)', opacity: '1' }, + }, + }, + animation: { + 'roll-reveal': 'roll-reveal 0.4s cubic-bezier(.22,1.28,.54,.99)', + 'slide-left': 'slide-left 0.3s ease-out', + 'slide-top': 'slide-top 0.3s ease-out', + }, + }, + }, +} satisfies Omit + export default { content: ['./app/**/*.{ts,tsx,jsx,js}'], darkMode: 'class',