From 18d14b097d412369a0c75771aef67238bc49ff25 Mon Sep 17 00:00:00 2001 From: Elmar Kresse Date: Sun, 19 Oct 2025 22:55:49 +0200 Subject: [PATCH] feat: Integrate Howler.js for audio playback and remove native audio elements --- .eslintrc.cjs | 27 --- .prettierignore | 8 - .prettierrc.json | 7 - HOWLER_INTEGRATION.md | 83 ++++++++ eslint.config.mjs | 32 ---- package.json | 40 ---- src/server-deno/public/index.html | 3 +- src/server-deno/public/js/audio.js | 264 +++++++++++++++++++++----- src/server-deno/public/js/dom.js | 97 +++++----- src/server-deno/public/js/handlers.js | 160 ++++++++-------- src/server-deno/public/js/ui.js | 164 ++++++++-------- 11 files changed, 506 insertions(+), 379 deletions(-) delete mode 100644 .eslintrc.cjs delete mode 100644 .prettierignore delete mode 100644 .prettierrc.json create mode 100644 HOWLER_INTEGRATION.md delete mode 100644 eslint.config.mjs delete mode 100644 package.json diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 3b5eb83..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - es2023: true, - browser: true, - }, - parserOptions: { - ecmaVersion: 2023, - sourceType: 'module', - }, - ignores: ['data/**', 'public/**/vendor/**', 'scripts/**/tmp/**', 'tmp/**'], - plugins: ['import'], - extends: [ - 'eslint:recommended', - 'plugin:import/recommended', - 'plugin:import/errors', - 'plugin:import/warnings', - 'plugin:import/typescript', - 'prettier', - ], - rules: { - 'no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], - 'no-console': 'off', - 'import/no-unresolved': 'off', - }, -}; diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 451e943..0000000 --- a/.prettierignore +++ /dev/null @@ -1,8 +0,0 @@ -data/ -public/audio/ -public/cover/ -**/*.mp3 -node_modules/ -.tmp/ -dist/ -coverage/ diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index c7a55c7..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "singleQuote": true, - "semi": true, - "trailingComma": "es5", - "printWidth": 100, - "tabWidth": 2 -} diff --git a/HOWLER_INTEGRATION.md b/HOWLER_INTEGRATION.md new file mode 100644 index 0000000..f6153ac --- /dev/null +++ b/HOWLER_INTEGRATION.md @@ -0,0 +1,83 @@ +# Howler.js Integration + +## Overview +Successfully integrated [Howler.js](https://www.npmjs.com/package/howler) v2.2.4 for audio playback, replacing the native HTML5 `