UNPKG

@hanivanrizky/nestjs-html-parser

Version:

A powerful NestJS HTML parsing service with XPath and CSS selector support, proxy configuration, random user agents, and rich response metadata including headers and status codes

124 lines (123 loc) 5.17 kB
{ "name": "@hanivanrizky/nestjs-html-parser", "version": "1.3.1", "description": "A powerful NestJS HTML parsing service with XPath and CSS selector support, proxy configuration, random user agents, and rich response metadata including headers and status codes", "author": "Hanivan Rizky Sobari <hanivan20@gmail.com>", "private": false, "license": "MIT", "main": "dist/index.js", "types": "dist/index.d.ts", "files": [ "dist/**/*", "!dist/*.tsbuildinfo" ], "publishConfig": { "access": "public" }, "repository": { "type": "git", "url": "git+https://github.com/Hanivan/nestjs-html-parser.git" }, "bugs": { "url": "https://github.com/Hanivan/nestjs-html-parser/issues" }, "homepage": "https://github.com/Hanivan/nestjs-html-parser#readme", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json", "prepublishOnly": "yarn build", "demo": "echo \"Available demos:\n yarn demo:hackernews - Parse Hacker News\n yarn demo:watanoc - Parse Japanese learning site\n yarn demo:otakudesu - Parse Indonesian anime site (Otakudesu)\n yarn demo:proxy - Proxy and User Agent demo\n yarn demo:response - HtmlFetchResponse demo\n yarn demo:ssl - SSL and Dead Domain handling demo\n yarn demo:ssl-options - SSL Configuration Options demo\n yarn demo:typed - TypeScript Generic Types demo\n yarn demo:all - Run all demos\n\nVerbose mode (shows detailed errors):\n yarn demo:hackernews:verbose\n yarn demo:watanoc:verbose\n yarn demo:otakudesu:verbose\n yarn demo:proxy:verbose\n yarn demo:response:verbose\n yarn demo:ssl:verbose\n yarn demo:ssl-options:verbose\n yarn demo:typed:verbose\"", "demo:hackernews": "ts-node src/examples/news.ycombinator.com.ts", "demo:watanoc": "ts-node src/examples/watanoc.com.ts", "demo:otakudesu": "ts-node src/examples/otakudesu.cloud.ts", "demo:proxy": "ts-node src/examples/proxy-and-useragent.ts", "demo:response": "ts-node src/examples/html-fetch-response.ts", "demo:ssl": "ts-node src/examples/ssl-and-dead-domains.ts", "demo:ssl-options": "ts-node src/examples/ssl-options-demo.ts", "demo:typed": "ts-node src/examples/typed-extraction.ts", "demo:hackernews:verbose": "ts-node src/examples/news.ycombinator.com.ts --verbose", "demo:watanoc:verbose": "ts-node src/examples/watanoc.com.ts --verbose", "demo:otakudesu:verbose": "ts-node src/examples/otakudesu.cloud.ts --verbose", "demo:proxy:verbose": "ts-node src/examples/proxy-and-useragent.ts --verbose", "demo:response:verbose": "ts-node src/examples/html-fetch-response.ts --verbose", "demo:ssl:verbose": "ts-node src/examples/ssl-and-dead-domains.ts --verbose", "demo:ssl-options:verbose": "ts-node src/examples/ssl-options-demo.ts --verbose", "demo:typed:verbose": "ts-node src/examples/typed-extraction.ts --verbose", "demo:all": "yarn demo:hackernews && echo '\n\n' && yarn demo:watanoc && echo '\n\n' && yarn demo:otakudesu && echo '\n\n' && yarn demo:proxy && echo '\n\n' && yarn demo:response && echo '\n\n' && yarn demo:ssl && echo '\n\n' && yarn demo:typed" }, "dependencies": { "@ahmedrangel/rand-user-agent": "^2.0.23", "@nestjs/common": "^11.1.2", "@nestjs/core": "^11.1.2", "@nestjs/platform-express": "^11.1.2", "axios": "^1.9.0", "cheerio": "^1.0.0", "https-proxy-agent": "^7.0.6", "jsdom": "^26.1.0", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", "socks-proxy-agent": "^8.0.5" }, "devDependencies": { "@eslint/js": "^9.28.0", "@nestjs/cli": "^11.0.7", "@nestjs/testing": "^11.1.2", "@swc/cli": "^0.7.7", "@swc/core": "^1.11.31", "@types/jest": "^29.5.14", "@types/jsdom": "^21.1.7", "@types/node": "^22.15.29", "@types/supertest": "^6.0.3", "eslint": "^9.28.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-prettier": "^5.4.1", "globals": "^16.2.0", "jest": "^29.7.0", "prettier": "^3.5.3", "supertest": "^7.1.1", "ts-jest": "^29.3.4", "ts-node": "^10.9.2", "typescript": "^5.8.3", "typescript-eslint": "^8.33.1" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" }, "keywords": [ "nestjs", "html", "parser", "xpath", "css-selector", "scraping", "extraction", "proxy", "user-agent", "random-user-agent", "web-scraping" ] }