Angular's server build needs Node loader hooks that Bun does not apply, and every route is client-rendered, so Angular now builds a client-only bundle and a small Bun.serve server delivers it: hashed assets with the one-year cache, index.html revalidated, extension-less routes falling back to index.html, missing assets 404, traversal and malformed paths rejected, and other methods 405. Express, @angular/ssr and the unused hydration provider are removed. Both Docker stages use the pinned oven/bun:1.4.3-alpine image without Node, and the health checks use Bun's fetch. Refs #292 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
68 lines
2.1 KiB
JSON
68 lines
2.1 KiB
JSON
{
|
|
"name": "vac-optimizer",
|
|
"version": "1.5.0",
|
|
"scripts": {
|
|
"ng": "ng",
|
|
"start": "bun scripts/generate-langs.js && ng serve",
|
|
"build": "bun scripts/generate-langs.js && ng build",
|
|
"postbuild": "bun build src/server.ts --target=bun --outfile dist/vac-optimizer/server/server.js",
|
|
"watch": "bun scripts/generate-langs.js && ng build --watch --configuration development",
|
|
"test": "bun scripts/generate-langs.js && bun test --isolate",
|
|
"serve": "bun dist/vac-optimizer/server/server.js",
|
|
"lint": "bun scripts/generate-langs.js && eslint \"src/**/*.ts\"",
|
|
"lint:fix": "bun scripts/generate-langs.js && eslint \"src/**/*.ts\" --fix",
|
|
"format": "bun scripts/generate-langs.js && prettier --write \"src/**/*.{ts,html,scss,css,json}\"",
|
|
"format:check": "bun scripts/generate-langs.js && prettier --check \"src/**/*.{ts,html,scss,css,json}\""
|
|
},
|
|
"prettier": {
|
|
"printWidth": 100,
|
|
"singleQuote": true,
|
|
"overrides": [
|
|
{
|
|
"files": "*.html",
|
|
"options": {
|
|
"parser": "angular"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"private": true,
|
|
"dependencies": {
|
|
"@angular/animations": "22.2.1",
|
|
"@angular/cdk": "^22.0.0",
|
|
"@angular/common": "22.2.1",
|
|
"@angular/compiler": "22.2.1",
|
|
"@angular/core": "22.2.1",
|
|
"@angular/forms": "22.2.1",
|
|
"@angular/material": "^22.0.0",
|
|
"@angular/platform-browser": "22.2.1",
|
|
"@angular/platform-browser-dynamic": "22.2.1",
|
|
"@angular/router": "22.2.1",
|
|
"date-holidays": "^3.30.2",
|
|
"dayjs": "^1.11.21",
|
|
"rxjs": "~7.8.2",
|
|
"tslib": "^2.8.1"
|
|
},
|
|
"devDependencies": {
|
|
"@analogjs/vite-plugin-angular": "^2.7.5",
|
|
"@angular/build": "22.2.2",
|
|
"@angular/cli": "22.2.2",
|
|
"@angular/compiler-cli": "22.2.1",
|
|
"@eslint/js": "^10.0.1",
|
|
"@types/bun": "1.4.3",
|
|
"@types/jsdom": "^21.1.7",
|
|
"@types/node": "^26.0.0",
|
|
"eslint": "^10.4.1",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-prettier": "^5.5.6",
|
|
"fast-check": "4.10.2",
|
|
"istanbul-lib-coverage": "^3.2.2",
|
|
"istanbul-lib-report": "^3.0.1",
|
|
"istanbul-reports": "^3.2.0",
|
|
"jsdom": "^30.0.0",
|
|
"prettier": "^3.8.3",
|
|
"typescript": "~6.0.3",
|
|
"typescript-eslint": "^8.60.0"
|
|
}
|
|
}
|