chore(frontend): target ES2022 (#39420)

Bump the TypeScript and Vite targets from ES2020 to ES2022. The frontend
already calls ES2022 APIs like `Object.hasOwn` and `Array.prototype.at`
without polyfills, so downleveling class syntax only added helpers. JS
output shrinks by 36 KB.

The only new syntax-level requirement is Safari 16.4 for mermaid, which
ships class static blocks. Pale Moon supports all emitted syntax since
32.2.

The ES2022 target implies `useDefineForClassFields`, so
`noImplicitOverride` is enabled to flag class fields that shadow
inherited DOM properties.
This commit is contained in:
silverwind
2026-09-25 05:56:07 +00:00
committed by GitHub
parent 722e52334a
commit 455f30a7b6
4 changed files with 6 additions and 11 deletions
+2 -2
View File
@@ -319,11 +319,11 @@ class RelativeTime extends HTMLElement {
return undefined;
}
get prefix(): string {
override get prefix(): string {
return this.getAttribute('prefix') ?? (this.format === 'datetime' ? '' : 'on');
}
set prefix(v: string) {
override set prefix(v: string) {
this.setAttribute('prefix', v);
}