From 46b4ffabaf7f0f586709f32d59e60973126fa140 Mon Sep 17 00:00:00 2001 From: HoJeong Go Date: Mon, 19 May 2025 14:45:28 +0900 Subject: [PATCH] feat: resource fallback refs https://github.com/ghostery/adblocker/issues/4885 --- bun.lockb | Bin 80720 -> 81091 bytes package.json | 1 + src/converters/helpers.js | 15 ++++++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 1fe3f320f8c4e4c6a648fc0b3174f08ac4fe0f98..f199403f1ceff24f0a6b5c9bcc964c2d3adb1fc6 100755 GIT binary patch delta 12977 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 LwL7M#xZn6c5yJ3q delta 12830 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 F|1UN$-K+or diff --git a/package.json b/package.json index caef087..eb664d6 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@adguard/scriptlets": "^1.12.1", "@adguard/tsurlfilter": "2.2.23", "@eyeo/webext-ad-filtering-solution": "1.5.0", + "@remusao/small": "^2.1.0", "yaml": "^2.7.0" }, "devDependencies": { diff --git a/src/converters/helpers.js b/src/converters/helpers.js index f7cba96..88c7498 100644 --- a/src/converters/helpers.js +++ b/src/converters/helpers.js @@ -1,3 +1,4 @@ +import { getResourceForMime } from '@remusao/small'; import resourceMapping from '../mappings.json'; export const DEFAULT_PARAM_MAPPING = { @@ -6,6 +7,18 @@ export const DEFAULT_PARAM_MAPPING = { frame: 'subdocument', }; +/** + * Get fallback resource for requested name + * @param {string} name The resource name + */ +function getFallbackResource(name) { + const index = name.lastIndexOf('.'); + if (index === -1) { + return getResourceForMime(name); + } + return getResourceForMime(name.slice(index)); +} + /** * Translates resource name * @param {string} name The source resource name @@ -13,7 +26,7 @@ export const DEFAULT_PARAM_MAPPING = { * @returns Translated dialect or passes given name in case of not found */ function convertName(name, dialect) { - return resourceMapping[name]?.[dialect] ?? name; + return resourceMapping[name]?.[dialect] || getFallbackResource(name); } /**