| { | |
| "name": "rsshub", | |
| "version": "1.0.0", | |
| "description": "Make RSS Great Again!", | |
| "keywords": [ | |
| "RSS" | |
| ], | |
| "homepage": "https://github.com/DIYgod/RSSHub#readme", | |
| "bugs": { | |
| "url": "https://github.com/DIYgod/RSSHub/issues" | |
| }, | |
| "license": "AGPL-3.0", | |
| "author": "DIYgod", | |
| "repository": { | |
| "type": "git", | |
| "url": "git+https://github.com/DIYgod/RSSHub.git" | |
| }, | |
| "files": [ | |
| "dist-lib" | |
| ], | |
| "type": "module", | |
| "exports": { | |
| ".": { | |
| "types": "./dist-lib/pkg.d.mts", | |
| "import": "./dist-lib/pkg.mjs" | |
| } | |
| }, | |
| "scripts": { | |
| "build": "npm run build:routes && tsdown", | |
| "build:docs": "npm run build:routes && tsx scripts/workflow/build-docs.ts", | |
| "build:lib": "npm run build:routes && tsdown --config ./tsdown-lib.config.ts", | |
| "build:routes": "cross-env NODE_ENV=dev tsx scripts/workflow/build-routes.ts", | |
| "build:routes:worker": "cross-env NODE_ENV=dev WORKER_BUILD=true tsx scripts/workflow/build-routes.ts", | |
| "container-build": "tsdown --config ./tsdown-container.config.ts", | |
| "container-deploy": "npm run container-build && wrangler deploy --config wrangler-container.toml --containers-rollout=immediate", | |
| "dev": "cross-env NODE_ENV=dev NODE_OPTIONS='--max-http-header-size=32768' tsx watch --inspect --clear-screen=false lib/index.ts", | |
| "dev:cache": "cross-env NODE_ENV=production NODE_OPTIONS='--max-http-header-size=32768' tsx watch --clear-screen=false lib/index.ts", | |
| "format": "eslint --cache --fix \"**/*.{ts,tsx,js,yml}\" --concurrency auto && oxfmt .", | |
| "format:check": "eslint --cache \"**/*.{ts,tsx,js,yml}\" --concurrency auto && oxfmt . --check", | |
| "format:staged": "lint-staged", | |
| "lint": "eslint --cache . --concurrency auto", | |
| "prepare": "husky || true", | |
| "prepublishOnly": "npm run build:lib", | |
| "profiling": "cross-env NODE_ENV=production tsx --prof lib/index.ts", | |
| "start": "cross-env NODE_ENV=production NODE_OPTIONS='--max-http-header-size=32768' node dist/index.mjs", | |
| "test": "npm run format:check && npm run vitest:coverage", | |
| "vercel-build": "npm run build:routes && tsdown --config ./tsdown-vercel.config.ts", | |
| "vitest": "cross-env NODE_ENV=test vitest", | |
| "vitest:coverage": "cross-env NODE_ENV=test vitest --coverage.enabled --reporter=junit", | |
| "vitest:fullroutes": "cross-env NODE_ENV=test FULL_ROUTES_TEST=true vitest --reporter=json --reporter=default --outputFile=\"./assets/build/test-full-routes.json\" routes", | |
| "vitest:watch": "cross-env NODE_ENV=test vitest --watch", | |
| "worker-build": "npm run build:routes:worker && tsdown --config ./tsdown-worker.config.ts", | |
| "worker-deploy": "npm run worker-build && wrangler deploy", | |
| "worker-dev": "npm run worker-build && wrangler dev", | |
| "worker-test": "npm run worker-build && vitest run lib/worker.worker.test.ts" | |
| }, | |
| "dependencies": { | |
| "@bbob/html": "4.3.1", | |
| "@bbob/plugin-helper": "4.3.1", | |
| "@bbob/preset-html5": "4.3.1", | |
| "@hono/node-server": "1.19.9", | |
| "@hono/zod-openapi": "1.2.2", | |
| "@jocmp/mercury-parser": "3.0.3", | |
| "@notionhq/client": "5.9.0", | |
| "@opentelemetry/api": "1.9.0", | |
| "@opentelemetry/exporter-prometheus": "0.212.0", | |
| "@opentelemetry/exporter-trace-otlp-http": "0.212.0", | |
| "@opentelemetry/resources": "2.5.1", | |
| "@opentelemetry/sdk-metrics": "2.5.1", | |
| "@opentelemetry/sdk-trace-base": "2.5.1", | |
| "@opentelemetry/semantic-conventions": "1.39.0", | |
| "@rss3/sdk": "0.0.25", | |
| "@scalar/hono-api-reference": "0.9.44", | |
| "@sentry/node": "10.39.0", | |
| "aes-js": "3.1.2", | |
| "cheerio": "1.2.0", | |
| "city-timezones": "1.3.3", | |
| "cross-env": "10.1.0", | |
| "crypto-js": "4.2.0", | |
| "currency-symbol-map": "5.1.0", | |
| "dayjs": "1.11.19", | |
| "destr": "2.0.5", | |
| "dotenv": "17.3.1", | |
| "entities": "7.0.1", | |
| "etag": "1.8.1", | |
| "fanfou-sdk": "6.0.0", | |
| "form-data": "4.0.5", | |
| "google-play-scraper": "10.1.2", | |
| "googleapis": "171.4.0", | |
| "header-generator": "2.1.80", | |
| "hono": "4.12.2", | |
| "html-to-text": "9.0.5", | |
| "http-cookie-agent": "7.0.3", | |
| "https-proxy-agent": "7.0.6", | |
| "iconv-lite": "0.7.2", | |
| "imapflow": "1.2.10", | |
| "instagram-private-api": "1.46.1", | |
| "ioredis": "5.9.3", | |
| "ip-regex": "5.0.0", | |
| "jsdom": "27.0.0", | |
| "json-bigint": "1.0.0", | |
| "jsonpath-plus": "10.4.0", | |
| "jsrsasign": "11.1.1", | |
| "lru-cache": "11.2.6", | |
| "lz-string": "1.5.0", | |
| "mailparser": "3.9.3", | |
| "markdown-it": "14.1.1", | |
| "mixi2": "0.2.2", | |
| "narou": "2.0.1", | |
| "notion-to-md": "3.1.9", | |
| "oauth-1.0a": "2.2.6", | |
| "ofetch": "1.5.1", | |
| "otplib": "13.3.0", | |
| "p-map": "7.0.4", | |
| "pac-proxy-agent": "7.2.0", | |
| "proxy-chain": "2.7.1", | |
| "puppeteer-real-browser": "1.4.4", | |
| "query-string": "9.3.1", | |
| "rate-limiter-flexible": "9.1.1", | |
| "re2js": "1.2.2", | |
| "rebrowser-puppeteer": "24.8.1", | |
| "rfc4648": "1.5.4", | |
| "rss-parser": "3.13.0", | |
| "sanitize-html": "2.17.1", | |
| "simplecc-wasm": "1.1.1", | |
| "socks-proxy-agent": "8.0.5", | |
| "source-map": "0.7.6", | |
| "telegram": "2.26.22", | |
| "title": "4.0.1", | |
| "tldts": "7.0.23", | |
| "tosource": "2.0.0-alpha.3", | |
| "tough-cookie": "6.0.0", | |
| "tsx": "4.21.0", | |
| "twitter-api-v2": "1.29.0", | |
| "ufo": "1.6.3", | |
| "undici": "7.22.0", | |
| "uuid": "13.0.0", | |
| "winston": "3.19.0", | |
| "xxhash-wasm": "1.1.0", | |
| "youtube-caption-extractor": "1.9.1", | |
| "youtubei.js": "16.0.1", | |
| "zod": "4.3.6" | |
| }, | |
| "devDependencies": { | |
| "@bbob/types": "4.3.1", | |
| "@cloudflare/containers": "0.1.0", | |
| "@cloudflare/puppeteer": "1.0.6", | |
| "@cloudflare/workers-types": "4.20260302.0", | |
| "@eslint/eslintrc": "3.3.3", | |
| "@eslint/js": "10.0.1", | |
| "@stylistic/eslint-plugin": "5.9.0", | |
| "@types/aes-js": "3.1.4", | |
| "@types/babel__preset-env": "7.10.0", | |
| "@types/crypto-js": "4.2.2", | |
| "@types/eslint": "9.6.1", | |
| "@types/etag": "1.8.4", | |
| "@types/fs-extra": "11.0.4", | |
| "@types/html-to-text": "9.0.4", | |
| "@types/js-beautify": "1.14.3", | |
| "@types/jsdom": "27.0.0", | |
| "@types/json-bigint": "1.0.4", | |
| "@types/jsrsasign": "10.5.15", | |
| "@types/mailparser": "3.4.6", | |
| "@types/markdown-it": "14.1.2", | |
| "@types/module-alias": "2.0.4", | |
| "@types/node": "25.3.0", | |
| "@types/sanitize-html": "2.16.0", | |
| "@types/supertest": "6.0.3", | |
| "@typescript-eslint/eslint-plugin": "8.56.0", | |
| "@typescript-eslint/parser": "8.56.0", | |
| "@vercel/nft": "1.3.1", | |
| "@vitest/coverage-v8": "4.0.9", | |
| "discord-api-types": "0.38.40", | |
| "domhandler": "5.0.3", | |
| "eslint": "10.0.1", | |
| "eslint-nibble": "9.1.1", | |
| "eslint-plugin-github": "6.0.0", | |
| "eslint-plugin-import-x": "4.16.1", | |
| "eslint-plugin-n": "17.24.0", | |
| "eslint-plugin-simple-import-sort": "12.1.1", | |
| "eslint-plugin-unicorn": "63.0.0", | |
| "eslint-plugin-yml": "3.3.0", | |
| "fs-extra": "11.3.3", | |
| "globals": "17.3.0", | |
| "got": "14.6.6", | |
| "husky": "9.1.7", | |
| "js-beautify": "1.15.4", | |
| "lint-staged": "16.2.7", | |
| "magic-string": "0.30.21", | |
| "mockdate": "3.0.5", | |
| "msw": "2.4.3", | |
| "node-network-devtools": "1.0.29", | |
| "oxfmt": "0.35.0", | |
| "remark-parse": "11.0.0", | |
| "supertest": "7.2.2", | |
| "tsdown": "0.20.3", | |
| "typescript": "5.9.3", | |
| "unified": "11.0.5", | |
| "vite-tsconfig-paths": "6.1.1", | |
| "vitest": "4.0.9", | |
| "wrangler": "4.67.0", | |
| "yaml-eslint-parser": "2.0.0" | |
| }, | |
| "lint-staged": { | |
| "!(*.ts|*.tsx|*.js|*.yml)": [ | |
| "oxfmt --no-error-on-unmatched-pattern" | |
| ], | |
| "*.{ts,tsx,js,yml}": [ | |
| "eslint --cache --fix --concurrency auto", | |
| "oxfmt --no-error-on-unmatched-pattern" | |
| ] | |
| }, | |
| "engines": { | |
| "node": "^22.20.0 || ^24" | |
| }, | |
| "packageManager": "pnpm@10.30.1+sha512.3590e550d5384caa39bd5c7c739f72270234b2f6059e13018f975c313b1eb9fefcc09714048765d4d9efe961382c312e624572c0420762bdc5d5940cdf9be73a", | |
| "pnpm": { | |
| "onlyBuiltDependencies": [ | |
| "bufferutil", | |
| "core-js", | |
| "es5-ext", | |
| "esbuild", | |
| "eslint-nibble", | |
| "msw", | |
| "protobufjs", | |
| "puppeteer", | |
| "rebrowser-puppeteer", | |
| "rolldown", | |
| "sharp", | |
| "sleep", | |
| "unrs-resolver", | |
| "utf-8-validate", | |
| "vue-demi", | |
| "workerd", | |
| "wrangler" | |
| ], | |
| "overrides": { | |
| "array-includes": "npm:@nolyfill/array-includes@^1", | |
| "array.prototype.findlastindex": "npm:@nolyfill/array.prototype.findlastindex@^1", | |
| "array.prototype.flat": "npm:@nolyfill/array.prototype.flat@^1", | |
| "array.prototype.flatmap": "npm:@nolyfill/array.prototype.flatmap@^1", | |
| "difflib": "https://codeload.github.com/postlight/difflib.js/tar.gz/32e8e38c7fcd935241b9baab71bb432fd9b166ed", | |
| "es-set-tostringtag": "npm:@nolyfill/es-set-tostringtag@^1", | |
| "google-play-scraper>got": "^14.6.4", | |
| "google-play-scraper>ramda": "^0.32.0", | |
| "google-play-scraper>tough-cookie": "^6.0.0", | |
| "hasown": "npm:@nolyfill/hasown@^1", | |
| "is-core-module": "npm:@nolyfill/is-core-module@^1", | |
| "object.assign": "npm:@nolyfill/object.assign@^1", | |
| "object.fromentries": "npm:@nolyfill/object.fromentries@^1", | |
| "object.groupby": "npm:@nolyfill/object.groupby@^1", | |
| "object.values": "npm:@nolyfill/object.values@^1", | |
| "request>form-data": "^2.5.5", | |
| "rss-parser@3.13.0>entities": "^7.0.0", | |
| "rss-parser@3.13.0>xml2js": "^0.6.2", | |
| "safe-buffer": "npm:@nolyfill/safe-buffer@^1", | |
| "safe-regex-test": "npm:@nolyfill/safe-regex-test@^1", | |
| "safer-buffer": "npm:@nolyfill/safer-buffer@^1", | |
| "side-channel": "npm:@nolyfill/side-channel@^1", | |
| "string.prototype.includes": "npm:@nolyfill/string.prototype.includes@^1", | |
| "string.prototype.trimend": "npm:@nolyfill/string.prototype.trimend@^1" | |
| }, | |
| "patchedDependencies": { | |
| "rss-parser@3.13.0": "patches/rss-parser@3.13.0.patch" | |
| } | |
| } | |
| } | |