Files
lnreader-plugins/plugins/multisrc/ifreedom/generator.js
T
2026-05-18 10:39:07 +05:00

34 lines
940 B
JavaScript

import list from './sources.json' with { type: 'json' };
import defaultSettings from './settings.json' with { type: 'json' };
import { readFileSync } from 'fs';
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';
const folder = dirname(fileURLToPath(import.meta.url));
export const generateAll = function () {
return list.map(metadata => {
metadata.filters = Object.assign(defaultSettings.filters, metadata.filters);
console.log(`[ifreedom]: Generating`, metadata.id);
return generator(metadata);
});
};
const generator = function generator(metadata) {
const IfreedomTemplate = readFileSync(join(folder, 'template.ts'), {
encoding: 'utf-8',
});
const pluginScript = `
${IfreedomTemplate}
const plugin = new IfreedomPlugin(${JSON.stringify(metadata)});
export default plugin;
`.trim();
return {
lang: 'russian',
filename: metadata.sourceName,
pluginScript,
};
};