{ "name": "project", "version": "0.1.0", "private": true, "type": "module", "scripts": { "ci": "yarn install --frozen-lockfile", "dev": "vite", "preview": "vite preview", "build": "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": "eslint src --ext .ts,.tsx,.js,.jsx --max-warnings=0 --cache", "createChangelog": "node --loader ts-node/esm tools/scripts/createReleaseChangelog.ts", "createTranslationChangelog": "node --loader ts-node/esm -r tsconfig-paths/register tools/scripts/createTranslationChangelog.ts", "updateDeps": "node --loader ts-node/esm tools/scripts/updateDependencies.ts", "gql:codegen-base": "graphql-codegen --config gql_codegen.ts", "gql:codegen-formatter": "node --loader ts-node/esm tools/scripts/codegenFormatter.ts", "gql:codegen": "yarn gql:codegen-base & yarn gql:codegen-formatter", "i18n:gen-resources": "node --loader ts-node/esm tools/scripts/generatei18nResources.ts", "dayjs:gen-locales-array": "node --loader ts-node/esm tools/scripts/generateDayJsLocales.ts", "dayjs:gen-locales-import": "node --loader ts-node/esm tools/scripts/generateDayJsLocalesImport.ts", "dayjs:gen-locales": "yarn dayjs:gen-locales-array && yarn dayjs:gen-locales-import", "prepare": "husky" }, "engines": { "node": "21.7.3" }, "lint-staged": { "*.{ts,tsx,js,jsx}": "eslint --fix" }, "dependencies": { "@apollo/client": "3.12.4", "@emotion/cache": "11.14.0", "@emotion/react": "11.14.0", "@emotion/styled": "11.14.0", "@fontsource/roboto": "5.1.0", "@juggle/resize-observer": "3.4.0", "@loadable/component": "5.16.4", "@mui/icons-material": "6.3.0", "@mui/material": "6.3.0", "@mui/x-date-pickers": "7.23.3", "apollo-upload-client": "17.0.0", "dayjs": "1.11.13", "file-selector": "0.6.0", "graphql": "16.10.0", "graphql-tag": "2.12.6", "graphql-ws": "5.16.0", "html-react-parser": "5.2.1", "i18next": "23.14.0", "i18next-browser-languagedetector": "8.0.2", "i18next-http-backend": "2.6.1", "jsonrepair": "3.11.2", "material-ui-popup-state": "5.3.3", "mui-nested-menu": "3.4.0", "notistack": "3.0.1", "p-limit": "6.2.0", "react": "18.3.1", "react-beautiful-dnd": "13.1.1", "react-dom": "18.3.1", "react-hotkeys-hook": "4.6.1", "react-i18next": "15.2.0", "react-lazily": "0.9.2", "react-router-dom": "6.26.1", "react-virtuoso": "4.12.3", "sanitize-html": "2.14.0", "stylis": "4.3.4", "stylis-plugin-rtl": "2.1.1", "use-long-press": "3.2.0", "use-query-params": "2.2.1", "webfontloader": "1.6.28" }, "devDependencies": { "@graphql-codegen/cli": "5.0.3", "@graphql-codegen/client-preset": "4.5.1", "@graphql-codegen/typescript-apollo-client-helpers": "3.0.0", "@graphql-codegen/typescript-operations": "4.4.0", "@types/apollo-upload-client": "17.0.5", "@types/node": "20.14.11", "@types/react": "18.3.5", "@types/react-beautiful-dnd": "13.1.8", "@types/react-dom": "18.3.0", "@types/sanitize-html": "2.13.0", "@types/stylis": "4.2.7", "@types/webfontloader": "1.6.38", "@types/yargs": "17.0.33", "@typescript-eslint/eslint-plugin": "7.16.1", "@typescript-eslint/parser": "7.16.1", "@vitejs/plugin-legacy": "5.4.2", "@vitejs/plugin-react-swc": "3.7.2", "eslint": "8.57.0", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-typescript": "18.0.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.31.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-no-relative-import-paths": "1.5.5", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-react": "7.37.2", "eslint-plugin-react-hooks": "4.6.2", "eslint-plugin-unused-imports": "3.2.0", "husky": "9.1.7", "lint-staged": "15.2.11", "prettier": "3.4.2", "syncyarnlock": "1.0.19", "terser": "5.37.0", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", "typescript": "5.7.2", "vite": "5.4.2", "vite-tsconfig-paths": "4.3.2", "yargs": "17.7.2" } }