{ "name": "@follow/monorepo", "type": "module", "private": true, "packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39", "description": "Follow everything in one place", "author": "Folo Team", "license": "GPL-3.0-only", "homepage": "https://github.com/RSSNext", "repository": { "url": "https://github.com/RSSNext/follow", "type": "git" }, "scripts": { "build:packages": "turbo run build --filter=\"./packages/**/*\"", "build:web": "turbo run Folo#build:web", "dedupe:locales": "eslint --fix locales/**", "depcheck": "npx depcheck --quiet", "format": "prettier --write .", "format:check": "prettier --check .", "generator:i18n-template": "tsx scripts/generate-i18n-locale.ts", "icons:sync": "tsx scripts/svg-to-rn.ts && prettier --write apps/mobile/src/icons/**/*.tsx && eslint --fix apps/mobile/src/icons/**/*.tsx", "icons:update": "tsx scripts/update-icon.ts", "lint": "pnpm run lint:tsl && eslint", "lint:fix": "eslint --fix", "lint:tsl": "tsslint --project apps/*/tsconfig.json", "mitproxy": "bash scripts/run-proxy.sh", "polyfill-optimize": "pnpx nolyfill install", "postinstall": "pnpm run build:packages", "prepare": "simple-git-hooks && corepack prepare", "reinstall": "rm -rf node_modules && rm -rf apps/**/node_modules && rm -rf packages/**/node_modules && pnpm install", "test": "cross-env CI=1 pnpm --recursive run test", "typecheck": "turbo typecheck" }, "devDependencies": { "@eslint/compat": "1.2.9", "@tsslint/cli": "1.5.16", "@tsslint/config": "1.5.16", "@tsslint/eslint": "1.5.16", "@types/node": "22.15.23", "@types/react": "19.1.6", "@types/react-dom": "19.1.5", "@vercel/node": "5.2.0", "cross-env": "7.0.3", "eslint": "9.27.0", "eslint-config-hyoban": "4.0.3", "eslint-plugin-react-native": "5.0.0", "fast-glob": "3.3.3", "lint-staged": "16.1.0", "prettier": "3.5.3", "prettier-plugin-tailwindcss": "0.6.11", "raw-body": "3.0.0", "react": "19.0.0", "react-dom": "19.0.0", "rimraf": "6.0.1", "simple-git-hooks": "2.13.0", "svg-parser": "2.0.4", "tar": "7.4.3", "tsx": "4.19.4", "turbo": "2.5.3", "typescript": "catalog:", "vite": "6.3.5", "vitest": "3.1.4" }, "pnpm": { "patchedDependencies": { "immer@10.1.1": "patches/immer@10.1.1.patch", "re-resizable@6.11.2": "patches/re-resizable@6.11.2.patch", "hono": "patches/hono.patch", "electron-context-menu@4.0.5": "patches/electron-context-menu@4.0.5.patch", "@mozilla/readability@0.6.0": "patches/@mozilla__readability@0.6.0.patch", "daisyui@4.12.24": "patches/daisyui@4.12.24.patch", "jsonpointer": "patches/jsonpointer.patch", "workbox-precaching": "patches/workbox-precaching.patch", "@pengx17/electron-forge-maker-appimage": "patches/@pengx17__electron-forge-maker-appimage.patch", "@microflash/remark-callout-directives": "patches/@microflash__remark-callout-directives.patch", "react-native-track-player": "patches/react-native-track-player.patch", "react-native-sheet-transitions": "patches/react-native-sheet-transitions.patch", "react-native-screens": "patches/react-native-screens.patch", "expo-image": "patches/expo-image.patch", "react-native-ios-utilities": "patches/react-native-ios-utilities.patch" }, "overrides": { "@electron/node-gyp": "10.2.0-electron.2", "is-core-module": "npm:@nolyfill/is-core-module@1.0.39", "isarray": "npm:@nolyfill/isarray@1.0.44", "lan-network@<0.1.7": "0.1.7", "react": "19.0.0", "react-dom": "19.0.0", "react-native-ios-context-menu": "3.1.1", "react-native-ios-utilities": "5.1.5" } }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged" }, "lint-staged": { "*": [ "eslint --fix", "prettier --ignore-unknown --write" ], "locales/**/*.json": [ "npm run dedupe:locales", "git add locales" ] } }