{ "name": "iptvnator", "version": "1.0.0-beta.7", "description": "IPTV player application.", "homepage": "https://github.com/4gray/iptvnator", "author": { "name": "4gray", "email": "fourgray@proton.me" }, "keywords": [ "angular", "electron", "typescript", "m3u", "m3u8", "player", "iptv", "video", "tv" ], "main": "electron/main.js", "private": true, "scripts": { "build:dev": "ng build -c dev", "build:prod": "ng build -c production", "build:web": "ng build -c web", "serve": "ng serve -c dev", "test": "ng test", "test:watch": "ng test --watch", "e2e": "npm run build:prod && npx playwright test --ui", "e2e:ci": "npx playwright test --retries 3 --workers=1", "version": "conventional-changelog -i CHANGELOG.md -p angular -s -r 0 && git add CHANGELOG.md", "lint": "ng lint", "build-pwa": "ng build -c production --base-href /iptvnator --deploy-url /iptvnator/", "tauri": "tauri" }, "dependencies": { "@angular-builders/jest": "17.0.0", "@angular/animations": "20.3.1", "@angular/cdk": "20.2.4", "@angular/material": "20.2.4", "@ngrx/component-store": "20.0.0", "@ngrx/effects": "20.0.0", "@ngrx/entity": "20.0.0", "@ngrx/router-store": "20.0.0", "@ngrx/signals": "20.0.0", "@ngrx/store": "20.0.0", "@ngrx/store-devtools": "20.0.0", "@ngx-pwa/local-storage": "20.0.0", "@rx-angular/cdk": "20.0.0", "@rx-angular/template": "20.0.0", "@tauri-apps/api": "2.3.0", "@tauri-apps/plugin-dialog": "2.2.0", "@tauri-apps/plugin-fs": "2.2.0", "@tauri-apps/plugin-http": "2.3.0", "@tauri-apps/plugin-os": "2.2.0", "@tauri-apps/plugin-process": "2.2.0", "@tauri-apps/plugin-shell": "2.2.0", "@tauri-apps/plugin-sql": "2.2.0", "@tauri-apps/plugin-updater": "2.5.1", "@tauri-apps/plugin-window-state": "2.2.1", "@videojs/http-streaming": "2.15.0", "@yangkghjh/videojs-aspect-ratio-panel": "0.0.1", "artplayer": "5.3.0", "axios": "1.12.2", "date-fns": "2.29.3", "epg-parser": "0.1.6", "hls.js": "1.6.13", "iptv-playlist-parser": "github:4gray/iptv-playlist-parser", "lodash": "4.17.21", "moment": "2.30.1", "ngx-indexed-db": "19.0.0", "ngx-skeleton-loader": "10.0.0", "ngx-whats-new": "0.4.0", "node-mpv": "github:4gray/Node-MPV", "rxjs": "7.8.2", "semver": "7.7.2", "uuid": "9.0.0", "video.js": "7.20.3", "videojs-contrib-quality-levels": "2.2.0", "videojs-hls-quality-selector": "1.1.4", "zone.js": "~0.15.1" }, "devDependencies": { "@angular-eslint/builder": "20.3.0", "@angular-eslint/eslint-plugin": "20.3.0", "@angular-eslint/eslint-plugin-template": "20.3.0", "@angular-eslint/schematics": "20.3.0", "@angular-eslint/template-parser": "20.3.0", "@angular/build": "^20.3.2", "@angular/cli": "20.3.2", "@angular/common": "20.3.1", "@angular/compiler": "20.3.1", "@angular/compiler-cli": "20.3.1", "@angular/core": "20.3.1", "@angular/forms": "20.3.1", "@angular/language-service": "20.3.1", "@angular/platform-browser": "20.3.1", "@angular/platform-browser-dynamic": "20.3.1", "@angular/router": "20.3.1", "@angular/service-worker": "20.3.1", "@commitlint/cli": "18.4.3", "@commitlint/config-conventional": "18.4.3", "@eslint/eslintrc": "3.3.1", "@eslint/js": "9.36.0", "@ngrx/eslint-plugin": "^20.0.0", "@ngx-translate/core": "16.0.4", "@ngx-translate/http-loader": "16.0.1", "@playwright/test": "1.46.1", "@semantic-release/changelog": "6.0.3", "@semantic-release/git": "10.0.1", "@semantic-release/npm": "12.0.1", "@tauri-apps/cli": "2.3.1", "@types/jest": "29.5.14", "@types/mocha": "9.0.0", "@types/node": "20.10.0", "@types/video.js": "7.3.29", "@types/videojs-hls-quality-selector": "1.1.0", "@typescript-eslint/eslint-plugin": "^8.2.0", "@typescript-eslint/eslint-plugin-tslint": "7.0.2", "@typescript-eslint/parser": "^8.2.0", "conventional-changelog-cli": "5.0.0", "eslint": "^9.36.0", "eslint-plugin-import": "2.32.0", "globals": "15.9.0", "husky": "5.0.9", "jest": "29.7.0", "jest-preset-angular": "14.5.3", "ng-mocks": "14.13.2", "node-polyfill-webpack-plugin": "1.1.4", "npm-run-all": "4.1.5", "playwright": "1.46.1", "playwright-core": "1.46.1", "prettier": "3.6.2", "semantic-release": "24.2.9", "ts-jest": "29.2.6", "ts-node": "10.9.2", "tslib": "^2.6.2", "typescript": "5.9.2", "wait-on": "6.0.0" }, "engines": { "node": ">=20.8.1" }, "browserslist": [ "chrome 107" ] }