{
  "name": "epg",
  "scripts": {
    "act:check": "act pull_request -W .github/workflows/check.yml",
    "act:format": "act workflow_dispatch -W .github/workflows/format.yml",
    "act:update": "act workflow_dispatch -W .github/workflows/update.yml",
    "api:load": "tsx scripts/commands/api/load.ts",
    "channels:lint": "tsx scripts/commands/channels/lint.mts",
    "channels:parse": "tsx scripts/commands/channels/parse.ts",
    "channels:format": "tsx scripts/commands/channels/format.ts",
    "channels:edit": "tsx scripts/commands/channels/edit.ts",
    "channels:validate": "tsx scripts/commands/channels/validate.ts",
    "sites:init": "tsx scripts/commands/sites/init.ts",
    "sites:update": "tsx scripts/commands/sites/update.ts",
    "guides:update": "tsx scripts/commands/guides/update.ts",
    "guides:export": "tsx scripts/commands/guides/export.ts",
    "workers:load": "tsx scripts/commands/workers/load.ts",
    "grab": "tsx scripts/commands/epg/grab.ts",
    "lint": "npx eslint \"{scripts,tests,sites}/**/*.{ts,mts,js}\"",
    "test": "cross-env TZ=Pacific/Nauru npx jest --runInBand",
    "postinstall": "npm run api:load",
    "prepare": "husky"
  },
  "private": true,
  "license": "UNLICENSED",
  "jest": {
    "transform": {
      "^.+\\.(ts|js)$": "@swc/jest"
    },
    "testMatch": [
      "<rootDir>/sites/**/*.test.(js|ts)",
      "<rootDir>/tests/commands/**/*.test.(js|ts)"
    ],
    "testTimeout": 10000,
    "transformIgnorePatterns": [
      "<rootDir>/node_modules/(?!parse-duration/.*|@freearhey/core/.*|glob/.*|srcset/.*|balanced-match/.*|minimatch/.*)"
    ]
  },
  "dependencies": {
    "@eslint/eslintrc": "^3.3.6",
    "@eslint/js": "^10.0.1",
    "@freearhey/chronos": "^0.0.1",
    "@freearhey/core": "^0.16.1",
    "@freearhey/search-js": "^0.3.0",
    "@freearhey/storage-js": "^0.2.0",
    "@iptv-org/sdk": "^1.5.0",
    "@ntlab/awswaf": "^1.0.1",
    "@ntlab/sfetch": "^1.5.0",
    "@octokit/core": "^7.0.6",
    "@octokit/plugin-paginate-rest": "^14.0.0",
    "@octokit/plugin-rest-endpoint-methods": "^17.0.0",
    "@stylistic/eslint-plugin": "^5.10.0",
    "@swc/core": "^1.15.47",
    "@swc/jest": "^0.2.39",
    "@types/cli-progress": "^3.11.6",
    "@types/fs-extra": "^11.0.4",
    "@types/inquirer": "^9.0.10",
    "@types/jest": "^30.0.0",
    "@types/langs": "^2.0.5",
    "@types/lodash.merge": "^4.6.9",
    "@types/lodash.orderby": "^4.6.9",
    "@types/lodash.sortby": "^4.7.9",
    "@types/lodash.startcase": "^4.4.9",
    "@types/lodash.uniqby": "^4.7.9",
    "@types/node": "^26.1.2",
    "@types/pako": "^2.0.4",
    "axios": "^1.19.0",
    "chalk": "^5.6.2",
    "cheerio": "^1.2.0",
    "cli-progress": "^3.12.0",
    "commander": "^14.0.3",
    "consola": "^3.4.2",
    "cross-env": "^10.1.0",
    "csv-parser": "^3.2.1",
    "curl-generator": "^0.5.0",
    "dayjs": "^1.11.21",
    "epg-grabber": "^0.48.0",
    "epg-parser": "^0.5.0",
    "eslint": "^10.8.0",
    "eslint-config-prettier": "^10.1.8",
    "fs-extra": "^11.4.0",
    "glob": "^13.0.6",
    "globals": "^17.8.0",
    "husky": "^9.1.7",
    "iconv-lite": "^0.7.3",
    "inquirer": "^14.0.2",
    "jest": "^30.4.2",
    "langs": "^2.0.0",
    "libxml2-wasm": "^0.7.1",
    "lodash.merge": "^4.6.2",
    "lodash.orderby": "^4.18.0",
    "lodash.sortby": "^4.7.0",
    "lodash.startcase": "^4.4.0",
    "lodash.uniqby": "^4.7.0",
    "p-limit": "^7.3.1",
    "pako": "^3.0.1",
    "parse-duration": "^2.1.8",
    "serve": "^14.2.6",
    "socks-proxy-agent": "^10.1.0",
    "srcset": "^5.0.3",
    "table2array": "^0.0.2",
    "tabletojson": "^4.1.12",
    "tough-cookie": "^6.0.2",
    "tsx": "^4.23.1",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.65.0"
  },
  "engines": {
    "node": ">=20.20.0"
  },
  "allowScripts": {
    "@swc/core@1.15.47": true,
    "esbuild@0.28.1": true,
    "unrs-resolver@1.12.2": true
  }
}
