diff --git a/.aglintignore b/.aglintignore new file mode 100644 index 00000000000..ba660f6a359 --- /dev/null +++ b/.aglintignore @@ -0,0 +1 @@ +ddl_ignore.txt diff --git a/.aglintrc.yaml b/.aglintrc.yaml index fda3475fb3f..cc32d26abe5 100644 --- a/.aglintrc.yaml +++ b/.aglintrc.yaml @@ -1,25 +1,26 @@ -# Keep in mind that in regexp rules, dots may or may not be escaped. -# So if you want to exclude a rule like: -# `/example.(com|org)\/ads/` -# You should replace the dot `.` with `(\.|\\\.)`, resulting in: -# `\/example(\.|\\\.)\(com\|org\)\\\/ads\/` -# This regexp will match and block both: -# `/example.(com|org)\/ads/` -# `/example\.(com|org)\/ads/` -# See an example: https://regex101.com/r/L7CsOZ/1 -# -# https://github.com/AdguardTeam/AGLint#configuration +# AGLint config file +# Documentation: https://github.com/AdguardTeam/AGLint/blob/master/docs/configuration.md root: true extends: - aglint:recommended -syntax: - - AdGuard +platforms: + - adg_any rules: no-excluded-rules: - error - - regexp-patterns: + - excludedRuleTexts: [] + - excludedRegExpPatterns: # Do not forget to escape special regex characters # + # Keep in mind that in regexp rules, dots may or may not be escaped. + # So if you want to exclude a rule like: + # `/example.(com|org)\/ads/` + # You should replace the dot `.` with `(\.|\\\.)`, resulting in: + # `\/example(\.|\\\.)\(com\|org\)\\\/ads\/` + # This regexp will match and block both: + # `/example.(com|org)\/ads/` + # `/example\.(com|org)\/ads/` + # See an example: https://regex101.com/r/L7CsOZ/1 # # https://github.com/AdguardTeam/AdguardFilters/issues/219547 - \|\|adx\.promo\^ diff --git a/.github/workflows/aglint.yml b/.github/workflows/aglint.yml index b2ee7ec7a96..941ff2cd91c 100644 --- a/.github/workflows/aglint.yml +++ b/.github/workflows/aglint.yml @@ -9,16 +9,37 @@ on: - master paths: - "**/*.txt" - - ".aglintrc.*" - - "package.json" + + - "**/.aglintignore" + + - "**/.aglintrc" + - "**/.aglintrc.json" + - "**/.aglintrc.yaml" + - "**/.aglintrc.yml" + - "**/aglint.config.json" + - "**/aglint.config.yaml" + - "**/aglint.config.yml" + - "**/package.json" + - "package-lock.json" + pull_request: branches: - master paths: - "**/*.txt" - - ".aglintrc.*" - - "package.json" + + - "**/.aglintignore" + + - "**/.aglintrc" + - "**/.aglintrc.json" + - "**/.aglintrc.yaml" + - "**/.aglintrc.yml" + - "**/aglint.config.json" + - "**/aglint.config.yaml" + - "**/aglint.config.yml" + - "**/package.json" + - "package-lock.json" jobs: @@ -38,6 +59,26 @@ jobs: - name: Install dependencies run: npm ci + - name: AGLint cache + uses: actions/cache@v4 + with: + path: .aglintcache + key: > + ${{ runner.os }}-aglint-${{ hashFiles( + '**/.aglintignore', + '**/.aglintrc', + '**/.aglintrc.json', + '**/.aglintrc.yaml', + '**/.aglintrc.yml', + '**/aglint.config.json', + '**/aglint.config.yaml', + '**/aglint.config.yml', + '**/package.json', + 'package-lock.json' + ) }} + restore-keys: | + ${{ runner.os }}-aglint- + # If the linter found any errors, it will exit with a non-zero code, which will cause the job to fail - name: Run AGLint run: npm run aglint diff --git a/.gitignore b/.gitignore index 9c6118cd5eb..d43a68c2b45 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .DS_Store .idea node_modules +.aglintcache diff --git a/BaseFilter/sections/allowlist_stealth.txt b/BaseFilter/sections/allowlist_stealth.txt index 7269e566878..7220a7a2fa5 100644 --- a/BaseFilter/sections/allowlist_stealth.txt +++ b/BaseFilter/sections/allowlist_stealth.txt @@ -638,7 +638,7 @@ @@hls/player$stealth=referrer,xmlhttprequest,domain=sportshub.to ! dizipal*.com - frequently changed domains ! https://x.com/dizipalSx -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers @@.php$subdocument,stealth=referrer,domain=/dizipal\d+.com/ ! https://github.com/AdguardTeam/AdguardFilters/issues/188449 @@||dosyaload.com/embed/$stealth=referrer diff --git a/BaseFilter/sections/general_extensions.txt b/BaseFilter/sections/general_extensions.txt index 27d283cb311..29a19377bc7 100644 --- a/BaseFilter/sections/general_extensions.txt +++ b/BaseFilter/sections/general_extensions.txt @@ -126,7 +126,7 @@ primevideo.com,amazon.co.uk,amazon.de,amazon.co.jp,amazon.com#%#//scriptlet('xml primevideo.com,amazon.co.uk,amazon.de,amazon.co.jp,amazon.com#%#//scriptlet('xml-prune', 'xpath(//*[name()="Period"][.//*[@value="Draper"]] | /*[name()="MPD"]/@mediaPresentationDuration | //*[name()="Period"]/@start)', '[value="Draper"]', '.mpd') primevideo.com,amazon.co.uk,amazon.de,amazon.co.jp,amazon.com#%#//scriptlet('xml-prune', 'xpath(//*[name()="Period"][.//*[@value="Ad"]] | /*[name()="MPD"]/@mediaPresentationDuration | //*[name()="Period"]/@start)', '[value="Ad"]', '.mpd') !#endif -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE PLATFORM(windows, mac, android) .mpd$xmlprune=//*[name()="Period"][.//*[@value="Ad"]] | //*[name()="Period"]/@start[boolean(//*[@value="Ad"])],xmlhttprequest,domain=amazon.com|amazon.co.jp|amazon.de|amazon.co.uk|primevideo.com !#if (adguard_app_windows || adguard_app_mac || adguard_app_android ) @@ -142,7 +142,7 @@ primevideo.com,amazon.co.uk,amazon.de,amazon.co.jp,amazon.com#%#//scriptlet('xml /GetPlaybackResources?$xmlhttprequest,removeparam=deviceAdInsertionTypeOverride,domain=amazon.com|amazon.co.jp|amazon.de|amazon.co.uk|primevideo.com primevideo.com,amazon.co.uk,amazon.de,amazon.co.jp,amazon.com#%#((e,t)=>{const n={apply:(n,o,r)=>{try{const s=r[1];if(!s)return Reflect.apply(n,o,r);const c=typeof s;if("string"===c&&s.includes?.(t)){const t=new URL(s);t.searchParams.delete(e);const n=t.href.replace("%2CCuepointPlaylist","");r[1]=n}else if("object"===c&&s instanceof URL&&s.href?.includes?.(t)){s.searchParams.delete(e);const t=s.href.replace("%2CCuepointPlaylist","");r[1]=t}}catch(e){}return Reflect.apply(n,o,r)}};window.XMLHttpRequest.prototype.open=new Proxy(window.XMLHttpRequest.prototype.open,n)})("deviceAdInsertionTypeOverride","/GetPlaybackResources?"); !#endif -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers ! ! HTMLAllCollection popunder (Galaksion variant) ! #%#//scriptlet('abort-current-inline-script', 'addEventListener', 'HTMLAllCollection') diff --git a/BaseFilter/sections/specific.txt b/BaseFilter/sections/specific.txt index d380889d57e..a8a0adf4586 100644 --- a/BaseFilter/sections/specific.txt +++ b/BaseFilter/sections/specific.txt @@ -245,13 +245,12 @@ smsonline.cloud#$?#html[data-theme][lang] [id^="img_"][style]:has(iframe[framebo ~dogdrip.net,~infinityfree.com,~smsonline.cloud##img[height=" 250"][width=" 300"] ~dogdrip.net,~infinityfree.com,~smsonline.cloud##img[height=" 90"][width=" 728"] ~dogdrip.net,~infinityfree.com,~smsonline.cloud##ins[style$="height: 90px; width: 728px;"] -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE PLATFORM(windows, mac, android) ://content-loader.com/loader.min.js$urltransform=/loader\.min\.js/error.js/,domain=~dogdrip.net|~infinityfree.com|~smsonline.cloud !+ NOT_VALIDATE PLATFORM(windows, mac, android) ://html-load.com/loader.min.js$urltransform=/loader\.min\.js/error.js/,domain=~dogdrip.net|~infinityfree.com|~smsonline.cloud -! aglint-enable invalid-modifiers -! aglint-disable-next-line unknown-hints-and-platforms +! aglint-enable no-invalid-modifiers !+ NOT_PLATFORM(ios, ext_android_cb, ext_safari, ext_chromium_mv3, windows, mac, cli, android) !#if (!adguard_app_ios && !adguard_ext_android_cb && !adguard_ext_safari && !adguard_ext_chromium_mv3 && !adguard_app_windows && !adguard_app_mac !adguard_app_android && !adguard_app_cli) ://content-loader.com/loader.min.js$domain=~dogdrip.net|~infinityfree.com|~smsonline.cloud @@ -19697,10 +19696,10 @@ nhregister.com###ad copilot.microsoft.com##div[data-ads-rg] copilot.microsoft.com#%#//scriptlet('json-prune', 'ads') ! https://github.com/AdguardTeam/AdguardFilters/issues/193716#issuecomment-2507446337 -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE PLATFORM(windows, mac, android) ||af.gog.com/game/$urltransform=/^https:\/\/af\.gog\.com\/game\//https:\/\/www.gog\.com\/game\// -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers pcgamingwiki.com#%#(()=>{document.addEventListener("DOMContentLoaded",(()=>{document.querySelectorAll('a[href^="https://af.gog.com/game/"]').forEach((t=>{const e=t.getAttribute("href").replace("https://af.gog.com/","https://www.gog.com/");t.setAttribute("href",e)}))}));})(); !+ PLATFORM(ios, ext_android_cb, ext_safari) @@||track.adtraction.com/t/*&url=*://www.gog.com/$domain=pcgamingwiki.com @@ -19735,10 +19734,10 @@ hulu.com#%#//scriptlet('json-prune', 'breaks custom_breaks_data pause_ads') hulu.com#%#//scriptlet('set-constant', 'Object.prototype.isAdPeriod', 'falseFunc') hulu.com#%#//scriptlet("set-constant", "Object.prototype._parseVAST", "noopFunc") hulu.com#%#//scriptlet("set-constant", "Object.prototype.createAdBlocker", "noopFunc") -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE /manifest.mpd$xmlprune=/MPD/Period[contains(@id\,'ad-')],domain=hulu.com -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers ! ! fc.lc / fc-lc.xyz fitdynamos.com###content a[target="_blank"] > img[style] @@ -20644,7 +20643,6 @@ abs-cbn.com##.MuiGrid-item:has(> .MuiGrid-root div[class*="imp-adSlot"]) iflscience.com##.header-secondary !+ NOT_OPTIMIZED androidcentral.com##.hawk-multi-model-review-container -! aglint-disable-next-line unknown-hints-and-platforms !+ PLATFORM(windows, mac, android, cli) secretsanfrancisco.com#?#.google-ad-manager-ads-header !+ NOT_OPTIMIZED @@ -21322,7 +21320,7 @@ new.lewd.ninja##div[class^="box ~!@$%^&*()_+-=,./';:?><[]"] !+ NOT_VALIDATE [$url=/^https?:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/.*(\?|&)__cpo=aHR0c/]#%#//scriptlet('abort-on-stack-trace', 'addEventListener', '/attachEvent[\s\S]*?Popup[\s\S]*?register/') !#endif -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers /^https?:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/.*(\?|&)__cpo=aHR0c/$replace=/__Cpn.prototype.showAds = true;/__Cpn.prototype.showAds = false;/,document,domain=/^\d{1\,3}\.\d{1\,3}\.\d{1\,3}\.\d{1\,3}\$/ ! https://github.com/AdguardTeam/AdguardFilters/issues/188028 ! https://github.com/AdguardTeam/AdguardFilters/issues/122383 diff --git a/ChineseFilter/sections/specific.txt b/ChineseFilter/sections/specific.txt index 46a7f3cf74c..58e8f22b50f 100644 --- a/ChineseFilter/sections/specific.txt +++ b/ChineseFilter/sections/specific.txt @@ -1931,9 +1931,9 @@ m.13xsw.com,wap.yushuwu.cloud#%#//scriptlet('prevent-addEventListener', 'touchen ! https://github.com/AdguardTeam/AdguardFilters/issues/190832 hanime1.me#%#//scriptlet("trusted-replace-node-text", "script", "popunder", "/window\.open\('(.*?)',.*?\);\n.*location.href = '.*';/", "location.assign('$1');") ! https://github.com/AdguardTeam/AdguardFilters/issues/189389 -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers .gif|$domain=/87[0-9]{2}ck\.cc/ -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers ||imgsrc.baidu.com/*/pic/*.jpg$domain=/87[0-9]{2}ck\.cc/ [$domain=/87\d{2}ck\.cc/]##body > div[style] > a[href][target="_blank"] [$domain=/87\d{2}ck\.cc/]##.stui-vodlist > li:has(> div.stui-vodlist__box > a[href][target="_blank"]) diff --git a/MobileFilter/sections/specific_app.txt b/MobileFilter/sections/specific_app.txt index 9e0983f0ea9..5a9b10a3814 100644 --- a/MobileFilter/sections/specific_app.txt +++ b/MobileFilter/sections/specific_app.txt @@ -338,7 +338,7 @@ ||graph.facebook.com^$app=com.teeonsoft.ztorrent ! TODO: remove aglint directive after fixing ! https://github.com/AdguardTeam/AGLint/issues/260 -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers ||graph.facebook.com^$app=com.vitastudio.* ! ||app.adjust.com^$app=com.easybrain.nonogram|ru.pikabu.android|com.maroieqrwlk.unpin|com.touchtao.soccerkinggoogle|com.mobirix.zumaking2|com.mobirix.swipebrick2|com.mobirix.mahjongking2|com.mobirix.hit7.casino.slots|com.mobirix.gmm|com.mobirix.fishingchampionship|com.mobirix.airhockey|com.mobirix.abmon|com.mobirix.MultiplyWar|com.UCMobile.intl|kz.kolesa|uz.avtoelon|kz.krisha diff --git a/MobileFilter/sections/specific_web.txt b/MobileFilter/sections/specific_web.txt index 449728f05ee..e1287ddf74a 100644 --- a/MobileFilter/sections/specific_web.txt +++ b/MobileFilter/sections/specific_web.txt @@ -103,8 +103,8 @@ the-ans.jp##.sp-overlay shufoo.net###headerad_banner m.gsmarena.com#$#body { margin-top: 0 !important; margin-bottom: 275px !important; } m.gsmarena.com##.adv-mid -m.gsmarena.com##body:after -m.gsmarena.com##body:before +m.gsmarena.com##body::after +m.gsmarena.com##body::before opensourceprojects.dev##.carbon-ad-container-mobile katu.com##div[class*="MidArticleAdUnit"] chichi-pui.com##.p-advertisement-banner__pr diff --git a/SpywareFilter/sections/general_extensions.txt b/SpywareFilter/sections/general_extensions.txt index f58dbfdcaa4..c480b65a180 100644 --- a/SpywareFilter/sections/general_extensions.txt +++ b/SpywareFilter/sections/general_extensions.txt @@ -425,11 +425,8 @@ accountkiller.com#%#window.ga = function(){var a = arguments[5];a&&a.hitCallback ! AGLint temporarily disabled for this rule due to https://github.com/AdguardTeam/AGLint/issues/191 ! TODO: Enable it back when AGLint is fixed. ! TODO: remove document modifier when this issue is fixed - https://github.com/AdguardTeam/AdguardBrowserExtension/issues/2954 -! aglint-disable-next-line /.*/$permissions=join-ad-interest-group=(),document -! aglint-disable-next-line /.*/$permissions=run-ad-auction=(),document -! aglint-disable-next-line /.*/$permissions=browsing-topics=(),document ! ! Suppressing Private State Token API diff --git a/SpywareFilter/sections/specific.txt b/SpywareFilter/sections/specific.txt index 3ae15e0a35b..2dc5a11802e 100644 --- a/SpywareFilter/sections/specific.txt +++ b/SpywareFilter/sections/specific.txt @@ -52,7 +52,6 @@ $cookie=_awl;maxAge=30,domain=nypost.com|al.com|9news.com !+ NOT_OPTIMIZED ||securepubads.g.doubleclick.net/tag/js/gpt.js$script,redirect=googletagservices-gpt,important,domain=turbo.pt ! https://github.com/AdguardTeam/AdguardFilters/issues/152079 -! aglint-disable-next-line no-excluded-rules !||staff-start.com/js/track/ ! https://github.com/AdguardTeam/AdguardFilters/issues/187274 ! Breaks search on shopping.yahoo.co.jp @@ -5149,17 +5148,17 @@ mediamarkt.de#%#//scriptlet('abort-on-property-write', 'ftr__startScriptLoad') /api/rest/analytics/page/rendered$domain=komonews.com|wjactv.com|upnorthlive.com|cnycentral.com|wpde.com|cbs6albany.com|kutv.com|wjla.com|news3lv.com|kmph.com|kfoxtv.com|fox17.com|foxbaltimore.com|foxchattanooga.com|foxillinois.com|foxnebraska.com|foxreno.com|foxrochester.com|foxsanantonio.com|nbcmontana.com|okcfox.com|siouxlandnews.com|wach.com|wchstv.com|wcyb.com|wfxl.com|wgxa.tv|wlos.com|wsbt.com|cbs2iowa.com|fox4beaumont.com|mycbs4.com|mynews4.com|news4sanantonio.com|abc6onyourside.com|wtov9.com|turnto10.com|fox11online.com|mynbc15.com|nbc16.com|fox23maine.com|nbc24.com|fox28savannah.com|myfox28columbus.com|fox42kptm.com|dayton247now.com|fox56.com|katu.com|local12.com|bakersfieldnow.com|ktul.com|22thepoint.com|abc3340.com|abc45.com|abc7amarillo.com|abcnews4.com|cbs12.com|cbs4local.com|cbsaustin.com|chattanoogacw.com|cw14online.com|cwomaha.tv|cw18milwaukee.com|cw23tv.com|cw34.com|cw35.com|cw9tv.com|cwcentralpa.com|cwcincinnati.com|cwcolumbus.com|cwlasvegas.com|cwtreasurevalley.com|fox38corpuschristi.com|fox47.com|fox49.tv|foxkansas.com|foxrichmond.com|idahonews.com|katv.com|kcby.com|kdsm17.com|keprtv.com|kfdm.com|khqa.com|kimatv.com|kmyu.tv|kocb.com|kpic.com|krcgtv.com|krcrtv.com|ktvl.com|ktvo.com|ktxs.com|kunptv.com|kunwtv.com|kval.com|local21news.com|midmichigannow.com|myrdctv.com|mytv30web.com|mytvbaltimore.com|mytvbuffalo.com|mytvcharleston.com|mytvdayton.com|mytvrichmond.com|mytvwichita.com|mytvz.com|nebraska.tv|nevadasportsnet.com|newschannel20.com|newschannel9.com|raleighcw.com|seattlerefined.com|southernoregoncw.com|star64.tv|telemundoaustin.com|thecw38.com|thecw46.com|thecwtc.com|thecwtv.tv|thenationaldesk.com|utv44.com|wabm68.com|watchdaytime.com|wcti12.com|weartv.com|wfgxtv.com|wgme.com|wpgh53.com|wset.com|wtwc40.com|wutv29.com|wwmt.com|13wham.com ! ! https://github.com/AdguardTeam/AdguardFilters/issues/216803 -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE PLATFORM(windows, mac, android) ||track.effiliation.com/servlet/effi.redir$urltransform=/%3A/:/ !+ NOT_VALIDATE PLATFORM(windows, mac, android) ||track.effiliation.com/servlet/effi.redir$urltransform=/%2F/\// !+ NOT_VALIDATE PLATFORM(windows, mac, android) ||track.effiliation.com/servlet/effi.redir$urltransform=/^https?:\/\/(?:[a-z0-9-]+\.)*?track\.effiliation\.com.*[?&]url=(.+)$/\$1/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers ! ! https://github.com/AdguardTeam/AdguardFilters/issues/197963 -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE PLATFORM(windows, mac, android) ||digidip.net/visit?url=$urltransform=/%3A/:/ !+ NOT_VALIDATE PLATFORM(windows, mac, android) @@ -5170,7 +5169,7 @@ mediamarkt.de#%#//scriptlet('abort-on-property-write', 'ftr__startScriptLoad') ||digidip.net/visit?url=$urltransform=/%3D/=/ !+ NOT_VALIDATE PLATFORM(windows, mac, android) ||digidip.net/visit?url=$urltransform=/^https?:\/\/(?:[a-z0-9-]+\.)*?.*\.digidip\.net.*url=([^&]*).*/\$1/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers ! ! dzen.ru ||yandex.ru/ads/zen_audit diff --git a/TurkishFilter/sections/specific.txt b/TurkishFilter/sections/specific.txt index 79d41d00aed..53efbf4de72 100644 --- a/TurkishFilter/sections/specific.txt +++ b/TurkishFilter/sections/specific.txt @@ -4382,7 +4382,7 @@ acartv77.live,acartv78.live,acartv79.live,acartv80.live,acartv81.live,acartv82.l [$domain=/bosssports\d+\.com/]#%#//scriptlet('set-constant', 'config.adv.enabled', 'false') [$domain=/bosssports\d+\.com/]##.iframe-buttons [$domain=/bosssports\d+\.com/]##ul > li > a:not([href^="https://bosssports"][href$=".com/"]) -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers ||video.twimg.com/amplify_video/*/vid/*.mp4$domain=/^bosssports\d+\.com/ !#if (adguard_app_ios || adguard_ext_safari || adguard_ext_android_cb || ext_ublock) ||video.twimg.com/amplify_video/*/vid/*.mp4$domain=bosssports214.com|bosssports215.com|bosssports216.com|bosssports217.com|bosssports218.com|bosssports219.com|bosssports220.com|bosssports221.com|bosssports222.com|bosssports223.com @@ -4583,7 +4583,7 @@ ugurfilm9.com,ugurfilm10.com,ugurfilm11.com,ugurfilm12.com,ugurfilm13.com,ugurfi ! dizibox*.com - frequently changed domains [$domain=/dizibox\d+.com/]##.body-clickable ||dizibox*.com/wp-content/themes/diziplus/images/bg.webp -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers ||ssl.p.jwpcdn.com/player/*/vast.js$domain=/dizibox\d+\.com/ !#if (adguard_app_ios || adguard_ext_safari || adguard_ext_android_cb || ext_ublock) dizibox6.com,dizibox7.com,dizibox8.com,dizibox9.com,dizibox10.com,dizibox11.com,dizibox12.com,dizibox13.com,dizibox14.com,dizibox15.com,dizibox16.com,dizibox17.com,dizibox18.com,dizibox19.com,dizibox20.com,dizibox21.com,dizibox22.com,dizibox23.com,dizibox24.com,dizibox25.com##.body-clickable @@ -4685,7 +4685,7 @@ hdselcuksports368.top#%#//scriptlet('prevent-window-open') ##div[data-isbd-main-container] > section > div.hidden-xs.text-center ! belestepe*.sbs - frequently changed domains ||belestepe*.sbs//wp-content/uploads/*.gif -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers ||video.twimg.com/amplify_video/*/vid/*.mp4$domain=/^belestepe\d+\.sbs/ [$domain=/belestepe\d+\.sbs/]##div[data-isbd-main-container] > section > div.hidden-xs.text-center [$domain=/belestepe\d+\.sbs/]#%#//scriptlet('set-constant', 'config.advertisement.enabled', 'false') @@ -4705,7 +4705,6 @@ izlemac583.sbs,izlemac584.sbs,izlemac585.sbs,izlemac586.sbs,izlemac587.sbs,izlem !#endif ! mactanmaca*.sbs - frequently changed domains ||mactanmaca*.sbs/wp-content/*.gif -! aglint-disable-next-line invalid-modifiers [$domain=/mactanmaca\d+\.sbs/]#%#//scriptlet('set-constant', 'config.advertisement.enabled', 'false') [$domain=/mactanmaca\d+\.sbs/]##div[data-isbd-main-container] > section > div.hidden-xs.text-center [$domain=/mactanmaca\d+\.sbs/]#%#//scriptlet('set-cookie', 'reklamgosterimx', 'ok') @@ -4761,12 +4760,12 @@ justintvsh.baby,dmlstechnology.com,justintvde.com,justin-tv.org,inattvgiris.pro, [$domain=/justintvizle\d+\.top/]##header > a[href="/"] + ul [$domain=/justintvizle\d+\.top/]##.header_r ! -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE ||hizliresims.com/*.gif$domain=/selcuksports\d+\.com/ !+ NOT_VALIDATE ||placehold.co^$domain=/selcuksports\d+\.com/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers [$domain=/selcuksports\d+\.com/]##img[id^="top-ads-"] !#if (adguard_app_ios || adguard_ext_safari || adguard_ext_android_cb || ext_ublock) ! justintvizle58.top @@ -4871,7 +4870,7 @@ selcuksportshd.is##.page-overlay selcuksportshdcanli.com,selcuksportshd.is#$?#body { background-image: none !important; } selcuksportshdcanli.com##.ps !#if (adguard_app_windows || adguard_app_mac || adguard_app_android) -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE ||hizliresims.com/*.gif$domain=/selcuksportshd\d+\.(xyz\|click)/ !+ NOT_VALIDATE @@ -4882,7 +4881,7 @@ selcuksportshdcanli.com##.ps ||blogger.googleusercontent.com/img/$domain=/selcuksportshd\d+.biz|main\.uxsyplayer[a-z0-9-]+\.click/ !+ NOT_VALIDATE ||video.twimg.com/ext_tw_video/*/*.m3u8$domain=/^[a-zA-Z]{1\,6}\.[a-zA-Z0-9]{15\,}.*\d+.*\.click$/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers !#endif ! TODO: remove "NOT_VALIDATE" hint when this issue is fixed - https://github.com/AdguardTeam/FiltersCompiler/issues/237 !#if (adguard_app_windows || adguard_app_mac || adguard_app_android || adguard_ext_opera || adguard_ext_firefox || adguard_ext_chromium || adguard_ext_chromium_mv3 || ext_ublock) @@ -5008,7 +5007,7 @@ fullhdizle.*,filmizlehdfilm.com,filmizletv.*,fullfilmizle.*,fullhdfilmizle.*,ful [$domain=/mackeyfi\d+\.sbs$/]#%#//scriptlet('set-constant', 'adscfg.enabled', 'false') [$domain=/mackeyfi\d+.sbs/]##a[href="https://bty.bio/reklam"] ! -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers ! dizipal*.com - frequently changed domains ! https://x.com/dizipalSx x.ag2m2.cfd#?##oframeplayerjs > pjsdiv[style^="position:"]:has(> pjsdiv > pjsdiv > center:contains(Padişahbet'ten)) @@ -5025,10 +5024,10 @@ x.ag2m2.cfd#?##oframeplayerjs > pjsdiv[style^="position:"]:has(> pjsdiv > pjsdiv [$domain=/^dizipal\d+\.com/]##.rounded.m-auto .bg-black > a[href][target="_blank"] [$domain=/^dizipal\d+\.com/]###mPlayerFds [$domain=/^dizipal\d+\.com/]##.footer-ad-container -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE ||blogger.googleusercontent.com/img/$domain=/^dizipal\d+\.com$/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers !#if (adguard_app_ios || adguard_ext_safari || ext_ublock) dizipal1057.com,dizipal1058.com,dizipal1059.com,dizipal1060.com,dizipal1061.com,dizipal1062.com,dizipal1063.com,dizipal1064.com,dizipal1065.com,dizipal1066.com,dizipal1067.com,dizipal1068.com,dizipal1069.com,dizipal1070.com,dizipal1071.com,dizipal1072.com,dizipal1073.com,dizipal1074.com,dizipal1075.com,dizipal1076.com,dizipal1077.com,dizipal1078.com,dizipal1079.com,dizipal1080.com,dizipal1081.com,dizipal1082.com,dizipal1083.com,dizipal1084.com,dizipal1085.com,dizipal1086.com,dizipal1087.com,dizipal1088.com,dizipal1089.com,dizipal1090.com,dizipal1091.com,dizipal1092.com,dizipal1093.com,dizipal1094.com,dizipal1095.com,dizipal1096.com,dizipal1097.com,dizipal1098.com,dizipal1099.com,dizipal1100.com,dizipal1101.com,dizipal1102.com,dizipal1103.com,dizipal1104.com,dizipal1105.com,dizipal1106.com,dizipal1107.com,dizipal1108.com,dizipal1109.com,dizipal1110.com,dizipal1111.com,dizipal1112.com,dizipal1113.com,dizipal1114.com,dizipal1115.com,dizipal1116.com,dizipal1117.com,dizipal1118.com,dizipal1119.com,dizipal1120.com,dizipal1121.com,dizipal1122.com,dizipal1123.com,dizipal1124.com,dizipal1125.com,dizipal1126.com,dizipal1127.com,dizipal1128.com,dizipal1129.com,dizipal1130.com,dizipal1131.com,dizipal1132.com,dizipal1133.com,dizipal1134.com,dizipal1135.com,dizipal1136.com,dizipal1137.com,dizipal1138.com,dizipal1139.com,dizipal1140.com,dizipal1141.com,dizipal1142.com,dizipal1143.com,dizipal1144.com,dizipal1145.com,dizipal1146.com,dizipal1147.com,dizipal1148.com,dizipal1149.com,dizipal1150.com,dizipal1151.com,dizipal1152.com,dizipal1153.com,dizipal1154.com,dizipal1155.com,dizipal1156.com,dizipal1157.com,dizipal1158.com,dizipal1159.com,dizipal1160.com,dizipal1161.com,dizipal1162.com,dizipal1163.com,dizipal1164.com,dizipal1165.com,dizipal1166.com,dizipal1167.com,dizipal1168.com,dizipal1169.com,dizipal1170.com,dizipal1171.com,dizipal1172.com,dizipal1173.com,dizipal1174.com,dizipal1175.com,dizipal1176.com,dizipal1177.com,dizipal1178.com,dizipal1179.com,dizipal1180.com,dizipal1181.com,dizipal1182.com,dizipal1183.com,dizipal1184.com,dizipal1185.com,dizipal1186.com,dizipal1187.com,dizipal1188.com,dizipal1189.com,dizipal1190.com,dizipal1191.com,dizipal1192.com,dizipal1193.com,dizipal1194.com,dizipal1195.com,dizipal1196.com,dizipal1197.com,dizipal1198.com,dizipal1199.com,dizipal1200.com,dizipal1201.com,dizipal1202.com,dizipal1203.com,dizipal1204.com,dizipal1205.com,dizipal1206.com,dizipal1207.com,dizipal1208.com,dizipal1209.com,dizipal1210.com,dizipal1211.com,dizipal1212.com,dizipal1213.com,dizipal1214.com,dizipal1215.com,dizipal1216.com,dizipal1217.com,dizipal1218.com,dizipal1219.com,dizipal1220.com,dizipal1221.com,dizipal1222.com,dizipal1223.com,dizipal1224.com,dizipal1225.com,dizipal1226.com,dizipal1227.com,dizipal1228.com,dizipal1229.com,dizipal1230.com,dizipal1231.com,dizipal1232.com,dizipal1233.com,dizipal1234.com,dizipal1235.com,dizipal1236.com,dizipal1237.com,dizipal1238.com,dizipal1239.com,dizipal1240.com,dizipal1241.com,dizipal1242.com,dizipal1243.com,dizipal1244.com,dizipal1245.com,dizipal1246.com,dizipal1247.com,dizipal1248.com,dizipal1249.com,dizipal1250.com,dizipal1251.com,dizipal1252.com,dizipal1253.com,dizipal1254.com,dizipal1255.com,dizipal1256.com,dizipal1257.com,dizipal1258.com,dizipal1259.com,dizipal1260.com,dizipal1261.com,dizipal1262.com,dizipal1263.com,dizipal1264.com,dizipal1265.com,dizipal1266.com,dizipal1267.com,dizipal1268.com,dizipal1269.com,dizipal1270.com,dizipal1271.com,dizipal1272.com,dizipal1273.com,dizipal1274.com,dizipal1275.com,dizipal1276.com,dizipal1277.com,dizipal1278.com,dizipal1279.com,dizipal1280.com,dizipal1281.com,dizipal1282.com,dizipal1283.com,dizipal1284.com,dizipal1285.com,dizipal1286.com,dizipal1287.com,dizipal1288.com,dizipal1289.com,dizipal1290.com,dizipal1291.com,dizipal1292.com,dizipal1293.com,dizipal1294.com,dizipal1295.com,dizipal1296.com,dizipal1297.com,dizipal1298.com,dizipal1299.com,dizipal1300.com,dizipal1301.com,dizipal1302.com,dizipal1303.com,dizipal1304.com,dizipal1305.com,dizipal1306.com,dizipal1307.com,dizipal1308.com,dizipal1309.com,dizipal1310.com,dizipal1311.com,dizipal1312.com,dizipal1313.com,dizipal1314.com,dizipal1315.com,dizipal1316.com,dizipal1317.com,dizipal1318.com,dizipal1319.com,dizipal1320.com,dizipal1321.com,dizipal1322.com,dizipal1323.com,dizipal1324.com,dizipal1325.com,dizipal1326.com,dizipal1327.com,dizipal1328.com,dizipal1329.com,dizipal1330.com,dizipal1331.com,dizipal1332.com,dizipal1333.com,dizipal1334.com,dizipal1335.com,dizipal1336.com,dizipal1337.com,dizipal1338.com,dizipal1339.com,dizipal1340.com,dizipal1341.com,dizipal1342.com,dizipal1343.com,dizipal1344.com,dizipal1345.com,dizipal1346.com,dizipal1347.com,dizipal1348.com,dizipal1349.com,dizipal1350.com##.containerAds dizipal1057.com,dizipal1058.com,dizipal1059.com,dizipal1060.com,dizipal1061.com,dizipal1062.com,dizipal1063.com,dizipal1064.com,dizipal1065.com,dizipal1066.com,dizipal1067.com,dizipal1068.com,dizipal1069.com,dizipal1070.com,dizipal1071.com,dizipal1072.com,dizipal1073.com,dizipal1074.com,dizipal1075.com,dizipal1076.com,dizipal1077.com,dizipal1078.com,dizipal1079.com,dizipal1080.com,dizipal1081.com,dizipal1082.com,dizipal1083.com,dizipal1084.com,dizipal1085.com,dizipal1086.com,dizipal1087.com,dizipal1088.com,dizipal1089.com,dizipal1090.com,dizipal1091.com,dizipal1092.com,dizipal1093.com,dizipal1094.com,dizipal1095.com,dizipal1096.com,dizipal1097.com,dizipal1098.com,dizipal1099.com,dizipal1100.com,dizipal1101.com,dizipal1102.com,dizipal1103.com,dizipal1104.com,dizipal1105.com,dizipal1106.com,dizipal1107.com,dizipal1108.com,dizipal1109.com,dizipal1110.com,dizipal1111.com,dizipal1112.com,dizipal1113.com,dizipal1114.com,dizipal1115.com,dizipal1116.com,dizipal1117.com,dizipal1118.com,dizipal1119.com,dizipal1120.com,dizipal1121.com,dizipal1122.com,dizipal1123.com,dizipal1124.com,dizipal1125.com,dizipal1126.com,dizipal1127.com,dizipal1128.com,dizipal1129.com,dizipal1130.com,dizipal1131.com,dizipal1132.com,dizipal1133.com,dizipal1134.com,dizipal1135.com,dizipal1136.com,dizipal1137.com,dizipal1138.com,dizipal1139.com,dizipal1140.com,dizipal1141.com,dizipal1142.com,dizipal1143.com,dizipal1144.com,dizipal1145.com,dizipal1146.com,dizipal1147.com,dizipal1148.com,dizipal1149.com,dizipal1150.com,dizipal1151.com,dizipal1152.com,dizipal1153.com,dizipal1154.com,dizipal1155.com,dizipal1156.com,dizipal1157.com,dizipal1158.com,dizipal1159.com,dizipal1160.com,dizipal1161.com,dizipal1162.com,dizipal1163.com,dizipal1164.com,dizipal1165.com,dizipal1166.com,dizipal1167.com,dizipal1168.com,dizipal1169.com,dizipal1170.com,dizipal1171.com,dizipal1172.com,dizipal1173.com,dizipal1174.com,dizipal1175.com,dizipal1176.com,dizipal1177.com,dizipal1178.com,dizipal1179.com,dizipal1180.com,dizipal1181.com,dizipal1182.com,dizipal1183.com,dizipal1184.com,dizipal1185.com,dizipal1186.com,dizipal1187.com,dizipal1188.com,dizipal1189.com,dizipal1190.com,dizipal1191.com,dizipal1192.com,dizipal1193.com,dizipal1194.com,dizipal1195.com,dizipal1196.com,dizipal1197.com,dizipal1198.com,dizipal1199.com,dizipal1200.com,dizipal1201.com,dizipal1202.com,dizipal1203.com,dizipal1204.com,dizipal1205.com,dizipal1206.com,dizipal1207.com,dizipal1208.com,dizipal1209.com,dizipal1210.com,dizipal1211.com,dizipal1212.com,dizipal1213.com,dizipal1214.com,dizipal1215.com,dizipal1216.com,dizipal1217.com,dizipal1218.com,dizipal1219.com,dizipal1220.com,dizipal1221.com,dizipal1222.com,dizipal1223.com,dizipal1224.com,dizipal1225.com,dizipal1226.com,dizipal1227.com,dizipal1228.com,dizipal1229.com,dizipal1230.com,dizipal1231.com,dizipal1232.com,dizipal1233.com,dizipal1234.com,dizipal1235.com,dizipal1236.com,dizipal1237.com,dizipal1238.com,dizipal1239.com,dizipal1240.com,dizipal1241.com,dizipal1242.com,dizipal1243.com,dizipal1244.com,dizipal1245.com,dizipal1246.com,dizipal1247.com,dizipal1248.com,dizipal1249.com,dizipal1250.com,dizipal1251.com,dizipal1252.com,dizipal1253.com,dizipal1254.com,dizipal1255.com,dizipal1256.com,dizipal1257.com,dizipal1258.com,dizipal1259.com,dizipal1260.com,dizipal1261.com,dizipal1262.com,dizipal1263.com,dizipal1264.com,dizipal1265.com,dizipal1266.com,dizipal1267.com,dizipal1268.com,dizipal1269.com,dizipal1270.com,dizipal1271.com,dizipal1272.com,dizipal1273.com,dizipal1274.com,dizipal1275.com,dizipal1276.com,dizipal1277.com,dizipal1278.com,dizipal1279.com,dizipal1280.com,dizipal1281.com,dizipal1282.com,dizipal1283.com,dizipal1284.com,dizipal1285.com,dizipal1286.com,dizipal1287.com,dizipal1288.com,dizipal1289.com,dizipal1290.com,dizipal1291.com,dizipal1292.com,dizipal1293.com,dizipal1294.com,dizipal1295.com,dizipal1296.com,dizipal1297.com,dizipal1298.com,dizipal1299.com,dizipal1300.com,dizipal1301.com,dizipal1302.com,dizipal1303.com,dizipal1304.com,dizipal1305.com,dizipal1306.com,dizipal1307.com,dizipal1308.com,dizipal1309.com,dizipal1310.com,dizipal1311.com,dizipal1312.com,dizipal1313.com,dizipal1314.com,dizipal1315.com,dizipal1316.com,dizipal1317.com,dizipal1318.com,dizipal1319.com,dizipal1320.com,dizipal1321.com,dizipal1322.com,dizipal1323.com,dizipal1324.com,dizipal1325.com,dizipal1326.com,dizipal1327.com,dizipal1328.com,dizipal1329.com,dizipal1330.com,dizipal1331.com,dizipal1332.com,dizipal1333.com,dizipal1334.com,dizipal1335.com,dizipal1336.com,dizipal1337.com,dizipal1338.com,dizipal1339.com,dizipal1340.com,dizipal1341.com,dizipal1342.com,dizipal1343.com,dizipal1344.com,dizipal1345.com,dizipal1346.com,dizipal1347.com,dizipal1348.com,dizipal1349.com,dizipal1350.com##body > div[align="center"][class="bb"] ~ br @@ -5205,7 +5204,7 @@ xyzsports173.xyz,xyzsports174.xyz,xyzsports175.xyz,xyzsports176.xyz,xyzsports177 .click/index.php?id=selcukbeinsports$removeheader=cache-control ! TODO: remove the comments below after the issue is fixed ! https://github.com/AdguardTeam/AGLint/issues/202 -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers /xyzsports\d+\.xyz\/assets\/images\/\w{3}\//$image,domain=/xyzsports\d+\.xyz/ ! ! superbetin*.com - frequently changed domains @@ -5322,10 +5321,10 @@ realfilmizle6.com,realfilmizle7.com,realfilmizle8.com,realfilmizle9.com,realfilm !#if (adguard_app_ios || adguard_ext_safari || adguard_ext_android_cb || ext_ublock) ||blogger.googleusercontent.com/img/$domain=inattv1084.xyz|inattv1085.xyz|inattv1086.xyz|inattv1087.xyz|inattv1088.xyz|inattv1089.xyz|inattv1090.xyz|inattv1091.xyz|inattv1092.xyz|inattv1093.xyz|inattv1094.xyz|inattv1095.xyz|inattv1096.xyz !#endif -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE ||blogger.googleusercontent.com/img/$domain=/inattv\d+\.xyz/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers ! ! CASE 2 - inattvcom*.xyz ||inattvcom*.xyz/*.gif @@ -5341,10 +5340,10 @@ inattvcom561.xyz,inattvcom562.xyz,inattvcom563.xyz,inattvcom564.xyz,inattvcom565 [$path=/^\/$/]itemci.com#%#//scriptlet('trusted-click-element', 'div[style^="background"][style*="https://cdn.itemci.com/assets/images/site_login_image.jpg"] > button.close', '', '3000') ! trgoals*.xyz - frequently changed domains !#if (adguard_app_windows || adguard_app_mac || adguard_app_android || adguard_ext_chromium || adguard_ext_opera || adguard_ext_firefox || adguard_ext_chromium || adguard_ext_chromium_mv3) -! aglint-disable invalid-modifiers +! aglint-disable no-invalid-modifiers !+ NOT_VALIDATE ||blogger.googleusercontent.com/img/$domain=/^trgoals\d+\.xyz$/ -! aglint-enable invalid-modifiers +! aglint-enable no-invalid-modifiers !#endif [$domain=/^trgoals\d+\.xyz$/]##.main-content > marquee [$domain=/^trgoals\d+\.xyz$/]##.ads-container @@ -5485,7 +5484,7 @@ driverdestek.com##.adsbygoogle ! https://github.com/AdguardTeam/AdguardFilters/issues/77520 ! TODO: We take a look at this rule later in the linter, until then keep the linter disabled here ! https://github.com/AdguardTeam/tsurlfilter/issues/105 -! aglint-disable-next-line invalid-modifiers +! aglint-disable-next-line no-invalid-modifiers ||video.twimg.com/ext_tw_video/*/*.m3u8$domain=/^i[a-z]*\.strmrdr[a-z]+\..*/ ! ! Special rules for AdGuard websites' test pages. The only purpose of these diff --git a/package-lock.json b/package-lock.json index 347fc35c554..d83f1bd8ad2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,5 @@ { "name": "@adguard/filters", - "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { @@ -8,52 +7,63 @@ "name": "@adguard/filters", "license": "GPL-3.0-only", "devDependencies": { - "@adguard/aglint": "3.0.0", + "@adguard/aglint": "4.0.0-beta.2", "husky": "^9.1.7", "lint-staged": "^16.2.7", "markdownlint": "^0.40.0", "markdownlint-cli": "^0.46.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } }, "node_modules/@adguard/aglint": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@adguard/aglint/-/aglint-3.0.0.tgz", - "integrity": "sha512-uNUjT/FMhVU3q9rI0tRQL1q+0bFT2fL9KHy0rfyPkGh5Ldy9KnaxZTou5GtRNd9OGLyWnvpgc3PSP8+Hq/aGhQ==", + "version": "4.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@adguard/aglint/-/aglint-4.0.0-beta.2.tgz", + "integrity": "sha512-Yem1karPz3F7RsacixCjfCOynf4pe/SikgWVCgNfkoOCI8/iKCPltUSwZvAPFEbxpUYKd6DsVSam1SOw442GqQ==", "dev": true, "license": "MIT", "dependencies": { - "@adguard/agtree": "^3.1.4", - "@adguard/ecss-tree": "^1.1.0", - "@inquirer/checkbox": "^1.3.7", - "@inquirer/select": "^1.2.7", - "chalk": "4.1.2", + "@adguard/agtree": "^3.4.1", + "@adguard/ecss-tree": "^2.0.1", + "@inquirer/checkbox": "^4.3.0", + "@inquirer/confirm": "^6.0.1", + "@inquirer/select": "^4.4.0", + "@valibot/to-json-schema": "^1.3.0", + "chalk": "5.6.2", "clone-deep": "^4.0.1", - "commander": "^11.0.0", + "commander": "^14.0.1", "deepmerge": "^4.3.1", - "fast-deep-equal": "^3.1.3", - "fs-extra": "^11.1.1", + "detect-indent": "^7.0.2", + "detect-newline": "^4.0.1", + "esquery": "^1.6.0", + "fast-fuzzy": "^1.12.0", + "fast-glob": "^3.3.3", + "glob-parent": "^6.0.2", "ignore": "^5.2.4", "inflection": "^2.0.1", - "js-yaml": "^4.1.0", + "is-glob": "^4.0.3", + "micromustache": "^8.0.3", + "object-inspect": "^1.13.4", + "ohash": "^2.0.11", + "piscina": "^5.1.3", "strip-ansi": "6.0.1", - "superstruct": "^2.0.2", "terminal-link": "2.1.1", - "text-table": "^0.2.0" + "text-table": "^0.2.0", + "valibot": "^1.1.0", + "yaml": "^2.8.1" }, "bin": { - "aglint": "dist/index.cli.js" + "aglint": "dist/cli/bin.js" }, "engines": { - "node": ">=18" + "node": ">=20" } }, "node_modules/@adguard/agtree": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@adguard/agtree/-/agtree-3.1.5.tgz", - "integrity": "sha512-QyOSzAHMioF9Z9tRh7eGb7J4IQYcO9ymeHWQdZ7xInk0FNMDqZI9at7t+8YDnbS87bkxgzFODqxayIz5Cid8rA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@adguard/agtree/-/agtree-3.4.1.tgz", + "integrity": "sha512-+g7dkggf7qY+WckjdbUUb+MJq/C8Bc1xX7dn7kEQSBkD9pJxAcp3d391R2OYdQdgR1FNUZ+FnuJfk60ZetkNPg==", "dev": true, "license": "MIT", "dependencies": { @@ -79,99 +89,332 @@ "license": "MIT" }, "node_modules/@adguard/ecss-tree": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@adguard/ecss-tree/-/ecss-tree-1.1.0.tgz", - "integrity": "sha512-Qs7cpUH5AexO9JAXxMPmh6CwdNEnP1qUBSpvHnGxPmHQDjBzpAn4qz8zsJILmX4Rc5Up0iqeYcYC7Pq5HBvoyQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@adguard/ecss-tree/-/ecss-tree-2.0.1.tgz", + "integrity": "sha512-GvVz3rLQqcZkNVpUbdowimokhPxNL6pODwmZbiWTUfa3bEAT7XI+4ydxVZmtK2WS2u7qu/IISmI69PSFXE0ucw==", "dev": true, "license": "MIT", "dependencies": { - "css-tree": "^2.3.1" + "@adguard/css-tokenizer": "^1.2.0", + "@eslint/css-tree": "3.6.6" } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.27.1.tgz", - "integrity": "sha512-909rVuj3phpjW6y0MCXAZ5iNeORePa6ldJvp2baWGcTjwqbBDDz6xoS5JHJ7lS88NlwLYj07ImL/8IUMtDZzTA==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.4.tgz", + "integrity": "sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==", "dev": true, "license": "MIT", "dependencies": { - "core-js-pure": "^3.30.2" + "core-js-pure": "^3.43.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@eslint/css-tree": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/@eslint/css-tree/-/css-tree-3.6.6.tgz", + "integrity": "sha512-C3YiJMY9OZyZ/3vEMFWJIesdGaRY6DmIYvmtyxMT934CbrOKqRs+Iw7NWSRlJQEaK4dPYy2lZ2y1zkaj8z0p5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.23.0", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/checkbox": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-1.5.2.tgz", - "integrity": "sha512-CifrkgQjDkUkWexmgYYNyB5603HhTHI91vLFeQXh6qrTKiCMVASol01Rs1cv6LP/A2WccZSRlJKZhbaBIs/9ZA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^6.0.0", - "@inquirer/type": "^1.1.6", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "figures": "^3.2.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/@inquirer/core": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-6.0.0.tgz", - "integrity": "sha512-fKi63Khkisgda3ohnskNf5uZJj+zXOaBvOllHsOkdsXRA/ubQLJQrZchFFi57NKbZzkTunXiBMdvWOv71alonw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/type": "^1.1.6", - "@types/mute-stream": "^0.0.4", - "@types/node": "^20.10.7", - "@types/wrap-ansi": "^3.0.0", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "cli-spinners": "^2.9.2", - "cli-width": "^4.1.0", - "figures": "^3.2.0", - "mute-stream": "^1.0.0", - "run-async": "^3.0.0", - "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/@inquirer/select": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-1.3.3.tgz", - "integrity": "sha512-RzlRISXWqIKEf83FDC9ZtJ3JvuK1l7aGpretf41BCWYrvla2wU8W8MTRNMiPrPJ+1SIqrRC1nZdZ60hD9hRXLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^6.0.0", - "@inquirer/type": "^1.1.6", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "figures": "^3.2.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/@inquirer/type": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", - "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mute-stream": "^1.0.0" + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.0.2.tgz", + "integrity": "sha512-A0/13Wyi+8iFeNDX6D4zZYKPoBLIEbE4K/219qHcnpXMer2weWvaTo63+2c7mQPPA206DEMSYVOPnEw3meOlCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^11.0.2", + "@inquirer/type": "^4.0.2" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm/node_modules/@inquirer/ansi": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.2.tgz", + "integrity": "sha512-SYLX05PwJVnW+WVegZt1T4Ip1qba1ik+pNJPDiqvk6zS5Y/i8PhRzLpGEtVd7sW0G8cMtkD8t4AZYhQwm8vnww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + } + }, + "node_modules/@inquirer/confirm/node_modules/@inquirer/core": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-11.0.2.tgz", + "integrity": "sha512-lgMRx/n02ciiNELBvFLHtmcjbV5tf5D/I0UYfCg2YbTZWmBZ10/niLd3IjWBxz8LtM27xP+4oLEa06Slmb7p7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^2.0.2", + "@inquirer/figures": "^2.0.2", + "@inquirer/type": "^4.0.2", + "cli-width": "^4.1.0", + "mute-stream": "^3.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^9.0.2" + }, + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm/node_modules/@inquirer/figures": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.2.tgz", + "integrity": "sha512-qXm6EVvQx/FmnSrCWCIGtMHwqeLgxABP8XgcaAoywsL0NFga9gD5kfG0gXiv80GjK9Hsoz4pgGwF/+CjygyV9A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + } + }, + "node_modules/@inquirer/confirm/node_modules/@inquirer/type": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.0.2.tgz", + "integrity": "sha512-cae7mzluplsjSdgFA6ACLygb5jC8alO0UUnFPyu0E7tNRPrL+q/f8VcSXp+cjZQ7l5CMpDpi2G1+IQvkOiL1Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@inquirer/confirm/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@inquirer/confirm/node_modules/mute-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz", + "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@inquirer/confirm/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@inquirer/confirm/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@inquirer/confirm/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, "node_modules/@isaacs/balanced-match": { @@ -197,6 +440,367 @@ "node": "20 || >=22" } }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -221,26 +825,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mute-stream": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", - "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "20.17.50", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.50.tgz", - "integrity": "sha512-Mxiq0ULv/zo1OzOhwPqOA13I81CV/W3nvd3ChtQZRT5Cwz3cr0FKo/wMSsbTqL3EXpaBAEQhva2B8ByRkOIh9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, "node_modules/@types/unist": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", @@ -248,12 +832,15 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/wrap-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", - "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "node_modules/@valibot/to-json-schema": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@valibot/to-json-schema/-/to-json-schema-1.4.0.tgz", + "integrity": "sha512-xziHfrrB6al8uoUI876eAYU5x+nZFYifCssYnxS/P7JYe9LjzeKWnqwb8Yno7ulL84Gp0ZNj2GUR+3GXtU8CZQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peerDependencies": { + "valibot": "^1.2.0" + } }, "node_modules/ansi-escapes": { "version": "4.3.2", @@ -363,17 +950,13 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -428,19 +1011,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-truncate": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", @@ -511,19 +1081,19 @@ "license": "MIT" }, "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=16" + "node": ">=20" } }, "node_modules/core-js-pure": { - "version": "3.42.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.42.0.tgz", - "integrity": "sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ==", + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.47.0.tgz", + "integrity": "sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -532,20 +1102,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, "node_modules/debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", @@ -608,6 +1164,32 @@ "node": ">=6" } }, + "node_modules/detect-indent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.2.tgz", + "integrity": "sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -655,14 +1237,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, "node_modules/eventemitter3": { @@ -672,27 +1267,54 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/fast-fuzzy": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fast-fuzzy/-/fast-fuzzy-1.12.0.tgz", + "integrity": "sha512-sXxGgHS+ubYpsdLnvOvJ9w5GYYZrtL9mkosG3nfuD446ahvoWEsSKBP7ieGmWIKVLnaxRDgUJkZMdxRgA2Ni+Q==", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "graphemesplit": "^2.4.1" + } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, "node_modules/fill-range": { @@ -708,21 +1330,6 @@ "node": ">=8" } }, - "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, "node_modules/get-east-asian-width": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", @@ -736,12 +1343,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "license": "ISC" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/graphemesplit": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/graphemesplit/-/graphemesplit-2.6.0.tgz", + "integrity": "sha512-rG9w2wAfkpg0DILa1pjnjNfucng3usON360shisqIMUBw/87pojcBSrHmeE4UwryAuBih7g8m1oilf5/u8EWdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-base64": "^3.6.0", + "unicode-trie": "^2.0.0" + } }, "node_modules/has-flag": { "version": "4.0.0", @@ -846,6 +1470,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-fullwidth-code-point": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", @@ -862,6 +1496,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-hexadecimal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", @@ -919,6 +1566,13 @@ "node": ">=0.10.0" } }, + "node_modules/js-base64": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.8.tgz", + "integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/js-yaml": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", @@ -952,19 +1606,6 @@ "dev": true, "license": "MIT" }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "node_modules/jsonpointer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", @@ -1047,16 +1688,6 @@ "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", - "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - } - }, "node_modules/listr2": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", @@ -1349,16 +1980,6 @@ "node": ">=20" } }, - "node_modules/markdownlint-cli/node_modules/commander": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", - "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - } - }, "node_modules/markdownlint-cli/node_modules/ignore": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", @@ -1393,9 +2014,9 @@ } }, "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.23.0.tgz", + "integrity": "sha512-786vq1+4079JSeu2XdcDjrhi/Ry7BWtjDl9WtGPWLiIHb2T66GvIVflZTBoSNZ5JqTtJGYEVMuFA/lbQlMOyDQ==", "dev": true, "license": "CC0-1.0" }, @@ -1406,6 +2027,16 @@ "dev": true, "license": "MIT" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/micromark": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", @@ -1956,6 +2587,19 @@ "node": ">=8.6" } }, + "node_modules/micromustache": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/micromustache/-/micromustache-8.0.3.tgz", + "integrity": "sha512-SXjrEPuYNtWq0reR9LR2nHdzdQx/3re9HPcDGjm00L7hi2RsH5KMRBhYEBvPdyQC51RW/2TznjwX/sQLPPyHNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/userpixel/micromustache/blob/master/.github/FUNDING.yml" + } + }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -2003,13 +2647,13 @@ "license": "MIT" }, "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/nano-spawn": { @@ -2025,6 +2669,26 @@ "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1" } }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "dev": true, + "license": "MIT" + }, "node_modules/onetime": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", @@ -2041,6 +2705,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true, + "license": "MIT" + }, "node_modules/parse-entities": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", @@ -2087,6 +2758,19 @@ "node": ">=0.10" } }, + "node_modules/piscina": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.4.tgz", + "integrity": "sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, "node_modules/punycode.js": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", @@ -2097,6 +2781,27 @@ "node": ">=6" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -2127,6 +2832,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", @@ -2134,16 +2850,6 @@ "dev": true, "license": "MIT" }, - "node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-con": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz", @@ -2160,6 +2866,30 @@ "run-con": "cli.js" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", @@ -2328,16 +3058,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/superstruct": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-2.0.2.tgz", - "integrity": "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2389,6 +3109,13 @@ "dev": true, "license": "MIT" }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "dev": true, + "license": "MIT" + }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -2490,21 +3217,30 @@ "dev": true, "license": "MIT" }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.0.0" + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/valibot": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.2.0.tgz", + "integrity": "sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">=5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/wrap-ansi": { @@ -2577,6 +3313,19 @@ "node": ">= 14.6" } }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zod": { "version": "3.24.4", "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", diff --git a/package.json b/package.json index e68ccd4e7a1..46a17cb7b4a 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "license": "GPL-3.0-only", "type": "module", "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "repository": { "type": "git", @@ -15,7 +15,7 @@ }, "homepage": "https://github.com/AdguardTeam/AdguardFilters#readme", "scripts": { - "aglint": "aglint", + "aglint": "aglint --cache --cache-location .aglintcache --cache-strategy content **/*.txt", "markdownlint": "markdownlint .", "lint": "npm run aglint && npm run markdownlint", "prepare": "node .husky/install.js" @@ -25,7 +25,7 @@ "*.md": "markdownlint" }, "devDependencies": { - "@adguard/aglint": "3.0.0", + "@adguard/aglint": "4.0.0-beta.2", "husky": "^9.1.7", "lint-staged": "^16.2.7", "markdownlint": "^0.40.0",