{ "name": "iptv", "scripts": { "act:check": "gh act pull_request -W .github/workflows/check.yml", "act:format": "gh act workflow_dispatch -W .github/workflows/format.yml", "act:update": "gh act workflow_dispatch -W .github/workflows/update.yml", "api:load": "tsx scripts/commands/api/load.ts", "api:generate": "tsx scripts/commands/api/generate.ts", "api:deploy": "npx gh-pages-clean && npx gh-pages -a -m \"Deploy to iptv-org/api\" -d .api -r https://$GITHUB_TOKEN@github.com/iptv-org/api.git", "playlist:format": "tsx scripts/commands/playlist/format.ts", "playlist:update": "tsx scripts/commands/playlist/update.ts", "playlist:generate": "tsx scripts/commands/playlist/generate.ts", "playlist:validate": "tsx scripts/commands/playlist/validate.ts", "playlist:lint": "npx m3u-linter -c m3u-linter.json", "playlist:test": "tsx scripts/commands/playlist/test.ts", "playlist:edit": "tsx scripts/commands/playlist/edit.ts", "playlist:deploy": "npx gh-pages-clean && npx gh-pages -m \"Deploy to GitHub Pages\" -d .gh-pages -r https://$GITHUB_TOKEN@github.com/iptv-org/iptv.git", "readme:update": "tsx scripts/commands/readme/update.ts", "report:create": "tsx scripts/commands/report/create.ts", "check": "npm run playlist:lint && npm run playlist:validate", "format": "npm run playlist:format", "update": "npm run playlist:generate && npm run api:generate && npm run readme:update", "deploy": "npm run playlist:deploy && npm run api:deploy", "lint": "npx eslint \"scripts/**/*.{ts,js}\" \"tests/**/*.{ts,js}\"", "test": "jest --runInBand", "postinstall": "npm run api:load" }, "jest": { "transform": { "^.+\\.ts$": "@swc/jest" }, "testRegex": "tests/(.*?/)?.*test.ts$", "setupFilesAfterEnv": [ "jest-expect-message" ] }, "author": "Arhey", "private": true, "license": "MIT", "dependencies": { "@alex_neo/jest-expect-message": "^1.0.5", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "^9.32.0", "@freearhey/core": "^0.14.3", "@freearhey/search-js": "^0.1.2", "@freearhey/storage-js": "^0.1.0", "@inquirer/prompts": "^7.8.0", "@iptv-org/sdk": "^1.0.2", "@octokit/core": "^7.0.3", "@octokit/plugin-paginate-rest": "^13.1.1", "@octokit/plugin-rest-endpoint-methods": "^16.0.0", "@octokit/types": "^14.1.0", "@stylistic/eslint-plugin": "^5.2.2", "@swc/jest": "^0.2.39", "@types/async": "^3.2.25", "@types/cli-progress": "^3.11.6", "@types/fs-extra": "^11.0.4", "@types/jest": "^30.0.0", "@types/lodash.uniqueid": "^4.0.9", "@types/node-cleanup": "^2.1.5", "@typescript-eslint/eslint-plugin": "^8.38.0", "@typescript-eslint/parser": "^8.38.0", "async": "^3.2.6", "axios": "^1.11.0", "chalk": "^5.4.1", "cli-progress": "^3.12.0", "commander": "^14.0.0", "console-table-printer": "^2.14.6", "cross-env": "^10.0.0", "eslint": "^9.32.0", "glob": "^11.0.3", "globals": "^16.3.0", "iptv-playlist-parser": "^0.15.1", "jest": "^30.0.5", "jest-expect-message": "^1.1.3", "lodash.uniqueid": "^4.0.1", "m3u-linter": "^0.4.2", "mediainfo.js": "^0.3.6", "node-cleanup": "^2.1.2", "normalize-url": "^8.1.0", "socks-proxy-agent": "^8.0.5", "tsx": "^4.20.3" } }