diff --git a/.changeset/forty-cheetahs-dress.md b/.changeset/forty-cheetahs-dress.md new file mode 100644 index 00000000..8a499fb4 --- /dev/null +++ b/.changeset/forty-cheetahs-dress.md @@ -0,0 +1,6 @@ +--- +"@stackspulse/server": patch +"stackspulse": patch +--- + +Migrate protocols list to a separate package. diff --git a/.gitignore b/.gitignore index c98e3319..ab0378bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules .turbo +dist diff --git a/apps/server/package.json b/apps/server/package.json index 75457450..e4abb43f 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -15,6 +15,7 @@ "@sentry/node": "8.25.0", "@stacks/blockchain-api-client": "7.13.2", "@stacks/stacks-blockchain-api-types": "7.13.2", + "@stackspulse/protocols": "workspace:*", "@t3-oss/env-core": "0.11.0", "drizzle-orm": "0.33.0", "h3": "1.12.0", diff --git a/apps/server/src/api/protocols/users/index.ts b/apps/server/src/api/protocols/users/index.ts index 3839d762..28d60c1e 100644 --- a/apps/server/src/api/protocols/users/index.ts +++ b/apps/server/src/api/protocols/users/index.ts @@ -1,8 +1,8 @@ +import type { Protocol } from "@stackspulse/protocols"; import { z } from "zod"; import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; -import type { Protocol } from "~/lib/protocols"; const protocolUsersRouteSchema = z.object({ date: z.enum(["7d", "30d", "all"]), diff --git a/apps/server/src/api/root/upsert-dapps/index.ts b/apps/server/src/api/root/upsert-dapps/index.ts index b3fb691f..8554232e 100644 --- a/apps/server/src/api/root/upsert-dapps/index.ts +++ b/apps/server/src/api/root/upsert-dapps/index.ts @@ -1,7 +1,7 @@ +import { protocols, protocolsInfo } from "@stackspulse/protocols"; import { db } from "~/db/db"; import { dapps } from "~/db/schema"; import { conflictUpdateSetAllColumns } from "~/db/utils"; -import { protocols, protocolsInfo } from "~/lib/protocols"; /** * Keep the DB up to date with the latest protocols diff --git a/apps/server/src/api/transactions/index.get.ts b/apps/server/src/api/transactions/index.get.ts index 05026d19..f7427597 100644 --- a/apps/server/src/api/transactions/index.get.ts +++ b/apps/server/src/api/transactions/index.get.ts @@ -1,9 +1,9 @@ import type { ContractCallTransaction } from "@stacks/stacks-blockchain-api-types"; +import { type Protocol, protocols } from "@stackspulse/protocols"; import { z } from "zod"; import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; -import { type Protocol, protocols } from "~/lib/protocols"; import { stacksApi } from "~/lib/stacks-api"; const transactionsRouteSchema = z.object({ diff --git a/apps/server/src/api/transactions/stats/index.ts b/apps/server/src/api/transactions/stats/index.ts index ffe486b7..5ae32d24 100644 --- a/apps/server/src/api/transactions/stats/index.ts +++ b/apps/server/src/api/transactions/stats/index.ts @@ -1,8 +1,8 @@ +import { protocols } from "@stackspulse/protocols"; import { z } from "zod"; import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; -import { protocols } from "~/lib/protocols"; const transactionStatsRouteSchema = z.object({ protocol: z.enum(protocols).optional(), diff --git a/apps/server/src/api/transactions/unique-senders/index.ts b/apps/server/src/api/transactions/unique-senders/index.ts index 2ccd2cf7..1289ba54 100644 --- a/apps/server/src/api/transactions/unique-senders/index.ts +++ b/apps/server/src/api/transactions/unique-senders/index.ts @@ -1,8 +1,8 @@ +import { protocols } from "@stackspulse/protocols"; import { z } from "zod"; import { sql } from "~/db/db"; import { apiCacheConfig } from "~/lib/api"; import { getValidatedQueryZod } from "~/lib/nitro"; -import { protocols } from "~/lib/protocols"; const transactionUniqueSendersRouteSchema = z.object({ protocol: z.enum(protocols), diff --git a/apps/web/package.json b/apps/web/package.json index f0864e30..8943fa40 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -16,6 +16,7 @@ "@sentry/nextjs": "8.25.0", "@stacks/stacks-blockchain-api-types": "7.13.2", "@stacks/transactions": "6.16.1", + "@stackspulse/protocols": "workspace:*", "@t3-oss/env-core": "0.11.0", "@t3-oss/env-nextjs": "0.11.0", "@tabler/icons-react": "3.12.0", diff --git a/apps/web/src/app/api/cron/weekly-users/route.ts b/apps/web/src/app/api/cron/weekly-users/route.ts index 11159532..5e603681 100644 --- a/apps/web/src/app/api/cron/weekly-users/route.ts +++ b/apps/web/src/app/api/cron/weekly-users/route.ts @@ -1,7 +1,7 @@ import { env } from "@/env"; import type { ProtocolUsersRouteResponse } from "@/lib/api"; -import { protocolsInfo } from "@/lib/protocols"; import { sendTweet } from "@/lib/twitter"; +import { protocolsInfo } from "@stackspulse/protocols"; export const dynamic = "force-dynamic"; diff --git a/apps/web/src/app/protocols/[protocol]/contracts/page.tsx b/apps/web/src/app/protocols/[protocol]/contracts/page.tsx index 933651e9..1270b20f 100644 --- a/apps/web/src/app/protocols/[protocol]/contracts/page.tsx +++ b/apps/web/src/app/protocols/[protocol]/contracts/page.tsx @@ -1,5 +1,5 @@ -import { isProtocol, protocolsInfo } from "@/lib/protocols"; import { Link, Table } from "@radix-ui/themes"; +import { isProtocol, protocolsInfo } from "@stackspulse/protocols"; import type { Metadata } from "next"; import { notFound } from "next/navigation"; diff --git a/apps/web/src/app/protocols/[protocol]/layout.tsx b/apps/web/src/app/protocols/[protocol]/layout.tsx index 587656a4..f7f30e2d 100644 --- a/apps/web/src/app/protocols/[protocol]/layout.tsx +++ b/apps/web/src/app/protocols/[protocol]/layout.tsx @@ -1,7 +1,7 @@ import { ProtocolInfo } from "@/components/Protocol/ProtocolInfo"; import { ProtocolMenu } from "@/components/Protocol/ProtocolMenu"; -import { isProtocol, protocolsInfo } from "@/lib/protocols"; import { Container } from "@radix-ui/themes"; +import { isProtocol, protocolsInfo } from "@stackspulse/protocols"; import type { Metadata } from "next"; import { notFound } from "next/navigation"; diff --git a/apps/web/src/app/protocols/[protocol]/opengraph-image.tsx b/apps/web/src/app/protocols/[protocol]/opengraph-image.tsx index b6682751..2e3cf80e 100644 --- a/apps/web/src/app/protocols/[protocol]/opengraph-image.tsx +++ b/apps/web/src/app/protocols/[protocol]/opengraph-image.tsx @@ -1,5 +1,5 @@ import { env } from "@/env"; -import { type Protocol, protocolsInfo } from "@/lib/protocols"; +import { type Protocol, protocolsInfo } from "@stackspulse/protocols"; import { ImageResponse } from "next/og"; export const runtime = "edge"; diff --git a/apps/web/src/app/protocols/[protocol]/page.tsx b/apps/web/src/app/protocols/[protocol]/page.tsx index 0c3b4d88..840a688b 100644 --- a/apps/web/src/app/protocols/[protocol]/page.tsx +++ b/apps/web/src/app/protocols/[protocol]/page.tsx @@ -3,7 +3,7 @@ import { ProtocolTransactions } from "@/components/Protocol/ProtocolTransactions import { StackingDAORef } from "@/components/Protocol/StackingDAO/StackingDAORef"; import { UniqueUsersBarChart } from "@/components/Stats/UniqueUsersBarChart"; import { DepositWithdrawBarChart } from "@/components/Stats/stackingdao/DepositsWithdrawBarChart"; -import { isProtocol, protocolsInfo } from "@/lib/protocols"; +import { isProtocol, protocolsInfo } from "@stackspulse/protocols"; import { notFound } from "next/navigation"; import { Suspense } from "react"; diff --git a/apps/web/src/app/sitemap.ts b/apps/web/src/app/sitemap.ts index 5146d241..acf4afb6 100644 --- a/apps/web/src/app/sitemap.ts +++ b/apps/web/src/app/sitemap.ts @@ -1,5 +1,5 @@ import { env } from "@/env"; -import { protocolsInfo } from "@/lib/protocols"; +import { protocolsInfo } from "@stackspulse/protocols"; import type { MetadataRoute } from "next"; export default function sitemap(): MetadataRoute.Sitemap { diff --git a/apps/web/src/components/Layout/Header.tsx b/apps/web/src/components/Layout/Header.tsx index ef8d6664..eaf8c629 100644 --- a/apps/web/src/components/Layout/Header.tsx +++ b/apps/web/src/components/Layout/Header.tsx @@ -1,6 +1,5 @@ "use client"; import { appConfig } from "@/appConfig"; -import { type Protocol, protocolsInfo } from "@/lib/protocols"; import { Container, DropdownMenu, @@ -8,6 +7,7 @@ import { Link, Separator, } from "@radix-ui/themes"; +import { type Protocol, protocolsInfo } from "@stackspulse/protocols"; import { IconBrandGithub, IconBrandX, diff --git a/apps/web/src/components/Protocol/ProtocolInfo.tsx b/apps/web/src/components/Protocol/ProtocolInfo.tsx index bdbbc50a..e33d33e2 100644 --- a/apps/web/src/components/Protocol/ProtocolInfo.tsx +++ b/apps/web/src/components/Protocol/ProtocolInfo.tsx @@ -1,5 +1,5 @@ -import { type Protocol, protocolsInfo } from "@/lib/protocols"; import { Heading, IconButton, Text } from "@radix-ui/themes"; +import { type Protocol, protocolsInfo } from "@stackspulse/protocols"; import { IconBrandX, IconWorld } from "@tabler/icons-react"; import Image from "next/image"; diff --git a/apps/web/src/components/Protocol/ProtocolMenu.tsx b/apps/web/src/components/Protocol/ProtocolMenu.tsx index 44001be1..da2b23c5 100644 --- a/apps/web/src/components/Protocol/ProtocolMenu.tsx +++ b/apps/web/src/components/Protocol/ProtocolMenu.tsx @@ -1,7 +1,7 @@ "use client"; -import type { Protocol } from "@/lib/protocols"; import { Button } from "@radix-ui/themes"; +import type { Protocol } from "@stackspulse/protocols"; import Link from "next/link"; import { useParams, usePathname } from "next/navigation"; diff --git a/apps/web/src/components/Protocol/ProtocolStats.tsx b/apps/web/src/components/Protocol/ProtocolStats.tsx index 67e25d04..ed8c8f98 100644 --- a/apps/web/src/components/Protocol/ProtocolStats.tsx +++ b/apps/web/src/components/Protocol/ProtocolStats.tsx @@ -1,7 +1,7 @@ import { env } from "@/env"; import type { TransactionStatsRouteResponse } from "@/lib/api"; -import type { Protocol } from "@/lib/protocols"; import { Card, Text } from "@radix-ui/themes"; +import type { Protocol } from "@stackspulse/protocols"; interface ProtocolStatsProps { protocol: Protocol; diff --git a/apps/web/src/components/Protocol/ProtocolTransactions.tsx b/apps/web/src/components/Protocol/ProtocolTransactions.tsx index b3068a70..f196207b 100644 --- a/apps/web/src/components/Protocol/ProtocolTransactions.tsx +++ b/apps/web/src/components/Protocol/ProtocolTransactions.tsx @@ -1,8 +1,8 @@ "use client"; import { useGetTransactions } from "@/hooks/api/useGetTransactions"; -import type { Protocol } from "@/lib/protocols"; import { Heading, Separator } from "@radix-ui/themes"; +import type { Protocol } from "@stackspulse/protocols"; import { Fragment } from "react"; import { TransactionRow } from "../Transaction/TransactionRow"; diff --git a/apps/web/src/components/Stats/TopProtocolsBarList/TopProtocolsBarListQuery.tsx b/apps/web/src/components/Stats/TopProtocolsBarList/TopProtocolsBarListQuery.tsx index ab605145..a3a584f4 100644 --- a/apps/web/src/components/Stats/TopProtocolsBarList/TopProtocolsBarListQuery.tsx +++ b/apps/web/src/components/Stats/TopProtocolsBarList/TopProtocolsBarListQuery.tsx @@ -1,7 +1,7 @@ import { BarList } from "@/components/ui/BarList"; import { useGetProtocolsUsers } from "@/hooks/api/useGetProtocolsUsers"; import type { ProtocolUsersRouteQuery } from "@/lib/api"; -import { protocolsInfo } from "@/lib/protocols"; +import { protocolsInfo } from "@stackspulse/protocols"; interface TopProtocolsBarListClientProps { dateFilter: ProtocolUsersRouteQuery["date"]; diff --git a/apps/web/src/components/Stats/UniqueUsersBarChart/UniqueUsersBarChartClient.tsx b/apps/web/src/components/Stats/UniqueUsersBarChart/UniqueUsersBarChartClient.tsx index 5784178c..e5d27050 100644 --- a/apps/web/src/components/Stats/UniqueUsersBarChart/UniqueUsersBarChartClient.tsx +++ b/apps/web/src/components/Stats/UniqueUsersBarChart/UniqueUsersBarChartClient.tsx @@ -1,8 +1,8 @@ "use client"; import { BarChart } from "@/components/ui/BarChart"; import { numberValueFormatter } from "@/components/ui/utils"; -import type { Protocol } from "@/lib/protocols"; import { Card, Inset, Separator, Text } from "@radix-ui/themes"; +import type { Protocol } from "@stackspulse/protocols"; interface UniqueUsersBarChartProps { protocol: Protocol; diff --git a/apps/web/src/components/Stats/UniqueUsersBarChart/index.tsx b/apps/web/src/components/Stats/UniqueUsersBarChart/index.tsx index d7e8341b..c0b48fd0 100644 --- a/apps/web/src/components/Stats/UniqueUsersBarChart/index.tsx +++ b/apps/web/src/components/Stats/UniqueUsersBarChart/index.tsx @@ -1,5 +1,5 @@ import { env } from "@/env"; -import type { Protocol } from "@/lib/protocols"; +import type { Protocol } from "@stackspulse/protocols"; import { UniqueUsersBarChartClient } from "./UniqueUsersBarChartClient"; export const UniqueUsersBarChart = async ({ diff --git a/apps/web/src/hooks/api/useGetTransactions.ts b/apps/web/src/hooks/api/useGetTransactions.ts index a1d99028..361521d0 100644 --- a/apps/web/src/hooks/api/useGetTransactions.ts +++ b/apps/web/src/hooks/api/useGetTransactions.ts @@ -1,6 +1,6 @@ import { env } from "@/env"; import type { TransactionsRouteResponse } from "@/lib/api"; -import type { Protocol } from "@/lib/protocols"; +import type { Protocol } from "@stackspulse/protocols"; import { useSuspenseQuery } from "@tanstack/react-query"; export const useGetTransactions = ( diff --git a/apps/web/src/lib/api.ts b/apps/web/src/lib/api.ts index adebc509..f8aeb1a5 100644 --- a/apps/web/src/lib/api.ts +++ b/apps/web/src/lib/api.ts @@ -1,5 +1,5 @@ import type { ContractCallTransaction } from "@stacks/stacks-blockchain-api-types"; -import type { Protocol } from "./protocols"; +import type { Protocol } from "@stackspulse/protocols"; /** * `/api/protocols/users` diff --git a/apps/web/src/lib/protocols.ts b/apps/web/src/lib/protocols.ts deleted file mode 100644 index c22e8bda..00000000 --- a/apps/web/src/lib/protocols.ts +++ /dev/null @@ -1,98 +0,0 @@ -export const protocols = [ - "alex", - "arkadiko", - "stackswap", - "velar", - "bitflow", - "stackingdao", - "zest", -] as const; - -export type Protocol = (typeof protocols)[number]; - -export const isProtocol = (value: string): value is Protocol => - protocols.includes(value as Protocol); - -export const protocolsInfo = { - alex: { - name: "Alex", - description: - "Next Gen DeFi on Bitcoin via Stacks. Building Financial Infrastructure on Bitcoin through Stacks.", - website: "https://alexgo.io/", - x: "https://twitter.com/ALEXLabBTC", - contracts: [ - "SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01", - // Contracts before hack - "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.amm-swap-pool-v1-1", - "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-01", - "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-02", - "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-03", - ], - }, - arkadiko: { - name: "Arkadiko", - description: - "Arkadiko is a decentralized, non-custodial liquidity protocol where users can collateralize their assets and mint a stablecoin called USDA.", - website: "https://arkadiko.finance/", - x: "https://twitter.com/ArkadikoFinance", - contracts: [ - "SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-swap-v2-1", - "SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.arkadiko-multi-hop-swap-v1-1", - ], - }, - bitflow: { - name: "Bitflow", - description: "The Decentralized Exchange for Bitcoiners.", - website: "https://www.bitflow.finance/", - x: "https://twitter.com/Bitflow_Finance", - contracts: [ - "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M.stableswap-abtc-xbtc-v-1-2", - "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M.stableswap-aeusdc-susdt-v-1-2", - "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M.stableswap-stx-ststx-v-1-2", - "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M.stableswap-usda-aeusdc-v-1-2", - "SPQC38PW542EQJ5M11CR25P7BS1CA6QT4TBXGB3M.stableswap-usda-susdt-v-1-2", - ], - }, - stackingdao: { - name: "StackingDAO", - description: "Liquid stacking on Stacks.", - website: "https://www.stackingdao.com/", - x: "https://twitter.com/StackingDao", - contracts: [ - "SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.stacking-dao-core-v1", - ], - }, - stackswap: { - name: "StackSwap", - description: - "Stackswap is a combination of DEX and token launchpad on Stacks blockchain.", - website: "https://app.stackswap.org/", - x: "https://twitter.com/Stackswap_BTC", - contracts: ["SP1Z92MPDQEWZXW36VX71Q25HKF5K2EPCJ304F275.stackswap-swap-v5k"], - }, - velar: { - name: "Velar", - description: "DeFi Liquidity Protocol on Bitcoin.", - website: "https://www.velar.co/", - x: "https://twitter.com/VelarBTC", - contracts: [ - "SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-router", - "SP1Y5YSTAHZ88XYK1VPDH24GY0HPX5J4JECTMY4A1.univ2-path2", - ], - }, - zest: { - name: "Zest", - description: "Zest Protocol is a BTC and Bitcoin L2 lending protocol.", - website: "https://www.zestprotocol.com/", - x: "https://twitter.com/ZestProtocol", - contracts: [ - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.pool-borrow", - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.borrow-helper-v1-0", - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.borrow-helper-v1-1", - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.borrow-helper-v2-1", - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.borrow-helper-v2-2", - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.borrow-helper-v1-2", - "SP2VCQJGH7PHP2DJK7Z0V48AGBHQAW3R3ZW1QF4N.borrow-helper-v1-3", - ], - }, -} as const; diff --git a/packages/protocols/package.json b/packages/protocols/package.json new file mode 100644 index 00000000..3522a9d0 --- /dev/null +++ b/packages/protocols/package.json @@ -0,0 +1,15 @@ +{ + "name": "@stackspulse/protocols", + "version": "0.0.0", + "private": true, + "files": ["dist"], + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "scripts": { + "build": "tsc" + }, + "devDependencies": { + "@tsconfig/node22": "22.0.0", + "typescript": "5.5.4" + } +} diff --git a/packages/protocols/src/index.ts b/packages/protocols/src/index.ts new file mode 100644 index 00000000..617dde53 --- /dev/null +++ b/packages/protocols/src/index.ts @@ -0,0 +1 @@ +export * from "./protocols.js"; diff --git a/apps/server/src/lib/protocols.ts b/packages/protocols/src/protocols.ts similarity index 95% rename from apps/server/src/lib/protocols.ts rename to packages/protocols/src/protocols.ts index c22e8bda..d7f6316b 100644 --- a/apps/server/src/lib/protocols.ts +++ b/packages/protocols/src/protocols.ts @@ -13,7 +13,15 @@ export type Protocol = (typeof protocols)[number]; export const isProtocol = (value: string): value is Protocol => protocols.includes(value as Protocol); -export const protocolsInfo = { +export const protocolsInfo: { + [key in Protocol]: { + name: string; + description: string; + website: string; + x: string; + contracts: string[]; + }; +} = { alex: { name: "Alex", description: @@ -22,7 +30,6 @@ export const protocolsInfo = { x: "https://twitter.com/ALEXLabBTC", contracts: [ "SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.amm-pool-v2-01", - // Contracts before hack "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.amm-swap-pool-v1-1", "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-01", "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.swap-helper-v1-02", diff --git a/packages/protocols/tsconfig.json b/packages/protocols/tsconfig.json new file mode 100644 index 00000000..1c3dcfb8 --- /dev/null +++ b/packages/protocols/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "declaration": true + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0206dbe7..2be452a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,6 +42,9 @@ importers: '@stacks/stacks-blockchain-api-types': specifier: 7.13.2 version: 7.13.2 + '@stackspulse/protocols': + specifier: workspace:* + version: link:../../packages/protocols '@t3-oss/env-core': specifier: 0.11.0 version: 0.11.0(typescript@5.5.4)(zod@3.23.8) @@ -94,6 +97,9 @@ importers: '@stacks/transactions': specifier: 6.16.1 version: 6.16.1 + '@stackspulse/protocols': + specifier: workspace:* + version: link:../../packages/protocols '@t3-oss/env-core': specifier: 0.11.0 version: 0.11.0(typescript@5.5.4)(zod@3.23.8) @@ -189,6 +195,15 @@ importers: specifier: 5.5.4 version: 5.5.4 + packages/protocols: + devDependencies: + '@tsconfig/node22': + specifier: 22.0.0 + version: 22.0.0 + typescript: + specifier: 5.5.4 + version: 5.5.4 + packages: '@alloc/quick-lru@5.2.0': @@ -2168,6 +2183,9 @@ packages: peerDependencies: react: ^18.0.0 + '@tsconfig/node22@22.0.0': + resolution: {integrity: sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==} + '@types/better-sqlite3@7.6.11': resolution: {integrity: sha512-i8KcD3PgGtGBLl3+mMYA8PdKkButvPyARxA7IQAd6qeslht13qxb1zzO8dRCtE7U3IoJS782zDBAeoKiM695kg==} @@ -4057,7 +4075,6 @@ packages: libsql@0.3.19: resolution: {integrity: sha512-Aj5cQ5uk/6fHdmeW0TiXK42FqUlwx7ytmMLPSaUQPin5HKKKuUPD62MAbN4OEweGBBI7q1BekoEN4gPUEL6MZA==} - cpu: [x64, arm64, wasm32] os: [darwin, linux, win32] lilconfig@2.1.0: @@ -7940,6 +7957,8 @@ snapshots: '@tanstack/query-core': 5.51.21 react: 18.3.1 + '@tsconfig/node22@22.0.0': {} + '@types/better-sqlite3@7.6.11': dependencies: '@types/node': 22.2.0 @@ -9067,7 +9086,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) eslint-plugin-react: 7.34.3(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) @@ -9091,7 +9110,7 @@ snapshots: enhanced-resolve: 5.17.1 eslint: 8.57.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.6 is-core-module: 2.14.0 @@ -9113,7 +9132,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 8ab3e17a..e9b0dad6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,3 @@ packages: - 'apps/*' + - 'packages/*'