From 98d36d6ecf190f3fc3093682485376be3551fda9 Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 1 Oct 2025 11:40:12 +0200 Subject: [PATCH 1/6] Setup tRPC in the backend --- .../packages/backend/package.json | 3 +- .../packages/backend/src/config.ts | 14 +- .../packages/backend/src/context.ts | 15 + .../packages/backend/src/controllers/rooms.ts | 18 +- deep-sea-stories/packages/backend/src/main.ts | 36 +- .../packages/backend/src/plugins/fishjam.ts | 29 - .../packages/backend/src/router.ts | 9 + .../packages/backend/src/routes/index.ts | 6 - .../packages/backend/src/routes/rooms.ts | 38 - .../packages/backend/src/schemas.ts | 9 +- deep-sea-stories/packages/backend/src/trpc.ts | 7 + deep-sea-stories/yarn.lock | 1019 +---------------- 12 files changed, 80 insertions(+), 1123 deletions(-) create mode 100644 deep-sea-stories/packages/backend/src/context.ts delete mode 100644 deep-sea-stories/packages/backend/src/plugins/fishjam.ts create mode 100644 deep-sea-stories/packages/backend/src/router.ts delete mode 100644 deep-sea-stories/packages/backend/src/routes/index.ts delete mode 100644 deep-sea-stories/packages/backend/src/routes/rooms.ts create mode 100644 deep-sea-stories/packages/backend/src/trpc.ts diff --git a/deep-sea-stories/packages/backend/package.json b/deep-sea-stories/packages/backend/package.json index 19c4ddb..f54381f 100644 --- a/deep-sea-stories/packages/backend/package.json +++ b/deep-sea-stories/packages/backend/package.json @@ -5,10 +5,9 @@ "type": "module", "dependencies": { "@fishjam-cloud/js-server-sdk": "^0.21.0", + "@trpc/server": "^11.6.0", "dotenv": "^17.2.3", "fastify": "^5.6.1", - "fastify-plugin": "^5.1.0", - "fastify-type-provider-zod": "^6.0.0", "pino-pretty": "^13.1.1", "zod": "^4.1.11" }, diff --git a/deep-sea-stories/packages/backend/src/config.ts b/deep-sea-stories/packages/backend/src/config.ts index 0ce6b5c..da84587 100644 --- a/deep-sea-stories/packages/backend/src/config.ts +++ b/deep-sea-stories/packages/backend/src/config.ts @@ -1,16 +1,8 @@ import dotenv from 'dotenv'; -import type { FastifyInstance } from 'fastify'; -import fp from 'fastify-plugin'; import z from 'zod'; dotenv.config(); -declare module 'fastify' { - interface FastifyInstance { - config: ConfigSchema; - } -} - export const configSchema = z.object({ PORT: z.coerce.number().int().default(8000), FISHJAM_ID: z.string(), @@ -18,8 +10,4 @@ export const configSchema = z.object({ FISHJAM_MANAGEMENT_TOKEN: z.string(), }); -type ConfigSchema = z.infer; - -export const fastifyConfig = fp((fastify: FastifyInstance) => { - fastify.decorate('config', configSchema.parse(process.env)); -}); +export const CONFIG = configSchema.parse(process.env); diff --git a/deep-sea-stories/packages/backend/src/context.ts b/deep-sea-stories/packages/backend/src/context.ts new file mode 100644 index 0000000..eafc6a5 --- /dev/null +++ b/deep-sea-stories/packages/backend/src/context.ts @@ -0,0 +1,15 @@ +import { FishjamClient } from '@fishjam-cloud/js-server-sdk'; +import type { CreateFastifyContextOptions } from '@trpc/server/adapters/fastify'; +import { CONFIG } from './config.js'; + +const fishjam = new FishjamClient({ + fishjamId: CONFIG.FISHJAM_ID, + fishjamUrl: CONFIG.FISHJAM_URL, + managementToken: CONFIG.FISHJAM_MANAGEMENT_TOKEN, +}); + +export function createContext({ req, res }: CreateFastifyContextOptions) { + return { req, res, fishjam }; +} + +export type Context = Awaited>; diff --git a/deep-sea-stories/packages/backend/src/controllers/rooms.ts b/deep-sea-stories/packages/backend/src/controllers/rooms.ts index f4def30..0cc1a1f 100644 --- a/deep-sea-stories/packages/backend/src/controllers/rooms.ts +++ b/deep-sea-stories/packages/backend/src/controllers/rooms.ts @@ -1,9 +1,13 @@ -import type { FishjamClient, RoomId } from '@fishjam-cloud/js-server-sdk'; +import type { RoomId } from '@fishjam-cloud/js-server-sdk'; +import { getRoomInputSchema } from '../schemas.js'; +import { publicProcedure } from '../trpc.js'; -export async function createRoom(fishjam: FishjamClient) { - return await fishjam.createRoom(); -} +export const createRoom = publicProcedure.mutation(async ({ ctx }) => { + return await ctx.fishjam.createRoom(); +}); -export async function getRoom(fishjam: FishjamClient, roomId: RoomId) { - return await fishjam.getRoom(roomId); -} +export const getRoom = publicProcedure + .input(getRoomInputSchema) + .query(async ({ ctx, input }) => { + return await ctx.fishjam.getRoom(input.roomId as RoomId); + }); diff --git a/deep-sea-stories/packages/backend/src/main.ts b/deep-sea-stories/packages/backend/src/main.ts index a2bc43c..04df58a 100644 --- a/deep-sea-stories/packages/backend/src/main.ts +++ b/deep-sea-stories/packages/backend/src/main.ts @@ -1,28 +1,30 @@ -import Fastify from 'fastify'; import { - serializerCompiler, - validatorCompiler, - type ZodTypeProvider, -} from 'fastify-type-provider-zod'; -import { fastifyConfig } from './config.js'; -import { fishjamPlugin } from './plugins/fishjam.js'; -import routes from './routes/index.js'; + type FastifyTRPCPluginOptions, + fastifyTRPCPlugin, +} from '@trpc/server/adapters/fastify'; +import Fastify from 'fastify'; +import { CONFIG } from './config.js'; +import { createContext } from './context.js'; +import { type AppRouter, appRouter } from './router.js'; const fastify = Fastify({ logger: { transport: { target: 'pino-pretty' } }, -}).withTypeProvider(); - -fastify.setValidatorCompiler(validatorCompiler); -fastify.setSerializerCompiler(serializerCompiler); - -fastify.register(fastifyConfig); -fastify.register(fishjamPlugin); +}); -fastify.register(routes, { prefix: '/api/v1' }); +fastify.register(fastifyTRPCPlugin, { + prefix: '/api/v1', + trpcOptions: { + router: appRouter, + createContext, + onError({ path, error }) { + fastify.log.error('Error in tRPC handler on path %s: %O', path, error); + }, + } satisfies FastifyTRPCPluginOptions['trpcOptions'], +}); try { await fastify.ready(); - await fastify.listen({ port: fastify.config.PORT }); + await fastify.listen({ port: CONFIG.PORT }); } catch (err) { fastify.log.error(err); process.exit(1); diff --git a/deep-sea-stories/packages/backend/src/plugins/fishjam.ts b/deep-sea-stories/packages/backend/src/plugins/fishjam.ts deleted file mode 100644 index 3754811..0000000 --- a/deep-sea-stories/packages/backend/src/plugins/fishjam.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { - FishjamBaseException, - FishjamClient, -} from '@fishjam-cloud/js-server-sdk'; -import type { FastifyInstance } from 'fastify'; -import fp from 'fastify-plugin'; - -declare module 'fastify' { - interface FastifyInstance { - fishjam: FishjamClient; - } -} - -export const fishjamPlugin = fp(async (fastify: FastifyInstance) => { - const fishjamClient = new FishjamClient({ - fishjamId: fastify.config.FISHJAM_ID, - fishjamUrl: fastify.config.FISHJAM_URL, - managementToken: fastify.config.FISHJAM_MANAGEMENT_TOKEN, - }); - - try { - await fishjamClient.getAllRooms(); - } catch (e) { - if (e instanceof FishjamBaseException) - throw Error('Invalid Fishjam configuration provided.'); - } - - fastify.decorate('fishjam', fishjamClient); -}); diff --git a/deep-sea-stories/packages/backend/src/router.ts b/deep-sea-stories/packages/backend/src/router.ts new file mode 100644 index 0000000..8f11005 --- /dev/null +++ b/deep-sea-stories/packages/backend/src/router.ts @@ -0,0 +1,9 @@ +import { createRoom, getRoom } from './controllers/rooms.js'; +import { router } from './trpc.js'; + +export const appRouter = router({ + createRoom, + getRoom, +}); + +export type AppRouter = typeof appRouter; diff --git a/deep-sea-stories/packages/backend/src/routes/index.ts b/deep-sea-stories/packages/backend/src/routes/index.ts deleted file mode 100644 index 5ecf82e..0000000 --- a/deep-sea-stories/packages/backend/src/routes/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { FastifyInstance } from 'fastify'; -import rooms from './rooms.js'; - -export default function routes(fastify: FastifyInstance) { - fastify.register(rooms, { prefix: '/rooms' }); -} diff --git a/deep-sea-stories/packages/backend/src/routes/rooms.ts b/deep-sea-stories/packages/backend/src/routes/rooms.ts deleted file mode 100644 index 96e5612..0000000 --- a/deep-sea-stories/packages/backend/src/routes/rooms.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { RoomId } from '@fishjam-cloud/js-server-sdk'; -import type { FastifyPluginAsyncZod } from 'fastify-type-provider-zod'; -import z from 'zod'; -import { createRoom, getRoom } from '../controllers/rooms.js'; -import { roomSchema } from '../schemas.js'; - -const routes: FastifyPluginAsyncZod = async (fastify) => { - fastify.post( - '/', - { - schema: { - response: { - 201: roomSchema, - }, - }, - }, - async () => { - return await createRoom(fastify.fishjam); - }, - ); - - fastify.get( - '/:roomId', - { - schema: { - params: z.object({ - roomId: z.string(), - }), - response: { - 200: roomSchema, - }, - }, - }, - async (req) => await getRoom(fastify.fishjam, req.params.roomId as RoomId), - ); -}; - -export default routes; diff --git a/deep-sea-stories/packages/backend/src/schemas.ts b/deep-sea-stories/packages/backend/src/schemas.ts index 796d85e..a4f162c 100644 --- a/deep-sea-stories/packages/backend/src/schemas.ts +++ b/deep-sea-stories/packages/backend/src/schemas.ts @@ -1,10 +1,3 @@ import z from 'zod'; -export const peerSchema = z.object({ - id: z.string(), -}); - -export const roomSchema = z.object({ - id: z.string(), - peers: peerSchema.array(), -}); +export const getRoomInputSchema = z.object({ roomId: z.string() }); diff --git a/deep-sea-stories/packages/backend/src/trpc.ts b/deep-sea-stories/packages/backend/src/trpc.ts new file mode 100644 index 0000000..c745c90 --- /dev/null +++ b/deep-sea-stories/packages/backend/src/trpc.ts @@ -0,0 +1,7 @@ +import { initTRPC } from '@trpc/server'; +import type { Context } from './context.js'; + +const t = initTRPC.context().create(); + +export const router = t.router; +export const publicProcedure = t.procedure; diff --git a/deep-sea-stories/yarn.lock b/deep-sea-stories/yarn.lock index 42a149f..a085eb0 100644 --- a/deep-sea-stories/yarn.lock +++ b/deep-sea-stories/yarn.lock @@ -482,92 +482,6 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.7.0, @eslint-community/eslint-utils@npm:^4.8.0": - version: 4.9.0 - resolution: "@eslint-community/eslint-utils@npm:4.9.0" - dependencies: - eslint-visitor-keys: "npm:^3.4.3" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/8881e22d519326e7dba85ea915ac7a143367c805e6ba1374c987aa2fbdd09195cc51183d2da72c0e2ff388f84363e1b220fd0d19bef10c272c63455162176817 - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": - version: 4.12.1 - resolution: "@eslint-community/regexpp@npm:4.12.1" - checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 - languageName: node - linkType: hard - -"@eslint/config-array@npm:^0.21.0": - version: 0.21.0 - resolution: "@eslint/config-array@npm:0.21.0" - dependencies: - "@eslint/object-schema": "npm:^2.1.6" - debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10c0/0ea801139166c4aa56465b309af512ef9b2d3c68f9198751bbc3e21894fe70f25fbf26e1b0e9fffff41857bc21bfddeee58649ae6d79aadcd747db0c5dca771f - languageName: node - linkType: hard - -"@eslint/config-helpers@npm:^0.3.1": - version: 0.3.1 - resolution: "@eslint/config-helpers@npm:0.3.1" - checksum: 10c0/f6c5b3a0b76a0d7d84cc93e310c259e6c3e0792ddd0a62c5fc0027796ffae44183432cb74b2c2b1162801ee1b1b34a6beb5d90a151632b4df7349f994146a856 - languageName: node - linkType: hard - -"@eslint/core@npm:^0.15.2": - version: 0.15.2 - resolution: "@eslint/core@npm:0.15.2" - dependencies: - "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/c17a6dc4f5a6006ecb60165cc38bcd21fefb4a10c7a2578a0cfe5813bbd442531a87ed741da5adab5eb678e8e693fda2e2b14555b035355537e32bcec367ea17 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^10.0.1" - globals: "npm:^14.0.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 - languageName: node - linkType: hard - -"@eslint/js@npm:9.36.0, @eslint/js@npm:^9.36.0": - version: 9.36.0 - resolution: "@eslint/js@npm:9.36.0" - checksum: 10c0/e3f6fb7d6f117d79615574f7bef4f238bcfed6ece0465d28226c3a75d2b6fac9cc189121e8673562796ca8ccea2bf9861715ee5cf4a3dbef87d17811c0dac22c - languageName: node - linkType: hard - -"@eslint/object-schema@npm:^2.1.6": - version: 2.1.6 - resolution: "@eslint/object-schema@npm:2.1.6" - checksum: 10c0/b8cdb7edea5bc5f6a96173f8d768d3554a628327af536da2fc6967a93b040f2557114d98dbcdbf389d5a7b290985ad6a9ce5babc547f36fc1fde42e674d11a56 - languageName: node - linkType: hard - -"@eslint/plugin-kit@npm:^0.3.5": - version: 0.3.5 - resolution: "@eslint/plugin-kit@npm:0.3.5" - dependencies: - "@eslint/core": "npm:^0.15.2" - levn: "npm:^0.4.1" - checksum: 10c0/c178c1b58c574200c0fd125af3e4bc775daba7ce434ba6d1eeaf9bcb64b2e9fea75efabffb3ed3ab28858e55a016a5efa95f509994ee4341b341199ca630b89e - languageName: node - linkType: hard - "@fastify/ajv-compiler@npm:^4.0.0": version: 4.0.2 resolution: "@fastify/ajv-compiler@npm:4.0.2" @@ -579,7 +493,7 @@ __metadata: languageName: node linkType: hard -"@fastify/error@npm:^4.0.0, @fastify/error@npm:^4.2.0": +"@fastify/error@npm:^4.0.0": version: 4.2.0 resolution: "@fastify/error@npm:4.2.0" checksum: 10c0/8bdafe95b368a71dfc5644ef22e0a2412dfbb2f300cf4658fdbd9035c96d7c034c53fd7d38e1150437d9cf7a2d75e6bd05e458cf9ba5f2e47e527df8a5e0bd4e @@ -631,37 +545,6 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.1": - version: 0.19.1 - resolution: "@humanfs/core@npm:0.19.1" - checksum: 10c0/aa4e0152171c07879b458d0e8a704b8c3a89a8c0541726c6b65b81e84fd8b7564b5d6c633feadc6598307d34564bd53294b533491424e8e313d7ab6c7bc5dc67 - languageName: node - linkType: hard - -"@humanfs/node@npm:^0.16.6": - version: 0.16.7 - resolution: "@humanfs/node@npm:0.16.7" - dependencies: - "@humanfs/core": "npm:^0.19.1" - "@humanwhocodes/retry": "npm:^0.4.0" - checksum: 10c0/9f83d3cf2cfa37383e01e3cdaead11cd426208e04c44adcdd291aa983aaf72d7d3598844d2fe9ce54896bb1bf8bd4b56883376611c8905a19c44684642823f30 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": - version: 0.4.3 - resolution: "@humanwhocodes/retry@npm:0.4.3" - checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 - languageName: node - linkType: hard - "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -729,33 +612,6 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - "@npmcli/agent@npm:^3.0.0": version: 3.0.0 resolution: "@npmcli/agent@npm:3.0.0" @@ -946,6 +802,15 @@ __metadata: languageName: node linkType: hard +"@trpc/server@npm:^11.6.0": + version: 11.6.0 + resolution: "@trpc/server@npm:11.6.0" + peerDependencies: + typescript: ">=5.7.2" + checksum: 10c0/a9f957e276e5e78cf0495d4b9db73d6edd4dab7d269ac281c8074cde31162beace6c47be7b0871ba85a56ea2a92933d42c460cc59ea657f56db5064ee20399b5 + languageName: node + linkType: hard + "@tsconfig/node24@npm:^24.0.1": version: 24.0.1 resolution: "@tsconfig/node24@npm:24.0.1" @@ -994,20 +859,13 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.8, @types/estree@npm:^1.0.6": +"@types/estree@npm:1.0.8": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - "@types/node@npm:^24.5.2": version: 24.5.2 resolution: "@types/node@npm:24.5.2" @@ -1035,143 +893,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.45.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.45.0" - "@typescript-eslint/type-utils": "npm:8.45.0" - "@typescript-eslint/utils": "npm:8.45.0" - "@typescript-eslint/visitor-keys": "npm:8.45.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^7.0.0" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.1.0" - peerDependencies: - "@typescript-eslint/parser": ^8.45.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/0c60a0e5d07fa8618348db38b5a81e66143d528e1b3cdb5678bbc6c60590cd559b27c98c36f5663230fc4cf6920dff2cd604de30b58df26a37fcfcc5dc1dbd45 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/parser@npm:8.45.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.45.0" - "@typescript-eslint/types": "npm:8.45.0" - "@typescript-eslint/typescript-estree": "npm:8.45.0" - "@typescript-eslint/visitor-keys": "npm:8.45.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8b419bcf795b112a39fcac05dcf147835059345b6399035ffa3f76a9d8e320f3fac79cae2fe4320dcda83fa059b017ca7626a7b4e3da08a614415c8867d169b8 - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/project-service@npm:8.45.0" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.45.0" - "@typescript-eslint/types": "npm:^8.45.0" - debug: "npm:^4.3.4" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/98af065a1a3ed9d3d1eb265e09d3e9c2ae676d500a8c1d764f5609fe2c1b86749516b709804eb814fae688be7809d11748b9ae691d43c28da51dac390ca81fa9 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/scope-manager@npm:8.45.0" - dependencies: - "@typescript-eslint/types": "npm:8.45.0" - "@typescript-eslint/visitor-keys": "npm:8.45.0" - checksum: 10c0/54cd36206f6b4fc8e1e48576ed01e0d6ab20c2a9c4c7d90d5cc3a2d317dd8a13abe148ffecf471b16f1224aba5749e0905472745626bef9ae5bed771776f4abe - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.45.0, @typescript-eslint/tsconfig-utils@npm:^8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.45.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/227a9b7a5baaf35466fd369992cb933192515df1156ddf22f438deb344c2523695208e1036f5590b20603f31724de75a47fe0ee84e2fd4c8e9f3606f23f68112 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/type-utils@npm:8.45.0" - dependencies: - "@typescript-eslint/types": "npm:8.45.0" - "@typescript-eslint/typescript-estree": "npm:8.45.0" - "@typescript-eslint/utils": "npm:8.45.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.1.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/ce0f4c209c2418ebeb65e7de053499fb68bf6000bdd71068594fdb8c8ac3dbbd62935a3cea233989491f7da3ef5db87e7efd2910133c6abf6d0cbf57248f6442 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.45.0, @typescript-eslint/types@npm:^8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/types@npm:8.45.0" - checksum: 10c0/0213a0573c671d13bc91961a2b2e814ec7f6381ff093bce6704017bd96b2fc7fee25906c815cedb32a0601cf5071ca6c7c5f940d087c3b0d3dd7d4bc03478278 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.45.0" - dependencies: - "@typescript-eslint/project-service": "npm:8.45.0" - "@typescript-eslint/tsconfig-utils": "npm:8.45.0" - "@typescript-eslint/types": "npm:8.45.0" - "@typescript-eslint/visitor-keys": "npm:8.45.0" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.1.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8c2f44a00fe859a6cd4b50157c484c5b6a1c7af5d48e89ae79c5f4924947964962fc8f478ad4c2ade788907fceee9b72d4e376508ea79b51392f91082a37d239 - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/utils@npm:8.45.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.45.0" - "@typescript-eslint/types": "npm:8.45.0" - "@typescript-eslint/typescript-estree": "npm:8.45.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/b3c83a23813b15e20e303d7153789508c01e06dec355b1a80547c59aa36998d498102f45fcd13f111031fac57270608abb04d20560248d4448fd00b1cf4dc4ab - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.45.0": - version: 8.45.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.45.0" - dependencies: - "@typescript-eslint/types": "npm:8.45.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/119adcf50c902dad7f7757bcdd88fad0a23a171d309d9b7cefe78af12e451cf84c04ae611f4c31f7e23f16c2b47665ad92e6e5648fc77d542ef306f465bf1f29 - languageName: node - linkType: hard - "@vitejs/plugin-react@npm:^5.0.3": version: 5.0.4 resolution: "@vitejs/plugin-react@npm:5.0.4" @@ -1202,24 +923,6 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn@npm:^8.15.0": - version: 8.15.0 - resolution: "acorn@npm:8.15.0" - bin: - acorn: bin/acorn - checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec - languageName: node - linkType: hard - "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": version: 7.1.4 resolution: "agent-base@npm:7.1.4" @@ -1241,18 +944,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 - languageName: node - linkType: hard - "ajv@npm:^8.0.0, ajv@npm:^8.12.0": version: 8.17.1 resolution: "ajv@npm:8.17.1" @@ -1279,7 +970,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.0.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1295,13 +986,6 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - "async-function@npm:^1.0.0": version: 1.0.0 resolution: "async-function@npm:1.0.0" @@ -1365,12 +1049,11 @@ __metadata: resolution: "backend@workspace:packages/backend" dependencies: "@fishjam-cloud/js-server-sdk": "npm:^0.21.0" + "@trpc/server": "npm:^11.6.0" "@tsconfig/node24": "npm:^24.0.1" "@types/node": "npm:^24.5.2" dotenv: "npm:^17.2.3" fastify: "npm:^5.6.1" - fastify-plugin: "npm:^5.1.0" - fastify-type-provider-zod: "npm:^6.0.0" pino-pretty: "npm:^13.1.1" tsx: "npm:^4.20.6" zod: "npm:^4.1.11" @@ -1393,16 +1076,6 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^1.1.7": - version: 1.1.12 - resolution: "brace-expansion@npm:1.1.12" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 - languageName: node - linkType: hard - "brace-expansion@npm:^2.0.1": version: 2.0.2 resolution: "brace-expansion@npm:2.0.2" @@ -1412,15 +1085,6 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - "browserslist@npm:^4.24.0": version: 4.26.2 resolution: "browserslist@npm:4.26.2" @@ -1466,13 +1130,6 @@ __metadata: languageName: node linkType: hard -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001741": version: 1.0.30001746 resolution: "caniuse-lite@npm:1.0.30001746" @@ -1480,16 +1137,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -1529,13 +1176,6 @@ __metadata: languageName: node linkType: hard -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -1575,7 +1215,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.4": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -1587,13 +1227,6 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - "deep-sea-stories@workspace:.": version: 0.0.0-use.local resolution: "deep-sea-stories@workspace:." @@ -1826,148 +1459,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"eslint-plugin-react-hooks@npm:^5.2.0": - version: 5.2.0 - resolution: "eslint-plugin-react-hooks@npm:5.2.0" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 - checksum: 10c0/1c8d50fa5984c6dea32470651807d2922cc3934cf3425e78f84a24c2dfd972e7f019bee84aefb27e0cf2c13fea0ac1d4473267727408feeb1c56333ca1489385 - languageName: node - linkType: hard - -"eslint-plugin-react-refresh@npm:^0.4.20": - version: 0.4.22 - resolution: "eslint-plugin-react-refresh@npm:0.4.22" - peerDependencies: - eslint: ">=8.40" - checksum: 10c0/029cf19dc001c6611c9d8d29421e0c19bbe607f401a739b4049747ce3e7abadb59dea213833886c4259702eb65a2ddbcb9f406b1ccc018acc5a01ec5a62b25f5 - languageName: node - linkType: hard - -"eslint-scope@npm:^8.4.0": - version: 8.4.0 - resolution: "eslint-scope@npm:8.4.0" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-visitor-keys@npm:4.2.1" - checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43 - languageName: node - linkType: hard - -"eslint@npm:^9.36.0": - version: 9.36.0 - resolution: "eslint@npm:9.36.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.8.0" - "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.21.0" - "@eslint/config-helpers": "npm:^0.3.1" - "@eslint/core": "npm:^0.15.2" - "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.36.0" - "@eslint/plugin-kit": "npm:^0.3.5" - "@humanfs/node": "npm:^0.16.6" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.2" - "@types/estree": "npm:^1.0.6" - "@types/json-schema": "npm:^7.0.15" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.6" - debug: "npm:^4.3.2" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.4.0" - eslint-visitor-keys: "npm:^4.2.1" - espree: "npm:^10.4.0" - esquery: "npm:^1.5.0" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^8.0.0" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true - bin: - eslint: bin/eslint.js - checksum: 10c0/0e2705a94847813b03f2f3c1367c0708319cbb66458250a09b2d056a088c56e079a1c1d76c44feebf51971d9ce64d010373b2a4f007cd1026fc24f95c89836df - languageName: node - linkType: hard - -"espree@npm:^10.0.1, espree@npm:^10.4.0": - version: 10.4.0 - resolution: "espree@npm:10.4.0" - dependencies: - acorn: "npm:^8.15.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b - languageName: node - linkType: hard - -"esquery@npm:^1.5.0": - version: 1.6.0 - resolution: "esquery@npm:1.6.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: "npm:^5.2.0" - checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - "exponential-backoff@npm:^3.1.1": version: 3.1.2 resolution: "exponential-backoff@npm:3.1.2" @@ -1989,33 +1480,13 @@ __metadata: languageName: node linkType: hard -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": +"fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 languageName: node linkType: hard -"fast-glob@npm:^3.3.2": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:^2.0.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - "fast-json-stringify@npm:^6.0.0": version: 6.1.1 resolution: "fast-json-stringify@npm:6.1.1" @@ -2030,13 +1501,6 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - "fast-querystring@npm:^1.0.0": version: 1.1.2 resolution: "fast-querystring@npm:1.1.2" @@ -2060,27 +1524,6 @@ __metadata: languageName: node linkType: hard -"fastify-plugin@npm:^5.1.0": - version: 5.1.0 - resolution: "fastify-plugin@npm:5.1.0" - checksum: 10c0/61b330b8cb03a3581b796d745137499a782934abcf65dbf9a41d07248520cfd220b3ae8b16afeaf81af712e68e1ac24352895132cfeb2b372c66662c0170f365 - languageName: node - linkType: hard - -"fastify-type-provider-zod@npm:^6.0.0": - version: 6.0.0 - resolution: "fastify-type-provider-zod@npm:6.0.0" - dependencies: - "@fastify/error": "npm:^4.2.0" - peerDependencies: - "@fastify/swagger": ">=9.5.1" - fastify: ^5.0.0 - openapi-types: ^12.1.3 - zod: ">=4.1.5" - checksum: 10c0/222a32de89ad5a3d15cdb3536c004d7b36b5f969fb34ffaeda35f06a03fc9ca31dd8045bdb3b61c6c72259fd7b4d3654e2ce886d0e193036fde47eab17f4f1b6 - languageName: node - linkType: hard - "fastify@npm:^5.6.1": version: 5.6.1 resolution: "fastify@npm:5.6.1" @@ -2104,7 +1547,7 @@ __metadata: languageName: node linkType: hard -"fastq@npm:^1.17.1, fastq@npm:^1.6.0": +"fastq@npm:^1.17.1": version: 1.19.1 resolution: "fastq@npm:1.19.1" dependencies: @@ -2125,24 +1568,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^8.0.0": - version: 8.0.0 - resolution: "file-entry-cache@npm:8.0.0" - dependencies: - flat-cache: "npm:^4.0.0" - checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - "find-my-way@npm:^9.0.0": version: 9.3.0 resolution: "find-my-way@npm:9.3.0" @@ -2154,33 +1579,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat-cache@npm:^4.0.0": - version: 4.0.1 - resolution: "flat-cache@npm:4.0.1" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.4" - checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc - languageName: node - linkType: hard - -"flatted@npm:^3.2.9": - version: 3.3.3 - resolution: "flatted@npm:3.3.3" - checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 - languageName: node - linkType: hard - "follow-redirects@npm:^1.15.6": version: 1.15.11 resolution: "follow-redirects@npm:1.15.11" @@ -2303,24 +1701,6 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - "glob@npm:^10.2.2": version: 10.4.5 resolution: "glob@npm:10.4.5" @@ -2337,13 +1717,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^14.0.0": - version: 14.0.0 - resolution: "globals@npm:14.0.0" - checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d - languageName: node - linkType: hard - "globals@npm:^16.4.0": version: 16.4.0 resolution: "globals@npm:16.4.0" @@ -2365,20 +1738,6 @@ __metadata: languageName: node linkType: hard -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - "has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" @@ -2447,30 +1806,6 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0": - version: 5.3.2 - resolution: "ignore@npm:5.3.2" - checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 - languageName: node - linkType: hard - -"ignore@npm:^7.0.0": - version: 7.0.5 - resolution: "ignore@npm:7.0.5" - checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d - languageName: node - linkType: hard - -"import-fresh@npm:^3.2.1": - version: 3.3.1 - resolution: "import-fresh@npm:3.3.1" - dependencies: - parent-module: "npm:^1.0.0" - resolve-from: "npm:^4.0.0" - checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec - languageName: node - linkType: hard - "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -2492,13 +1827,6 @@ __metadata: languageName: node linkType: hard -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -2506,22 +1834,6 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -2563,17 +1875,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - "jsesc@npm:^3.0.2": version: 3.1.0 resolution: "jsesc@npm:3.1.0" @@ -2583,13 +1884,6 @@ __metadata: languageName: node linkType: hard -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - "json-schema-ref-resolver@npm:^3.0.0": version: 3.0.0 resolution: "json-schema-ref-resolver@npm:3.0.0" @@ -2599,13 +1893,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce - languageName: node - linkType: hard - "json-schema-traverse@npm:^1.0.0": version: 1.0.0 resolution: "json-schema-traverse@npm:1.0.0" @@ -2613,13 +1900,6 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - "json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -2629,25 +1909,6 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.4": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e - languageName: node - linkType: hard - "light-my-request@npm:^6.0.0": version: 6.6.0 resolution: "light-my-request@npm:6.6.0" @@ -2659,22 +1920,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 - languageName: node - linkType: hard - "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -2717,23 +1962,6 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - "mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" @@ -2750,15 +1978,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - "minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -2867,13 +2086,6 @@ __metadata: languageName: node linkType: hard -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - "negotiator@npm:^1.0.0": version: 1.0.0 resolution: "negotiator@npm:1.0.0" @@ -2935,38 +2147,6 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" - dependencies: - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - word-wrap: "npm:^1.2.5" - checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - "p-map@npm:^7.0.2": version: 7.0.3 resolution: "p-map@npm:7.0.3" @@ -2981,22 +2161,6 @@ __metadata: languageName: node linkType: hard -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: "npm:^3.0.0" - checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -3021,13 +2185,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - "picomatch@npm:^4.0.3": version: 4.0.3 resolution: "picomatch@npm:4.0.3" @@ -3106,13 +2263,6 @@ __metadata: languageName: node linkType: hard -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - "proc-log@npm:^5.0.0": version: 5.0.0 resolution: "proc-log@npm:5.0.0" @@ -3161,20 +2311,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - "quick-format-unescaped@npm:^4.0.3": version: 4.0.4 resolution: "quick-format-unescaped@npm:4.0.4" @@ -3221,13 +2357,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 - languageName: node - linkType: hard - "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -3344,15 +2473,6 @@ __metadata: languageName: node linkType: hard -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - "safe-regex2@npm:^5.0.0": version: 5.0.0 resolution: "safe-regex2@npm:5.0.0" @@ -3545,13 +2665,6 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - "strip-json-comments@npm:^5.0.2": version: 5.0.3 resolution: "strip-json-comments@npm:5.0.3" @@ -3559,15 +2672,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - "tar@npm:^7.4.3": version: 7.5.1 resolution: "tar@npm:7.5.1" @@ -3600,15 +2704,6 @@ __metadata: languageName: node linkType: hard -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - "toad-cache@npm:^3.7.0": version: 3.7.0 resolution: "toad-cache@npm:3.7.0" @@ -3616,15 +2711,6 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "ts-api-utils@npm:2.1.0" - peerDependencies: - typescript: ">=4.8.4" - checksum: 10c0/9806a38adea2db0f6aa217ccc6bc9c391ddba338a9fe3080676d0d50ed806d305bb90e8cef0276e793d28c8a929f400abb184ddd7ff83a416959c0f4d2ce754f - languageName: node - linkType: hard - "tsx@npm:^4.20.6": version: 4.20.6 resolution: "tsx@npm:4.20.6" @@ -3641,30 +2727,6 @@ __metadata: languageName: node linkType: hard -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"typescript-eslint@npm:^8.44.0": - version: 8.45.0 - resolution: "typescript-eslint@npm:8.45.0" - dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.45.0" - "@typescript-eslint/parser": "npm:8.45.0" - "@typescript-eslint/typescript-estree": "npm:8.45.0" - "@typescript-eslint/utils": "npm:8.45.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/2342b0bffe6f719711adbb42116f90cb1fe1670e2e74dde2739482c9d61c2a975ee16e2d560684613050544b543342ec1b11b46e158a48ecc605f5882d2d5da7 - languageName: node - linkType: hard - "typescript@npm:^5.9.2": version: 5.9.2 resolution: "typescript@npm:5.9.2" @@ -3675,16 +2737,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~5.8.3": - version: 5.8.3 - resolution: "typescript@npm:5.8.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A^5.9.2#optional!builtin": version: 5.9.2 resolution: "typescript@patch:typescript@npm%3A5.9.2#optional!builtin::version=5.9.2&hash=5786d5" @@ -3695,16 +2747,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A~5.8.3#optional!builtin": - version: 5.8.3 - resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/39117e346ff8ebd87ae1510b3a77d5d92dae5a89bde588c747d25da5c146603a99c8ee588c7ef80faaf123d89ed46f6dbd918d534d641083177d5fac38b8a1cb - languageName: node - linkType: hard - "undici-types@npm:~7.12.0": version: 7.12.0 resolution: "undici-types@npm:7.12.0" @@ -3744,15 +2786,6 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c - languageName: node - linkType: hard - "uuid@npm:^11.1.0": version: 11.1.0 resolution: "uuid@npm:11.1.0" @@ -3821,19 +2854,13 @@ __metadata: version: 0.0.0-use.local resolution: "web@workspace:packages/web" dependencies: - "@eslint/js": "npm:^9.36.0" "@types/react": "npm:^19.1.13" "@types/react-dom": "npm:^19.1.9" "@vitejs/plugin-react": "npm:^5.0.3" babel-plugin-react-compiler: "npm:^19.1.0-rc.3" - eslint: "npm:^9.36.0" - eslint-plugin-react-hooks: "npm:^5.2.0" - eslint-plugin-react-refresh: "npm:^0.4.20" globals: "npm:^16.4.0" react: "npm:^19.1.1" react-dom: "npm:^19.1.1" - typescript: "npm:~5.8.3" - typescript-eslint: "npm:^8.44.0" vite: "npm:^7.1.7" languageName: unknown linkType: soft @@ -3860,13 +2887,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.5": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 - languageName: node - linkType: hard - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -3917,13 +2937,6 @@ __metadata: languageName: node linkType: hard -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - "zod@npm:^4.1.11": version: 4.1.11 resolution: "zod@npm:4.1.11" From 9c222224743800608c6f099efff2fd3c9de03889 Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:28:12 +0200 Subject: [PATCH 2/6] Add tRPC to web --- deep-sea-stories/packages/backend/src/main.ts | 2 + deep-sea-stories/packages/web/package.json | 5 + .../packages/web/src/contexts/trpc.tsx | 33 ++ deep-sea-stories/packages/web/src/main.tsx | 16 +- .../packages/web/src/vite-env.d.ts | 16 + deep-sea-stories/yarn.lock | 338 +++++++++++++++++- 6 files changed, 405 insertions(+), 5 deletions(-) create mode 100644 deep-sea-stories/packages/web/src/contexts/trpc.tsx create mode 100644 deep-sea-stories/packages/web/src/vite-env.d.ts diff --git a/deep-sea-stories/packages/backend/src/main.ts b/deep-sea-stories/packages/backend/src/main.ts index 04df58a..ff8684f 100644 --- a/deep-sea-stories/packages/backend/src/main.ts +++ b/deep-sea-stories/packages/backend/src/main.ts @@ -29,3 +29,5 @@ try { fastify.log.error(err); process.exit(1); } + +export type { AppRouter }; diff --git a/deep-sea-stories/packages/web/package.json b/deep-sea-stories/packages/web/package.json index 6366d14..e09cb27 100644 --- a/deep-sea-stories/packages/web/package.json +++ b/deep-sea-stories/packages/web/package.json @@ -9,6 +9,11 @@ "preview": "vite preview" }, "dependencies": { + "@tanstack/react-query": "^5.90.2", + "@trpc/client": "^11.6.0", + "@trpc/server": "^11.6.0", + "@trpc/tanstack-react-query": "^11.6.0", + "backend": "workspace:*", "react": "^19.1.1", "react-dom": "^19.1.1" }, diff --git a/deep-sea-stories/packages/web/src/contexts/trpc.tsx b/deep-sea-stories/packages/web/src/contexts/trpc.tsx new file mode 100644 index 0000000..c6a4471 --- /dev/null +++ b/deep-sea-stories/packages/web/src/contexts/trpc.tsx @@ -0,0 +1,33 @@ +import type { QueryClient } from '@tanstack/react-query'; +import { createTRPCClient, httpBatchLink } from '@trpc/client'; +import { createTRPCContext } from '@trpc/tanstack-react-query'; +import type { AppRouter } from 'backend'; +import { type FC, type PropsWithChildren, useState } from 'react'; + +export const { TRPCProvider, useTRPC, useTRPCClient } = + createTRPCContext(); + +interface TRPCClientProviderProps extends PropsWithChildren { + queryClient: QueryClient; +} + +export const TRPCClientProvider: FC = ({ + queryClient, + children, +}) => { + const [trpcClient] = useState(() => + createTRPCClient({ + links: [ + httpBatchLink({ + url: import.meta.env.VITE_BACKEND_URL, + }), + ], + }), + ); + + return ( + + {children} + + ); +}; diff --git a/deep-sea-stories/packages/web/src/main.tsx b/deep-sea-stories/packages/web/src/main.tsx index 977420d..1027a0d 100644 --- a/deep-sea-stories/packages/web/src/main.tsx +++ b/deep-sea-stories/packages/web/src/main.tsx @@ -1,11 +1,25 @@ import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './index.css'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import App from './App.tsx'; +import { TRPCClientProvider } from './contexts/trpc.tsx'; + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retryDelay: 2000, + }, + }, +}); // biome-ignore lint/style/noNonNullAssertion: root always exists createRoot(document.getElementById('root')!).render( - + + + + + , ); diff --git a/deep-sea-stories/packages/web/src/vite-env.d.ts b/deep-sea-stories/packages/web/src/vite-env.d.ts new file mode 100644 index 0000000..e09965e --- /dev/null +++ b/deep-sea-stories/packages/web/src/vite-env.d.ts @@ -0,0 +1,16 @@ +/// + +// biome-ignore lint/correctness/noUnusedVariables: for type checking +interface ViteTypeOptions { + strictImportMetaEnv: unknown; +} + +interface ImportMetaEnv { + readonly VITE_BACKEND_URL: string; + readonly VITE_FISHJAM_ID: string; +} + +// biome-ignore lint/correctness/noUnusedVariables: for type checking +interface ImportMeta { + readonly env: ImportMetaEnv; +} diff --git a/deep-sea-stories/yarn.lock b/deep-sea-stories/yarn.lock index a085eb0..9cf76b6 100644 --- a/deep-sea-stories/yarn.lock +++ b/deep-sea-stories/yarn.lock @@ -493,6 +493,13 @@ __metadata: languageName: node linkType: hard +"@fastify/deepmerge@npm:^2.0.0": + version: 2.0.2 + resolution: "@fastify/deepmerge@npm:2.0.2" + checksum: 10c0/dfb30896d374c25a3f5bc0550cb19d2014946392b2858fadd5feb1486eb3c37751db1db24dcbf801bb11465435939d0d75fb7ee65501287e77b4df7022b3509a + languageName: node + linkType: hard + "@fastify/error@npm:^4.0.0": version: 4.2.0 resolution: "@fastify/error@npm:4.2.0" @@ -802,6 +809,34 @@ __metadata: languageName: node linkType: hard +"@tanstack/query-core@npm:5.90.2": + version: 5.90.2 + resolution: "@tanstack/query-core@npm:5.90.2" + checksum: 10c0/695a7450b0bb9f6dd21bebeacfc962dfc886631a3b3a13c33a842ef719b4c3dd30c15febe8c1ade6902a85e0f387c51a97570f430cc8f5c7032ff737d6410597 + languageName: node + linkType: hard + +"@tanstack/react-query@npm:^5.90.2": + version: 5.90.2 + resolution: "@tanstack/react-query@npm:5.90.2" + dependencies: + "@tanstack/query-core": "npm:5.90.2" + peerDependencies: + react: ^18 || ^19 + checksum: 10c0/22e76626a59890409858521b0e42b49219126a4ea5ed79eaa48a267959175dfdd28b30b9b03a415dccf703d95c18100a9d8917679818f6d2adc26d6c5f96a4d6 + languageName: node + linkType: hard + +"@trpc/client@npm:^11.6.0": + version: 11.6.0 + resolution: "@trpc/client@npm:11.6.0" + peerDependencies: + "@trpc/server": 11.6.0 + typescript: ">=5.7.2" + checksum: 10c0/663ba6ea3bc273ffb56c1dcf1a4d02b232b617c0c80a3ea296b23bae21624faf5ac71f22bab4f823c0c06bcf61a5fdc79d9a4892db35322294b51b28750b6043 + languageName: node + linkType: hard + "@trpc/server@npm:^11.6.0": version: 11.6.0 resolution: "@trpc/server@npm:11.6.0" @@ -811,6 +846,20 @@ __metadata: languageName: node linkType: hard +"@trpc/tanstack-react-query@npm:^11.6.0": + version: 11.6.0 + resolution: "@trpc/tanstack-react-query@npm:11.6.0" + peerDependencies: + "@tanstack/react-query": ^5.80.3 + "@trpc/client": 11.6.0 + "@trpc/server": 11.6.0 + react: ">=18.2.0" + react-dom: ">=18.2.0" + typescript: ">=5.7.2" + checksum: 10c0/80a555ccd5f664f288fae30bce2195cc87340092c6ab2af67101dbb1790b2f42141f74af69743ffbef6cdaf451dcd93f7774ea675e577352098f1d1e0cf9abca + languageName: node + linkType: hard + "@tsconfig/node24@npm:^24.0.1": version: 24.0.1 resolution: "@tsconfig/node24@npm:24.0.1" @@ -970,7 +1019,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.0.0": +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1044,7 +1093,7 @@ __metadata: languageName: node linkType: hard -"backend@workspace:packages/backend": +"backend@workspace:*, backend@workspace:packages/backend": version: 0.0.0-use.local resolution: "backend@workspace:packages/backend" dependencies: @@ -1054,6 +1103,7 @@ __metadata: "@types/node": "npm:^24.5.2" dotenv: "npm:^17.2.3" fastify: "npm:^5.6.1" + fastify-cli: "npm:^7.4.0" pino-pretty: "npm:^13.1.1" tsx: "npm:^4.20.6" zod: "npm:^4.1.11" @@ -1137,6 +1187,25 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -1144,6 +1213,13 @@ __metadata: languageName: node linkType: hard +"close-with-grace@npm:^2.1.0": + version: 2.3.0 + resolution: "close-with-grace@npm:2.3.0" + checksum: 10c0/b554e65a2ff52c07928095417623734473c7e1b25da5bf7c6af5cca7b2c866b0814adba6fc32a27fcae1759f349c5aaaa24bd7f20520461d5489b0a0f5e8d945 + languageName: node + linkType: hard + "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -1176,6 +1252,13 @@ __metadata: languageName: node linkType: hard +"commist@npm:^3.0.0": + version: 3.2.0 + resolution: "commist@npm:3.2.0" + checksum: 10c0/ab2d14921d30f649889adbec5dbf1712d45681bbc3f863ee5078e02465b2e8510d47a5643e137ffa0698b8199b5ce787d8be131982bcae4f294c8225d1046def + languageName: node + linkType: hard + "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -1250,6 +1333,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^16.0.0": + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: 10c0/15ce56608326ea0d1d9414a5c8ee6dcf0fffc79d2c16422b4ac2268e7e2d76ff5a572d37ffe747c377de12005f14b3cc22361e79fc7f1061cce81f77d2c973dc + languageName: node + linkType: hard + "dotenv@npm:^17.2.3": version: 17.2.3 resolution: "dotenv@npm:17.2.3" @@ -1524,7 +1614,40 @@ __metadata: languageName: node linkType: hard -"fastify@npm:^5.6.1": +"fastify-cli@npm:^7.4.0": + version: 7.4.0 + resolution: "fastify-cli@npm:7.4.0" + dependencies: + "@fastify/deepmerge": "npm:^2.0.0" + chalk: "npm:^4.1.2" + chokidar: "npm:^4.0.0" + close-with-grace: "npm:^2.1.0" + commist: "npm:^3.0.0" + dotenv: "npm:^16.0.0" + fastify: "npm:^5.0.0" + fastify-plugin: "npm:^5.0.0" + generify: "npm:^4.0.0" + help-me: "npm:^5.0.0" + is-docker: "npm:^2.0.0" + pino-pretty: "npm:^13.0.0" + pkg-up: "npm:^3.1.0" + resolve-from: "npm:^5.0.0" + semver: "npm:^7.3.5" + yargs-parser: "npm:^21.1.1" + bin: + fastify: cli.js + checksum: 10c0/39d516f9c4e5ee57779630c24b1c96e39724a4b601775cb2a9c389f0e4248f791f4f9f3e9d4ed3c4598fbd7a1599abea1e105931f654b4adcec9a490918c62d1 + languageName: node + linkType: hard + +"fastify-plugin@npm:^5.0.0": + version: 5.1.0 + resolution: "fastify-plugin@npm:5.1.0" + checksum: 10c0/61b330b8cb03a3581b796d745137499a782934abcf65dbf9a41d07248520cfd220b3ae8b16afeaf81af712e68e1ac24352895132cfeb2b372c66662c0170f365 + languageName: node + linkType: hard + +"fastify@npm:^5.0.0, fastify@npm:^5.6.1": version: 5.6.1 resolution: "fastify@npm:5.6.1" dependencies: @@ -1579,6 +1702,15 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 + languageName: node + linkType: hard + "follow-redirects@npm:^1.15.6": version: 1.15.11 resolution: "follow-redirects@npm:1.15.11" @@ -1654,6 +1786,20 @@ __metadata: languageName: node linkType: hard +"generify@npm:^4.0.0": + version: 4.2.0 + resolution: "generify@npm:4.2.0" + dependencies: + isbinaryfile: "npm:^4.0.2" + pump: "npm:^3.0.0" + split2: "npm:^3.0.0" + walker: "npm:^1.0.6" + bin: + generify: generify.js + checksum: 10c0/4bfc8a46901548e1e8871c3bafdd83d55711b465c995988c43d03d63ef4622b8ba7ecbb3a6c931ca275d3514dc8021884ed549bc8c9007d9a9d9ef2bde54e591 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -1738,6 +1884,13 @@ __metadata: languageName: node linkType: hard +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + "has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" @@ -1813,6 +1966,13 @@ __metadata: languageName: node linkType: hard +"inherits@npm:^2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + "ip-address@npm:^10.0.1": version: 10.0.1 resolution: "ip-address@npm:10.0.1" @@ -1827,6 +1987,15 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^2.0.0": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -1834,6 +2003,13 @@ __metadata: languageName: node linkType: hard +"isbinaryfile@npm:^4.0.2": + version: 4.0.10 + resolution: "isbinaryfile@npm:4.0.10" + checksum: 10c0/0703d8cfeb69ed79e6d173120f327450011a066755150a6bbf97ffecec1069a5f2092777868315b21359098c84b54984871cad1abce877ad9141fb2caf3dcabf + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -1920,6 +2096,16 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -1955,6 +2141,15 @@ __metadata: languageName: node linkType: hard +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: "npm:1.0.5" + checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c + languageName: node + linkType: hard + "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -2147,6 +2342,24 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^2.0.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 + languageName: node + linkType: hard + "p-map@npm:^7.0.2": version: 7.0.3 resolution: "p-map@npm:7.0.3" @@ -2154,6 +2367,13 @@ __metadata: languageName: node linkType: hard +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -2161,6 +2381,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -2201,7 +2428,7 @@ __metadata: languageName: node linkType: hard -"pino-pretty@npm:^13.1.1": +"pino-pretty@npm:^13.0.0, pino-pretty@npm:^13.1.1": version: 13.1.1 resolution: "pino-pretty@npm:13.1.1" dependencies: @@ -2252,6 +2479,15 @@ __metadata: languageName: node linkType: hard +"pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10c0/ecb60e1f8e1f611c0bdf1a0b6a474d6dfb51185567dc6f29cdef37c8d480ecba5362e006606bb290519bbb6f49526c403fabea93c3090c20368d98bb90c999ab + languageName: node + linkType: hard + "postcss@npm:^8.5.6": version: 8.5.6 resolution: "postcss@npm:8.5.6" @@ -2343,6 +2579,24 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^3.0.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 + languageName: node + linkType: hard + "real-require@npm:^0.2.0": version: 0.2.0 resolution: "real-require@npm:0.2.0" @@ -2357,6 +2611,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -2473,6 +2734,13 @@ __metadata: languageName: node linkType: hard +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + "safe-regex2@npm:^5.0.0": version: 5.0.0 resolution: "safe-regex2@npm:5.0.0" @@ -2609,6 +2877,15 @@ __metadata: languageName: node linkType: hard +"split2@npm:^3.0.0": + version: 3.2.2 + resolution: "split2@npm:3.2.2" + dependencies: + readable-stream: "npm:^3.0.0" + checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e + languageName: node + linkType: hard + "split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" @@ -2647,6 +2924,15 @@ __metadata: languageName: node linkType: hard +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -2672,6 +2958,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + "tar@npm:^7.4.3": version: 7.5.1 resolution: "tar@npm:7.5.1" @@ -2704,6 +2999,13 @@ __metadata: languageName: node linkType: hard +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 + languageName: node + linkType: hard + "toad-cache@npm:^3.7.0": version: 3.7.0 resolution: "toad-cache@npm:3.7.0" @@ -2786,6 +3088,13 @@ __metadata: languageName: node linkType: hard +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + "uuid@npm:^11.1.0": version: 11.1.0 resolution: "uuid@npm:11.1.0" @@ -2850,14 +3159,28 @@ __metadata: languageName: node linkType: hard +"walker@npm:^1.0.6": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: "npm:1.0.12" + checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e + languageName: node + linkType: hard + "web@workspace:packages/web": version: 0.0.0-use.local resolution: "web@workspace:packages/web" dependencies: + "@tanstack/react-query": "npm:^5.90.2" + "@trpc/client": "npm:^11.6.0" + "@trpc/server": "npm:^11.6.0" + "@trpc/tanstack-react-query": "npm:^11.6.0" "@types/react": "npm:^19.1.13" "@types/react-dom": "npm:^19.1.9" "@vitejs/plugin-react": "npm:^5.0.3" babel-plugin-react-compiler: "npm:^19.1.0-rc.3" + backend: "workspace:*" globals: "npm:^16.4.0" react: "npm:^19.1.1" react-dom: "npm:^19.1.1" @@ -2937,6 +3260,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + "zod@npm:^4.1.11": version: 4.1.11 resolution: "zod@npm:4.1.11" From daf67b41f5312a47bd8d2d11912030f6a75de819 Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 1 Oct 2025 13:02:48 +0200 Subject: [PATCH 3/6] Remove redundant ignore comment --- deep-sea-stories/packages/web/src/vite-env.d.ts | 2 -- deep-sea-stories/packages/web/vite.config.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/deep-sea-stories/packages/web/src/vite-env.d.ts b/deep-sea-stories/packages/web/src/vite-env.d.ts index e09965e..61fdf84 100644 --- a/deep-sea-stories/packages/web/src/vite-env.d.ts +++ b/deep-sea-stories/packages/web/src/vite-env.d.ts @@ -1,6 +1,5 @@ /// -// biome-ignore lint/correctness/noUnusedVariables: for type checking interface ViteTypeOptions { strictImportMetaEnv: unknown; } @@ -10,7 +9,6 @@ interface ImportMetaEnv { readonly VITE_FISHJAM_ID: string; } -// biome-ignore lint/correctness/noUnusedVariables: for type checking interface ImportMeta { readonly env: ImportMetaEnv; } diff --git a/deep-sea-stories/packages/web/vite.config.ts b/deep-sea-stories/packages/web/vite.config.ts index ca79347..e22b3b8 100644 --- a/deep-sea-stories/packages/web/vite.config.ts +++ b/deep-sea-stories/packages/web/vite.config.ts @@ -1,5 +1,5 @@ -import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; // https://vite.dev/config/ export default defineConfig({ From f07b729552b7f8f8cf28936de5cee0747e8bda83 Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 1 Oct 2025 13:03:52 +0200 Subject: [PATCH 4/6] Update lock --- deep-sea-stories/yarn.lock | 289 +------------------------------------ 1 file changed, 3 insertions(+), 286 deletions(-) diff --git a/deep-sea-stories/yarn.lock b/deep-sea-stories/yarn.lock index 9cf76b6..c6a5e2d 100644 --- a/deep-sea-stories/yarn.lock +++ b/deep-sea-stories/yarn.lock @@ -493,13 +493,6 @@ __metadata: languageName: node linkType: hard -"@fastify/deepmerge@npm:^2.0.0": - version: 2.0.2 - resolution: "@fastify/deepmerge@npm:2.0.2" - checksum: 10c0/dfb30896d374c25a3f5bc0550cb19d2014946392b2858fadd5feb1486eb3c37751db1db24dcbf801bb11465435939d0d75fb7ee65501287e77b4df7022b3509a - languageName: node - linkType: hard - "@fastify/error@npm:^4.0.0": version: 4.2.0 resolution: "@fastify/error@npm:4.2.0" @@ -1019,7 +1012,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.0.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1103,7 +1096,6 @@ __metadata: "@types/node": "npm:^24.5.2" dotenv: "npm:^17.2.3" fastify: "npm:^5.6.1" - fastify-cli: "npm:^7.4.0" pino-pretty: "npm:^13.1.1" tsx: "npm:^4.20.6" zod: "npm:^4.1.11" @@ -1187,25 +1179,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"chokidar@npm:^4.0.0": - version: 4.0.3 - resolution: "chokidar@npm:4.0.3" - dependencies: - readdirp: "npm:^4.0.1" - checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -1213,13 +1186,6 @@ __metadata: languageName: node linkType: hard -"close-with-grace@npm:^2.1.0": - version: 2.3.0 - resolution: "close-with-grace@npm:2.3.0" - checksum: 10c0/b554e65a2ff52c07928095417623734473c7e1b25da5bf7c6af5cca7b2c866b0814adba6fc32a27fcae1759f349c5aaaa24bd7f20520461d5489b0a0f5e8d945 - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -1252,13 +1218,6 @@ __metadata: languageName: node linkType: hard -"commist@npm:^3.0.0": - version: 3.2.0 - resolution: "commist@npm:3.2.0" - checksum: 10c0/ab2d14921d30f649889adbec5dbf1712d45681bbc3f863ee5078e02465b2e8510d47a5643e137ffa0698b8199b5ce787d8be131982bcae4f294c8225d1046def - languageName: node - linkType: hard - "convert-source-map@npm:^2.0.0": version: 2.0.0 resolution: "convert-source-map@npm:2.0.0" @@ -1333,13 +1292,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.0": - version: 16.6.1 - resolution: "dotenv@npm:16.6.1" - checksum: 10c0/15ce56608326ea0d1d9414a5c8ee6dcf0fffc79d2c16422b4ac2268e7e2d76ff5a572d37ffe747c377de12005f14b3cc22361e79fc7f1061cce81f77d2c973dc - languageName: node - linkType: hard - "dotenv@npm:^17.2.3": version: 17.2.3 resolution: "dotenv@npm:17.2.3" @@ -1614,40 +1566,7 @@ __metadata: languageName: node linkType: hard -"fastify-cli@npm:^7.4.0": - version: 7.4.0 - resolution: "fastify-cli@npm:7.4.0" - dependencies: - "@fastify/deepmerge": "npm:^2.0.0" - chalk: "npm:^4.1.2" - chokidar: "npm:^4.0.0" - close-with-grace: "npm:^2.1.0" - commist: "npm:^3.0.0" - dotenv: "npm:^16.0.0" - fastify: "npm:^5.0.0" - fastify-plugin: "npm:^5.0.0" - generify: "npm:^4.0.0" - help-me: "npm:^5.0.0" - is-docker: "npm:^2.0.0" - pino-pretty: "npm:^13.0.0" - pkg-up: "npm:^3.1.0" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.3.5" - yargs-parser: "npm:^21.1.1" - bin: - fastify: cli.js - checksum: 10c0/39d516f9c4e5ee57779630c24b1c96e39724a4b601775cb2a9c389f0e4248f791f4f9f3e9d4ed3c4598fbd7a1599abea1e105931f654b4adcec9a490918c62d1 - languageName: node - linkType: hard - -"fastify-plugin@npm:^5.0.0": - version: 5.1.0 - resolution: "fastify-plugin@npm:5.1.0" - checksum: 10c0/61b330b8cb03a3581b796d745137499a782934abcf65dbf9a41d07248520cfd220b3ae8b16afeaf81af712e68e1ac24352895132cfeb2b372c66662c0170f365 - languageName: node - linkType: hard - -"fastify@npm:^5.0.0, fastify@npm:^5.6.1": +"fastify@npm:^5.6.1": version: 5.6.1 resolution: "fastify@npm:5.6.1" dependencies: @@ -1702,15 +1621,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: "npm:^3.0.0" - checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 - languageName: node - linkType: hard - "follow-redirects@npm:^1.15.6": version: 1.15.11 resolution: "follow-redirects@npm:1.15.11" @@ -1786,20 +1696,6 @@ __metadata: languageName: node linkType: hard -"generify@npm:^4.0.0": - version: 4.2.0 - resolution: "generify@npm:4.2.0" - dependencies: - isbinaryfile: "npm:^4.0.2" - pump: "npm:^3.0.0" - split2: "npm:^3.0.0" - walker: "npm:^1.0.6" - bin: - generify: generify.js - checksum: 10c0/4bfc8a46901548e1e8871c3bafdd83d55711b465c995988c43d03d63ef4622b8ba7ecbb3a6c931ca275d3514dc8021884ed549bc8c9007d9a9d9ef2bde54e591 - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -1884,13 +1780,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - "has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": version: 1.1.0 resolution: "has-symbols@npm:1.1.0" @@ -1966,13 +1855,6 @@ __metadata: languageName: node linkType: hard -"inherits@npm:^2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - "ip-address@npm:^10.0.1": version: 10.0.1 resolution: "ip-address@npm:10.0.1" @@ -1987,15 +1869,6 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" - bin: - is-docker: cli.js - checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -2003,13 +1876,6 @@ __metadata: languageName: node linkType: hard -"isbinaryfile@npm:^4.0.2": - version: 4.0.10 - resolution: "isbinaryfile@npm:4.0.10" - checksum: 10c0/0703d8cfeb69ed79e6d173120f327450011a066755150a6bbf97ffecec1069a5f2092777868315b21359098c84b54984871cad1abce877ad9141fb2caf3dcabf - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -2096,16 +1962,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: "npm:^3.0.0" - path-exists: "npm:^3.0.0" - checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b - languageName: node - linkType: hard - "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -2141,15 +1997,6 @@ __metadata: languageName: node linkType: hard -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -2342,24 +2189,6 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^2.0.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 - languageName: node - linkType: hard - -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: "npm:^2.0.0" - checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 - languageName: node - linkType: hard - "p-map@npm:^7.0.2": version: 7.0.3 resolution: "p-map@npm:7.0.3" @@ -2367,13 +2196,6 @@ __metadata: languageName: node linkType: hard -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -2381,13 +2203,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 - languageName: node - linkType: hard - "path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -2428,7 +2243,7 @@ __metadata: languageName: node linkType: hard -"pino-pretty@npm:^13.0.0, pino-pretty@npm:^13.1.1": +"pino-pretty@npm:^13.1.1": version: 13.1.1 resolution: "pino-pretty@npm:13.1.1" dependencies: @@ -2479,15 +2294,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^3.1.0": - version: 3.1.0 - resolution: "pkg-up@npm:3.1.0" - dependencies: - find-up: "npm:^3.0.0" - checksum: 10c0/ecb60e1f8e1f611c0bdf1a0b6a474d6dfb51185567dc6f29cdef37c8d480ecba5362e006606bb290519bbb6f49526c403fabea93c3090c20368d98bb90c999ab - languageName: node - linkType: hard - "postcss@npm:^8.5.6": version: 8.5.6 resolution: "postcss@npm:8.5.6" @@ -2579,24 +2385,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readdirp@npm:^4.0.1": - version: 4.1.2 - resolution: "readdirp@npm:4.1.2" - checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 - languageName: node - linkType: hard - "real-require@npm:^0.2.0": version: 0.2.0 resolution: "real-require@npm:0.2.0" @@ -2611,13 +2399,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - "resolve-pkg-maps@npm:^1.0.0": version: 1.0.0 resolution: "resolve-pkg-maps@npm:1.0.0" @@ -2734,13 +2515,6 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - "safe-regex2@npm:^5.0.0": version: 5.0.0 resolution: "safe-regex2@npm:5.0.0" @@ -2877,15 +2651,6 @@ __metadata: languageName: node linkType: hard -"split2@npm:^3.0.0": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: "npm:^3.0.0" - checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e - languageName: node - linkType: hard - "split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" @@ -2924,15 +2689,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -2958,15 +2714,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - "tar@npm:^7.4.3": version: 7.5.1 resolution: "tar@npm:7.5.1" @@ -2999,13 +2746,6 @@ __metadata: languageName: node linkType: hard -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 - languageName: node - linkType: hard - "toad-cache@npm:^3.7.0": version: 3.7.0 resolution: "toad-cache@npm:3.7.0" @@ -3088,13 +2828,6 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - "uuid@npm:^11.1.0": version: 11.1.0 resolution: "uuid@npm:11.1.0" @@ -3159,15 +2892,6 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.6": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e - languageName: node - linkType: hard - "web@workspace:packages/web": version: 0.0.0-use.local resolution: "web@workspace:packages/web" @@ -3260,13 +2984,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - "zod@npm:^4.1.11": version: 4.1.11 resolution: "zod@npm:4.1.11" From 00c972f19a8cbad87c9ebe3b64d44b48c39a44f8 Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 1 Oct 2025 16:48:05 +0200 Subject: [PATCH 5/6] Init theme --- deep-sea-stories/packages/web/components.json | 22 + deep-sea-stories/packages/web/package.json | 10 +- deep-sea-stories/packages/web/public/vite.svg | 1 - deep-sea-stories/packages/web/src/App.css | 42 -- deep-sea-stories/packages/web/src/App.tsx | 42 +- .../packages/web/src/assets/angler.webp | Bin 0 -> 61582 bytes .../web/src/assets/fonts/AktivGrotesk.otf | Bin 0 -> 111408 bytes .../web/src/assets/fonts/AktivGrotesk.woff | Bin 0 -> 42828 bytes .../web/src/assets/fonts/AktivGrotesk.woff2 | Bin 0 -> 36688 bytes .../web/src/assets/fonts/JuneExptActive.ttf | Bin 0 -> 115836 bytes .../packages/web/src/assets/react.svg | 1 - .../packages/web/src/components/ui/button.tsx | 56 +++ deep-sea-stories/packages/web/src/index.css | 179 +++++-- .../packages/web/src/lib/utils.ts | 6 + .../packages/web/tsconfig.app.json | 22 +- deep-sea-stories/packages/web/tsconfig.json | 18 +- deep-sea-stories/packages/web/vite.config.ts | 8 + deep-sea-stories/yarn.lock | 461 +++++++++++++++++- 18 files changed, 724 insertions(+), 144 deletions(-) create mode 100644 deep-sea-stories/packages/web/components.json delete mode 100644 deep-sea-stories/packages/web/public/vite.svg delete mode 100644 deep-sea-stories/packages/web/src/App.css create mode 100644 deep-sea-stories/packages/web/src/assets/angler.webp create mode 100644 deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.otf create mode 100644 deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.woff create mode 100644 deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.woff2 create mode 100644 deep-sea-stories/packages/web/src/assets/fonts/JuneExptActive.ttf delete mode 100644 deep-sea-stories/packages/web/src/assets/react.svg create mode 100644 deep-sea-stories/packages/web/src/components/ui/button.tsx create mode 100644 deep-sea-stories/packages/web/src/lib/utils.ts diff --git a/deep-sea-stories/packages/web/components.json b/deep-sea-stories/packages/web/components.json new file mode 100644 index 0000000..364f6ca --- /dev/null +++ b/deep-sea-stories/packages/web/components.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/index.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "iconLibrary": "lucide", + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "registries": {} +} diff --git a/deep-sea-stories/packages/web/package.json b/deep-sea-stories/packages/web/package.json index e09cb27..0494336 100644 --- a/deep-sea-stories/packages/web/package.json +++ b/deep-sea-stories/packages/web/package.json @@ -9,13 +9,20 @@ "preview": "vite preview" }, "dependencies": { + "@radix-ui/react-slot": "^1.2.3", + "@tailwindcss/vite": "^4.1.13", "@tanstack/react-query": "^5.90.2", "@trpc/client": "^11.6.0", "@trpc/server": "^11.6.0", "@trpc/tanstack-react-query": "^11.6.0", "backend": "workspace:*", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.544.0", "react": "^19.1.1", - "react-dom": "^19.1.1" + "react-dom": "^19.1.1", + "tailwind-merge": "^3.3.1", + "tailwindcss": "^4.1.13" }, "devDependencies": { "@types/react": "^19.1.13", @@ -23,6 +30,7 @@ "@vitejs/plugin-react": "^5.0.3", "babel-plugin-react-compiler": "^19.1.0-rc.3", "globals": "^16.4.0", + "tw-animate-css": "^1.4.0", "vite": "^7.1.7" } } diff --git a/deep-sea-stories/packages/web/public/vite.svg b/deep-sea-stories/packages/web/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/deep-sea-stories/packages/web/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/deep-sea-stories/packages/web/src/App.css b/deep-sea-stories/packages/web/src/App.css deleted file mode 100644 index df674c0..0000000 --- a/deep-sea-stories/packages/web/src/App.css +++ /dev/null @@ -1,42 +0,0 @@ -#root { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; - transition: filter 300ms; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@media (prefers-reduced-motion: no-preference) { - a:nth-of-type(2) .logo { - animation: logo-spin infinite 20s linear; - } -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} diff --git a/deep-sea-stories/packages/web/src/App.tsx b/deep-sea-stories/packages/web/src/App.tsx index c8f1228..32767de 100644 --- a/deep-sea-stories/packages/web/src/App.tsx +++ b/deep-sea-stories/packages/web/src/App.tsx @@ -1,44 +1,10 @@ -import { useState } from 'react'; -import viteLogo from '/vite.svg'; -import reactLogo from './assets/react.svg'; -import './App.css'; +import angler from './assets/angler.webp'; function App() { - const [count, setCount] = useState(0); - return ( - <> - -

Vite + React

-
- -

- Edit src/App.tsx and save to test HMR -

-
-

- Click on the Vite and React logos to learn more -

- +
+ angler +
); } diff --git a/deep-sea-stories/packages/web/src/assets/angler.webp b/deep-sea-stories/packages/web/src/assets/angler.webp new file mode 100644 index 0000000000000000000000000000000000000000..a5fcff3e91a8d16668a23a5b8502348d20fee7d1 GIT binary patch literal 61582 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 z z;IR@CYmf@R@~X%sPz#fpLbHIs{_?6TyLi(Gg0cRhWJZ}DC149)Wyhy2CqnvdWdVB1 zaZ@8ttbRiT`oiHrCq`Jb)_IP60>DtjWjDx&!GKX6|5y&6z@#b|VuHT30bBq4^B1Y} z_H988;&cU}V5Cm(hU1y!yFfTLNXS4-22ocK)W?2PHvvz6vOqeil|2sa{myfdVj>em z8oFv9yentHND0zsOpU5zQC9&p&FslK^+uQj&R82_WwV1f<{PrUSSg8@Bk3J;Tc(ht zFfrj7Q%Jb@Ko=hKkls5=b`w}JnB0p7U5Rm0L#Oyk_PRhz>K_t(4p~>O2I7*NMls*8 zAX0f?DnL1?mM~eO(bj6g?HbuNzD!4I(vo+u>Lp$clGjG=6%4Jv0yh^>L}TlsOHACW zNeaC%qV8j%L#Pu5M`zIL(q7mcVA$#RQ*!6iR)vdx5!&wac8*zs#DNhXB6uSJ-00=v z(d-^Rb>$`eZFd`4uH~t8qbh)7wB>>2bK18et#h&{(VFW*F$a~$F>0jCRifFDFq~YZ zlp|a_(8603b*yJ`(x;_Jqkeq6YlatIeIH6k(6CG|jaNxORbi{xn{yc^>S-mowZo?y zPdFR}5o|cPTPBgon(BD+K%yvhIT^kBl6go+RH{=Kx+sAmani0OPjZQU#TQQN65=kl zM1$2~35_We(tRg)B68yQT{yU?8&`1TdyOIIwPT?7yr6FIz5``=F8kvq+=512aY{(t z3-&cgCxPU@Zq|8FIu|Bj0C*@Q{KzvE`E(aU9d;UlH@wF}c~6`5VDAtnm2;*2bKfG9 zEUMw*P3F~pZ!IbDi%R(;m(vH*nLC1>*IMs(9<-jz5Jy)v8rowy@EU{O$wxX_Wbw8I zw}koQZOw;)M4?;mzwS!iwlQ$O79EJf(q1C_;Hv+ok(J5RVmU?QDS9PqG zbkbv>@Qfo|aor=O87vv>BH2)*rY-=3=FrWP;p8LHalTXsu9tUq=2S(dYP*pkvDw?e; zm#6Ku1wlPM(VjOia>V4xY79!6ue%JCX;LezQQ_^xYFnoA7^-#hdk9K$D(&kRU{|5+ zP?n-y?ivd|>CW@39)J+NJopqMP$-h=Yz{fmId=*gE;%G%{2^Sh{rND*W`Y4jJh}@g zOEZfpLv94QK#y^G7mk8=dcMi|6==0c!dwfRVHO~Cb^v-*E`E5judiGjs}8gGnqs!- ztDkwWuYfd$uoUo4Ccpo!4I;P_|I-G-F-LGk-7b66dOYIaUyg@ewdMOuIB|E}j?P>Y za0R9~;L!<7)$w@c8cYUHdyK$Z{f~a&IvUOkMmr7E{lnHFi-Qc6>yH8p9KySz4A@i- zn;3n4S=liZ>lxNRih0j_xq`X3%js&!&5gtTxcg*Y|HN*_PjfvYn(9AirqJ(Fgp`V# z*TmGy=jHL{tMiiIAo>->NiCPq48p|*@F6mh4uP2AVd-0G@ano9Tgs%xe@>5J;--sA zs#mHA3RZN~02V7n1PrjS5SEd61|&gT`0l%a%yRxzWGLL^AHp5=t;i(QZ970O+}N#} zFH>tZQ0CN-aa4_2c@^w@iyL)f^zBB_GczJ(WIk^H67EgZIx|n%zb3FByb^?yiPq1C zef|QF^vW*<5GFE>Pd=)m@dE^uov+TUv%+kR4jUm~Ap@3B*)If?hQr2hFjy;}1F-u@ z>IA4UL5K6f3FmW*(`7_r32{ONSaR5LK6l(zSv!<e0%{34EN>ukv1-fa9&^`4i92H6i??W5rb2FbU!QkRhj-lr_|hM5prc+;I(7 z#nh3~ww8h4b<3qs!lzIzI(owQo`-%8943~fI}NMb=HQ!H7|)NE!sR#(N5>H+^_FwX z^;_`lw1wue)j=is&!#d`3qobj|KgQqwB9oM9m4OwCrUAO=Gz>M>)w|~K#QCf|MNRo ze;17r?i4%2egN&PrgCaBSoN<0iQaKHExeM7>khgx!V?nv!ofT zuW4;-^LGRTth%0>8phRQLXJt@ooxOB=q%46xH#k25+)r-l9Zv}y@r$EIb{!d2*$+w zZ|lZ%p9Km~r${Q86a9lqNK`iUgl>$}kTvGFZ%_oQ0WeJ)Ei@#=qmj8BPXo$^_3@+zKm_lT&+a3sG*FIlgBhr{ zr6y(wA=2sHN0_}gRgx0M*UhHCIs>|oTzWJOYPZZxsgD6jYf^8zz!?Yx%ef=v9h$$p zSmtQJ-=p^0{a=?SP)*>rdg^(AuRWKB*F91U`w{pV){oT5=z4sqGu$^;ZI z4P2XD?|6?(P6YYb)*-1$`!lsWI}*5A;-<|{4O<7JyO!00lYKWps4Kor@{+st5$S`U z^zCzwg&{Oo2n`!u{%DA3iX&WMk(*!fyFEKE~txQjG`2BOpQlBQoIPJ&+D1V06 zakDu8O{#i{#?No)w8hcV$zOa5p5nG`zo6EMQI$5?@yLBQgp*m7H`{&#US<6XqgHw1 zvK=fShCZmVaa+F}Fu0GWZe5sdY}5d#V;ZY}D8OPJg;3&|>ufsc3ANqVdlO)er+mKR z21?51VFz?NYrVlzEp?30OnTm#vIa`Ffi>kr+8fUp#!J7fwk}cnLdQnHQym32H6!n9 ziJvpAmTIK7D^UA7=Nb8eL_EtKYwIO(nEJ;Nu6dk#1bchnO!%z>I2-rk*(GwqT(u$ynlb+PnL^%`lQsZx2aD5rxn>y!LRu33P{$>14=jolx zVadX+89}xa>BtVo=ie)GfQ)M@{iT@Lo96`io6ap+b@`)_B&6E|>Z}a*_-Z;ggwabE&tANw8Er(@%s{@p`NA>hX^`1M;uXU zA+qv&B&^}wyAFomvK^|#fNnF>!qP<14yNYqImJ@NSDmaITLi9`mx(XSI;#wYEv`UGZ41V{v#Es{>8Aprf{q^jz;E%v&RNQ2KA9 zyMj+-cENV%Cdtdj^+QOubQV4gfaiSL5RU<0%Ww(K1Dub+T9vr@DO z9A&}jJ-W2mQ`A@gH!$+t_FrhHT=!ARFq^3;KVm@3k{qqSMc?(!UUUAnZ3r}Osqshq z39s}6e#QTq&LAd&@RT-auEv@wf{t1F&-%9HNx`?q8dci2tKeCgC(XQ@!IKfLb4SEW zr8^N)~~4bG9yNfVSx z5v?Z9J&)|c<>*Isjlp%kr3qVyHX3iz4<%V~fTsxD7tp4}M}#^`PW-5mi1r#jLZZlj zRgoiC^Y)^`9R;lEQ4=q)l9Q(`=*25vE6RbsH#@B49bFpygHK^!C7zrRp^aO3se&N| z46KX(+JqAW)=Nh_}TPQl#3OTiSnM(%ucy>#Mv3!2B%2Yw%3=F~*-kFkl2 zeFy>{v(g@oME5E=E0|k{(VtFxHdI5+OJA+f(bE>d{adyYb`m#_x!6^);i|kQ@{pe% zICUwQG=@{M3ZPpB%j%x4mgQ4vzg~WviZv>nTLo^p1*u9LovI{QQ|&&3V0kqj&7^f| zUKWU{k)57?Rgvkw0lP$)Q%a}SlyD0&a(l$~{_G6@bkwi?@;R5ZWD#luoW>AUJaXi{urNL| zg`88BHVfJmKTDvfAJ&B4pyqk1VM?fzr)&_tWnETC>pmuhUbr|$Gh|!$N26;Kefa^4 zVCfpyh91r1S1?u5;+;$wBX4`{=P^~1Or6Q*?AHT(tc$&|r;5q!7PbiNVK*anU2E^| zF`TTV7a>>qO^4IS9RnyS;k47_?g)fzVwo@J89N)(e4nRL!jg(k{e!nGkfbDZ6cWpE zj`9_liY0-JZF4d=M_br7Nqs;)A~wIXpEBO(e8QuOT>zd0{t4e%D?YX8+CI3Lil7)5 zul24_X$&`w{gNFKaoKiiHJwV|c29vvU<9T|N0f_`%b{0iM=){ZW4+NIxqsJs;IX_g zA4mc5kt4GTEfoj(dj)P~MhFtbVO{&~(z(XIU%u5KCo;Ql(O~h@*QRj<_YOJ`o) zopv;j3|ax@p<|TDbZDfr<^2}2nNNTyA>MdqA{xE^A_Euqgno*8j;HC=UXh3 z&o`>AMd+fRRm+Z>lq2cx=AyaAkZ2|s0M5(beX1&Or2P?gXq4n8f%~k2(m7SPi90Pf z_TfdCqWaapDpigBn~I`^(3}>?*c|xOPDG`*t#89I@b3iXdPZWaztXhGRI~(ci|os% zv3pUL#-FvlIfnUiaFO5U&T)=oN9u0SrM69DO<`OHTO;fPj8P5FYF~!&Fu7=wu%W(9 zOY8!%7g3H@0`mRZufk>c{dPJ}bEiJ4cuq=J>l$2$nRcJb&6JuHILr0!QSN?k{Thq= zlFE3FTP3g8L`uZA-nt+o5}oK5{VVd{#eeVPy|=!qWZkB1^JWc}o1vo5(DpxMM#2yO zNo4=*4ETej^^9$M%gdiyL^_R+<*|JKmm6fYe~kJ)&bKqP=u$}Mi(M+UF{Pq@7}9te zwN8sI&8N`=fpn|7y@TuP>j%Z_HtMnzjRD0=G+Ui96e5?Q?b+v>rF16<8vHjUmh08N z(!@A;c-Qr$@)dV%T)(=F=E=L@La}QN`dxk2Rl{g6t;m1*Zf>D>weg|HYgSWU9X8pT zM_2ntl$$>Y@E6$ot$-1qHot06%1U#QB&3ukJ`3M7btcUtvJl9K1~)ffXx|bbyL&-= zC}b0gq$!VRqGPhvFJMks1^n*YQSzaWLbLT5l^K5D4~0{IA;@QP252NOTu4#DV;~?& zU{qLvVKAGqOQk74Ytkcj>-UjddY^?1lwR(rtG4%v4CistN>2_e8y}YhRff3(_EZ{H z`XFuY8;qUn5>jYLSHImq)49Ylgl4&9h$gbGmHsGi5?WqD(tkf<_e`9Du5bG2AJTqj zBja$?sKw<)(QNB`s?`e>J!1QAoPtW{pXgan$u>JuTb2n5akoIgiu@D{D%b0^K9$-( zN#BQE4N-?PykNec+%#=NaN_(!?xICK+uLV@kuoeoo5BwZ2-(4@=s>3y#CcF`mhTf$lwgZ)&G0|2ho2GAKL#0$}fL; zkP2VY)cylQ?t(kf*2{@1D1e21h7)`SXm7~+nrL%D`_xUc(KOswb!SHv+~*TKPjyTH zjjGPH-iLz56$Hxg^VOIeYLKbPX?$X%bq9?seoldAyco872I;Lo={t7P6GB;*pye{ z0?(hvE3c%O)CNGr4o9O6Y$o~_Od6fnT$e~jBi+9#dUXKExD3JN+!h$$cT`jrMe3|H zIHM37tlAG1oynX)O+zIP+S20;!?4$uG#MCVHXYL7fqdTcXmSk}Z4)jObds0<9xGGh z_gZKni79J`A7_^llg7{hx-a&;??JN2PtXx?$xFG7hp+|3w@V0qhV@=8%x!r6Y7<2C3(x5wgroqKO*n z5f$Uz5<`|LOioa#900LQSP2aKx}=PHmZcmj+%+}<)lc;oQnlB} z)81>LCOBmTLuX#UBcF8))n@CXCQvYH0*wU#G1&#g*vs-^#*^5o271{Kj9Ta6i%{F} zq9XQL(eWF;je^ltMS7&fq9xCX2cW(Qf|80p^BqwQXvNrN4a^}lA;`?%85L0$mwCmD z$IvB>6_`cSUv-5?qI09h{yoGEbfJvId%>H|5s9*5h%Mm;zYNk?)=Q`}D@ZXvt2zAF zPO^XKB(fvt2NPj}$_!QwZkOjCV_!-k4-sjXwGjTYtS1~aKW3|DjOr;oB79)ah2 z*q?yv?693g)-{t$I6N`xBN+rtx`1kY>Rh*6SxAXNj0+kFzxWWx?xwT?5 z!xT3q+y+f*YYa{heg};C1U*RW2?T4;`USnH`y#sB1Hu6yUz=qkgI2KMU~A+Y>0u&5 z%X2|NHfjte3kh?kA|$>(Fgn7$saYt8GEBd8tg*(!f&k7QP0FW&_+U0_{!yZn%W+X( zmi|R3O{u7$<4Ytd2i+?ZQ3J(L6rhMoW)d@O;4-4!+?o)In#VArt=%)yqJe}WQQTv3 z+G}Cx5G^YcF&*`sXD~wz6q*pK5!EoFSCKPO$6SFS%C7afn8DMSFd@Ji0!xZQXc1*k zf64~3Kb^9!K~q12&14OHQ6%q*b0(6E8Kf{3hisN77XB$HEvut36dqKt6}|-YDT^62 zY46K(Q6~w?sSu;*?2=*mHPo;bub9Dz!8}k!2SQAds5%F77-_Y)_x2N_O+li8ZOx=^ zh~}Ui9n%r=Z=?tjHn*v_ zsBjqXVg%DJj4|rYDsHTsh*z?RmBKWx9-Pg|uemAu1!z}nkep&2>tWGsqr1Ba0a0fkZvZ5HWJrAG5Jo(Xw+RA_rCQ1d`Mt z+=Y61hhaFmDQf1D9zig3f^p$uraT$M}9dWo8!W+oUcWSQv`xC77vhVE^mg_@pM*!3~#> zcp9MiDv-tXu+0qHamWAp`{j#0bnkJiPM^EscYAV##T=qA#THYIm%Dv> z_Dgo)j|H%>SPGeV=dOD0*Of**Es=ecu0xs8nn5Y*$C@>F+8rLXeao~p1BrJ#%Z^rsyJ+2ap6n)M%mu!i_~D0RsK{q{u}o@yjmpnQqO+~3@msGTnb z*)sLJ$aB<5e*=K777jeYSuJN0ea~H7$A`*>Q zwcosHymQct;tJELnt0~Bn9=7&We=$E02c$NSnJ}ZMI+72R6)`pUJ{GqRK=;|Jv}TH zX^&%}U+({Oq!8nUtE#qLtrcIdLBwgNYv;iaHRro}NR-XxkRCi9ROw zMOjA7$`!MoDXm+RUVv(TVd6ms2igya86Cd_I-r&uHb&LO{et01^Dos+eDc zF;Ov}ejbw|Dm&|2Rp&5E?Yy)LsU3v@QGZ-DfF)E}%V4MyzdrQnlq6g=vBlI|pRe1& zARCD)!p`ZiIgcm-&Up@11q?73T|xy!o?RCx;SMgFvxZ(NnC#Nk0h$&l+>jJBffOan>zP|Ox$j%O;*)yEl~cw_5qLZQw-Uj~FB=OF z$Q#i?0i`Y2?Z33AX;A@oRrRveHVNJS-`wJ(04M=B_>vi)s(7$PSBodYO7ofA&L1_7 zqJLB8jfwUUGryfoZ77Q_BQ*8cqBAa(v4zC9I~VSVVa@5?G-|+9ybMAOIvrh4JA`-< zR6e5~+Hb;SCj@uapjCYP*Z5Q?SGrGI)uWE+<(~U(D3$)$?Tgc(oYwd7Pb&O*Z$Vr| z1wY>hNF&KK>3=ZBn1Lqo{@xCJ&n&r$t147))$S(QSq?;YIWfUZ4lB~V%Lt=R`qWtvOyL|g-<60~F`|D-t8qa5>h>ong&c~E7J1fuO(r7bCTSLP-wv&rMqP|A1 zSy#duWqQiSj9Q-svzAo}k+Jv`UL=j+N7kBw5RNs^&Dmd7-dF9nACbJx-#78iBAA6};%ZR_!r( z?OeXI$GNx3glZgyQ;050O&p!pM^mpx_PSBOv|xbjdfju4mUFi9G`%fFW~qa! z4d`ygKALTs%6l+=n@L#I9pS7FrF+ZtzIUNwN_0JDtifBOkWJLKE>-fnF_fF{ZJr|V z+zQ>@Z;yFhcaADWs{UDhY-VaAbTkaOXY}356{2cos1=rP<7_bQcd@jNEW%Y>*!|Z2oQNm6qe+BAb8EVm@jl z)MKi>+!Rb;x~DN%THQ|EX??ZNWmJw!sA@4Q(EWP-b-a)tnMlCn z`hK4ejeNb^>F^Z6G5zm{+jJm

