Files
metube/ui/package.json
T
Alex Shnitman 6708a88229 build: upgrade Python and npm dependencies
Full `uv lock --upgrade` and `pnpm update --latest`.

Python: curl-cffi 0.15 -> 0.16.3, python-socketio 5.16 -> 5.17, anyio,
multidict, urllib3, websockets, yarl and the pylint/isort dev chain. yt-dlp and
aiohttp were already current.

Frontend: Angular 22.1.2 -> 22.1.6 (build/cli 22.1.8), angular-eslint 22.5.0,
typescript-eslint 8.70.0, eslint 10, jsdom 30, plus three runtime majors --
@ng-select/ng-select 24, @fortawesome/angular-fontawesome 5 and zone.js 0.16.

Two upgrades are deliberately held back, both pinned by @angular/build's peer
ranges rather than by anything of ours:

* typescript stays on 6.0.x (peer `>=6.0 <6.1`). 7.0.2 breaks the build
  outright -- @angular/compiler-cli's readConfiguration throws on it.
* vitest stays on 4.x (peer `^4.0.8`), which is also what the Angular unit-test
  builder is written against. 4.1.11 carries the @vitest/mocker fix, so this
  costs no coverage -- it is what dependabot's #1076 should have proposed.

`pnpm audit` is clean afterwards, which clears all nine open alerts (fast-uri,
js-yaml, hono, vitest) without touching the runtime image either way: the
Dockerfile only copies `dist` out of the builder stage.

Verified with the backend suite, `pnpm run lint`, `ng test`, a production
`pnpm run build`, and by running the app: icons, the collapsible sections, the
ng-select preset dropdown, and a queued item arriving over the websocket all
behave.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:37:28 +03:00

65 lines
1.7 KiB
JSON

{
"name": "metube",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build:watch": "ng build --watch --configuration development",
"test": "ng test",
"lint": "ng lint"
},
"prettier": {
"printWidth": 100,
"singleQuote": true,
"overrides": [
{
"files": "*.html",
"options": {
"parser": "angular"
}
}
]
},
"packageManager": "pnpm@11.5.2",
"private": true,
"dependencies": {
"@angular/animations": "^22.1.6",
"@angular/common": "^22.1.6",
"@angular/compiler": "^22.1.6",
"@angular/core": "^22.1.6",
"@angular/forms": "^22.1.6",
"@angular/platform-browser": "^22.1.6",
"@angular/platform-browser-dynamic": "^22.1.6",
"@angular/service-worker": "^22.1.6",
"@fortawesome/angular-fontawesome": "~5.1.0",
"@fortawesome/fontawesome-svg-core": "^7.3.1",
"@fortawesome/free-brands-svg-icons": "^7.3.1",
"@fortawesome/free-regular-svg-icons": "^7.3.1",
"@fortawesome/free-solid-svg-icons": "^7.3.1",
"@ng-bootstrap/ng-bootstrap": "^21.0.0",
"@ng-select/ng-select": "^24.1.2",
"@popperjs/core": "^2.11.8",
"bootstrap": "^5.3.8",
"ngx-cookie-service": "^22.0.0",
"ngx-socket-io": "~4.11.1",
"rxjs": "~7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.16.3"
},
"devDependencies": {
"@angular-eslint/builder": "22.5.0",
"@angular/build": "^22.1.8",
"@angular/cli": "^22.1.8",
"@angular/compiler-cli": "^22.1.6",
"@angular/localize": "^22.1.6",
"@eslint/js": "^10.0.1",
"angular-eslint": "22.5.0",
"eslint": "^10.10.0",
"jsdom": "^30.0.1",
"typescript": "~6.0.3",
"typescript-eslint": "8.70.0",
"vitest": "^4.1.11"
}
}