diff --git a/packages/webamp-modern/package.json b/packages/webamp-modern/package.json index d1fdbf39..2d28abb3 100644 --- a/packages/webamp-modern/package.json +++ b/packages/webamp-modern/package.json @@ -22,7 +22,6 @@ "devDependencies": { "@babel/core": "^7.17.10", "@babel/preset-env": "^7.17.10", - "@types/eslint": "^7.2.14", "@types/estree": "^0.0.50", "@types/jest": "^27.5.0", "@typescript-eslint/eslint-plugin": "^7.1.0", diff --git a/packages/webamp-modern/src/skin/AudioPlayer.ts b/packages/webamp-modern/src/skin/AudioPlayer.ts index 04b692e3..e5c1a45c 100644 --- a/packages/webamp-modern/src/skin/AudioPlayer.ts +++ b/packages/webamp-modern/src/skin/AudioPlayer.ts @@ -43,7 +43,7 @@ export class AudioPlayer { constructor() { this._context = this._context = new (window.AudioContext || - window.webkitAudioContext)(); + (window as any).webkitAudioContext)(); // Fix for iOS and Chrome (Canary) which require that the context be created // or resumed by a user interaction. diff --git a/packages/webamp-modern/src/skin/TrueTypeFont.ts b/packages/webamp-modern/src/skin/TrueTypeFont.ts index ed3d553b..da8d07e7 100644 --- a/packages/webamp-modern/src/skin/TrueTypeFont.ts +++ b/packages/webamp-modern/src/skin/TrueTypeFont.ts @@ -40,7 +40,7 @@ export default class TrueTypeFont { } dispose() { - document.fonts.delete(this._fontFace); + (document.fonts as any).delete(this._fontFace); } getBase64() { @@ -68,6 +68,6 @@ export default class TrueTypeFont { const font = new FontFace(fontFamily, `url(${fontUrl})`); this._fontFace = await font.load(); - document.fonts.add(this._fontFace); + (document.fonts as any).add(this._fontFace); } } diff --git a/packages/webamp-modern/src/skin/kjofolClasses/ButtonKjofol.ts b/packages/webamp-modern/src/skin/kjofolClasses/ButtonKjofol.ts index 01352409..a8a28e6e 100644 --- a/packages/webamp-modern/src/skin/kjofolClasses/ButtonKjofol.ts +++ b/packages/webamp-modern/src/skin/kjofolClasses/ButtonKjofol.ts @@ -10,11 +10,11 @@ export default class ButtonKjofol extends Button { _renderX() { super._renderX(); - this._div.style.setProperty("--left", px(-this._x ?? 0)); + this._div.style.setProperty("--left", px(-this._x)); } _renderY() { super._renderY(); - this._div.style.setProperty("--top", px(-this._y ?? 0)); + this._div.style.setProperty("--top", px(-this._y)); } } diff --git a/packages/webamp-modern/src/skin/kjofolClasses/ToggleButtonKjofol.ts b/packages/webamp-modern/src/skin/kjofolClasses/ToggleButtonKjofol.ts index a66d2784..22ebe6ec 100644 --- a/packages/webamp-modern/src/skin/kjofolClasses/ToggleButtonKjofol.ts +++ b/packages/webamp-modern/src/skin/kjofolClasses/ToggleButtonKjofol.ts @@ -10,11 +10,11 @@ export default class ToggleButtonKjofol extends ToggleButton { _renderX() { super._renderX(); - this._div.style.setProperty("--left", px(-this._x ?? 0)); + this._div.style.setProperty("--left", px(-this._x)); } _renderY() { super._renderY(); - this._div.style.setProperty("--top", px(-this._y ?? 0)); + this._div.style.setProperty("--top", px(-this._y)); } } diff --git a/packages/webamp-modern/src/skin/makiClasses/Status.ts b/packages/webamp-modern/src/skin/makiClasses/Status.ts index 25fd5d62..4c3c98d1 100644 --- a/packages/webamp-modern/src/skin/makiClasses/Status.ts +++ b/packages/webamp-modern/src/skin/makiClasses/Status.ts @@ -1,5 +1,6 @@ import GuiObj from "./GuiObj"; import { AUDIO_PAUSED, AUDIO_STOPPED, AUDIO_PLAYING } from "../AudioPlayer"; +import { UIRoot } from "../../UIRoot"; // Maybe this? // http://wiki.winamp.com/wiki/XML_GUI_Objects#.3CWasabi:StandardFrame:Status.2F.3E diff --git a/packages/webamp-modern/src/skin/makiClasses/SystemObject.ts b/packages/webamp-modern/src/skin/makiClasses/SystemObject.ts index 5f04bb6c..1b064dbd 100644 --- a/packages/webamp-modern/src/skin/makiClasses/SystemObject.ts +++ b/packages/webamp-modern/src/skin/makiClasses/SystemObject.ts @@ -1316,6 +1316,7 @@ export default class SystemObject extends BaseObject { */ getviewportheightfrompoint(x: number, y: number): number { // TODO + return unimplemented(0); } /** @@ -1334,6 +1335,7 @@ export default class SystemObject extends BaseObject { */ getmonitorheightfrompoint(x: number, y: number): number { // TODO + return unimplemented(0); } /** @@ -1342,6 +1344,7 @@ export default class SystemObject extends BaseObject { */ getmonitorheightfromguiobject(g: GuiObj): number { // TODO + return unimplemented(0); } /** @@ -1359,6 +1362,7 @@ export default class SystemObject extends BaseObject { */ getmonitorleftfromguiobject(g: GuiObj): number { // TODO + return unimplemented(0); } /** @@ -1369,6 +1373,7 @@ export default class SystemObject extends BaseObject { */ getmonitorleftfrompoint(x: number, y: number): number { // TODO + return unimplemented(0); } /** @@ -1391,6 +1396,7 @@ export default class SystemObject extends BaseObject { */ getmonitortopfromguiobject(g: GuiObj): number { // TODO + return unimplemented(0); } /** @@ -1401,6 +1407,7 @@ export default class SystemObject extends BaseObject { */ getmonitortopfrompoint(x: number, y: number): number { // TODO + return unimplemented(0); } getviewportleft(): number { @@ -1425,6 +1432,7 @@ export default class SystemObject extends BaseObject { */ getviewportleftfrompoint(x: number, y: number): number { // TODO + return unimplemented(0); } /** @@ -1443,6 +1451,7 @@ export default class SystemObject extends BaseObject { */ getviewporttopfrompoint(x: number, y: number): number { // TODO + return unimplemented(0); } /** diff --git a/packages/webamp-modern/src/skin/makiClasses/WasabiTitle.ts b/packages/webamp-modern/src/skin/makiClasses/WasabiTitle.ts index e98aa554..ade21e18 100644 --- a/packages/webamp-modern/src/skin/makiClasses/WasabiTitle.ts +++ b/packages/webamp-modern/src/skin/makiClasses/WasabiTitle.ts @@ -29,14 +29,14 @@ export default class WasabiTitleBar extends Group { _renderX() { this._div.style.left = this._relatx == "1" - ? relative(this._padtitleleft + this._x ?? 0) - : px(this._padtitleleft + this._x ?? 0); + ? relative(this._padtitleleft + this._x) + : px(this._padtitleleft + this._x); } _renderWidth() { this._div.style.width = this._relatw == "1" - ? relative(-this._padtitleleft + -this._padtitleright + this._w ?? 0) + ? relative(-this._padtitleleft + -this._padtitleright + this._w) : px(-this._padtitleright + this.getwidth()); } diff --git a/packages/webamp-modern/tsconfig.json b/packages/webamp-modern/tsconfig.json index 525ddf76..b2a86d25 100644 --- a/packages/webamp-modern/tsconfig.json +++ b/packages/webamp-modern/tsconfig.json @@ -3,6 +3,17 @@ "esModuleInterop": true, "allowJs": true, "resolveJsonModule": true, - "target": "es5" - } + "target": "es2018", + "lib": ["es2018", "dom"], + "downlevelIteration": true, + "skipLibCheck": true, + "moduleResolution": "node", + "strict": false, + "noEmit": true + }, + "exclude": [ + "node_modules", + "**/*.test.ts", + "tools/eslint-rules/proper-maki-types.ts" + ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e700377..9d87ef3a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -554,9 +554,6 @@ importers: '@babel/preset-env': specifier: ^7.17.10 version: 7.27.2(@babel/core@7.27.4) - '@types/eslint': - specifier: ^7.2.14 - version: 7.29.0 '@types/estree': specifier: ^0.0.50 version: 0.0.50 @@ -4113,9 +4110,6 @@ packages: '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - '@types/eslint@7.29.0': - resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} - '@types/eslint@8.56.7': resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} @@ -18992,11 +18986,6 @@ snapshots: '@types/eslint': 8.56.7 '@types/estree': 1.0.8 - '@types/eslint@7.29.0': - dependencies: - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - '@types/eslint@8.56.7': dependencies: '@types/estree': 1.0.8