{ "name": "reader", "scripts": { "lint": "eslint --ext .js,.ts .", "build": "node ./integrity-check.cjs && tsc -p .", "build:watch": "tsc --watch", "build:clean": "rm -rf ./build", "shell": "npm run build && firebase functions:shell", "emu:stage": "cd .. && tar -czvf firebase-emu-preset.tgz .firebase-emu", "emu:reset": "rm -rf ../.firebase-emu && tar -xzf ../firebase-emu-preset.tgz --directory ../", "emu:start": "firebase emulators:start --import ../.firebase-emu --export-on-exit", "emu:debug": "firebase emulators:start --import ../.firebase-emu --export-on-exit --inspect-functions", "emu:debug2": "firebase emulators:start --import ../.firebase-emu --export-on-exit --inspect-functions", "emu:kill": "killall java", "serve": "npm run build && npm run emu:start", "debug": "npm run build && npm run emu:start -- --inspect-functions", "from-scratch": "npm run build && rm -rf ../.firebase-emu && firebase emulators:start --export-on-exit", "from-preset": "npm run build && npm run emu:reset && npm run emu:start", "start": "npm run shell", "deploy": "firebase deploy --only functions", "logs": "firebase functions:log", "gcp-build": "node node_modules/puppeteer/install.mjs" }, "engines": { "node": "20" }, "main": "build/index.js", "dependencies": { "@esm2cjs/normalize-url": "^8.0.0", "@google-cloud/translate": "^8.2.0", "@mozilla/readability": "^0.5.0", "@napi-rs/canvas": "^0.1.44", "@types/turndown": "^5.0.4", "archiver": "^6.0.1", "axios": "^1.3.3", "bcrypt": "^5.1.0", "civkit": "^0.6.5-047c0d8", "core-js": "^3.37.1", "cors": "^2.8.5", "dayjs": "^1.11.9", "express": "^4.19.2", "firebase-admin": "^12.1.0", "firebase-functions": "^4.9.0", "htmlparser2": "^9.0.0", "jose": "^5.1.0", "jsdom": "^24.0.0", "langdetect": "^0.2.1", "maxmind": "^4.3.18", "minio": "^7.1.3", "openai": "^4.20.0", "pdfjs-dist": "^4.2.67", "puppeteer": "^22.7.1", "puppeteer-extra": "^3.3.6", "puppeteer-extra-plugin-block-resources": "^2.4.3", "puppeteer-extra-plugin-page-proxy": "^2.0.0", "puppeteer-extra-plugin-stealth": "^2.11.2", "puppeteer-page-proxy": "^1.3.0", "set-cookie-parser": "^2.6.0", "stripe": "^11.11.0", "tiktoken": "^1.0.10", "tld-extract": "^2.1.0", "turndown": "^7.1.3", "turndown-plugin-gfm": "^1.0.2", "undici": "^5.24.0" }, "devDependencies": { "@types/archiver": "^5.3.4", "@types/bcrypt": "^5.0.0", "@types/cors": "^2.8.17", "@types/generic-pool": "^3.8.1", "@types/node": "^18", "@types/set-cookie-parser": "^2.4.7", "@typescript-eslint/eslint-plugin": "^5.12.0", "@typescript-eslint/parser": "^5.12.0", "eslint": "^8.9.0", "eslint-config-google": "^0.14.0", "eslint-plugin-import": "^2.25.4", "firebase-functions-test": "^3.0.0", "replicate": "^0.16.1", "typescript": "^5.1.6" }, "private": true, "exports": { ".": "./build/index.js" } }