Skip to content

Commit

Permalink
feat: remove node dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
seia-soto committed Aug 7, 2024
1 parent 4067287 commit 7bd29ee
Showing 1 changed file with 33 additions and 11 deletions.
44 changes: 33 additions & 11 deletions src/converters/helpers.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,36 @@
import * as path from 'node:path'
import redirects from '@adguard/scriptlets/dist/redirects.json' with { type: 'json' }

function getPathBasename(path) {
const lastIndex = path.lastIndexOf('/');
if (lastIndex === -1) {
return path;
}
return path.slice(lastIndex);
}

function getPathDirname(path) {
const lastIndex = path.lastIndexOf('/');
if (lastIndex === -1) {
return '.';
}
const lastOfLastIndex = path.lastIndexOf('/', lastIndex - 1);
if (lastOfLastIndex === -1) {
return path.slice(0, lastIndex);
}
if (lastOfLastIndex + 1 >= lastIndex) {
return '/';
}
return path.slice(lastOfLastIndex + 1, lastIndex);
}

function getPreferredResource(aliases) {
// ignore non-supported files and manually created uBO aliases by AdGuard
return aliases.find(alias => {
const extension = alias.split('.').pop();
return allowedResourceExtensions.includes(extension) && !alias.startsWith('ubo-');

Check failure on line 30 in src/converters/helpers.js

View workflow job for this annotation

GitHub Actions / tests

ReferenceError: Can't find variable: allowedResourceExtensions

at /home/runner/work/urlfilter2dnr/urlfilter2dnr/src/converters/helpers.js:30:12 at find (:1:11) at generateResourcesMapping (/home/runner/work/urlfilter2dnr/urlfilter2dnr/src/converters/helpers.js:54:35) at /home/runner/work/urlfilter2dnr/urlfilter2dnr/src/converters/helpers.js:107:41
});
}

export function generateResourcesMapping() {
const resourcesMapping = new Map();
const allowedResourceExtensions = [
Expand All @@ -15,14 +45,6 @@ export function generateResourcesMapping() {
'empty',
];

function getPreferredResource(aliases) {
// ignore non-supported files and manually created uBO aliases by AdGuard
return aliases.find(alias => {
const extension = alias.split('.').pop();
return allowedResourceExtensions.includes(extension) && !alias.startsWith('ubo-');
});
}

for (const redirect of redirects) {
// Skip, in case of AdGuard-only resource
if (redirect.aliases === undefined) {
Expand Down Expand Up @@ -122,12 +144,12 @@ export function normalizeRule(rule, { resourcesMapping = DEFAULT_RESOURCE_MAPPIN
}

if (newRule.action && newRule.action.type === 'redirect') {
const filename = path.basename(newRule.action.redirect.extensionPath);
const filename = getPathBasename(newRule.action.redirect.extensionPath);
const preferredFilename = resourcesMapping.get(filename);

if (preferredFilename !== undefined) {
newRule.action.redirect.extensionPath =
path.dirname(newRule.action.redirect.extensionPath) + '/' + preferredFilename;
getPathDirname(newRule.action.redirect.extensionPath) + '/' + preferredFilename;
}
}

Expand Down

0 comments on commit 7bd29ee

Please sign in to comment.