{ "name": "project", "version": "0.1.0", "private": true, "type": "module", "scripts": { "setup-env-files": "tsx tools/scripts/setupEnvFiles.ts", "setup": "pnpm i --frozen-lockfile && pnpm setup-env-files", "dev": "pnpm setup && vite", "preview": "pnpm setup && vite preview", "build": "pnpm setup && vite build", "test": "node -e \"console.log('imagine')\"", "build-md5": "find build -type f | sort | xargs md5sum | awk '{ print $1 }' | tr -d '\n' | md5sum| awk '{ print $1 }' > buildZip/md5sum ", "build-zip": "cd build && rev=$(git rev-list HEAD --count) && echo r$rev > revision && zip -9 -r ../buildZip/Suwayomi-WebUI-r$rev *", "lint": "oxlint src tools", "format": "oxfmt --write .", "format:check": "oxfmt --check .", "createCommitChangelog": "tsx tools/scripts/release/createCommitChangelog.ts", "createTranslationChangelog": "tsx tools/scripts/release/createTranslationChangelog.ts", "createReleaseChangelog": "tsx tools/scripts/release/createReleaseChangelog.ts", "updateDeps": "tsx tools/scripts/updateDependencies.ts", "gql:codegen-base": "graphql-codegen --config gql_codegen.ts", "gql:codegen-formatter": "tsx tools/scripts/codegenFormatter.ts", "gql:codegen": "pnpm gql:codegen-base && pnpm gql:codegen-formatter", "i18n:extract": "lingui extract --locale en --clean", "i18n:gen-resources": "tsx tools/scripts/weblate/generatei18nResources.ts", "dayjs:gen-locales-array": "tsx tools/scripts/dayjs/generateDayJsLocales.ts", "dayjs:gen-locales-import": "tsx tools/scripts/dayjs/generateDayJsLocalesImport.ts", "dayjs:gen-locales": "pnpm dayjs:gen-locales-array && pnpm dayjs:gen-locales-import", "manga:gen-type-tags": "tsx tools/scripts/manga/generateMangaTypeTags.ts", "tsc": "tsgo", "tsc:legacy": "tsc", "prepare": "husky" }, "dependencies": { "@apollo/client": "4.2.0", "@dnd-kit/core": "6.3.1", "@dnd-kit/sortable": "10.0.0", "@dnd-kit/utilities": "3.2.2", "@emotion/cache": "11.14.0", "@emotion/react": "11.14.0", "@emotion/styled": "11.14.1", "@juggle/resize-observer": "3.4.0", "@lingui/core": "6.1.0", "@lingui/react": "6.1.0", "@loadable/component": "5.16.7", "@mantine/hooks": "9.2.2", "@mui/icons-material": "9.0.1", "@mui/material": "9.0.1", "@mui/system": "9.0.1", "@mui/utils": "9.0.1", "@mui/x-date-pickers": "9.3.0", "@redux-devtools/extension": "4.0.0", "@vibrant/color": "4.0.4", "apollo-upload-client": "19.0.0", "awaitable-component": "1.0.0", "csstype": "3.2.3", "dayjs": "1.11.21", "fast-average-color": "9.5.2", "file-selector": "2.1.2", "graphql": "16.14.0", "graphql-sock": "1.0.1", "graphql-tag": "2.12.6", "graphql-ws": "6.0.8", "immer": "11.1.8", "jsonrepair": "3.14.0", "koration": "1.0.0", "lodash": "4.18.1", "material-ui-popup-state": "5.3.7", "mui-nested-menu": "4.0.3", "node-vibrant": "4.0.4", "notistack": "3.0.2", "p-limit": "7.3.0", "polished": "4.3.1", "react": "19.2.6", "react-dom": "19.2.6", "react-hotkeys-hook": "5.3.2", "react-lazily": "0.9.2", "react-router-dom": "6.26.1", "react-virtuoso": "4.18.7", "rxjs": "7.8.2", "stylis": "4.4.0", "stylis-plugin-rtl": "2.1.1", "use-long-press": "3.3.0", "use-query-params": "2.2.2", "webfontloader": "1.6.28", "zustand": "5.0.14" }, "devDependencies": { "@graphql-codegen/cli": "7.1.1", "@graphql-codegen/client-preset": "6.0.1", "@graphql-codegen/typescript-apollo-client-helpers": "4.0.1", "@graphql-codegen/typescript-operations": "6.0.3", "@lingui/cli": "6.1.0", "@lingui/format-po": "6.1.0", "@lingui/swc-plugin": "6.3.0", "@lingui/vite-plugin": "6.1.0", "@tony.ganchev/eslint-plugin-header": "3.4.4", "@types/lodash": "4.17.24", "@types/node": "24.10.1", "@types/react": "19.2.15", "@types/react-beautiful-dnd": "13.1.8", "@types/react-dom": "19.2.3", "@types/sanitize-html": "2.16.1", "@types/stylis": "4.2.7", "@types/webfontloader": "1.6.38", "@types/yargs": "17.0.35", "@typescript/native-preview": "7.0.0-dev.20260527.2", "@vitejs/plugin-legacy": "8.0.2", "@vitejs/plugin-react-swc": "4.3.1", "dotenv": "17.4.2", "eslint": "9.39.4", "eslint-plugin-lingui": "0.13.1", "eslint-plugin-no-only-tests": "3.4.0", "eslint-plugin-no-relative-import-paths": "1.6.1", "eslint-plugin-unused-imports": "4.4.1", "husky": "9.1.7", "lint-staged": "17.0.7", "oxfmt": "0.52.0", "oxlint": "1.67.0", "terser": "5.48.0", "tsx": "4.22.3", "typescript": "6.0.3", "vite": "8.0.14", "vite-plugin-node-polyfills": "0.28.0", "vite-plugin-pwa": "1.3.0", "workbox-build": "7.4.1", "workbox-window": "7.4.1", "yargs": "18.0.0" }, "resolutions": { "@swc/core": "1.15.11" }, "engines": { "node": ">=24" }, "packageManager": "pnpm@11.1.2" }