diff --git a/packages/skin-database/api/graphql/index.ts b/packages/skin-database/api/graphql/index.ts index c879c934..10b59dec 100644 --- a/packages/skin-database/api/graphql/index.ts +++ b/packages/skin-database/api/graphql/index.ts @@ -7,4 +7,3 @@ export type Ctx = Express.Request; export function getUserContext(ctx: Ctx): UserContext { return ctx.ctx; } - diff --git a/packages/skin-database/api/graphql/resolvers/ClassicSkinResolver.ts b/packages/skin-database/api/graphql/resolvers/ClassicSkinResolver.ts index 56a3dbb2..8cadeb05 100644 --- a/packages/skin-database/api/graphql/resolvers/ClassicSkinResolver.ts +++ b/packages/skin-database/api/graphql/resolvers/ClassicSkinResolver.ts @@ -1,7 +1,6 @@ import { ISkin } from "./CommonSkinResolver"; import { NodeResolver, toId } from "./NodeResolver"; import ReviewResolver from "./ReviewResolver"; -import path from "path"; import { ID, Int } from "grats"; import SkinModel from "../../../data/SkinModel"; diff --git a/packages/skin-database/app/(modern)/scroll/SkinPage.tsx b/packages/skin-database/app/(modern)/scroll/SkinPage.tsx index ba6103b4..56ed57ae 100644 --- a/packages/skin-database/app/(modern)/scroll/SkinPage.tsx +++ b/packages/skin-database/app/(modern)/scroll/SkinPage.tsx @@ -1,5 +1,6 @@ "use client"; +// @ts-expect-error - unstable_ViewTransition is not yet in @types/react import { unstable_ViewTransition as ViewTransition } from "react"; import { ClientSkin } from "./SkinScroller"; import SkinActionIcons from "./SkinActionIcons"; diff --git a/packages/skin-database/app/(modern)/scroll/grid/Grid.tsx b/packages/skin-database/app/(modern)/scroll/grid/Grid.tsx index 49ede509..d61e64f3 100644 --- a/packages/skin-database/app/(modern)/scroll/grid/Grid.tsx +++ b/packages/skin-database/app/(modern)/scroll/grid/Grid.tsx @@ -4,6 +4,7 @@ import React, { useMemo, useCallback, useRef, + // @ts-expect-error - unstable_ViewTransition is not yet in @types/react unstable_ViewTransition as ViewTransition, } from "react"; @@ -141,7 +142,7 @@ export default function SkinTable({ return skin ? skin.md5 : `empty-cell-${columnIndex}-${rowIndex}`; } - const gridRef = React.useRef(); + const gridRef = React.useRef(null); const itemRef = React.useRef(0); const onScroll = useMemo(() => { diff --git a/packages/skin-database/app/(modern)/table/Table.tsx b/packages/skin-database/app/(modern)/table/Table.tsx index da6d1d53..45b6ab5e 100644 --- a/packages/skin-database/app/(modern)/table/Table.tsx +++ b/packages/skin-database/app/(modern)/table/Table.tsx @@ -111,8 +111,8 @@ function SkinTableUnbound({ } return skin ? skin.hash : `unfectched-index-${requestToken}`; } - const gridRef = React.useRef(); - const itemRef = React.useRef(); + const gridRef = React.useRef(null); + const itemRef = React.useRef(0); React.useLayoutEffect(() => { if (gridRef.current == null) { return; diff --git a/packages/skin-database/scripts/deploy.ts b/packages/skin-database/scripts/deploy.ts index 6ee83e16..b04c765b 100644 --- a/packages/skin-database/scripts/deploy.ts +++ b/packages/skin-database/scripts/deploy.ts @@ -225,7 +225,9 @@ async function main(): Promise { // Wait for the service to start log("→ Waiting for service to be ready...", "cyan"); - await new Promise((resolve) => setTimeout(resolve, 5000)); + await new Promise((resolve) => { + setTimeout(resolve, 5000); + }); // Check if the service is running const pm2List = execSilent("pm2 list"); diff --git a/packages/skin-database/services/internetArchive.ts b/packages/skin-database/services/internetArchive.ts index 1097871d..6dd91c8d 100644 --- a/packages/skin-database/services/internetArchive.ts +++ b/packages/skin-database/services/internetArchive.ts @@ -22,7 +22,7 @@ export async function fetchMetadata(identifier: string): Promise { } export async function fetchTasks(identifier: string): Promise { - const result = await execFile(IA_COMMAND, ['tasks', identifier], { + const result = await execFile(IA_COMMAND, ["tasks", identifier], { env: getVenvEnv(), }); return result.stdout @@ -35,7 +35,7 @@ export async function uploadFile( identifier: string, filepath: string ): Promise { - await execFile(IA_COMMAND, ['upload', identifier, filepath], { + await execFile(IA_COMMAND, ["upload", identifier, filepath], { env: getVenvEnv(), }); } @@ -45,19 +45,19 @@ export async function uploadFiles( filepaths: string[], metadata?: { [key: string]: string } ): Promise { - const args = ['upload', identifier, ...filepaths]; - + const args = ["upload", identifier, ...filepaths]; + if (metadata) { Object.entries(metadata).forEach(([key, value]) => { args.push(`--metadata=${key}:${value}`); }); } - + await execFile(IA_COMMAND, args, { env: getVenvEnv() }); } export async function identifierExists(identifier: string): Promise { - const result = await execFile(IA_COMMAND, ['metadata', identifier], { + const result = await execFile(IA_COMMAND, ["metadata", identifier], { env: getVenvEnv(), }); const data = JSON.parse(result.stdout); @@ -69,6 +69,10 @@ export async function setMetadata( data: { [key: string]: string } ) { const pairs = Object.entries(data).map(([key, value]) => `${key}:${value}`); - const args = ['metadata', identifier, ...pairs.map((pair) => `--modify=${pair}`)]; + const args = [ + "metadata", + identifier, + ...pairs.map((pair) => `--modify=${pair}`), + ]; await execFile(IA_COMMAND, args, { env: getVenvEnv() }); } diff --git a/packages/skin-database/tasks/syncToArchive.ts b/packages/skin-database/tasks/syncToArchive.ts index 3d0ddd22..feeaff9a 100644 --- a/packages/skin-database/tasks/syncToArchive.ts +++ b/packages/skin-database/tasks/syncToArchive.ts @@ -8,7 +8,7 @@ import SkinModel from "../data/SkinModel"; import * as Parallel from "async-parallel"; import IaItemModel from "../data/IaItemModel"; import DiscordEventHandler from "../api/DiscordEventHandler"; -import { exec, execFile } from "../utils"; +import { execFile } from "../utils"; import * as IAService from "../services/internetArchive"; export async function findItemsMissingImages(): Promise {