@nomercy-entertainment/nomercy-player-core 2.2.6 → 2.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [2.2.9] — 2026-10-23
6
+
7
+ ### Fixed
8
+
9
+ - A plugin's English translations always load, so a language without a plugin locale file shows English text instead of the raw key (for example `plugin.desktop-ui.message.buffering`).
10
+
11
+ ## [2.2.7] — 2026-10-19
12
+
13
+ ### Changed
14
+
15
+ - Version-only release to keep the trio at one version for music-player 2.2.7.
16
+
5
17
  ## [2.2.6] — 2026-10-18
6
18
 
7
19
  ### Added
package/CONTRIBUTING.md CHANGED
@@ -13,10 +13,11 @@ Thanks for your interest in `@nomercy-entertainment/nomercy-player-core`. This p
13
13
  ```bash
14
14
  git clone https://github.com/NoMercy-Entertainment/nomercy-player-core.git
15
15
  cd nomercy-player-core
16
- npm install
17
- npm test # vitest run
18
- npm run typecheck # tsc --noEmit
19
- npm run build # writes dist/
16
+ corepack enable
17
+ yarn install
18
+ yarn test # vitest run
19
+ yarn typecheck # tsc --noEmit
20
+ yarn build # writes dist/
20
21
  ```
21
22
 
22
23
  ## Pull requests
@@ -24,7 +25,7 @@ npm run build # writes dist/
24
25
  - Branch off `master`. Feature branches: `feat/<short-description>`. Fixes: `fix/<short-description>`.
