{ "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" }, "repository": { "type": "git", "url": "git+https://github.com/DIYgod/RSSHub.git" }, "license": "MIT", "author": "DIYgod", "main": "lib/pkg.js", "files": [ "lib" ], "scripts": { "build:all": "npm run build:radar && npm run build:maintainer", "build:maintainer": "node scripts/workflow/build-maintainer.js", "build:radar": "node scripts/workflow/build-radar.js", "dev": "cross-env NODE_ENV=dev nodemon --inspect lib/index.js", "format": "eslint --cache --fix \"**/*.{js,yml}\" && node website/docs/.format/format.mjs && prettier \"**/*.{js,json}\" --write", "format:check": "eslint --cache \"**/*.{js,yml}\" && prettier \"**/*.{js,json}\" --check", "format:staged": "lint-staged", "jest": "cross-env NODE_ENV=test jest --runInBand --forceExit --detectOpenHandles", "jest:coverage": "cross-env NODE_ENV=test jest --coverage --reporters=default --reporters=jest-junit --runInBand --forceExit --detectOpenHandles", "jest:watch": "cross-env NODE_ENV=test jest --watch", "lint": "eslint --cache .", "prepare": "node -e \"try { require('husky').install() } catch (e) {if (e.code !== 'MODULE_NOT_FOUND') throw e}\"", "profiling": "NODE_ENV=production node --prof lib/index.js", "start": "node lib/index.js", "test": "npm run format:check && npm run jest:coverage" }, "lint-staged": { "*.js": [ "eslint --cache --fix", "prettier --ignore-unknown --ignore-path ./.gitignore --write" ], "*.md?(x)": "node website/docs/.format/format.mjs --staged", "*.yml": "eslint --cache --fix" }, "nodemonConfig": { "ext": "art,js,mjs,json", "watch": [ ".env", "lib", "test" ] }, "jest": { "bail": true, "collectCoverageFrom": [ "lib/**/*.js", "!lib/routes/**/*.js", "!lib/v2/**/*.js", "!lib/router.js", "!lib/maintainer.js", "!lib/radar.js", "!lib/radar-rules.js" ], "coverageReporters": [ "text-summary", "lcov" ], "moduleNameMapper": { "@/(.*)": "/lib/$1" }, "testEnvironment": "node", "testMatch": [ "**/test/**/*.js" ], "testPathIgnorePatterns": [ "/node_modules/", "/lib/" ] }, "jest-junit": { "outputDirectory": "coverage" }, "dependencies": { "@koa/router": "12.0.1", "@notionhq/client": "2.2.14", "@postlight/parser": "2.2.3", "@sentry/node": "7.88.0", "@tonyrl/rand-user-agent": "2.0.42", "aes-js": "3.1.2", "art-template": "4.13.2", "bbcodejs": "0.0.4", "cheerio": "1.0.0-rc.12", "chrono-node": "2.7.3", "city-timezones": "1.2.1", "crypto-js": "4.2.0", "currency-symbol-map": "5.1.0", "dayjs": "1.11.8", "dotenv": "16.3.1", "entities": "4.5.0", "etag": "1.8.1", "fanfou-sdk": "4.2.0", "git-rev-sync": "3.0.2", "googleapis": "129.0.0", "got": "11.8.6", "html-to-text": "9.0.5", "https-proxy-agent": "7.0.2", "iconv-lite": "0.6.3", "imapflow": "1.0.147", "instagram-private-api": "1.45.3", "ioredis": "5.3.2", "ip-regex": "4.3.0", "is-localhost-ip": "2.0.0", "jsdom": "23.0.1", "json-bigint": "1.0.0", "json5": "2.2.3", "jsrsasign": "10.9.0", "koa": "2.14.2", "koa-basic-auth": "4.0.0", "koa-favicon": "2.1.0", "koa-mount": "4.0.0", "koa-static": "5.0.0", "lru-cache": "10.1.0", "lz-string": "1.5.0", "mailparser": "3.6.5", "markdown-it": "14.0.0", "module-alias": "2.2.3", "notion-to-md": "3.1.1", "oauth-1.0a": "2.2.6", "plist": "3.1.0", "proxy-chain": "2.4.0", "puppeteer": "21.6.1", "puppeteer-extra": "3.3.6", "puppeteer-extra-plugin-stealth": "2.11.2", "puppeteer-extra-plugin-user-data-dir": "2.4.1", "puppeteer-extra-plugin-user-preferences": "2.4.1", "query-string": "7.1.3", "re2js": "0.4.1", "require-all": "3.0.0", "rfc4648": "1.5.3", "rss-parser": "3.13.0", "simplecc-wasm": "0.1.5", "socks-proxy-agent": "8.0.2", "source-map": "0.7.4", "tiny-async-pool": "2.1.0", "title": "3.5.3", "tough-cookie": "4.1.3", "twitter-api-v2": "1.15.2", "winston": "3.11.0", "xxhash-wasm": "1.0.2" }, "devDependencies": { "@microsoft/eslint-formatter-sarif": "3.0.0", "@stylistic/eslint-plugin-js": "1.5.1", "@types/aes-js": "3.1.4", "@types/crypto-js": "4.2.1", "@types/eslint": "8.44.9", "@types/eslint-config-prettier": "6.11.3", "@types/etag": "1.8.3", "@types/fs-extra": "11.0.4", "@types/git-rev-sync": "2.0.2", "@types/html-to-text": "9.0.4", "@types/imapflow": "1.0.16", "@types/jsdom": "21.1.6", "@types/json-bigint": "1.0.4", "@types/koa": "2.13.12", "@types/koa-basic-auth": "2.0.6", "@types/koa-favicon": "2.1.3", "@types/koa-mount": "4.0.5", "@types/koa-static": "4.0.4", "@types/koa__router": "12.0.4", "@types/lint-staged": "13.2.2", "@types/mailparser": "3.4.4", "@types/markdown-it": "13.0.7", "@types/module-alias": "2.0.4", "@types/nodemon": "1.19.6", "@types/plist": "3.0.5", "@types/request-promise-native": "1.0.21", "@types/require-all": "3.0.6", "@types/supertest": "2.0.16", "@types/tiny-async-pool": "2.0.3", "@types/tough-cookie": "4.0.5", "@vercel/nft": "0.26.0", "cross-env": "7.0.3", "eslint": "8.55.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-n": "16.4.0", "eslint-plugin-prettier": "5.0.1", "eslint-plugin-yml": "1.11.0", "fs-extra": "11.2.0", "husky": "8.0.3", "jest": "29.7.0", "jest-junit": "16.0.0", "lint-staged": "15.2.0", "mockdate": "3.0.5", "nock": "13.4.0", "nodemon": "3.0.2", "prettier": "3.1.1", "remark": "14.0.3", "remark-custom-heading-id": "1.0.1", "remark-directive": "3.0.0", "remark-frontmatter": "4.0.1", "remark-gfm": "3.0.1", "remark-mdx": "2.3.0", "remark-pangu": "2.2.0", "remark-parse": "9.0.0", "remark-preset-prettier": "0.5.1", "request-promise-native": "1.0.9", "staged-git-files": "1.3.0", "string-width": "7.0.0", "supertest": "6.3.3", "to-vfile": "8.0.0", "tosource": "2.0.0-alpha.3", "unified": "9.2.2", "unist-util-visit": "4.1.2", "unist-util-visit-parents": "5.1.3" }, "engines": { "node": ">=16" }, "reporters": [ "default", "jest-junit" ] }