-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�W`Pv!9IWkQbm1(4JwR@A3ytP;xM}?53Q73 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 E0NxQjEC2ui literal 0 HcmV?d00001 diff --git a/deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.otf b/deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.otf new file mode 100644 index 0000000000000000000000000000000000000000..914fb0e4102e0758cbf948d75a3896b935e973d7 GIT binary patch literal 111408 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 z𝔧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 VS)F8aoz*}#&tc!ck*ZPt008I%^^pJo literal 0 HcmV?d00001 diff --git a/deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.woff2 b/deep-sea-stories/packages/web/src/assets/fonts/AktivGrotesk.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6642d80c8fb7d06bbab2c3a92f536dec0df867b6 GIT binary patch literal 36688 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 literal 0 HcmV?d00001 diff --git a/deep-sea-stories/packages/web/src/assets/fonts/JuneExptActive.ttf b/deep-sea-stories/packages/web/src/assets/fonts/JuneExptActive.ttf new file mode 100644 index 0000000000000000000000000000000000000000..57fe6eaa07875022e1cd21375c6f4ff55d8f1af1 GIT binary patch literal 115836 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

$&#Lj-{i$8Dd`R10$G@uk!>q30XJzO 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 literal 0 HcmV?d00001 diff --git a/deep-sea-stories/packages/web/src/assets/react.svg b/deep-sea-stories/packages/web/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/deep-sea-stories/packages/web/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/deep-sea-stories/packages/web/src/components/ui/button.tsx b/deep-sea-stories/packages/web/src/components/ui/button.tsx new file mode 100644 index 0000000..36496a2 --- /dev/null +++ b/deep-sea-stories/packages/web/src/components/ui/button.tsx @@ -0,0 +1,56 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: + "border border-input bg-background hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button" + return ( + + ) + } +) +Button.displayName = "Button" + +export { Button, buttonVariants } diff --git a/deep-sea-stories/packages/web/src/index.css b/deep-sea-stories/packages/web/src/index.css index e543249..84a2bb7 100644 --- a/deep-sea-stories/packages/web/src/index.css +++ b/deep-sea-stories/packages/web/src/index.css @@ -1,68 +1,145 @@ -:root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; +@import "tailwindcss"; +@import "tw-animate-css"; - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; +@custom-variant dark (&:is(.dark *)); - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; +:root { + --radius: 0.625rem; + --background: #fcf6e7; + --foreground: oklch(0.129 0.042 264.695); + --card: oklch(1 0 0); + --card-foreground: oklch(0.129 0.042 264.695); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.129 0.042 264.695); + --primary: oklch(0.208 0.042 265.755); + --primary-foreground: oklch(0.984 0.003 247.858); + --secondary: oklch(0.968 0.007 247.896); + --secondary-foreground: oklch(0.208 0.042 265.755); + --muted: oklch(0.968 0.007 247.896); + --muted-foreground: oklch(0.554 0.046 257.417); + --accent: #fad8d1; + --accent-foreground: oklch(0.208 0.042 265.755); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.929 0.013 255.508); + --input: oklch(0.929 0.013 255.508); + --ring: oklch(0.704 0.04 256.788); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.984 0.003 247.858); + --sidebar-foreground: oklch(0.129 0.042 264.695); + --sidebar-primary: oklch(0.208 0.042 265.755); + --sidebar-primary-foreground: oklch(0.984 0.003 247.858); + --sidebar-accent: oklch(0.968 0.007 247.896); + --sidebar-accent-foreground: oklch(0.208 0.042 265.755); + --sidebar-border: oklch(0.929 0.013 255.508); + --sidebar-ring: oklch(0.704 0.04 256.788); } -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; +@font-face { + font-family: aktiv-grotesk; + src: + url("./assets/fonts/AktivGrotesk.woff2") format("woff2"), + url("./assets/fonts/AktivGrotesk.woff") format("woff"), + url("./assets/fonts/AktivGrotesk.otf") format("opentype"); + font-display: auto; } -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; +@font-face { + font-family: june-expt; + src: url("./assets/fonts/JuneExptActive.ttf") format("truetype"); + font-display: auto; } -h1 { - font-size: 3.2em; - line-height: 1.1; +@theme inline { + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); } -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; +.dark { + --background: oklch(0.129 0.042 264.695); + --foreground: oklch(0.984 0.003 247.858); + --card: oklch(0.208 0.042 265.755); + --card-foreground: oklch(0.984 0.003 247.858); + --popover: oklch(0.208 0.042 265.755); + --popover-foreground: oklch(0.984 0.003 247.858); + --primary: oklch(0.929 0.013 255.508); + --primary-foreground: oklch(0.208 0.042 265.755); + --secondary: oklch(0.279 0.041 260.031); + --secondary-foreground: oklch(0.984 0.003 247.858); + --muted: oklch(0.279 0.041 260.031); + --muted-foreground: oklch(0.704 0.04 256.788); + --accent: oklch(0.279 0.041 260.031); + --accent-foreground: oklch(0.984 0.003 247.858); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.551 0.027 264.364); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.208 0.042 265.755); + --sidebar-foreground: oklch(0.984 0.003 247.858); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.984 0.003 247.858); + --sidebar-accent: oklch(0.279 0.041 260.031); + --sidebar-accent-foreground: oklch(0.984 0.003 247.858); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.551 0.027 264.364); } -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; + +@theme { + --font-sans: aktiv-grotesk, sans-serif; + --font-display: june-expt, sans-serif; } -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; +@layer base { + * { + @apply border-border outline-ring/50; } - a:hover { - color: #747bff; + body { + @apply bg-background text-foreground; } - button { - background-color: #f9f9f9; + + button:not([disabled]), + [role="button"]:not([disabled]) { + cursor: pointer; } } diff --git a/deep-sea-stories/packages/web/src/lib/utils.ts b/deep-sea-stories/packages/web/src/lib/utils.ts new file mode 100644 index 0000000..bd0c391 --- /dev/null +++ b/deep-sea-stories/packages/web/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/deep-sea-stories/packages/web/tsconfig.app.json b/deep-sea-stories/packages/web/tsconfig.app.json index f5e68b3..d6d2a9b 100644 --- a/deep-sea-stories/packages/web/tsconfig.app.json +++ b/deep-sea-stories/packages/web/tsconfig.app.json @@ -2,9 +2,15 @@ "compilerOptions": { "target": "ES2022", "useDefineForClassFields": true, - "lib": ["ES2022", "DOM", "DOM.Iterable"], + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], "module": "ESNext", - "types": ["vite/client"], + "types": [ + "vite/client" + ], "skipLibCheck": true, /* Bundler mode */ "moduleResolution": "bundler", @@ -19,7 +25,15 @@ "noUnusedParameters": true, "erasableSyntaxOnly": true, "noFallthroughCasesInSwitch": true, - "noUncheckedSideEffectImports": true + "noUncheckedSideEffectImports": true, + "baseUrl": ".", + "paths": { + "@/*": [ + "./src/*" + ] + } }, - "include": ["src"] + "include": [ + "src" + ] } diff --git a/deep-sea-stories/packages/web/tsconfig.json b/deep-sea-stories/packages/web/tsconfig.json index fb12418..eeabc0d 100644 --- a/deep-sea-stories/packages/web/tsconfig.json +++ b/deep-sea-stories/packages/web/tsconfig.json @@ -1,7 +1,19 @@ { "files": [], "references": [ - { "path": "./tsconfig.app.json" }, - { "path": "./tsconfig.node.json" } - ] + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "./src/*" + ] + } + } } diff --git a/deep-sea-stories/packages/web/vite.config.ts b/deep-sea-stories/packages/web/vite.config.ts index e22b3b8..d685860 100644 --- a/deep-sea-stories/packages/web/vite.config.ts +++ b/deep-sea-stories/packages/web/vite.config.ts @@ -1,3 +1,5 @@ +import path from 'node:path'; +import tailwindcss from '@tailwindcss/vite'; import react from '@vitejs/plugin-react'; import { defineConfig } from 'vite'; @@ -9,5 +11,11 @@ export default defineConfig({ plugins: [['babel-plugin-react-compiler']], }, }), + tailwindcss(), ], + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, }); diff --git a/deep-sea-stories/yarn.lock b/deep-sea-stories/yarn.lock index c6a5e2d..0d1d3c4 100644 --- a/deep-sea-stories/yarn.lock +++ b/deep-sea-stories/yarn.lock @@ -300,6 +300,34 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.4.5": + version: 1.5.0 + resolution: "@emnapi/core@npm:1.5.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10c0/52ba3485277706d92fa27d92b37e5b4f6ef0742c03ed68f8096f294c6bfa30f0752c82d4c2bfa14bff4dc30d63c9f71a8f9fb64a92743d00807d9e468fafd5ff + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.4.5": + version: 1.5.0 + resolution: "@emnapi/runtime@npm:1.5.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/a85c9fc4e3af49cbe41e5437e5be2551392a931910cd0a5b5d3572532786927810c9cc1db11b232ec8f9657b33d4e6f7c4f985f1a052917d7cd703b5b2a20faa + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.1.0, @emnapi/wasi-threads@npm:^1.0.4": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 + languageName: node + linkType: hard + "@esbuild/aix-ppc64@npm:0.25.10": version: 0.25.10 resolution: "@esbuild/aix-ppc64@npm:0.25.10" @@ -578,7 +606,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/remapping@npm:^2.3.5": +"@jridgewell/remapping@npm:^2.3.4, @jridgewell/remapping@npm:^2.3.5": version: 2.3.5 resolution: "@jridgewell/remapping@npm:2.3.5" dependencies: @@ -595,7 +623,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": version: 1.5.5 resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 @@ -612,6 +640,17 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:^0.2.12": + version: 0.2.12 + resolution: "@napi-rs/wasm-runtime@npm:0.2.12" + dependencies: + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.10.0" + checksum: 10c0/6d07922c0613aab30c6a497f4df297ca7c54e5b480e00035e0209b872d5c6aab7162fc49477267556109c2c7ed1eb9c65a174e27e9b87568106a87b0a6e3ca7d + languageName: node + linkType: hard + "@npmcli/agent@npm:^3.0.0": version: 3.0.0 resolution: "@npmcli/agent@npm:3.0.0" @@ -641,6 +680,34 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-compose-refs@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-compose-refs@npm:1.1.2" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/d36a9c589eb75d634b9b139c80f916aadaf8a68a7c1c4b8c6c6b88755af1a92f2e343457042089f04cc3f23073619d08bb65419ced1402e9d4e299576d970771 + languageName: node + linkType: hard + +"@radix-ui/react-slot@npm:^1.2.3": + version: 1.2.3 + resolution: "@radix-ui/react-slot@npm:1.2.3" + dependencies: + "@radix-ui/react-compose-refs": "npm:1.1.2" + peerDependencies: + "@types/react": "*" + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/5913aa0d760f505905779515e4b1f0f71a422350f077cc8d26d1aafe53c97f177fec0e6d7fbbb50d8b5e498aa9df9f707ca75ae3801540c283b26b0136138eef + languageName: node + linkType: hard + "@rolldown/pluginutils@npm:1.0.0-beta.38": version: 1.0.0-beta.38 resolution: "@rolldown/pluginutils@npm:1.0.0-beta.38" @@ -802,6 +869,172 @@ __metadata: languageName: node linkType: hard +"@tailwindcss/node@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/node@npm:4.1.13" + dependencies: + "@jridgewell/remapping": "npm:^2.3.4" + enhanced-resolve: "npm:^5.18.3" + jiti: "npm:^2.5.1" + lightningcss: "npm:1.30.1" + magic-string: "npm:^0.30.18" + source-map-js: "npm:^1.2.1" + tailwindcss: "npm:4.1.13" + checksum: 10c0/969b2eaefced271655fdf53a07737103736115c6b55fa1559c78147d17871da988c165ab2236bf4da8cdbde1e50a5116b8df2225e20f63de981d43da5b69e3f1 + languageName: node + linkType: hard + +"@tailwindcss/oxide-android-arm64@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-android-arm64@npm:4.1.13" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-darwin-arm64@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.1.13" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-darwin-x64@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-darwin-x64@npm:4.1.13" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-freebsd-x64@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.1.13" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.13" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.13" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-arm64-musl@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.1.13" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-x64-gnu@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.1.13" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@tailwindcss/oxide-linux-x64-musl@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.1.13" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@tailwindcss/oxide-wasm32-wasi@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.1.13" + dependencies: + "@emnapi/core": "npm:^1.4.5" + "@emnapi/runtime": "npm:^1.4.5" + "@emnapi/wasi-threads": "npm:^1.0.4" + "@napi-rs/wasm-runtime": "npm:^0.2.12" + "@tybys/wasm-util": "npm:^0.10.0" + tslib: "npm:^2.8.0" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.13" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@tailwindcss/oxide-win32-x64-msvc@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.1.13" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@tailwindcss/oxide@npm:4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/oxide@npm:4.1.13" + dependencies: + "@tailwindcss/oxide-android-arm64": "npm:4.1.13" + "@tailwindcss/oxide-darwin-arm64": "npm:4.1.13" + "@tailwindcss/oxide-darwin-x64": "npm:4.1.13" + "@tailwindcss/oxide-freebsd-x64": "npm:4.1.13" + "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.1.13" + "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.1.13" + "@tailwindcss/oxide-linux-arm64-musl": "npm:4.1.13" + "@tailwindcss/oxide-linux-x64-gnu": "npm:4.1.13" + "@tailwindcss/oxide-linux-x64-musl": "npm:4.1.13" + "@tailwindcss/oxide-wasm32-wasi": "npm:4.1.13" + "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.1.13" + "@tailwindcss/oxide-win32-x64-msvc": "npm:4.1.13" + detect-libc: "npm:^2.0.4" + tar: "npm:^7.4.3" + dependenciesMeta: + "@tailwindcss/oxide-android-arm64": + optional: true + "@tailwindcss/oxide-darwin-arm64": + optional: true + "@tailwindcss/oxide-darwin-x64": + optional: true + "@tailwindcss/oxide-freebsd-x64": + optional: true + "@tailwindcss/oxide-linux-arm-gnueabihf": + optional: true + "@tailwindcss/oxide-linux-arm64-gnu": + optional: true + "@tailwindcss/oxide-linux-arm64-musl": + optional: true + "@tailwindcss/oxide-linux-x64-gnu": + optional: true + "@tailwindcss/oxide-linux-x64-musl": + optional: true + "@tailwindcss/oxide-wasm32-wasi": + optional: true + "@tailwindcss/oxide-win32-arm64-msvc": + optional: true + "@tailwindcss/oxide-win32-x64-msvc": + optional: true + checksum: 10c0/7cc64827b0c854724a3b371a7f1484535db5cca9f53dda359631bce9c42b043f2822db6c5359f7ed9f1c8adbc48ecb52c414454f9330ffd25a9a679686d2a83e + languageName: node + linkType: hard + +"@tailwindcss/vite@npm:^4.1.13": + version: 4.1.13 + resolution: "@tailwindcss/vite@npm:4.1.13" + dependencies: + "@tailwindcss/node": "npm:4.1.13" + "@tailwindcss/oxide": "npm:4.1.13" + tailwindcss: "npm:4.1.13" + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 + checksum: 10c0/4e9b1d54a64655b775f26816a7be52236d4716a35f88af6b835fcb4f7f466db3c9cbb6c052e5550a97b3e5cff821f337cd6d9ddefd480e71db21a2844719b20e + languageName: node + linkType: hard + "@tanstack/query-core@npm:5.90.2": version: 5.90.2 resolution: "@tanstack/query-core@npm:5.90.2" @@ -860,6 +1093,15 @@ __metadata: languageName: node linkType: hard +"@tybys/wasm-util@npm:^0.10.0": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b255094f293794c6d2289300c5fbcafbb5532a3aed3a5ffd2f8dc1828e639b88d75f6a376dd8f94347a44813fd7a7149d8463477a9a49525c8b2dcaa38c2d1e8 + languageName: node + linkType: hard + "@types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -1186,6 +1428,22 @@ __metadata: languageName: node linkType: hard +"class-variance-authority@npm:^0.7.1": + version: 0.7.1 + resolution: "class-variance-authority@npm:0.7.1" + dependencies: + clsx: "npm:^2.1.1" + checksum: 10c0/0f438cea22131808b99272de0fa933c2532d5659773bfec0c583de7b3f038378996d3350683426b8e9c74a6286699382106d71fbec52f0dd5fbb191792cccb5b + languageName: node + linkType: hard + +"clsx@npm:^2.1.1": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -1292,6 +1550,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.3, detect-libc@npm:^2.0.4": + version: 2.1.1 + resolution: "detect-libc@npm:2.1.1" + checksum: 10c0/97053299c1f68c7c4adf7b78c8d506e1d5f3a3fbc775920aaa0ecf7f8fcc6dfa46338a6ca82fe4500b4a51937def314584265a4ec9d565577485c4496aa7d64e + languageName: node + linkType: hard + "dotenv@npm:^17.2.3": version: 17.2.3 resolution: "dotenv@npm:17.2.3" @@ -1356,6 +1621,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.18.3": + version: 5.18.3 + resolution: "enhanced-resolve@npm:5.18.3" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10c0/d413c23c2d494e4c1c9c9ac7d60b812083dc6d446699ed495e69c920988af0a3c66bf3f8d0e7a45cb1686c2d4c1df9f4e7352d973f5b56fe63d8d711dd0ccc54 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -1773,7 +2048,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -1903,6 +2178,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:^2.5.1": + version: 2.6.1 + resolution: "jiti@npm:2.6.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/79b2e96a8e623f66c1b703b98ec1b8be4500e1d217e09b09e343471bbb9c105381b83edbb979d01cef18318cc45ce6e153571b6c83122170eefa531c64b6789b + languageName: node + linkType: hard + "joycon@npm:^3.1.1": version: 3.1.1 resolution: "joycon@npm:3.1.1" @@ -1962,6 +2246,116 @@ __metadata: languageName: node linkType: hard +"lightningcss-darwin-arm64@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-darwin-arm64@npm:1.30.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-darwin-x64@npm:1.30.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-freebsd-x64@npm:1.30.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.30.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-linux-arm64-gnu@npm:1.30.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-linux-arm64-musl@npm:1.30.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-linux-x64-gnu@npm:1.30.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-linux-x64-musl@npm:1.30.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-win32-arm64-msvc@npm:1.30.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss-win32-x64-msvc@npm:1.30.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:1.30.1": + version: 1.30.1 + resolution: "lightningcss@npm:1.30.1" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-darwin-arm64: "npm:1.30.1" + lightningcss-darwin-x64: "npm:1.30.1" + lightningcss-freebsd-x64: "npm:1.30.1" + lightningcss-linux-arm-gnueabihf: "npm:1.30.1" + lightningcss-linux-arm64-gnu: "npm:1.30.1" + lightningcss-linux-arm64-musl: "npm:1.30.1" + lightningcss-linux-x64-gnu: "npm:1.30.1" + lightningcss-linux-x64-musl: "npm:1.30.1" + lightningcss-win32-arm64-msvc: "npm:1.30.1" + lightningcss-win32-x64-msvc: "npm:1.30.1" + dependenciesMeta: + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/1e1ad908f3c68bf39d964a6735435a8dd5474fb2765076732d64a7b6aa2af1f084da65a9462443a9adfebf7dcfb02fb532fce1d78697f2a9de29c8f40f09aee3 + languageName: node + linkType: hard + "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -1978,6 +2372,24 @@ __metadata: languageName: node linkType: hard +"lucide-react@npm:^0.544.0": + version: 0.544.0 + resolution: "lucide-react@npm:0.544.0" + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/2503f8cf65e62915997073b6053423bf8091b9470cb397560b417ef2f1628ea162c49e821b787cf153afb86828482d941f051c3f2aa642a1fa58c3de227e0113 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.18": + version: 0.30.19 + resolution: "magic-string@npm:0.30.19" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/db23fd2e2ee98a1aeb88a4cdb2353137fcf05819b883c856dd79e4c7dfb25151e2a5a4d5dbd88add5e30ed8ae5c51bcf4accbc6becb75249d924ec7b4fbcae27 + languageName: node + linkType: hard + "make-fetch-happen@npm:^14.0.3": version: 14.0.3 resolution: "make-fetch-happen@npm:14.0.3" @@ -2714,6 +3126,27 @@ __metadata: languageName: node linkType: hard +"tailwind-merge@npm:^3.3.1": + version: 3.3.1 + resolution: "tailwind-merge@npm:3.3.1" + checksum: 10c0/b84c6a78d4669fa12bf5ab8f0cdc4400a3ce0a7c006511af4af4be70bb664a27466dbe13ee9e3b31f50ddf6c51d380e8192ce0ec9effce23ca729d71a9f63818 + languageName: node + linkType: hard + +"tailwindcss@npm:4.1.13, tailwindcss@npm:^4.1.13": + version: 4.1.13 + resolution: "tailwindcss@npm:4.1.13" + checksum: 10c0/2b80b4b11463818fd16063b7cc13fd0f6e18d7e3c3e54bbdc98742981be807884addb1dd657bc6816cb4085197b7d583f5064f619e1039a54221ffa36b7ed4c0 + languageName: node + linkType: hard + +"tapable@npm:^2.2.0": + version: 2.2.3 + resolution: "tapable@npm:2.2.3" + checksum: 10c0/e57fd8e2d756c317f8726a1bec8f2c904bc42e37fcbd4a78211daeab89f42c734b6a20e61774321f47be9a421da628a0c78b62d36c5ed186f4d5232d09ae15f2 + languageName: node + linkType: hard + "tar@npm:^7.4.3": version: 7.5.1 resolution: "tar@npm:7.5.1" @@ -2753,6 +3186,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.4.0, tslib@npm:^2.8.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + "tsx@npm:^4.20.6": version: 4.20.6 resolution: "tsx@npm:4.20.6" @@ -2769,6 +3209,13 @@ __metadata: languageName: node linkType: hard +"tw-animate-css@npm:^1.4.0": + version: 1.4.0 + resolution: "tw-animate-css@npm:1.4.0" + checksum: 10c0/6cfbc19ccc73883ec80ef1f9147f43e736cb01ee99c8172968b37eb81b720523d30e38b1a96aef92db3c586d864204db5510b51744ddacbbf0ad8e3c7fb56ec7 + languageName: node + linkType: hard + "typescript@npm:^5.9.2": version: 5.9.2 resolution: "typescript@npm:5.9.2" @@ -2896,6 +3343,8 @@ __metadata: version: 0.0.0-use.local resolution: "web@workspace:packages/web" dependencies: + "@radix-ui/react-slot": "npm:^1.2.3" + "@tailwindcss/vite": "npm:^4.1.13" "@tanstack/react-query": "npm:^5.90.2" "@trpc/client": "npm:^11.6.0" "@trpc/server": "npm:^11.6.0" @@ -2905,9 +3354,15 @@ __metadata: "@vitejs/plugin-react": "npm:^5.0.3" babel-plugin-react-compiler: "npm:^19.1.0-rc.3" backend: "workspace:*" + class-variance-authority: "npm:^0.7.1" + clsx: "npm:^2.1.1" globals: "npm:^16.4.0" + lucide-react: "npm:^0.544.0" react: "npm:^19.1.1" react-dom: "npm:^19.1.1" + tailwind-merge: "npm:^3.3.1" + tailwindcss: "npm:^4.1.13" + tw-animate-css: "npm:^1.4.0" vite: "npm:^7.1.7" languageName: unknown linkType: soft From 7482924d72cb91199f781fc95af187ff176f945a Mon Sep 17 00:00:00 2001 From: Tomasz Mazur <47872060+AHGIJMKLKKZNPJKQR@users.noreply.github.com> Date: Wed, 1 Oct 2025 16:52:17 +0200 Subject: [PATCH 6/6] Format and lint --- deep-sea-stories/packages/web/components.json | 40 ++++---- .../packages/web/src/components/ui/button.tsx | 94 +++++++++---------- deep-sea-stories/packages/web/src/index.css | 2 + .../packages/web/src/lib/utils.ts | 6 +- .../packages/web/tsconfig.app.json | 18 +--- deep-sea-stories/packages/web/tsconfig.json | 4 +- 6 files changed, 77 insertions(+), 87 deletions(-) diff --git a/deep-sea-stories/packages/web/components.json b/deep-sea-stories/packages/web/components.json index 364f6ca..e05588c 100644 --- a/deep-sea-stories/packages/web/components.json +++ b/deep-sea-stories/packages/web/components.json @@ -1,22 +1,22 @@ { - "$schema": "https://ui.shadcn.com/schema.json", - "style": "default", - "rsc": false, - "tsx": true, - "tailwind": { - "config": "", - "css": "src/index.css", - "baseColor": "slate", - "cssVariables": true, - "prefix": "" - }, - "iconLibrary": "lucide", - "aliases": { - "components": "@/components", - "utils": "@/lib/utils", - "ui": "@/components/ui", - "lib": "@/lib", - "hooks": "@/hooks" - }, - "registries": {} + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/index.css", + "baseColor": "slate", + "cssVariables": true, + "prefix": "" + }, + "iconLibrary": "lucide", + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "registries": {} } diff --git a/deep-sea-stories/packages/web/src/components/ui/button.tsx b/deep-sea-stories/packages/web/src/components/ui/button.tsx index 36496a2..754a1d0 100644 --- a/deep-sea-stories/packages/web/src/components/ui/button.tsx +++ b/deep-sea-stories/packages/web/src/components/ui/button.tsx @@ -1,56 +1,56 @@ -import * as React from "react" -import { Slot } from "@radix-ui/react-slot" -import { cva, type VariantProps } from "class-variance-authority" +import { Slot } from '@radix-ui/react-slot'; +import { cva, type VariantProps } from 'class-variance-authority'; +import * as React from 'react'; -import { cn } from "@/lib/utils" +import { cn } from '@/lib/utils'; const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", - { - variants: { - variant: { - default: "bg-primary text-primary-foreground hover:bg-primary/90", - destructive: - "bg-destructive text-destructive-foreground hover:bg-destructive/90", - outline: - "border border-input bg-background hover:bg-accent hover:text-accent-foreground", - secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", - ghost: "hover:bg-accent hover:text-accent-foreground", - link: "text-primary underline-offset-4 hover:underline", - }, - size: { - default: "h-10 px-4 py-2", - sm: "h-9 rounded-md px-3", - lg: "h-11 rounded-md px-8", - icon: "h-10 w-10", - }, - }, - defaultVariants: { - variant: "default", - size: "default", - }, - } -) + 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', + { + variants: { + variant: { + default: 'bg-primary text-primary-foreground hover:bg-primary/90', + destructive: + 'bg-destructive text-destructive-foreground hover:bg-destructive/90', + outline: + 'border border-input bg-background hover:bg-accent hover:text-accent-foreground', + secondary: + 'bg-secondary text-secondary-foreground hover:bg-secondary/80', + ghost: 'hover:bg-accent hover:text-accent-foreground', + link: 'text-primary underline-offset-4 hover:underline', + }, + size: { + default: 'h-10 px-4 py-2', + sm: 'h-9 rounded-md px-3', + lg: 'h-11 rounded-md px-8', + icon: 'h-10 w-10', + }, + }, + defaultVariants: { + variant: 'default', + size: 'default', + }, + }, +); export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps { - asChild?: boolean + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean; } const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : "button" - return ( - - ) - } -) -Button.displayName = "Button" + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : 'button'; + return ( + + ); + }, +); +Button.displayName = 'Button'; -export { Button, buttonVariants } +export { Button, buttonVariants }; diff --git a/deep-sea-stories/packages/web/src/index.css b/deep-sea-stories/packages/web/src/index.css index 84a2bb7..90d3dc9 100644 --- a/deep-sea-stories/packages/web/src/index.css +++ b/deep-sea-stories/packages/web/src/index.css @@ -1,3 +1,5 @@ +/* biome-ignore-all lint/suspicious/noUnknownAtRules: tailwind */ + @import "tailwindcss"; @import "tw-animate-css"; diff --git a/deep-sea-stories/packages/web/src/lib/utils.ts b/deep-sea-stories/packages/web/src/lib/utils.ts index bd0c391..256f86f 100644 --- a/deep-sea-stories/packages/web/src/lib/utils.ts +++ b/deep-sea-stories/packages/web/src/lib/utils.ts @@ -1,6 +1,6 @@ -import { clsx, type ClassValue } from "clsx" -import { twMerge } from "tailwind-merge" +import { type ClassValue, clsx } from 'clsx'; +import { twMerge } from 'tailwind-merge'; export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)) + return twMerge(clsx(inputs)); } diff --git a/deep-sea-stories/packages/web/tsconfig.app.json b/deep-sea-stories/packages/web/tsconfig.app.json index d6d2a9b..c40e9bf 100644 --- a/deep-sea-stories/packages/web/tsconfig.app.json +++ b/deep-sea-stories/packages/web/tsconfig.app.json @@ -2,15 +2,9 @@ "compilerOptions": { "target": "ES2022", "useDefineForClassFields": true, - "lib": [ - "ES2022", - "DOM", - "DOM.Iterable" - ], + "lib": ["ES2022", "DOM", "DOM.Iterable"], "module": "ESNext", - "types": [ - "vite/client" - ], + "types": ["vite/client"], "skipLibCheck": true, /* Bundler mode */ "moduleResolution": "bundler", @@ -28,12 +22,8 @@ "noUncheckedSideEffectImports": true, "baseUrl": ".", "paths": { - "@/*": [ - "./src/*" - ] + "@/*": ["./src/*"] } }, - "include": [ - "src" - ] + "include": ["src"] } diff --git a/deep-sea-stories/packages/web/tsconfig.json b/deep-sea-stories/packages/web/tsconfig.json index eeabc0d..827701b 100644 --- a/deep-sea-stories/packages/web/tsconfig.json +++ b/deep-sea-stories/packages/web/tsconfig.json @@ -11,9 +11,7 @@ "compilerOptions": { "baseUrl": ".", "paths": { - "@/*": [ - "./src/*" - ] + "@/*": ["./src/*"] } } }