25
26
  - Commit messages follow [Conventional Commits](https://www.conventionalcommits.org/) (`feat`, `fix`, `chore`, `docs`, `refactor`, `test`, `perf`, `ci`). Imperative, lowercase subject, no trailing period.
26
27
  - Tests required for new features. Bug fixes should include a regression test.
27
- - Run `npm run lint:fix` before pushing. CI rejects lint failures.
28
+ - Run `yarn lint:fix` before pushing. CI rejects lint failures.
28
29
  - No `Co-Authored-By` trailers unless we paired live.
29
30
 
30
31
  ## Plugin contributions
package/RELEASING.md CHANGED
@@ -25,8 +25,8 @@ Publish order matters: video and music build against the published core (their b
25
25
  scripts run from `node_modules/@nomercy-entertainment/nomercy-player-core/scripts`),
26
26
  so core goes first and the consumers refresh their lockfiles before they publish.
27
27
 
28
- 1. Preflight every package: `npm run typecheck`, `npm run lint`, `npm test`, and
29
- `npm run build:all` (plain `build` for core) must be green. Pack each package with
28
+ 1. Preflight every package: `yarn typecheck`, `yarn lint`, `yarn test`, and
29
+ `yarn build:all` (plain `build` for core) must be green. Pack each package with
30
30
  `npm pack` and import every subpath export from the tarball with raw Node.
31
31
  2. Bump the version to `2.0.0` in all three `package.json` files.
32
32
  3. Remove `"tag": "rc"` from `publishConfig` in all three. Leaving it in place while
@@ -10,4 +10,4 @@
10
10
  * Semver string for the currently running kit build.
11
11
  * Inlined at build time from package.json — no runtime JSON import needed.
12
12
  */
13
- export const KIT_VERSION = "2.2.6";
13
+ export const KIT_VERSION = "2.2.9";
@@ -5,9 +5,9 @@
5
5
  //
6
6
  // SPDX-License-Identifier: Apache-2.0
7
7
  // -----------------------------------------------------------------------------
8
- import { bcp47FallbackChain } from '../../adapters/language-matcher/bcp47.js';
9
8
  import { getLazyTranslationLoader } from '../../adapters/translator/loaders/translations-glob.js';
10
9
  import { DefaultTranslator } from '../../adapters/translator/translator.js';
10
+ import { pluginLanguageChain } from '../plugin-translations.js';
11
11
  // ──────────────────────────────────────────────────────────────────────────
12
12
  // Private helpers — only used by i18nMethods
13
13
  // ──────────────────────────────────────────────────────────────────────────
@@ -97,7 +97,7 @@ export const i18nMethods = {
97
97
  }
98
98
  const targetLang = result.data.lang;
99
99
  await _ensureTranslator(this).language(targetLang);
100
- const langChain = bcp47FallbackChain(targetLang);
100
+ const langChain = pluginLanguageChain(targetLang);
101
101
  for (const { instance, ctor } of this._plugins) {
102
102
  const pluginId = ctor.id;
103
103
  // Static bundles and the instance hook are independent sources —
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/core/mixins/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/core/mixins/i18n.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { PluginCtorWithId, Translations } from '../types/index.js';
2
+ /** BCP-47 chain plus the translator's default fallback `en`, so a language without a plugin file never shows raw keys. */
3
+ export declare function pluginLanguageChain(lang: string): string[];
2
4
  /**
3
5
  * Walk a plugin constructor's prototype chain and merge every ancestor's
4
6
  * `static translations` for the given language's BCP-47 fallback chain. Eager
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-translations.d.ts","sourceRoot":"","sources":["../../src/core/plugin-translations.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,EAC/C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAClC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtB"}
1
+ {"version":3,"file":"plugin-translations.d.ts","sourceRoot":"","sources":["../../src/core/plugin-translations.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK/D,0HAA0H;AAC1H,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,EAC/C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAClC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtB"}
@@ -7,6 +7,13 @@
7
7
  // -----------------------------------------------------------------------------
8
8
  import { bcp47FallbackChain } from '../adapters/language-matcher/bcp47.js';
9
9
  import { getLazyTranslationLoader } from '../adapters/translator/loaders/translations-glob.js';
10
+ /** BCP-47 chain plus the translator's default fallback `en`, so a language without a plugin file never shows raw keys. */
11
+ export function pluginLanguageChain(lang) {
12
+ const chain = bcp47FallbackChain(lang);
13
+ if (!chain.includes('en'))
14
+ chain.push('en');
15
+ return chain;
16
+ }
10
17
  /**
11
18
  * Walk a plugin constructor's prototype chain and merge every ancestor's
12
19
  * `static translations` for the given language's BCP-47 fallback chain. Eager
@@ -59,7 +66,7 @@ export function loadPluginStaticTranslations(ctor, language, addTranslations, on
59
66
  * same-key collision regardless of which ancestors are lazy.
60
67
  */
61
68
  async function _loadSequentially(stack, language, addTranslations, onLangLoaded) {
62
- const langChain = bcp47FallbackChain(language);
69
+ const langChain = pluginLanguageChain(language);
63
70
  for (const translationBundle of stack) {
64
71
  const lazy = getLazyTranslationLoader(translationBundle);
65
72
  if (!lazy) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-translations.js","sourceRoot":"","sources":["../../src/core/plugin-translations.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uCAAuC;AACvC,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,uCAAuC;AACvC,gFAAgF;AAIhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAE5F;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAAsB,EACtB,QAAgB,EAChB,eAA+C,EAC/C,YAAoC;IAEpC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,GAAG,GAAY,IAAI,CAAC;IACxB,OAAO,GAAG,IAAI,GAAG,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,gBAAgB,GAAG,GAAsC,CAAC;YAChE,IAAI,gBAAgB,CAAC,YAAY;gBAChC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,iBAAiB,IAAI,KAAK,EAAE,CAAC;YACvC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC/B,KAAqB,EACrB,QAAgB,EAChB,eAA+C,EAC/C,YAAoC;IAEpC,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE/C,KAAK,MAAM,iBAAiB,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,eAAe,CAAC,iBAAiB,CAAC,CAAC;YACnC,SAAS;QACV,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM;gBACV,SAAS;YACV,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACnC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"plugin-translations.js","sourceRoot":"","sources":["../../src/core/plugin-translations.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uCAAuC;AACvC,EAAE;AACF,4EAA4E;AAC5E,EAAE;AACF,uCAAuC;AACvC,gFAAgF;AAIhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAE5F,0HAA0H;AAC1H,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAAsB,EACtB,QAAgB,EAChB,eAA+C,EAC/C,YAAoC;IAEpC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,GAAG,GAAY,IAAI,CAAC;IACxB,OAAO,GAAG,IAAI,GAAG,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,gBAAgB,GAAG,GAAsC,CAAC;YAChE,IAAI,gBAAgB,CAAC,YAAY;gBAChC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM,iBAAiB,IAAI,KAAK,EAAE,CAAC;YACvC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC/B,KAAqB,EACrB,QAAgB,EAChB,eAA+C,EAC/C,YAAoC;IAEpC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEhD,KAAK,MAAM,iBAAiB,IAAI,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,eAAe,CAAC,iBAAiB,CAAC,CAAC;YACnC,SAAS;QACV,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM;gBACV,SAAS;YACV,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACnC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@nomercy-entertainment/nomercy-player-core",
3
3
  "type": "module",
4
- "version": "2.2.6",
4
+ "version": "2.2.9",
5
+ "packageManager": "yarn@4.18.1",
5
6
  "description": "NoMercy player core — shared spine for nomercy-music-player and nomercy-video-player. Plugin runtime, event system, lifecycle helpers, streams, cues, errors, auth.",
6
7
  "author": {
7
8
  "name": "NoMercy Entertainment",
@@ -222,7 +223,7 @@
222
223
  "lint:fix": "eslint . --fix --max-warnings 0",
223
224
  "test": "vitest run",
224
225
  "test:watch": "vitest",
225
- "prepublishOnly": "npm run build"
226
+ "prepublishOnly": "yarn build"
226
227
  },
227
228
  "dependencies": {
228
229
  "hls.js": "^1.6.0"
@@ -240,7 +241,7 @@
240
241
  "vite": "^8.0.13",
241
242
  "vitest": "^4.1.11"
242
243
  },
243
- "overrides": {
244
+ "resolutions": {
244
245
  "katex": "^0.18.2"
245
246
  }
246
247
  }