diff --git a/.all-contributorsrc b/.all-contributorsrc index 1c3e2e7b0..652c0da1a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -3,9 +3,7 @@ "projectOwner": "jimp-dev", "repoType": "github", "repoHost": "https://github.com", - "files": [ - "README.md" - ], + "files": ["README.md"], "imageSize": 100, "commit": false, "commitConvention": "none", @@ -15,1340 +13,1036 @@ "name": "Andrew Lisowski", "avatar_url": "https://avatars.githubusercontent.com/u/1192452?v=4", "profile": "http://hipstersmoothie.com/", - "contributions": [ - "code", - "infra", - "doc", - "test" - ] + "contributions": ["code", "infra", "doc", "test"] }, { "login": "oliver-moran", "name": "Oliver Moran", "avatar_url": "https://avatars.githubusercontent.com/u/414918?v=4", "profile": "https://github.com/oliver-moran", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "strandedcity", "name": "strandedcity", "avatar_url": "https://avatars.githubusercontent.com/u/1693906?v=4", "profile": "http://www.phil-seaton.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "edi9999", "name": "Edgar Hipp", "avatar_url": "https://avatars.githubusercontent.com/u/2071336?v=4", "profile": "https://codingpuffin.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "crutchcorn", "name": "Corbin Crutchley", "avatar_url": "https://avatars.githubusercontent.com/u/9100169?v=4", "profile": "https://crutchcorn.dev/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Maximilianos", "name": "Max G J Panas", "avatar_url": "https://avatars.githubusercontent.com/u/2260302?v=4", "profile": "https://maxpanas.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "neophob", "name": "Michael Vogt", "avatar_url": "https://avatars.githubusercontent.com/u/837347?v=4", "profile": "https://www.fxhash.xyz/u/neophob", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "marcolino", "name": "Marcolino", "avatar_url": "https://avatars.githubusercontent.com/u/849127?v=4", "profile": "https://www.sistemisolari.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "iwsfg", "name": "iwsfg", "avatar_url": "https://avatars.githubusercontent.com/u/5304842?v=4", "profile": "https://github.com/iwsfg", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "kolbma", "name": "arlecchino", "avatar_url": "https://avatars.githubusercontent.com/u/5228369?v=4", "profile": "https://www.net4visions.at/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "super-ienien", "name": "super-ienien", "avatar_url": "https://avatars.githubusercontent.com/u/1185858?v=4", "profile": "https://github.com/super-ienien", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "bdsomer", "name": "Bennett Somerville", "avatar_url": "https://avatars.githubusercontent.com/u/13303021?v=4", "profile": "https://github.com/bdsomer", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "f-barth", "name": "Florian Barth", "avatar_url": "https://avatars.githubusercontent.com/u/2833600?v=4", "profile": "https://github.com/f-barth", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "arackaf", "name": "Adam Rackis", "avatar_url": "https://avatars.githubusercontent.com/u/11261266?v=4", "profile": "https://adamrackis.dev/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "aurium", "name": "Aurélio A. Heckert", "avatar_url": "https://avatars.githubusercontent.com/u/30254?v=4", "profile": "http://aurium.one/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "dftian", "name": "Daniel Tian", "avatar_url": "https://avatars.githubusercontent.com/u/1504178?v=4", "profile": "https://github.com/dftian", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "jeffbseeking", "name": "Jeff Bonnes", "avatar_url": "https://avatars.githubusercontent.com/u/25069896?v=4", "profile": "https://github.com/jeffbseeking", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "russleyshaw", "name": "Russley Shaw", "avatar_url": "https://avatars.githubusercontent.com/u/2314816?v=4", "profile": "https://github.com/russleyshaw", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "CodeLenny", "name": "CodeLenny", "avatar_url": "https://avatars.githubusercontent.com/u/9272847?v=4", "profile": "https://github.com/CodeLenny", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "skalee", "name": "Sebastian Skałacki", "avatar_url": "https://avatars.githubusercontent.com/u/154287?v=4", "profile": "https://github.com/skalee", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "rustamli", "name": "Turan Rustamli", "avatar_url": "https://avatars.githubusercontent.com/u/169864?v=4", "profile": "https://naivebias.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "turakvlad", "name": "Vlad Turak", "avatar_url": "https://avatars.githubusercontent.com/u/7996184?v=4", "profile": "https://www.linkedin.com/in/vlad-turak/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ozelot379", "name": "ozelot379", "avatar_url": "https://avatars.githubusercontent.com/u/81532633?v=4", "profile": "https://github.com/ozelot379", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "domdomegg", "name": "Adam Jones", "avatar_url": "https://avatars.githubusercontent.com/u/4953590?v=4", "profile": "https://adamjones.me/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ahmadawais", "name": "Ahmad Awais ⚡️", "avatar_url": "https://avatars.githubusercontent.com/u/960133?v=4", "profile": "https://ahmadawais.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "NiGhTTraX", "name": "Andrei Picus", "avatar_url": "https://avatars.githubusercontent.com/u/485061?v=4", "profile": "https://github.com/NiGhTTraX", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "acchou", "name": "Andy Chou", "avatar_url": "https://avatars.githubusercontent.com/u/1381213?v=4", "profile": "https://www.linkedin.com/in/acchou", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "super-cache-money", "name": "Arjun Khoosal", "avatar_url": "https://avatars.githubusercontent.com/u/1463145?v=4", "profile": "http://www.cbio.uct.ac.za/~arjun/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Armanio", "name": "Arman", "avatar_url": "https://avatars.githubusercontent.com/u/3195714?v=4", "profile": "https://github.com/Armanio", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Autom3", "name": "Autom3", "avatar_url": "https://avatars.githubusercontent.com/u/4996080?v=4", "profile": "https://github.com/Autom3", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "berfarah", "name": "Bernardo Farah", "avatar_url": "https://avatars.githubusercontent.com/u/1395723?v=4", "profile": "https://www.bernardo.me/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "apboon", "name": "Boon", "avatar_url": "https://avatars.githubusercontent.com/u/5346609?v=4", "profile": "https://big-endian.nl/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "BrianRosamilia", "name": "BrianRosamilia", "avatar_url": "https://avatars.githubusercontent.com/u/4909591?v=4", "profile": "https://brianrosamilia.github.io/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "carterbancroft", "name": "Carter Bancroft", "avatar_url": "https://avatars.githubusercontent.com/u/126476?v=4", "profile": "https://carterbancroft.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "cbanfiel", "name": "Chad Banfield", "avatar_url": "https://avatars.githubusercontent.com/u/46502618?v=4", "profile": "https://github.com/cbanfiel", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "charafsalmi", "name": "Charaf Salmi", "avatar_url": "https://avatars.githubusercontent.com/u/278809?v=4", "profile": "http://charafsalmi.org/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ciffelia", "name": "ciffelia", "avatar_url": "https://avatars.githubusercontent.com/u/15273128?v=4", "profile": "https://ciffelia.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "CodySchrank", "name": "Cody Schrank", "avatar_url": "https://avatars.githubusercontent.com/u/10748482?v=4", "profile": "https://github.com/CodySchrank", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "CruScanlan", "name": "Cru Scanlan", "avatar_url": "https://avatars.githubusercontent.com/u/24949142?v=4", "profile": "https://github.com/CruScanlan", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ceautery", "name": "Curtis Autery", "avatar_url": "https://avatars.githubusercontent.com/u/2135631?v=4", "profile": "https://autery.net/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "dan335", "name": "Dan", "avatar_url": "https://avatars.githubusercontent.com/u/499401?v=4", "profile": "https://github.com/dan335", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "danielholmes", "name": "Daniel Holmes", "avatar_url": "https://avatars.githubusercontent.com/u/349833?v=4", "profile": "http://danielholmes.org/", - "contributions": [ - "code", - "test" - ] + "contributions": ["code", "test"] }, { "login": "danez", "name": "Daniel Tschinder", "avatar_url": "https://avatars.githubusercontent.com/u/231804?v=4", "profile": "https://danieltschinder.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "dannysofftie", "name": "Daniel Kimani", "avatar_url": "https://avatars.githubusercontent.com/u/17042186?v=4", "profile": "https://madavi.co.ke/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "dkong", "name": "Dara Kong", "avatar_url": "https://avatars.githubusercontent.com/u/32360?v=4", "profile": "http://www.linkedin.com/in/darakong", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Den-dp", "name": "Denis Bendrikov", "avatar_url": "https://avatars.githubusercontent.com/u/1770529?v=4", "profile": "https://github.com/Den-dp", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "dcbartlett", "name": "Dennis Bartlett", "avatar_url": "https://avatars.githubusercontent.com/u/1077050?v=4", "profile": "http://dcbartlett.info/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "DomiR", "name": "Dominique Rau", "avatar_url": "https://avatars.githubusercontent.com/u/1834664?v=4", "profile": "https://github.com/DomiR", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "EirikBirkeland", "name": "Eirik Birkeland", "avatar_url": "https://avatars.githubusercontent.com/u/12223584?v=4", "profile": "https://github.com/EirikBirkeland", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "forivall", "name": "Emily Marigold Klassen", "avatar_url": "https://avatars.githubusercontent.com/u/760204?v=4", "profile": "http://forivall.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "FrenchHipster", "name": "Emmanuel Bourgerie", "avatar_url": "https://avatars.githubusercontent.com/u/397332?v=4", "profile": "https://github.com/FrenchHipster", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "endreszabo", "name": "Endre Szabo", "avatar_url": "https://avatars.githubusercontent.com/u/354409?v=4", "profile": "https://end.re/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "EricRabil", "name": "Eric Rabil", "avatar_url": "https://avatars.githubusercontent.com/u/8052613?v=4", "profile": "https://ericrabil.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "GalHorowitz", "name": "Gal Horowitz", "avatar_url": "https://avatars.githubusercontent.com/u/7957292?v=4", "profile": "https://github.com/GalHorowitz", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "GlitchyPSIX", "name": "GlitchyPSI", "avatar_url": "https://avatars.githubusercontent.com/u/11571952?v=4", "profile": "http://glitchypsi.xyz/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "wallabra", "name": "Gustavo Ramos Rehermann", "avatar_url": "https://avatars.githubusercontent.com/u/4016417?v=4", "profile": "https://ko-fi.com/wallabra", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "HanKruiger", "name": "Han Kruiger", "avatar_url": "https://avatars.githubusercontent.com/u/2293252?v=4", "profile": "https://github.com/HanKruiger", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "comigor", "name": "Igor Borges", "avatar_url": "https://avatars.githubusercontent.com/u/735858?v=4", "profile": "https://borges.dev/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ganevdev", "name": "Ivan Ganev", "avatar_url": "https://avatars.githubusercontent.com/u/8168280?v=4", "profile": "https://www.ganevdev.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "koprda", "name": "Ivan Koprda", "avatar_url": "https://avatars.githubusercontent.com/u/2494102?v=4", "profile": "https://github.com/koprda", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "iwasawafag", "name": "iwasawafag", "avatar_url": "https://avatars.githubusercontent.com/u/90386907?v=4", "profile": "https://github.com/iwasawafag", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "JakeChampion", "name": "Jake Champion", "avatar_url": "https://avatars.githubusercontent.com/u/1569131?v=4", "profile": "https://jakechampion.name/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "wopian", "name": "James Harris", "avatar_url": "https://avatars.githubusercontent.com/u/3440094?v=4", "profile": "https://wopian.me/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Cherry", "name": "James Ross", "avatar_url": "https://avatars.githubusercontent.com/u/856748?v=4", "profile": "https://jross.me/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "katzj", "name": "Jeremy Katz", "avatar_url": "https://avatars.githubusercontent.com/u/141657?v=4", "profile": "https://velohacker.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "favna", "name": "Jeroen Claassens", "avatar_url": "https://avatars.githubusercontent.com/u/4019718?v=4", "profile": "https://favware.tech/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ksjogo", "name": "Johannes Goslar", "avatar_url": "https://avatars.githubusercontent.com/u/699858?v=4", "profile": "https://github.com/ksjogo", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "j-d-carmichael", "name": "J D Carmichael", "avatar_url": "https://avatars.githubusercontent.com/u/49351986?v=4", "profile": "https://github.com/j-d-carmichael", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "JR-Y", "name": "John-Robert Yrjölä", "avatar_url": "https://avatars.githubusercontent.com/u/24767278?v=4", "profile": "https://github.com/JR-Y", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "jdanford", "name": "Jordan Danford", "avatar_url": "https://avatars.githubusercontent.com/u/5767112?v=4", "profile": "https://jdanford.github.io/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "joseph4tw", "name": "Joseph", "avatar_url": "https://avatars.githubusercontent.com/u/3308780?v=4", "profile": "https://github.com/joseph4tw", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "keith301", "name": "Keith", "avatar_url": "https://avatars.githubusercontent.com/u/266811?v=4", "profile": "https://github.com/keith301", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "xkisu", "name": "Keith Mitchell", "avatar_url": "https://avatars.githubusercontent.com/u/28452108?v=4", "profile": "http://keithcod.es/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "kwyn", "name": "Kwyn Alice Meagher", "avatar_url": "https://avatars.githubusercontent.com/u/5528612?v=4", "profile": "https://hachyderm.io/@kwyn", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "lucyyyyyyy", "name": "Lucy", "avatar_url": "https://avatars.githubusercontent.com/u/54782568?v=4", "profile": "https://github.com/lucyyyyyyy", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "yet-another-nagayev", "name": "Marat Nagayev", "avatar_url": "https://avatars.githubusercontent.com/u/41082059?v=4", "profile": "https://github.com/yet-another-nagayev", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Haringat", "name": "Marcel Mundl", "avatar_url": "https://avatars.githubusercontent.com/u/3000678?v=4", "profile": "https://github.com/Haringat", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "many20", "name": "Mario Adrian", "avatar_url": "https://avatars.githubusercontent.com/u/546111?v=4", "profile": "http://ma-source.de/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "lekoaf", "name": "Martin Trobäck", "avatar_url": "https://avatars.githubusercontent.com/u/7765599?v=4", "profile": "https://www.europacup.se/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "tooolbox", "name": "Matt Mc", "avatar_url": "https://avatars.githubusercontent.com/u/4984708?v=4", "profile": "https://github.com/tooolbox", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "mynameismax", "name": "Max", "avatar_url": "https://avatars.githubusercontent.com/u/59715207?v=4", "profile": "https://github.com/mynameismax", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "arcanis", "name": "Maël Nison", "avatar_url": "https://avatars.githubusercontent.com/u/1037931?v=4", "profile": "https://github.com/arcanis", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "melhadad", "name": "Michael Elhadad", "avatar_url": "https://avatars.githubusercontent.com/u/8447964?v=4", "profile": "http://www.cs.bgu.ac.il/~elhadad", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "mbejda", "name": "Milos Bejda", "avatar_url": "https://avatars.githubusercontent.com/u/5429780?v=4", "profile": "https://mbejda.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Mithgol", "name": "Mithgol", "avatar_url": "https://avatars.githubusercontent.com/u/1088720?v=4", "profile": "https://github.com/Mithgol", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "NGPixel", "name": "Nicolas Giard", "avatar_url": "https://avatars.githubusercontent.com/u/15522395?v=4", "profile": "https://js.wiki/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "nambok", "name": "Nam Bok Rodriguez", "avatar_url": "https://avatars.githubusercontent.com/u/515006?v=4", "profile": "https://github.com/nambok", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "natecavanaugh", "name": "Nate Cavanaugh", "avatar_url": "https://avatars.githubusercontent.com/u/116871?v=4", "profile": "http://alterform.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "nrkn", "name": "Nik ", "avatar_url": "https://avatars.githubusercontent.com/u/607925?v=4", "profile": "http://nrkn.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Olyvar", "name": "Olly Banham", "avatar_url": "https://avatars.githubusercontent.com/u/3280058?v=4", "profile": "http://ollybanham.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "pasieronen", "name": "Pasi Eronen", "avatar_url": "https://avatars.githubusercontent.com/u/991932?v=4", "profile": "http://www.pasieronen.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "pvolyntsev", "name": "Pavel Volyntsev", "avatar_url": "https://avatars.githubusercontent.com/u/1147388?v=4", "profile": "https://copist.ru/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "theill", "name": "Peter Theill", "avatar_url": "https://avatars.githubusercontent.com/u/6797?v=4", "profile": "https://theill.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "PhilHannent", "name": "Philip Hannent", "avatar_url": "https://avatars.githubusercontent.com/u/813874?v=4", "profile": "https://github.com/PhilHannent", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "ebual", "name": "Philipp Laube", "avatar_url": "https://avatars.githubusercontent.com/u/12325379?v=4", "profile": "https://github.com/ebual", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "alias-rahil", "name": "Rahil Kabani", "avatar_url": "https://avatars.githubusercontent.com/u/59060219?v=4", "profile": "https://alias-rahil.github.io/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "robert-moore", "name": "Rob Moore", "avatar_url": "https://avatars.githubusercontent.com/u/4934366?v=4", "profile": "https://robmoo.re/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "BridgeAR", "name": "Ruben Bridgewater", "avatar_url": "https://avatars.githubusercontent.com/u/8822573?v=4", "profile": "https://twitter.com/BridgeAR", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "SamBroner", "name": "Sam Broner", "avatar_url": "https://avatars.githubusercontent.com/u/6915288?v=4", "profile": "https://github.com/SamBroner", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "hexonaut", "name": "Sam MacPherson", "avatar_url": "https://avatars.githubusercontent.com/u/588921?v=4", "profile": "https://www.bellwoodstudios.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "SaWey", "name": "Sander Weyens", "avatar_url": "https://avatars.githubusercontent.com/u/1469848?v=4", "profile": "https://github.com/SaWey", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "soimy", "name": "Shen Yiming", "avatar_url": "https://avatars.githubusercontent.com/u/1550237?v=4", "profile": "https://symis.me/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "selaux", "name": "Stefan Lau", "avatar_url": "https://avatars.githubusercontent.com/u/848854?v=4", "profile": "https://github.com/selaux", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "sqrrrl", "name": "Steve Bazyl", "avatar_url": "https://avatars.githubusercontent.com/u/346343?v=4", "profile": "https://plus.google.com/u/0/103354693083460731603/posts", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "stevemao", "name": "Steve Mao", "avatar_url": "https://avatars.githubusercontent.com/u/6316590?v=4", "profile": "https://twitter.com/MaoStevemao", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "stuarth", "name": "Stuart Hinson", "avatar_url": "https://avatars.githubusercontent.com/u/7055?v=4", "profile": "http://stuarth.github.io/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "tombull", "name": "Tom Bull", "avatar_url": "https://avatars.githubusercontent.com/u/3214864?v=4", "profile": "https://github.com/tombull", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "tonystr", "name": "TonyStr", "avatar_url": "https://avatars.githubusercontent.com/u/30723101?v=4", "profile": "https://tonystr.net/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "laurentva", "name": "Laurent", "avatar_url": "https://avatars.githubusercontent.com/u/20355144?v=4", "profile": "https://github.com/laurentva", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Chupsy", "name": "Vincent Dufrasnes", "avatar_url": "https://avatars.githubusercontent.com/u/3929330?v=4", "profile": "https://github.com/Chupsy", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "iamstarkov", "name": "Vladimir Starkov", "avatar_url": "https://avatars.githubusercontent.com/u/559321?v=4", "profile": "https://iamstarkov.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "VojtechStep", "name": "Vojtěch Štěpančík", "avatar_url": "https://avatars.githubusercontent.com/u/15523887?v=4", "profile": "https://github.com/VojtechStep", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "wfriesen", "name": "William Friesen", "avatar_url": "https://avatars.githubusercontent.com/u/186727?v=4", "profile": "https://github.com/wfriesen", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "xlc", "name": "Xiliang Chen", "avatar_url": "https://avatars.githubusercontent.com/u/1201310?v=4", "profile": "https://github.com/xlc", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "lygstate", "name": "Yonggang Luo", "avatar_url": "https://avatars.githubusercontent.com/u/121040?v=4", "profile": "https://github.com/lygstate", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "austinfrey", "name": "austinfrey", "avatar_url": "https://avatars.githubusercontent.com/u/11063598?v=4", "profile": "https://github.com/austinfrey", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "brownrw8", "name": "brownrw8", "avatar_url": "https://avatars.githubusercontent.com/u/6895070?v=4", "profile": "https://github.com/brownrw8", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "coyotte508", "name": "Eliott C.", "avatar_url": "https://avatars.githubusercontent.com/u/342922?v=4", "profile": "https://github.com/coyotte508", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "d07RiV", "name": "d07RiV", "avatar_url": "https://avatars.githubusercontent.com/u/3448203?v=4", "profile": "https://github.com/d07RiV", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "fabb", "name": "fabb", "avatar_url": "https://avatars.githubusercontent.com/u/153960?v=4", "profile": "https://github.com/fabb", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "fratzinger", "name": "fratzinger", "avatar_url": "https://avatars.githubusercontent.com/u/22286818?v=4", "profile": "https://www.artesa.de/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "gcq", "name": "Guillem Cruz", "avatar_url": "https://avatars.githubusercontent.com/u/1396111?v=4", "profile": "https://github.com/gcq", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "krudos", "name": "krudos", "avatar_url": "https://avatars.githubusercontent.com/u/4700628?v=4", "profile": "https://github.com/krudos", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "mLuby", "name": "mLuby", "avatar_url": "https://avatars.githubusercontent.com/u/2483420?v=4", "profile": "https://github.com/mLuby", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "mfuatnuroglu", "name": "mfuatnuroglu", "avatar_url": "https://avatars.githubusercontent.com/u/86949272?v=4", "profile": "https://github.com/mfuatnuroglu", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "misbach", "name": "Matt Misbach", "avatar_url": "https://avatars.githubusercontent.com/u/796795?v=4", "profile": "https://github.com/misbach", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "netdown", "name": "netdown", "avatar_url": "https://avatars.githubusercontent.com/u/4265403?v=4", "profile": "https://github.com/netdown", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "nopeless", "name": "nopeless", "avatar_url": "https://avatars.githubusercontent.com/u/38830903?v=4", "profile": "https://github.com/nopeless", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "thewizarodofoz", "name": "Oz Weiss", "avatar_url": "https://avatars.githubusercontent.com/u/19185792?v=4", "profile": "https://github.com/thewizarodofoz", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "popinguy", "name": "popinguy", "avatar_url": "https://avatars.githubusercontent.com/u/2042350?v=4", "profile": "https://github.com/popinguy", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "qw3n", "name": "qw3n", "avatar_url": "https://avatars.githubusercontent.com/u/8758277?v=4", "profile": "https://github.com/qw3n", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "rifflock", "name": "rifflock", "avatar_url": "https://avatars.githubusercontent.com/u/4885312?v=4", "profile": "https://github.com/rifflock", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "s4tori", "name": "s4tori", "avatar_url": "https://avatars.githubusercontent.com/u/3935146?v=4", "profile": "https://github.com/s4tori", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "sertal70", "name": "sertal70", "avatar_url": "https://avatars.githubusercontent.com/u/25665841?v=4", "profile": "https://github.com/sertal70", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "xinbenlv", "name": "xinbenlv", "avatar_url": "https://avatars.githubusercontent.com/u/640325?v=4", "profile": "https://github.com/xinbenlv", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "xinnix", "name": "xinnix", "avatar_url": "https://avatars.githubusercontent.com/u/487185?v=4", "profile": "https://github.com/xinnix", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "pkjy", "name": "彭君怡", "avatar_url": "https://avatars.githubusercontent.com/u/14119424?v=4", "profile": "https://pkjy.github.io/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "andy128k", "name": "Andrey Kutejko", "avatar_url": "https://avatars.githubusercontent.com/u/16103?v=4", "profile": "http://andy128k.blogspot.com/", - "contributions": [ - "doc" - ] + "contributions": ["doc"] }, { "login": "ihorbond", "name": "Ihor Bodnarchuk", "avatar_url": "https://avatars.githubusercontent.com/u/15573624?v=4", "profile": "https://github.com/ihorbond", - "contributions": [ - "doc" - ] + "contributions": ["doc"] }, { "login": "daniellwdb", "name": "Daniell", "avatar_url": "https://avatars.githubusercontent.com/u/44723767?v=4", "profile": "https://daniell.dev/", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "black-turtle", "name": "MD KHAIRUL ISLAM", "avatar_url": "https://avatars.githubusercontent.com/u/61377556?v=4", "profile": "https://github.com/black-turtle", - "contributions": [ - "test", - "code" - ] + "contributions": ["test", "code"] }, { "login": "JunkMeal", "name": "JunkMeal", "avatar_url": "https://avatars.githubusercontent.com/u/65283415?v=4", "profile": "https://github.com/JunkMeal", - "contributions": [ - "doc" - ] + "contributions": ["doc"] }, { "login": "Marsup", "name": "Nicolas Morel", "avatar_url": "https://avatars.githubusercontent.com/u/796194?v=4", "profile": "https://github.com/Marsup", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "stevezac-osu", "name": "Zach Stevenson", "avatar_url": "https://avatars.githubusercontent.com/u/71655313?v=4", "profile": "https://github.com/stevezac-osu", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "AnotherPillow", "name": "AnotherPillow", "avatar_url": "https://avatars.githubusercontent.com/u/85362273?v=4", "profile": "https://github.com/AnotherPillow", - "contributions": [ - "doc" - ] + "contributions": ["doc"] }, { "login": "DLiblik", "name": "Dathan", "avatar_url": "https://avatars.githubusercontent.com/u/4047997?v=4", "profile": "https://ca.linkedin.com/in/dathanliblik", - "contributions": [ - "code" - ] + "contributions": ["code"] }, { "login": "Sarabadu", "name": "Juan Pablo Garcia Ripa", "avatar_url": "https://avatars.githubusercontent.com/u/1770453?v=4", "profile": "https://github.com/Sarabadu", - "contributions": [ - "doc", - "infra", - "test", - "code" - ] + "contributions": ["doc", "infra", "test", "code"] }, { "login": "benmccann", "name": "Ben McCann", "avatar_url": "https://avatars.githubusercontent.com/u/322311?v=4", "profile": "http://www.benmccann.com/", - "contributions": [ - "code" - ] + "contributions": ["code"] } ], "contributorsPerLine": 7, diff --git a/.ncurc.json b/.ncurc.json new file mode 100644 index 000000000..2a4fe763b --- /dev/null +++ b/.ncurc.json @@ -0,0 +1,11 @@ +{ + "reject": [ + // These deps are esm only + "pixelmatch", + "mime", + "@types/mime", + "file-type", + // We support node 18 and above + "@types/node" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index e95a3d96e..25357b6b9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "prettier.prettierPath": "./node_modules/prettier/index.cjs", -} \ No newline at end of file + "prettier.prettierPath": "./node_modules/prettier/index.cjs" +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cfa2bd73..0ee98bd85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ #### Make brightness function behave like other implementations ([#1312](https://github.com/jimp-dev/jimp/pull/1312)) -This PR changes the `brightness` function to behave like the css brightness function and other implementations. Previously it was doing something odd. Instead of multiplying the color channel by the multiplier value, it multiplied against the inversion of the current color. +This PR changes the `brightness` function to behave like the css brightness function and other implementations. Previously it was doing something odd. Instead of multiplying the color channel by the multiplier value, it multiplied against the inversion of the current color. In the current version a value of `1` won't change the colors at all. Values above 1 will brighten the colors, values below 1 will darken the colors. diff --git a/lerna.json b/lerna.json index 3ca27c09d..bb2e836f2 100644 --- a/lerna.json +++ b/lerna.json @@ -3,8 +3,5 @@ "npmClient": "pnpm", "registry": "https://registry.npmjs.org/", "version": "1.1.2", - "packages": [ - "packages/*", - "plugins/*" - ] -} \ No newline at end of file + "packages": ["packages/*", "plugins/*"] +} diff --git a/package.json b/package.json index 6ed70d05c..497bda9f7 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,15 @@ { + "name": "jimp-monorepo", "private": true, + "packageManager": "pnpm@9.9.0", "description": "The jimp monorepo.", "repository": "jimp-dev/jimp", - "author": "Andrew Lisowski ", "engines": { "node": ">=18" }, + "author": "Andrew Lisowski ", "scripts": { - "build": "turbo run build build:browser --filter=!docs", + "build": "turbo run build build:browser --filter=!@jimp/docs", "dev": "turbo run dev", "lint": "turbo run lint", "test": "turbo run test -- --watch=false", @@ -16,7 +18,8 @@ "format": "prettier --write \"**/*.{ts,tsx,md}\"", "release": "pnpm build && auto shipit", "generate-package": "turbo gen package", - "generate-plugin": "turbo gen plugin" + "generate-plugin": "turbo gen plugin", + "check-updates": "ncu --packageFile '{,*/**/}package.json'" }, "devDependencies": { "@auto-it/all-contributors": "^11.2.1", @@ -24,16 +27,10 @@ "@auto-it/released": "^11.2.1", "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "@turbo/gen": "^1.12.5", - "any-base": "^1.1.0", + "@turbo/gen": "^2.1.1", "auto": "^11.2.1", - "prettier": "^3.2.5", - "turbo": "^1.13.0" - }, - "packageManager": "pnpm@8.9.0", - "publishConfig": { - "registry": "https://registry.npmjs.org/", - "access": "public" - }, - "sideEffects": false + "npm-check-updates": "^17.1.1", + "prettier": "^3.3.3", + "turbo": "^2.1.1" + } } diff --git a/packages/config-eslint/base.js b/packages/config-eslint/base.js index 300a3a1a4..cf751a591 100644 --- a/packages/config-eslint/base.js +++ b/packages/config-eslint/base.js @@ -1,44 +1,28 @@ -const { resolve } = require("node:path"); +import js from "@eslint/js"; +import eslintConfigPrettier from "eslint-config-prettier"; +import turboPlugin from "eslint-plugin-turbo"; +import tseslint from "typescript-eslint"; -const project = resolve(process.cwd(), "tsconfig.json"); - -/** @type {import("eslint").Linter.Config} */ -module.exports = { - extends: [ - "eslint:recommended", - "prettier", - "eslint-config-turbo", - "plugin:@typescript-eslint/recommended", - ], - plugins: ["only-warn"], - globals: { - React: true, - JSX: true, - }, - env: { - node: true, +export default [ + js.configs.recommended, + eslintConfigPrettier, + ...tseslint.configs.recommended, + { + ignores: [ + // Ignore dotfiles + ".*.js", + "node_modules/", + "dist/", + "**/browser.js", + ], }, - settings: { - "import/resolver": { - typescript: { - project, - }, + { + name: "eslint-config-turbo (recreated flat)", + plugins: { + turbo: { rules: turboPlugin.rules }, }, - }, - parser: "@typescript-eslint/parser", - parserOptions: { - project, - }, - ignorePatterns: [ - // Ignore dotfiles - ".*.js", - "node_modules/", - "dist/", - "**/browser.js", - ], - overrides: [ - { - files: ["*.js?(x)", "*.ts?(x)"], + rules: { + "turbo/no-undeclared-env-vars": "error", }, - ], -}; + }, +]; diff --git a/packages/config-eslint/package.json b/packages/config-eslint/package.json index 2c1d8b7f9..fdc390463 100644 --- a/packages/config-eslint/package.json +++ b/packages/config-eslint/package.json @@ -4,17 +4,20 @@ "license": "MIT", "private": true, "main": "base.js", + "type": "module", "scripts": { "clean": "rm -rf node_modules .tshy .tshy-build dist .turbo" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "^1.12.5", - "eslint-plugin-only-warn": "^1.1.0", + "eslint-config-turbo": "^2.1.1", "typescript": "^5.5.4" }, "publishConfig": {}, - "sideEffects": false + "sideEffects": false, + "dependencies": { + "@eslint/js": "^9.9.1", + "@types/eslint__js": "^8.42.3", + "typescript-eslint": "^8.3.0" + } } diff --git a/packages/config-typescript/base.json b/packages/config-typescript/base.json index a5a39a8e3..a3563881e 100644 --- a/packages/config-typescript/base.json +++ b/packages/config-typescript/base.json @@ -19,4 +19,4 @@ "allowJs": true, "target": "ES2022" } -} \ No newline at end of file +} diff --git a/packages/config-vitest/browser.mjs b/packages/config-vitest/browser.mjs index c774d83be..0d3967088 100644 --- a/packages/config-vitest/browser.mjs +++ b/packages/config-vitest/browser.mjs @@ -6,7 +6,7 @@ import { nodePolyfills } from "vite-plugin-node-polyfills"; const require = createRequire(import.meta.url); const imagesFolder = path.join( path.join(path.dirname(require.resolve("@jimp/test-utils")), "../../"), - "images" + "images", ); export default defineConfig({ diff --git a/packages/config-vitest/package.json b/packages/config-vitest/package.json index 1c9849990..8b241f1c2 100644 --- a/packages/config-vitest/package.json +++ b/packages/config-vitest/package.json @@ -3,6 +3,9 @@ "version": "1.1.2", "private": true, "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "dev": "tshy --watch", "clean": "rm -rf node_modules .tshy .tshy-build dist .turbo" @@ -12,14 +15,14 @@ "devDependencies": { "@jimp/config-typescript": "workspace:*", "@jimp/test-utils": "workspace:*", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "dependencies": { "@esbuild-plugins/node-globals-polyfill": "^0.2.3", - "playwright": "^1.42.1", - "vite-plugin-node-polyfills": "^0.21.0" + "playwright": "^1.46.1", + "vite-plugin-node-polyfills": "^0.22.0" }, "type": "module", "publishConfig": { diff --git a/packages/core/.eslintrc.cjs b/packages/core/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/core/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/core/eslint.config.mjs b/packages/core/eslint.config.mjs new file mode 100644 index 000000000..2b137b2a6 --- /dev/null +++ b/packages/core/eslint.config.mjs @@ -0,0 +1,9 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [ + ...shared, + { + rules: { + "@typescript-eslint/no-explicit-any": "off", + }, + }, +]; diff --git a/packages/core/package.json b/packages/core/package.json index fccea971e..38bfb924c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -2,6 +2,9 @@ "name": "@jimp/core", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test-off": "vitest", @@ -26,11 +29,11 @@ "@jimp/test-utils": "workspace:*", "@types/file-type": "^10.9.1", "@types/mime": "^3.0.4", - "@types/node": "^20.12.5", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index d7b3e0f20..2040cccb0 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -386,6 +386,7 @@ export function createJimp< let outputImage: Jimp; if (format.hasAlpha) { + // eslint-disable-next-line @typescript-eslint/no-this-alias outputImage = this; } else { outputImage = new CustomJimp({ diff --git a/packages/core/src/utils/composite.ts b/packages/core/src/utils/composite.ts index 7a8165e60..3dd7fd969 100644 --- a/packages/core/src/utils/composite.ts +++ b/packages/core/src/utils/composite.ts @@ -2,7 +2,7 @@ import { Edge, JimpClass } from "@jimp/types"; import { BlendMode } from "./constants.js"; import * as compositeModes from "./composite-modes.js"; -import { limit255, scan } from "@jimp/utils"; +import { limit255 } from "@jimp/utils"; export function composite( baseImage: I, @@ -23,11 +23,8 @@ export function composite( throw new Error("x and y must be numbers"); } - let { - mode = BlendMode.SRC_OVER, - opacitySource = 1.0, - opacityDest = 1.0, - } = options; + const { mode = BlendMode.SRC_OVER } = options; + let { opacitySource = 1.0, opacityDest = 1.0 } = options; if ( typeof opacitySource !== "number" || @@ -41,7 +38,6 @@ export function composite( opacityDest = 1.0; } - // eslint-disable-next-line import/namespace const blendmode = compositeModes[mode]; // round input diff --git a/packages/core/src/utils/image-bitmap.ts b/packages/core/src/utils/image-bitmap.ts index 49203ea2c..60f9fc855 100644 --- a/packages/core/src/utils/image-bitmap.ts +++ b/packages/core/src/utils/image-bitmap.ts @@ -1,12 +1,6 @@ import EXIFParser, { ExifData } from "exif-parser"; import { JimpClass } from "@jimp/types"; -const EXIF_TAGS = { - ORIENTATION: 0x0112, // decimal: 274 - IMAGE_WIDTH: 0x0100, // decimal: 256 - IMAGE_HEIGHT: 0x0101, // decimal: 257 -}; - /** * Obtains image orientation from EXIF metadata. * @@ -120,7 +114,7 @@ function transformBitmap( img.bitmap.width = width; img.bitmap.height = height; - // @ts-ignore + // @ts-expect-error Accessing private property img._exif.tags.Orientation = 1; } @@ -154,6 +148,6 @@ export async function attemptExifRotate( exifRotate(image); // EXIF data } catch (error) { - /* meh */ + console.error(error); } } diff --git a/packages/diff/.eslintrc.cjs b/packages/diff/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/diff/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/diff/eslint.config.mjs b/packages/diff/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/packages/diff/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/packages/diff/package.json b/packages/diff/package.json index 60379b889..7b62c1c48 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -2,6 +2,9 @@ "name": "@jimp/diff", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -23,10 +26,10 @@ "@jimp/core": "workspace:*", "@jimp/test-utils": "workspace:*", "@types/pixelmatch": "^5.2.6", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/packages/diff/src/index.test.ts b/packages/diff/src/index.test.ts index 7211b6f4c..36773b2e1 100644 --- a/packages/diff/src/index.test.ts +++ b/packages/diff/src/index.test.ts @@ -44,13 +44,13 @@ describe("Compare image difference", () => { test("throws an error if threshold is invalid", () => { expect(() => diff(imgs[0], imgs[3], -1)).toThrow( - "threshold must be a number between 0 and 1" + "threshold must be a number between 0 and 1", ); }); test("should resize image before diffing", () => { expect(diff(imgs[3], imgs[4]).percent).toStrictEqual( - diff(imgs[4], imgs[3]).percent + diff(imgs[4], imgs[3]).percent, ); }); }); diff --git a/packages/diff/src/index.ts b/packages/diff/src/index.ts index 216dd1fbc..3bde24df6 100644 --- a/packages/diff/src/index.ts +++ b/packages/diff/src/index.ts @@ -48,6 +48,7 @@ export function diff(img1: I, img2: I, threshold = 0.1) { throw new Error("threshold must be a number between 0 and 1"); } + // eslint-disable-next-line @typescript-eslint/no-explicit-any const diff = new (img1 as any).constructor({ width: bmp1.width, height: bmp1.height, diff --git a/packages/docs/astro.config.mjs b/packages/docs/astro.config.mjs index 794d1b989..4c5bc4e84 100644 --- a/packages/docs/astro.config.mjs +++ b/packages/docs/astro.config.mjs @@ -41,12 +41,12 @@ export default defineConfig({ plugin: [ path.join( path.dirname(import.meta.url).replace("file:", ""), - "./src/typedoc-plugin.js" + "./src/typedoc-plugin.js", ), "typedoc-plugin-zod", path.join( path.dirname(import.meta.url).replace("file:", ""), - "./src/typedoc-zod-extended.js" + "./src/typedoc-zod-extended.js", ), ], }, diff --git a/packages/docs/package.json b/packages/docs/package.json index 5eea9d42d..0f210fc25 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -18,19 +18,17 @@ "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@jimp/core": "workspace:*", "@jimp/plugin-print": "workspace:*", + "@types/react": "^18.3.5", "astro": "^4.15.1", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "jimp": "workspace:*", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sharp": "^0.32.5", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sharp": "^0.33.5", "starlight-typedoc": "^0.15.0", "typedoc": "^0.26.6", "typedoc-plugin-markdown": "4.2.6", "typedoc-plugin-zod": "^1.2.1", - "typescript": "^5.4.3" - }, - "devDependencies": { - "@types/react": "^18.2.73" + "typescript": "^5.5.4" } } diff --git a/packages/docs/src/content/config.ts b/packages/docs/src/content/config.ts index 45f60b015..a4eec59ba 100644 --- a/packages/docs/src/content/config.ts +++ b/packages/docs/src/content/config.ts @@ -1,6 +1,6 @@ -import { defineCollection } from 'astro:content'; -import { docsSchema } from '@astrojs/starlight/schema'; +import { defineCollection } from "astro:content"; +import { docsSchema } from "@astrojs/starlight/schema"; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ schema: docsSchema() }), }; diff --git a/packages/docs/src/content/docs/guides/browser.mdx b/packages/docs/src/content/docs/guides/browser.mdx index ef50bc5cf..08b147128 100644 --- a/packages/docs/src/content/docs/guides/browser.mdx +++ b/packages/docs/src/content/docs/guides/browser.mdx @@ -3,9 +3,9 @@ title: Using in Browser description: How to use Jimp in the browser. --- -import { GrayscaleExample } from '../../../components/grayscale-example' -import GrayscaleExampleCode from '../../../components/grayscale-example?raw'; -import { Code } from '@astrojs/starlight/components'; +import { GrayscaleExample } from "../../../components/grayscale-example"; +import GrayscaleExampleCode from "../../../components/grayscale-example?raw"; +import { Code } from "@astrojs/starlight/components"; Jimp can be used anywhere that javascript is supported. It can be used in the browser, in Node.js, or in a web worker. @@ -36,10 +36,10 @@ You can initialize a Jimp instance from a URL or a file path. import Jimp from "jimp"; // Read a file hosted on the same domain -const image1 = await Jimp.read("/some/url") +const image1 = await Jimp.read("/some/url"); -// Read a file hosted on a different domain -const image2 = await Jimp.read("https://some.other.domain/some/url") +// Read a file hosted on a different domain +const image2 = await Jimp.read("https://some.other.domain/some/url"); ``` ### With uploaded files @@ -56,11 +56,11 @@ function handleFile(e: React.ChangeEvent) { image.greyscale(); - const base64 = await image.getBase64("image/jpeg") + const base64 = await image.getBase64("image/jpeg"); }; reader.readAsArrayBuffer(e.target.files[0]); } -input.addEventListener("change", handleFile); +input.addEventListener("change", handleFile); ``` diff --git a/packages/docs/src/content/docs/guides/getting-started.mdx b/packages/docs/src/content/docs/guides/getting-started.mdx index c223e372f..eebe72345 100644 --- a/packages/docs/src/content/docs/guides/getting-started.mdx +++ b/packages/docs/src/content/docs/guides/getting-started.mdx @@ -3,8 +3,8 @@ title: Getting Started description: How to use Jimp --- -import { Steps } from '@astrojs/starlight/components'; -import { Aside } from '@astrojs/starlight/components'; +import { Steps } from "@astrojs/starlight/components"; +import { Aside } from "@astrojs/starlight/components"; Jimp (JavaScript Image Manipulation Program) is a package that makes it easy to load and manipulate images in the browser and Node.js. It aims to run anywhere that JavaScript is supported. @@ -24,12 +24,14 @@ Jimp supports the following image formats: - [tiff](https://en.wikipedia.org/wiki/TIFF) -## Usage +## Usage -The workflow for using jimp +The workflow for using jimp @@ -53,4 +55,4 @@ The workflow for using jimp await image.write("test/output.png"); ``` - \ No newline at end of file + diff --git a/packages/docs/src/content/docs/guides/migrate-to-v1.mdx b/packages/docs/src/content/docs/guides/migrate-to-v1.mdx index 1c554573c..8dae3aedb 100644 --- a/packages/docs/src/content/docs/guides/migrate-to-v1.mdx +++ b/packages/docs/src/content/docs/guides/migrate-to-v1.mdx @@ -9,9 +9,9 @@ The goals of v1 were to: 2. Make jimp's API more consistent and easier to use 3. Many constants have been removed and are string value powered by TS -## Positional Arguments to Options Objects +## Positional Arguments to Options Objects -In jimp v0 there were many ways to provide arguments to a method. +In jimp v0 there were many ways to provide arguments to a method. Most methods used positional arguments, which leads to code thats harder to read and extend. For example the resize method used to look like this: @@ -42,7 +42,7 @@ const image = new Jimp({ width: 100, height: 100 }); Even give it a background color: ```js -const image = new Jimp({ width: 100, height: 100, color: 0xff0000ff }); +const image = new Jimp({ width: 100, height: 100, color: 0xff0000ff }); ``` ### `Jimp.read` @@ -134,4 +134,4 @@ const resized = await image ## Removed Constants - `Jimp.AUTO` - This constant was only needed for positional arguments. It is no longer needed with the new API. -- `Jimp.MIME_*` - These are now part of the TS api when encoding \ No newline at end of file +- `Jimp.MIME_*` - These are now part of the TS api when encoding diff --git a/packages/docs/src/content/docs/guides/writing-plugins.mdx b/packages/docs/src/content/docs/guides/writing-plugins.mdx index 10f136fca..69265187c 100644 --- a/packages/docs/src/content/docs/guides/writing-plugins.mdx +++ b/packages/docs/src/content/docs/guides/writing-plugins.mdx @@ -20,7 +20,7 @@ An image format plugins is composed of two functions: `encode` and `decode`. ```ts import { Format } from "@jimp/types"; -import WEBP, { WEBPOptions} from "webp-js"; +import WEBP, { WEBPOptions } from "webp-js"; export default function webp() { return { @@ -42,30 +42,30 @@ For example, the [blur](https://github.com/jimp-dev/jimp/tree/main/packages/plug An image manipulation method takes an image as its first argument, does something to it, and returns a new image. -```ts +````ts import { JimpClass } from "@jimp/types"; import { BlurOptions } from "blur-ts"; export const methods = { /** * A blur effect - * + * * @example * ```ts * import { Jimp } from "jimp"; - * + * * const image = await Jimp.read("test/image.png"); - * + * * image.blur(5); * ``` */ blur(image: I, r: number) { // Implementation - } + }, }; -``` +```` Generally our method APIs follow the following pattern: - They can take 1 primitive as an option (other than `image`) -- Otherwise they take and options object defined and validated by `zod`. \ No newline at end of file +- Otherwise they take and options object defined and validated by `zod`. diff --git a/packages/docs/src/content/docs/index.mdx b/packages/docs/src/content/docs/index.mdx index 2c2f928a2..b92931b70 100644 --- a/packages/docs/src/content/docs/index.mdx +++ b/packages/docs/src/content/docs/index.mdx @@ -16,21 +16,22 @@ hero: icon: external --- -import { Steps, Card, CardGrid, LinkCard } from '@astrojs/starlight/components'; +import { Steps, Card, CardGrid, LinkCard } from "@astrojs/starlight/components"; - - - Supported image formats include PNG, JPEG, BMP, GIF, and TIFF. - - - You can resize, crop, apply filters and more. - - - Create your own plugins to add new image manipulation methods or formats. - - - Jimp is just JavaScript, so you can use it in anywhere that JavaScript can be used. - + + + Supported image formats include PNG, JPEG, BMP, GIF, and TIFF. + + + You can resize, crop, apply filters and more. + + + Create your own plugins to add new image manipulation methods or formats. + + + Jimp is just JavaScript, so you can use it in anywhere that JavaScript can + be used. + ## Usage @@ -65,4 +66,4 @@ Load an image, manipulate it, and save it. - \ No newline at end of file + diff --git a/packages/docs/src/typedoc-plugin.js b/packages/docs/src/typedoc-plugin.js index 82abf943c..663633bb4 100644 --- a/packages/docs/src/typedoc-plugin.js +++ b/packages/docs/src/typedoc-plugin.js @@ -47,7 +47,7 @@ export function load(app) { if ( refl.type.name === "Promise" && refl.type.typeArguments.some((a) => - a.types?.some((t) => t.name === "JimpInstanceMethods") + a.types?.some((t) => t.name === "JimpInstanceMethods"), ) ) { refl.type.typeArguments = [ diff --git a/packages/docs/src/typedoc-zod-extended.js b/packages/docs/src/typedoc-zod-extended.js index e25b95cbb..321625506 100644 --- a/packages/docs/src/typedoc-zod-extended.js +++ b/packages/docs/src/typedoc-zod-extended.js @@ -39,7 +39,7 @@ export function load(app) { ?.getDeclarations() ?.find(TypeScript.isTypeAliasDeclaration); const matchingSchema = declaration?.parent.locals.get( - `${refl.name}Schema` + `${refl.name}Schema`, ); if (!matchingSchema || !refl.type.declaration) { diff --git a/packages/docs/tsconfig.json b/packages/docs/tsconfig.json index 77da9dd00..bcbf8b509 100644 --- a/packages/docs/tsconfig.json +++ b/packages/docs/tsconfig.json @@ -1,3 +1,3 @@ { "extends": "astro/tsconfigs/strict" -} \ No newline at end of file +} diff --git a/packages/file-ops/.eslintrc.cjs b/packages/file-ops/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/file-ops/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/file-ops/eslint.config.mjs b/packages/file-ops/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/packages/file-ops/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/packages/file-ops/package.json b/packages/file-ops/package.json index 0e179a727..ca609fd1a 100644 --- a/packages/file-ops/package.json +++ b/packages/file-ops/package.json @@ -2,6 +2,9 @@ "name": "@jimp/file-ops", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "build": "tshy", @@ -13,11 +16,11 @@ "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "@types/node": "^20.12.5", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/packages/jimp/.eslintrc.cjs b/packages/jimp/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/jimp/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/jimp/CHANGELOG.md b/packages/jimp/CHANGELOG.md index 4c8e00c4a..44aa62c7b 100644 --- a/packages/jimp/CHANGELOG.md +++ b/packages/jimp/CHANGELOG.md @@ -4,7 +4,7 @@ #### Make brightness function behave like other implementations ([#1312](https://github.com/jimp-dev/jimp/pull/1312)) -This PR changes the `brightness` function to behave like the css brightness function and other implementations. Previously it was doing something odd. Instead of multiplying the color channel by the multiplier value, it multiplied against the inversion of the current color. +This PR changes the `brightness` function to behave like the css brightness function and other implementations. Previously it was doing something odd. Instead of multiplying the color channel by the multiplier value, it multiplied against the inversion of the current color. In the current version a value of `1` won't change the colors at all. Values above 1 will brighten the colors, values below 1 will darken the colors. diff --git a/packages/jimp/eslint.config.mjs b/packages/jimp/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/packages/jimp/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/packages/jimp/package.json b/packages/jimp/package.json index c137a6298..696519b0d 100644 --- a/packages/jimp/package.json +++ b/packages/jimp/package.json @@ -12,6 +12,9 @@ "types" ], "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -70,22 +73,22 @@ "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", "@rollup/plugin-alias": "^5.1.0", - "@rollup/plugin-commonjs": "^25.0.7", + "@rollup/plugin-commonjs": "^26.0.1", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-terser": "^0.4.4", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "node-self": "^1.0.2", "path-browserify": "^1.0.1", - "rollup": "^4.14.1", - "rollup-plugin-dts": "^6.1.0", + "rollup": "^4.21.2", + "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/packages/jimp/src/__image_snapshots__/composite-node-test-ts-src-composite-node-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png b/packages/jimp/src/__image_snapshots__/composite-node-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/composite-node-test-ts-src-composite-node-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png rename to packages/jimp/src/__image_snapshots__/composite-node-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/composite-node-test-ts-src-composite-node-test-ts-composite-should-handle-edges-correctly-1-snap.png b/packages/jimp/src/__image_snapshots__/composite-node-test-ts-composite-should-handle-edges-correctly-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/composite-node-test-ts-src-composite-node-test-ts-composite-should-handle-edges-correctly-1-snap.png rename to packages/jimp/src/__image_snapshots__/composite-node-test-ts-composite-should-handle-edges-correctly-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/composite-test-ts-src-composite-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png b/packages/jimp/src/__image_snapshots__/composite-test-ts-src-composite-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png deleted file mode 100644 index 15921c1d4..000000000 Binary files a/packages/jimp/src/__image_snapshots__/composite-test-ts-src-composite-test-ts-composite-can-apply-more-than-one-color-transformation-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/composite-test-ts-src-composite-test-ts-composite-should-handle-edges-correctly-1-snap.png b/packages/jimp/src/__image_snapshots__/composite-test-ts-src-composite-test-ts-composite-should-handle-edges-correctly-1-snap.png deleted file mode 100644 index 3cb793d5b..000000000 Binary files a/packages/jimp/src/__image_snapshots__/composite-test-ts-src-composite-test-ts-composite-should-handle-edges-correctly-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png similarity index 100% rename from packages/jimp/src/__image_snapshots__/exif-node-test-ts-src-exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png rename to packages/jimp/src/__image_snapshots__/exif-node-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png deleted file mode 100644 index 0ab1d58c6..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png deleted file mode 100644 index 630f279c6..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-1-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png deleted file mode 100644 index 21f720803..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png deleted file mode 100644 index 13b43cb08..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-2-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png deleted file mode 100644 index 638a845c5..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png deleted file mode 100644 index 3ccbc46ed..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-3-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png deleted file mode 100644 index d09bc49b7..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png deleted file mode 100644 index 01de95a06..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-4-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png deleted file mode 100644 index d6e065934..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png deleted file mode 100644 index c58db4b3c..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-5-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png deleted file mode 100644 index a3a7d3652..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png deleted file mode 100644 index 2bd80b9af..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-6-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png deleted file mode 100644 index 4426e26dc..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png deleted file mode 100644 index 47f2f7101..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-7-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png deleted file mode 100644 index 42209f364..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-1-snap.png and /dev/null differ diff --git a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png b/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png deleted file mode 100644 index 680af4425..000000000 Binary files a/packages/jimp/src/__image_snapshots__/exif-test-ts-src-exif-test-ts-exif-orientation-is-fixed-when-exif-orientation-is-8-2-snap.png and /dev/null differ diff --git a/packages/jimp/src/callbacks.test.ts b/packages/jimp/src/callbacks.test.ts index 3fb18887f..62d058af7 100644 --- a/packages/jimp/src/callbacks.test.ts +++ b/packages/jimp/src/callbacks.test.ts @@ -63,7 +63,7 @@ describe("Callbacks", () => { expect( // eslint-disable-next-line @typescript-eslint/no-explicit-any - (clone[op as keyof typeof clone] as any)(...args) + (clone[op as keyof typeof clone] as any)(...args), ).toMatchSnapshot(); }); }); diff --git a/packages/jimp/src/exif.node.test.ts b/packages/jimp/src/exif.node.test.ts index 6094abce4..29541ef95 100644 --- a/packages/jimp/src/exif.node.test.ts +++ b/packages/jimp/src/exif.node.test.ts @@ -29,7 +29,7 @@ describe("EXIF orientation", () => { expect(output).toMatchImageSnapshot(); expect(getExifOrientation(orientedImg)).toBe( - getExifOrientation(regularImg) + getExifOrientation(regularImg), ); }); } @@ -47,7 +47,7 @@ describe("EXIF orientation", () => { expect(distance(regularImg, orientedImg)).toBeLessThan(0.07); expect(getExifOrientation(orientedImg)).toBe( - getExifOrientation(regularImg) + getExifOrientation(regularImg), ); }); } diff --git a/packages/jimp/src/scan.test.ts b/packages/jimp/src/scan.test.ts index 7eaa3399c..5ffdb020c 100644 --- a/packages/jimp/src/scan.test.ts +++ b/packages/jimp/src/scan.test.ts @@ -33,7 +33,7 @@ describe("scan", () => { 0, 0, j.bitmap.width, - j.bitmap.height + j.bitmap.height, )) { const color = [ [0xff, 0x00, 0x00], diff --git a/packages/test-utils/.eslintrc.cjs b/packages/test-utils/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/test-utils/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/test-utils/eslint.config.mjs b/packages/test-utils/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/packages/test-utils/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 4ba8cded4..9bf6873a9 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -2,6 +2,9 @@ "name": "@jimp/test-utils", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "build": "tshy", @@ -19,13 +22,16 @@ "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", "@types/jest-image-snapshot": "^6.4.0", - "@types/node": "^20.12.5", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { + "exclude": [ + "**/*.test.ts" + ], "exports": { "./package.json": "./package.json", ".": "./src/index.ts", diff --git a/packages/test-utils/src/index.ts b/packages/test-utils/src/index.ts index fe3f601c4..ea496a2f3 100644 --- a/packages/test-utils/src/index.ts +++ b/packages/test-utils/src/index.ts @@ -5,7 +5,7 @@ import path from "path"; // eslint-disable-next-line @typescript-eslint/no-explicit-any export function hashForEach>( hash: Hash, - func: (key: keyof Hash, value: Hash[keyof Hash]) => void + func: (key: keyof Hash, value: Hash[keyof Hash]) => void, ) { for (const key in hash) if (key in hash) { @@ -25,7 +25,7 @@ function throwUndefinedChar(char: string) { char + '" do not defines a color. ' + "This are the valid chars: " + - cList.join(" ") + cList.join(" "), ); } @@ -115,7 +115,7 @@ export function testImageReadableMatrix(img: Bitmap) { pix.replace(/(..)(..)(..)(.)(.)/, (sel, r, g, b, a1, a2) => { const a = sup[parseInt(a1, 16)]! + sup[parseInt(a2, 16)]!; return r + "-" + g + "-" + b + a; - }) + }), ); if (i > 0 && (i + 1) % img.width === 0) { rMatrix.push(line.join(" ")); @@ -219,7 +219,7 @@ export function getTestImagePath( | "windows95.bmp" | "fillbytes.jpg" | "hands.jpg" - | "hands_mx200_rp255.jpg" + | "hands_mx200_rp255.jpg", ) { if (typeof window !== "undefined") { return `/${name}`; diff --git a/packages/types/.eslintrc.cjs b/packages/types/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/types/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/types/eslint.config.mjs b/packages/types/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/packages/types/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/packages/types/package.json b/packages/types/package.json index 104a91250..2954a8816 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -2,6 +2,9 @@ "name": "@jimp/types", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "build": "tshy", @@ -13,11 +16,11 @@ "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "@types/node": "^20.12.5", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ @@ -45,7 +48,7 @@ "types": "./dist/commonjs/index.d.ts", "type": "module", "dependencies": { - "zod": "^3.22.4" + "zod": "^3.23.8" }, "publishConfig": { "access": "public" diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 831a6f868..3fc4fadcd 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -60,7 +60,7 @@ export interface JimpClass { w: number, h: number, // eslint-disable-next-line @typescript-eslint/no-explicit-any - cb: (x: number, y: number, idx: number) => any + cb: (x: number, y: number, idx: number) => any, ): JimpClass; scan( // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -69,6 +69,6 @@ export interface JimpClass { w?: number, h?: number, // eslint-disable-next-line @typescript-eslint/no-explicit-any - f?: (x: number, y: number, idx: number) => any + f?: (x: number, y: number, idx: number) => any, ): JimpClass; } diff --git a/packages/utils/.eslintrc.cjs b/packages/utils/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/packages/utils/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/packages/utils/eslint.config.mjs b/packages/utils/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/packages/utils/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/packages/utils/package.json b/packages/utils/package.json index 69aad6be5..1789f5e4d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -2,6 +2,9 @@ "name": "@jimp/utils", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -18,14 +21,17 @@ "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "@types/node": "^20.12.5", + "@types/node": "^18.19.48", "@types/tinycolor2": "^1.4.6", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { + "exclude": [ + "**/*.test.ts" + ], "exports": { "./package.json": "./package.json", ".": "./src/index.ts" diff --git a/packages/utils/src/index.test.ts b/packages/utils/src/index.test.ts index f9da2fbe3..9f994c3be 100644 --- a/packages/utils/src/index.test.ts +++ b/packages/utils/src/index.test.ts @@ -8,33 +8,33 @@ const pct = (n: number) => ((n * 1000) << 0) / 10; describe("colorDiff", () => { test("totally opaque (no alpha defined)", () => { expect(colorDiff({ r: 255, g: 0, b: 0 }, { r: 255, g: 0, b: 0 })).toEqual( - 0 + 0, ); expect( - pct(colorDiff({ r: 255, g: 0, b: 0 }, { r: 0, g: 0, b: 0 })) + pct(colorDiff({ r: 255, g: 0, b: 0 }, { r: 0, g: 0, b: 0 })), ).toEqual(33.3); expect( - pct(colorDiff({ r: 255, g: 0, b: 0 }, { r: 0, g: 255, b: 0 })) + pct(colorDiff({ r: 255, g: 0, b: 0 }, { r: 0, g: 255, b: 0 })), ).toEqual(66.6); expect(colorDiff({ r: 255, g: 0, b: 0 }, { r: 0, g: 255, b: 255 })).toEqual( - 1 + 1, ); expect(colorDiff({ r: 0, g: 0, b: 0 }, { r: 255, g: 255, b: 255 })).toEqual( - 1 + 1, ); }); test("totally transparent", () => { expect( - colorDiff({ r: 255, g: 0, b: 0, a: 0 }, { r: 255, g: 0, b: 0, a: 0 }) + colorDiff({ r: 255, g: 0, b: 0, a: 0 }, { r: 255, g: 0, b: 0, a: 0 }), ).toEqual(0); expect( - colorDiff({ r: 0, g: 0, b: 0, a: 0 }, { r: 255, g: 255, b: 255, a: 0 }) + colorDiff({ r: 0, g: 0, b: 0, a: 0 }, { r: 255, g: 255, b: 255, a: 0 }), ).toEqual(1); }); @@ -43,13 +43,13 @@ describe("colorDiff", () => { pct( colorDiff( { r: 255, g: 0, b: 0, a: 100 }, - { r: 255, g: 0, b: 0, a: 150 } - ) - ) + { r: 255, g: 0, b: 0, a: 150 }, + ), + ), ).toEqual(3.8); expect( - colorDiff({ r: 0, g: 0, b: 0, a: 0 }, { r: 255, g: 255, b: 255, a: 255 }) + colorDiff({ r: 0, g: 0, b: 0, a: 0 }, { r: 255, g: 255, b: 255, a: 255 }), ).toEqual(1); }); }); diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 81f1d9188..e3f483b15 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -15,7 +15,7 @@ export function clone(image: I): I { export function scan( image: I, // eslint-disable-next-line @typescript-eslint/no-explicit-any - f: (this: I, x: number, y: number, idx: number) => any + f: (this: I, x: number, y: number, idx: number) => any, ): I; export function scan( image: I, @@ -24,7 +24,7 @@ export function scan( w: number, h: number, // eslint-disable-next-line @typescript-eslint/no-explicit-any - cb: (x: number, y: number, idx: number) => any + cb: (x: number, y: number, idx: number) => any, ): I; export function scan( image: I, @@ -34,7 +34,7 @@ export function scan( wArg?: number, hArg?: number, // eslint-disable-next-line @typescript-eslint/no-explicit-any - cbArg?: (x: number, y: number, idx: number) => any + cbArg?: (x: number, y: number, idx: number) => any, ): I { let x: number; let y: number; @@ -82,7 +82,7 @@ export function* scanIterator( x: number, y: number, w: number, - h: number + h: number, ) { // round input x = Math.round(x); @@ -125,14 +125,14 @@ export function intToRGBA(i: number) { rgba.g = Math.floor((i - rgba.r * Math.pow(256, 3)) / Math.pow(256, 2)); rgba.b = Math.floor( (i - rgba.r * Math.pow(256, 3) - rgba.g * Math.pow(256, 2)) / - Math.pow(256, 1) + Math.pow(256, 1), ); rgba.a = Math.floor( (i - rgba.r * Math.pow(256, 3) - rgba.g * Math.pow(256, 2) - rgba.b * Math.pow(256, 1)) / - Math.pow(256, 0) + Math.pow(256, 0), ); return rgba; @@ -216,7 +216,7 @@ export function rgbaToInt(r: number, g: number, b: number, a: number) { */ export function colorDiff( rgba1: RGBAColor | RGBColor, - rgba2: RGBAColor | RGBColor + rgba2: RGBAColor | RGBColor, ) { const sq = (n: number) => Math.pow(n, 2); const { max } = Math; diff --git a/plugins/js-bmp/.eslintrc.cjs b/plugins/js-bmp/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/js-bmp/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/js-bmp/eslint.config.mjs b/plugins/js-bmp/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/js-bmp/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/js-bmp/package.json b/plugins/js-bmp/package.json index 2c988fd29..876ef475c 100644 --- a/plugins/js-bmp/package.json +++ b/plugins/js-bmp/package.json @@ -2,6 +2,9 @@ "name": "@jimp/js-bmp", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -18,13 +21,13 @@ "@jimp/config-vitest": "workspace:*", "@jimp/js-png": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/js-bmp/src/index.ts b/plugins/js-bmp/src/index.ts index f1b584a37..146fcddb0 100644 --- a/plugins/js-bmp/src/index.ts +++ b/plugins/js-bmp/src/index.ts @@ -47,7 +47,7 @@ function encode(image: Bitmap, options: EncodeOptions = {}) { image.data[index + 1] = blue; image.data[index + 2] = green; image.data[index + 3] = red; - } + }, ); return BMP.encode({ ...image, ...options }).data; @@ -72,7 +72,7 @@ function decode(data: Buffer) { result.data[index + 1] = green; result.data[index + 2] = blue; result.data[index + 3] = 0xff; - } + }, ); return result as Bitmap; diff --git a/plugins/js-gif/.eslintrc.cjs b/plugins/js-gif/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/js-gif/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/js-gif/eslint.config.mjs b/plugins/js-gif/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/js-gif/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/js-gif/package.json b/plugins/js-gif/package.json index 7301c8912..4470df53a 100644 --- a/plugins/js-gif/package.json +++ b/plugins/js-gif/package.json @@ -2,6 +2,9 @@ "name": "@jimp/js-gif", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -17,14 +20,14 @@ "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", + "@types/node": "^18.19.48", "@types/omggif": "^1.0.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", - "tshy": "^1.12.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", + "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ @@ -60,5 +63,6 @@ "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "module": "./dist/esm/index.js" } diff --git a/plugins/js-jpeg/.eslintrc.cjs b/plugins/js-jpeg/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/js-jpeg/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/js-jpeg/eslint.config.mjs b/plugins/js-jpeg/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/js-jpeg/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/js-jpeg/package.json b/plugins/js-jpeg/package.json index b9ea9fff6..962a26421 100644 --- a/plugins/js-jpeg/package.json +++ b/plugins/js-jpeg/package.json @@ -2,6 +2,9 @@ "name": "@jimp/js-jpeg", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -17,12 +20,12 @@ "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/js-jpeg/src/index.test.ts b/plugins/js-jpeg/src/index.test.ts index 83f395934..031fa2964 100644 --- a/plugins/js-jpeg/src/index.test.ts +++ b/plugins/js-jpeg/src/index.test.ts @@ -37,6 +37,7 @@ describe("JPEG", () => { quality: 50, }); + // eslint-disable-next-line no-control-regex expect(buffer.toString()).toMatch(/^.{3,9}JFIF\u0000/); }); }); diff --git a/plugins/js-png/.eslintrc.cjs b/plugins/js-png/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/js-png/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/js-png/eslint.config.mjs b/plugins/js-png/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/js-png/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/js-png/package.json b/plugins/js-png/package.json index f89bccd64..d83504a75 100644 --- a/plugins/js-png/package.json +++ b/plugins/js-png/package.json @@ -2,6 +2,9 @@ "name": "@jimp/js-png", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -22,13 +25,13 @@ "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/pngjs": "^6.0.4", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/pngjs": "^6.0.5", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/js-png/src/__image_snapshots__/index-test-ts-src-index-test-ts-png-should-use-png-options-1-snap.png b/plugins/js-png/src/__image_snapshots__/index-node-test-ts-png-should-use-png-options-1-snap.png similarity index 100% rename from plugins/js-png/src/__image_snapshots__/index-test-ts-src-index-test-ts-png-should-use-png-options-1-snap.png rename to plugins/js-png/src/__image_snapshots__/index-node-test-ts-png-should-use-png-options-1-snap.png diff --git a/plugins/js-png/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-png-should-use-png-options-1-snap.png b/plugins/js-png/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-png-should-use-png-options-1-snap.png deleted file mode 100644 index d85e4f462..000000000 Binary files a/plugins/js-png/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-png-should-use-png-options-1-snap.png and /dev/null differ diff --git a/plugins/js-png/src/index.ts b/plugins/js-png/src/index.ts index aebf2a859..97506ae8d 100644 --- a/plugins/js-png/src/index.ts +++ b/plugins/js-png/src/index.ts @@ -27,7 +27,7 @@ export default function png() { colorType, inputHasAlpha = true, ...options - }: PNGOptions = {} + }: PNGOptions = {}, ) => { const png = new PNG({ width: bitmap.width, diff --git a/plugins/js-tiff/.eslintrc.cjs b/plugins/js-tiff/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/js-tiff/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/js-tiff/eslint.config.mjs b/plugins/js-tiff/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/js-tiff/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/js-tiff/package.json b/plugins/js-tiff/package.json index 6066960c3..93f279248 100644 --- a/plugins/js-tiff/package.json +++ b/plugins/js-tiff/package.json @@ -2,6 +2,9 @@ "name": "@jimp/js-tiff", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -17,13 +20,13 @@ "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/js-tiff/src/index.test.ts b/plugins/js-tiff/src/index.test.ts index afca975f5..76d7ed6ed 100644 --- a/plugins/js-tiff/src/index.test.ts +++ b/plugins/js-tiff/src/index.test.ts @@ -26,6 +26,7 @@ describe("TIFF", () => { }); const buffer = await image.getBuffer("image/tiff"); + // eslint-disable-next-line no-control-regex expect(buffer.toString()).toMatch(/^MM\u0000*\u0000/); }); }); diff --git a/plugins/plugin-blit/.eslintrc.cjs b/plugins/plugin-blit/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-blit/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-blit/eslint.config.mjs b/plugins/plugin-blit/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-blit/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-blit/package.json b/plugins/plugin-blit/package.json index 85d62f8f8..cfe8ef374 100644 --- a/plugins/plugin-blit/package.json +++ b/plugins/plugin-blit/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-blit", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -15,7 +18,7 @@ "dependencies": { "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", @@ -25,14 +28,17 @@ "@jimp/js-jpeg": "workspace:*", "@jimp/js-png": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { + "exclude": [ + "**/*.test.ts" + ], "exports": { "./package.json": "./package.json", ".": "./src/index.ts" diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-blit-alpha-1-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-blit-alpha-1-snap.png similarity index 100% rename from plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-blit-alpha-1-snap.png rename to plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-blit-alpha-1-snap.png diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png similarity index 100% rename from plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png rename to plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png similarity index 100% rename from plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png rename to plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png similarity index 100% rename from plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png rename to plugins/plugin-blit/src/__image_snapshots__/index-node-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-blit-alpha-1-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-blit-alpha-1-snap.png deleted file mode 100644 index c5995100f..000000000 Binary files a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-blit-alpha-1-snap.png and /dev/null differ diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png deleted file mode 100644 index 1cbc5d63d..000000000 Binary files a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-1-snap.png and /dev/null differ diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png deleted file mode 100644 index 7da75acf7..000000000 Binary files a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-2-snap.png and /dev/null differ diff --git a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png b/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png deleted file mode 100644 index 059852dc7..000000000 Binary files a/plugins/plugin-blit/src/__image_snapshots__/index-test-ts-src-index-test-ts-blit-over-image-uses-src-params-correctly-3-snap.png and /dev/null differ diff --git a/plugins/plugin-blit/src/index.test.ts b/plugins/plugin-blit/src/index.test.ts index 6def15c74..f48c47c5c 100644 --- a/plugins/plugin-blit/src/index.test.ts +++ b/plugins/plugin-blit/src/index.test.ts @@ -18,8 +18,8 @@ describe("Blit over image", function () { "▾▾▾▾◆◆◆◆", "▾▾▾▾◆◆◆◆", "▾▾▾▾◆◆◆◆", - "▾▾▾▾◆◆◆◆" - ) + "▾▾▾▾◆◆◆◆", + ), ); // stores the Jimp instances of the JGD images above. // prettier-ignore @@ -38,7 +38,7 @@ describe("Blit over image", function () { test("blit on middle, with no crop", () => { expect( - targetImg.clone().blit({ src: srcImg, x: 1, y: 1 }) + targetImg.clone().blit({ src: srcImg, x: 1, y: 1 }), ).toMatchSnapshot(); }); @@ -46,7 +46,7 @@ describe("Blit over image", function () { expect( targetImg .clone() - .blit({ src: srcImg, x: 2, y: 2, srcX: 1, srcY: 1, srcW: 5, srcH: 5 }) + .blit({ src: srcImg, x: 2, y: 2, srcX: 1, srcY: 1, srcW: 5, srcH: 5 }), ).toMatchSnapshot(); }); @@ -54,19 +54,19 @@ describe("Blit over image", function () { expect( targetImg .clone() - .blit({ src: srcImg, x: 2, y: 2, srcX: 1, srcY: 1, srcW: 4, srcH: 4 }) + .blit({ src: srcImg, x: 2, y: 2, srcX: 1, srcY: 1, srcW: 4, srcH: 4 }), ).toMatchSnapshot(); }); test("blit partially out, on top-left", () => { expect( - targetImg.clone().blit({ src: srcImg, x: -1, y: -1 }) + targetImg.clone().blit({ src: srcImg, x: -1, y: -1 }), ).toMatchSnapshot(); }); test("blit partially out, on bottom-right", () => { expect( - targetImg.clone().blit({ src: srcImg, x: 3, y: 3 }) + targetImg.clone().blit({ src: srcImg, x: 3, y: 3 }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-blur/.eslintrc.cjs b/plugins/plugin-blur/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-blur/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-blur/eslint.config.mjs b/plugins/plugin-blur/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-blur/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-blur/package.json b/plugins/plugin-blur/package.json index 086bce1d1..823e3d252 100644 --- a/plugins/plugin-blur/package.json +++ b/plugins/plugin-blur/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-blur", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -22,12 +25,12 @@ "@jimp/js-png": "workspace:*", "@jimp/test-utils": "workspace:*", "@jimp/types": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-blur/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-has-alpha-image-with-alpha-1-snap.png b/plugins/plugin-blur/src/__image_snapshots__/index-node-test-ts-has-alpha-image-with-alpha-1-snap.png similarity index 100% rename from plugins/plugin-blur/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-has-alpha-image-with-alpha-1-snap.png rename to plugins/plugin-blur/src/__image_snapshots__/index-node-test-ts-has-alpha-image-with-alpha-1-snap.png diff --git a/plugins/plugin-blur/src/index.ts b/plugins/plugin-blur/src/index.ts index a9a2d2cb2..a8a6051ff 100644 --- a/plugins/plugin-blur/src/index.ts +++ b/plugins/plugin-blur/src/index.ts @@ -65,7 +65,6 @@ export const methods = { let yp: number; let yi: number; let yw: number; - let pa: number; const wm = image.bitmap.width - 1; const hm = image.bitmap.height - 1; diff --git a/plugins/plugin-circle/.eslintrc.cjs b/plugins/plugin-circle/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-circle/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-circle/eslint.config.mjs b/plugins/plugin-circle/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-circle/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-circle/package.json b/plugins/plugin-circle/package.json index e60e49118..a3f4a0295 100644 --- a/plugins/plugin-circle/package.json +++ b/plugins/plugin-circle/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-circle", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -14,7 +17,7 @@ "license": "MIT", "dependencies": { "@jimp/types": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", @@ -22,12 +25,12 @@ "@jimp/config-vitest": "workspace:*", "@jimp/core": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-circle/src/index.test.ts b/plugins/plugin-circle/src/index.test.ts index 2edfbbd5f..e25e86334 100644 --- a/plugins/plugin-circle/src/index.test.ts +++ b/plugins/plugin-circle/src/index.test.ts @@ -20,8 +20,8 @@ describe("Circle", () => { "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", - "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦" - ) + "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", + ), ); expect(imgSrc.circle()).toMatchSnapshot(); @@ -39,8 +39,8 @@ describe("Circle", () => { "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", - "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦" - ) + "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", + ), ); expect(imgSrc.circle({ radius: 3 })).toMatchSnapshot(); @@ -58,8 +58,8 @@ describe("Circle", () => { "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", - "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦" - ) + "▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦▦", + ), ); expect(imgSrc.circle({ radius: 5, x: 5, y: 5 })).toMatchSnapshot(); diff --git a/plugins/plugin-circle/src/index.ts b/plugins/plugin-circle/src/index.ts index b83edde45..63a5de5f0 100644 --- a/plugins/plugin-circle/src/index.ts +++ b/plugins/plugin-circle/src/index.ts @@ -41,7 +41,7 @@ export const methods = { image.scan((x, y, idx) => { const curR = Math.sqrt( - Math.pow(x - center.x, 2) + Math.pow(y - center.y, 2) + Math.pow(x - center.x, 2) + Math.pow(y - center.y, 2), ); if (radius - curR <= 0.0) { diff --git a/plugins/plugin-color/.eslintrc.cjs b/plugins/plugin-color/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-color/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-color/CHANGELOG.md b/plugins/plugin-color/CHANGELOG.md index 4e527d743..813c8fc71 100644 --- a/plugins/plugin-color/CHANGELOG.md +++ b/plugins/plugin-color/CHANGELOG.md @@ -4,7 +4,7 @@ #### Make brightness function behave like other implementations ([#1312](https://github.com/jimp-dev/jimp/pull/1312)) -This PR changes the `brightness` function to behave like the css brightness function and other implementations. Previously it was doing something odd. Instead of multiplying the color channel by the multiplier value, it multiplied against the inversion of the current color. +This PR changes the `brightness` function to behave like the css brightness function and other implementations. Previously it was doing something odd. Instead of multiplying the color channel by the multiplier value, it multiplied against the inversion of the current color. In the current version a value of `1` won't change the colors at all. Values above 1 will brighten the colors, values below 1 will darken the colors. diff --git a/plugins/plugin-color/eslint.config.mjs b/plugins/plugin-color/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-color/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-color/package.json b/plugins/plugin-color/package.json index 23a8f2339..5fe3360e9 100644 --- a/plugins/plugin-color/package.json +++ b/plugins/plugin-color/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-color", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -19,21 +22,21 @@ "@jimp/js-jpeg": "workspace:*", "@jimp/js-png": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", + "@types/node": "^18.19.48", "@types/tinycolor2": "^1.4.6", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", - "tshy": "^1.12.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", + "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "dependencies": { "@jimp/core": "workspace:*", "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", "tinycolor2": "^1.6.0", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "tshy": { "exclude": [ @@ -63,5 +66,6 @@ "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "module": "./dist/esm/index.js" } diff --git a/plugins/plugin-color/src/__image_snapshots__/birghtness-node-test-ts-src-birghtness-node-test-ts-brightness-3-x-3-box-blur-matrix-using-convolute-1-snap.png b/plugins/plugin-color/src/__image_snapshots__/birghtness-node-test-ts-brightness-3-x-3-box-blur-matrix-using-convolute-1-snap.png similarity index 100% rename from plugins/plugin-color/src/__image_snapshots__/birghtness-node-test-ts-src-birghtness-node-test-ts-brightness-3-x-3-box-blur-matrix-using-convolute-1-snap.png rename to plugins/plugin-color/src/__image_snapshots__/birghtness-node-test-ts-brightness-3-x-3-box-blur-matrix-using-convolute-1-snap.png diff --git a/plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-src-convolution-node-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png b/plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png similarity index 100% rename from plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-src-convolution-node-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png rename to plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png diff --git a/plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-src-convolution-node-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png b/plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png similarity index 100% rename from plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-src-convolution-node-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png rename to plugins/plugin-color/src/__image_snapshots__/convolution-node-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png diff --git a/plugins/plugin-color/src/__image_snapshots__/convolution-test-ts-src-convolution-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png b/plugins/plugin-color/src/__image_snapshots__/convolution-test-ts-src-convolution-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png deleted file mode 100644 index 5b3da9b69..000000000 Binary files a/plugins/plugin-color/src/__image_snapshots__/convolution-test-ts-src-convolution-test-ts-convolution-3-x-3-box-blur-matrix-using-convolute-1-snap.png and /dev/null differ diff --git a/plugins/plugin-color/src/__image_snapshots__/convolution-test-ts-src-convolution-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png b/plugins/plugin-color/src/__image_snapshots__/convolution-test-ts-src-convolution-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png deleted file mode 100644 index 9b42e016a..000000000 Binary files a/plugins/plugin-color/src/__image_snapshots__/convolution-test-ts-src-convolution-test-ts-convolution-new-pixel-value-is-greater-than-255-1-snap.png and /dev/null differ diff --git a/plugins/plugin-color/src/convolution.test.ts b/plugins/plugin-color/src/convolution.test.ts index dadba3af8..953065c65 100644 --- a/plugins/plugin-color/src/convolution.test.ts +++ b/plugins/plugin-color/src/convolution.test.ts @@ -19,8 +19,8 @@ describe("Convolution", function () { "22888822", "22888822", "22222222", - "22222222" - ) + "22222222", + ), ); /** stores the Jimp instances of the JGD images above. */ const imgTopLeft = jimp.fromBitmap( @@ -32,8 +32,8 @@ describe("Convolution", function () { "22222222", "22222222", "22222222", - "22222222" - ) + "22222222", + ), ); const sharpM = [ @@ -49,23 +49,23 @@ describe("Convolution", function () { test("3x3 sharp matrix on EDGE_WRAP", () => { expect( - imgMid.clone().convolution({ kernel: sharpM, edgeHandling: Edge.WRAP }) + imgMid.clone().convolution({ kernel: sharpM, edgeHandling: Edge.WRAP }), ).toMatchSnapshot(); expect( imgTopLeft .clone() - .convolution({ kernel: sharpM, edgeHandling: Edge.WRAP }) + .convolution({ kernel: sharpM, edgeHandling: Edge.WRAP }), ).toMatchSnapshot(); }); test("3x3 sharp matrix on EDGE_CROP", () => { expect( - imgMid.clone().convolution({ kernel: sharpM, edgeHandling: Edge.CROP }) + imgMid.clone().convolution({ kernel: sharpM, edgeHandling: Edge.CROP }), ).toMatchSnapshot(); expect( imgTopLeft .clone() - .convolution({ kernel: sharpM, edgeHandling: Edge.CROP }) + .convolution({ kernel: sharpM, edgeHandling: Edge.CROP }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-color/src/index.test.ts b/plugins/plugin-color/src/index.test.ts index 2552beae5..26fadcbe2 100644 --- a/plugins/plugin-color/src/index.test.ts +++ b/plugins/plugin-color/src/index.test.ts @@ -28,7 +28,7 @@ describe("canvas color transformation", () => { test("brighten", () => { const image = jimp.fromBitmap(redDonutJGD); expect( - image.color([{ apply: "brighten", params: [25] }]) + image.color([{ apply: "brighten", params: [25] }]), ).toMatchSnapshot(); }); diff --git a/plugins/plugin-color/src/index.ts b/plugins/plugin-color/src/index.ts index 675c015ae..daca8e327 100644 --- a/plugins/plugin-color/src/index.ts +++ b/plugins/plugin-color/src/index.ts @@ -62,7 +62,7 @@ function applyKernel( image: JimpClass, kernel: number[][], x: number, - y: number + y: number, ) { const value = [0, 0, 0, 0] as [number, number, number, number]; const size = (kernel.length - 1) / 2; @@ -297,17 +297,17 @@ export const methods = { image.bitmap.data[idx + 0] = normalizeValue( r, bounds.r[0]!, - bounds.r[1]! + bounds.r[1]!, ); image.bitmap.data[idx + 1] = normalizeValue( g, bounds.g[0]!, - bounds.g[1]! + bounds.g[1]!, ); image.bitmap.data[idx + 2] = normalizeValue( b, bounds.b[0]!, - bounds.b[1]! + bounds.b[1]!, ); }); diff --git a/plugins/plugin-contain/.eslintrc.cjs b/plugins/plugin-contain/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-contain/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-contain/eslint.config.mjs b/plugins/plugin-contain/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-contain/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-contain/package.json b/plugins/plugin-contain/package.json index e3181aacb..c5c985884 100644 --- a/plugins/plugin-contain/package.json +++ b/plugins/plugin-contain/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-contain", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -18,19 +21,19 @@ "@jimp/plugin-resize": "workspace:*", "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-contain/src/index.test.ts b/plugins/plugin-contain/src/index.test.ts index 7f5c02901..63cab02db 100644 --- a/plugins/plugin-contain/src/index.test.ts +++ b/plugins/plugin-contain/src/index.test.ts @@ -21,8 +21,8 @@ describe("All align combinations for contain", () => { "▾▾▾▾◆◆◆◆", "▾▾▾▾◆◆◆◆", "▾▾▾▾◆◆◆◆", - "▾▾▾▾◆◆◆◆" - ) + "▾▾▾▾◆◆◆◆", + ), ); // stores the Jimp instances of the JGD images above. const horizontal = jimp.fromBitmap( @@ -34,8 +34,8 @@ describe("All align combinations for contain", () => { "▾▾▾▾▾▾◆◆◆◆◆◆", "▾▾▾▾▾▾◆◆◆◆◆◆", "▾▾▾▾▾▾◆◆◆◆◆◆", - "▾▾▾▾▾▾◆◆◆◆◆◆" - ) + "▾▾▾▾▾▾◆◆◆◆◆◆", + ), ); const tests: Array< @@ -62,13 +62,13 @@ describe("All align combinations for contain", () => { test("vertical contain aligned to " + align, () => { expect( - vertical.clone().contain({ w: 6, h: 6, align: alignValue }) + vertical.clone().contain({ w: 6, h: 6, align: alignValue }), ).toMatchSnapshot(); }); test("horizontal contain aligned to " + align, () => { expect( - horizontal.clone().contain({ w: 6, h: 6, align: alignValue }) + horizontal.clone().contain({ w: 6, h: 6, align: alignValue }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-cover/.eslintrc.cjs b/plugins/plugin-cover/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-cover/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-cover/eslint.config.mjs b/plugins/plugin-cover/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-cover/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-cover/package.json b/plugins/plugin-cover/package.json index c7ba506e2..bead39254 100644 --- a/plugins/plugin-cover/package.json +++ b/plugins/plugin-cover/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-cover", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -17,19 +20,19 @@ "@jimp/plugin-crop": "workspace:*", "@jimp/plugin-resize": "workspace:*", "@jimp/types": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-cover/src/index.test.ts b/plugins/plugin-cover/src/index.test.ts index b97ac6028..df4bc5289 100644 --- a/plugins/plugin-cover/src/index.test.ts +++ b/plugins/plugin-cover/src/index.test.ts @@ -20,8 +20,8 @@ describe("All align combinations for cover", () => { "▾▾▾▾◆◆◆◆", "▾▾▾▾◆◆◆◆", "▾▾▾▾◆◆◆◆", - "▾▾▾▾◆◆◆◆" - ) + "▾▾▾▾◆◆◆◆", + ), ); const horizontal = jimp.fromBitmap( @@ -33,8 +33,8 @@ describe("All align combinations for cover", () => { "▾▾▾▾▾▾◆◆◆◆◆◆", "▾▾▾▾▾▾◆◆◆◆◆◆", "▾▾▾▾▾▾◆◆◆◆◆◆", - "▾▾▾▾▾▾◆◆◆◆◆◆" - ) + "▾▾▾▾▾▾◆◆◆◆◆◆", + ), ); const tests: Array< @@ -61,13 +61,13 @@ describe("All align combinations for cover", () => { test("vertical contain aligned to " + align, () => { expect( - vertical.clone().cover({ w: 4, h: 4, align: alignValue }) + vertical.clone().cover({ w: 4, h: 4, align: alignValue }), ).toMatchSnapshot(); }); test("horizontal contain aligned to " + align, () => { expect( - horizontal.clone().cover({ w: 4, h: 4, align: alignValue }) + horizontal.clone().cover({ w: 4, h: 4, align: alignValue }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-crop/.eslintrc.cjs b/plugins/plugin-crop/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-crop/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-crop/eslint.config.mjs b/plugins/plugin-crop/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-crop/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-crop/package.json b/plugins/plugin-crop/package.json index 3c7d8eecf..4982e701a 100644 --- a/plugins/plugin-crop/package.json +++ b/plugins/plugin-crop/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-crop", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -16,20 +19,20 @@ "@jimp/core": "workspace:*", "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-crop/src/autocrop.test.ts b/plugins/plugin-crop/src/autocrop.test.ts index 08735f853..d81abd4f8 100644 --- a/plugins/plugin-crop/src/autocrop.test.ts +++ b/plugins/plugin-crop/src/autocrop.test.ts @@ -16,8 +16,8 @@ describe("Autocrop", () => { " ◆▦▦▦▦◆ ", " ◆▦▦◆ ", " ◆◆ ", - " " - ) + " ", + ), ); expect(imgSrc.autocrop()).toMatchSnapshot(); @@ -32,8 +32,8 @@ describe("Autocrop", () => { "▥▥◆▦▦▦▦◆▥▥", "▥▥▥◆▦▦◆▥▥▥", "▥▥▥▥◆◆▥▥▥▥", - "▥▥▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥▥▥", + ), ); expect(imgSrc.autocrop()).toMatchSnapshot(); @@ -50,8 +50,8 @@ describe("Autocrop", () => { "▥▥ ◆▦▦◆ ▥▥", "▥▥ ◆◆ ▥▥", "▥▥▥▥▥▥▥▥▥▥▥▥", - "▥▥▥▥▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥▥▥▥▥", + ), ); expect(imgSrc.autocrop()).toMatchSnapshot(); @@ -68,8 +68,8 @@ describe("Autocrop", () => { "23 ◆▦▦◆ 23", "32 ◆◆ 32", "232323232323", - "323232323232" - ) + "323232323232", + ), ); expect(imgSrc.clone().autocrop()).toMatchSnapshot(); expect(imgSrc.clone().autocrop(0.005)).toMatchSnapshot(); @@ -86,8 +86,8 @@ describe("Autocrop", () => { "23 ◆▦▦◆ 23", "32 ◆◆ 32", "232323232323", - "323232323232" - ) + "323232323232", + ), ); expect(imgSrc.clone().autocrop()).toMatchSnapshot(); expect(imgSrc.clone().autocrop({ tolerance: 0.005 })).toMatchSnapshot(); @@ -102,8 +102,8 @@ describe("Autocrop", () => { "▥▥ ◆▦▦◆ ", "▥▥ ◆◆ ", "▥▥▥▥▥▥▥▥▥▥", - "▥▥▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥▥▥", + ), ); expect(imgSrc.autocrop({ cropOnlyFrames: false })).toMatchSnapshot(); @@ -118,8 +118,8 @@ describe("Autocrop", () => { "▥▥ ◆▦▦◆ ", "▥▥ ◆◆ ", "▥▥▥▥▥▥▥▥▥▥", - "▥▥▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥▥▥", + ), ); expect(imgSrc.autocrop({ cropOnlyFrames: false })).toMatchSnapshot(); @@ -135,8 +135,8 @@ describe("Autocrop", () => { "▥▥ ◆▦▦◆ ▥▥▥▥", "▥▥ ◆◆ ▥▥▥▥", "▥▥▥▥▥▥▥▥▥▥▥▥▥▥", - "▥▥▥▥▥▥▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥▥▥▥▥▥▥", + ), ); expect(imgSrc.autocrop({ cropSymmetric: true })).toMatchSnapshot(); @@ -151,11 +151,11 @@ describe("Autocrop", () => { "▥▥ ◆▦▦◆ ▥▥▥▥", "▥▥ ◆◆ ▥▥▥▥", "▥▥▥▥▥▥▥▥▥▥▥▥▥▥", - "▥▥▥▥▥▥▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥▥▥▥▥▥▥", + ), ); expect( - imgSrc.autocrop({ cropSymmetric: true, cropOnlyFrames: false }) + imgSrc.autocrop({ cropSymmetric: true, cropOnlyFrames: false }), ).toMatchSnapshot(); }); @@ -170,15 +170,15 @@ describe("Autocrop", () => { "23 ◆▦▦◆ 23", "32 ◆◆ 32", "232323232323", - "323232323232" - ) + "323232323232", + ), ); expect( imgSrc.autocrop({ tolerance: 0.005, leaveBorder: 1, - }) + }), ).toMatchSnapshot(); }); @@ -193,14 +193,14 @@ describe("Autocrop", () => { "23 ◆▦▦◆ 23", "32 ◆◆ 32", "232323232323", - "323232323232" - ) + "323232323232", + ), ); expect( imgSrc.autocrop({ tolerance: 0.005, leaveBorder: 100, - }) + }), ).toMatchSnapshot(); }); @@ -217,15 +217,15 @@ describe("Autocrop", () => { " ◆◆ ", "▥▥▥▥▥▥▥▥", "▥▥▥▥▥▥▥▥", - "▥▥▥▥▥▥▥▥" - ) + "▥▥▥▥▥▥▥▥", + ), ); expect( imgSrc.autocrop({ cropSymmetric: true, cropOnlyFrames: false, leaveBorder: 2, - }) + }), ).toMatchSnapshot(); }); @@ -238,11 +238,11 @@ describe("Autocrop", () => { " ◆▦▦▦▦◆ ", " ◆▦▦◆ ", " ◆◆ ", - " " - ) + " ", + ), ); expect( - imgSrc.autocrop({ cropOnlyFrames: false, ignoreSides: { north: true } }) + imgSrc.autocrop({ cropOnlyFrames: false, ignoreSides: { north: true } }), ).toMatchSnapshot(); }); @@ -255,15 +255,15 @@ describe("Autocrop", () => { " ◆▦▦▦▦◆ ", " ◆▦▦◆ ", " ◆◆ ", - " " - ) + " ", + ), ); expect( imgSrc.autocrop({ cropOnlyFrames: false, ignoreSides: { west: true, south: true }, - }) + }), ).toMatchSnapshot(); }); @@ -276,12 +276,12 @@ describe("Autocrop", () => { " ◆▦▦▦▦◆ ", " ◆▦▦◆ ", " ◆◆ ", - " " - ) + " ", + ), ); expect( - imgSrc.autocrop({ cropOnlyFrames: false, ignoreSides: { east: true } }) + imgSrc.autocrop({ cropOnlyFrames: false, ignoreSides: { east: true } }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-crop/src/crop.test.ts b/plugins/plugin-crop/src/crop.test.ts index fff1a9bac..eb81e1c78 100644 --- a/plugins/plugin-crop/src/crop.test.ts +++ b/plugins/plugin-crop/src/crop.test.ts @@ -13,42 +13,42 @@ describe("crop", () => { " ◆▦▦◆ ", "◆▦▦▦▦◆", " ◆▦▦◆ ", - " ◆◆ " + " ◆◆ ", ); test("full width from top", () => { expect( - jimp.fromBitmap(testImage).crop({ x: 0, y: 0, w: 6, h: 2 }) + jimp.fromBitmap(testImage).crop({ x: 0, y: 0, w: 6, h: 2 }), ).toMatchSnapshot(); }); test("full width from bottom", () => { expect( - jimp.fromBitmap(testImage).crop({ x: 0, y: 3, w: 6, h: 2 }) + jimp.fromBitmap(testImage).crop({ x: 0, y: 3, w: 6, h: 2 }), ).toMatchSnapshot(); }); test("full width from middle", () => { expect( - jimp.fromBitmap(testImage).crop({ x: 0, y: 2, w: 6, h: 2 }) + jimp.fromBitmap(testImage).crop({ x: 0, y: 2, w: 6, h: 2 }), ).toMatchSnapshot(); }); test("full height from left", () => { expect( - jimp.fromBitmap(testImage).crop({ x: 0, y: 0, w: 2, h: 5 }) + jimp.fromBitmap(testImage).crop({ x: 0, y: 0, w: 2, h: 5 }), ).toMatchSnapshot(); }); test("full height from right", () => { expect( - jimp.fromBitmap(testImage).crop({ x: 4, y: 0, w: 2, h: 5 }) + jimp.fromBitmap(testImage).crop({ x: 4, y: 0, w: 2, h: 5 }), ).toMatchSnapshot(); }); test("full height from middle", () => { expect( - jimp.fromBitmap(testImage).crop({ x: 2, y: 0, w: 2, h: 5 }) + jimp.fromBitmap(testImage).crop({ x: 2, y: 0, w: 2, h: 5 }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-crop/src/index.ts b/plugins/plugin-crop/src/index.ts index 268866cbb..e4d0dba7b 100644 --- a/plugins/plugin-crop/src/index.ts +++ b/plugins/plugin-crop/src/index.ts @@ -1,5 +1,3 @@ -/* eslint-disable no-labels */ - import { JimpClass } from "@jimp/types"; import { colorDiff, intToRGBA, scan } from "@jimp/utils"; import { z } from "zod"; @@ -35,15 +33,11 @@ const AutocropComplexOptionsSchema = z.object({ }) .optional(), }); -const AutocropOptionsSchema = z.union([ - z.number().min(0).max(1), - AutocropComplexOptionsSchema, -]); export type AutocropComplexOptions = z.infer< typeof AutocropComplexOptionsSchema >; -export type AutocropOptions = z.infer; +export type AutocropOptions = number | AutocropComplexOptions; export const methods = { /** @@ -111,13 +105,13 @@ export const methods = { ignoreSides: ignoreSidesArg, } = typeof options === "number" ? ({ tolerance: options } as AutocropComplexOptions) - : options; + : AutocropComplexOptionsSchema.parse(options); const w = image.bitmap.width; const h = image.bitmap.height; const minPixelsPerSide = 1; // to avoid cropping completely the image, resulting in an invalid 0 sized image // i.e. north and south / east and west are cropped by the same value - let ignoreSides = { + const ignoreSides = { north: false, south: false, east: false, diff --git a/plugins/plugin-displace/.eslintrc.cjs b/plugins/plugin-displace/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-displace/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-displace/eslint.config.mjs b/plugins/plugin-displace/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-displace/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-displace/package.json b/plugins/plugin-displace/package.json index 6c45a329d..239a810da 100644 --- a/plugins/plugin-displace/package.json +++ b/plugins/plugin-displace/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-displace", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "build": "tshy", @@ -13,15 +16,15 @@ "dependencies": { "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-dither/.eslintrc.cjs b/plugins/plugin-dither/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-dither/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-dither/eslint.config.mjs b/plugins/plugin-dither/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-dither/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-dither/package.json b/plugins/plugin-dither/package.json index bd584d65f..58e063c25 100644 --- a/plugins/plugin-dither/package.json +++ b/plugins/plugin-dither/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-dither", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "build": "tshy", @@ -16,10 +19,10 @@ "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-dither/src/index.ts b/plugins/plugin-dither/src/index.ts index 2701f29b3..230936c7c 100644 --- a/plugins/plugin-dither/src/index.ts +++ b/plugins/plugin-dither/src/index.ts @@ -24,11 +24,11 @@ export const methods = { image.bitmap.data[idx] = Math.min(image.bitmap.data[idx]! + dither, 0xff); image.bitmap.data[idx + 1] = Math.min( image.bitmap.data[idx + 1]! + dither, - 0xff + 0xff, ); image.bitmap.data[idx + 2] = Math.min( image.bitmap.data[idx + 2]! + dither, - 0xff + 0xff, ); }); diff --git a/plugins/plugin-fisheye/.eslintrc.cjs b/plugins/plugin-fisheye/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-fisheye/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-fisheye/eslint.config.mjs b/plugins/plugin-fisheye/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-fisheye/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-fisheye/package.json b/plugins/plugin-fisheye/package.json index 8527a9129..82ef92a3d 100644 --- a/plugins/plugin-fisheye/package.json +++ b/plugins/plugin-fisheye/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-fisheye", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -15,7 +18,7 @@ "dependencies": { "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", @@ -23,12 +26,12 @@ "@jimp/config-vitest": "workspace:*", "@jimp/core": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-fisheye/src/index.test.ts b/plugins/plugin-fisheye/src/index.test.ts index f23fdf4a7..ad3f39597 100644 --- a/plugins/plugin-fisheye/src/index.test.ts +++ b/plugins/plugin-fisheye/src/index.test.ts @@ -20,8 +20,8 @@ describe("Fisheye", () => { "0122112210", "0022222200", "0001221000", - "0000000000" - ) + "0000000000", + ), ); expect(img.fisheye()).toMatchSnapshot(); @@ -39,8 +39,8 @@ describe("Fisheye", () => { "0000000000", "0000000000", "0000000000", - "0000000000" - ) + "0000000000", + ), ); expect(imgNormal.fisheye({ radius: 1.8 })).toMatchSnapshot(); diff --git a/plugins/plugin-fisheye/src/index.ts b/plugins/plugin-fisheye/src/index.ts index ced41505b..756f72397 100644 --- a/plugins/plugin-fisheye/src/index.ts +++ b/plugins/plugin-fisheye/src/index.ts @@ -44,7 +44,7 @@ export const methods = { image.setPixelColor( source.getPixelColor(width / 2, height / 2), width / 2, - height / 2 + height / 2, ); return image; diff --git a/plugins/plugin-flip/.eslintrc.cjs b/plugins/plugin-flip/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-flip/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-flip/eslint.config.mjs b/plugins/plugin-flip/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-flip/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-flip/package.json b/plugins/plugin-flip/package.json index 1263d5235..a88dd2bd6 100644 --- a/plugins/plugin-flip/package.json +++ b/plugins/plugin-flip/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-flip", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -14,7 +17,7 @@ "license": "MIT", "dependencies": { "@jimp/types": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", @@ -22,13 +25,13 @@ "@jimp/config-vitest": "workspace:*", "@jimp/core": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-flip/src/index.test.ts b/plugins/plugin-flip/src/index.test.ts index b2313a7d8..cd954412b 100644 --- a/plugins/plugin-flip/src/index.test.ts +++ b/plugins/plugin-flip/src/index.test.ts @@ -16,8 +16,8 @@ describe("Flipping plugin", () => { "CCCCCCCC", "CCCCCCCC", "CCCCCCCC", - "AACCCCAA" - ) + "AACCCCAA", + ), ); expect(src.flip({ horizontal: true })).toMatchSnapshot(); @@ -32,8 +32,8 @@ describe("Flipping plugin", () => { "CCCCCCCC", "CCCCCCCC", "CCCCCCCC", - "AACCCCAA" - ) + "AACCCCAA", + ), ); expect(src.flip({ vertical: true })).toMatchSnapshot(); @@ -48,8 +48,8 @@ describe("Flipping plugin", () => { "CCCCCCCC", "CCCCCCCC", "CCCCCCCC", - "AACCCCAA" - ) + "AACCCCAA", + ), ); expect(src.flip({ horizontal: true, vertical: true })).toMatchSnapshot(); diff --git a/plugins/plugin-hash/.eslintrc.cjs b/plugins/plugin-hash/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-hash/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-hash/eslint.config.mjs b/plugins/plugin-hash/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-hash/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-hash/package.json b/plugins/plugin-hash/package.json index a756bdcb6..661f34f2c 100644 --- a/plugins/plugin-hash/package.json +++ b/plugins/plugin-hash/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-hash", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -18,12 +21,12 @@ "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", "@types/any-base": "^1.1.3", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", - "tshy": "^1.12.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", + "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "dependencies": { "@jimp/core": "workspace:*", @@ -65,5 +68,6 @@ "publishConfig": { "access": "public" }, - "sideEffects": false + "sideEffects": false, + "module": "./dist/esm/index.js" } diff --git a/plugins/plugin-hash/src/index.test.ts b/plugins/plugin-hash/src/index.test.ts index 304ae35b7..003ff0f0a 100644 --- a/plugins/plugin-hash/src/index.test.ts +++ b/plugins/plugin-hash/src/index.test.ts @@ -18,7 +18,7 @@ describe("hash", () => { const image = await Jimp.read(getTestImagePath("dice.png")); expect(image.hash(2)).toBe( - "1100010000011111011010111110000000010101001011010101101000010010" + "1100010000011111011010111110000000010101001011010101101000010010", ); }); diff --git a/plugins/plugin-hash/src/index.ts b/plugins/plugin-hash/src/index.ts index a09cab6b8..7afe2341b 100644 --- a/plugins/plugin-hash/src/index.ts +++ b/plugins/plugin-hash/src/index.ts @@ -16,7 +16,7 @@ const maxHashLength = [NaN, NaN]; for (let i = 2; i < 65; i++) { const maxHash = anyBase( anyBase.BIN, - alphabet.slice(0, i) + alphabet.slice(0, i), )(new Array(64 + 1).join("1")); maxHashLength.push(maxHash.length); } diff --git a/plugins/plugin-mask/.eslintrc.cjs b/plugins/plugin-mask/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-mask/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-mask/eslint.config.mjs b/plugins/plugin-mask/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-mask/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-mask/package.json b/plugins/plugin-mask/package.json index 8086b35c8..27627a808 100644 --- a/plugins/plugin-mask/package.json +++ b/plugins/plugin-mask/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-mask", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -14,7 +17,7 @@ "license": "MIT", "dependencies": { "@jimp/types": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", @@ -22,12 +25,12 @@ "@jimp/config-vitest": "workspace:*", "@jimp/core": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-mask/src/index.test.ts b/plugins/plugin-mask/src/index.test.ts index 6114522eb..e824c590c 100644 --- a/plugins/plugin-mask/src/index.test.ts +++ b/plugins/plugin-mask/src/index.test.ts @@ -15,7 +15,7 @@ describe("Mask", () => { "■▴■▾■□", "■□▴□▾□", "■□■▴■▾" - ) + ), ); const imgSrcAlpa = jimp.fromBitmap( // prettier-ignore @@ -23,7 +23,7 @@ describe("Mask", () => { "▴▵▾▿", "▴▵▾▿", "▴▵▾▿" - ) + ), ); const maskGrayBig = jimp.fromBitmap( // prettier-ignore @@ -32,7 +32,7 @@ describe("Mask", () => { "8CFFC8", "8CFFC8", "048840" - ) + ), ); const maskGraySmall = jimp.fromBitmap( // prettier-ignore @@ -40,7 +40,7 @@ describe("Mask", () => { "0369", "369C", "69CF" - ) + ), ); const maskColor = jimp.fromBitmap( // prettier-ignore @@ -48,7 +48,7 @@ describe("Mask", () => { "▴▴▾▾", "▪▪▰▰", "□□□□" - ) + ), ); test("Affect opaque image with a gray mask with the same size", () => { @@ -57,13 +57,13 @@ describe("Mask", () => { test("Affect opaque image with a gray mask with the same size, blited", () => { expect( - imgSrcOpaq.clone().mask({ src: maskGrayBig, x: 1, y: 1 }) + imgSrcOpaq.clone().mask({ src: maskGrayBig, x: 1, y: 1 }), ).toMatchSnapshot(); }); test("Affect opaque image with a gray mask with the same size, blited negative", () => { expect( - imgSrcOpaq.clone().mask({ src: maskGrayBig, x: -1, y: -1 }) + imgSrcOpaq.clone().mask({ src: maskGrayBig, x: -1, y: -1 }), ).toMatchSnapshot(); }); @@ -73,7 +73,7 @@ describe("Mask", () => { test("Affect opaque image with a smaller gray mask, blited", () => { expect( - imgSrcOpaq.clone().mask({ src: maskGraySmall, x: 1, y: 1 }) + imgSrcOpaq.clone().mask({ src: maskGraySmall, x: 1, y: 1 }), ).toMatchSnapshot(); }); @@ -83,13 +83,13 @@ describe("Mask", () => { test("Affect alpha image with a bigger gray mask, blited", () => { expect( - imgSrcAlpa.clone().mask({ src: maskGrayBig, x: -1, y: -1 }) + imgSrcAlpa.clone().mask({ src: maskGrayBig, x: -1, y: -1 }), ).toMatchSnapshot(); }); test("Affect opaque image with a colored mask", () => { expect( - imgSrcOpaq.clone().mask({ src: maskColor, x: 1, y: 1 }) + imgSrcOpaq.clone().mask({ src: maskColor, x: 1, y: 1 }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-print/.eslintrc.cjs b/plugins/plugin-print/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-print/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-print/eslint.config.mjs b/plugins/plugin-print/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-print/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-print/package.json b/plugins/plugin-print/package.json index 3ffad9094..0c7dbc2a0 100644 --- a/plugins/plugin-print/package.json +++ b/plugins/plugin-print/package.json @@ -1,7 +1,10 @@ { "name": "@jimp/plugin-print", - "version": "1.1.2", + "version": "1.1.1", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "sideEffects": false, "scripts": { "lint": "eslint .", @@ -17,11 +20,11 @@ "@jimp/config-typescript": "workspace:*", "@jimp/js-png": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ @@ -79,7 +82,7 @@ "parse-bmfont-ascii": "^1.0.6", "parse-bmfont-binary": "^1.0.6", "parse-bmfont-xml": "^1.1.6", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "publishConfig": { "access": "public" diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-max-width-works-without-spaces-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-max-width-works-without-spaces-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-max-width-works-without-spaces-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-max-width-works-without-spaces-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png similarity index 100% rename from plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png rename to plugins/plugin-print/src/__image_snapshots__/index-node-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png deleted file mode 100644 index ff7a00a1a..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png deleted file mode 100644 index 6298192d3..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-bottom-align-text-when-passing-object-with-alignment-y-offset-y-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png deleted file mode 100644 index 602f576b3..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-center-align-text-when-passing-object-with-alignment-x-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png deleted file mode 100644 index f6422e481..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-exposes-print-y-position-in-cb-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png deleted file mode 100644 index 46f01d7c2..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-can-print-numbers-too-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png deleted file mode 100644 index be11559a7..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-loads-font-from-url-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png deleted file mode 100644 index 411b0d71e..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png deleted file mode 100644 index be11559a7..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-black-bitmap-font-positioned-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png deleted file mode 100644 index 44a7e4e83..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-16-white-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png deleted file mode 100644 index 6ae08ce68..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-32-black-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png deleted file mode 100644 index 580aa7121..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-32-white-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png deleted file mode 100644 index a263ab239..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-64-black-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png deleted file mode 100644 index 1573052d0..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-64-white-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png deleted file mode 100644 index 676789a1c..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-8-black-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png deleted file mode 100644 index 4af9115d8..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-preset-sans-8-white-bitmap-font-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png deleted file mode 100644 index 2ae9ff596..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-jimp-renders-for-unknown-characters-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png deleted file mode 100644 index 5d919cd3a..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-by-default-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png deleted file mode 100644 index 5d919cd3a..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-by-default-when-passing-object-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png deleted file mode 100644 index 5d919cd3a..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-left-align-text-when-passing-object-with-alignment-x-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png deleted file mode 100644 index 214e23b2e..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png deleted file mode 100644 index d6eec20b1..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-middle-align-text-when-passing-object-with-alignment-y-can-offset-y-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png deleted file mode 100644 index 77651496d..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-right-align-text-when-passing-object-with-alignment-x-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png b/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png deleted file mode 100644 index 8da2d115a..000000000 Binary files a/plugins/plugin-print/src/__image_snapshots__/index-test-ts-src-index-test-ts-write-text-over-image-text-with-newlines-default-alignment-1-snap.png and /dev/null differ diff --git a/plugins/plugin-print/src/fonts.ts b/plugins/plugin-print/src/fonts.ts index 4b062bb67..7129f9214 100644 --- a/plugins/plugin-print/src/fonts.ts +++ b/plugins/plugin-print/src/fonts.ts @@ -5,65 +5,65 @@ const dir = path.join(dirname, "../"); export const SANS_8_BLACK = path.join( dir, - "fonts/open-sans/open-sans-8-black/open-sans-8-black.fnt" + "fonts/open-sans/open-sans-8-black/open-sans-8-black.fnt", ); export const SANS_10_BLACK = path.join( dir, - "fonts/open-sans/open-sans-10-black/open-sans-10-black.fnt" + "fonts/open-sans/open-sans-10-black/open-sans-10-black.fnt", ); export const SANS_12_BLACK = path.join( dir, - "fonts/open-sans/open-sans-12-black/open-sans-12-black.fnt" + "fonts/open-sans/open-sans-12-black/open-sans-12-black.fnt", ); export const SANS_14_BLACK = path.join( dir, - "fonts/open-sans/open-sans-14-black/open-sans-14-black.fnt" + "fonts/open-sans/open-sans-14-black/open-sans-14-black.fnt", ); export const SANS_16_BLACK = path.join( dir, - "fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt" + "fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt", ); export const SANS_32_BLACK = path.join( dir, - "fonts/open-sans/open-sans-32-black/open-sans-32-black.fnt" + "fonts/open-sans/open-sans-32-black/open-sans-32-black.fnt", ); export const SANS_64_BLACK = path.join( dir, - "fonts/open-sans/open-sans-64-black/open-sans-64-black.fnt" + "fonts/open-sans/open-sans-64-black/open-sans-64-black.fnt", ); export const SANS_128_BLACK = path.join( dir, - "fonts/open-sans/open-sans-128-black/open-sans-128-black.fnt" + "fonts/open-sans/open-sans-128-black/open-sans-128-black.fnt", ); export const SANS_8_WHITE = path.join( dir, - "fonts/open-sans/open-sans-8-white/open-sans-8-white.fnt" + "fonts/open-sans/open-sans-8-white/open-sans-8-white.fnt", ); export const SANS_16_WHITE = path.join( dir, - "fonts/open-sans/open-sans-16-white/open-sans-16-white.fnt" + "fonts/open-sans/open-sans-16-white/open-sans-16-white.fnt", ); export const SANS_32_WHITE = path.join( dir, - "fonts/open-sans/open-sans-32-white/open-sans-32-white.fnt" + "fonts/open-sans/open-sans-32-white/open-sans-32-white.fnt", ); export const SANS_64_WHITE = path.join( dir, - "fonts/open-sans/open-sans-64-white/open-sans-64-white.fnt" + "fonts/open-sans/open-sans-64-white/open-sans-64-white.fnt", ); export const SANS_128_WHITE = path.join( dir, - "fonts/open-sans/open-sans-128-white/open-sans-128-white.fnt" + "fonts/open-sans/open-sans-128-white/open-sans-128-white.fnt", ); diff --git a/plugins/plugin-print/src/index.node.test.ts b/plugins/plugin-print/src/index.node.test.ts index bebf627cb..ac28b34e3 100644 --- a/plugins/plugin-print/src/index.node.test.ts +++ b/plugins/plugin-print/src/index.node.test.ts @@ -32,7 +32,7 @@ async function createTextImage( maxHeight?: number; x?: number; y?: number; - } + }, ) { const loadedFont = await loadFont(font); const image = new Jimp({ width, height, color: 0xffffffff }); @@ -93,7 +93,7 @@ describe("Write text over image", function () { test("Jimp loads font from URL", async () => { const font = await loadFont( - "https://raw.githubusercontent.com/jimp-dev/jimp/main/plugins/plugin-print/fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt" + "https://raw.githubusercontent.com/jimp-dev/jimp/main/plugins/plugin-print/fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt", ); const image = new Jimp({ width: 300, height: 100, color: 0xff8800ff }); const output = await image @@ -111,7 +111,7 @@ describe("Write text over image", function () { test("Max width works without spaces", async () => { const font = await loadFont( - "https://raw.githubusercontent.com/jimp-dev/jimp/main/plugins/plugin-print/fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt" + "https://raw.githubusercontent.com/jimp-dev/jimp/main/plugins/plugin-print/fonts/open-sans/open-sans-16-black/open-sans-16-black.fnt", ); const image = new Jimp({ width: 300, height: 100, color: 0xff8800ff }); const output = await image diff --git a/plugins/plugin-print/src/index.ts b/plugins/plugin-print/src/index.ts index 7510eff72..5aa0364ae 100644 --- a/plugins/plugin-print/src/index.ts +++ b/plugins/plugin-print/src/index.ts @@ -39,7 +39,7 @@ function xOffsetBasedOnAlignment( font: BmFont, line: string, maxWidth: number, - alignment: HorizontalAlign + alignment: HorizontalAlign, ) { if (alignment === HorizontalAlign.LEFT) { return 0; @@ -57,7 +57,7 @@ function drawCharacter( font: BmFont, x: number, y: number, - char: BmCharacter + char: BmCharacter, ) { if (char.width > 0 && char.height > 0) { const characterPage = font.pages[char.page]; @@ -84,7 +84,7 @@ function printText( x: number, y: number, text: string, - defaultCharWidth: number + defaultCharWidth: number, ) { for (let i = 0; i < text.length; i++) { const stringChar = text[i]!; @@ -141,7 +141,7 @@ export const methods = { }: PrintOptions & { /** the BMFont instance */ font: BmFont; - } + }, ) { let { // eslint-disable-next-line prefer-const @@ -184,7 +184,7 @@ export const methods = { } const defaultCharWidth = Object.entries(font.chars).find( - (c) => c[1].xadvance + (c) => c[1].xadvance, )?.[1].xadvance; if (typeof defaultCharWidth !== "number") { @@ -199,7 +199,7 @@ export const methods = { font, lineString, maxWidth, - alignmentX + alignmentX, ); printText( @@ -208,7 +208,7 @@ export const methods = { x + alignmentWidth, y, lineString, - defaultCharWidth + defaultCharWidth, ); y += font.common.lineHeight; }); diff --git a/plugins/plugin-print/src/load-bitmap-font.ts b/plugins/plugin-print/src/load-bitmap-font.ts index 09bc6b05c..c7bdf2e34 100644 --- a/plugins/plugin-print/src/load-bitmap-font.ts +++ b/plugins/plugin-print/src/load-bitmap-font.ts @@ -22,7 +22,7 @@ function isBinary(buf: Buffer | string) { function parseFont( file: string, - data: Buffer | string + data: Buffer | string, ): { chars: BmCharacter[]; kernings: BmKerning[]; @@ -71,7 +71,7 @@ async function loadBitmapFontData(bufferOrUrl: string | Buffer) { type RawFont = Awaited>; export async function loadBitmapFont( - bufferOrUrl: string | Buffer + bufferOrUrl: string | Buffer, ): Promise & Pick> { const font = await loadBitmapFontData(bufferOrUrl); const chars: Record = {}; diff --git a/plugins/plugin-print/src/load-font.ts b/plugins/plugin-print/src/load-font.ts index 57b09bda2..40ace14ec 100644 --- a/plugins/plugin-print/src/load-font.ts +++ b/plugins/plugin-print/src/load-font.ts @@ -37,8 +37,8 @@ export async function loadFont(file: string) { ...font, pages: await Promise.all( font.pages.map(async (page) => - CharacterJimp.read(path.join(path.dirname(file), page)) - ) + CharacterJimp.read(path.join(path.dirname(file), page)), + ), ), }; } diff --git a/plugins/plugin-print/src/measure-text.ts b/plugins/plugin-print/src/measure-text.ts index 0f6cf999c..ddd74cebf 100644 --- a/plugins/plugin-print/src/measure-text.ts +++ b/plugins/plugin-print/src/measure-text.ts @@ -84,7 +84,7 @@ export function splitLines(font: BmFont, text: string, maxWidth: number) { export function measureTextHeight( font: BmFont, text: string, - maxWidth: number + maxWidth: number, ) { const { lines } = splitLines(font, text, maxWidth); diff --git a/plugins/quantize/CHANGELOG.md b/plugins/plugin-quantize/CHANGELOG.md similarity index 100% rename from plugins/quantize/CHANGELOG.md rename to plugins/plugin-quantize/CHANGELOG.md diff --git a/plugins/quantize/README.md b/plugins/plugin-quantize/README.md similarity index 100% rename from plugins/quantize/README.md rename to plugins/plugin-quantize/README.md diff --git a/plugins/plugin-quantize/eslint.config.mjs b/plugins/plugin-quantize/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-quantize/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/quantize/package.json b/plugins/plugin-quantize/package.json similarity index 92% rename from plugins/quantize/package.json rename to plugins/plugin-quantize/package.json index 124623b1a..e7249324d 100644 --- a/plugins/quantize/package.json +++ b/plugins/plugin-quantize/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-quantize", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -19,10 +22,10 @@ "@jimp/js-png": "workspace:*", "@jimp/test-utils": "workspace:*", "@jimp/types": "workspace:*", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [ @@ -55,7 +58,7 @@ "sideEffects": false, "dependencies": { "image-q": "^4.0.0", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "module": "./dist/esm/index.js" } diff --git a/plugins/quantize/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-quantize-defines-default-threshold-for-lighter-backgrounds-1-snap.png b/plugins/plugin-quantize/src/__image_snapshots__/index-node-test-ts-quantize-defines-default-threshold-for-lighter-backgrounds-1-snap.png similarity index 100% rename from plugins/quantize/src/__image_snapshots__/index-node-test-ts-src-index-node-test-ts-quantize-defines-default-threshold-for-lighter-backgrounds-1-snap.png rename to plugins/plugin-quantize/src/__image_snapshots__/index-node-test-ts-quantize-defines-default-threshold-for-lighter-backgrounds-1-snap.png diff --git a/plugins/quantize/src/images/colorful.png b/plugins/plugin-quantize/src/images/colorful.png similarity index 100% rename from plugins/quantize/src/images/colorful.png rename to plugins/plugin-quantize/src/images/colorful.png diff --git a/plugins/quantize/src/index.node.test.ts b/plugins/plugin-quantize/src/index.node.test.ts similarity index 100% rename from plugins/quantize/src/index.node.test.ts rename to plugins/plugin-quantize/src/index.node.test.ts diff --git a/plugins/quantize/src/index.ts b/plugins/plugin-quantize/src/index.ts similarity index 93% rename from plugins/quantize/src/index.ts rename to plugins/plugin-quantize/src/index.ts index 09c874b9d..246499ff6 100644 --- a/plugins/quantize/src/index.ts +++ b/plugins/plugin-quantize/src/index.ts @@ -50,15 +50,14 @@ export const methods = { /** * Image color number reduction. */ - quantize( - image: I, - { + quantize(image: I, options: QuantizeOptions) { + const { colors, colorDistanceFormula, paletteQuantization, imageQuantization, - }: QuantizeOptions - ) { + } = QuantizeOptionsSchema.parse(options); + const inPointContainer = utils.PointContainer.fromUint8Array( image.bitmap.data, image.bitmap.width, diff --git a/plugins/quantize/tsconfig.json b/plugins/plugin-quantize/tsconfig.json similarity index 100% rename from plugins/quantize/tsconfig.json rename to plugins/plugin-quantize/tsconfig.json diff --git a/plugins/plugin-resize/.eslintrc.cjs b/plugins/plugin-resize/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-resize/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-resize/eslint.config.mjs b/plugins/plugin-resize/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-resize/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-resize/package.json b/plugins/plugin-resize/package.json index 161d75141..fd488b0c2 100644 --- a/plugins/plugin-resize/package.json +++ b/plugins/plugin-resize/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-resize", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -15,20 +18,20 @@ "dependencies": { "@jimp/core": "workspace:*", "@jimp/types": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-resize/src/index.test.ts b/plugins/plugin-resize/src/index.test.ts index 1090337e0..add703737 100644 --- a/plugins/plugin-resize/src/index.test.ts +++ b/plugins/plugin-resize/src/index.test.ts @@ -85,7 +85,7 @@ describe("Resize images", () => { describe(image.title, () => { image.tests.forEach(({ mode: modeType, size }) => { test(`to ${modeType} ${size.width}x${size.height}`, () => { - const mode = (ResizeStrategy as any)[modeType]; + const mode = ResizeStrategy[modeType as keyof typeof ResizeStrategy]; expect( image.src.clone().resize({ diff --git a/plugins/plugin-resize/src/index.ts b/plugins/plugin-resize/src/index.ts index d21523790..2b4bc7348 100644 --- a/plugins/plugin-resize/src/index.ts +++ b/plugins/plugin-resize/src/index.ts @@ -21,7 +21,7 @@ interface ResizeClass { resize(buffer: Buffer): void; } -type Constructable = new (...args: any[]) => T; +type Constructable = new (...args: unknown[]) => T; const ResizeOptionsSchema = z.union([ z.object({ @@ -63,9 +63,7 @@ const ScaleComplexOptionsSchema = z.object({ }); export type ScaleComplexOptions = z.infer; - -const ScaleOptionsSchema = z.union([z.number(), ScaleComplexOptionsSchema]); -export type ScaleOptions = z.infer; +export type ScaleOptions = number | ScaleComplexOptions; export const methods = { /** diff --git a/plugins/plugin-resize/src/modules/resize.ts b/plugins/plugin-resize/src/modules/resize.ts index 71792ecea..ae1512ed4 100644 --- a/plugins/plugin-resize/src/modules/resize.ts +++ b/plugins/plugin-resize/src/modules/resize.ts @@ -1,3 +1,4 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-nocheck // JavaScript Image Resizer (c) 2012 - Grant Galitz @@ -526,6 +527,7 @@ Resize.prototype.generateFloatBuffer = function (bufferLength) { try { return new Float32Array(bufferLength); } catch (error) { + console.error(error); return []; } }; @@ -535,6 +537,7 @@ Resize.prototype.generateFloat64Buffer = function (bufferLength) { try { return new Float64Array(bufferLength); } catch (error) { + console.error(error); return []; } }; @@ -544,6 +547,7 @@ Resize.prototype.generateUint8Buffer = function (bufferLength) { try { return new Uint8Array(bufferLength); } catch (error) { + console.error(error); return []; } }; diff --git a/plugins/plugin-resize/src/modules/resize2.ts b/plugins/plugin-resize/src/modules/resize2.ts index b0b51f7dd..25b1e08ec 100644 --- a/plugins/plugin-resize/src/modules/resize2.ts +++ b/plugins/plugin-resize/src/modules/resize2.ts @@ -63,7 +63,7 @@ export const operations = { kMin: number, vMin: number, kMax: number, - vMax: number + vMax: number, ) { // special case - k is integer if (kMin === kMax) { @@ -81,7 +81,7 @@ export const operations = { xMax: number, y: number, yMin: number, - yMax: number + yMax: number, ) { let posMin = (yMin * wSrc + xMin) * 4 + offset; let posMax = (yMin * wSrc + xMax) * 4 + offset; @@ -256,7 +256,7 @@ export const operations = { x1: number, x2: number, x3: number, - t: number + t: number, ) { const a0 = x3 - x2 - x0 + x1; const a1 = x0 - x1 - a0; @@ -264,7 +264,7 @@ export const operations = { const a3 = x1; return Math.max( 0, - Math.min(255, a0 * (t * t * t) + a1 * (t * t) + a2 * t + a3) + Math.min(255, a0 * (t * t * t) + a1 * (t * t) + a2 * t + a3), ); }; @@ -277,7 +277,7 @@ export const operations = { x1: number, x2: number, x3: number, - t: number + t: number, ) { const c0 = x1; const c1 = 0.5 * (x2 - x0); @@ -285,7 +285,7 @@ export const operations = { const c3 = 0.5 * (x3 - x0) + 1.5 * (x1 - x2); return Math.max( 0, - Math.min(255, Math.round(((c3 * t + c2) * t + c1) * t + c0)) + Math.min(255, Math.round(((c3 * t + c2) * t + c1) * t + c0)), ); }; @@ -309,7 +309,7 @@ export const operations = { x1: number, x2: number, x3: number, - t: number + t: number, ) { // x1, x2 are the knots, use x0 and x3 to calculate control points const cp1 = x1 + (x2 - x0) / 4; diff --git a/plugins/plugin-rotate/.eslintrc.cjs b/plugins/plugin-rotate/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-rotate/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-rotate/eslint.config.mjs b/plugins/plugin-rotate/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-rotate/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-rotate/package.json b/plugins/plugin-rotate/package.json index a5b98b16d..ab7c89040 100644 --- a/plugins/plugin-rotate/package.json +++ b/plugins/plugin-rotate/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-rotate", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -18,7 +21,7 @@ "@jimp/plugin-resize": "workspace:*", "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "devDependencies": { "@jimp/config-eslint": "workspace:*", @@ -26,13 +29,13 @@ "@jimp/config-vitest": "workspace:*", "@jimp/core": "workspace:*", "@jimp/test-utils": "workspace:*", - "@types/node": "^20.12.5", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@types/node": "^18.19.48", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-rotate/src/index.test.ts b/plugins/plugin-rotate/src/index.test.ts index 312d4cd5f..21465a76e 100644 --- a/plugins/plugin-rotate/src/index.test.ts +++ b/plugins/plugin-rotate/src/index.test.ts @@ -16,8 +16,8 @@ describe("Rotate a image with even size", () => { "▪▪▪▪▴▴▴▴", "▪▪▪▪▴▴▴▴", "▪▪▪▪▴▴▴▴", - "▦▪▪▪▴▴▴▦" - ) + "▦▪▪▪▴▴▴▦", + ), ); const angles = [ @@ -40,8 +40,8 @@ describe("Rotate a image with odd size", () => { "▦▦▦▦▦▦▦", "▴▴▴▦▴▴▴", "▴▴▴▦▴▴▴", - "▴▴▴▦▴▴▴" - ) + "▴▴▴▦▴▴▴", + ), ); const angles = [45, 135, 225, 315]; @@ -55,7 +55,7 @@ describe("Rotate a image with odd size", () => { describe("Rotate a non-square image", () => { const imgSrc = jimp.fromBitmap( - makeTestImage("▴▴▴▴▪▪▪▪", "▴▴▴▴▪▪▪▪", "▦▦▦▦▴▴▴▴", "▦▦▦▦▴▴▴▴") + makeTestImage("▴▴▴▴▪▪▪▪", "▴▴▴▴▪▪▪▪", "▦▦▦▦▴▴▴▴", "▦▦▦▦▴▴▴▴"), ); const angles = [1, 10, 30, 45, 90, -90, 135, 180, 225, 315, -180, -270]; @@ -69,7 +69,7 @@ describe("Rotate a non-square image", () => { describe("Rotate a non-square image without resizing", () => { const imgSrc = jimp.fromBitmap( - makeTestImage("□□□□□□□□", "▹▹▹▹▹▹▹▹", "▿▿▿▿▿▿▿▿", "□□□□□□□□") + makeTestImage("□□□□□□□□", "▹▹▹▹▹▹▹▹", "▿▿▿▿▿▿▿▿", "□□□□□□□□"), ); const angles = [90, 180, 270, 45]; @@ -77,7 +77,7 @@ describe("Rotate a non-square image without resizing", () => { angles.forEach((angle) => { test(`${angle} degrees`, () => { expect( - imgSrc.clone().rotate({ deg: angle, mode: false }) + imgSrc.clone().rotate({ deg: angle, mode: false }), ).toMatchSnapshot(); }); }); diff --git a/plugins/plugin-rotate/src/index.ts b/plugins/plugin-rotate/src/index.ts index d94f0c251..8451ec3e7 100644 --- a/plugins/plugin-rotate/src/index.ts +++ b/plugins/plugin-rotate/src/index.ts @@ -228,8 +228,9 @@ export const methods = { */ rotate(image: I, options: RotateOptions) { const parsed = RotateOptionsSchema.parse(options); - let { deg, mode = true } = - typeof parsed === "number" ? { deg: parsed } : parsed; + const actualOptions = typeof parsed === "number" ? { deg: parsed } : parsed; + const { mode = true } = actualOptions; + let { deg } = actualOptions; // No need to do extra rotation deg %= 360; diff --git a/plugins/plugin-shadow/.eslintrc.cjs b/plugins/plugin-shadow/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-shadow/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-shadow/eslint.config.mjs b/plugins/plugin-shadow/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-shadow/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-shadow/package.json b/plugins/plugin-shadow/package.json index 9e7d93742..d732f4ad6 100644 --- a/plugins/plugin-shadow/package.json +++ b/plugins/plugin-shadow/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-shadow", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -17,12 +20,12 @@ "@jimp/config-typescript": "workspace:*", "@jimp/config-vitest": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "dependencies": { "@jimp/core": "workspace:*", @@ -31,7 +34,7 @@ "@jimp/plugin-resize": "workspace:*", "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-shadow/src/index.test.ts b/plugins/plugin-shadow/src/index.test.ts index 7035f7e5f..469298550 100644 --- a/plugins/plugin-shadow/src/index.test.ts +++ b/plugins/plugin-shadow/src/index.test.ts @@ -17,8 +17,8 @@ describe("Shadow", () => { " ◆▦▦▦▦◆ ", " ◆▦▦◆ ", " ◆◆ ", - " " - ) + " ", + ), ); expect(testImage.shadow({ x: -1, y: 1, blur: 1 })).toMatchSnapshot(); diff --git a/plugins/plugin-threshold/.eslintrc.cjs b/plugins/plugin-threshold/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/plugin-threshold/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/plugins/plugin-threshold/eslint.config.mjs b/plugins/plugin-threshold/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/plugins/plugin-threshold/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/plugins/plugin-threshold/package.json b/plugins/plugin-threshold/package.json index 811eb66b9..69d75bcdb 100644 --- a/plugins/plugin-threshold/package.json +++ b/plugins/plugin-threshold/package.json @@ -2,6 +2,9 @@ "name": "@jimp/plugin-threshold", "version": "1.1.2", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -18,12 +21,12 @@ "@jimp/config-vitest": "workspace:*", "@jimp/js-jpeg": "workspace:*", "@jimp/test-utils": "workspace:*", - "@vitest/browser": "^1.4.0", - "eslint": "^8.57.0", + "@vitest/browser": "^2.0.5", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vite-plugin-node-polyfills": "^0.21.0", - "vitest": "^1.4.0" + "vite-plugin-node-polyfills": "^0.22.0", + "vitest": "^2.0.5" }, "dependencies": { "@jimp/core": "workspace:*", @@ -31,7 +34,7 @@ "@jimp/plugin-hash": "workspace:*", "@jimp/types": "workspace:*", "@jimp/utils": "workspace:*", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "tshy": { "exclude": [ diff --git a/plugins/plugin-threshold/src/index.test.ts b/plugins/plugin-threshold/src/index.test.ts index 0e13e4fc1..cc1028e18 100644 --- a/plugins/plugin-threshold/src/index.test.ts +++ b/plugins/plugin-threshold/src/index.test.ts @@ -14,7 +14,7 @@ describe("Threshold", () => { test("defines default threshold for lighter backgrounds", async () => { const testImage = await jimp.read(getTestImagePath("hands.jpg")); const expectedImage = await jimp.read( - getTestImagePath("hands_mx200_rp255.jpg") + getTestImagePath("hands_mx200_rp255.jpg"), ); const output = testImage.threshold({ max: 200, replace: 255 }).hash(); diff --git a/plugins/quantize/.eslintrc.cjs b/plugins/quantize/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/plugins/quantize/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea18ff5ef..426a77b62 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,13 +10,13 @@ importers: devDependencies: '@auto-it/all-contributors': specifier: ^11.2.1 - version: 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + version: 11.2.1(@types/node@22.5.2)(typescript@5.5.4) '@auto-it/first-time-contributor': specifier: ^11.2.1 - version: 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + version: 11.2.1(@types/node@22.5.2)(typescript@5.5.4) '@auto-it/released': specifier: ^11.2.1 - version: 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + version: 11.2.1(@types/node@22.5.2)(typescript@5.5.4) '@jimp/config-eslint': specifier: workspace:* version: link:packages/config-eslint @@ -24,38 +24,39 @@ importers: specifier: workspace:* version: link:packages/config-typescript '@turbo/gen': - specifier: ^1.12.5 - version: 1.12.5(@types/node@20.12.5)(typescript@5.5.4) - any-base: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^2.1.1 + version: 2.1.1(@types/node@22.5.2)(typescript@5.5.4) auto: specifier: ^11.2.1 - version: 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + version: 11.2.1(@types/node@22.5.2)(typescript@5.5.4) + npm-check-updates: + specifier: ^17.1.1 + version: 17.1.1 prettier: - specifier: ^3.2.5 - version: 3.2.5 + specifier: ^3.3.3 + version: 3.3.3 turbo: - specifier: ^1.13.0 - version: 1.13.0 + specifier: ^2.1.1 + version: 2.1.1 packages/config-eslint: + dependencies: + '@eslint/js': + specifier: ^9.9.1 + version: 9.9.1 + '@types/eslint__js': + specifier: ^8.42.3 + version: 8.42.3 + typescript-eslint: + specifier: ^8.3.0 + version: 8.3.0(eslint@9.9.1)(typescript@5.5.4) devDependencies: - '@typescript-eslint/eslint-plugin': - specifier: ^7.2.0 - version: 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/parser': - specifier: ^7.2.0 - version: 7.2.0(eslint@8.57.0)(typescript@5.5.4) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@9.9.1) eslint-config-turbo: - specifier: ^1.12.5 - version: 1.12.5(eslint@8.57.0) - eslint-plugin-only-warn: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^2.1.1 + version: 2.1.1(eslint@9.9.1) typescript: specifier: ^5.5.4 version: 5.5.4 @@ -68,11 +69,11 @@ importers: specifier: ^0.2.3 version: 0.2.3(esbuild@0.21.5) playwright: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.46.1 + version: 1.46.1 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) devDependencies: '@jimp/config-typescript': specifier: workspace:* @@ -81,14 +82,14 @@ importers: specifier: workspace:* version: link:../test-utils eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 typescript: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) packages/core: dependencies: @@ -130,11 +131,11 @@ importers: specifier: ^3.0.4 version: 3.0.4 '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -142,8 +143,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) packages/diff: dependencies: @@ -176,8 +177,8 @@ importers: specifier: ^5.2.6 version: 5.2.6 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -185,20 +186,20 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) packages/docs: dependencies: '@astrojs/check': specifier: ^0.9.3 - version: 0.9.3(prettier@3.2.5)(typescript@5.4.3) + version: 0.9.3(prettier@3.3.3)(typescript@5.5.4) '@astrojs/react': specifier: ^3.6.2 - version: 3.6.2(@types/react-dom@18.2.23)(@types/react@18.2.73)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + version: 3.6.2(@types/react-dom@18.2.23)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) '@astrojs/starlight': specifier: ^0.26.1 - version: 0.26.1(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)) + version: 0.26.1(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)) '@esbuild-plugins/node-globals-polyfill': specifier: ^0.2.3 version: 0.2.3(esbuild@0.21.5) @@ -208,43 +209,42 @@ importers: '@jimp/plugin-print': specifier: workspace:* version: link:../../plugins/plugin-print + '@types/react': + specifier: ^18.3.5 + version: 18.3.5 astro: specifier: ^4.15.1 - version: 4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3) + version: 4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 jimp: specifier: workspace:* version: link:../jimp react: - specifier: ^18.2.0 - version: 18.2.0 + specifier: ^18.3.1 + version: 18.3.1 react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) sharp: - specifier: ^0.32.5 - version: 0.32.6 + specifier: ^0.33.5 + version: 0.33.5 starlight-typedoc: specifier: ^0.15.0 - version: 0.15.0(@astrojs/starlight@0.26.1(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)))(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3))(typedoc-plugin-markdown@4.2.6(typedoc@0.26.6(typescript@5.4.3)))(typedoc@0.26.6(typescript@5.4.3)) + version: 0.15.0(@astrojs/starlight@0.26.1(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)))(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4))(typedoc-plugin-markdown@4.2.6(typedoc@0.26.6(typescript@5.5.4)))(typedoc@0.26.6(typescript@5.5.4)) typedoc: specifier: ^0.26.6 - version: 0.26.6(typescript@5.4.3) + version: 0.26.6(typescript@5.5.4) typedoc-plugin-markdown: specifier: 4.2.6 - version: 4.2.6(typedoc@0.26.6(typescript@5.4.3)) + version: 4.2.6(typedoc@0.26.6(typescript@5.5.4)) typedoc-plugin-zod: specifier: ^1.2.1 - version: 1.2.1(typedoc@0.26.6(typescript@5.4.3)) + version: 1.2.1(typedoc@0.26.6(typescript@5.5.4)) typescript: - specifier: ^5.4.3 - version: 5.4.3 - devDependencies: - '@types/react': - specifier: ^18.2.73 - version: 18.2.73 + specifier: ^5.5.4 + version: 5.5.4 packages/file-ops: devDependencies: @@ -255,11 +255,11 @@ importers: specifier: workspace:* version: link:../config-typescript '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -267,8 +267,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) packages/jimp: dependencies: @@ -337,7 +337,7 @@ importers: version: link:../../plugins/plugin-print '@jimp/plugin-quantize': specifier: workspace:* - version: link:../../plugins/quantize + version: link:../../plugins/plugin-quantize '@jimp/plugin-resize': specifier: workspace:* version: link:../../plugins/plugin-resize @@ -368,25 +368,25 @@ importers: version: link:../test-utils '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.14.1) + version: 5.1.0(rollup@4.21.2) '@rollup/plugin-commonjs': - specifier: ^25.0.7 - version: 25.0.7(rollup@4.14.1) + specifier: ^26.0.1 + version: 26.0.1(rollup@4.21.2) '@rollup/plugin-inject': specifier: ^5.0.5 - version: 5.0.5(rollup@4.14.1) + version: 5.0.5(rollup@4.21.2) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.14.1) + version: 15.2.3(rollup@4.21.2) '@rollup/plugin-terser': specifier: ^0.4.4 - version: 0.4.4(rollup@4.14.1) + version: 0.4.4(rollup@4.21.2) '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 node-self: specifier: ^1.0.2 version: 1.0.2 @@ -394,17 +394,17 @@ importers: specifier: ^1.0.1 version: 1.0.1 rollup: - specifier: ^4.14.1 - version: 4.14.1 + specifier: ^4.21.2 + version: 4.21.2 rollup-plugin-dts: - specifier: ^6.1.0 - version: 6.1.0(rollup@4.14.1)(typescript@5.5.4) + specifier: ^6.1.1 + version: 6.1.1(rollup@4.21.2)(typescript@5.5.4) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.21.5)(rollup@4.14.1) + version: 6.1.1(esbuild@0.21.5)(rollup@4.21.2) rollup-plugin-polyfill-node: specifier: ^0.13.0 - version: 0.13.0(rollup@4.14.1) + version: 0.13.0(rollup@4.21.2) tshy: specifier: ^3.0.2 version: 3.0.2 @@ -412,11 +412,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.14.1)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) packages/test-utils: dependencies: @@ -440,11 +440,11 @@ importers: specifier: ^6.4.0 version: 6.4.0 '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -452,14 +452,14 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) packages/types: dependencies: zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -468,11 +468,11 @@ importers: specifier: workspace:* version: link:../config-typescript '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -480,8 +480,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) packages/utils: dependencies: @@ -499,14 +499,14 @@ importers: specifier: workspace:* version: link:../config-typescript '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@types/tinycolor2': specifier: ^1.4.6 version: 1.4.6 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -514,8 +514,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/js-bmp: dependencies: @@ -548,14 +548,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -563,11 +563,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/js-gif: dependencies: @@ -597,29 +597,29 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@types/omggif': specifier: ^1.0.5 version: 1.0.5 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: - specifier: ^1.12.0 - version: 1.12.0 + specifier: ^3.0.2 + version: 3.0.2 typescript: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/js-jpeg: dependencies: @@ -646,11 +646,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -658,11 +658,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/js-png: dependencies: @@ -689,14 +689,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/pngjs': - specifier: ^6.0.4 - version: 6.0.4 + specifier: ^6.0.5 + version: 6.0.5 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -704,11 +704,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/js-tiff: dependencies: @@ -735,14 +735,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -750,11 +750,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-blit: dependencies: @@ -765,8 +765,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -790,11 +790,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -802,11 +802,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-blur: dependencies: @@ -836,11 +836,11 @@ importers: specifier: workspace:* version: link:../../packages/types '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -848,11 +848,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-circle: dependencies: @@ -860,8 +860,8 @@ importers: specifier: workspace:* version: link:../../packages/types zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -879,11 +879,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -891,11 +891,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-color: dependencies: @@ -912,8 +912,8 @@ importers: specifier: ^1.6.0 version: 1.6.0 zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -934,29 +934,29 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@types/tinycolor2': specifier: ^1.4.6 version: 1.4.6 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: - specifier: ^1.12.0 - version: 1.12.0 + specifier: ^3.0.2 + version: 3.0.2 typescript: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-contain: dependencies: @@ -976,8 +976,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -992,11 +992,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1004,11 +1004,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-cover: dependencies: @@ -1025,8 +1025,8 @@ importers: specifier: workspace:* version: link:../../packages/types zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1041,11 +1041,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1053,11 +1053,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-crop: dependencies: @@ -1071,8 +1071,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1087,14 +1087,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1102,11 +1102,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-displace: dependencies: @@ -1117,8 +1117,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1127,8 +1127,8 @@ importers: specifier: workspace:* version: link:../../packages/config-typescript eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1136,8 +1136,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-dither: dependencies: @@ -1152,8 +1152,8 @@ importers: specifier: workspace:* version: link:../../packages/config-typescript eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1161,8 +1161,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-fisheye: dependencies: @@ -1173,8 +1173,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1192,11 +1192,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1204,11 +1204,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-flip: dependencies: @@ -1216,8 +1216,8 @@ importers: specifier: workspace:* version: link:../../packages/types zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1235,14 +1235,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1250,11 +1250,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-hash: dependencies: @@ -1305,23 +1305,23 @@ importers: specifier: ^1.1.3 version: 1.1.3 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: - specifier: ^1.12.0 - version: 1.12.0 + specifier: ^3.0.2 + version: 3.0.2 typescript: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-mask: dependencies: @@ -1329,8 +1329,8 @@ importers: specifier: workspace:* version: link:../../packages/types zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1348,11 +1348,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1360,11 +1360,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-print: dependencies: @@ -1393,8 +1393,8 @@ importers: specifier: ^1.1.6 version: 1.1.6 zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1406,11 +1406,54 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 + eslint: + specifier: ^9.9.1 + version: 9.9.1 + tshy: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.4 + version: 5.5.4 + vitest: + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) + + plugins/plugin-quantize: + dependencies: + image-q: + specifier: ^4.0.0 + version: 4.0.0 + zod: + specifier: ^3.23.8 + version: 3.23.8 + devDependencies: + '@jimp/config-eslint': + specifier: workspace:* + version: link:../../packages/config-eslint + '@jimp/config-typescript': + specifier: workspace:* + version: link:../../packages/config-typescript + '@jimp/core': + specifier: workspace:* + version: link:../../packages/core + '@jimp/js-jpeg': + specifier: workspace:* + version: link:../js-jpeg + '@jimp/js-png': + specifier: workspace:* + version: link:../js-png + '@jimp/test-utils': + specifier: workspace:* + version: link:../../packages/test-utils + '@jimp/types': + specifier: workspace:* + version: link:../../packages/types eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1418,8 +1461,8 @@ importers: specifier: ^5.5.4 version: 5.5.4 vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-resize: dependencies: @@ -1430,8 +1473,8 @@ importers: specifier: workspace:* version: link:../../packages/types zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1446,14 +1489,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1461,11 +1504,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-rotate: dependencies: @@ -1485,8 +1528,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1501,14 +1544,14 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@types/node': - specifier: ^20.12.5 - version: 20.12.5 + specifier: ^18.19.48 + version: 18.19.48 '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1516,11 +1559,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-shadow: dependencies: @@ -1543,8 +1586,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1559,11 +1602,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1571,11 +1614,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) plugins/plugin-threshold: dependencies: @@ -1595,8 +1638,8 @@ importers: specifier: workspace:* version: link:../../packages/utils zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@jimp/config-eslint': specifier: workspace:* @@ -1614,11 +1657,11 @@ importers: specifier: workspace:* version: link:../../packages/test-utils '@vitest/browser': - specifier: ^1.4.0 - version: 1.4.0(playwright@1.42.1)(vitest@1.4.0) + specifier: ^2.0.5 + version: 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.9.1 + version: 9.9.1 tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1626,54 +1669,11 @@ importers: specifier: ^5.5.4 version: 5.5.4 vite-plugin-node-polyfills: - specifier: ^0.21.0 - version: 0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + specifier: ^0.22.0 + version: 0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) - - plugins/quantize: - dependencies: - image-q: - specifier: ^4.0.0 - version: 4.0.0 - zod: - specifier: ^3.22.4 - version: 3.23.8 - devDependencies: - '@jimp/config-eslint': - specifier: workspace:* - version: link:../../packages/config-eslint - '@jimp/config-typescript': - specifier: workspace:* - version: link:../../packages/config-typescript - '@jimp/core': - specifier: workspace:* - version: link:../../packages/core - '@jimp/js-jpeg': - specifier: workspace:* - version: link:../js-jpeg - '@jimp/js-png': - specifier: workspace:* - version: link:../js-png - '@jimp/test-utils': - specifier: workspace:* - version: link:../../packages/test-utils - '@jimp/types': - specifier: workspace:* - version: link:../../packages/types - eslint: - specifier: ^8.57.0 - version: 8.57.0 - tshy: - specifier: ^3.0.2 - version: 3.0.2 - typescript: - specifier: ^5.5.4 - version: 5.5.4 - vitest: - specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + specifier: ^2.0.5 + version: 2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3) packages: @@ -1778,14 +1778,6 @@ packages: '@auto-it/version-file@11.2.1': resolution: {integrity: sha512-9KuDAw+6b5qxm3rZlGt6QBjlWD7+kgBzO7qeDkLBpecZp9WgAB7gmPCEp5YtMKAPKanG0iZSItNh/sP4d40CGA==} - '@babel/code-frame@7.23.5': - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -1840,10 +1832,6 @@ packages: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} @@ -1856,14 +1844,6 @@ packages: resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.23.4': - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} @@ -1926,6 +1906,15 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} + '@bundled-es-modules/cookie@2.0.0': + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} + + '@bundled-es-modules/statuses@1.0.1': + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + + '@bundled-es-modules/tough-cookie@0.1.6': + resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -1969,276 +1958,138 @@ packages: peerDependencies: esbuild: '*' - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -2251,17 +2102,25 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.9.1': + resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@expressive-code/core@0.35.6': resolution: {integrity: sha512-xGqCkmfkgT7lr/rvmfnYdDSeTdCSp1otAHgoFS6wNEeO7wGDPpxdosVqYiIcQ8CfWUABh/pGqWG90q+MV3824A==} @@ -2275,18 +2134,13 @@ packages: '@expressive-code/plugin-text-markers@0.35.6': resolution: {integrity: sha512-/k9eWVZSCs+uEKHR++22Uu6eIbHWEciVHbIuD8frT8DlqTtHYaaiwHPncO6KFWnGDz5i/gL7oyl6XmOi/E6GVg==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} @@ -2393,6 +2247,22 @@ packages: cpu: [x64] os: [win32] + '@inquirer/confirm@3.1.22': + resolution: {integrity: sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==} + engines: {node: '>=18'} + + '@inquirer/core@9.0.10': + resolution: {integrity: sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==} + engines: {node: '>=18'} + + '@inquirer/figures@1.0.5': + resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==} + engines: {node: '>=18'} + + '@inquirer/type@1.5.2': + resolution: {integrity: sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==} + engines: {node: '>=18'} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2439,6 +2309,10 @@ packages: '@mdx-js/mdx@3.0.1': resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + '@mswjs/interceptors@0.29.1': + resolution: {integrity: sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==} + engines: {node: '>=18'} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2504,6 +2378,15 @@ packages: '@octokit/types@6.41.0': resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} + '@open-draft/deferred-promise@2.2.0': + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + + '@open-draft/logger@0.3.0': + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + + '@open-draft/until@2.1.0': + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@oslojs/encoding@0.4.1': resolution: {integrity: sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q==} @@ -2551,9 +2434,9 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@25.0.7': - resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} - engines: {node: '>=14.0.0'} + '@rollup/plugin-commonjs@26.0.1': + resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 peerDependenciesMeta: @@ -2596,51 +2479,26 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.14.1': - resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.21.2': resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.14.1': - resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.21.2': resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.14.1': - resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.21.2': resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.14.1': - resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.21.2': resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.14.1': - resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} cpu: [arm] @@ -2651,101 +2509,51 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.14.1': - resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.2': resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.14.1': - resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.2': resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.14.1': - resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} - cpu: [ppc64le] - os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.14.1': - resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.2': resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.14.1': - resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.2': resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.14.1': - resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.2': resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.14.1': - resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.2': resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.14.1': - resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.21.2': resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.14.1': - resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.2': resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.14.1': - resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.2': resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} cpu: [x64] @@ -2760,6 +2568,16 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@testing-library/dom@10.4.0': + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + + '@testing-library/user-event@14.5.2': + resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} @@ -2778,12 +2596,12 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@turbo/gen@1.12.5': - resolution: {integrity: sha512-sEF/iryAcWYqONXcrAyWREUVPA4eba22hxU1yx4b9+Rs9SUNFkM54cDaXEAtzbh/iji428aQpnuxi+SUT7m9zw==} + '@turbo/gen@2.1.1': + resolution: {integrity: sha512-IaC8k3u/00giD3WjEy81Zwj8CFZJCrSf7sCA8gdug76C2DUm79CdAQ+tImR3KOMwnefIP0LH1NSPtREMKi59zQ==} hasBin: true - '@turbo/workspaces@1.12.5': - resolution: {integrity: sha512-UksAe6nxryEZoUr5IMUzt9bwsZLxccUnT469fI3OE5Xbd5fbInzLKIZ3ZuzFvXR4N7ezr2HCvkUItmgwe7k1HA==} + '@turbo/workspaces@2.1.1': + resolution: {integrity: sha512-E9tnNIBRC09IjM521TaExmHUBo26qT41OCSgFpg2FdmLiobqxG2G2hzmdbDFC7QwcVifVF9FD/3gRtDqRqDj5g==} hasBin: true '@types/acorn@4.0.6': @@ -2792,6 +2610,9 @@ packages: '@types/any-base@1.1.3': resolution: {integrity: sha512-B7RTBD7jVYxm754XDdw6UozY3ZyyBv4iF4QQSjCzeLV4avDy8JBwCuI5SN4mz27ENI6K1NtKZwQ7zcqgH2h2Mw==} + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -2816,6 +2637,12 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/eslint__js@8.42.3': + resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -2871,6 +2698,9 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} @@ -2880,8 +2710,11 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.12.5': - resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} + '@types/node@18.19.48': + resolution: {integrity: sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==} + + '@types/node@22.5.2': + resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} '@types/omggif@1.0.5': resolution: {integrity: sha512-gDQJflz1rOgEcUXkMAl80bDGN46f5mp8GbcM5dyvq+zsFV6YRBRtmNxlJJ5mjY77T7BRkRFzdIBVmK90QYhCxA==} @@ -2892,8 +2725,8 @@ packages: '@types/pixelmatch@5.2.6': resolution: {integrity: sha512-wC83uexE5KGuUODn6zkm9gMzTwdY5L0chiK+VrKcDfEjzxh1uadlWTvOmAbCpnM9zx/Ww3f8uKlYQVnO/TrqVg==} - '@types/pngjs@6.0.4': - resolution: {integrity: sha512-atAK9xLKOnxiuArxcHovmnOUUGBZOQ3f0vCf43FnoKs6XnqiambT1kkJWmdo71IR+BoXSh+CueeFR0GfH3dTlQ==} + '@types/pngjs@6.0.5': + resolution: {integrity: sha512-0k5eKfrA83JOZPppLtS2C7OUtyNAl2wKNxfyYl9Q5g9lPkgBl/9hNyAu6HuEH2J4XmIv2znEpkDd0SaZVxW6iQ==} '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} @@ -2901,8 +2734,8 @@ packages: '@types/react-dom@18.2.23': resolution: {integrity: sha512-ZQ71wgGOTmDYpnav2knkjr3qXdAFu0vsk8Ci5w3pGAIdj7/kKAyn+VsQDhXsmzzzepAiI9leWMmubXz690AI/A==} - '@types/react@18.2.73': - resolution: {integrity: sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA==} + '@types/react@18.3.5': + resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -2910,87 +2743,92 @@ packages: '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/statuses@2.0.5': + resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} + '@types/through@0.0.33': resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/unist@2.0.10': resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@typescript-eslint/eslint-plugin@7.2.0': - resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/eslint-plugin@8.3.0': + resolution: {integrity: sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.2.0': - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.3.0': + resolution: {integrity: sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@7.2.0': - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.3.0': + resolution: {integrity: sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.2.0': - resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.3.0': + resolution: {integrity: sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@7.2.0': - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.3.0': + resolution: {integrity: sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@7.2.0': - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.3.0': + resolution: {integrity: sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@7.2.0': - resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.3.0': + resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@7.2.0': - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.3.0': + resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -3001,12 +2839,12 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vitest/browser@1.4.0': - resolution: {integrity: sha512-kC44DzuqPZZrqe2P7SX2a3zHDAt919WtpkUMAxzv9eP5uPfVXtpk2Ipms2NXJGY5190aJc1uY+ambfJ3rwDJRA==} + '@vitest/browser@2.0.5': + resolution: {integrity: sha512-VbOYtu/6R3d7ASZREcrJmRY/sQuRFO9wMVsEDqfYbWiJRh2fDNi8CL1Csn7Ux31pOcPmmM5QvzFCMpiojvVh8g==} peerDependencies: playwright: '*' safaridriver: '*' - vitest: 1.4.0 + vitest: 2.0.5 webdriverio: '*' peerDependenciesMeta: playwright: @@ -3016,20 +2854,23 @@ packages: webdriverio: optional: true - '@vitest/expect@1.4.0': - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + '@vitest/expect@2.0.5': + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + + '@vitest/pretty-format@2.0.5': + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} - '@vitest/runner@1.4.0': - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + '@vitest/runner@2.0.5': + resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} - '@vitest/snapshot@1.4.0': - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + '@vitest/snapshot@2.0.5': + resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} - '@vitest/spy@1.4.0': - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + '@vitest/spy@2.0.5': + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} - '@vitest/utils@1.4.0': - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + '@vitest/utils@2.0.5': + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} '@volar/kit@2.4.1': resolution: {integrity: sha512-XCHjrxcvjh/GEBiJt2e1KfsP8aQ+z7ZXRKR/5BA2/SFVzM+pKpL9iHZZJN7QGMsqTOt8FgN8XQhTp8qqURn+cw==} @@ -3197,8 +3038,9 @@ packages: assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} @@ -3242,27 +3084,12 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} - b4a@1.6.6: - resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} - bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.2.2: - resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} - - bare-fs@2.2.2: - resolution: {integrity: sha512-X9IqgvyB0/VA5OZJyb5ZstoN62AzD7YxVGog13kkfYWYqJYcK0kcqLZ6TrmH5qr4/8//ejVcX4x/a0UvaogXmA==} - - bare-os@2.2.1: - resolution: {integrity: sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==} - - bare-path@2.1.0: - resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==} - base-64@1.0.0: resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} @@ -3403,9 +3230,9 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -3441,16 +3268,14 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -3486,6 +3311,10 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -3566,6 +3395,10 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} @@ -3651,15 +3484,11 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} deep-extend@0.6.0: @@ -3749,9 +3578,8 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} domain-browser@4.23.0: resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} @@ -3793,9 +3621,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - endent@2.1.0: resolution: {integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==} @@ -3847,11 +3672,6 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -3888,36 +3708,41 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@1.12.5: - resolution: {integrity: sha512-wXytbX+vTzQ6rwgM6sIr447tjYJBlRj5V/eBFNGNXw5Xs1R715ppPYhbmxaFbkrWNQSGJsWRrYGAlyq0sT/OsQ==} + eslint-config-turbo@2.1.1: + resolution: {integrity: sha512-JJF8SZErmgKCGkt124WUmTt0sQ5YLvPo2YxDsfzn9avGJC7/BQIa+3FZoDb3zeYYsZx91pZ6htQAJaKK8NQQAg==} peerDependencies: eslint: '>6.6.0' - eslint-plugin-only-warn@1.1.0: - resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==} - engines: {node: '>=6'} - - eslint-plugin-turbo@1.12.5: - resolution: {integrity: sha512-cXy7mCzAdngBTJIWH4DASXHy0vQpujWDBqRTu0YYqCN/QEGsi3HWM+STZEbPYELdjtm5EsN2HshOSSqWnjdRHg==} + eslint-plugin-turbo@2.1.1: + resolution: {integrity: sha512-E/34kdQd0n3RP18+e0DSV0f3YTSCOojUh1p4X0Xrho2PBYmJ3umSnNo9FhkZt6UDACl+nBQcYTFkRHMz76lJdw==} peerDependencies: eslint: '>6.6.0' - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.2: + resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.9.1: + resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -3982,10 +3807,6 @@ packages: exif-parser@0.1.12: resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4007,9 +3828,6 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-fifo@1.3.2: - resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} - fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -4034,9 +3852,9 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-type@16.5.4: resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} @@ -4073,9 +3891,9 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -4097,9 +3915,6 @@ packages: fromentries@1.3.2: resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -4179,9 +3994,6 @@ packages: gifwrap@0.10.1: resolution: {integrity: sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==} - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -4197,9 +4009,8 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true glob@11.0.0: @@ -4211,18 +4022,13 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} @@ -4232,10 +4038,6 @@ packages: resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} engines: {node: '>=8'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - globby@7.1.1: resolution: {integrity: sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==} engines: {node: '>=4'} @@ -4369,6 +4171,9 @@ packages: header-case@1.0.1: resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} + headers-polyfill@4.0.3: + resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} + hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} @@ -4592,6 +4397,9 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -4689,9 +4497,8 @@ packages: resolution: {integrity: sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==} engines: {node: '>=10'} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} jackspeak@4.0.1: resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} @@ -4736,9 +4543,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -4824,10 +4628,6 @@ packages: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -4874,8 +4674,8 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} lower-case-first@1.0.2: resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} @@ -4883,9 +4683,8 @@ packages: lower-case@1.1.4: resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@11.0.0: resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} @@ -4905,6 +4704,10 @@ packages: lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} @@ -5136,10 +4939,6 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -5153,14 +4952,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -5168,17 +4959,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -5188,9 +4972,6 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - module-alias@2.2.3: resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==} @@ -5201,20 +4982,34 @@ packages: ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + msw@2.4.1: + resolution: {integrity: sha512-HXcoQPzYTwEmVk+BGIcRa0vLabBT+J20SSSeYh/QfajaK5ceA6dlD4ZZjfz2dqGEq4vRNCPLP6eXsB94KllPFg==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + graphql: '>= 16.8.x' + typescript: '>= 4.7.x' + peerDependenciesMeta: + graphql: + optional: true + typescript: + optional: true + muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-build-utils@1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -5238,13 +5033,6 @@ packages: no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - - node-addon-api@6.1.0: - resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} - node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -5275,6 +5063,11 @@ packages: not@0.1.0: resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + npm-check-updates@17.1.1: + resolution: {integrity: sha512-2aqIzGAEWB7xPf0hKHTkNmUM5jHbn2S5r2/z/7dA5Ij2h/sVYAg9R/uVkaUC3VORPAfBm7pKkCWo6E9clEVQ9A==} + engines: {node: ^18.18.0 || >=20.0.0, npm: '>=8.12.1'} + hasBin: true + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -5349,6 +5142,9 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + p-limit@1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -5361,10 +5157,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - p-limit@6.1.0: resolution: {integrity: sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==} engines: {node: '>=18'} @@ -5501,9 +5293,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-scurry@2.0.0: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} @@ -5523,8 +5315,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} pbkdf2@3.1.2: resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} @@ -5542,9 +5335,6 @@ packages: periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} @@ -5580,17 +5370,14 @@ packages: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - - playwright-core@1.42.1: - resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} - engines: {node: '>=16'} + playwright-core@1.46.1: + resolution: {integrity: sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==} + engines: {node: '>=18'} hasBin: true - playwright@1.42.1: - resolution: {integrity: sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==} - engines: {node: '>=16'} + playwright@1.46.1: + resolution: {integrity: sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==} + engines: {node: '>=18'} hasBin: true pngjs@3.4.0: @@ -5605,10 +5392,6 @@ packages: resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} engines: {node: '>=14.19.0'} - polite-json@4.0.1: - resolution: {integrity: sha512-8LI5ZeCPBEb4uBbcYKNVwk4jgqNx1yHReWoW4H4uUihWlSqZsUDfSITrRhjliuPgxsNPFhNSudGO2Zu4cbWinQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - polite-json@5.0.0: resolution: {integrity: sha512-OLS/0XeUAcE8a2fdwemNja+udKgXNnY6yKVIXqAD2zVRx1KvY6Ato/rZ2vdzbxqYwPW0u6SCNC/bAMPNzpzxbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -5627,19 +5410,10 @@ packages: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} - postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.42: resolution: {integrity: sha512-hywKUQB9Ra4dR1mGhldy5Aj1X3MWDSIA1cEi+Uy0CjheLvP6Ual5RlwMCh8i/X121yEDLDIKBsrCQ8ba3FDMfQ==} engines: {node: ^10 || ^12 || >=14} - prebuild-install@7.1.2: - resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} - engines: {node: '>=10'} - hasBin: true - preferred-pm@4.0.0: resolution: {integrity: sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==} engines: {node: '>=18.12'} @@ -5653,11 +5427,15 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} hasBin: true + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5691,12 +5469,12 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -5716,12 +5494,12 @@ packages: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - queue-tick@1.0.1: - resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -5732,10 +5510,13 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} @@ -5744,8 +5525,8 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} readable-stream@2.3.8: @@ -5852,6 +5633,9 @@ packages: resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} engines: {node: '>= 4.0.0'} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -5860,10 +5644,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve-import@1.4.5: - resolution: {integrity: sha512-HXb4YqODuuXT7Icq1Z++0g2JmhgbUHSs3VT2xR83gqvAPUikYT2Xk+562KHQgiaNkbBOlPddYrDLsC44qQggzw==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - resolve-import@2.0.0: resolution: {integrity: sha512-jpKjLibLuc8D1XEV2+7zb0aqN7I8d12u89g/v6IsgCzdVlccMQJq4TKkPw5fbhHdxhm7nbVtN+KvOTnjFf+nEA==} engines: {node: 20 || >=22} @@ -5912,11 +5692,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} - hasBin: true - rimraf@6.0.1: resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} engines: {node: 20 || >=22} @@ -5925,8 +5700,8 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - rollup-plugin-dts@6.1.0: - resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + rollup-plugin-dts@6.1.1: + resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 @@ -5944,11 +5719,6 @@ packages: peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup@4.14.1: - resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.21.2: resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -5988,8 +5758,8 @@ packages: sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -6033,10 +5803,6 @@ packages: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true - sharp@0.32.6: - resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} - engines: {node: '>=14.15.0'} - sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -6073,12 +5839,6 @@ packages: resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} engines: {node: '>=6'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -6124,10 +5884,6 @@ packages: resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -6171,6 +5927,10 @@ packages: typedoc: '>=0.26.5' typedoc-plugin-markdown: '>=4.0.0' + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} @@ -6187,8 +5947,8 @@ packages: stream-replace-string@2.0.0: resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} - streamx@2.16.1: - resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} + strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -6254,9 +6014,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - strtok3@6.3.0: resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} engines: {node: '>=10'} @@ -6286,11 +6043,6 @@ packages: swap-case@1.1.2: resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} - sync-content@1.0.2: - resolution: {integrity: sha512-znd3rYiiSxU3WteWyS9a6FXkTA/Wjk8WQsOyzHbineeL837dLn3DA4MRhsIX3qGcxDMH6+uuFV4axztssk7wEQ==} - engines: {node: '>=14'} - hasBin: true - sync-content@2.0.1: resolution: {integrity: sha512-NI1mo514yFhr8pV/5Etvgh+pSBUIpoAKoiBIUwALVlQQNAwb40bTw8hhPFaip/dvv0GhpHVOq0vq8iY02ppLTg==} engines: {node: 20 || >=22} @@ -6304,19 +6056,6 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - - tar-fs@3.0.5: - resolution: {integrity: sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - - tar-stream@3.1.7: - resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - terminal-link@2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -6336,8 +6075,8 @@ packages: resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} engines: {node: '>=0.6.0'} - tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} @@ -6348,12 +6087,16 @@ packages: tinygradient@1.1.5: resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} - tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + tinyspy@3.0.0: + resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} engines: {node: '>=14.0.0'} title-case@2.1.1: @@ -6379,6 +6122,10 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -6425,11 +6172,6 @@ packages: typescript: optional: true - tshy@1.12.0: - resolution: {integrity: sha512-WooNSTc+uyjLseTdzUFa4Lx3KYMcwxdrJMsWacl39BlfKZKhr30gLjAJkTQWHFkmAO+dj0L4P2jxiIrOo81V3w==} - engines: {node: 16 >=16.17 || 18 >=18.15.0 || >=20.6.1} - hasBin: true - tshy@3.0.2: resolution: {integrity: sha512-8GkWnAfmNXxl8iDTZ1o2H4jdaj9H7HeDKkr5qd0ZhQBCNA41D3xqTyg2Ycs51VCfmjJ5e+0v9AUmD6ylAI9Bgw==} engines: {node: 20 || >=22} @@ -6447,55 +6189,44 @@ packages: tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - - turbo-darwin-64@1.13.0: - resolution: {integrity: sha512-ctHeJXtQgBcgxnCXwrJTGiq57HtwF7zWz5NTuSv//5yeU01BtQIt62ArKfjudOhRefWJbX3Z5srn88XTb9hfww==} + turbo-darwin-64@2.1.1: + resolution: {integrity: sha512-aYNuJpZlCoi0Htd79fl/2DywpewGKijdXeOfg9KzNuPVKzSMYlAXuAlNGh0MKjiOcyqxQGL7Mq9LFhwA0VpDpQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@1.13.0: - resolution: {integrity: sha512-/Q9/pNFkF9w83tNxwMpgapwLYdQ12p8mpty2YQRoUiS9ClWkcqe136jR0mtuMqzlNlpREOFZaoyIthjt6Sdo0g==} + turbo-darwin-arm64@2.1.1: + resolution: {integrity: sha512-tifJKD8yHY48rHXPMcM8o1jI/Jk2KCaXiNjTKvvy9Zsim61BZksNVLelIbrRoCGwAN6PUBZO2lGU5iL/TQJ5Pw==} cpu: [arm64] os: [darwin] - turbo-linux-64@1.13.0: - resolution: {integrity: sha512-hgbT7o020BGV4L7Sd8hhFTd5zVKPKxbsr0dPfel/9NkdTmptz2aGZ0Vb2MAa18SY3XaCQpDxmdYuOzvvRpo5ZA==} + turbo-linux-64@2.1.1: + resolution: {integrity: sha512-Js6d/bSQe9DuV9c7ITXYpsU/ADzFHABdz1UIHa7Oqjj9VOEbFeA9WpAn0c+mdJrVD+IXJFbbDZUjN7VYssmtcg==} cpu: [x64] os: [linux] - turbo-linux-arm64@1.13.0: - resolution: {integrity: sha512-WK01i2wDZARrV+HEs495A3hNeGMwQR5suYk7G+ceqqW7b+dOTlQdvUjnI3sg7wAnZPgjafFs/hoBaZdJjVa/nw==} + turbo-linux-arm64@2.1.1: + resolution: {integrity: sha512-LidzTCq0yvQ+N8w8Qub9FmhQ/mmEIeoqFi7DSupekEV2EjvE9jw/zYc9Pk67X+g7dHVfgOnvVzmrjChdxpFePw==} cpu: [arm64] os: [linux] - turbo-windows-64@1.13.0: - resolution: {integrity: sha512-hJgSZJZwlWHNwLEthaqJqJWGm4NqF5X/I7vE0sPE4i/jeDl8f0n1hcOkgJkJiNXVxhj+qy/9+4dzbPLKT9imaQ==} + turbo-windows-64@2.1.1: + resolution: {integrity: sha512-GKc9ZywKwy4xLDhwXd6H07yzl0TB52HjXMrFLyHGhCVnf/w0oq4sLJv2sjbvuarPjsyx4xnCBJ3m3oyL2XmFtA==} cpu: [x64] os: [win32] - turbo-windows-arm64@1.13.0: - resolution: {integrity: sha512-L/ErxYoXeq8tmjU/AIGicC9VyBN1zdYw8JlM4yPmMI0pJdY8E4GaYK1IiIazqq7M72lmQhU/WW7fV9FqEktwrw==} + turbo-windows-arm64@2.1.1: + resolution: {integrity: sha512-oFKkMj11KKUv3xSK9/fhAEQTxLUp1Ol1EOktwc32+SFtEU0uls7kosAz0b+qe8k3pJGEMFdDPdqoEjyJidbxtQ==} cpu: [arm64] os: [win32] - turbo@1.13.0: - resolution: {integrity: sha512-r02GtNmkOPcQvUzVE6lg474QVLyU02r3yh3lUGqrFHf5h5ZEjgDGWILsAUqplVqjri1Y/oOkTssks4CObTAaiw==} + turbo@2.1.1: + resolution: {integrity: sha512-u9gUDkmR9dFS8b5kAYqIETK4OnzsS4l2ragJ0+soSMHh6VEeNHjTfSjk1tKxCqLyziCrPogadxP680J+v6yGHw==} hasBin: true type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -6504,6 +6235,10 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} + type-fest@4.26.0: + resolution: {integrity: sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==} + engines: {node: '>=16'} + typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -6544,19 +6279,18 @@ packages: typescript-auto-import-cache@0.3.3: resolution: {integrity: sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==} + typescript-eslint@8.3.0: + resolution: {integrity: sha512-EvWjwWLwwKDIJuBjk2I6UkV8KEQcwZ0VM10nR1rIunRDIP67QJTZAHBXTX0HW/oI1H10YESF8yWie8fRQxjvFA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript-memoize@1.1.1: resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} @@ -6573,9 +6307,6 @@ packages: uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.5.1: - resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} - uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -6590,6 +6321,9 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + unified@11.0.4: resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} @@ -6629,6 +6363,10 @@ packages: universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -6654,6 +6392,9 @@ packages: url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url@0.11.3: resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} @@ -6689,44 +6430,16 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@1.4.0: - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + vite-node@2.0.5: + resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-plugin-node-polyfills@0.21.0: - resolution: {integrity: sha512-Sk4DiKnmxN8E0vhgEhzLudfJQfaT8k4/gJ25xvUPG54KjLJ6HAmDKbr4rzDD/QWEY+Lwg80KE85fGYBQihEPQA==} + vite-plugin-node-polyfills@0.22.0: + resolution: {integrity: sha512-F+G3LjiGbG8QpbH9bZ//GSBr9i1InSTkaulfUHFa9jkLqVGORFBoqc2A/Yu5Mmh1kNAbiAeKeK+6aaQUf3x0JA==} peerDependencies: vite: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - vite@5.1.6: - resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - vite@5.4.2: resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -6766,15 +6479,15 @@ packages: vite: optional: true - vitest@1.4.0: - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + vitest@2.0.5: + resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 + '@vitest/browser': 2.0.5 + '@vitest/ui': 2.0.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -6909,9 +6622,6 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - walk-up-path@3.0.1: - resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - walk-up-path@4.0.0: resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} engines: {node: 20 || >=22} @@ -6951,8 +6661,8 @@ packages: engines: {node: '>= 8'} hasBin: true - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true @@ -6982,6 +6692,18 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xml-parse-from-string@1.0.1: resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} @@ -7054,14 +6776,14 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - yocto-queue@1.1.1: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + zod-to-json-schema@3.23.2: resolution: {integrity: sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==} peerDependencies: @@ -7073,9 +6795,6 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} @@ -7091,13 +6810,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@astrojs/check@0.9.3(prettier@3.2.5)(typescript@5.4.3)': + '@astrojs/check@0.9.3(prettier@3.3.3)(typescript@5.5.4)': dependencies: - '@astrojs/language-server': 2.14.1(prettier@3.2.5)(typescript@5.4.3) + '@astrojs/language-server': 2.14.1(prettier@3.3.3)(typescript@5.5.4) chokidar: 3.6.0 fast-glob: 3.3.2 kleur: 4.1.5 - typescript: 5.4.3 + typescript: 5.5.4 yargs: 17.7.2 transitivePeerDependencies: - prettier @@ -7107,12 +6826,12 @@ snapshots: '@astrojs/internal-helpers@0.4.1': {} - '@astrojs/language-server@2.14.1(prettier@3.2.5)(typescript@5.4.3)': + '@astrojs/language-server@2.14.1(prettier@3.3.3)(typescript@5.5.4)': dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/yaml2ts': 0.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@volar/kit': 2.4.1(typescript@5.4.3) + '@volar/kit': 2.4.1(typescript@5.5.4) '@volar/language-core': 2.4.1 '@volar/language-server': 2.4.1 '@volar/language-service': 2.4.1 @@ -7122,14 +6841,14 @@ snapshots: volar-service-css: 0.0.61(@volar/language-service@2.4.1) volar-service-emmet: 0.0.61(@volar/language-service@2.4.1) volar-service-html: 0.0.61(@volar/language-service@2.4.1) - volar-service-prettier: 0.0.61(@volar/language-service@2.4.1)(prettier@3.2.5) + volar-service-prettier: 0.0.61(@volar/language-service@2.4.1)(prettier@3.3.3) volar-service-typescript: 0.0.61(@volar/language-service@2.4.1) volar-service-typescript-twoslash-queries: 0.0.61(@volar/language-service@2.4.1) volar-service-yaml: 0.0.61(@volar/language-service@2.4.1) vscode-html-languageservice: 5.2.0 vscode-uri: 3.0.8 optionalDependencies: - prettier: 3.2.5 + prettier: 3.3.3 transitivePeerDependencies: - typescript @@ -7156,12 +6875,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@3.1.5(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3))': + '@astrojs/mdx@3.1.5(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4))': dependencies: '@astrojs/markdown-remark': 5.2.0 '@mdx-js/mdx': 3.0.1 acorn: 8.12.1 - astro: 4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3) + astro: 4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4) es-module-lexer: 1.5.4 estree-util-visit: 2.0.0 gray-matter: 4.0.3 @@ -7180,13 +6899,13 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/react@3.6.2(@types/react-dom@18.2.23)(@types/react@18.2.73)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3))': + '@astrojs/react@3.6.2(@types/react-dom@18.2.23)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3))': dependencies: - '@types/react': 18.2.73 + '@types/react': 18.3.5 '@types/react-dom': 18.2.23 - '@vitejs/plugin-react': 4.3.1(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@vitejs/plugin-react': 4.3.1(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) ultrahtml: 1.5.3 transitivePeerDependencies: - supports-color @@ -7198,15 +6917,15 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.23.8 - '@astrojs/starlight@0.26.1(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3))': + '@astrojs/starlight@0.26.1(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4))': dependencies: - '@astrojs/mdx': 3.1.5(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)) + '@astrojs/mdx': 3.1.5(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)) '@astrojs/sitemap': 3.1.6 '@pagefind/default-ui': 1.0.4 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - astro: 4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3) - astro-expressive-code: 0.35.6(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)) + astro: 4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4) + astro-expressive-code: 0.35.6(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)) bcp-47: 2.1.0 hast-util-from-html: 2.0.1 hast-util-select: 6.0.2 @@ -7241,10 +6960,10 @@ snapshots: dependencies: yaml: 2.5.0 - '@auto-it/all-contributors@11.2.1(@types/node@20.12.5)(typescript@5.5.4)': + '@auto-it/all-contributors@11.2.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: '@auto-it/bot-list': 11.2.1 - '@auto-it/core': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + '@auto-it/core': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) '@octokit/rest': 18.12.0 all-contributors-cli: 6.19.0 anymatch: 3.1.3 @@ -7265,7 +6984,7 @@ snapshots: '@auto-it/bot-list@11.2.1': {} - '@auto-it/core@11.2.1(@types/node@20.12.5)(typescript@5.5.4)': + '@auto-it/core@11.2.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: '@auto-it/bot-list': 11.2.1 '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2(cosmiconfig@7.0.0)(typescript@5.5.4) @@ -7302,24 +7021,24 @@ snapshots: tapable: 2.2.1 terminal-link: 2.1.1 tinycolor2: 1.6.0 - ts-node: 10.9.2(@types/node@20.12.5)(typescript@5.5.4) + ts-node: 10.9.2(@types/node@22.5.2)(typescript@5.5.4) tslib: 2.1.0 type-fest: 0.21.3 typescript: 5.5.4 typescript-memoize: 1.1.1 url-join: 4.0.1 optionalDependencies: - '@types/node': 20.12.5 + '@types/node': 22.5.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding - supports-color - '@auto-it/first-time-contributor@11.2.1(@types/node@20.12.5)(typescript@5.5.4)': + '@auto-it/first-time-contributor@11.2.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: '@auto-it/bot-list': 11.2.1 - '@auto-it/core': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + '@auto-it/core': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) array.prototype.flatmap: 1.3.2 endent: 2.1.0 tslib: 2.1.0 @@ -7332,9 +7051,9 @@ snapshots: - supports-color - typescript - '@auto-it/npm@11.2.1(@types/node@20.12.5)(typescript@5.5.4)': + '@auto-it/npm@11.2.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: - '@auto-it/core': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + '@auto-it/core': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) '@auto-it/package-json-utils': 11.2.1 await-to-js: 3.0.0 endent: 2.1.0 @@ -7361,10 +7080,10 @@ snapshots: parse-author: 2.0.0 parse-github-url: 1.0.2 - '@auto-it/released@11.2.1(@types/node@20.12.5)(typescript@5.5.4)': + '@auto-it/released@11.2.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: '@auto-it/bot-list': 11.2.1 - '@auto-it/core': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + '@auto-it/core': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) deepmerge: 4.3.1 fp-ts: 2.16.3 io-ts: 2.2.21(fp-ts@2.16.3) @@ -7377,9 +7096,9 @@ snapshots: - supports-color - typescript - '@auto-it/version-file@11.2.1(@types/node@20.12.5)(typescript@5.5.4)': + '@auto-it/version-file@11.2.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: - '@auto-it/core': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + '@auto-it/core': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) fp-ts: 2.16.3 io-ts: 2.2.21(fp-ts@2.16.3) semver: 7.6.0 @@ -7392,20 +7111,10 @@ snapshots: - supports-color - typescript - '@babel/code-frame@7.23.5': - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - - '@babel/code-frame@7.24.2': - dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 - '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.0 + picocolors: 1.0.1 '@babel/compat-data@7.25.4': {} @@ -7480,8 +7189,6 @@ snapshots: '@babel/helper-string-parser@7.24.8': {} - '@babel/helper-validator-identifier@7.22.20': {} - '@babel/helper-validator-identifier@7.24.7': {} '@babel/helper-validator-option@7.24.8': {} @@ -7491,25 +7198,12 @@ snapshots: '@babel/template': 7.25.0 '@babel/types': 7.25.6 - '@babel/highlight@7.23.4': - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - - '@babel/highlight@7.24.2': - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - '@babel/highlight@7.24.7': dependencies: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.0 + picocolors: 1.0.1 '@babel/parser@7.24.1': dependencies: @@ -7567,7 +7261,7 @@ snapshots: '@babel/parser': 7.25.6 '@babel/template': 7.25.0 '@babel/types': 7.25.6 - debug: 4.3.4 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -7575,7 +7269,7 @@ snapshots: '@babel/types@7.24.0': dependencies: '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 '@babel/types@7.25.6': @@ -7584,6 +7278,19 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@bundled-es-modules/cookie@2.0.0': + dependencies: + cookie: 0.5.0 + + '@bundled-es-modules/statuses@1.0.1': + dependencies: + statuses: 2.0.1 + + '@bundled-es-modules/tough-cookie@0.1.6': + dependencies: + '@types/tough-cookie': 4.0.5 + tough-cookie: 4.1.4 + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -7632,157 +7339,96 @@ snapshots: dependencies: esbuild: 0.21.5 - '@esbuild/aix-ppc64@0.19.12': - optional: true - '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/android-arm64@0.19.12': - optional: true - '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm@0.19.12': - optional: true - '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-x64@0.19.12': - optional: true - '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.19.12': - optional: true - '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-x64@0.19.12': - optional: true - '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.19.12': - optional: true - '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.19.12': - optional: true - '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/linux-arm64@0.19.12': - optional: true - '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm@0.19.12': - optional: true - '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-ia32@0.19.12': - optional: true - '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-loong64@0.19.12': - optional: true - '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-mips64el@0.19.12': - optional: true - '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-ppc64@0.19.12': - optional: true - '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.19.12': - optional: true - '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-s390x@0.19.12': - optional: true - '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-x64@0.19.12': - optional: true - '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.19.12': - optional: true - '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.19.12': - optional: true - '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.19.12': - optional: true - '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/win32-arm64@0.19.12': - optional: true - '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-ia32@0.19.12': - optional: true - '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-x64@0.19.12': - optional: true - '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)': dependencies: - eslint: 8.57.0 + eslint: 9.9.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.11.0': {} + + '@eslint/config-array@0.18.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - '@eslint/eslintrc@2.1.4': + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 + debug: 4.3.6 + espree: 10.1.0 + globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -7791,7 +7437,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.9.1': {} + + '@eslint/object-schema@2.1.4': {} '@expressive-code/core@0.35.6': dependencies: @@ -7818,17 +7466,9 @@ snapshots: dependencies: '@expressive-code/core': 0.35.6 - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: @@ -7905,6 +7545,33 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true + '@inquirer/confirm@3.1.22': + dependencies: + '@inquirer/core': 9.0.10 + '@inquirer/type': 1.5.2 + + '@inquirer/core@9.0.10': + dependencies: + '@inquirer/figures': 1.0.5 + '@inquirer/type': 1.5.2 + '@types/mute-stream': 0.0.4 + '@types/node': 22.5.2 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + cli-spinners: 2.9.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + + '@inquirer/figures@1.0.5': {} + + '@inquirer/type@1.5.2': + dependencies: + mute-stream: 1.0.0 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -7927,14 +7594,14 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.5 + '@types/node': 18.19.48 '@types/yargs': 17.0.32 chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -7953,7 +7620,7 @@ snapshots: '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping@0.3.9': dependencies: @@ -7988,6 +7655,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@mswjs/interceptors@0.29.1': + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -8093,6 +7769,15 @@ snapshots: dependencies: '@octokit/openapi-types': 12.11.0 + '@open-draft/deferred-promise@2.2.0': {} + + '@open-draft/logger@0.3.0': + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + '@open-draft/until@2.1.0': {} + '@oslojs/encoding@0.4.1': {} '@pagefind/darwin-arm64@1.0.4': @@ -8117,30 +7802,22 @@ snapshots: '@polka/url@1.0.0-next.25': {} - '@rollup/plugin-alias@5.1.0(rollup@4.14.1)': + '@rollup/plugin-alias@5.1.0(rollup@4.21.2)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 4.14.1 + rollup: 4.21.2 - '@rollup/plugin-commonjs@25.0.7(rollup@4.14.1)': + '@rollup/plugin-commonjs@26.0.1(rollup@4.21.2)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.21.2) commondir: 1.0.1 estree-walker: 2.0.2 - glob: 8.1.0 + glob: 10.4.5 is-reference: 1.2.1 - magic-string: 0.30.8 - optionalDependencies: - rollup: 4.14.1 - - '@rollup/plugin-inject@5.0.5(rollup@4.14.1)': - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) - estree-walker: 2.0.2 - magic-string: 0.30.8 + magic-string: 0.30.11 optionalDependencies: - rollup: 4.14.1 + rollup: 4.21.2 '@rollup/plugin-inject@5.0.5(rollup@4.21.2)': dependencies: @@ -8150,32 +7827,24 @@ snapshots: optionalDependencies: rollup: 4.21.2 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.14.1)': + '@rollup/plugin-node-resolve@15.2.3(rollup@4.21.2)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.21.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.14.1 + rollup: 4.21.2 - '@rollup/plugin-terser@0.4.4(rollup@4.14.1)': + '@rollup/plugin-terser@0.4.4(rollup@4.21.2)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.30.3 optionalDependencies: - rollup: 4.14.1 - - '@rollup/pluginutils@5.1.0(rollup@4.14.1)': - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 4.14.1 + rollup: 4.21.2 '@rollup/pluginutils@5.1.0(rollup@4.21.2)': dependencies: @@ -8185,96 +7854,51 @@ snapshots: optionalDependencies: rollup: 4.21.2 - '@rollup/rollup-android-arm-eabi@4.14.1': - optional: true - '@rollup/rollup-android-arm-eabi@4.21.2': optional: true - '@rollup/rollup-android-arm64@4.14.1': - optional: true - '@rollup/rollup-android-arm64@4.21.2': optional: true - '@rollup/rollup-darwin-arm64@4.14.1': - optional: true - '@rollup/rollup-darwin-arm64@4.21.2': optional: true - '@rollup/rollup-darwin-x64@4.14.1': - optional: true - '@rollup/rollup-darwin-x64@4.21.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.14.1': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.2': optional: true '@rollup/rollup-linux-arm-musleabihf@4.21.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.14.1': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.14.1': - optional: true - '@rollup/rollup-linux-arm64-musl@4.21.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.14.1': - optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.14.1': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.14.1': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.14.1': - optional: true - '@rollup/rollup-linux-x64-gnu@4.21.2': optional: true - '@rollup/rollup-linux-x64-musl@4.14.1': - optional: true - '@rollup/rollup-linux-x64-musl@4.21.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.14.1': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.14.1': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.14.1': - optional: true - '@rollup/rollup-win32-x64-msvc@4.21.2': optional: true @@ -8286,6 +7910,21 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@testing-library/dom@10.4.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.25.6 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': + dependencies: + '@testing-library/dom': 10.4.0 + '@tokenizer/token@0.3.0': {} '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -8298,17 +7937,17 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/gen@1.12.5(@types/node@20.12.5)(typescript@5.5.4)': + '@turbo/gen@2.1.1(@types/node@22.5.2)(typescript@5.5.4)': dependencies: - '@turbo/workspaces': 1.12.5 - chalk: 2.4.2 + '@turbo/workspaces': 2.1.1 commander: 10.0.1 fs-extra: 10.1.0 inquirer: 8.2.6 - minimatch: 9.0.3 + minimatch: 9.0.5 node-plop: 0.26.3 + picocolors: 1.0.1 proxy-agent: 6.4.0 - ts-node: 10.9.2(@types/node@20.12.5)(typescript@5.5.4) + ts-node: 10.9.2(@types/node@22.5.2)(typescript@5.5.4) update-check: 1.5.4 validate-npm-package-name: 5.0.0 transitivePeerDependencies: @@ -8318,9 +7957,8 @@ snapshots: - supports-color - typescript - '@turbo/workspaces@1.12.5': + '@turbo/workspaces@2.1.1': dependencies: - chalk: 2.4.2 commander: 10.0.1 execa: 5.1.1 fast-glob: 3.3.2 @@ -8329,8 +7967,9 @@ snapshots: inquirer: 8.2.6 js-yaml: 4.1.0 ora: 4.1.1 + picocolors: 1.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.3 update-check: 1.5.4 '@types/acorn@4.0.6': @@ -8339,6 +7978,8 @@ snapshots: '@types/any-base@1.1.3': {} + '@types/aria-query@5.0.4': {} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.1 @@ -8370,6 +8011,15 @@ snapshots: dependencies: '@types/ms': 0.7.34 + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/eslint__js@8.42.3': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.5 @@ -8383,7 +8033,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.5 + '@types/node': 18.19.48 '@types/hast@3.0.4': dependencies: @@ -8433,6 +8083,10 @@ snapshots: '@types/ms@0.7.34': {} + '@types/mute-stream@0.0.4': + dependencies: + '@types/node': 18.19.48 + '@types/nlcst@2.0.3': dependencies: '@types/unist': 3.0.2 @@ -8441,29 +8095,33 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@20.12.5': + '@types/node@18.19.48': dependencies: undici-types: 5.26.5 + '@types/node@22.5.2': + dependencies: + undici-types: 6.19.8 + '@types/omggif@1.0.5': {} '@types/parse-json@4.0.2': {} '@types/pixelmatch@5.2.6': dependencies: - '@types/node': 20.12.5 + '@types/node': 18.19.48 - '@types/pngjs@6.0.4': + '@types/pngjs@6.0.5': dependencies: - '@types/node': 20.12.5 + '@types/node': 18.19.48 '@types/prop-types@15.7.12': {} '@types/react-dom@18.2.23': dependencies: - '@types/react': 18.2.73 + '@types/react': 18.3.5 - '@types/react@18.2.73': + '@types/react@18.3.5': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -8472,171 +8130,183 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.12.5 - - '@types/semver@7.5.8': {} + '@types/node': 18.19.48 '@types/stack-utils@2.0.3': {} + '@types/statuses@2.0.5': {} + '@types/through@0.0.33': dependencies: - '@types/node': 20.12.5 + '@types/node': 18.19.48 '@types/tinycolor2@1.4.6': {} + '@types/tough-cookie@4.0.5': {} + '@types/unist@2.0.10': {} '@types/unist@3.0.2': {} + '@types/wrap-ansi@3.0.0': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.4 - eslint: 8.57.0 + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/type-utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.3.0 + eslint: 9.9.1 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.4 - eslint: 8.57.0 + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/visitor-keys': 8.3.0 + debug: 4.3.6 + eslint: 9.9.1 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.2.0': + '@typescript-eslint/scope-manager@8.3.0': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/visitor-keys': 8.3.0 - '@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.5.4) - debug: 4.3.4 - eslint: 8.57.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + debug: 4.3.6 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@7.2.0': {} + '@typescript-eslint/types@8.3.0': {} - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@8.3.0(typescript@5.5.4)': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.4 - globby: 11.1.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/visitor-keys': 8.3.0 + debug: 4.3.6 + fast-glob: 3.3.2 is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 + minimatch: 9.0.5 + semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@8.3.0(eslint@9.9.1)(typescript@5.5.4)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4) - eslint: 8.57.0 - semver: 7.6.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) + '@typescript-eslint/scope-manager': 8.3.0 + '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.4) + eslint: 9.9.1 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.2.0': + '@typescript-eslint/visitor-keys@8.3.0': dependencies: - '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/types': 8.3.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3))': + '@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.4.2(@types/node@20.12.5)(terser@5.30.3) + vite: 5.4.2(@types/node@22.5.2)(terser@5.30.3) transitivePeerDependencies: - supports-color - '@vitest/browser@1.4.0(playwright@1.42.1)(vitest@1.4.0)': + '@vitest/browser@2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5)': dependencies: - '@vitest/utils': 1.4.0 - magic-string: 0.30.8 + '@testing-library/dom': 10.4.0 + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) + '@vitest/utils': 2.0.5 + magic-string: 0.30.11 + msw: 2.4.1(typescript@5.5.4) sirv: 2.0.4 - vitest: 1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3) + vitest: 2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3) + ws: 8.18.0 optionalDependencies: - playwright: 1.42.1 + playwright: 1.46.1 + transitivePeerDependencies: + - bufferutil + - graphql + - typescript + - utf-8-validate + + '@vitest/expect@2.0.5': + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 - '@vitest/expect@1.4.0': + '@vitest/pretty-format@2.0.5': dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - chai: 4.4.1 + tinyrainbow: 1.2.0 - '@vitest/runner@1.4.0': + '@vitest/runner@2.0.5': dependencies: - '@vitest/utils': 1.4.0 - p-limit: 5.0.0 + '@vitest/utils': 2.0.5 pathe: 1.1.2 - '@vitest/snapshot@1.4.0': + '@vitest/snapshot@2.0.5': dependencies: - magic-string: 0.30.8 + '@vitest/pretty-format': 2.0.5 + magic-string: 0.30.11 pathe: 1.1.2 - pretty-format: 29.7.0 - '@vitest/spy@1.4.0': + '@vitest/spy@2.0.5': dependencies: - tinyspy: 2.2.1 + tinyspy: 3.0.0 - '@vitest/utils@1.4.0': + '@vitest/utils@2.0.5': dependencies: - diff-sequences: 29.6.3 + '@vitest/pretty-format': 2.0.5 estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 + loupe: 3.1.1 + tinyrainbow: 1.2.0 - '@volar/kit@2.4.1(typescript@5.4.3)': + '@volar/kit@2.4.1(typescript@5.5.4)': dependencies: '@volar/language-service': 2.4.1 '@volar/typescript': 2.4.1 typesafe-path: 0.2.2 - typescript: 5.4.3 + typescript: 5.5.4 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 @@ -8681,10 +8351,6 @@ snapshots: '@vscode/l10n@0.0.18': {} - acorn-jsx@5.3.2(acorn@8.11.3): - dependencies: - acorn: 8.11.3 - acorn-jsx@5.3.2(acorn@8.12.1): dependencies: acorn: 8.12.1 @@ -8697,13 +8363,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color agent-base@7.1.0: dependencies: - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -8839,7 +8505,7 @@ snapshots: object.assign: 4.1.5 util: 0.12.5 - assertion-error@1.1.0: {} + assertion-error@2.0.1: {} ast-types@0.13.4: dependencies: @@ -8847,12 +8513,12 @@ snapshots: astring@1.8.6: {} - astro-expressive-code@0.35.6(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)): + astro-expressive-code@0.35.6(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)): dependencies: - astro: 4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3) + astro: 4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4) rehype-expressive-code: 0.35.6 - astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3): + astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.1 @@ -8909,17 +8575,17 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.0 tinyexec: 0.3.0 - tsconfck: 3.1.3(typescript@5.4.3) + tsconfck: 3.1.3(typescript@5.5.4) unist-util-visit: 5.0.0 vfile: 6.0.3 - vite: 5.4.2(@types/node@20.12.5)(terser@5.30.3) - vitefu: 0.2.5(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)) + vite: 5.4.2(@types/node@22.5.2)(terser@5.30.3) + vitefu: 0.2.5(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)) which-pm: 3.0.0 xxhash-wasm: 1.0.2 yargs-parser: 21.1.1 zod: 3.23.8 zod-to-json-schema: 3.23.2(zod@3.23.8) - zod-to-ts: 1.2.0(typescript@5.4.3)(zod@3.23.8) + zod-to-ts: 1.2.0(typescript@5.5.4)(zod@3.23.8) optionalDependencies: sharp: 0.33.5 transitivePeerDependencies: @@ -8939,12 +8605,12 @@ snapshots: author-regex@1.0.0: {} - auto@11.2.1(@types/node@20.12.5)(typescript@5.5.4): + auto@11.2.1(@types/node@22.5.2)(typescript@5.5.4): dependencies: - '@auto-it/core': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) - '@auto-it/npm': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) - '@auto-it/released': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) - '@auto-it/version-file': 11.2.1(@types/node@20.12.5)(typescript@5.5.4) + '@auto-it/core': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) + '@auto-it/npm': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) + '@auto-it/released': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) + '@auto-it/version-file': 11.2.1(@types/node@22.5.2)(typescript@5.5.4) await-to-js: 3.0.0 chalk: 4.1.2 command-line-application: 0.10.1 @@ -8969,31 +8635,10 @@ snapshots: axobject-query@4.1.0: {} - b4a@1.6.6: {} - bail@2.0.2: {} balanced-match@1.0.2: {} - bare-events@2.2.2: - optional: true - - bare-fs@2.2.2: - dependencies: - bare-events: 2.2.2 - bare-os: 2.2.1 - bare-path: 2.1.0 - streamx: 2.16.1 - optional: true - - bare-os@2.2.1: - optional: true - - bare-path@2.1.0: - dependencies: - bare-os: 2.2.1 - optional: true - base-64@1.0.0: {} base64-js@1.5.1: {} @@ -9133,7 +8778,7 @@ snapshots: builtins@5.0.1: dependencies: - semver: 7.6.0 + semver: 7.6.3 cac@6.7.14: {} @@ -9160,15 +8805,13 @@ snapshots: ccount@2.0.1: {} - chai@4.4.1: + chai@5.1.1: dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 chalk@2.4.2: dependencies: @@ -9219,9 +8862,7 @@ snapshots: chardet@0.7.0: {} - check-error@1.0.3: - dependencies: - get-func-name: 2.0.2 + check-error@2.1.1: {} chokidar@3.6.0: dependencies: @@ -9235,8 +8876,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@1.1.4: {} - ci-info@3.9.0: {} ci-info@4.0.0: {} @@ -9262,6 +8901,8 @@ snapshots: cli-width@3.0.0: {} + cli-width@4.1.0: {} + cliui@6.0.0: dependencies: string-width: 4.2.3 @@ -9350,6 +8991,8 @@ snapshots: convert-source-map@2.0.0: {} + cookie@0.5.0: {} + cookie@0.6.0: {} core-js-pure@3.36.0: {} @@ -9448,15 +9091,9 @@ snapshots: dependencies: character-entities: 2.0.2 - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - dedent@0.7.0: {} - deep-eql@4.1.3: - dependencies: - type-detect: 4.0.8 + deep-eql@5.0.2: {} deep-extend@0.6.0: {} @@ -9544,9 +9181,7 @@ snapshots: dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 + dom-accessibility-api@0.5.16: {} domain-browser@4.23.0: {} @@ -9585,10 +9220,6 @@ snapshots: emoji-regex@9.2.2: {} - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - endent@2.1.0: dependencies: dedent: 0.7.0 @@ -9691,32 +9322,6 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -9761,61 +9366,57 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@9.9.1): dependencies: - eslint: 8.57.0 + eslint: 9.9.1 - eslint-config-turbo@1.12.5(eslint@8.57.0): + eslint-config-turbo@2.1.1(eslint@9.9.1): dependencies: - eslint: 8.57.0 - eslint-plugin-turbo: 1.12.5(eslint@8.57.0) - - eslint-plugin-only-warn@1.1.0: {} + eslint: 9.9.1 + eslint-plugin-turbo: 2.1.1(eslint@9.9.1) - eslint-plugin-turbo@1.12.5(eslint@8.57.0): + eslint-plugin-turbo@2.1.1(eslint@9.9.1): dependencies: dotenv: 16.0.3 - eslint: 8.57.0 + eslint: 9.9.1 - eslint-scope@7.2.2: + eslint-scope@8.0.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.9.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) + '@eslint-community/regexpp': 4.11.0 + '@eslint/config-array': 0.18.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.9.1 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + debug: 4.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.2 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -9827,11 +9428,11 @@ snapshots: transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@10.1.0: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 4.0.0 esprima@4.0.1: {} @@ -9912,8 +9513,6 @@ snapshots: exif-parser@0.1.12: {} - expand-template@2.0.3: {} - expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -9943,8 +9542,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-fifo@1.3.2: {} - fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -9971,9 +9568,9 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-type@16.5.4: dependencies: @@ -10014,11 +9611,10 @@ snapshots: micromatch: 4.0.8 pkg-dir: 4.2.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.1: {} @@ -10037,8 +9633,6 @@ snapshots: fromentries@1.3.2: {} - fs-constants@1.0.0: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -10111,7 +9705,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.4 + debug: 4.3.6 fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -10121,13 +9715,11 @@ snapshots: image-q: 4.0.0 omggif: 1.0.10 - github-from-package@0.0.0: {} - github-slugger@2.0.0: {} gitlog@4.0.8: dependencies: - debug: 4.3.4 + debug: 4.3.6 tslib: 2.6.2 transitivePeerDependencies: - supports-color @@ -10140,13 +9732,14 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.10: + glob@10.4.5: dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 glob@11.0.0: dependencies: @@ -10166,19 +9759,9 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globalthis@1.0.4: dependencies: @@ -10196,15 +9779,6 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - globby@7.1.1: dependencies: array-union: 1.0.2 @@ -10483,6 +10057,8 @@ snapshots: no-case: 2.3.2 upper-case: 1.1.3 + headers-polyfill@4.0.3: {} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 @@ -10500,7 +10076,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.0 - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -10509,14 +10085,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.0 - debug: 4.3.4 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -10712,6 +10288,8 @@ snapshots: is-negative-zero@2.0.3: {} + is-node-process@1.2.0: {} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -10787,7 +10365,7 @@ snapshots: isomorphic-timers-promises@1.0.1: {} - jackspeak@2.3.6: + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -10830,7 +10408,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -10843,7 +10421,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.5 + '@types/node': 18.19.48 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -10853,8 +10431,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@8.0.3: {} - js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -10933,11 +10509,6 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - local-pkg@0.5.0: - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -10981,7 +10552,7 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@2.3.7: + loupe@3.1.1: dependencies: get-func-name: 2.0.2 @@ -10991,7 +10562,7 @@ snapshots: lower-case@1.1.4: {} - lru-cache@10.2.0: {} + lru-cache@10.4.3: {} lru-cache@11.0.0: {} @@ -11007,6 +10578,8 @@ snapshots: lunr@2.3.9: {} + lz-string@1.5.0: {} + magic-string@0.30.11: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -11487,7 +11060,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.4 + debug: 4.3.6 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 @@ -11529,8 +11102,6 @@ snapshots: mimic-function@5.0.1: {} - mimic-response@3.1.0: {} - minimalistic-assert@1.0.1: {} minimalistic-crypto-utils@1.0.1: {} @@ -11543,52 +11114,54 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 minimist@1.2.8: {} - minipass@7.0.4: {} - minipass@7.1.2: {} - mkdirp-classic@0.5.3: {} - mkdirp@0.5.6: dependencies: minimist: 1.2.8 mkdirp@3.0.1: {} - mlly@1.6.1: - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.5.1 - module-alias@2.2.3: {} mrmime@2.0.0: {} ms@2.1.2: {} + msw@2.4.1(typescript@5.5.4): + dependencies: + '@bundled-es-modules/cookie': 2.0.0 + '@bundled-es-modules/statuses': 1.0.1 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 3.1.22 + '@mswjs/interceptors': 0.29.1 + '@open-draft/until': 2.1.0 + '@types/cookie': 0.6.0 + '@types/statuses': 2.0.5 + chalk: 4.1.2 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.2.2 + strict-event-emitter: 0.5.1 + type-fest: 4.26.0 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.5.4 + muggle-string@0.4.1: {} mute-stream@0.0.8: {} - nanoid@3.3.7: {} + mute-stream@1.0.0: {} - napi-build-utils@1.0.2: {} + nanoid@3.3.7: {} natural-compare@1.4.0: {} @@ -11608,12 +11181,6 @@ snapshots: dependencies: lower-case: 1.1.4 - node-abi@3.56.0: - dependencies: - semver: 7.6.0 - - node-addon-api@6.1.0: {} - node-fetch@2.6.7: dependencies: whatwg-url: 5.0.0 @@ -11670,6 +11237,8 @@ snapshots: not@0.1.0: {} + npm-check-updates@17.1.1: {} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -11768,6 +11337,8 @@ snapshots: os-tmpdir@1.0.2: {} + outvariant@1.4.3: {} + p-limit@1.3.0: dependencies: p-try: 1.0.0 @@ -11780,10 +11351,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@5.0.0: - dependencies: - yocto-queue: 1.0.0 - p-limit@6.1.0: dependencies: yocto-queue: 1.1.1 @@ -11819,7 +11386,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.0 - debug: 4.3.4 + debug: 4.3.6 get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 @@ -11895,7 +11462,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -11938,10 +11505,10 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.4.3 + minipass: 7.1.2 path-scurry@2.0.0: dependencies: @@ -11958,7 +11525,7 @@ snapshots: pathe@1.1.2: {} - pathval@1.1.1: {} + pathval@2.0.0: {} pbkdf2@3.1.2: dependencies: @@ -11978,8 +11545,6 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.2 - picocolors@1.0.0: {} - picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -12007,17 +11572,11 @@ snapshots: dependencies: find-up: 5.0.0 - pkg-types@1.0.3: - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - - playwright-core@1.42.1: {} + playwright-core@1.46.1: {} - playwright@1.42.1: + playwright@1.46.1: dependencies: - playwright-core: 1.42.1 + playwright-core: 1.46.1 optionalDependencies: fsevents: 2.3.2 @@ -12027,8 +11586,6 @@ snapshots: pngjs@7.0.0: {} - polite-json@4.0.1: {} - polite-json@5.0.0: {} possible-typed-array-names@1.0.0: {} @@ -12043,33 +11600,12 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.4.35: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - postcss@8.4.42: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 source-map-js: 1.2.0 - prebuild-install@7.1.2: - dependencies: - detect-libc: 2.0.3 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.56.0 - pump: 3.0.0 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - preferred-pm@4.0.0: dependencies: find-up-simple: 1.0.0 @@ -12081,7 +11617,13 @@ snapshots: prettier@2.8.7: optional: true - prettier@3.2.5: {} + prettier@3.3.3: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 pretty-format@29.7.0: dependencies: @@ -12109,7 +11651,7 @@ snapshots: proxy-agent@6.4.0: dependencies: agent-base: 7.1.0 - debug: 4.3.4 + debug: 4.3.6 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 lru-cache: 7.18.3 @@ -12121,6 +11663,8 @@ snapshots: proxy-from-env@1.1.0: {} + psl@1.9.0: {} + public-encrypt@4.0.3: dependencies: bn.js: 4.12.0 @@ -12130,11 +11674,6 @@ snapshots: randombytes: 2.1.0 safe-buffer: 5.2.1 - pump@3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - punycode.js@2.3.1: {} punycode@1.4.1: {} @@ -12147,9 +11686,9 @@ snapshots: querystring-es3@0.2.1: {} - queue-microtask@1.2.3: {} + querystringify@2.2.0: {} - queue-tick@1.0.1: {} + queue-microtask@1.2.3: {} randombytes@2.1.0: dependencies: @@ -12167,17 +11706,19 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dom@18.2.0(react@18.2.0): + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-is@17.0.2: {} react-is@18.2.0: {} react-refresh@0.14.2: {} - react@18.2.0: + react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -12352,15 +11893,12 @@ snapshots: rc: 1.2.8 resolve: 1.7.1 + requires-port@1.0.0: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} - resolve-import@1.4.5: - dependencies: - glob: 10.3.10 - walk-up-path: 3.0.1 - resolve-import@2.0.0: dependencies: glob: 11.0.0 @@ -12423,10 +11961,6 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@5.0.5: - dependencies: - glob: 10.3.10 - rimraf@6.0.1: dependencies: glob: 11.0.0 @@ -12437,50 +11971,29 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 - rollup-plugin-dts@6.1.0(rollup@4.14.1)(typescript@5.5.4): + rollup-plugin-dts@6.1.1(rollup@4.21.2)(typescript@5.5.4): dependencies: - magic-string: 0.30.8 - rollup: 4.14.1 + magic-string: 0.30.11 + rollup: 4.21.2 typescript: 5.5.4 optionalDependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 - rollup-plugin-esbuild@6.1.1(esbuild@0.21.5)(rollup@4.14.1): + rollup-plugin-esbuild@6.1.1(esbuild@0.21.5)(rollup@4.21.2): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.1) + '@rollup/pluginutils': 5.1.0(rollup@4.21.2) debug: 4.3.4 es-module-lexer: 1.5.0 esbuild: 0.21.5 get-tsconfig: 4.7.3 - rollup: 4.14.1 + rollup: 4.21.2 transitivePeerDependencies: - supports-color - rollup-plugin-polyfill-node@0.13.0(rollup@4.14.1): + rollup-plugin-polyfill-node@0.13.0(rollup@4.21.2): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.14.1) - rollup: 4.14.1 - - rollup@4.14.1: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.1 - '@rollup/rollup-android-arm64': 4.14.1 - '@rollup/rollup-darwin-arm64': 4.14.1 - '@rollup/rollup-darwin-x64': 4.14.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 - '@rollup/rollup-linux-arm64-gnu': 4.14.1 - '@rollup/rollup-linux-arm64-musl': 4.14.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 - '@rollup/rollup-linux-riscv64-gnu': 4.14.1 - '@rollup/rollup-linux-s390x-gnu': 4.14.1 - '@rollup/rollup-linux-x64-gnu': 4.14.1 - '@rollup/rollup-linux-x64-musl': 4.14.1 - '@rollup/rollup-win32-arm64-msvc': 4.14.1 - '@rollup/rollup-win32-ia32-msvc': 4.14.1 - '@rollup/rollup-win32-x64-msvc': 4.14.1 - fsevents: 2.3.3 + '@rollup/plugin-inject': 5.0.5(rollup@4.21.2) + rollup: 4.21.2 rollup@4.21.2: dependencies: @@ -12539,7 +12052,7 @@ snapshots: sax@1.3.0: {} - scheduler@0.23.0: + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 @@ -12590,17 +12103,6 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 - sharp@0.32.6: - dependencies: - color: 4.2.3 - detect-libc: 2.0.3 - node-addon-api: 6.1.0 - prebuild-install: 7.1.2 - semver: 7.6.0 - simple-get: 4.0.1 - tar-fs: 3.0.5 - tunnel-agent: 0.6.0 - sharp@0.33.5: dependencies: color: 4.2.3 @@ -12626,7 +12128,6 @@ snapshots: '@img/sharp-wasm32': 0.33.5 '@img/sharp-win32-ia32': 0.33.5 '@img/sharp-win32-x64': 0.33.5 - optional: true shebang-command@2.0.0: dependencies: @@ -12662,14 +12163,6 @@ snapshots: figures: 2.0.0 pkg-conf: 2.1.0 - simple-concat@1.0.1: {} - - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -12706,7 +12199,7 @@ snapshots: socks-proxy-agent@8.0.2: dependencies: agent-base: 7.1.0 - debug: 4.3.4 + debug: 4.3.6 socks: 2.8.1 transitivePeerDependencies: - supports-color @@ -12716,8 +12209,6 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 - source-map-js@1.0.2: {} - source-map-js@1.2.0: {} source-map-support@0.5.21: @@ -12743,13 +12234,15 @@ snapshots: stackback@0.0.2: {} - starlight-typedoc@0.15.0(@astrojs/starlight@0.26.1(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)))(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3))(typedoc-plugin-markdown@4.2.6(typedoc@0.26.6(typescript@5.4.3)))(typedoc@0.26.6(typescript@5.4.3)): + starlight-typedoc@0.15.0(@astrojs/starlight@0.26.1(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)))(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4))(typedoc-plugin-markdown@4.2.6(typedoc@0.26.6(typescript@5.5.4)))(typedoc@0.26.6(typescript@5.5.4)): dependencies: - '@astrojs/starlight': 0.26.1(astro@4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3)) - astro: 4.15.1(@types/node@20.12.5)(rollup@4.21.2)(terser@5.30.3)(typescript@5.4.3) + '@astrojs/starlight': 0.26.1(astro@4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4)) + astro: 4.15.1(@types/node@22.5.2)(rollup@4.21.2)(terser@5.30.3)(typescript@5.5.4) github-slugger: 2.0.0 - typedoc: 0.26.6(typescript@5.4.3) - typedoc-plugin-markdown: 4.2.6(typedoc@0.26.6(typescript@5.4.3)) + typedoc: 0.26.6(typescript@5.5.4) + typedoc-plugin-markdown: 4.2.6(typedoc@0.26.6(typescript@5.5.4)) + + statuses@2.0.1: {} std-env@3.7.0: {} @@ -12769,12 +12262,7 @@ snapshots: stream-replace-string@2.0.0: {} - streamx@2.16.1: - dependencies: - fast-fifo: 1.3.2 - queue-tick: 1.0.1 - optionalDependencies: - bare-events: 2.2.2 + strict-event-emitter@0.5.1: {} string-width@4.2.3: dependencies: @@ -12846,10 +12334,6 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@2.0.0: - dependencies: - js-tokens: 8.0.3 - strtok3@6.3.0: dependencies: '@tokenizer/token': 0.3.0 @@ -12883,13 +12367,6 @@ snapshots: lower-case: 1.1.4 upper-case: 1.1.3 - sync-content@1.0.2: - dependencies: - glob: 10.3.10 - mkdirp: 3.0.1 - path-scurry: 1.10.1 - rimraf: 5.0.5 - sync-content@2.0.1: dependencies: glob: 11.0.0 @@ -12907,35 +12384,6 @@ snapshots: tapable@2.2.1: {} - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - - tar-fs@3.0.5: - dependencies: - pump: 3.0.0 - tar-stream: 3.1.7 - optionalDependencies: - bare-fs: 2.2.2 - bare-path: 2.1.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - - tar-stream@3.1.7: - dependencies: - b4a: 1.6.6 - fast-fifo: 1.3.2 - streamx: 2.16.1 - terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 @@ -12956,7 +12404,7 @@ snapshots: dependencies: setimmediate: 1.0.5 - tinybench@2.6.0: {} + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -12967,9 +12415,11 @@ snapshots: '@types/tinycolor2': 1.4.6 tinycolor2: 1.6.0 - tinypool@0.8.2: {} + tinypool@1.0.1: {} - tinyspy@2.2.1: {} + tinyrainbow@1.2.0: {} + + tinyspy@3.0.0: {} title-case@2.1.1: dependencies: @@ -12993,6 +12443,13 @@ snapshots: totalist@3.0.1: {} + tough-cookie@4.1.4: + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + tr46@0.0.3: {} trim-lines@3.0.1: {} @@ -13003,14 +12460,14 @@ snapshots: dependencies: typescript: 5.5.4 - ts-node@10.9.2(@types/node@20.12.5)(typescript@5.5.4): + ts-node@10.9.2(@types/node@22.5.2)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.5 + '@types/node': 22.5.2 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -13031,22 +12488,9 @@ snapshots: typescript: 5.5.4 yn: 3.1.1 - tsconfck@3.1.3(typescript@5.4.3): + tsconfck@3.1.3(typescript@5.5.4): optionalDependencies: - typescript: 5.4.3 - - tshy@1.12.0: - dependencies: - chalk: 5.3.0 - chokidar: 3.6.0 - foreground-child: 3.1.1 - mkdirp: 3.0.1 - polite-json: 4.0.1 - resolve-import: 1.4.5 - rimraf: 5.0.5 - sync-content: 1.0.2 - typescript: 5.3.3 - walk-up-path: 3.0.1 + typescript: 5.5.4 tshy@3.0.2: dependencies: @@ -13070,49 +12514,43 @@ snapshots: tty-browserify@0.0.1: {} - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - - turbo-darwin-64@1.13.0: + turbo-darwin-64@2.1.1: optional: true - turbo-darwin-arm64@1.13.0: + turbo-darwin-arm64@2.1.1: optional: true - turbo-linux-64@1.13.0: + turbo-linux-64@2.1.1: optional: true - turbo-linux-arm64@1.13.0: + turbo-linux-arm64@2.1.1: optional: true - turbo-windows-64@1.13.0: + turbo-windows-64@2.1.1: optional: true - turbo-windows-arm64@1.13.0: + turbo-windows-arm64@2.1.1: optional: true - turbo@1.13.0: + turbo@2.1.1: optionalDependencies: - turbo-darwin-64: 1.13.0 - turbo-darwin-arm64: 1.13.0 - turbo-linux-64: 1.13.0 - turbo-linux-arm64: 1.13.0 - turbo-windows-64: 1.13.0 - turbo-windows-arm64: 1.13.0 + turbo-darwin-64: 2.1.1 + turbo-darwin-arm64: 2.1.1 + turbo-linux-64: 2.1.1 + turbo-linux-arm64: 2.1.1 + turbo-windows-64: 2.1.1 + turbo-windows-arm64: 2.1.1 type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} - - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@2.19.0: {} + type-fest@4.26.0: {} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 @@ -13145,21 +12583,21 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedoc-plugin-markdown@4.2.6(typedoc@0.26.6(typescript@5.4.3)): + typedoc-plugin-markdown@4.2.6(typedoc@0.26.6(typescript@5.5.4)): dependencies: - typedoc: 0.26.6(typescript@5.4.3) + typedoc: 0.26.6(typescript@5.5.4) - typedoc-plugin-zod@1.2.1(typedoc@0.26.6(typescript@5.4.3)): + typedoc-plugin-zod@1.2.1(typedoc@0.26.6(typescript@5.5.4)): dependencies: - typedoc: 0.26.6(typescript@5.4.3) + typedoc: 0.26.6(typescript@5.5.4) - typedoc@0.26.6(typescript@5.4.3): + typedoc@0.26.6(typescript@5.5.4): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 shiki: 1.15.2 - typescript: 5.4.3 + typescript: 5.5.4 yaml: 2.5.0 typesafe-path@0.2.2: {} @@ -13168,11 +12606,18 @@ snapshots: dependencies: semver: 7.6.3 - typescript-memoize@1.1.1: {} - - typescript@5.3.3: {} + typescript-eslint@8.3.0(eslint@9.9.1)(typescript@5.5.4): + dependencies: + '@typescript-eslint/eslint-plugin': 8.3.0(@typescript-eslint/parser@8.3.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/parser': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + '@typescript-eslint/utils': 8.3.0(eslint@9.9.1)(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + transitivePeerDependencies: + - eslint + - supports-color - typescript@5.4.3: {} + typescript-memoize@1.1.1: {} typescript@5.5.4: {} @@ -13182,8 +12627,6 @@ snapshots: uc.micro@2.1.0: {} - ufo@1.5.1: {} - uglify-js@3.17.4: optional: true @@ -13198,6 +12641,8 @@ snapshots: undici-types@5.26.5: {} + undici-types@6.19.8: {} + unified@11.0.4: dependencies: '@types/unist': 3.0.2 @@ -13266,6 +12711,8 @@ snapshots: universal-user-agent@6.0.1: {} + universalify@0.2.0: {} + universalify@2.0.1: {} update-browserslist-db@1.1.0(browserslist@4.23.3): @@ -13291,6 +12738,11 @@ snapshots: url-join@4.0.1: {} + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + url@0.11.3: dependencies: punycode: 1.4.1 @@ -13341,92 +12793,145 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-node@1.4.0(@types/node@20.12.5)(terser@5.30.3): + vite-node@2.0.5(@types/node@18.19.48)(terser@5.30.3): dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.6 + pathe: 1.1.2 + tinyrainbow: 1.2.0 + vite: 5.4.2(@types/node@18.19.48)(terser@5.30.3) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite-node@2.0.5(@types/node@22.5.2)(terser@5.30.3): + dependencies: + cac: 6.7.14 + debug: 4.3.6 pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.6(@types/node@20.12.5)(terser@5.30.3) + tinyrainbow: 1.2.0 + vite: 5.4.2(@types/node@22.5.2)(terser@5.30.3) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite-plugin-node-polyfills@0.21.0(rollup@4.14.1)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)): + vite-plugin-node-polyfills@0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@18.19.48)(terser@5.30.3)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.14.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.21.2) node-stdlib-browser: 1.2.0 - vite: 5.4.2(@types/node@20.12.5)(terser@5.30.3) + vite: 5.4.2(@types/node@18.19.48)(terser@5.30.3) transitivePeerDependencies: - rollup - vite-plugin-node-polyfills@0.21.0(rollup@4.21.2)(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)): + vite-plugin-node-polyfills@0.22.0(rollup@4.21.2)(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.21.2) node-stdlib-browser: 1.2.0 - vite: 5.4.2(@types/node@20.12.5)(terser@5.30.3) + vite: 5.4.2(@types/node@22.5.2)(terser@5.30.3) transitivePeerDependencies: - rollup - vite@5.1.6(@types/node@20.12.5)(terser@5.30.3): + vite@5.4.2(@types/node@18.19.48)(terser@5.30.3): dependencies: - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.14.1 + esbuild: 0.21.5 + postcss: 8.4.42 + rollup: 4.21.2 optionalDependencies: - '@types/node': 20.12.5 + '@types/node': 18.19.48 fsevents: 2.3.3 terser: 5.30.3 - vite@5.4.2(@types/node@20.12.5)(terser@5.30.3): + vite@5.4.2(@types/node@22.5.2)(terser@5.30.3): dependencies: esbuild: 0.21.5 postcss: 8.4.42 rollup: 4.21.2 optionalDependencies: - '@types/node': 20.12.5 + '@types/node': 22.5.2 fsevents: 2.3.3 terser: 5.30.3 - vitefu@0.2.5(vite@5.4.2(@types/node@20.12.5)(terser@5.30.3)): + vitefu@0.2.5(vite@5.4.2(@types/node@22.5.2)(terser@5.30.3)): optionalDependencies: - vite: 5.4.2(@types/node@20.12.5)(terser@5.30.3) + vite: 5.4.2(@types/node@22.5.2)(terser@5.30.3) - vitest@1.4.0(@types/node@20.12.5)(@vitest/browser@1.4.0)(terser@5.30.3): + vitest@2.0.5(@types/node@18.19.48)(@vitest/browser@2.0.5)(terser@5.30.3): dependencies: - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.0.5 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.6 execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.2(@types/node@18.19.48)(terser@5.30.3) + vite-node: 2.0.5(@types/node@18.19.48)(terser@5.30.3) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 18.19.48 + '@vitest/browser': 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@2.0.5)(terser@5.30.3): + dependencies: + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.0.5 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.6 + execa: 8.0.1 + magic-string: 0.30.11 pathe: 1.1.2 - picocolors: 1.0.0 std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.6(@types/node@20.12.5)(terser@5.30.3) - vite-node: 1.4.0(@types/node@20.12.5)(terser@5.30.3) - why-is-node-running: 2.2.2 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.2(@types/node@22.5.2)(terser@5.30.3) + vite-node: 2.0.5(@types/node@22.5.2)(terser@5.30.3) + why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.12.5 - '@vitest/browser': 1.4.0(playwright@1.42.1)(vitest@1.4.0) + '@types/node': 22.5.2 + '@vitest/browser': 2.0.5(playwright@1.46.1)(typescript@5.5.4)(vitest@2.0.5) transitivePeerDependencies: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -13459,12 +12964,12 @@ snapshots: optionalDependencies: '@volar/language-service': 2.4.1 - volar-service-prettier@0.0.61(@volar/language-service@2.4.1)(prettier@3.2.5): + volar-service-prettier@0.0.61(@volar/language-service@2.4.1)(prettier@3.3.3): dependencies: vscode-uri: 3.0.8 optionalDependencies: '@volar/language-service': 2.4.1 - prettier: 3.2.5 + prettier: 3.3.3 volar-service-typescript-twoslash-queries@0.0.61(@volar/language-service@2.4.1): dependencies: @@ -13555,8 +13060,6 @@ snapshots: vscode-uri@3.0.8: {} - walk-up-path@3.0.1: {} - walk-up-path@4.0.0: {} wcwidth@1.0.1: @@ -13600,7 +13103,7 @@ snapshots: dependencies: isexe: 2.0.0 - why-is-node-running@2.2.2: + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 @@ -13636,6 +13139,8 @@ snapshots: wrappy@1.0.2: {} + ws@8.18.0: {} + xml-parse-from-string@1.0.1: {} xml2js@0.5.0: @@ -13713,21 +13218,19 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} - yocto-queue@1.1.1: {} + yoctocolors-cjs@2.1.2: {} + zod-to-json-schema@3.23.2(zod@3.23.8): dependencies: zod: 3.23.8 - zod-to-ts@1.2.0(typescript@5.4.3)(zod@3.23.8): + zod-to-ts@1.2.0(typescript@5.5.4)(zod@3.23.8): dependencies: - typescript: 5.4.3 + typescript: 5.5.4 zod: 3.23.8 - zod@3.22.4: {} - zod@3.23.8: {} zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e32727087..8f12e5720 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,3 @@ packages: - "packages/*" - - "plugins/*" \ No newline at end of file + - "plugins/*" diff --git a/refactor.js b/refactor.js index 8544c2953..09d46b764 100644 --- a/refactor.js +++ b/refactor.js @@ -6,14 +6,13 @@ function addPublishConfigToPackageJson(directory) { const fullPath = path.join(directory, entry.name); if (entry.isDirectory()) { addPublishConfigToPackageJson(fullPath); - } else if (entry.isFile() && entry.name === "package.json") { - const packageJson = JSON.parse(fs.readFileSync(fullPath, "utf8")); - if (!packageJson.scripts) { - packageJson.scripts = {}; - } - packageJson.scripts.clean = 'rm -rf node_modules .tshy .tshy-build dist .turbo' - fs.writeFileSync(fullPath, JSON.stringify(packageJson, null, 2)); - console.log(`Updated publishConfig in: ${fullPath}`); + } else if (entry.isFile() && entry.name === ".eslintrc.mjs") { + fs.unlinkSync(fullPath); + const dir = path.dirname(fullPath); + fs.writeFileSync( + path.join(dir, "eslint.config.mjs"), + `import shared from "@jimp/config-eslint/base.js";\nexport default [...shared];` + ); } }); } diff --git a/test.js b/test.js index 2aedbb946..e8fd69a19 100644 --- a/test.js +++ b/test.js @@ -10,7 +10,7 @@ const maxHashLength = [NaN, NaN]; for (let i = 2; i < 65; i++) { const maxHash = anyBase( anyBase.BIN, - alphabet.slice(0, i) + alphabet.slice(0, i), )(new Array(64 + 1).join("1")); maxHashLength.push(maxHash.length); } diff --git a/tsconfig.json b/tsconfig.json index 131b00008..37e220d1b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "@jimp/config-typescript/base.json", -} \ No newline at end of file + "extends": "@jimp/config-typescript/base.json" +} diff --git a/turbo.json b/turbo.json index 7f78cdfe6..d5f6b497f 100644 --- a/turbo.json +++ b/turbo.json @@ -1,6 +1,6 @@ { "$schema": "https://turbo.build/schema.json", - "pipeline": { + "tasks": { "build": { "outputs": ["dist/**"], "dependsOn": ["^build"] diff --git a/turbo/generators/config.ts b/turbo/generators/config.ts index ce609c6e2..55b519fa6 100644 --- a/turbo/generators/config.ts +++ b/turbo/generators/config.ts @@ -18,7 +18,7 @@ export default function generator(plop: PlopTypes.NodePlopAPI): void { type: "addMany", templateFiles: "templates/package/**/*", base: "templates/package", - destination: path.join(__dirname, '../../packages/{{kebabCase name}}'), + destination: path.join(__dirname, "../../packages/{{kebabCase name}}"), }, ], }); @@ -36,7 +36,7 @@ export default function generator(plop: PlopTypes.NodePlopAPI): void { type: "addMany", templateFiles: "templates/package/**/*", base: "templates/package", - destination: path.join(__dirname, '../../plugins/{{kebabCase name}}'), + destination: path.join(__dirname, "../../plugins/{{kebabCase name}}"), }, ], }); diff --git a/turbo/generators/templates/package/.eslintrc.cjs b/turbo/generators/templates/package/.eslintrc.cjs deleted file mode 100644 index 0ce6c1668..000000000 --- a/turbo/generators/templates/package/.eslintrc.cjs +++ /dev/null @@ -1,5 +0,0 @@ -/** @type {import("eslint").Linter.Config} */ -module.exports = { - root: true, - extends: [require.resolve("@jimp/config-eslint/base.js")], -}; \ No newline at end of file diff --git a/turbo/generators/templates/package/eslint.config.mjs b/turbo/generators/templates/package/eslint.config.mjs new file mode 100644 index 000000000..939816d0a --- /dev/null +++ b/turbo/generators/templates/package/eslint.config.mjs @@ -0,0 +1,2 @@ +import shared from "@jimp/config-eslint/base.js"; +export default [...shared]; \ No newline at end of file diff --git a/turbo/generators/templates/package/package.json b/turbo/generators/templates/package/package.json index 2daf5f723..ae34d1d78 100644 --- a/turbo/generators/templates/package/package.json +++ b/turbo/generators/templates/package/package.json @@ -2,6 +2,9 @@ "name": "@jimp/{{ kebabCase name }}", "version": "1.0.1", "repository": "jimp-dev/jimp", + "engines": { + "node": ">=18" + }, "scripts": { "lint": "eslint .", "test": "vitest", @@ -14,10 +17,10 @@ "devDependencies": { "@jimp/config-eslint": "workspace:*", "@jimp/config-typescript": "workspace:*", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "tshy": "^3.0.2", "typescript": "^5.5.4", - "vitest": "^1.4.0" + "vitest": "^2.0.5" }, "tshy": { "exclude": [