mirror of
https://github.com/gorhill/uBlock.git
synced 2024-10-06 09:37:12 +02:00
Report per-ruleset stats for filters-to-rules conversion
This commit is contained in:
parent
f7205fe2e4
commit
41d66a78ba
@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
import regexRulesets from '/rulesets/regexes.js';
|
import rulesetDetails from '/rulesets/ruleset-details.js';
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
@ -13,9 +13,9 @@ const dynamicRuleMap = new Map();
|
|||||||
async function updateRegexRules() {
|
async function updateRegexRules() {
|
||||||
const allRules = [];
|
const allRules = [];
|
||||||
const toCheck = [];
|
const toCheck = [];
|
||||||
for ( const regexRuleset of regexRulesets ) {
|
for ( const details of rulesetDetails ) {
|
||||||
if ( regexRuleset.enabled !== true ) { continue; }
|
if ( details.enabled !== true ) { continue; }
|
||||||
for ( const rule of regexRuleset.rules ) {
|
for ( const rule of details.ruleDetails.regexes ) {
|
||||||
const regex = rule.condition.regexFilter;
|
const regex = rule.condition.regexFilter;
|
||||||
const isCaseSensitive = rule.condition.isUrlFilterCaseSensitive === true;
|
const isCaseSensitive = rule.condition.isUrlFilterCaseSensitive === true;
|
||||||
allRules.push(rule);
|
allRules.push(rule);
|
||||||
|
@ -55,7 +55,7 @@ async function main() {
|
|||||||
|
|
||||||
const writeOps = [];
|
const writeOps = [];
|
||||||
const ruleResources = [];
|
const ruleResources = [];
|
||||||
const regexRuleResources = [];
|
const rulesetDetails = [];
|
||||||
const outputDir = commandLineArgs.get('output') || '.';
|
const outputDir = commandLineArgs.get('output') || '.';
|
||||||
|
|
||||||
let goodTotalCount = 0;
|
let goodTotalCount = 0;
|
||||||
@ -202,10 +202,21 @@ async function main() {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
regexRuleResources.push({
|
rulesetDetails.push({
|
||||||
id: ruleset.id,
|
id: ruleset.id,
|
||||||
enabled: ruleset.enabled,
|
enabled: ruleset.enabled,
|
||||||
rules: regexes
|
filterDetails: {
|
||||||
|
total: details.filterCount,
|
||||||
|
accepted: details.acceptedFilterCount,
|
||||||
|
rejected: details.rejectedFilterCount,
|
||||||
|
},
|
||||||
|
ruleDetails: {
|
||||||
|
total: rules.length,
|
||||||
|
accepted: good.length,
|
||||||
|
discarded: redirects.length + headers.length + removeparams.length,
|
||||||
|
rejected: bad.length,
|
||||||
|
regexes,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
ruleResources.push({
|
ruleResources.push({
|
||||||
@ -220,8 +231,8 @@ async function main() {
|
|||||||
|
|
||||||
writeOps.push(
|
writeOps.push(
|
||||||
writeFile(
|
writeFile(
|
||||||
`${rulesetDir}/regexes.js`,
|
`${rulesetDir}/ruleset-details.js`,
|
||||||
`export default ${JSON.stringify(regexRuleResources, replacer, 2)};\n`
|
`export default ${JSON.stringify(rulesetDetails, replacer, 2)};\n`
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -40,7 +40,6 @@ export default [
|
|||||||
'https://ublockorigin.github.io/uAssets/filters/unbreak.txt',
|
'https://ublockorigin.github.io/uAssets/filters/unbreak.txt',
|
||||||
'https://easylist.to/easylist/easylist.txt',
|
'https://easylist.to/easylist/easylist.txt',
|
||||||
'https://easylist.to/easylist/easyprivacy.txt',
|
'https://easylist.to/easylist/easyprivacy.txt',
|
||||||
'https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-online.txt',
|
|
||||||
'https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext',
|
'https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext',
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user