{ "name": "kavita-webui", "version": "0.7.12.1", "scripts": { "ng": "ng", "start": "npm run cache-locale && ng serve --host 0.0.0.0", "build": "npm run cache-locale && ng build", "minify-langs": "node minify-json.js", "cache-locale": "node hash-localization.js", "cache-locale-prime": "node hash-localization-prime.js", "sync-locale": "node sync-locales.js", "prod": "npm run cache-locale-prime && ng build --configuration production && npm run minify-langs && npm run cache-locale", "explore": "ng build --stats-json && webpack-bundle-analyzer dist/stats.json", "lint": "ng lint", "e2e": "ng e2e" }, "private": true, "dependencies": { "@angular-slider/ngx-slider": "^18.0.0", "@angular/animations": "^18.2.9", "@angular/cdk": "^18.2.10", "@angular/common": "^18.2.9", "@angular/compiler": "^18.2.9", "@angular/core": "^18.2.9", "@angular/forms": "^18.2.9", "@angular/localize": "^18.2.9", "@angular/platform-browser": "^18.2.9", "@angular/platform-browser-dynamic": "^18.2.9", "@angular/router": "^18.2.9", "@fortawesome/fontawesome-free": "^6.6.0", "@iharbeck/ngx-virtual-scroller": "^17.0.2", "@iplab/ngx-file-upload": "^18.0.0", "@jsverse/transloco": "^7.5.0", "@jsverse/transloco-locale": "^7.0.1", "@jsverse/transloco-persist-lang": "^7.0.2", "@jsverse/transloco-persist-translations": "^7.0.1", "@jsverse/transloco-preload-langs": "^7.0.1", "@microsoft/signalr": "^8.0.7", "@ng-bootstrap/ng-bootstrap": "^17.0.1", "@popperjs/core": "^2.11.7", "@swimlane/ngx-charts": "^20.5.0", "@tweenjs/tween.js": "^23.1.3", "bootstrap": "^5.3.2", "charts.css": "^1.1.0", "file-saver": "^2.0.5", "luxon": "^3.5.0", "ng-circle-progress": "^1.7.1", "ng-lazyload-image": "^9.1.3", "ng-select2-component": "^14.0.1", "ngx-color-picker": "^17.0.0", "ngx-extended-pdf-viewer": "^21.4.6", "ngx-file-drop": "^16.0.0", "ngx-stars": "^1.6.5", "ngx-toastr": "^19.0.0", "nosleep.js": "^0.12.0", "rxjs": "^7.8.0", "screenfull": "^6.0.2", "swiper": "^8.4.6", "tslib": "^2.8.0", "zone.js": "^0.14.10" }, "devDependencies": { "@angular-eslint/builder": "^18.4.0", "@angular-eslint/eslint-plugin": "^18.4.0", "@angular-eslint/eslint-plugin-template": "^18.4.0", "@angular-eslint/schematics": "^18.4.0", "@angular-eslint/template-parser": "^18.4.0", "@angular/build": "^18.2.10", "@angular/cli": "^18.2.10", "@angular/compiler-cli": "^18.2.9", "@types/d3": "^7.4.3", "@types/file-saver": "^2.0.7", "@types/luxon": "^3.4.0", "@types/node": "^22.8.0", "@typescript-eslint/eslint-plugin": "^8.11.0", "@typescript-eslint/parser": "^8.11.0", "eslint": "^8.57.0", "jsonminify": "^0.4.2", "karma-coverage": "~2.2.0", "ts-node": "~10.9.1", "typescript": "^5.5.4", "webpack-bundle-analyzer": "^4.10.2" } }