Style
Naming -> kebab-case for filenames and directories, wheras types are still camelCase like in java
// I saw it sometimes being exposed publicly.... why?
private readonly _config = signal<AppConfig | null>(null); // could get rid of null. Its only the intialize
readonly config = this._config.asReadonly();
Localization
We have the i18n stuff in our packages.json but I dont see any usage. How do we localize the webclient? 😮
Update
I just wanted to update all my dependencies. What the fuck, angular ?
WARN 3 deprecated subdependencies found: glob@7.2.3, inflight@1.0.6, rimraf@3.0.2
> pnpm why inflight
inflight@1.0.6
└─┬ glob@7.2.3
├─┬ karma@6.4.4
│ └─┬ @angular/build@21.2.3
│ └── client-app@0.0.0 (devDependencies)
└─┬ rimraf@3.0.2
└── karma@6.4.4 [deduped]
Found 1 version of inflightBesides for karma I currently didnt have a test at all besides Id use vitest.
Then next wtf is that all my mentions in pnpm audit stem from @angular/build…
Should I fix them like this ?
"pnpm": {
"overrides": {
"undici": ">=7.24.0"
}
},Budget
My webapp is small but it already yields the budget limit. Why is that so tiny ? Is it okay to just increase it ?
"budgets": [
{
"type": "initial",
"maximumWarning": "600kB",
"maximumError": "1MB"
}
]Dumb questions
Do I need that fugly #stressSelect ?
Babel wont work otherwise ( unless I some even uglier event.value) construction inside the callback )
<select #stressSelect [value]="stress()" (change)="stress.set(stressSelect.value)">Any reason to not use computed when reacting to other signals ?
chartData = computed<ChartConfiguration<'line'>['data']>(() => ({
labels: this.labels(),
datasets: this.datasets().map(ds => ({
label: ds.label,
data: ds.data,
borderColor: ds.color,
backgroundColor: ds.color + '20',
tension: 0.3,
spanGaps: true,
pointRadius: 3,
})),
}));