mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-25 22:23:42 +09:00
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:
@@ -4,13 +4,7 @@
|
||||
import rule from './unescaped-html-literal.ts';
|
||||
import {RuleTester} from 'eslint';
|
||||
|
||||
class VitestRuleTester extends RuleTester {
|
||||
static describe = describe;
|
||||
static it = it;
|
||||
static itOnly = it.only;
|
||||
}
|
||||
|
||||
const ruleTester = new VitestRuleTester();
|
||||
const ruleTester = new RuleTester();
|
||||
|
||||
ruleTester.run('unescaped-html-literal', rule, {
|
||||
valid: [
|
||||
|
||||
+2
-1
@@ -10,7 +10,7 @@
|
||||
"${configDir}/web_src/js/**/.*",
|
||||
],
|
||||
"compilerOptions": {
|
||||
"target": "es2020",
|
||||
"target": "es2022",
|
||||
"module": "esnext",
|
||||
"moduleResolution": "bundler",
|
||||
"lib": ["dom", "esnext", "webworker"],
|
||||
@@ -26,6 +26,7 @@
|
||||
"libReplacement": false,
|
||||
"noEmit": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitOverride": true,
|
||||
"noImplicitReturns": true,
|
||||
"noUncheckedSideEffectImports": true,
|
||||
"noPropertyAccessFromIndexSignature": false,
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ function commonViteOpts({build, ...other}: InlineConfig): InlineConfig {
|
||||
outDir,
|
||||
emptyOutDir: false,
|
||||
sourcemap: enableSourcemap !== 'false',
|
||||
target: 'es2020',
|
||||
target: 'es2022',
|
||||
minify: isProduction ? 'oxc' : false,
|
||||
cssMinify: isProduction ? 'esbuild' : false,
|
||||
chunkSizeWarningLimit: Infinity,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user