{t("feed.followsAndFeeds", {
- subscriptionCount: feed.data.subscriptionCount,
- subscriptionNoun: t("feed.follower", { count: feed.data.subscriptionCount }),
- feedsCount: "feedCount" in feed.data ? feed.data.feedCount : 0,
+ subscriptionCount: list.data?.subscriptionCount,
+ subscriptionNoun: t("feed.follower", { count: list.data?.subscriptionCount }),
+ feedsCount: "feedCount" in listData ? listData.feedCount : 0,
feedsNoun: t("feed.feeds", { count: listData?.feedIds?.length }),
appName: APP_NAME,
})}
@@ -82,7 +81,7 @@ export function Component() {
{listData.feedIds
?.slice(0, 5)
.map((feedId) =>
)}
- {"feedCount" in feed.data && (
+ {"feedCount" in list.data && (
{
presentFeedFormModal({
@@ -92,7 +91,7 @@ export function Component() {
className="text-sm text-zinc-500"
>
{t("feed.follow_to_view_all", {
- count: feed.data.feedCount,
+ count: list.data.feedCount || 0,
})}
)}
diff --git a/apps/renderer/src/providers/context-menu-provider.tsx b/apps/renderer/src/providers/context-menu-provider.tsx
index e5fa4890d..34e3451fa 100644
--- a/apps/renderer/src/providers/context-menu-provider.tsx
+++ b/apps/renderer/src/providers/context-menu-provider.tsx
@@ -4,6 +4,7 @@ import { useHotkeys } from "react-hotkeys-hook"
import {
ContextMenu,
+ ContextMenuCheckboxItem,
ContextMenuContent,
ContextMenuItem,
ContextMenuPortal,
@@ -112,7 +113,11 @@ const Item = memo(({ item }: { item: NativeMenuItem }) => {
return
}
case "text": {
- const Wrapper = item.submenu ? ContextMenuSubTrigger : ContextMenuItem
+ const Wrapper = item.submenu
+ ? ContextMenuSubTrigger
+ : typeof item.checked === "boolean"
+ ? ContextMenuCheckboxItem
+ : ContextMenuItem
const Sub = item.submenu ? ContextMenuSub : Fragment
return (
@@ -122,6 +127,7 @@ const Item = memo(({ item }: { item: NativeMenuItem }) => {
disabled={item.enabled === false || (item.click === undefined && !item.submenu)}
onClick={onClick}
className="flex items-center gap-2"
+ checked={item.checked}
>
{item.icon}
{item.label}
diff --git a/apps/renderer/src/queries/lists.ts b/apps/renderer/src/queries/lists.ts
index a995596ba..24da78477 100644
--- a/apps/renderer/src/queries/lists.ts
+++ b/apps/renderer/src/queries/lists.ts
@@ -1,9 +1,19 @@
+import { useAuthQuery } from "~/hooks/common"
import { defineQuery } from "~/lib/defineQuery"
-import { feedActions } from "~/store/feed"
+import { listActions } from "~/store/list"
export const lists = {
list: () =>
- defineQuery(["lists"], async () => feedActions.fetchOwnedLists(), {
+ defineQuery(["lists"], async () => listActions.fetchOwnedLists(), {
+ rootKey: ["lists"],
+ }),
+ byId: ({ id }: { id: string }) =>
+ defineQuery(["lists", id], async () => listActions.fetchListById(id), {
rootKey: ["lists"],
}),
}
+
+export const useList = ({ id }: { id: string }) =>
+ useAuthQuery(lists.byId({ id }), {
+ enabled: !!id,
+ })
diff --git a/apps/renderer/src/services/feed.ts b/apps/renderer/src/services/feed.ts
index c262e261f..ee14c3a4a 100644
--- a/apps/renderer/src/services/feed.ts
+++ b/apps/renderer/src/services/feed.ts
@@ -1,11 +1,11 @@
import { browserDB } from "~/database"
-import type { FeedOrListModel } from "~/models/types"
+import type { FeedModel, FeedOrListModel } from "~/models/types"
import { BaseService } from "./base"
import { CleanerService } from "./cleaner"
-type TargetModelWithId = FeedOrListModel & { id: string }
-class ServiceStatic extends BaseService
{
+type FeedModelWithId = FeedModel & { id: string }
+class ServiceStatic extends BaseService {
constructor() {
super(browserDB.feeds)
}
@@ -15,13 +15,13 @@ class ServiceStatic extends BaseService {
CleanerService.reset(filterData.map((d) => ({ type: "feed", id: d.id! })))
- return this.table.bulkPut(filterData as TargetModelWithId[])
+ return this.table.bulkPut(filterData as FeedModelWithId[])
}
override async upsert(data: FeedOrListModel): Promise {
if (!data.id) return null
CleanerService.reset([{ type: "feed", id: data.id }])
- return this.table.put(data as TargetModelWithId)
+ return this.table.put(data as FeedModelWithId)
}
async bulkDelete(ids: string[]) {
diff --git a/apps/renderer/src/services/list.ts b/apps/renderer/src/services/list.ts
new file mode 100644
index 000000000..8a87a353b
--- /dev/null
+++ b/apps/renderer/src/services/list.ts
@@ -0,0 +1,37 @@
+import { omit } from "lodash-es"
+
+import { browserDB } from "~/database"
+import type { ListModel } from "~/models/types"
+
+import { BaseService } from "./base"
+import { CleanerService } from "./cleaner"
+
+class ServiceStatic extends BaseService<{ id: string }> {
+ constructor() {
+ super(browserDB.lists)
+ }
+
+ override async upsertMany(data: ListModel[]) {
+ CleanerService.reset(data.map((d) => ({ type: "feed", id: d.id! })))
+
+ // FIXME The backend should not pass these computed attributes, and these need to be removed here.
+ // Subsequent refactoring of the backend data flow should not nest computed attributes
+ return this.table.bulkPut(data.map((d) => omit(d, "owner")))
+ }
+
+ override async findAll() {
+ return super.findAll() as unknown as ListModel[]
+ }
+
+ override async upsert(data: ListModel): Promise {
+ if (!data.id) return null
+ CleanerService.reset([{ type: "feed", id: data.id }])
+ return this.table.put(omit(data, "owner"))
+ }
+
+ async bulkDelete(ids: string[]) {
+ return this.table.bulkDelete(ids)
+ }
+}
+
+export const ListService = new ServiceStatic()
diff --git a/apps/renderer/src/store/entry/store.ts b/apps/renderer/src/store/entry/store.ts
index 36b267f80..5ad529df2 100644
--- a/apps/renderer/src/store/entry/store.ts
+++ b/apps/renderer/src/store/entry/store.ts
@@ -5,7 +5,7 @@ import { isNil, merge, omit } from "lodash-es"
import { runTransactionInScope } from "~/database"
import { apiClient } from "~/lib/api-fetch"
import { getEntriesParams, omitObjectUndefinedValue } from "~/lib/utils"
-import type { CombinedEntryModel, EntryModel, FeedOrListRespModel } from "~/models"
+import type { CombinedEntryModel, EntryModel, FeedModel, FeedOrListRespModel } from "~/models"
import { EntryService } from "~/services"
import { feedActions } from "../feed"
@@ -249,7 +249,7 @@ class EntryActions {
}),
)
// Insert to feed store
- feedActions.upsertMany(feeds)
+ feedActions.upsertMany(feeds as FeedModel[])
const newStarIds = new Set(get().starIds)
for (const entryId in entryCollection) {
newStarIds.add(entryId)
diff --git a/apps/renderer/src/store/feed/hooks.ts b/apps/renderer/src/store/feed/hooks.ts
index 092eb9439..03768359c 100644
--- a/apps/renderer/src/store/feed/hooks.ts
+++ b/apps/renderer/src/store/feed/hooks.ts
@@ -9,8 +9,9 @@ import { useRouteParams } from "~/hooks/biz/useRouteParams"
import { apiClient } from "~/lib/api-fetch"
import type { FeedOrListRespModel } from "~/models"
+import { listActions } from "../list"
import { getSubscriptionByFeedId } from "../subscription"
-import { feedActions, useFeedStore } from "./store"
+import { useFeedStore } from "./store"
import type { FeedQueryParams } from "./types"
export const useFeedById = (feedId: Nullable): FeedOrListRespModel | null =>
@@ -75,7 +76,7 @@ export const useAddFeedToFeedList = (options?: {
json: payload,
})
- feeds.data.forEach((feed) => feedActions.addFeedToFeedList(payload.listId, feed))
+ feeds.data.forEach((feed) => listActions.addFeedToFeedList(payload.listId, feed))
},
onSuccess: () => {
toast.success(t("lists.feeds.add.success"))
@@ -96,7 +97,7 @@ export const useRemoveFeedFromFeedList = (options?: {
const { t } = useTranslation("settings")
return useMutation({
mutationFn: async (payload: { feedId: string; listId: string }) => {
- feedActions.removeFeedFromFeedList(payload.listId, payload.feedId)
+ listActions.removeFeedFromFeedList(payload.listId, payload.feedId)
await apiClient.lists.feeds.$delete({
json: {
listId: payload.listId,
diff --git a/apps/renderer/src/store/feed/store.ts b/apps/renderer/src/store/feed/store.ts
index 23aa7518e..3858cd224 100644
--- a/apps/renderer/src/store/feed/store.ts
+++ b/apps/renderer/src/store/feed/store.ts
@@ -5,13 +5,7 @@ import { nanoid } from "nanoid"
import { whoami } from "~/atoms/user"
import { runTransactionInScope } from "~/database"
import { apiClient } from "~/lib/api-fetch"
-import type {
- FeedModel,
- FeedOrListModel,
- FeedOrListRespModel,
- ListModel,
- UserModel,
-} from "~/models"
+import type { FeedModel, FeedOrListModel, FeedOrListRespModel, UserModel } from "~/models"
import { FeedService } from "~/services"
import { getSubscriptionByFeedId } from "../subscription"
@@ -30,16 +24,9 @@ class FeedActions {
set({ feeds: {} })
}
- upsertMany(feeds: FeedOrListRespModel[]) {
+ upsertMany(feeds: FeedModel[]) {
runTransactionInScope(() => {
- FeedService.upsertMany(
- feeds.map((feed) => {
- if (feed.type === "list") {
- return omit(feed, ["feeds"])
- }
- return feed
- }),
- )
+ FeedService.upsertMany(feeds)
})
set((state) =>
produce(state, (state) => {
@@ -73,9 +60,6 @@ class FeedActions {
const nonce = feed["nonce"] || nanoid(8)
state.feeds[nonce] = { ...feed, id: nonce }
}
- if ("feeds" in feed && feed.feeds) {
- this.upsertMany(feed.feeds)
- }
}
}),
)
@@ -114,50 +98,20 @@ class FeedActions {
})
}
- async addFeedToFeedList(listId: string, feed: FeedModel) {
- const list = get().feeds[listId] as ListModel
- if (!list) return
- feedActions.upsertMany([feed])
-
- this.patch(listId, {
- feedIds: [feed.id, ...list.feedIds],
- })
- feedActions.upsertMany([get().feeds[listId]])
- }
-
- async removeFeedFromFeedList(listId: string, feedId: string) {
- const list = get().feeds[listId] as ListModel
- if (!list) return
-
- this.patch(listId, {
- feedIds: list.feedIds.filter((id) => id !== feedId),
- })
- feedActions.upsertMany([get().feeds[listId]])
- }
-
// API Fetcher
//
- async fetchFeedById({ id, url, isList }: FeedQueryParams) {
- const res = isList
- ? await apiClient.lists.$get({
- query: {
- listId: id!,
- },
- })
- : await apiClient.feeds.$get({
- query: {
- id,
- url,
- },
- })
+ async fetchFeedById({ id, url }: FeedQueryParams) {
+ const res = await apiClient.feeds.$get({
+ query: {
+ id,
+ url,
+ },
+ })
const nonce = nanoid(8)
- const finalData = {
- ...("list" in res.data ? res.data.list : res.data.feed),
- }
-
+ const finalData = res.data.feed
if (!finalData.id) {
finalData["nonce"] = nonce
}
@@ -168,13 +122,6 @@ class FeedActions {
feed: !finalData.id ? { ...finalData, id: nonce } : finalData,
}
}
-
- async fetchOwnedLists() {
- const res = await apiClient.lists.list.$get()
- this.upsertMany(res.data)
-
- return res.data
- }
}
export const feedActions = new FeedActions()
diff --git a/apps/renderer/src/store/feed/types.ts b/apps/renderer/src/store/feed/types.ts
index 6d5d1cf69..1822b2e36 100644
--- a/apps/renderer/src/store/feed/types.ts
+++ b/apps/renderer/src/store/feed/types.ts
@@ -1,15 +1,8 @@
-import type { FeedOrListModel, FeedOrListRespModel } from "~/models"
+import type { FeedOrListModel } from "~/models"
type FeedId = string
export interface FeedState {
feeds: Record
}
-
-export interface FeedActions {
- upsertMany: (feeds: FeedOrListRespModel[]) => void
- clear: () => void
- patch: (feedId: FeedId, patch: Partial) => void
-}
-
export type FeedQueryParams = { id?: string; url?: string; isList?: boolean }
diff --git a/apps/renderer/src/store/list/hooks.ts b/apps/renderer/src/store/list/hooks.ts
new file mode 100644
index 000000000..05e75e90d
--- /dev/null
+++ b/apps/renderer/src/store/list/hooks.ts
@@ -0,0 +1,11 @@
+import type { FeedViewType } from "~/lib/enum"
+import type { ListModel } from "~/models"
+
+import { useListStore } from "./store"
+
+export const useListById = (listId: Nullable): ListModel | null =>
+ useListStore((state) => (listId ? state.lists[listId] : null))
+
+export const useListByView = (view: FeedViewType) => {
+ return useListStore((state) => Object.values(state.lists).filter((list) => list.view === view))
+}
diff --git a/apps/renderer/src/store/list/index.ts b/apps/renderer/src/store/list/index.ts
new file mode 100644
index 000000000..a92fe14dc
--- /dev/null
+++ b/apps/renderer/src/store/list/index.ts
@@ -0,0 +1,3 @@
+export * from "./hooks"
+export * from "./store"
+export * from "./types"
diff --git a/apps/renderer/src/store/list/store.ts b/apps/renderer/src/store/list/store.ts
new file mode 100644
index 000000000..d1d22ff96
--- /dev/null
+++ b/apps/renderer/src/store/list/store.ts
@@ -0,0 +1,84 @@
+import { runTransactionInScope } from "~/database"
+import { apiClient } from "~/lib/api-fetch"
+import type { FeedModel, ListModel, ListModelPoplutedFeeds } from "~/models"
+import { ListService } from "~/services/list"
+
+import { feedActions } from "../feed"
+import { createImmerSetter, createZustandStore } from "../utils/helper"
+import type { ListState } from "./types"
+
+export const useListStore = createZustandStore("list")(() => ({
+ lists: {},
+}))
+
+const set = createImmerSetter(useListStore)
+const get = useListStore.getState
+
+class ListActionStatic {
+ upsertMany(lists: ListModelPoplutedFeeds[]) {
+ if (lists.length === 0) return
+ const feeds = [] as FeedModel[]
+ set((state) => {
+ for (const list of lists) {
+ state.lists[list.id] = list
+
+ if (list.feeds)
+ for (const feed of list.feeds) {
+ feeds.push(feed)
+ }
+ }
+
+ feedActions.upsertMany(feeds)
+ return state
+ })
+
+ runTransactionInScope(() => ListService.upsertMany(lists))
+ }
+
+ async fetchOwnedLists() {
+ const res = await apiClient.lists.list.$get()
+ this.upsertMany(res.data)
+
+ return res.data
+ }
+
+ private patch(listId: string, data: Partial) {
+ set((state) => {
+ state.lists[listId] = { ...state.lists[listId], ...data }
+ return state
+ })
+
+ runTransactionInScope(async () => {
+ const patchedData = get().lists[listId]
+ if (!patchedData) return
+ return ListService.upsert(patchedData as ListModel)
+ })
+ }
+ async addFeedToFeedList(listId: string, feed: FeedModel) {
+ const list = get().lists[listId]
+ if (!list) return
+ feedActions.upsertMany([feed])
+
+ this.patch(listId, {
+ feedIds: [feed.id, ...list.feedIds],
+ })
+ }
+
+ async removeFeedFromFeedList(listId: string, feedId: string) {
+ const list = get().lists[listId] as ListModel
+ if (!list) return
+
+ this.patch(listId, {
+ feedIds: list.feedIds.filter((id) => id !== feedId),
+ })
+ }
+
+ async fetchListById(id: string) {
+ const res = await apiClient.lists.$get({ query: { listId: id } })
+
+ this.upsertMany([res.data.list])
+ return res.data
+ }
+}
+
+export const listActions = new ListActionStatic()
diff --git a/apps/renderer/src/store/list/types.ts b/apps/renderer/src/store/list/types.ts
new file mode 100644
index 000000000..444b7aef4
--- /dev/null
+++ b/apps/renderer/src/store/list/types.ts
@@ -0,0 +1,7 @@
+import type { ListModel } from "~/models"
+
+type FeedId = string
+
+export interface ListState {
+ lists: Record
+}
diff --git a/apps/renderer/src/store/search/index.ts b/apps/renderer/src/store/search/index.ts
index 9cd74e42e..4db0d1687 100644
--- a/apps/renderer/src/store/search/index.ts
+++ b/apps/renderer/src/store/search/index.ts
@@ -53,7 +53,6 @@ class SearchActions {
const feedsMap = new Map(feeds.map((feed) => [feed.id, feed]))
const entriesFuse = this.createFuse(entries, ["title", "content", "description", "id"])
- // @ts-expect-error
const feedsFuse = this.createFuse(feeds, ["title", "description", "id", "siteUrl", "url"])
const subscriptionsFuse = this.createFuse(subscriptions, ["title", "category"])
diff --git a/apps/renderer/src/store/subscription/store.ts b/apps/renderer/src/store/subscription/store.ts
index 82828adc8..988ba2055 100644
--- a/apps/renderer/src/store/subscription/store.ts
+++ b/apps/renderer/src/store/subscription/store.ts
@@ -7,11 +7,12 @@ import { runTransactionInScope } from "~/database"
import { apiClient } from "~/lib/api-fetch"
import { FeedViewType } from "~/lib/enum"
import { capitalizeFirstLetter } from "~/lib/utils"
-import type { SubscriptionModel } from "~/models"
+import type { FeedModel, ListModelPoplutedFeeds, SubscriptionModel } from "~/models"
import { SubscriptionService } from "~/services"
import { entryActions } from "../entry"
import { feedActions, getFeedById } from "../feed"
+import { listActions } from "../list/store"
import { feedUnreadActions } from "../unread"
import { createZustandStore, doMutationAndTransaction } from "../utils/helper"
@@ -116,8 +117,19 @@ class SubscriptionActions {
const transformedData = morphResponseData(res.data)
this.upsertMany(transformedData)
+
+ const feeds = [] as FeedModel[]
+ const lists = [] as ListModelPoplutedFeeds[]
+ for (const subscription of res.data) {
+ if ("feeds" in subscription) {
+ feeds.push(subscription.feeds)
+ } else {
+ lists.push(subscription.lists)
+ }
+ }
this.updateCategoryOpenState(transformedData.filter((s) => s.category || s.defaultCategory))
- feedActions.upsertMany(res.data.map((s) => ("feeds" in s ? s.feeds : s.lists)))
+ feedActions.upsertMany(feeds)
+ listActions.upsertMany(lists)
return res.data
}
diff --git a/apps/renderer/src/store/utils/helper.ts b/apps/renderer/src/store/utils/helper.ts
index 85267c790..bca9bb580 100644
--- a/apps/renderer/src/store/utils/helper.ts
+++ b/apps/renderer/src/store/utils/helper.ts
@@ -1,6 +1,7 @@
/* eslint-disable no-unsafe-finally */
+import { produce } from "immer"
import { unstable_batchedUpdates } from "react-dom"
-import type { StateCreator } from "zustand"
+import type { StateCreator, StoreApi, UseBoundStore } from "zustand"
import type { PersistStorage } from "zustand/middleware"
import { devtools } from "zustand/middleware"
import { shallow } from "zustand/shallow"
@@ -127,3 +128,12 @@ export const doMutationAndTransaction = async (
return await Promise.all([wrappedMutation(), wrappedTransaction()])
}
}
+
+export function createImmerSetter(useStore: UseBoundStore>) {
+ return (updater: (state: T) => void) =>
+ useStore.setState((state) =>
+ produce(state, (draft) => {
+ updater(draft as T)
+ }),
+ )
+}
diff --git a/package.json b/package.json
index ee783eea7..6e25cea3b 100644
--- a/package.json
+++ b/package.json
@@ -94,7 +94,7 @@
"tailwindcss-animate": "1.0.7",
"tsup": "8.3.0",
"tsx": "4.19.1",
- "typescript": "^5.6.2",
+ "typescript": "5.4.5",
"vite": "^5.4.8",
"vite-bundle-analyzer": "0.12.1",
"vite-plugin-mkcert": "1.17.6",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 68519771c..0bf024112 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -97,7 +97,7 @@ importers:
version: 2.22.4(encoding@0.1.13)
'@t3-oss/env-core':
specifier: ^0.11.1
- version: 0.11.1(typescript@5.6.2)(zod@3.23.8)
+ version: 0.11.1(typescript@5.4.5)(zod@3.23.8)
'@tailwindcss/container-queries':
specifier: 0.1.1
version: 0.1.1(tailwindcss@3.4.13)
@@ -151,7 +151,7 @@ importers:
version: 9.11.1(jiti@2.0.0)
eslint-config-hyoban:
specifier: ^3.1.8
- version: 3.1.8(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(tailwindcss@3.4.13)(typescript@5.6.2)
+ version: 3.1.8(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(tailwindcss@3.4.13)(typescript@5.4.5)
fake-indexeddb:
specifier: 6.0.0
version: 6.0.0
@@ -196,13 +196,13 @@ importers:
version: 1.0.7(tailwindcss@3.4.13)
tsup:
specifier: 8.3.0
- version: 8.3.0(jiti@2.0.0)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1)
+ version: 8.3.0(jiti@2.0.0)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.4.5)(yaml@2.5.1)
tsx:
specifier: 4.19.1
version: 4.19.1
typescript:
- specifier: ^5.6.2
- version: 5.6.2
+ specifier: 5.4.5
+ version: 5.4.5
vite:
specifier: ^5.4.8
version: 5.4.8(@types/node@22.7.4)(terser@5.34.1)
@@ -214,7 +214,7 @@ importers:
version: 1.17.6(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
vite-tsconfig-paths:
specifier: 5.0.1
- version: 5.0.1(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
+ version: 5.0.1(typescript@5.4.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1))
vitest:
specifier: '2.0'
version: 2.0.5(@types/node@22.7.4)(terser@5.34.1)
@@ -312,9 +312,6 @@ importers:
hono:
specifier: 4.6.3
version: 4.6.3(patch_hash=iej2g43ojhll5opwbnvyorjq4e)
- typescript:
- specifier: ^5.6.2
- version: 5.6.2
apps/renderer:
dependencies:
@@ -646,9 +643,6 @@ importers:
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
- typescript:
- specifier: ^5.6.2
- version: 5.6.2
vitest:
specifier: '2.0'
version: 2.0.5(@types/node@22.7.4)(terser@5.34.1)
@@ -8392,6 +8386,11 @@ packages:
typescript:
optional: true
+ typescript@5.4.5:
+ resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
typescript@5.6.2:
resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
engines: {node: '>=14.17'}
@@ -10307,13 +10306,13 @@ snapshots:
'@eslint-community/regexpp@4.11.1': {}
- '@eslint-react/ast@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/ast@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
birecord: 0.1.1
string-ts: 2.2.0
ts-pattern: 5.4.0
@@ -10322,18 +10321,18 @@ snapshots:
- supports-color
- typescript
- '@eslint-react/core@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/core@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
birecord: 0.1.1
short-unique-id: 5.2.0
ts-pattern: 5.4.0
@@ -10342,46 +10341,46 @@ snapshots:
- supports-color
- typescript
- '@eslint-react/eslint-plugin@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/eslint-plugin@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
- eslint-plugin-react-debug: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- eslint-plugin-react-dom: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- eslint-plugin-react-hooks-extra: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- eslint-plugin-react-naming-convention: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- eslint-plugin-react-web-api: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- eslint-plugin-react-x: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ eslint-plugin-react-debug: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ eslint-plugin-react-dom: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ eslint-plugin-react-hooks-extra: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ eslint-plugin-react-naming-convention: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ eslint-plugin-react-web-api: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ eslint-plugin-react-x: 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@eslint-react/jsx@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/jsx@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
ts-pattern: 5.4.0
transitivePeerDependencies:
- eslint
- supports-color
- typescript
- '@eslint-react/shared@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/shared@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
'@eslint-react/tools': 1.14.2
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
picomatch: 4.0.2
transitivePeerDependencies:
- eslint
@@ -10390,24 +10389,24 @@ snapshots:
'@eslint-react/tools@1.14.2': {}
- '@eslint-react/types@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/types@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
'@eslint-react/tools': 1.14.2
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
transitivePeerDependencies:
- eslint
- supports-color
- typescript
- '@eslint-react/var@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@eslint-react/var@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
ts-pattern: 5.4.0
transitivePeerDependencies:
- eslint
@@ -12217,9 +12216,9 @@ snapshots:
'@sindresorhus/is@4.6.0': {}
- '@stylistic/eslint-plugin@2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@stylistic/eslint-plugin@2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
eslint-visitor-keys: 4.1.0
espree: 10.2.0
@@ -12237,6 +12236,12 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
+ '@t3-oss/env-core@0.11.1(typescript@5.4.5)(zod@3.23.8)':
+ dependencies:
+ zod: 3.23.8
+ optionalDependencies:
+ typescript: 5.4.5
+
'@t3-oss/env-core@0.11.1(typescript@5.6.2)(zod@3.23.8)':
dependencies:
zod: 3.23.8
@@ -12462,34 +12467,34 @@ snapshots:
'@types/node': 22.7.4
optional: true
- '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
'@eslint-community/regexpp': 4.11.1
- '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 8.7.0
eslint: 9.11.1(jiti@2.0.0)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
+ '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 8.7.0
debug: 4.3.7
eslint: 9.11.1(jiti@2.0.0)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -12498,21 +12503,21 @@ snapshots:
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/visitor-keys': 8.7.0
- '@typescript-eslint/type-utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@typescript-eslint/type-utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
debug: 4.3.7
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- eslint
- supports-color
'@typescript-eslint/types@8.7.0': {}
- '@typescript-eslint/typescript-estree@8.7.0(typescript@5.6.2)':
+ '@typescript-eslint/typescript-estree@8.7.0(typescript@5.4.5)':
dependencies:
'@typescript-eslint/types': 8.7.0
'@typescript-eslint/visitor-keys': 8.7.0
@@ -12521,18 +12526,18 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.0.0))
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2)
+ '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
transitivePeerDependencies:
- supports-color
@@ -12554,17 +12559,17 @@ snapshots:
'@unocss/core@0.62.4': {}
- '@unocss/eslint-config@0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@unocss/eslint-config@0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@unocss/eslint-plugin': 0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@unocss/eslint-plugin': 0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
transitivePeerDependencies:
- eslint
- supports-color
- typescript
- '@unocss/eslint-plugin@0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)':
+ '@unocss/eslint-plugin@0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@unocss/config': 0.62.4
'@unocss/core': 0.62.4
magic-string: 0.30.11
@@ -13435,7 +13440,7 @@ snapshots:
config-file-ts@0.2.8-rc1:
dependencies:
glob: 10.4.5
- typescript: 5.6.2
+ typescript: 5.4.5
consola@3.2.3: {}
@@ -14134,19 +14139,19 @@ snapshots:
eslint: 9.11.1(jiti@2.0.0)
find-up-simple: 1.0.0
- eslint-config-hyoban@3.1.8(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(tailwindcss@3.4.13)(typescript@5.6.2):
+ eslint-config-hyoban@3.1.8(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(tailwindcss@3.4.13)(typescript@5.4.5):
dependencies:
- '@eslint-react/eslint-plugin': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/eslint-plugin': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint/js': 9.11.1
- '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@unocss/eslint-config': 0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@unocss/eslint-config': 0.62.4(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
defu: 6.1.4
eslint: 9.11.1(jiti@2.0.0)
eslint-config-flat-gitignore: 0.3.0(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-antfu: 2.7.0(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-command: 0.2.6(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-hyoban: 0.6.1(eslint@9.11.1(jiti@2.0.0))
- eslint-plugin-import-x: 4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ eslint-plugin-import-x: 4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint-plugin-jsonc: 2.16.0(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-package-json: 0.15.3(eslint@9.11.1(jiti@2.0.0))(jsonc-eslint-parser@2.4.0)
eslint-plugin-react-compiler: 0.0.0-experimental-f8a5409-20240829(eslint@9.11.1(jiti@2.0.0))
@@ -14156,14 +14161,14 @@ snapshots:
eslint-plugin-simple-import-sort: 12.1.1(eslint@9.11.1(jiti@2.0.0))
eslint-plugin-tailwindcss: 3.17.4(tailwindcss@3.4.13)
eslint-plugin-unicorn: 55.0.0(eslint@9.11.1(jiti@2.0.0))
- eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))
+ eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))
globals: 15.9.0
jsonc-eslint-parser: 2.4.0
local-pkg: 0.5.0
read-package-up: 11.0.0
- typescript-eslint: 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ typescript-eslint: 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- '@typescript-eslint/eslint-plugin'
- supports-color
@@ -14191,9 +14196,9 @@ snapshots:
dependencies:
eslint: 9.11.1(jiti@2.0.0)
- eslint-plugin-import-x@4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-import-x@4.3.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
debug: 4.3.7
doctrine: 3.0.0
eslint: 9.11.1(jiti@2.0.0)
@@ -14244,63 +14249,63 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-debug@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-react-debug@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
string-ts: 2.2.0
ts-pattern: 5.4.0
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-dom@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-react-dom@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
ts-pattern: 5.4.0
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-hooks-extra@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-react-hooks-extra@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
ts-pattern: 5.4.0
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -14308,22 +14313,22 @@ snapshots:
dependencies:
eslint: 9.11.1(jiti@2.0.0)
- eslint-plugin-react-naming-convention@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-react-naming-convention@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
ts-pattern: 5.4.0
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -14331,44 +14336,44 @@ snapshots:
dependencies:
eslint: 9.11.1(jiti@2.0.0)
- eslint-plugin-react-web-api@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-react-web-api@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
birecord: 0.1.1
eslint: 9.11.1(jiti@2.0.0)
ts-pattern: 5.4.0
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-x@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ eslint-plugin-react-x@1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/ast': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/core': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/jsx': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/shared': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@eslint-react/tools': 1.14.2
- '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@eslint-react/types': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@eslint-react/var': 1.14.2(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/scope-manager': 8.7.0
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
'@typescript-eslint/types': 8.7.0
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
- is-immutable-type: 5.0.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ is-immutable-type: 5.0.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
ts-pattern: 5.4.0
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -14413,11 +14418,11 @@ snapshots:
semver: 7.6.3
strip-indent: 3.0.0
- eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0)):
+ eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0)):
dependencies:
eslint: 9.11.1(jiti@2.0.0)
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/eslint-plugin': 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint-scope@8.1.0:
dependencies:
@@ -15389,13 +15394,13 @@ snapshots:
is-hexadecimal@2.0.1: {}
- is-immutable-type@5.0.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ is-immutable-type@5.0.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
eslint: 9.11.1(jiti@2.0.0)
- ts-api-utils: 1.3.0(typescript@5.6.2)
- ts-declaration-location: 1.0.4(typescript@5.6.2)
- typescript: 5.6.2
+ ts-api-utils: 1.3.0(typescript@5.4.5)
+ ts-declaration-location: 1.0.4(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
@@ -18065,26 +18070,26 @@ snapshots:
dependencies:
utf8-byte-length: 1.0.5
- ts-api-utils@1.3.0(typescript@5.6.2):
+ ts-api-utils@1.3.0(typescript@5.4.5):
dependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
- ts-declaration-location@1.0.4(typescript@5.6.2):
+ ts-declaration-location@1.0.4(typescript@5.4.5):
dependencies:
minimatch: 10.0.1
- typescript: 5.6.2
+ typescript: 5.4.5
ts-interface-checker@0.1.13: {}
ts-pattern@5.4.0: {}
- tsconfck@3.1.1(typescript@5.6.2):
+ tsconfck@3.1.1(typescript@5.4.5):
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
tslib@2.7.0: {}
- tsup@8.3.0(jiti@2.0.0)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1):
+ tsup@8.3.0(jiti@2.0.0)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.4.5)(yaml@2.5.1):
dependencies:
bundle-require: 5.0.0(esbuild@0.23.1)
cac: 6.7.14
@@ -18104,7 +18109,7 @@ snapshots:
tree-kill: 1.2.2
optionalDependencies:
postcss: 8.4.47
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- jiti
- supports-color
@@ -18133,17 +18138,19 @@ snapshots:
type-fest@4.26.1: {}
- typescript-eslint@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2):
+ typescript-eslint@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2))(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
- '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.6.2)
+ '@typescript-eslint/eslint-plugin': 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5))(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.0.0))(typescript@5.4.5)
optionalDependencies:
- typescript: 5.6.2
+ typescript: 5.4.5
transitivePeerDependencies:
- eslint
- supports-color
+ typescript@5.4.5: {}
+
typescript@5.6.2: {}
ufo@1.5.4: {}
@@ -18374,11 +18381,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vite-tsconfig-paths@5.0.1(typescript@5.6.2)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
+ vite-tsconfig-paths@5.0.1(typescript@5.4.5)(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)):
dependencies:
debug: 4.3.7
globrex: 0.1.2
- tsconfck: 3.1.1(typescript@5.6.2)
+ tsconfck: 3.1.1(typescript@5.4.5)
optionalDependencies:
vite: 5.4.8(@types/node@22.7.4)(terser@5.34.1)
transitivePeerDependencies: