From bcc1e020c5c0356e7d209e8e2bd7d9ac5faedb2e Mon Sep 17 00:00:00 2001 From: Liam Rella Date: Wed, 10 Apr 2024 13:03:37 +0930 Subject: [PATCH] feat: convert to project to esm --- .eslintcache | 1 + .eslintrc.yml | 7 +- flake.nix | 66 +- jest.eslint.config.js | 8 - jest.test.config.js | 13 - jsconfig.json | 18 + package.json | 26 +- src/index.js | 12 +- src/parser.js | 13 +- src/print/AliasExpression.js | 4 +- src/print/ArrayExpression.js | 8 +- src/print/Attribute.js | 8 +- src/print/AutoescapeBlock.js | 8 +- src/print/BinaryExpression.js | 14 +- src/print/BlockStatement.js | 10 +- src/print/CallExpression.js | 12 +- src/print/ConditionalExpression.js | 10 +- src/print/Declaration.js | 8 +- src/print/DoStatement.js | 4 +- src/print/Element.js | 10 +- src/print/EmbedStatement.js | 10 +- src/print/ExpressionStatement.js | 12 +- src/print/ExtendsStatement.js | 6 +- src/print/FilterBlockStatement.js | 8 +- src/print/FilterExpression.js | 12 +- src/print/FlushStatement.js | 4 +- src/print/ForStatement.js | 10 +- src/print/FromStatement.js | 8 +- src/print/GenericToken.js | 4 +- src/print/GenericTwigTag.js | 12 +- src/print/HtmlComment.js | 10 +- src/print/Identifier.js | 8 +- src/print/IfStatement.js | 14 +- src/print/ImportDeclaration.js | 8 +- src/print/IncludeStatement.js | 8 +- src/print/MacroDeclarationStatement.js | 6 +- src/print/MemberExpression.js | 10 +- src/print/MountStatement.js | 8 +- src/print/NamedArgumentExpression.js | 6 +- src/print/ObjectExpression.js | 8 +- src/print/ObjectProperty.js | 8 +- src/print/SequenceExpression.js | 10 +- src/print/SetStatement.js | 12 +- src/print/SliceExpression.js | 4 +- src/print/SpacelessBlock.js | 8 +- src/print/StringLiteral.js | 8 +- src/print/TestExpression.js | 8 +- src/print/TextStatement.js | 10 +- src/print/TwigComment.js | 8 +- src/print/UnaryExpression.js | 10 +- src/print/UnarySubclass.js | 12 +- src/print/UseStatement.js | 6 +- src/print/VariableDeclarationStatement.js | 8 +- src/printer.js | 110 +- src/util/index.js | 18 +- src/util/pluginUtil.js | 17 +- src/util/printFunctions.js | 8 +- src/util/publicFunctions.js | 12 +- src/util/publicSymbols.js | 2 +- .../Comments/__snapshots__/jsfmt.spec.js.snap | 99 +- .../__snapshots__/jsfmt.spec.js.snap | 31 +- .../__snapshots__/jsfmt.spec.js.snap | 183 +- .../__snapshots__/jsfmt.spec.js.snap | 17 +- .../Element/__snapshots__/jsfmt.spec.js.snap | 213 +- .../__snapshots__/jsfmt.spec.js.snap | 461 ++- .../Failing/__snapshots__/jsfmt.spec.js.snap | 221 +- .../__snapshots__/jsfmt.spec.js.snap | 26 +- .../__snapshots__/jsfmt.spec.js.snap | 144 +- .../__snapshots__/jsfmt.spec.js.snap | 310 +- .../Options/__snapshots__/jsfmt.spec.js.snap | 36 +- .../__snapshots__/jsfmt.spec.js.snap | 64 +- .../__snapshots__/jsfmt.spec.js.snap | 290 +- .../__snapshots__/jsfmt.spec.js.snap | 67 +- .../__snapshots__/jsfmt.spec.js.snap | 35 +- tests_config/raw-serializer.js | 4 +- tests_config/run_spec.js | 11 +- vitest.config.js | 18 + yarn.lock | 2674 ++++------------- 78 files changed, 3054 insertions(+), 2561 deletions(-) create mode 100644 .eslintcache delete mode 100644 jest.eslint.config.js delete mode 100644 jest.test.config.js create mode 100644 jsconfig.json create mode 100644 vitest.config.js diff --git a/.eslintcache b/.eslintcache new file mode 100644 index 00000000..b4415ac2 --- /dev/null +++ b/.eslintcache @@ -0,0 +1 @@ +[{"/Users/lrella/Projects/prettier-plugin-twig-melody/src/index.js":"1","/Users/lrella/Projects/prettier-plugin-twig-melody/src/parser.js":"2","/Users/lrella/Projects/prettier-plugin-twig-melody/src/plugins/switch-plugin/index.js":"3","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/AliasExpression.js":"4","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ArrayExpression.js":"5","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Attribute.js":"6","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/AutoescapeBlock.js":"7","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/BinaryExpression.js":"8","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/BlockStatement.js":"9","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/CallExpression.js":"10","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ConditionalExpression.js":"11","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Declaration.js":"12","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/DoStatement.js":"13","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Element.js":"14","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/EmbedStatement.js":"15","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ExpressionStatement.js":"16","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ExtendsStatement.js":"17","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FilterBlockStatement.js":"18","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FilterExpression.js":"19","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FlushStatement.js":"20","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ForStatement.js":"21","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FromStatement.js":"22","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/GenericToken.js":"23","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/GenericTwigTag.js":"24","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/HtmlComment.js":"25","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Identifier.js":"26","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/IfStatement.js":"27","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ImportDeclaration.js":"28","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/IncludeStatement.js":"29","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/MacroDeclarationStatement.js":"30","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/MemberExpression.js":"31","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/MountStatement.js":"32","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/NamedArgumentExpression.js":"33","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ObjectExpression.js":"34","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ObjectProperty.js":"35","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SequenceExpression.js":"36","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SetStatement.js":"37","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SliceExpression.js":"38","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SpacelessBlock.js":"39","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/StringLiteral.js":"40","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/TestExpression.js":"41","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/TextStatement.js":"42","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/TwigComment.js":"43","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/UnaryExpression.js":"44","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/UnarySubclass.js":"45","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/UseStatement.js":"46","/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/VariableDeclarationStatement.js":"47","/Users/lrella/Projects/prettier-plugin-twig-melody/src/printer.js":"48","/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/index.js":"49","/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/pluginUtil.js":"50","/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/printFunctions.js":"51","/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/publicFunctions.js":"52","/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/publicSymbols.js":"53","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Comments/jsfmt.spec.js":"54","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/ConstantValue/jsfmt.spec.js":"55","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/ControlStructures/jsfmt.spec.js":"56","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Declaration/jsfmt.spec.js":"57","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Element/jsfmt.spec.js":"58","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Expressions/jsfmt.spec.js":"59","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Failing/jsfmt.spec.js":"60","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/GenericTagCustomPrint/jsfmt.spec.js":"61","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/GenericTags/jsfmt.spec.js":"62","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/IncludeEmbed/jsfmt.spec.js":"63","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Options/jsfmt.spec.js":"64","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/PrettierIgnore/jsfmt.spec.js":"65","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Statements/jsfmt.spec.js":"66","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/TwigCodingStandards/jsfmt.spec.js":"67","/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Whitespace/jsfmt.spec.js":"68","/Users/lrella/Projects/prettier-plugin-twig-melody/tests_config/raw-serializer.js":"69","/Users/lrella/Projects/prettier-plugin-twig-melody/tests_config/run_spec.js":"70","/Users/lrella/Projects/prettier-plugin-twig-melody/vitest.config.js":"71"},{"hash":"72","results":"73","hashOfConfig":"74"},{"hash":"75","results":"76","hashOfConfig":"74"},{"hash":"77","results":"78","hashOfConfig":"74"},{"hash":"79","results":"80","hashOfConfig":"74"},{"hash":"81","results":"82","hashOfConfig":"74"},{"hash":"83","results":"84","hashOfConfig":"74"},{"hash":"85","results":"86","hashOfConfig":"74"},{"hash":"87","results":"88","hashOfConfig":"74"},{"hash":"89","results":"90","hashOfConfig":"74"},{"hash":"91","results":"92","hashOfConfig":"74"},{"hash":"93","results":"94","hashOfConfig":"74"},{"hash":"95","results":"96","hashOfConfig":"74"},{"hash":"97","results":"98","hashOfConfig":"74"},{"hash":"99","results":"100","hashOfConfig":"74"},{"hash":"101","results":"102","hashOfConfig":"74"},{"hash":"103","results":"104","hashOfConfig":"74"},{"hash":"105","results":"106","hashOfConfig":"74"},{"hash":"107","results":"108","hashOfConfig":"74"},{"hash":"109","results":"110","hashOfConfig":"74"},{"hash":"111","results":"112","hashOfConfig":"74"},{"hash":"113","results":"114","hashOfConfig":"74"},{"hash":"115","results":"116","hashOfConfig":"74"},{"hash":"117","results":"118","hashOfConfig":"74"},{"hash":"119","results":"120","hashOfConfig":"74"},{"hash":"121","results":"122","hashOfConfig":"74"},{"hash":"123","results":"124","hashOfConfig":"74"},{"hash":"125","results":"126","hashOfConfig":"74"},{"hash":"127","results":"128","hashOfConfig":"74"},{"hash":"129","results":"130","hashOfConfig":"74"},{"hash":"131","results":"132","hashOfConfig":"74"},{"hash":"133","results":"134","hashOfConfig":"74"},{"hash":"135","results":"136","hashOfConfig":"74"},{"hash":"137","results":"138","hashOfConfig":"74"},{"hash":"139","results":"140","hashOfConfig":"74"},{"hash":"141","results":"142","hashOfConfig":"74"},{"hash":"143","results":"144","hashOfConfig":"74"},{"hash":"145","results":"146","hashOfConfig":"74"},{"hash":"147","results":"148","hashOfConfig":"74"},{"hash":"149","results":"150","hashOfConfig":"74"},{"hash":"151","results":"152","hashOfConfig":"74"},{"hash":"153","results":"154","hashOfConfig":"74"},{"hash":"155","results":"156","hashOfConfig":"74"},{"hash":"157","results":"158","hashOfConfig":"74"},{"hash":"159","results":"160","hashOfConfig":"74"},{"hash":"161","results":"162","hashOfConfig":"74"},{"hash":"163","results":"164","hashOfConfig":"74"},{"hash":"165","results":"166","hashOfConfig":"74"},{"hash":"167","results":"168","hashOfConfig":"74"},{"hash":"169","results":"170","hashOfConfig":"74"},{"hash":"171","results":"172","hashOfConfig":"74"},{"hash":"173","results":"174","hashOfConfig":"74"},{"hash":"175","results":"176","hashOfConfig":"74"},{"hash":"177","results":"178","hashOfConfig":"74"},{"hash":"179","results":"180","hashOfConfig":"74"},{"hash":"179","results":"181","hashOfConfig":"74"},{"hash":"179","results":"182","hashOfConfig":"74"},{"hash":"179","results":"183","hashOfConfig":"74"},{"hash":"179","results":"184","hashOfConfig":"74"},{"hash":"179","results":"185","hashOfConfig":"74"},{"hash":"186","results":"187","hashOfConfig":"74"},{"hash":"188","results":"189","hashOfConfig":"74"},{"hash":"190","results":"191","hashOfConfig":"74"},{"hash":"192","results":"193","hashOfConfig":"74"},{"hash":"194","results":"195","hashOfConfig":"74"},{"hash":"179","results":"196","hashOfConfig":"74"},{"hash":"179","results":"197","hashOfConfig":"74"},{"hash":"198","results":"199","hashOfConfig":"74"},{"hash":"179","results":"200","hashOfConfig":"74"},{"hash":"201","results":"202","hashOfConfig":"74"},{"hash":"203","results":"204","hashOfConfig":"74"},{"hash":"205","results":"206","hashOfConfig":"74"},"20a0441d1ddb2d9a3732f6f79255a684",{"filePath":"207","messages":"208","suppressedMessages":"209","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"6orxr6","daab24be7e3da702299746a0a8f69dda",{"filePath":"210","messages":"211","suppressedMessages":"212","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"97f845a0696f0077d637823aa86c49a5",{"filePath":"213","messages":"214","suppressedMessages":"215","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"70ea944060b417f2c12ea438c690acfe",{"filePath":"216","messages":"217","suppressedMessages":"218","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"f422bb949348282ad34685562917467c",{"filePath":"219","messages":"220","suppressedMessages":"221","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"3a29a13000c0e83db6e58936fab3f89e",{"filePath":"222","messages":"223","suppressedMessages":"224","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"546161b746e28654e1e699522186c26f",{"filePath":"225","messages":"226","suppressedMessages":"227","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"981b71ad9a493fd064de7c4f81d87c94",{"filePath":"228","messages":"229","suppressedMessages":"230","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"56405503dc9566ab46d2a150819c4164",{"filePath":"231","messages":"232","suppressedMessages":"233","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"8371241cf91d9e77ba59e1fd8a8a1e73",{"filePath":"234","messages":"235","suppressedMessages":"236","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1b405cede08fdebef82e0c84a8adc361",{"filePath":"237","messages":"238","suppressedMessages":"239","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"c6d1d8d51f2a33db2c05c6da553be985",{"filePath":"240","messages":"241","suppressedMessages":"242","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"8c410b8fabf77aa7af89d9045c87140e",{"filePath":"243","messages":"244","suppressedMessages":"245","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a1e468173a038b14fd8b7bba8c4a88dc",{"filePath":"246","messages":"247","suppressedMessages":"248","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"78065aeb89275f89eaeb7332ad96fca7",{"filePath":"249","messages":"250","suppressedMessages":"251","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1bdbfa4bfc37484eba4151902def53e0",{"filePath":"252","messages":"253","suppressedMessages":"254","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"38dee50799230d9f313ee1d0acf6f05d",{"filePath":"255","messages":"256","suppressedMessages":"257","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a10e3d835e1ea27400b868ab062db5bc",{"filePath":"258","messages":"259","suppressedMessages":"260","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"89e0e1204d938c31ee9e61c1b430dccf",{"filePath":"261","messages":"262","suppressedMessages":"263","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"23d605b23e2bd2052240859b47ddb64a",{"filePath":"264","messages":"265","suppressedMessages":"266","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"6e4d2196b305086b4547ea465fb517fd",{"filePath":"267","messages":"268","suppressedMessages":"269","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"732ce37fa8bb2d208f13e09222028591",{"filePath":"270","messages":"271","suppressedMessages":"272","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"402181c116969b8c9e1a94e1e011aafb",{"filePath":"273","messages":"274","suppressedMessages":"275","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"8abfae3ecba9f29e25d2b4dc6b139e51",{"filePath":"276","messages":"277","suppressedMessages":"278","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"3881fa61a7ae7b74bc15d0bed87a0587",{"filePath":"279","messages":"280","suppressedMessages":"281","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"17c7bd176174275c238f42dc6e0c5f4f",{"filePath":"282","messages":"283","suppressedMessages":"284","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"ab4a233a2c3897c07e53a27bdb06241d",{"filePath":"285","messages":"286","suppressedMessages":"287","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"c1d4aacf3f994bc30e99b2a4266e7a06",{"filePath":"288","messages":"289","suppressedMessages":"290","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"23e5e675c8eaf5c3a4d1c7d5e27f3cdb",{"filePath":"291","messages":"292","suppressedMessages":"293","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"92438ecd399bc375510b441bb891b0f4",{"filePath":"294","messages":"295","suppressedMessages":"296","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"4f9348e14803276949e372acd24d5925",{"filePath":"297","messages":"298","suppressedMessages":"299","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"ce1884a47a1a49cda85138be928eba6f",{"filePath":"300","messages":"301","suppressedMessages":"302","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"3e13ef081a517c33d0e681eb49ffc776",{"filePath":"303","messages":"304","suppressedMessages":"305","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"841c27e254391dd2d8f22492db1dee9d",{"filePath":"306","messages":"307","suppressedMessages":"308","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"49b026edc91e4794e13033584f2ea658",{"filePath":"309","messages":"310","suppressedMessages":"311","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"960c61b5b55c5557de79750912ac2fdc",{"filePath":"312","messages":"313","suppressedMessages":"314","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"b8b6c04ff1c5095dcbe9b887da323325",{"filePath":"315","messages":"316","suppressedMessages":"317","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"85c14ed5d226be5a6aad40b1136808b4",{"filePath":"318","messages":"319","suppressedMessages":"320","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"e0836f3ef2a770553a77fc89523e52d2",{"filePath":"321","messages":"322","suppressedMessages":"323","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"9bb7ea6f962f8af1c8d644d822386ea1",{"filePath":"324","messages":"325","suppressedMessages":"326","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d1639559b7ebb3f0f59a094d6b6453f3",{"filePath":"327","messages":"328","suppressedMessages":"329","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"5e48be9dc4055a1a4c1245dc04ef2644",{"filePath":"330","messages":"331","suppressedMessages":"332","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d2d788a3b445856b9dc9816cf6f30cf6",{"filePath":"333","messages":"334","suppressedMessages":"335","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d2e8f29f7f6f8f8da9c78d16975c3613",{"filePath":"336","messages":"337","suppressedMessages":"338","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"648df472838ca94265360057d60c8116",{"filePath":"339","messages":"340","suppressedMessages":"341","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"3e988085c945d4c6f7626634f8524133",{"filePath":"342","messages":"343","suppressedMessages":"344","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a2fbb4df29ec11b1b5338d96c1bf7662",{"filePath":"345","messages":"346","suppressedMessages":"347","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"c1abe6d19375024e1546fa4ede4df0e8",{"filePath":"348","messages":"349","suppressedMessages":"350","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a3e237cf2ccc939f015749464d1d9eb5",{"filePath":"351","messages":"352","suppressedMessages":"353","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d0f3bb90532306a085341e735feafb5f",{"filePath":"354","messages":"355","suppressedMessages":"356","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"0c7a00f673565fc7186ca671fae530e5",{"filePath":"357","messages":"358","suppressedMessages":"359","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"07db9e544007880245d4db9145f2e030",{"filePath":"360","messages":"361","suppressedMessages":"362","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"8d061dce93ff4591b606e411eef8023f",{"filePath":"363","messages":"364","suppressedMessages":"365","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"308156d2792164366f17cbc51009896c",{"filePath":"366","messages":"367","suppressedMessages":"368","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"369","messages":"370","suppressedMessages":"371","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"372","messages":"373","suppressedMessages":"374","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"375","messages":"376","suppressedMessages":"377","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"378","messages":"379","suppressedMessages":"380","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"381","messages":"382","suppressedMessages":"383","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"d271b5cc71c45335d4b1fd221ab59867",{"filePath":"384","messages":"385","suppressedMessages":"386","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"e643c05c91164e760b3cb231979798ce",{"filePath":"387","messages":"388","suppressedMessages":"389","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"7495a5e7fbeda31c720951add4cf3086",{"filePath":"390","messages":"391","suppressedMessages":"392","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"a24f07714303220e530a1aa2fe0f4311",{"filePath":"393","messages":"394","suppressedMessages":"395","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"91242d4ab2f4dae3fe3443d4f8e470cf",{"filePath":"396","messages":"397","suppressedMessages":"398","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"399","messages":"400","suppressedMessages":"401","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"402","messages":"403","suppressedMessages":"404","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"7af26c4c90cbbf8be62b7a0dc8a5f734",{"filePath":"405","messages":"406","suppressedMessages":"407","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"408","messages":"409","suppressedMessages":"410","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"b429b6412555191ac3920bd5d32e6c9f",{"filePath":"411","messages":"412","suppressedMessages":"413","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"465881e89bbaa0405c4de4930b3131bf",{"filePath":"414","messages":"415","suppressedMessages":"416","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"75a18f5442a02d6d023a6f24c87b8f8f",{"filePath":"417","messages":"418","suppressedMessages":"419","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/lrella/Projects/prettier-plugin-twig-melody/src/index.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/parser.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/plugins/switch-plugin/index.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/AliasExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ArrayExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Attribute.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/AutoescapeBlock.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/BinaryExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/BlockStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/CallExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ConditionalExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Declaration.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/DoStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Element.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/EmbedStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ExpressionStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ExtendsStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FilterBlockStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FilterExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FlushStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ForStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/FromStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/GenericToken.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/GenericTwigTag.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/HtmlComment.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/Identifier.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/IfStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ImportDeclaration.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/IncludeStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/MacroDeclarationStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/MemberExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/MountStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/NamedArgumentExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ObjectExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/ObjectProperty.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SequenceExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SetStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SliceExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/SpacelessBlock.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/StringLiteral.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/TestExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/TextStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/TwigComment.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/UnaryExpression.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/UnarySubclass.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/UseStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/print/VariableDeclarationStatement.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/printer.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/index.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/pluginUtil.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/printFunctions.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/publicFunctions.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/src/util/publicSymbols.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Comments/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/ConstantValue/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/ControlStructures/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Declaration/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Element/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Expressions/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Failing/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/GenericTagCustomPrint/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/GenericTags/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/IncludeEmbed/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Options/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/PrettierIgnore/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Statements/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/TwigCodingStandards/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests/Whitespace/jsfmt.spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests_config/raw-serializer.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/tests_config/run_spec.js",[],[],"/Users/lrella/Projects/prettier-plugin-twig-melody/vitest.config.js",[],[]] \ No newline at end of file diff --git a/.eslintrc.yml b/.eslintrc.yml index 1655ea06..732b05f3 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -3,16 +3,15 @@ extends: - eslint:recommended - plugin:prettier/recommended - plugin:prettier-doc/recommended - - plugin:jest/recommended plugins: - import root: true env: es6: true - node: true - jest: true + node: true parserOptions: - ecmaVersion: 2017 + ecmaVersion: 2024 + sourceType: module rules: curly: error import/no-extraneous-dependencies: diff --git a/flake.nix b/flake.nix index 9694c6ab..59502ce2 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,14 @@ devenv.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, devenv, systems, ... } @ inputs: + outputs = + { + self, + nixpkgs, + devenv, + systems, + ... + }@inputs: let forEachSystem = nixpkgs.lib.genAttrs (import systems); in @@ -15,38 +22,39 @@ devenv-up = self.devShells.${system}.default.config.procfileScript; }); - devShells = forEachSystem - (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - default = devenv.lib.mkShell { - inherit inputs pkgs; - modules = [ - { - # https://devenv.sh/basics/ - env.NODE_OPTIONS = "--experimental-vm-modules"; + devShells = forEachSystem ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + default = devenv.lib.mkShell { + inherit inputs pkgs; + modules = [ + { + # https://devenv.sh/basics/ + env.NODE_OPTIONS = "--experimental-vm-modules"; - # https://devenv.sh/packages/ - packages = [ - pkgs.nodejs - pkgs.yarn - ]; + # https://devenv.sh/packages/ + packages = [ + pkgs.nodejs + pkgs.yarn + ]; - # https://devenv.sh/languages/ - # languages.nix.enable = true; + # https://devenv.sh/languages/ + # languages.nix.enable = true; - # https://devenv.sh/pre-commit-hooks/ - # pre-commit.hooks.shellcheck.enable = true; + # https://devenv.sh/pre-commit-hooks/ + # pre-commit.hooks.shellcheck.enable = true; - # https://devenv.sh/processes/ - # processes.ping.exec = "ping example.com"; + # https://devenv.sh/processes/ + # processes.ping.exec = "ping example.com"; - # See full reference at https://devenv.sh/reference/options/ - } - ]; - }; - }); + # See full reference at https://devenv.sh/reference/options/ + } + ]; + }; + } + ); }; } diff --git a/jest.eslint.config.js b/jest.eslint.config.js deleted file mode 100644 index c1328328..00000000 --- a/jest.eslint.config.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -module.exports = { - runner: "jest-runner-eslint", - displayName: "lint", - testMatch: ["/**/*.js"], - testPathIgnorePatterns: ["node_modules/"] -}; diff --git a/jest.test.config.js b/jest.test.config.js deleted file mode 100644 index c80db9da..00000000 --- a/jest.test.config.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; - -const ENABLE_COVERAGE = false; // !!process.env.CI; - -module.exports = { - displayName: "test", - setupFiles: ["/tests_config/run_spec.js"], - snapshotSerializers: ["/tests_config/raw-serializer.js"], - testRegex: "jsfmt\\.spec\\.js$|__tests__/.*\\.js$", - collectCoverage: ENABLE_COVERAGE, - collectCoverageFrom: ["src/**/*.js", "!/node_modules/"], - transform: {} -}; diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 00000000..7f224da2 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "node", + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "declaration": true, + "stripInternal": true, + "noImplicitOverride": true, + "noUncheckedIndexedAccess": true, + "removeComments": true, + "rootDir": ".", + "baseUrl": "./" + }, + "exclude": ["node_modules"] +} diff --git a/package.json b/package.json index 7ce76eb9..0131a4e2 100644 --- a/package.json +++ b/package.json @@ -2,20 +2,19 @@ "name": "@zackad/prettier-plugin-twig-melody", "version": "0.6.0", "description": "Prettier Plugin for Twig/Melody", - "main": "src", "repository": "https://github.com/zackad/prettier-plugin-twig-melody", - "author": "Tom Bartel ", "license": "Apache-2.0", + "author": "Tom Bartel ", + "type": "module", + "module": "./src/index.js", + "main": "./src/index.js", "files": [ "src" ], - "engines": { - "node": ">=18" - }, "scripts": { - "lint": "jest -c jest.eslint.config.js", - "test": "jest", - "prettier": "prettier --plugin=. --parser=melody" + "lint": "eslint --cache --cache-strategy content --report-unused-disable-directives .", + "prettier": "prettier --plugin=./src/index.js --parser=melody", + "test": "vitest" }, "dependencies": { "babel-types": "^6.26.0", @@ -30,15 +29,12 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^27.9.0", "eslint-plugin-prettier": "^4.0.0 || ^5.0.0", "eslint-plugin-prettier-doc": "^1.1.0", - "jest": "^30.0.0-alpha.3", - "jest-runner-eslint": "^2.1.2" + "vite": "^5.2.8", + "vitest": "^1.4.0" }, - "jest": { - "projects": [ - "/jest.*.config.js" - ] + "engines": { + "node": ">=18" } } diff --git a/src/index.js b/src/index.js index 7e5ba9d3..42936d80 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,7 @@ -"use strict"; - -const { print } = require("./printer.js"); -const { parse } = require("./parser.js"); -const symbols = require("./util/publicSymbols.js"); -const publicFunctions = require("./util/publicFunctions.js"); +import { print } from "./printer.js"; +import { parse } from "./parser.js"; +import * as symbols from "./util/publicSymbols.js"; +import * as publicFunctions from "./util/publicFunctions.js"; const languages = [ { @@ -137,4 +135,4 @@ const combinedExports = Object.assign( // This exports defines the Prettier plugin // See https://github.com/prettier/prettier/blob/master/docs/plugins.md -module.exports = combinedExports; +export default combinedExports; diff --git a/src/parser.js b/src/parser.js index dd456b8d..d4c4fc3d 100644 --- a/src/parser.js +++ b/src/parser.js @@ -1,9 +1,9 @@ -const { CharStream, Lexer, TokenStream, Parser } = require("melody-parser"); -const { extension: coreExtension } = require("melody-extension-core"); -const { +import { CharStream, Lexer, TokenStream, Parser } from "melody-parser"; +import { extension as coreExtension } from "melody-extension-core"; +import { getAdditionalMelodyExtensions, getPluginPathsFromOptions -} = require("./util"); +} from "./util/index.js"; const ORIGINAL_SOURCE = Symbol("ORIGINAL_SOURCE"); @@ -86,7 +86,4 @@ const parse = (text, parsers, options) => { return ast; }; -module.exports = { - parse, - ORIGINAL_SOURCE -}; +export { parse, ORIGINAL_SOURCE }; diff --git a/src/print/AliasExpression.js b/src/print/AliasExpression.js index cd68279f..8fca7c27 100644 --- a/src/print/AliasExpression.js +++ b/src/print/AliasExpression.js @@ -2,6 +2,4 @@ const p = (node, path, print) => { return [path.call(print, "name"), " as ", path.call(print, "alias")]; }; -module.exports = { - printAliasExpression: p -}; +export { p as printAliasExpression }; diff --git a/src/print/ArrayExpression.js b/src/print/ArrayExpression.js index 66f51b05..f0d984f3 100644 --- a/src/print/ArrayExpression.js +++ b/src/print/ArrayExpression.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, softline, line, indent, join } = prettier.doc.builders; -const { STRING_NEEDS_QUOTES } = require("../util"); +import { STRING_NEEDS_QUOTES } from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -10,6 +10,4 @@ const p = (node, path, print) => { return group(["[", indent(indentedContent), softline, "]"]); }; -module.exports = { - printArrayExpression: p -}; +export { p as printArrayExpression }; diff --git a/src/print/Attribute.js b/src/print/Attribute.js index 8a5817f4..9cfd9748 100644 --- a/src/print/Attribute.js +++ b/src/print/Attribute.js @@ -1,5 +1,5 @@ -const { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES } = require("../util"); -const { Node } = require("melody-types"); +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES } from "../util/index.js"; +import { Node } from "melody-types"; const mayCorrectWhitespace = attrName => ["id", "class", "type"].indexOf(attrName) > -1; @@ -47,6 +47,4 @@ const p = (node, path, print = print) => { return docs; }; -module.exports = { - printAttribute: p -}; +export { p as printAttribute }; diff --git a/src/print/AutoescapeBlock.js b/src/print/AutoescapeBlock.js index 837a6110..79570b74 100644 --- a/src/print/AutoescapeBlock.js +++ b/src/print/AutoescapeBlock.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { hardline } = prettier.doc.builders; -const { printChildBlock, quoteChar } = require("../util"); +import { printChildBlock, quoteChar } from "../util/index.js"; const createOpener = (node, options) => { return [ @@ -27,6 +27,4 @@ const p = (node, path, print, options) => { return parts; }; -module.exports = { - printAutoescapeBlock: p -}; +export { p as printAutoescapeBlock }; diff --git a/src/print/BinaryExpression.js b/src/print/BinaryExpression.js index a7ec429f..0ab384e4 100644 --- a/src/print/BinaryExpression.js +++ b/src/print/BinaryExpression.js @@ -1,7 +1,7 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, line, softline, indent } = prettier.doc.builders; -const { Node } = require("melody-types"); -const { +import { Node } from "melody-types"; +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, INSIDE_OF_STRING, @@ -10,8 +10,8 @@ const { firstValueInAncestorChain, findParentNode, wrapExpressionIfNeeded -} = require("../util"); -const { extension: coreExtension } = require("melody-extension-core"); +} from "../util/index.js"; +import { extension as coreExtension } from "melody-extension-core"; const ALREADY_INDENTED = Symbol("ALREADY_INDENTED"); const OPERATOR_PRECEDENCE = Symbol("OPERATOR_PRECEDENCE"); const NO_WHITESPACE_AROUND = [".."]; @@ -151,6 +151,4 @@ const p = (node, path, print, options) => { return printBinaryExpression(node, path, print); }; -module.exports = { - printBinaryExpression: p -}; +export { p as printBinaryExpression }; diff --git a/src/print/BlockStatement.js b/src/print/BlockStatement.js index 9a47f52f..fcf6148c 100644 --- a/src/print/BlockStatement.js +++ b/src/print/BlockStatement.js @@ -1,7 +1,7 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { hardline, group } = prettier.doc.builders; -const { Node } = require("melody-types"); -const { EXPRESSION_NEEDED, printChildBlock } = require("../util"); +import { Node } from "melody-types"; +import { EXPRESSION_NEEDED, printChildBlock } from "../util/index.js"; const p = (node, path, print, options) => { node[EXPRESSION_NEEDED] = false; @@ -44,6 +44,4 @@ const p = (node, path, print, options) => { } }; -module.exports = { - printBlockStatement: p -}; +export { p as printBlockStatement }; diff --git a/src/print/CallExpression.js b/src/print/CallExpression.js index 73d62b76..038e3ff7 100644 --- a/src/print/CallExpression.js +++ b/src/print/CallExpression.js @@ -1,11 +1,11 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, softline, line, indent, join } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, wrapExpressionIfNeeded -} = require("../util"); -const { Node } = require("melody-types"); +} from "../util/index.js"; +import { Node } from "melody-types"; const p = (node, path, print) => { node[EXPRESSION_NEEDED] = false; @@ -34,6 +34,4 @@ const p = (node, path, print) => { return group(parts); }; -module.exports = { - printCallExpression: p -}; +export { p as printCallExpression }; diff --git a/src/print/ConditionalExpression.js b/src/print/ConditionalExpression.js index e21a3345..28816ad9 100644 --- a/src/print/ConditionalExpression.js +++ b/src/print/ConditionalExpression.js @@ -1,10 +1,10 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { line, indent, group } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, wrapExpressionIfNeeded -} = require("../util"); +} from "../util/index.js"; const p = (node, path, print) => { node[EXPRESSION_NEEDED] = false; @@ -23,6 +23,4 @@ const p = (node, path, print) => { return group(parts); }; -module.exports = { - printConditionalExpression: p -}; +export { p as printConditionalExpression }; diff --git a/src/print/Declaration.js b/src/print/Declaration.js index 24569ab7..1209d757 100644 --- a/src/print/Declaration.js +++ b/src/print/Declaration.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { fill, join } = prettier.doc.builders; -const { STRING_NEEDS_QUOTES, OVERRIDE_QUOTE_CHAR } = require("../util"); +import { STRING_NEEDS_QUOTES, OVERRIDE_QUOTE_CHAR } from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -11,6 +11,4 @@ const p = (node, path, print) => { return fill([start, " ", join(" ", printedParts), ">"]); }; -module.exports = { - printDeclaration: p -}; +export { p as printDeclaration }; diff --git a/src/print/DoStatement.js b/src/print/DoStatement.js index e3149814..d2159086 100644 --- a/src/print/DoStatement.js +++ b/src/print/DoStatement.js @@ -7,6 +7,4 @@ const p = (node, path, print) => { ]; }; -module.exports = { - printDoStatement: p -}; +export { p as printDoStatement }; diff --git a/src/print/Element.js b/src/print/Element.js index 22c3c0d5..e39ec3b1 100644 --- a/src/print/Element.js +++ b/src/print/Element.js @@ -1,12 +1,12 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, line, hardline, softline, indent, join } = prettier.doc.builders; -const { +import { removeSurroundingWhitespace, isInlineElement, printChildGroups, EXPRESSION_NEEDED, STRING_NEEDS_QUOTES -} = require("../util"); +} from "../util/index.js"; const printOpeningTag = (node, path, print) => { const opener = "<" + node.name; @@ -59,6 +59,4 @@ const p = (node, path, print) => { return openingGroup; }; -module.exports = { - printElement: p -}; +export { p as printElement }; diff --git a/src/print/EmbedStatement.js b/src/print/EmbedStatement.js index b9b4cce0..209713f7 100644 --- a/src/print/EmbedStatement.js +++ b/src/print/EmbedStatement.js @@ -1,10 +1,10 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { indent, hardline, line, group } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, printChildBlock -} = require("../util"); +} from "../util/index.js"; const printOpener = (node, path, print) => { node[EXPRESSION_NEEDED] = false; @@ -34,6 +34,4 @@ const p = (node, path, print) => { return [printedOpener, children, closing]; }; -module.exports = { - printEmbedStatement: p -}; +export { p as printEmbedStatement }; diff --git a/src/print/ExpressionStatement.js b/src/print/ExpressionStatement.js index f13e9379..cf23413e 100644 --- a/src/print/ExpressionStatement.js +++ b/src/print/ExpressionStatement.js @@ -1,11 +1,11 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, indent, line } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, isContractableNodeType -} = require("../util"); -const { Node } = require("melody-types"); +} from "../util/index.js"; +import { Node } from "melody-types"; const p = (node, path, print) => { node[EXPRESSION_NEEDED] = false; @@ -21,6 +21,4 @@ const p = (node, path, print) => { return group([opener, value, padding, closing]); }; -module.exports = { - printExpressionStatement: p -}; +export { p as printExpressionStatement }; diff --git a/src/print/ExtendsStatement.js b/src/print/ExtendsStatement.js index 53e34b26..6204efee 100644 --- a/src/print/ExtendsStatement.js +++ b/src/print/ExtendsStatement.js @@ -1,4 +1,4 @@ -const { STRING_NEEDS_QUOTES } = require("../util"); +import { STRING_NEEDS_QUOTES } from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -10,6 +10,4 @@ const p = (node, path, print) => { ]; }; -module.exports = { - printExtendsStatement: p -}; +export { p as printExtendsStatement }; diff --git a/src/print/FilterBlockStatement.js b/src/print/FilterBlockStatement.js index a276883b..e084a6b6 100644 --- a/src/print/FilterBlockStatement.js +++ b/src/print/FilterBlockStatement.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, line, hardline } = prettier.doc.builders; -const { FILTER_BLOCK, printChildBlock } = require("../util"); +import { FILTER_BLOCK, printChildBlock } from "../util/index.js"; const printOpeningGroup = (node, path, print) => { const parts = [node.trimLeft ? "{%- " : "{% "]; @@ -23,6 +23,4 @@ const p = (node, path, print) => { return [openingGroup, body, closingStatement]; }; -module.exports = { - printFilterBlockStatement: p -}; +export { p as printFilterBlockStatement }; diff --git a/src/print/FilterExpression.js b/src/print/FilterExpression.js index aa22b83a..01792a53 100644 --- a/src/print/FilterExpression.js +++ b/src/print/FilterExpression.js @@ -1,7 +1,7 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, indent, line, softline, join } = prettier.doc.builders; -const { Node } = require("melody-types"); -const { +import { Node } from "melody-types"; +import { EXPRESSION_NEEDED, INSIDE_OF_STRING, STRING_NEEDS_QUOTES, @@ -11,7 +11,7 @@ const { someParentNode, isMultipartExpression, getDeepProperty -} = require("../util"); +} from "../util/index.js"; const isInFilterBlock = path => someParentNode(path, node => node[FILTER_BLOCK] === true); @@ -127,6 +127,4 @@ const p = (node, path, print, options) => { return group(parts); }; -module.exports = { - printFilterExpression: p -}; +export { p as printFilterExpression }; diff --git a/src/print/FlushStatement.js b/src/print/FlushStatement.js index 1a9b29a8..66e12ecd 100644 --- a/src/print/FlushStatement.js +++ b/src/print/FlushStatement.js @@ -4,6 +4,4 @@ const p = (node, path, print) => { return `{%${dashLeft} flush ${dashRight}%}`; }; -module.exports = { - printFlushStatement: p -}; +export { p as printFlushStatement }; diff --git a/src/print/ForStatement.js b/src/print/ForStatement.js index aba19a1b..a3684c89 100644 --- a/src/print/ForStatement.js +++ b/src/print/ForStatement.js @@ -1,10 +1,10 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, indent, line, hardline } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, isWhitespaceNode, indentWithHardline -} = require("../util"); +} from "../util/index.js"; const printFor = (node, path, print) => { const parts = [node.trimLeft ? "{%-" : "{%", " for "]; @@ -54,6 +54,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printForStatement: p -}; +export { p as printForStatement }; diff --git a/src/print/FromStatement.js b/src/print/FromStatement.js index f89249d8..51e656d7 100644 --- a/src/print/FromStatement.js +++ b/src/print/FromStatement.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, join, line, indent } = prettier.doc.builders; -const { STRING_NEEDS_QUOTES } = require("../util"); +import { STRING_NEEDS_QUOTES } from "../util/index.js"; const printImportDeclaration = node => { const parts = [node.key.name]; @@ -28,6 +28,4 @@ const p = (node, path, print) => { ]); }; -module.exports = { - printFromStatement: p -}; +export { p as printFromStatement }; diff --git a/src/print/GenericToken.js b/src/print/GenericToken.js index 7510d680..98a12197 100644 --- a/src/print/GenericToken.js +++ b/src/print/GenericToken.js @@ -2,6 +2,4 @@ const p = (node, path, print) => { return node.tokenText; }; -module.exports = { - printGenericToken: p -}; +export { p as printGenericToken }; diff --git a/src/print/GenericTwigTag.js b/src/print/GenericTwigTag.js index 7cfb5a62..5fc61add 100644 --- a/src/print/GenericTwigTag.js +++ b/src/print/GenericTwigTag.js @@ -1,12 +1,12 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { hardline } = prettier.doc.builders; -const { Node } = require("melody-types"); -const { +import { Node } from "melody-types"; +import { STRING_NEEDS_QUOTES, indentWithHardline, printSingleTwigTag, isEmptySequence -} = require("../util"); +} from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -26,6 +26,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printGenericTwigTag: p -}; +export { p as printGenericTwigTag }; diff --git a/src/print/HtmlComment.js b/src/print/HtmlComment.js index ef85dd0a..709d34a0 100644 --- a/src/print/HtmlComment.js +++ b/src/print/HtmlComment.js @@ -1,11 +1,11 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { join, indent, hardline } = prettier.doc.builders; -const { +import { createTextGroups, stripHtmlCommentChars, normalizeHtmlComment, countNewlines -} = require("../util"); +} from "../util/index.js"; const p = (node, path, print) => { const commentText = stripHtmlCommentChars(node.value.value || ""); @@ -18,6 +18,4 @@ const p = (node, path, print) => { return [""]; }; -module.exports = { - printHtmlComment: p -}; +export { p as printHtmlComment }; diff --git a/src/print/Identifier.js b/src/print/Identifier.js index 83a5406d..ea47297b 100644 --- a/src/print/Identifier.js +++ b/src/print/Identifier.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group } = prettier.doc.builders; -const { EXPRESSION_NEEDED, wrapExpressionIfNeeded } = require("../util"); +import { EXPRESSION_NEEDED, wrapExpressionIfNeeded } from "../util/index.js"; const p = (node, path) => { node[EXPRESSION_NEEDED] = false; @@ -11,6 +11,4 @@ const p = (node, path) => { return parts.length === 1 ? result : group(result); }; -module.exports = { - printIdentifier: p -}; +export { p as printIdentifier }; diff --git a/src/print/IfStatement.js b/src/print/IfStatement.js index 5c1fda30..19fda402 100644 --- a/src/print/IfStatement.js +++ b/src/print/IfStatement.js @@ -1,12 +1,12 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, indent, line, hardline } = prettier.doc.builders; -const { EXPRESSION_NEEDED, printChildBlock } = require("../util"); -const { Node } = require("melody-types"); -const { +import { EXPRESSION_NEEDED, printChildBlock } from "../util/index.js"; +import { Node } from "melody-types"; +import { hasNoNewlines, PRESERVE_LEADING_WHITESPACE, PRESERVE_TRAILING_WHITESPACE -} = require("../util"); +} from "../util/index.js"; const IS_ELSEIF = Symbol("IS_ELSEIF"); @@ -76,6 +76,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printIfStatement: p -}; +export { p as printIfStatement }; diff --git a/src/print/ImportDeclaration.js b/src/print/ImportDeclaration.js index cf1deb1c..e22b6394 100644 --- a/src/print/ImportDeclaration.js +++ b/src/print/ImportDeclaration.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, line, indent } = prettier.doc.builders; -const { STRING_NEEDS_QUOTES } = require("../util"); +import { STRING_NEEDS_QUOTES } from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -14,6 +14,4 @@ const p = (node, path, print) => { ]); }; -module.exports = { - printImportDeclaration: p -}; +export { p as printImportDeclaration }; diff --git a/src/print/IncludeStatement.js b/src/print/IncludeStatement.js index 61fbc12d..e506940c 100644 --- a/src/print/IncludeStatement.js +++ b/src/print/IncludeStatement.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group } = prettier.doc.builders; -const { STRING_NEEDS_QUOTES } = require("../util"); +import { STRING_NEEDS_QUOTES } from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -22,6 +22,4 @@ const p = (node, path, print) => { return group(parts); }; -module.exports = { - printIncludeStatement: p -}; +export { p as printIncludeStatement }; diff --git a/src/print/MacroDeclarationStatement.js b/src/print/MacroDeclarationStatement.js index 4308d885..5854ea0f 100644 --- a/src/print/MacroDeclarationStatement.js +++ b/src/print/MacroDeclarationStatement.js @@ -1,4 +1,4 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, join, line, softline, hardline, indent } = prettier.doc.builders; const printOpener = (node, path, print) => { @@ -27,6 +27,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printMacroDeclarationStatement: p -}; +export { p as printMacroDeclarationStatement }; diff --git a/src/print/MemberExpression.js b/src/print/MemberExpression.js index d24b379d..92776ad3 100644 --- a/src/print/MemberExpression.js +++ b/src/print/MemberExpression.js @@ -1,10 +1,10 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, wrapExpressionIfNeeded -} = require("../util"); +} from "../util/index.js"; const p = (node, path, print) => { node[EXPRESSION_NEEDED] = false; @@ -19,6 +19,4 @@ const p = (node, path, print) => { return group(parts); }; -module.exports = { - printMemberExpression: p -}; +export { p as printMemberExpression }; diff --git a/src/print/MountStatement.js b/src/print/MountStatement.js index d6a69a9a..ed0beb86 100644 --- a/src/print/MountStatement.js +++ b/src/print/MountStatement.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, indent, line, hardline } = prettier.doc.builders; -const { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES } = require("../util"); +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES } from "../util/index.js"; const formatDelay = delay => { return "" + delay / 1000 + "s"; @@ -80,6 +80,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printMountStatement: p -}; +export { p as printMountStatement }; diff --git a/src/print/NamedArgumentExpression.js b/src/print/NamedArgumentExpression.js index c6f038e1..6e97f1f7 100644 --- a/src/print/NamedArgumentExpression.js +++ b/src/print/NamedArgumentExpression.js @@ -1,4 +1,4 @@ -const { STRING_NEEDS_QUOTES } = require("../util"); +import { STRING_NEEDS_QUOTES } from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = true; @@ -7,6 +7,4 @@ const p = (node, path, print) => { return [printedName, " = ", printedValue]; }; -module.exports = { - printNamedArgumentExpression: p -}; +export { p as printNamedArgumentExpression }; diff --git a/src/print/ObjectExpression.js b/src/print/ObjectExpression.js index 20eada4d..10237318 100644 --- a/src/print/ObjectExpression.js +++ b/src/print/ObjectExpression.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, line, hardline, indent, join } = prettier.doc.builders; -const { EXPRESSION_NEEDED, wrapExpressionIfNeeded } = require("../util"); +import { EXPRESSION_NEEDED, wrapExpressionIfNeeded } from "../util/index.js"; const p = (node, path, print, options) => { if (node.properties.length === 0) { @@ -17,6 +17,4 @@ const p = (node, path, print, options) => { return group(parts); }; -module.exports = { - printObjectExpression: p -}; +export { p as printObjectExpression }; diff --git a/src/print/ObjectProperty.js b/src/print/ObjectProperty.js index 1f4065c0..88b1fefa 100644 --- a/src/print/ObjectProperty.js +++ b/src/print/ObjectProperty.js @@ -1,5 +1,5 @@ -const { isValidIdentifierName, STRING_NEEDS_QUOTES } = require("../util"); -const { Node } = require("melody-types"); +import { isValidIdentifierName, STRING_NEEDS_QUOTES } from "../util/index.js"; +import { Node } from "melody-types"; const p = (node, path, print, options) => { node[STRING_NEEDS_QUOTES] = @@ -22,6 +22,4 @@ const p = (node, path, print, options) => { return parts; }; -module.exports = { - printObjectProperty: p -}; +export { p as printObjectProperty }; diff --git a/src/print/SequenceExpression.js b/src/print/SequenceExpression.js index 28197970..4c97fb35 100644 --- a/src/print/SequenceExpression.js +++ b/src/print/SequenceExpression.js @@ -1,11 +1,11 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { hardline } = prettier.doc.builders; -const { +import { removeSurroundingWhitespace, printChildGroups, isRootNode, STRING_NEEDS_QUOTES -} = require("../util"); +} from "../util/index.js"; const p = (node, path, print) => { node[STRING_NEEDS_QUOTES] = false; @@ -17,6 +17,4 @@ const p = (node, path, print) => { return items; }; -module.exports = { - printSequenceExpression: p -}; +export { p as printSequenceExpression }; diff --git a/src/print/SetStatement.js b/src/print/SetStatement.js index c4daba16..389c8f55 100644 --- a/src/print/SetStatement.js +++ b/src/print/SetStatement.js @@ -1,12 +1,12 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, line, hardline } = prettier.doc.builders; -const { +import { printChildBlock, isNotExpression, STRING_NEEDS_QUOTES, GROUP_TOP_LEVEL_LOGICAL -} = require("../util"); -const { Node } = require("melody-types"); +} from "../util/index.js"; +import { Node } from "melody-types"; const shouldAvoidBreakBeforeClosing = valueNode => Node.isObjectExpression(valueNode) || @@ -87,6 +87,4 @@ const p = (node, path, print) => { return printRegularSet(node, path, print); }; -module.exports = { - printSetStatement: p -}; +export { p as printSetStatement }; diff --git a/src/print/SliceExpression.js b/src/print/SliceExpression.js index 87f483f6..3b66df15 100644 --- a/src/print/SliceExpression.js +++ b/src/print/SliceExpression.js @@ -5,6 +5,4 @@ const p = (node, path, print) => { return [printedTarget, "[", printedStart, ":", printedEnd, "]"]; }; -module.exports = { - printSliceExpression: p -}; +export { p as printSliceExpression }; diff --git a/src/print/SpacelessBlock.js b/src/print/SpacelessBlock.js index 19ac89e8..8469011b 100644 --- a/src/print/SpacelessBlock.js +++ b/src/print/SpacelessBlock.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { hardline, group } = prettier.doc.builders; -const { printChildBlock } = require("../util"); +import { printChildBlock } from "../util/index.js"; const p = (node, path, print) => { const parts = [ @@ -19,6 +19,4 @@ const p = (node, path, print) => { return result; }; -module.exports = { - printSpacelessBlock: p -}; +export { p as printSpacelessBlock }; diff --git a/src/print/StringLiteral.js b/src/print/StringLiteral.js index d88fc757..7c87dba3 100644 --- a/src/print/StringLiteral.js +++ b/src/print/StringLiteral.js @@ -1,9 +1,9 @@ -const { +import { firstValueInAncestorChain, quoteChar, STRING_NEEDS_QUOTES, OVERRIDE_QUOTE_CHAR -} = require("../util"); +} from "../util/index.js"; const isUnmaskedOccurrence = (s, pos) => { return pos === 0 || s[pos - 1] !== "\\"; @@ -60,6 +60,4 @@ const p = (node, path, print, options) => { return node.value; }; -module.exports = { - printStringLiteral: p -}; +export { p as printStringLiteral }; diff --git a/src/print/TestExpression.js b/src/print/TestExpression.js index b782a3bf..2dec056b 100644 --- a/src/print/TestExpression.js +++ b/src/print/TestExpression.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { softline, line, group, join, indent } = prettier.doc.builders; -const { findParentNode } = require("../util"); +import { findParentNode } from "../util/index.js"; const textMap = { TestNullExpression: "null", @@ -43,6 +43,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printTestExpression: p -}; +export { p as printTestExpression }; diff --git a/src/print/TextStatement.js b/src/print/TextStatement.js index 0057cf7d..e47663d4 100644 --- a/src/print/TextStatement.js +++ b/src/print/TextStatement.js @@ -1,13 +1,13 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { line, join, hardline } = prettier.doc.builders; -const { +import { isWhitespaceOnly, countNewlines, createTextGroups, PRESERVE_LEADING_WHITESPACE, PRESERVE_TRAILING_WHITESPACE, NEWLINES_ONLY -} = require("../util"); +} from "../util/index.js"; const newlinesOnly = (s, preserveWhitespace = true) => { const numNewlines = countNewlines(s); @@ -41,6 +41,4 @@ const p = (node, path, print) => { return join([hardline, hardline], textGroups); }; -module.exports = { - printTextStatement: p -}; +export { p as printTextStatement }; diff --git a/src/print/TwigComment.js b/src/print/TwigComment.js index 2a770c61..cb2f2bc4 100644 --- a/src/print/TwigComment.js +++ b/src/print/TwigComment.js @@ -1,9 +1,9 @@ -const { +import { createTextGroups, stripTwigCommentChars, normalizeTwigComment, countNewlines -} = require("../util"); +} from "../util/index.js"; const p = node => { const originalText = node.value.value || ""; @@ -20,6 +20,4 @@ const p = node => { return [trimLeft ? "{#-" : "{#", commentText, trimRight ? "-#}" : "#}"]; }; -module.exports = { - printTwigComment: p -}; +export { p as printTwigComment }; diff --git a/src/print/UnaryExpression.js b/src/print/UnaryExpression.js index 1b075483..b8bb97c9 100644 --- a/src/print/UnaryExpression.js +++ b/src/print/UnaryExpression.js @@ -1,10 +1,10 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group } = prettier.doc.builders; -const { +import { EXPRESSION_NEEDED, STRING_NEEDS_QUOTES, wrapExpressionIfNeeded -} = require("../util"); +} from "../util/index.js"; const p = (node, path, print) => { node[EXPRESSION_NEEDED] = false; @@ -14,6 +14,4 @@ const p = (node, path, print) => { return group(parts); }; -module.exports = { - printUnaryExpression: p -}; +export { p as printUnaryExpression }; diff --git a/src/print/UnarySubclass.js b/src/print/UnarySubclass.js index 8a55160e..d25a6cd6 100644 --- a/src/print/UnarySubclass.js +++ b/src/print/UnarySubclass.js @@ -1,13 +1,13 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { softline, indent, group } = prettier.doc.builders; -const { Node } = require("melody-types"); -const { +import { Node } from "melody-types"; +import { firstValueInAncestorChain, findParentNode, isMultipartExpression, IS_ROOT_LOGICAL_EXPRESSION, GROUP_TOP_LEVEL_LOGICAL -} = require("../util"); +} from "../util/index.js"; const argumentNeedsParentheses = node => isMultipartExpression(node); @@ -54,6 +54,4 @@ const p = (node, path, print) => { return parts; }; -module.exports = { - printUnarySubclass: p -}; +export { p as printUnarySubclass }; diff --git a/src/print/UseStatement.js b/src/print/UseStatement.js index 83380e6d..084eb4c5 100644 --- a/src/print/UseStatement.js +++ b/src/print/UseStatement.js @@ -1,4 +1,4 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { group, indent, join, line } = prettier.doc.builders; const p = (node, path, print) => { @@ -21,6 +21,4 @@ const p = (node, path, print) => { return group(docs); }; -module.exports = { - printUseStatement: p -}; +export { p as printUseStatement }; diff --git a/src/print/VariableDeclarationStatement.js b/src/print/VariableDeclarationStatement.js index 90199394..b5416dbb 100644 --- a/src/print/VariableDeclarationStatement.js +++ b/src/print/VariableDeclarationStatement.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { line, indent } = prettier.doc.builders; -const { STRING_NEEDS_QUOTES, isContractableNodeType } = require("../util"); +import { STRING_NEEDS_QUOTES, isContractableNodeType } from "../util/index.js"; const p = (node, path, print) => { const printedName = path.call(print, "name"); @@ -17,6 +17,4 @@ const p = (node, path, print) => { return [printedName, " =", rightHandSide]; }; -module.exports = { - printVariableDeclarationStatement: p -}; +export { p as printVariableDeclarationStatement }; diff --git a/src/printer.js b/src/printer.js index a9db2aa1..5b3948ea 100644 --- a/src/printer.js +++ b/src/printer.js @@ -1,67 +1,55 @@ -"use strict"; - -const { printSequenceExpression } = require("./print/SequenceExpression.js"); -const { printBinaryExpression } = require("./print/BinaryExpression.js"); -const { - printConditionalExpression -} = require("./print/ConditionalExpression.js"); -const { printElement } = require("./print/Element.js"); -const { printAttribute } = require("./print/Attribute.js"); -const { printIdentifier } = require("./print/Identifier.js"); -const { printExpressionStatement } = require("./print/ExpressionStatement.js"); -const { printMemberExpression } = require("./print/MemberExpression.js"); -const { printFilterExpression } = require("./print/FilterExpression.js"); -const { printObjectExpression } = require("./print/ObjectExpression.js"); -const { printObjectProperty } = require("./print/ObjectProperty.js"); -const { printCallExpression } = require("./print/CallExpression.js"); -const { printTestExpression } = require("./print/TestExpression.js"); -const { printUnaryExpression } = require("./print/UnaryExpression.js"); -const { printUnarySubclass } = require("./print/UnarySubclass.js"); -const { printTextStatement } = require("./print/TextStatement.js"); -const { printStringLiteral } = require("./print/StringLiteral.js"); -const { printArrayExpression } = require("./print/ArrayExpression.js"); -const { printSliceExpression } = require("./print/SliceExpression.js"); -const { printUseStatement } = require("./print/UseStatement.js"); -const { printAliasExpression } = require("./print/AliasExpression.js"); -const { printBlockStatement } = require("./print/BlockStatement.js"); -const { printSpacelessBlock } = require("./print/SpacelessBlock.js"); -const { printAutoescapeBlock } = require("./print/AutoescapeBlock.js"); -const { printFlushStatement } = require("./print/FlushStatement.js"); -const { printIncludeStatement } = require("./print/IncludeStatement.js"); -const { printIfStatement } = require("./print/IfStatement.js"); -const { printMountStatement } = require("./print/MountStatement.js"); -const { printForStatement } = require("./print/ForStatement.js"); -const { printSetStatement } = require("./print/SetStatement.js"); -const { printDoStatement } = require("./print/DoStatement.js"); -const { printExtendsStatement } = require("./print/ExtendsStatement.js"); -const { printEmbedStatement } = require("./print/EmbedStatement.js"); -const { printImportDeclaration } = require("./print/ImportDeclaration.js"); -const { printFromStatement } = require("./print/FromStatement.js"); -const { printTwigComment } = require("./print/TwigComment.js"); -const { printHtmlComment } = require("./print/HtmlComment.js"); -const { printDeclaration } = require("./print/Declaration.js"); -const { printGenericTwigTag } = require("./print/GenericTwigTag.js"); -const { printGenericToken } = require("./print/GenericToken.js"); -const { - printMacroDeclarationStatement -} = require("./print/MacroDeclarationStatement.js"); -const { - printFilterBlockStatement -} = require("./print/FilterBlockStatement.js"); -const { - printVariableDeclarationStatement -} = require("./print/VariableDeclarationStatement.js"); -const { - printNamedArgumentExpression -} = require("./print/NamedArgumentExpression.js"); -const { +import { printSequenceExpression } from "./print/SequenceExpression.js"; +import { printBinaryExpression } from "./print/BinaryExpression.js"; +import { printConditionalExpression } from "./print/ConditionalExpression.js"; +import { printElement } from "./print/Element.js"; +import { printAttribute } from "./print/Attribute.js"; +import { printIdentifier } from "./print/Identifier.js"; +import { printExpressionStatement } from "./print/ExpressionStatement.js"; +import { printMemberExpression } from "./print/MemberExpression.js"; +import { printFilterExpression } from "./print/FilterExpression.js"; +import { printObjectExpression } from "./print/ObjectExpression.js"; +import { printObjectProperty } from "./print/ObjectProperty.js"; +import { printCallExpression } from "./print/CallExpression.js"; +import { printTestExpression } from "./print/TestExpression.js"; +import { printUnaryExpression } from "./print/UnaryExpression.js"; +import { printUnarySubclass } from "./print/UnarySubclass.js"; +import { printTextStatement } from "./print/TextStatement.js"; +import { printStringLiteral } from "./print/StringLiteral.js"; +import { printArrayExpression } from "./print/ArrayExpression.js"; +import { printSliceExpression } from "./print/SliceExpression.js"; +import { printUseStatement } from "./print/UseStatement.js"; +import { printAliasExpression } from "./print/AliasExpression.js"; +import { printBlockStatement } from "./print/BlockStatement.js"; +import { printSpacelessBlock } from "./print/SpacelessBlock.js"; +import { printAutoescapeBlock } from "./print/AutoescapeBlock.js"; +import { printFlushStatement } from "./print/FlushStatement.js"; +import { printIncludeStatement } from "./print/IncludeStatement.js"; +import { printIfStatement } from "./print/IfStatement.js"; +import { printMountStatement } from "./print/MountStatement.js"; +import { printForStatement } from "./print/ForStatement.js"; +import { printSetStatement } from "./print/SetStatement.js"; +import { printDoStatement } from "./print/DoStatement.js"; +import { printExtendsStatement } from "./print/ExtendsStatement.js"; +import { printEmbedStatement } from "./print/EmbedStatement.js"; +import { printImportDeclaration } from "./print/ImportDeclaration.js"; +import { printFromStatement } from "./print/FromStatement.js"; +import { printTwigComment } from "./print/TwigComment.js"; +import { printHtmlComment } from "./print/HtmlComment.js"; +import { printDeclaration } from "./print/Declaration.js"; +import { printGenericTwigTag } from "./print/GenericTwigTag.js"; +import { printGenericToken } from "./print/GenericToken.js"; +import { printMacroDeclarationStatement } from "./print/MacroDeclarationStatement.js"; +import { printFilterBlockStatement } from "./print/FilterBlockStatement.js"; +import { printVariableDeclarationStatement } from "./print/VariableDeclarationStatement.js"; +import { printNamedArgumentExpression } from "./print/NamedArgumentExpression.js"; +import { isWhitespaceNode, isHtmlCommentEqualTo, isTwigCommentEqualTo, getPluginPathsFromOptions, loadPlugins -} = require("./util"); -const { ORIGINAL_SOURCE } = require("./parser"); +} from "./util/index.js"; +import { ORIGINAL_SOURCE } from "./parser.js"; const printFunctions = {}; @@ -279,6 +267,4 @@ printFunctions["GenericToken"] = printGenericToken; // Fallbacks printFunctions["String"] = s => s; -module.exports = { - print -}; +export { print }; diff --git a/src/util/index.js b/src/util/index.js index 039e1a2b..32c1e34b 100644 --- a/src/util/index.js +++ b/src/util/index.js @@ -1,14 +1,4 @@ -const pluginUtil = require("./pluginUtil.js"); -const publicSymbols = require("./publicSymbols.js"); -const publicFunctions = require("./publicFunctions.js"); -const printFunctions = require("./printFunctions.js"); - -const combinedExports = Object.assign( - {}, - pluginUtil, - publicSymbols, - publicFunctions, - printFunctions -); - -module.exports = combinedExports; +export * from "./pluginUtil.js"; +export * from "./publicSymbols.js"; +export * from "./publicFunctions.js"; +export * from "./printFunctions.js"; diff --git a/src/util/pluginUtil.js b/src/util/pluginUtil.js index 1f8bb925..6db41708 100644 --- a/src/util/pluginUtil.js +++ b/src/util/pluginUtil.js @@ -1,5 +1,8 @@ -const path = require("path"); -const resolve = require("resolve"); +import path from "path"; +import resolve from "resolve"; +import { URL, fileURLToPath } from "url"; + +const __dirname = fileURLToPath(new URL(".", import.meta.url)); const getPluginPathsFromOptions = options => { if (options.twigMelodyPlugins && Array.isArray(options.twigMelodyPlugins)) { @@ -37,8 +40,8 @@ const getProjectRoot = () => { const tryLoadPlugin = pluginPath => { try { const projectRoot = getProjectRoot(); - const requirePath = resolve.sync(path.resolve(projectRoot, pluginPath)); - return eval("require")(requirePath); + const modulePath = resolve.sync(path.resolve(projectRoot, pluginPath)); + return import(modulePath); } catch (e) { console.error("Could not load plugin path " + pluginPath); return undefined; @@ -51,7 +54,9 @@ const loadPlugins = pluginPaths => { pluginPaths.forEach(pluginPath => { const loadedPlugin = tryLoadPlugin(pluginPath); if (loadedPlugin) { - result.push(loadedPlugin); + loadedPlugin.then(res => { + result.push(res); + }); } }); } @@ -68,7 +73,7 @@ const getAdditionalMelodyExtensions = pluginPaths => { return result.filter(elem => !!elem); }; -module.exports = { +export { getPluginPathsFromOptions, tryLoadPlugin, loadPlugins, diff --git a/src/util/printFunctions.js b/src/util/printFunctions.js index 9aff346b..e274712d 100644 --- a/src/util/printFunctions.js +++ b/src/util/printFunctions.js @@ -1,6 +1,6 @@ -const prettier = require("prettier"); +import prettier from "prettier"; const { line, indent, group } = prettier.doc.builders; -const { Node } = require("melody-types"); +import { Node } from "melody-types"; const noSpaceBeforeToken = { ",": true @@ -29,6 +29,4 @@ const printSingleTwigTag = (node, path, print) => { return group(parts); }; -module.exports = { - printSingleTwigTag -}; +export { printSingleTwigTag }; diff --git a/src/util/publicFunctions.js b/src/util/publicFunctions.js index 653dc8c8..38a8e774 100644 --- a/src/util/publicFunctions.js +++ b/src/util/publicFunctions.js @@ -1,13 +1,13 @@ -const { EXPRESSION_NEEDED, INSIDE_OF_STRING } = require("./publicSymbols.js"); -const prettier = require("prettier"); +import { EXPRESSION_NEEDED, INSIDE_OF_STRING } from "./publicSymbols.js"; +import prettier from "prettier"; const { line, indent, fill, group, hardline } = prettier.doc.builders; -const { Node } = require("melody-types"); +import { Node } from "melody-types"; -const { +import { PRESERVE_LEADING_WHITESPACE, PRESERVE_TRAILING_WHITESPACE, NEWLINES_ONLY -} = require("./publicSymbols.js"); +} from "./publicSymbols.js"; const INLINE_HTML_ELEMENTS = [ "a", @@ -550,7 +550,7 @@ const printChildGroups = (node, path, print, ...childPath) => { return finishedGroups; }; -module.exports = { +export { shouldExpressionsBeWrapped, wrapExpressionIfNeeded, wrapInStringInterpolation, diff --git a/src/util/publicSymbols.js b/src/util/publicSymbols.js index b8065489..33d70bdd 100644 --- a/src/util/publicSymbols.js +++ b/src/util/publicSymbols.js @@ -74,7 +74,7 @@ const GROUP_TOP_LEVEL_LOGICAL = Symbol("GROUP_TOP_LEVEL_LOGICAL"); */ const IS_ROOT_LOGICAL_EXPRESSION = Symbol("IS_ROOT_LOGICAL_EXPRESSION"); -module.exports = { +export { STRING_NEEDS_QUOTES, OVERRIDE_QUOTE_CHAR, INSIDE_OF_STRING, diff --git a/tests/Comments/__snapshots__/jsfmt.spec.js.snap b/tests/Comments/__snapshots__/jsfmt.spec.js.snap index 4804847e..d14e0e30 100644 --- a/tests/Comments/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Comments/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,38 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`htmlComments.melody.twig - melody-verify > htmlComments.melody.twig 1`] = ` + +This is a paragraph + + + +Another paragraph + + + + +A third paragraph + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is a paragraph + + + +Another paragraph + + + +A third paragraph + + + +`; exports[`htmlComments.melody.twig - melody-verify: htmlComments.melody.twig 1`] = ` @@ -34,6 +68,69 @@ A third paragraph `; +exports[`twigComments.melody.twig - melody-verify > twigComments.melody.twig 1`] = ` +{# One #} + +{# Two #} + +{#comment #} + +{# comment#} + +{# comment +#} + +{% if searchResultFailing %} + {# This is a Twig comment #} +
  • No results found
  • +{% endif %} + +{#- comment -#} + +{#- + comment + with multiple lines +-#} + +{## +# Illustration Hotel Interaction +# +# This image is just of decorative nature and doesn't contain relevant information +# for visually impaired users. +#} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{# One #} + +{# Two #} + +{# comment #} + +{# comment #} + +{# comment +#} + +{% if searchResultFailing %} + {# This is a Twig comment #} +
  • No results found
  • +{% endif %} + +{#- comment -#} + +{#- + comment + with multiple lines +-#} + +{## +# Illustration Hotel Interaction +# +# This image is just of decorative nature and doesn't contain relevant information +# for visually impaired users. +#} + +`; + exports[`twigComments.melody.twig - melody-verify: twigComments.melody.twig 1`] = ` {# One #} diff --git a/tests/ConstantValue/__snapshots__/jsfmt.spec.js.snap b/tests/ConstantValue/__snapshots__/jsfmt.spec.js.snap index 9767f0b8..46786bd2 100644 --- a/tests/ConstantValue/__snapshots__/jsfmt.spec.js.snap +++ b/tests/ConstantValue/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,11 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`constant-value-int.melody.twig - melody-verify > constant-value-int.melody.twig 1`] = ` + 123 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +123 + +`; exports[`constant-value-int.melody.twig - melody-verify: constant-value-int.melody.twig 1`] = ` 123 @@ -7,6 +14,13 @@ exports[`constant-value-int.melody.twig - melody-verify: constant-value-int.melo `; +exports[`constant-value-string.melody.twig - melody-verify > constant-value-string.melody.twig 1`] = ` + Test string +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Test string + +`; + exports[`constant-value-string.melody.twig - melody-verify: constant-value-string.melody.twig 1`] = ` Test string ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -14,6 +28,21 @@ Test string `; +exports[`special-cases.melody.twig - melody-verify > special-cases.melody.twig 1`] = ` +{% if isRTL %}‎{% endif %} + +{% if searchResultFailing %} +
  • No results found
  • +{% endif %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% if isRTL %}‎{% endif %} + +{% if searchResultFailing %} +
  • No results found
  • +{% endif %} + +`; + exports[`special-cases.melody.twig - melody-verify: special-cases.melody.twig 1`] = ` {% if isRTL %}‎{% endif %} diff --git a/tests/ControlStructures/__snapshots__/jsfmt.spec.js.snap b/tests/ControlStructures/__snapshots__/jsfmt.spec.js.snap index c7c1bebb..2246aee4 100644 --- a/tests/ControlStructures/__snapshots__/jsfmt.spec.js.snap +++ b/tests/ControlStructures/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,39 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`for.melody.twig - melody-verify > for.melody.twig 1`] = ` +
      + {% for item in items %} +
    • + {{ loop.index0 // 2 }} {{ item.name }} {{ loop.index }} +
    • + {% endfor %} +
    + +
      + {%- for item in items -%} +
    • + {{ loop.index0 // 2 }} {{ item.name }} {{ loop.index }} +
    • + {%- endfor -%} +
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
      + {% for item in items %} +
    • + {{ loop.index0 // 2 }} {{ item.name }} {{ loop.index }} +
    • + {% endfor %} +
    + +
      + {%- for item in items -%} +
    • + {{ loop.index0 // 2 }} {{ item.name }} {{ loop.index }} +
    • + {%- endfor -%} +
    + +`; exports[`for.melody.twig - melody-verify: for.melody.twig 1`] = `
      @@ -35,6 +70,46 @@ exports[`for.melody.twig - melody-verify: for.melody.twig 1`] = ` `; +exports[`forIfElse.melody.twig - melody-verify > forIfElse.melody.twig 1`] = ` +
        +{% for a,b in c | slice(3, c.length) if b is even -%} +
      • {{ a }} - {{ b }}
      • +{%- else %} +
      • No results found
      • +{%- endfor %} +
      + +
        + {% for key,value in c[:c.length - 1] if value is defined and not value is even %} +
      • {{ key }} - {{ value }}
      • + {% else -%} + {% if regionName is empty %} +
      • No results found
      • + {% endif %} + {% endfor -%} +
      +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
        + {% for a, b in c|slice(3, c.length) if b is even -%} +
      • {{ a }} - {{ b }}
      • + {%- else %} +
      • No results found
      • + {%- endfor %} +
      + +
        + {% for key, value in c[:c.length - 1] + if value is defined and value is not even %} +
      • {{ key }} - {{ value }}
      • + {% else -%} + {% if regionName is empty %} +
      • No results found
      • + {% endif %} + {% endfor -%} +
      + +`; + exports[`forIfElse.melody.twig - melody-verify: forIfElse.melody.twig 1`] = `
        {% for a,b in c | slice(3, c.length) if b is even -%} @@ -75,6 +150,22 @@ exports[`forIfElse.melody.twig - melody-verify: forIfElse.melody.twig 1`] = ` `; +exports[`forInclude.melody.twig - melody-verify > forInclude.melody.twig 1`] = ` +{% for foo in range(1, category) %} + + {% include './Star.twig' only %} + +{% endfor %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% for foo in range(1, category) %} + + {% include './Star.twig' only %} + +{% endfor %} + +`; + exports[`forInclude.melody.twig - melody-verify: forInclude.melody.twig 1`] = ` {% for foo in range(1, category) %} @@ -91,6 +182,33 @@ exports[`forInclude.melody.twig - melody-verify: forInclude.melody.twig 1`] = ` `; +exports[`forWithBlock.melody.twig - melody-verify > forWithBlock.melody.twig 1`] = ` +

        {{ title | title }}

        +
          + {% for item in items %} +
        • + {% block title %} + {{ loop.index0 }} {{ item.name | title }} {{ loop.index }} + {% endblock %} +
        • + {% endfor %} +
        +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +

        + {{ title|title }} +

        +
          + {% for item in items %} +
        • + {% block title %} + {{ loop.index0 }} {{ item.name|title }} {{ loop.index }} + {% endblock %} +
        • + {% endfor %} +
        + +`; + exports[`forWithBlock.melody.twig - melody-verify: forWithBlock.melody.twig 1`] = `

        {{ title | title }}

          @@ -118,6 +236,69 @@ exports[`forWithBlock.melody.twig - melody-verify: forWithBlock.melody.twig 1`] `; +exports[`if.melody.twig - melody-verify > if.melody.twig 1`] = ` +
          + {%- if foo %} +
          + {% else -%} +
          + {%- endif %} +
          + +{% if partner -%} + {{ partner.name }} +{%- elseif partnerName %} + {{ partnerName }} +{% elseif partnerImg -%} + {{ partnerImg }} +{%- endif -%} + + +{% if isLeftToRight %}Hund{% endif %} +{% if isRTL %}{{ '‎' | raw }}{% endif %} + + +{% if unitAfter | length > 0 and not withoutDisplayPattern %}{{ unitAfter }}{% endif %} + +{%- if isCTestActive('WEB-50808') %} web50808{% endif -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + {%- if foo %} +
          + {% else -%} +
          + {%- endif %} +
          + +{% if partner -%} + {{ partner.name }} +{%- elseif partnerName %} + {{ partnerName }} +{% elseif partnerImg -%} + {{ partnerImg }} +{%- endif -%} + + +{% if isLeftToRight %}Hund{% endif %} +{% if isRTL %}{{ '‎'|raw }}{% endif %} + + +{% if (unitAfter|length) > 0 and not withoutDisplayPattern %} + {{ unitAfter }} +{% endif %} + +{%- if isCTestActive('WEB-50808') %} web50808{% endif -%} + +`; + exports[`if.melody.twig - melody-verify: if.melody.twig 1`] = `
          {%- if foo %} diff --git a/tests/Declaration/__snapshots__/jsfmt.spec.js.snap b/tests/Declaration/__snapshots__/jsfmt.spec.js.snap index 0af8f9c3..ab6a55fb 100644 --- a/tests/Declaration/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Declaration/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,19 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`doctype.melody.twig - melody-verify > doctype.melody.twig 1`] = ` + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + + + + +`; exports[`doctype.melody.twig - melody-verify: doctype.melody.twig 1`] = ` diff --git a/tests/Element/__snapshots__/jsfmt.spec.js.snap b/tests/Element/__snapshots__/jsfmt.spec.js.snap index ee31110e..03cde54f 100644 --- a/tests/Element/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Element/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,39 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`attributes.melody.twig - melody-verify > attributes.melody.twig 1`] = ` +Link + +Test + + +
          abcd
          + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Link + + + Test + + + +
          + abcd +
          + + + +`; exports[`attributes.melody.twig - melody-verify: attributes.melody.twig 1`] = ` Link @@ -35,6 +70,31 @@ exports[`attributes.melody.twig - melody-verify: attributes.melody.twig 1`] = ` `; +exports[`breakingSiblings.melody.twig - melody-verify > breakingSiblings.melody.twig 1`] = ` +OneTwoThreeFourFiveSixSeven + +One +Two +Three +Four +Five +Six +Seven +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OneTwoThreeFourFive + Six +Seven + +One +Two +Three +Four +Five +Six +Seven + +`; + exports[`breakingSiblings.melody.twig - melody-verify: breakingSiblings.melody.twig 1`] = ` OneTwoThreeFourFiveSixSeven @@ -60,6 +120,23 @@ exports[`breakingSiblings.melody.twig - melody-verify: breakingSiblings.melody.t `; +exports[`children.melody.twig - melody-verify > children.melody.twig 1`] = ` +
          +
          + +
          + {{ 'checking_deals' }} +
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          +
          + +
          + {{ 'checking_deals' }} +
          + +`; + exports[`children.melody.twig - melody-verify: children.melody.twig 1`] = `
          @@ -77,6 +154,34 @@ exports[`children.melody.twig - melody-verify: children.melody.twig 1`] = ` `; +exports[`emptyLines.melody.twig - melody-verify > emptyLines.melody.twig 1`] = ` +
          + DNS explained + + + DNS explained +
          + +
          + DNS explained + + DNS explained +
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + DNS explained + + DNS explained +
          + +
          + DNS explained + + DNS explained +
          + +`; + exports[`emptyLines.melody.twig - melody-verify: emptyLines.melody.twig 1`] = `
          DNS explained @@ -105,6 +210,13 @@ exports[`emptyLines.melody.twig - melody-verify: emptyLines.melody.twig 1`] = ` `; +exports[`extraSpaces.melody.twig - melody-verify > extraSpaces.melody.twig 1`] = ` +Text +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Text + +`; + exports[`extraSpaces.melody.twig - melody-verify: extraSpaces.melody.twig 1`] = ` Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -112,6 +224,22 @@ exports[`extraSpaces.melody.twig - melody-verify: extraSpaces.melody.twig 1`] = `; +exports[`manyAttributes.melody.twig - melody-verify > manyAttributes.melody.twig 1`] = ` +Text +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Text + + +`; + exports[`manyAttributes.melody.twig - melody-verify: manyAttributes.melody.twig 1`] = ` Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -128,6 +256,15 @@ exports[`manyAttributes.melody.twig - melody-verify: manyAttributes.melody.twig `; +exports[`oneLine.melody.twig - melody-verify > oneLine.melody.twig 1`] = ` + + Next + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Next + +`; + exports[`oneLine.melody.twig - melody-verify: oneLine.melody.twig 1`] = ` Next @@ -137,6 +274,30 @@ exports[`oneLine.melody.twig - melody-verify: oneLine.melody.twig 1`] = ` `; +exports[`selfClosing.melody.twig - melody-verify > selfClosing.melody.twig 1`] = ` + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + + + + + + +`; + exports[`selfClosing.melody.twig - melody-verify: selfClosing.melody.twig 1`] = ` @@ -161,6 +322,13 @@ exports[`selfClosing.melody.twig - melody-verify: selfClosing.melody.twig 1`] = `; +exports[`siblings.melody.twig - melody-verify > siblings.melody.twig 1`] = ` +OneTwoThree +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OneTwoThree + +`; + exports[`siblings.melody.twig - melody-verify: siblings.melody.twig 1`] = ` OneTwoThree ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,6 +336,49 @@ exports[`siblings.melody.twig - melody-verify: siblings.melody.twig 1`] = ` `; +exports[`whitespace.melody.twig - melody-verify > whitespace.melody.twig 1`] = ` +{{ price }} {{ currencySymbol }} + +Price: {{ price }} {{ currencySymbol }} per night + +This accommodation is {{ price }} {{ currencySymbol }} per night + +
          + Gallia est omnis divisa in {{ "partes tres" }}, quarum unam incolunt Belgae, aliam Aquitani, tertiam, qui ipsorum lingua Celtae, nostra Galli appellantur. + + Gallien in seiner Gesamtheit zerfällt in drei Teile. Den einen bewohnen die Belger, einen anderen die Aquitaner und den dritten die, die sich selbst Kelten nennen, in unserer Sprache aber Gallier heißen. + + All Gaul is divided into three + parts, one of which the Belgae inhabit, + the Aquitani another, those who in their + own language are called Celts, + in our Gauls, the third. +
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ price }} {{ currencySymbol }} + +Price: {{ price }} {{ currencySymbol }} per night + + + This accommodation is {{ price }} {{ currencySymbol }} per night + + +
          + Gallia est omnis divisa in {{ 'partes tres' }}, quarum unam incolunt Belgae, + aliam Aquitani, tertiam, qui ipsorum lingua Celtae, nostra Galli + appellantur. + + Gallien in seiner Gesamtheit zerfällt in drei Teile. Den einen + bewohnen die Belger, einen anderen die Aquitaner und den dritten die, die + sich selbst Kelten nennen, in unserer Sprache aber Gallier heißen. + + All Gaul is divided into three parts, one of which the Belgae inhabit, the + Aquitani another, those who in their own language are called Celts, in our + Gauls, the third. +
          + +`; + exports[`whitespace.melody.twig - melody-verify: whitespace.melody.twig 1`] = ` {{ price }} {{ currencySymbol }} diff --git a/tests/Expressions/__snapshots__/jsfmt.spec.js.snap b/tests/Expressions/__snapshots__/jsfmt.spec.js.snap index beff64fe..d5ca65ef 100644 --- a/tests/Expressions/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Expressions/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,46 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`arrayExpression.melody.twig - melody-verify > arrayExpression.melody.twig 1`] = ` +{{ [2, 3, "cat"] }} + +{{ [ 2, 3, "cat","dog", "mouse"] }} + +{{ [ 2, 3, "cat","dog", "mouse", "cake", "elephant", "zebra", 3.1415, translate('translation_key')] }} + +{{ numbers[:1] }} + +{{ numbers[1:4] }} + +{{ numbers[1:endIndex] }} + +{{ numbers[1:] }} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ [2, 3, 'cat'] }} + +{{ [2, 3, 'cat', 'dog', 'mouse'] }} + +{{ [ + 2, + 3, + 'cat', + 'dog', + 'mouse', + 'cake', + 'elephant', + 'zebra', + 3.1415, + translate('translation_key') +] }} + +{{ numbers[:1] }} + +{{ numbers[1:4] }} + +{{ numbers[1:endIndex] }} + +{{ numbers[1:] }} + +`; exports[`arrayExpression.melody.twig - melody-verify: arrayExpression.melody.twig 1`] = ` {{ [2, 3, "cat"] }} @@ -42,6 +84,59 @@ exports[`arrayExpression.melody.twig - melody-verify: arrayExpression.melody.twi `; +exports[`binaryExpressions.melody.twig - melody-verify > binaryExpressions.melody.twig 1`] = ` +{% set highlightValueForMoney = isFeatureEnabled('vFMV5') or isCTestActive('WEB-48935') or isCTestActive('WEB-48956') or isCTestActive('WEB-48955')%} + +{% set name = condition1 or condition2 and condition3 or condition4 or condition5 and condition6 %} + +{% set name = condition1 and condition2 or condition3 and condition4 and condition5 or condition6 %} + + +{% set replacement = { + '$address': '' ~ address_attributes.address ~ '', +} %} + +{% set renderLoadingBar = showNewLoadingAnimation and isCTestActive('WEB-47697') and showLoadingBar and (isABCD or isLoading) %} + +{% set result = (conditionAlpha or conditionBeta) + and (conditionGamma or conditionDelta) %} + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% set highlightValueForMoney = isFeatureEnabled('vFMV5') + or isCTestActive('WEB-48935') + or isCTestActive('WEB-48956') + or isCTestActive('WEB-48955') +%} + +{% set name = condition1 + or (condition2 and condition3) + or condition4 + or (condition5 and condition6) +%} + +{% set name = (condition1 and condition2) + or (condition3 and condition4 and condition5) + or condition6 +%} + + +{% set replacement = { + '$address': '' ~ address_attributes.address + ~ '' +} %} + +{% set renderLoadingBar = showNewLoadingAnimation + and isCTestActive('WEB-47697') + and showLoadingBar + and (isABCD or isLoading) +%} + +{% set result = (conditionAlpha or conditionBeta) + and (conditionGamma or conditionDelta) +%} + +`; + exports[`binaryExpressions.melody.twig - melody-verify: binaryExpressions.melody.twig 1`] = ` {% set highlightValueForMoney = isFeatureEnabled('vFMV5') or isCTestActive('WEB-48935') or isCTestActive('WEB-48956') or isCTestActive('WEB-48955')%} @@ -95,6 +190,66 @@ exports[`binaryExpressions.melody.twig - melody-verify: binaryExpressions.melody `; +exports[`callExpression.melody.twig - melody-verify > callExpression.melody.twig 1`] = ` +{{ range(3) }} + +{{ date('d/m/Y H:i', timezone="Europe/Paris") }} + + +
          +
          + {{ + helpers.partner(cheapestPrice.group.groupId, cheapestPrice.name.value) + }} +
          +
          +
          + +{{ date({ + index: 5, + isOverview: true, + isLongPropertyName: true, + hasBeenWaiting: true +}) }} + +{{ craft.someCoolObject.someMethodToUse({ foo: 'bar', bar: 'baz', baz: 'foo' }).all() }} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ range(3) }} + +{{ date('d/m/Y H:i', timezone = 'Europe/Paris') }} + + +
          +
          + {{ + helpers.partner( + cheapestPrice.group.groupId, + cheapestPrice.name.value + ) + }} +
          +
          +
          + +{{ + date({ + index: 5, + isOverview: true, + isLongPropertyName: true, + hasBeenWaiting: true + }) +}} + +{{ + craft.someCoolObject.someMethodToUse({ + foo: 'bar', + bar: 'baz', + baz: 'foo' + }).all() +}} + +`; + exports[`callExpression.melody.twig - melody-verify: callExpression.melody.twig 1`] = ` {{ range(3) }} @@ -155,6 +310,23 @@ exports[`callExpression.melody.twig - melody-verify: callExpression.melody.twig `; +exports[`conditionalExpression.melody.twig - melody-verify > conditionalExpression.melody.twig 1`] = ` +{{ test ? "One" : "Two" }} + +{{ test ? "This is a slightly longer string to overflow the line" : "and here is its counterpart" }} + +{{- ratingValue == 10 ? ratingValue : ratingValue -}} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ test ? 'One' : 'Two' }} + +{{ test + ? 'This is a slightly longer string to overflow the line' + : 'and here is its counterpart' }} + +{{- ratingValue == 10 ? ratingValue : ratingValue -}} + +`; + exports[`conditionalExpression.melody.twig - melody-verify: conditionalExpression.melody.twig 1`] = ` {{ test ? "One" : "Two" }} @@ -172,6 +344,58 @@ exports[`conditionalExpression.melody.twig - melody-verify: conditionalExpressio `; +exports[`filterExpression.melody.twig - melody-verify > filterExpression.melody.twig 1`] = ` +{{ 'test.foo' | split('.') }} +{{ range(3) | sort | join(',') }} +{{ 'SHOUTING' | lower|escape('html') | upper | escape('markdown') | lower | upper | escape('markdown') }} + +{% include './usefulDeal.melody.twig' with deal | merge( + { + 'index': loop.index0, + 'isOverview': isOverview, + 'isRTL': isRTL, + 'useWiderItems': useWiderItems + } +) only %} + +{{ (hasAdvertiserRatings + ? 'tri_based_on' | translate({ 'iBasedOn': '' ~ reviewCount ~ '' }) + : 'tri_based_on_no_partners' | translate({ 'iBasedOn': '' ~ reviewCount ~ '' }) + ) | raw + }} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ 'test.foo'|split('.') }} +{{ range(3)|sort|join(',') }} +{{ + 'SHOUTING' + |lower + |escape('html') + |upper + |escape('markdown') + |lower + |upper + |escape('markdown') +}} + +{% include './usefulDeal.melody.twig' with deal|merge({ + index: loop.index0, + isOverview: isOverview, + isRTL: isRTL, + useWiderItems: useWiderItems +}) only %} + +{{ + (hasAdvertiserRatings + ? 'tri_based_on'|translate({ + iBasedOn: '' ~ reviewCount ~ '' + }) + : 'tri_based_on_no_partners'|translate({ + iBasedOn: '' ~ reviewCount ~ '' + }))|raw +}} + +`; + exports[`filterExpression.melody.twig - melody-verify: filterExpression.melody.twig 1`] = ` {{ 'test.foo' | split('.') }} {{ range(3) | sort | join(',') }} @@ -224,6 +448,13 @@ exports[`filterExpression.melody.twig - melody-verify: filterExpression.melody.t `; +exports[`memberExpression.melody.twig - melody-verify > memberExpression.melody.twig 1`] = ` +{{ alternativeMarriottRewardRates[deal.dealId].short }} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ alternativeMarriottRewardRates[deal.dealId].short }} + +`; + exports[`memberExpression.melody.twig - melody-verify: memberExpression.melody.twig 1`] = ` {{ alternativeMarriottRewardRates[deal.dealId].short }} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -231,6 +462,35 @@ exports[`memberExpression.melody.twig - melody-verify: memberExpression.melody.t `; +exports[`objectExpression.melody.twig - melody-verify > objectExpression.melody.twig 1`] = ` +{{ { + a: "foo", + "b#{ar}": "bar", + 2: 4, + (a): foo, +} }} + +

          Heading

          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ + { + a: 'foo', + "b#{ar}": 'bar', + 2: 4, + (a): foo + } +}} + +

          + Heading +

          + +`; + exports[`objectExpression.melody.twig - melody-verify: objectExpression.melody.twig 1`] = ` {{ { a: "foo", @@ -260,6 +520,138 @@ exports[`objectExpression.melody.twig - melody-verify: objectExpression.melody.t `; +exports[`operators.melody.twig - melody-verify > operators.melody.twig 1`] = ` +{{ a b-and b }} +{{ a b-or b }} +{{ a b-xor b }} +{{ a or b }} +{{ a and b }} +{{ a == b }} +{{ a != b }} +{{ a < b }} +{{ a > b }} +{{ a >= b }} +{{ a <= b }} +{{ a in b }} +{{ a not in b }} +{{ a matches b }} +{{ a matches '^foo' }} +{{ a starts with b }} +{{ a ends with b }} +{{ a..b }} +{{ a+b }} +{{ a-b }} +{{ a~b }} +{{ a*b }} +{{ a/b }} +{{ a%b }} +{{ a ** b }} +{{ a ? b }} +{{ a ?: b }} +{{ a ?? b }} + +{{ a is divisible by(b) }} +{{ a is not divisible by(b) }} +{{ a is defined }} +{{ a is not defined }} +{{ isEmpty is empty }} +{{ a is not empty }} +{{ a is even }} +{{ a is not even }} +{{ a is iterable }} +{{ a is not iterable }} +{{ a is null }} +{{ a is not null }} +{{ a is odd }} +{{ a is not odd }} +{{ a is same as(b) }} +{{ a is not same as(b) }} +{{ a is not same as(banana, apple, orange, lemonade, kiwi, coconut, pineapple, pomegrenade) }} + +{{ dump(test) }} +{{ range(2, 3) | sort | join(',') }} +{{ range(3) | sort | join(',') }} +{{ range(2, 3, 2) | sort | join(',') }} +{{ test | raw }} +{{ 2.4 | abs }} +{{ { a: 'b' } | json_encode | trim }} +{{ [2, 3] | length }} +{{ 'test.foo' | split('.') }} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ a b-and b }} +{{ a b-or b }} +{{ a b-xor b }} +{{ a or b }} +{{ a and b }} +{{ a == b }} +{{ a != b }} +{{ a < b }} +{{ a > b }} +{{ a >= b }} +{{ a <= b }} +{{ a in b }} +{{ a not in b }} +{{ a matches b }} +{{ a matches '^foo' }} +{{ a starts with b }} +{{ a ends with b }} +{{ a..b }} +{{ a + b }} +{{ a - b }} +{{ a ~ b }} +{{ a * b }} +{{ a / b }} +{{ a % b }} +{{ a ** b }} +{{ a ? b }} +{{ a ? : b }} +{{ a ?? b }} + +{{ a is divisible by(b) }} +{{ a is not divisible by(b) }} +{{ a is defined }} +{{ a is not defined }} +{{ isEmpty is empty }} +{{ a is not empty }} +{{ a is even }} +{{ a is not even }} +{{ a is iterable }} +{{ a is not iterable }} +{{ a is null }} +{{ a is not null }} +{{ a is odd }} +{{ a is not odd }} +{{ a is same as(b) }} +{{ a is not same as(b) }} +{{ a is not same as( + banana, + apple, + orange, + lemonade, + kiwi, + coconut, + pineapple, + pomegrenade +) }} + +{{ dump(test) }} +{{ range(2, 3)|sort|join(',') }} +{{ range(3)|sort|join(',') }} +{{ range(2, 3, 2)|sort|join(',') }} +{{ test|raw }} +{{ 2.4|abs }} +{{ + { + a: 'b' + } + |json_encode + |trim +}} +{{ [2, 3]|length }} +{{ 'test.foo'|split('.') }} + +`; + exports[`operators.melody.twig - melody-verify: operators.melody.twig 1`] = ` {{ a b-and b }} {{ a b-or b }} @@ -392,6 +784,37 @@ exports[`operators.melody.twig - melody-verify: operators.melody.twig 1`] = ` `; +exports[`stringConcat.melody.twig - melody-verify > stringConcat.melody.twig 1`] = ` +
          +{{ first ~ second }} +
          + +Test + +{% set calendarIcon = isNewGuestSelector ? 'icn_#{type | lower}_line_dark' : type | lower %} + +{% icon 'name' with { classList: 'classA' ~ (not needsB ? ' classB') } %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + {{ first ~ second }} +
          + +Test + +{% set calendarIcon = isNewGuestSelector + ? "icn_#{type|lower}_line_dark" + : type|lower +%} + +{% icon 'name' + with + { + classList: 'classA' ~ (not needsB ? ' classB') + } +%} + +`; + exports[`stringConcat.melody.twig - melody-verify: stringConcat.melody.twig 1`] = `
          {{ first ~ second }} @@ -423,6 +846,29 @@ exports[`stringConcat.melody.twig - melody-verify: stringConcat.melody.twig 1`] `; +exports[`stringLiteral.melody.twig - melody-verify > stringLiteral.melody.twig 1`] = ` +{{ 'zzz\\\\bar\\\\baz' }} + +{{ "College - Women's" }} + +{{ "test ' with \\\\"both\\\\" kinds" }} + +{{ 'test \\\\' with "both" kinds' }} + +{{ "Quoted \\\\'' unquoted" }} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ 'zzz\\\\bar\\\\baz' }} + +{{ "College - Women's" }} + +{{ "test ' with \\"both\\" kinds" }} + +{{ 'test \\' with "both" kinds' }} + +{{ "Quoted \\\\'' unquoted" }} + +`; + exports[`stringLiteral.melody.twig - melody-verify: stringLiteral.melody.twig 1`] = ` {{ 'zzz\\\\bar\\\\baz' }} @@ -446,6 +892,19 @@ exports[`stringLiteral.melody.twig - melody-verify: stringLiteral.melody.twig 1` `; +exports[`unaryNot.melody.twig - melody-verify > unaryNot.melody.twig 1`] = ` +{% if not invalid %} +

          All's well.

          +{% endif %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% if not invalid %} +

          + All's well. +

          +{% endif %} + +`; + exports[`unaryNot.melody.twig - melody-verify: unaryNot.melody.twig 1`] = ` {% if not invalid %}

          All's well.

          diff --git a/tests/Failing/__snapshots__/jsfmt.spec.js.snap b/tests/Failing/__snapshots__/jsfmt.spec.js.snap index 3bf475f8..546a382f 100644 --- a/tests/Failing/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Failing/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,93 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`controversial.melody.twig - melody-verify > controversial.melody.twig 1`] = ` +{% set isRewardRate = isMarriottRewardRate or (rewardRateAltIds and deal.dealId in rewardRateAltIds[accommodation.id.id]) %} + + +{% set altIds = rewardRateAltIds[accommodation.id.id] %} +{% set isRewardRate = isMarriottRewardRate or (rewardRateAltIds and deal.dealId in altIds) %} + + +
          +
          + + +
          + {% mount '@hotelsearch/accommodation-list/src/Slideout/index' + as 'accommodation-slideout-' ~ accommodation.id.id with { + key: 'accommodation-slideout-' ~ accommodation.id.id, + itemId: accommodation.id.id, + item: accommodation, + isSearchedItem: isSearchedItem, + bestPrice: accommodation.deals.bestPrice, + insights: hasInsights ? insightsData.accommodation.id.id, + clickedAltDealPartnerId: clickedAltDealPartnerId, + entirePlace: isEntirePlace ? entirePlaceData.accommodation.id.id + } %} +
          + + +{% include './partials/arrowBtn.melody.twig' with { + ref: prev | default(), +} only %} + + +

          + {{ 'results_for' | translate({ 'searchedterm': '' ~ semKeyword ~ ''}) | raw }} +

          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% set isRewardRate = isMarriottRewardRate + or (rewardRateAltIds and deal.dealId in rewardRateAltIds[accommodation.id.id]) +%} + + +{% set altIds = rewardRateAltIds[accommodation.id.id] %} +{% set isRewardRate = isMarriottRewardRate or (rewardRateAltIds and deal.dealId in altIds) %} + + +
          + + +
          + {% mount '@hotelsearch/accommodation-list/src/Slideout/index' + as 'accommodation-slideout-' ~ accommodation.id.id with { + key: 'accommodation-slideout-' ~ accommodation.id.id, + itemId: accommodation.id.id, + item: accommodation, + isSearchedItem: isSearchedItem, + bestPrice: accommodation.deals.bestPrice, + insights: hasInsights ? insightsData.accommodation.id.id, + clickedAltDealPartnerId: clickedAltDealPartnerId, + entirePlace: isEntirePlace ? entirePlaceData.accommodation.id.id + } + %} +
          + + +{% include './partials/arrowBtn.melody.twig' with { + ref: prev | default +} only %} + + +

          + {{ + 'results_for' + | translate({ + searchedterm: '' ~ semKeyword ~ '' + }) + | raw + }} +

          + +`; exports[`controversial.melody.twig - melody-verify: controversial.melody.twig 1`] = ` {% set isRewardRate = isMarriottRewardRate or (rewardRateAltIds and deal.dealId in rewardRateAltIds[accommodation.id.id]) %} @@ -89,6 +178,136 @@ exports[`controversial.melody.twig - melody-verify: controversial.melody.twig 1` `; +exports[`failing.melody.twig - melody-verify > failing.melody.twig 1`] = ` +{# IF tag in element not allowed + +#} + +{% icon 'general/arrow-36x36' with { + classList: { + base: "#{css['arrowIcon#{action}']} icon-rtl", + 'icon-flip': flipIcon ?? false + } | classes + } +%} + +{# "only" dropped, comment dropped #} +{% embed '@hotelsearch/common/tooltip/tooltip.melody.twig' with { + position: 'bottomTrailing', + id: 'most-popular-badge', + classList: tooltipOpen ? 'show-tooltip', + isAriaHidden: not tooltipOpen ?? false + } only %} + {# Necessary block to inject html into the tooltip #} + {% block text %} +

          Hey>

          + {% endblock %} +{% endembed %} + +{# Inserts a newline where it shouldn't #} + + + + + + +{# Parentheses dropped. Might be valid, but could be better, cosmetically #} +{% for feature in (showAAAmenities ? entirePlaceFeatures : topFeatures) %} + abcd +{% endfor %} + +{# There should be no whitespace changes in textarea #} + + +{# Before the closing -->, whitespace keeps being added #} + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{# IF tag in element not allowed + +#} + +{% icon 'general/arrow-36x36' + with + { + classList: { + base: "#{css["arrowIcon#{action}"]} icon-rtl", + 'icon-flip': flipIcon ?? false + } | classes + } +%} + +{# "only" dropped, comment dropped #} +{% embed '@hotelsearch/common/tooltip/tooltip.melody.twig' + with { + position: 'bottomTrailing', + id: 'most-popular-badge', + classList: tooltipOpen ? 'show-tooltip', + isAriaHidden: not (tooltipOpen ?? false) + } +%} + {% block text %} +

          + Hey> +

          + {% endblock %} +{% endembed %} + +{# Inserts a newline where it shouldn't #} + + + + + + + + +{# Parentheses dropped. Might be valid, but could be better, cosmetically #} +{% for feature in showAAAmenities ? entirePlaceFeatures : topFeatures %} + abcd +{% endfor %} + +{# There should be no whitespace changes in textarea #} + + +{# Before the closing -->, whitespace keeps being added #} + + +`; + exports[`failing.melody.twig - melody-verify: failing.melody.twig 1`] = ` {# IF tag in element not allowed
        • + {{ entry.title }} + {% ifchildren %} +
            + {% children %} +
          + {% endifchildren %} +
        • +{% endnav %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% nav entry in entries %} +
        • + {{ entry.title }} + {% ifchildren %} +
            + {% children %} +
          + {% endifchildren %} +
        • +{% endnav %} + +`; + exports[`nav.melody.twig - melody-verify: nav.melody.twig 1`] = ` {% nav entry in entries %}
        • @@ -83,6 +166,22 @@ exports[`nav.melody.twig - melody-verify: nav.melody.twig 1`] = ` `; +exports[`paginate.melody.twig - melody-verify > paginate.melody.twig 1`] = ` +{% paginate craft.entries.section('blog').limit(10) as pageInfo, pageEntries %} + +{% paginate craft.entries.section('blog').limit(10) as pageInfo, pageEntries, pageProperties %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% paginate craft.entries.section('blog').limit(10) as pageInfo, pageEntries %} + +{% paginate craft.entries.section('blog').limit(10) + as + pageInfo, + pageEntries, + pageProperties +%} + +`; + exports[`paginate.melody.twig - melody-verify: paginate.melody.twig 1`] = ` {% paginate craft.entries.section('blog').limit(10) as pageInfo, pageEntries %} @@ -99,6 +198,13 @@ exports[`paginate.melody.twig - melody-verify: paginate.melody.twig 1`] = ` `; +exports[`redirect.melody.twig - melody-verify > redirect.melody.twig 1`] = ` +{% redirect "pricing" 301 %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% redirect 'pricing' 301 %} + +`; + exports[`redirect.melody.twig - melody-verify: redirect.melody.twig 1`] = ` {% redirect "pricing" 301 %} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -106,6 +212,42 @@ exports[`redirect.melody.twig - melody-verify: redirect.melody.twig 1`] = ` `; +exports[`switch.melody.twig - melody-verify > switch.melody.twig 1`] = ` +{% switch matrixBlock.type %} + + + + {% case "text" %} + + {{ matrixBlock.textField | markdown }} + + {% case "image" %} + + {{ matrixBlock.image[0].getImg() }} + + {% default %} + +

          A font walks into a bar.

          +

          The bartender says, “Hey, we don’t serve your type in here!”

          + +{% endswitch %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% switch matrixBlock.type %} +{% case 'text' %} + {{ matrixBlock.textField|markdown }} +{% case 'image' %} + {{ matrixBlock.image[0].getImg() }} +{% default %} +

          + A font walks into a bar. +

          +

          + The bartender says, “Hey, we don’t serve your type in here!” +

          +{% endswitch %} + +`; + exports[`switch.melody.twig - melody-verify: switch.melody.twig 1`] = ` {% switch matrixBlock.type %} diff --git a/tests/IncludeEmbed/__snapshots__/jsfmt.spec.js.snap b/tests/IncludeEmbed/__snapshots__/jsfmt.spec.js.snap index 1129ae9f..9553acdf 100644 --- a/tests/IncludeEmbed/__snapshots__/jsfmt.spec.js.snap +++ b/tests/IncludeEmbed/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,48 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`block.melody.twig - melody-verify > block.melody.twig 1`] = ` +
          +{% block hello %} +
          + Hello +
          +{% endblock %} +
          + +{% block bar foo %} + +{{ block('hello') }} + +{% block content %}{% endblock %} + +{%- block hello -%} + Hello +{%- endblock -%} + +{%- block bar foo -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + {% block hello %} +
          + Hello +
          + {% endblock %} +
          + +{% block bar foo %} + +{{ block('hello') }} + +{% block content %} +{% endblock %} + +{%- block hello -%} + Hello +{%- endblock -%} + +{%- block bar foo -%} + +`; exports[`block.melody.twig - melody-verify: block.melody.twig 1`] = `
          @@ -44,6 +88,52 @@ exports[`block.melody.twig - melody-verify: block.melody.twig 1`] = ` `; +exports[`embed.melody.twig - melody-verify > embed.melody.twig 1`] = ` +{% extends "parent.twig" %} + +{% block hello %} +
          + {%- embed "foo.twig" with { foo: 'bar' } %} + {% block hello %} + {{ fun }} + {% embed "bar.twig" -%} + {% block hello %} + {{ message }} + {% endblock %} + {% block test %} + {% endblock %} + {%- endembed %} + {% endblock hello %} + {% endembed -%} +
          +{% endblock %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% extends 'parent.twig' %} + +{% block hello %} +
          + {%- embed 'foo.twig' + with { + foo: 'bar' + } + %} + {% block hello %} + {{ fun }} + {% embed 'bar.twig' -%} + {% block hello %} + {{ message }} + {% endblock %} + {% block test %} + + {% endblock %} + {%- endembed %} + {% endblock %} + {% endembed -%} +
          +{% endblock %} + +`; + exports[`embed.melody.twig - melody-verify: embed.melody.twig 1`] = ` {% extends "parent.twig" %} @@ -90,6 +180,15 @@ exports[`embed.melody.twig - melody-verify: embed.melody.twig 1`] = ` `; +exports[`extendsEmbed.melody.twig - melody-verify > extendsEmbed.melody.twig 1`] = ` +{%- extends "parent.twig" %} +{% extends someVar -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{%- extends 'parent.twig' %} +{% extends someVar -%} + +`; + exports[`extendsEmbed.melody.twig - melody-verify: extendsEmbed.melody.twig 1`] = ` {%- extends "parent.twig" %} {% extends someVar -%} @@ -99,6 +198,31 @@ exports[`extendsEmbed.melody.twig - melody-verify: extendsEmbed.melody.twig 1`] `; +exports[`import.melody.twig - melody-verify > import.melody.twig 1`] = ` +{%- import "forms.html" as forms %} +{% import "aVeryLongAndConvolutedAndIntertwinedFilename.html" as someQuiteEccentricLocalVariableName -%} + +{% from "macros.twig" import hello %} +{%- from 'forms.html' import input as input_field,textarea -%} +{% from 'aVeryLongAndConvolutedAndIntertwinedFilename.html' import input as input_field, textarea, select, password as pw_field, radioButton %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{%- import 'forms.html' as forms %} +{% import 'aVeryLongAndConvolutedAndIntertwinedFilename.html' + as someQuiteEccentricLocalVariableName +-%} + +{% from 'macros.twig' import hello %} +{%- from 'forms.html' import input as input_field, textarea -%} +{% from 'aVeryLongAndConvolutedAndIntertwinedFilename.html' import + input as input_field, + textarea, + select, + password as pw_field, + radioButton +%} + +`; + exports[`import.melody.twig - melody-verify: import.melody.twig 1`] = ` {%- import "forms.html" as forms %} {% import "aVeryLongAndConvolutedAndIntertwinedFilename.html" as someQuiteEccentricLocalVariableName -%} @@ -124,6 +248,63 @@ exports[`import.melody.twig - melody-verify: import.melody.twig 1`] = ` `; +exports[`include.melody.twig - melody-verify > include.melody.twig 1`] = ` +
          + {{ message | lower | upper }}{% flush %} + {{ _context.name[1:] }} + {{ block('test') }} + {{ include('test.twig') }} + {% include 'test.twig' %} +
          + +{% include './Star.twig' only %} + +{%- include "./Flag.twig" with { +"styleModifier": flagModifiers, +"dataVariables": dataVariables, +"text": "ie_topdeal" +} only %} + +
          +{% include "./Flag.twig" with { +"styleModifier": flagModifiers, +"dataVariables": dataVariables, +"text": "ie_topdeal" +} only -%} +
          + +{% include 'foo/' ~ BRT %} +{% include "#{filename}" %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + {{ message | lower | upper }}{% flush %} + {{ _context.name[1:] }} + {{ block('test') }} + {{ include('test.twig') }} + {% include 'test.twig' %} +
          + +{% include './Star.twig' only %} + +{%- include './Flag.twig' with { + styleModifier: flagModifiers, + dataVariables: dataVariables, + text: 'ie_topdeal' +} only %} + +
          + {% include './Flag.twig' with { + styleModifier: flagModifiers, + dataVariables: dataVariables, + text: 'ie_topdeal' + } only -%} +
          + +{% include 'foo/' ~ BRT %} +{% include filename %} + +`; + exports[`include.melody.twig - melody-verify: include.melody.twig 1`] = `
          {{ message | lower | upper }}{% flush %} @@ -181,6 +362,115 @@ exports[`include.melody.twig - melody-verify: include.melody.twig 1`] = ` `; +exports[`mount.melody.twig - melody-verify > mount.melody.twig 1`] = ` +{%- mount './component' as 'bar' -%} + +{% mount async './parts/#{ part }.twig' as 'bar-#{part}' with {foo: 'bar'} delay placeholder by 1s -%} + Loading... +{%- catch err -%} + Failed to load with {{ err }} +{%- endmount -%} + + + +
        • +
          + {% mount "@hotelsearch/accommodation-list/src/Slideout/index" + as "accommodation-slideout-" ~ accommodation.id.id with { + "key": "accommodation-slideout-" ~ accommodation.id.id, + "itemId": accommodation.id.id, + "item": accommodation, + "isSearchedItem": isSearchedItem, + "bestPrice": accommodation.deals.bestPrice, + "insights": hasInsights ? insightsData.accommodation.id.id, + "clickedAltDealPartnerId": clickedAltDealPartnerId, + "entirePlace": isEntirePlace + ? entirePlaceData.accommodation.id.id + } + %} +
          +
        • + +
          + {% mount ContentComponent as 'popover-component' ~ activeView with _context %} +
          + +
          + {% mount Tabs from '@trivago/components' as seotabs with { + tabs: tabs, + classList: 'tabs--homepage', + } %} +
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{%- mount './component' as 'bar' -%} + +{% mount async "./parts/#{part}.twig" as "bar-#{part}" with { + foo: 'bar' + } + delay placeholder by 1s +-%} + Loading... +{%- catch err -%} + Failed to load with {{ err }} +{%- endmount -%} + + + +
        • +
          + {% mount '@hotelsearch/accommodation-list/src/Slideout/index' + as 'accommodation-slideout-' ~ accommodation.id.id with { + key: 'accommodation-slideout-' ~ accommodation.id.id, + itemId: accommodation.id.id, + item: accommodation, + isSearchedItem: isSearchedItem, + bestPrice: accommodation.deals.bestPrice, + insights: hasInsights ? insightsData.accommodation.id.id, + clickedAltDealPartnerId: clickedAltDealPartnerId, + entirePlace: isEntirePlace ? entirePlaceData.accommodation.id.id + } + %} +
          +
        • + +
          + {% mount ContentComponent as 'popover-component' ~ activeView with _context + %} +
          + +
          + {% mount Tabs from '@trivago/components' as seotabs with { + tabs: tabs, + classList: 'tabs--homepage' + } + %} +
          + +`; + exports[`mount.melody.twig - melody-verify: mount.melody.twig 1`] = ` {%- mount './component' as 'bar' -%} @@ -290,6 +580,24 @@ exports[`mount.melody.twig - melody-verify: mount.melody.twig 1`] = ` `; +exports[`useStatement.melody.twig - melody-verify > useStatement.melody.twig 1`] = ` +{% use "foo.twig" %} + +{%- use "blocks.html" with sidebar as base_sidebar, title as base_title %} + +{% use "extraLongNameBlocks.html" with sidebar as base_sidebar, title as base_title -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% use "foo.twig" %} + +{%- use "blocks.html" with sidebar as base_sidebar, title as base_title %} + +{% use "extraLongNameBlocks.html" with + sidebar as base_sidebar, + title as base_title +-%} + +`; + exports[`useStatement.melody.twig - melody-verify: useStatement.melody.twig 1`] = ` {% use "foo.twig" %} diff --git a/tests/Options/__snapshots__/jsfmt.spec.js.snap b/tests/Options/__snapshots__/jsfmt.spec.js.snap index aefcdb09..d3df23d2 100644 --- a/tests/Options/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Options/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,14 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`alwaysBreakObjects.melody.twig - melody-verify > alwaysBreakObjects.melody.twig 1`] = ` +
          +
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + +`; exports[`alwaysBreakObjects.melody.twig - melody-verify: alwaysBreakObjects.melody.twig 1`] = `
          Text + +Text +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Text + + + Text + + +`; + exports[`printWidth.melody.twig - melody-verify: printWidth.melody.twig 1`] = ` Text diff --git a/tests/PrettierIgnore/__snapshots__/jsfmt.spec.js.snap b/tests/PrettierIgnore/__snapshots__/jsfmt.spec.js.snap index 0c33b6ae..b913eef3 100644 --- a/tests/PrettierIgnore/__snapshots__/jsfmt.spec.js.snap +++ b/tests/PrettierIgnore/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,27 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`prettierIgnore.melody.twig - melody-verify > prettierIgnore.melody.twig 1`] = ` + +
          Should not re-format
          +
          Should re-format
          + +{#prettier-ignore#} +
          Should not re-format
          +
          Should re-format
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +
          Should not re-format
          +
          + Should re-format +
          + +{# prettier-ignore #} +
          Should not re-format
          +
          + Should re-format +
          + +`; exports[`prettierIgnore.melody.twig - melody-verify: prettierIgnore.melody.twig 1`] = ` @@ -23,6 +46,45 @@ exports[`prettierIgnore.melody.twig - melody-verify: prettierIgnore.melody.twig `; +exports[`prettierIgnoreStartEnd.melody.twig - melody-verify > prettierIgnoreStartEnd.melody.twig 1`] = ` + +
          Should not re-format
          +
          Should not re-format
          +
          Should not re-format
          + + +
          Should re-format
          + +{# prettier-ignore-start #} +
          Should not re-format
          +
          Should not re-format
          +
          Should not re-format
          +{# prettier-ignore-end #} + +
          Should re-format
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +
          Should not re-format
          +
          Should not re-format
          +
          Should not re-format
          + + +
          + Should re-format +
          + +{# prettier-ignore-start #} +
          Should not re-format
          +
          Should not re-format
          +
          Should not re-format
          +{# prettier-ignore-end #} + +
          + Should re-format +
          + +`; + exports[`prettierIgnoreStartEnd.melody.twig - melody-verify: prettierIgnoreStartEnd.melody.twig 1`] = `
          Should not re-format
          diff --git a/tests/Statements/__snapshots__/jsfmt.spec.js.snap b/tests/Statements/__snapshots__/jsfmt.spec.js.snap index 80bc761b..ce0de236 100644 --- a/tests/Statements/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Statements/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,29 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`autoescape.melody.twig - melody-verify > autoescape.melody.twig 1`] = ` +{% autoescape 'html' %} + + + +Yes + +{% endautoescape %} + +{%- autoescape 'html' -%} + +{%- endautoescape -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% autoescape 'html' %} + + + Yes +{% endautoescape %} + +{%- autoescape 'html' -%} + +{%- endautoescape -%} + +`; exports[`autoescape.melody.twig - melody-verify: autoescape.melody.twig 1`] = ` {% autoescape 'html' %} @@ -25,6 +50,17 @@ exports[`autoescape.melody.twig - melody-verify: autoescape.melody.twig 1`] = ` `; +exports[`do.melody.twig - melody-verify > do.melody.twig 1`] = ` +{% do 1 + 2 %} + +{%- do 1 + 2 -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% do 1 + 2 %} + +{%- do 1 + 2 -%} + +`; + exports[`do.melody.twig - melody-verify: do.melody.twig 1`] = ` {% do 1 + 2 %} @@ -36,6 +72,48 @@ exports[`do.melody.twig - melody-verify: do.melody.twig 1`] = ` `; +exports[`filter.melody.twig - melody-verify > filter.melody.twig 1`] = ` +{% filter upper %} + This text becomes uppercase +{% endfilter %} + +{% filter upper -%} + This text becomes uppercase +{%- endfilter %} + +{%- filter lower|escape('html') | upper | escape('markdown') | lower | upper | escape('markdown') %} + SOME TEXT + +

          The cat is taking a nap in the sunshine.

          + + +{% endfilter -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% filter upper %} + This text becomes uppercase +{% endfilter %} + +{% filter upper -%} + This text becomes uppercase +{%- endfilter %} + +{%- filter lower + |escape('html') + |upper + |escape('markdown') + |lower + |upper + |escape('markdown') +%} + SOME TEXT + +

          + The cat is taking a nap in the sunshine. +

          +{% endfilter -%} + +`; + exports[`filter.melody.twig - melody-verify: filter.melody.twig 1`] = ` {% filter upper %} This text becomes uppercase @@ -78,6 +156,15 @@ exports[`filter.melody.twig - melody-verify: filter.melody.twig 1`] = ` `; +exports[`flush.melody.twig - melody-verify > flush.melody.twig 1`] = ` +{%- flush %} +{% flush -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{%- flush %} +{% flush -%} + +`; + exports[`flush.melody.twig - melody-verify: flush.melody.twig 1`] = ` {%- flush %} {% flush -%} @@ -87,6 +174,76 @@ exports[`flush.melody.twig - melody-verify: flush.melody.twig 1`] = ` `; +exports[`macro.melody.twig - melody-verify > macro.melody.twig 1`] = ` +{% macro input(name, value, type, size, shape, colour, taste, flash, broom, lawn, cloud, sky, hedgehog) %} + +{% endmacro %} + +{%- macro wrapped_input(name, value, type, size) %} + {% import _self as forms %} + +
          + {{ forms.input(name, value, type, size) }} +
          +{% endmacro -%} + +{% macro whitespaceRemoval(name, value, type, size) -%} + +
          + {{ forms.input(name, value, type, size) }} +
          + + +{%- endmacro %} + +{% macro partner(groupId, value) %} + {# 80 is the groupid of specific hotel websites that may not have a correct partner name #} + {{ groupId == 80 ? 'book_hotel_website_test' | translate : value }} +{% endmacro %} + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% macro input( + name, + value, + type, + size, + shape, + colour, + taste, + flash, + broom, + lawn, + cloud, + sky, + hedgehog) +%} + +{% endmacro %} + +{%- macro wrapped_input(name, value, type, size) %} + {% import _self as forms %} + +
          + {{ forms.input(name, value, type, size) }} +
          +{% endmacro -%} + +{% macro whitespaceRemoval(name, value, type, size) -%} +
          + {{ forms.input(name, value, type, size) }} +
          +{%- endmacro %} + +{% macro partner(groupId, value) %} + {# 80 is the groupid of specific hotel websites that may not have a correct partner name #} + {{ groupId == 80 ? 'book_hotel_website_test'|translate : value }} +{% endmacro %} + +`; + exports[`macro.melody.twig - melody-verify: macro.melody.twig 1`] = ` {% macro input(name, value, type, size, shape, colour, taste, flash, broom, lawn, cloud, sky, hedgehog) %} @@ -157,6 +314,112 @@ exports[`macro.melody.twig - melody-verify: macro.melody.twig 1`] = ` `; +exports[`set.melody.twig - melody-verify > set.melody.twig 1`] = ` +{% set list = [1, 2] %} +{%- set foo = 0 -%} +{% set foo = 'foo' ~ 'bar' %} +{% set foo = {'fruit': 'apple', 'shape': 'round', 'taste': 'sweet', 'region': 'Europe' } %} +{% set foo = {'fruit': 'apple', 'shape': 'round', 'taste': 'sweet', 'region': 'Europe', 'colour': 'reddish' } %} +{% set foo, bar = 'foo', 'bar' %} +{%- set foo -%} + + + + +

          Some more text

          +{%- endset -%} + +{% set showArrows = hideArrowWhenDisabled | default(false) + ? shouldShowArrows | default(false) and scrollEnabled | default(false) + : shouldShowArrows | default(false) +%} + +{% set recommendedClickoutAttributes = hasRecommendedPrice ? clickoutAttributes | merge({ + 'data-id': recommendedPrice.dealId, + 'data-co_params': recommendedPrice.clcklB | json_encode(), + 'data-co_li_lo': 1 +}) : {} %} + +{% set showAAScoreRating = isAAScoreActive and isAAAccommodation and aaScoreRatingData and aaScoreRatingData.score > 0 %} + +{% set displayLegalPaymentInfo = not (isFrance and isAtLeastScreenTabletWide) %} + +{% set displayLegalPaymentInfo = not (isAAScoreActive and isAAAccommodation and aaScoreRatingData and aaScoreRatingDataABC > 0 and aaScoreRatingDataABC < 5) %} + +{% set flavours = ['banana', 'strawberry', 'pineapple', 'lemon', 'raspberry', 'vanilla'] %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% set list = [1, 2] %} +{%- set foo = 0 -%} +{% set foo = 'foo' ~ 'bar' %} +{% set foo = { + fruit: 'apple', + shape: 'round', + taste: 'sweet', + region: 'Europe' +} %} +{% set foo = { + fruit: 'apple', + shape: 'round', + taste: 'sweet', + region: 'Europe', + colour: 'reddish' +} %} +{% set foo = 'foo' %} +{% set bar = 'bar' %} +{%- set foo -%} + + +

          + Some more text +

          +{%- endset -%} + +{% set showArrows = hideArrowWhenDisabled|default(false) + ? (shouldShowArrows|default(false)) and (scrollEnabled|default(false)) + : shouldShowArrows|default(false) +%} + +{% set recommendedClickoutAttributes = hasRecommendedPrice + ? clickoutAttributes|merge({ + 'data-id': recommendedPrice.dealId, + 'data-co_params': recommendedPrice.clcklB|json_encode, + 'data-co_li_lo': 1 + }) + : {} +%} + +{% set showAAScoreRating = isAAScoreActive + and isAAAccommodation + and aaScoreRatingData + and aaScoreRatingData.score > 0 +%} + +{% set displayLegalPaymentInfo = not (isFrance and isAtLeastScreenTabletWide) %} + +{% set displayLegalPaymentInfo = not ( + isAAScoreActive + and isAAAccommodation + and aaScoreRatingData + and aaScoreRatingDataABC > 0 + and aaScoreRatingDataABC < 5 +) %} + +{% set flavours = [ + 'banana', + 'strawberry', + 'pineapple', + 'lemon', + 'raspberry', + 'vanilla' +] %} + +`; + exports[`set.melody.twig - melody-verify: set.melody.twig 1`] = ` {% set list = [1, 2] %} {%- set foo = 0 -%} @@ -263,6 +526,31 @@ exports[`set.melody.twig - melody-verify: set.melody.twig 1`] = ` `; +exports[`spaceless.melody.twig - melody-verify > spaceless.melody.twig 1`] = ` +{% spaceless %} +
          + Receive {{ formattedIncentive }} cash back for testing this hotel. + Or just be happy! +
          +{% endspaceless %} + +{%- spaceless -%} +The quick brown fox +{%- endspaceless -%} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{% spaceless %} +
          + Receive {{ formattedIncentive }} cash back for testing this hotel. Or just + be happy! +
          +{% endspaceless %} + +{%- spaceless -%} + The quick brown fox +{%- endspaceless -%} + +`; + exports[`spaceless.melody.twig - melody-verify: spaceless.melody.twig 1`] = ` {% spaceless %}
          diff --git a/tests/TwigCodingStandards/__snapshots__/jsfmt.spec.js.snap b/tests/TwigCodingStandards/__snapshots__/jsfmt.spec.js.snap index 78d518fc..0ae80757 100644 --- a/tests/TwigCodingStandards/__snapshots__/jsfmt.spec.js.snap +++ b/tests/TwigCodingStandards/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,69 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`twigCodingStandards.melody.twig - melody-verify > twigCodingStandards.melody.twig 1`] = ` +{{ foo }} +{# comment #} +{% if foo %}{% endif %} + +{{- foo -}} +{#- comment -#} +{%- if foo -%}{%- endif -%} + +{{ 1 + 2 }} +{{ foo ~ bar }} +{{ true ? true : false }} + +{{ [1, 2, 3] }} +{{ {'foo': 'bar'} }} + +{{ 1 + (2 * 3) }} + +{{ foo|upper|lower }} +{{ user.name }} +{{ user[name] }} +{% for i in 1..12 %}{% endfor %} + +{{ foo|default('foo') }} +{{ range(1..10) }} + +{% block foo %} + {% if true %} + true + {% endif %} +{% endblock %} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +{{ foo }} +{# comment #} +{% if foo %}{% endif %} + +{{- foo -}} +{#- comment -#} +{%- if foo -%}{%- endif -%} + +{{ 1 + 2 }} +{{ foo ~ bar }} +{{ true ? true : false }} + +{{ [1, 2, 3] }} +{{ { foo: 'bar' } }} + +{{ 1 + 2 * 3 }} + +{{ foo|upper|lower }} +{{ user.name }} +{{ user[name] }} +{% for i in 1..12 %}{% endfor %} + +{{ foo|default('foo') }} +{{ range(1..10) }} + +{% block foo %} + {% if true %} + true + {% endif %} +{% endblock %} + +`; exports[`twigCodingStandards.melody.twig - melody-verify: twigCodingStandards.melody.twig 1`] = ` {{ foo }} diff --git a/tests/Whitespace/__snapshots__/jsfmt.spec.js.snap b/tests/Whitespace/__snapshots__/jsfmt.spec.js.snap index 891e9eaf..8d1bdf49 100644 --- a/tests/Whitespace/__snapshots__/jsfmt.spec.js.snap +++ b/tests/Whitespace/__snapshots__/jsfmt.spec.js.snap @@ -1,4 +1,37 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`element.melody.twig - melody-verify > element.melody.twig 1`] = ` +
          + +
          + +

          + This is some text This is some text This is some text This is some text This is some text This is some text This is some text This is some text This is some text +

          + +
          + + {% include 'pages/formularios/sub/pregunta-simple.html' %} + {% set index = index + 1 %} +
          +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
          + +
          + +

          + This is some text This is some text This is some text This is some text This + is some text This is some text This is some text This is some text This is + some text +

          + +
          + + {% include 'pages/formularios/sub/pregunta-simple.html' %} + {% set index = index + 1 %} +
          + +`; exports[`element.melody.twig - melody-verify: element.melody.twig 1`] = `
          diff --git a/tests_config/raw-serializer.js b/tests_config/raw-serializer.js index 2c03eba7..81cdc98e 100644 --- a/tests_config/raw-serializer.js +++ b/tests_config/raw-serializer.js @@ -1,8 +1,6 @@ -"use strict"; - const RAW = Symbol.for("raw"); -module.exports = { +export default { print(val) { return val[RAW]; }, diff --git a/tests_config/run_spec.js b/tests_config/run_spec.js index 51e527f7..129bde3f 100644 --- a/tests_config/run_spec.js +++ b/tests_config/run_spec.js @@ -1,13 +1,12 @@ -"use strict"; - -const fs = require("fs"); -const extname = require("path").extname; -const prettier = require("prettier"); +import fs from "fs"; +import { extname } from "path"; +import prettier from "prettier"; +import { beforeAll, afterAll, test, expect } from "vitest"; function run_spec(dirname, parsers, options) { options = Object.assign( { - plugins: ["."], + plugins: ["./src/index.js"], tabWidth: 4 }, options diff --git a/vitest.config.js b/vitest.config.js new file mode 100644 index 00000000..ec7c3179 --- /dev/null +++ b/vitest.config.js @@ -0,0 +1,18 @@ +import { resolve } from "path"; +import { defineConfig } from "vitest/config"; + +const ENABLE_COVERAGE = false; // !!process.env.CI; + +export default defineConfig({ + resolve: { + alias: { + src: resolve(__dirname, "./src"), + tests: resolve(__dirname, "./tests") + } + }, + test: { + setupFiles: ["./tests_config/run_spec.js"], + snapshotSerializers: ["./tests_config/raw-serializer.js"], + testRegex: "jsfmt\\.spec\\.js$|__tests__/.*\\.js$" + } +}); diff --git a/yarn.lock b/yarn.lock index 65d0fdef..1ba0fb2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,300 +7,120 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" - integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.6", "@babel/generator@^7.7.2": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== -"@babel/helpers@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" - integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== - dependencies: - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== -"@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.3.3": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" - integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== -"@babel/traverse@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" - integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - debug "^4.3.1" - globals "^11.1.0" +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" @@ -353,258 +173,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-30.0.0-alpha.3.tgz#b899cb6a55e761eb0902e64fabcc5b3c5e6c7cb0" - integrity sha512-YswdyaJ3/6sVYe4n3iClqiuq3M2jA3FevbwBr1CE/QrRUuZFAd58sxRnW/XD2bS7pr5zI0dviaSLsFCkUfuuiA== - dependencies: - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - slash "^3.0.0" - -"@jest/core@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-30.0.0-alpha.3.tgz#cb79894a1315d589bdc64c132012d091e7a60ae6" - integrity sha512-nqtDVDXpwlt8vXG7Fw4WsI81157BnOZGW7B4svpqseEptLSfSbCRkrsTs63bXI2SHiljoqgl8rqNvghsGZoATw== - dependencies: - "@jest/console" "30.0.0-alpha.3" - "@jest/reporters" "30.0.0-alpha.3" - "@jest/test-result" "30.0.0-alpha.3" - "@jest/transform" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "30.0.0-alpha.3" - jest-config "30.0.0-alpha.3" - jest-haste-map "30.0.0-alpha.3" - jest-message-util "30.0.0-alpha.3" - jest-regex-util "30.0.0-alpha.3" - jest-resolve "30.0.0-alpha.3" - jest-resolve-dependencies "30.0.0-alpha.3" - jest-runner "30.0.0-alpha.3" - jest-runtime "30.0.0-alpha.3" - jest-snapshot "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - jest-validate "30.0.0-alpha.3" - jest-watcher "30.0.0-alpha.3" - micromatch "^4.0.4" - pretty-format "30.0.0-alpha.3" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-30.0.0-alpha.3.tgz#227b05951e3fb8a3ea5b39b3c28bc422b6dc799c" - integrity sha512-AcJ9kUhN0lVlm/cJCr59AUrsqT2ZlszG1W+ENssqkueQLObCkpv5Jpv5ISM1F2FOt136OG0vLMTAp+V+r+gPYA== - dependencies: - "@jest/fake-timers" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - jest-mock "30.0.0-alpha.3" - -"@jest/expect-utils@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-30.0.0-alpha.3.tgz#feb38717008830b3cb977c2b3be8bb4c4275e411" - integrity sha512-1KoDS+Mc/7Jjb6r77wvHRCRK2LGxEidNw9IseyD79UDX8nwVw5t494sxnlUOQ2qGB7GNtZz0znwGX7BwjYFgLw== - dependencies: - jest-get-type "30.0.0-alpha.3" - -"@jest/expect@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-30.0.0-alpha.3.tgz#8e817b9150e2ada5a7e99b34a61a93a122438b26" - integrity sha512-4O6/gzB6y6MvHVnLjQQNsMLOxN1B7ynaOEdOD7GSlDcMThm+ecIkQ1Rsh7hS3SOpssugRZSzQgWlN0+vWO+1cw== - dependencies: - expect "30.0.0-alpha.3" - jest-snapshot "30.0.0-alpha.3" - -"@jest/fake-timers@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-30.0.0-alpha.3.tgz#a243002bdd08dc7ed96dd433d966dc1887bb9d8f" - integrity sha512-B9Oov0Bk1YRJaawZEcwXuupHIViX49pZhghdN+m1KFwuZ9smstD9VI9gXFBRtF1fHNu+1HmtD361LuDEHifzIw== - dependencies: - "@jest/types" "30.0.0-alpha.3" - "@sinonjs/fake-timers" "^11.1.0" - "@types/node" "*" - jest-message-util "30.0.0-alpha.3" - jest-mock "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - -"@jest/globals@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-30.0.0-alpha.3.tgz#434ef36317b46bb0f50bd2feea3cf98b03bb73c6" - integrity sha512-moTQi5Iq/DM8kr0rMbpvLuejonVakL7498+LORlcW8ZSpTwUSO1SIiJa81AU1PWbLR6MtrUNACk9KS2DbetqNQ== - dependencies: - "@jest/environment" "30.0.0-alpha.3" - "@jest/expect" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - jest-mock "30.0.0-alpha.3" - -"@jest/reporters@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-30.0.0-alpha.3.tgz#724e350c2b1f2e6fb67a2ab9bb9c719e18824ef5" - integrity sha512-Tnf432yBdGivksMfzc9y0p0SeJ+vEIBzxlXrnOou2+kM3vNqFvuH2RedNarFHQumFKtNKXe/S4WcpOCyITFFAA== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "30.0.0-alpha.3" - "@jest/test-result" "30.0.0-alpha.3" - "@jest/transform" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^10.3.10" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - jest-worker "30.0.0-alpha.3" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-30.0.0-alpha.3.tgz#113e33d3563caaf13b15e16a1e37f89b247b106e" - integrity sha512-7C75tiHmJcycvqQcRVIyTHOW45uj63SOnZbRaNRBLMFB6NOfzQz98F6Hgo832G0EfdY0ZuSRnoaXH7Fybd4epQ== - dependencies: - "@sinclair/typebox" "^0.32.1" - -"@jest/source-map@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-30.0.0-alpha.3.tgz#aa8933cbc78fb8c70310ef476de3a3cdbb618bec" - integrity sha512-OBF2rx9pkcbhoUfeXI7GPB6Gd+Olajj/VMGv9w0VTtAJ/KL6s1kmFgefYi6bzGOlB2Z/UWNR65oY/JWAEc69fQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-30.0.0-alpha.3.tgz#76c951601de1194a1d5afa4ca8412ea1aba9a5f5" - integrity sha512-ZBE3+LAqQ/498FJPqPMJOEaxi0lHTSSxhXYR8LC50WKJZYT2GlR7irPMfHm8pb5m3LgVfqPfgJ9mtm4uwWJgLQ== - dependencies: - "@jest/console" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-30.0.0-alpha.3.tgz#66ffc1ae97db96fd24f23312a16e391285014525" - integrity sha512-yH/S3G0iEcHTgWxK6eM/5cehSepQe+X8KK+a2QMAwj5TWsGNsPPNdGnhCpSmzWB9v+bNvwVC4nSWsh+T9uwMwg== - dependencies: - "@jest/test-result" "30.0.0-alpha.3" - graceful-fs "^4.2.9" - jest-haste-map "30.0.0-alpha.3" - slash "^3.0.0" - -"@jest/transform@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-30.0.0-alpha.3.tgz#3eaafce664c1b07903582c60edf1c3f257cf33f5" - integrity sha512-oTjlUPmqCdxqQqKYgBdedHOraGxYe0h83a4gt/zqmDKU+0/rmwI8Cy1bW62ZslP9faUqyv+mU11grA60WJlvlQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "30.0.0-alpha.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "30.0.0-alpha.3" - jest-regex-util "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^5.0.0" - -"@jest/types@30.0.0-alpha.3": - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-30.0.0-alpha.3.tgz#a823efede8a9ffe5484162119dbaf006c7670d19" - integrity sha512-z8oValFWEGDRslYtcU+4rgTPin8NyHuXaOrDWWDCIrYWPISaa7CLrdA6tS6o1GnywHH7kgYMCpb39cMsqP4R8w== - dependencies: - "@jest/schemas" "30.0.0-alpha.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + "@sinclair/typebox" "^0.27.8" -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": +"@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -613,12 +193,12 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -626,190 +206,161 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - "@pkgr/core@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== -"@sinclair/typebox@^0.32.1": - version "0.32.14" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.32.14.tgz#ef0a4ed981515fd430cadfb65cb6c2719a0b5539" - integrity sha512-EC77Mw8huT2z9YlYbWfpIQgN6shZE1tH4NP4/Trig8UBel9FZNMZRJ42ubJI8PLor2uIU+waLml1dce5ReCOPg== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^11.1.0": - version "11.2.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz#50063cc3574f4a27bd8453180a04171c85cc9699" - integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== +"@rollup/rollup-android-arm-eabi@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.1.tgz#ca0501dd836894216cb9572848c5dde4bfca3bec" + integrity sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA== + +"@rollup/rollup-android-arm64@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.1.tgz#154ca7e4f815d2e442ffc62ee7f64aee8b2547b0" + integrity sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ== + +"@rollup/rollup-darwin-arm64@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.1.tgz#02b522ab6ccc2c504634651985ff8e657b42c055" + integrity sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q== + +"@rollup/rollup-darwin-x64@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.1.tgz#217737f9f73de729fdfd7d529afebb6c8283f554" + integrity sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA== + +"@rollup/rollup-linux-arm-gnueabihf@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.1.tgz#a87e478ab3f697c7f4e74c8b1cac1e0667f8f4be" + integrity sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g== + +"@rollup/rollup-linux-arm64-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.1.tgz#4da6830eca27e5f4ca15f9197e5660952ca185c6" + integrity sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w== + +"@rollup/rollup-linux-arm64-musl@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.1.tgz#0b0ed35720aebc8f5e501d370a9ea0f686ead1e0" + integrity sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw== + +"@rollup/rollup-linux-powerpc64le-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.1.tgz#024ad04d162726f25e62915851f7df69a9677c17" + integrity sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw== + +"@rollup/rollup-linux-riscv64-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.1.tgz#180694d1cd069ddbe22022bb5b1bead3b7de581c" + integrity sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw== + +"@rollup/rollup-linux-s390x-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.1.tgz#f7b4e2b0ca49be4e34f9ef0b548c926d94edee87" + integrity sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA== + +"@rollup/rollup-linux-x64-gnu@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.1.tgz#0aaf79e5b9ccf7db3084fe6c3f2d2873a27d5af4" + integrity sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA== + +"@rollup/rollup-linux-x64-musl@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.1.tgz#38f0a37ca5015eb07dff86a1b6f94279c179f4ed" + integrity sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g== + +"@rollup/rollup-win32-arm64-msvc@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.1.tgz#84d48c55740ede42c77373f76e85f368633a0cc3" + integrity sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA== + +"@rollup/rollup-win32-ia32-msvc@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.1.tgz#c1e0bc39e20e760f0a526ddf14ae0543af796605" + integrity sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg== + +"@rollup/rollup-win32-x64-msvc@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.1.tgz#299eee74b7d87e116083ac5b1ce8dd9434668294" + integrity sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@types/estree@1.0.5", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/node@*": - version "20.11.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" - integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== - dependencies: - undici-types "~5.26.4" - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/semver@^7.3.12": - version "7.5.7" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.7.tgz#326f5fdda70d13580777bcaa1bc6fa772a5aef0e" - integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== +"@vitest/expect@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-1.4.0.tgz#d64e17838a20007fecd252397f9b96a1ca81bfb0" + integrity sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA== dependencies: - "@types/yargs-parser" "*" + "@vitest/spy" "1.4.0" + "@vitest/utils" "1.4.0" + chai "^4.3.10" -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== +"@vitest/runner@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-1.4.0.tgz#907c2d17ad5975b70882c25ab7a13b73e5a28da9" + integrity sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" + "@vitest/utils" "1.4.0" + p-limit "^5.0.0" + pathe "^1.1.1" -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== +"@vitest/snapshot@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-1.4.0.tgz#2945b3fb53767a3f4f421919e93edfef2935b8bd" + integrity sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A== dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" + magic-string "^0.30.5" + pathe "^1.1.1" + pretty-format "^29.7.0" -"@typescript-eslint/utils@^5.10.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== +"@vitest/spy@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-1.4.0.tgz#cf953c93ae54885e801cbe6b408a547ae613f26c" + integrity sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q== dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" + tinyspy "^2.2.0" -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +"@vitest/utils@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-1.4.0.tgz#ea6297e0d329f9ff0a106f4e1f6daf3ff6aad3f0" + integrity sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg== + dependencies: + diff-sequences "^29.6.3" + estree-walker "^3.0.3" + loupe "^2.3.7" + pretty-format "^29.7.0" acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^8.9.0: +acorn-walk@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.11.3, acorn@^8.9.0: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -824,13 +375,6 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -841,24 +385,12 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -870,26 +402,6 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -914,11 +426,6 @@ array-includes@^3.1.7: get-intrinsic "^1.2.1" is-string "^1.0.7" -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - array.prototype.filter@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" @@ -975,6 +482,11 @@ arraybuffer.prototype.slice@^1.0.3: is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" @@ -989,19 +501,6 @@ babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-jest@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-30.0.0-alpha.3.tgz#9528fa8878c9f567f8c23978f51d95260ede6c6e" - integrity sha512-22NEFug9CD3C8tbTOPy2LjdZfWd63pdWedEodtjf6K0u922i4rThsCFblV1/afmBwCaeOZTPdLbp71ftPe0EpQ== - dependencies: - "@jest/transform" "30.0.0-alpha.3" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "30.0.0-alpha.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -1009,53 +508,6 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.0-alpha.3.tgz#0bd6f3e6777faa13944b236c6a353b5d2e3dba62" - integrity sha512-XIy+DV/1gpXSdJcSiNhq10+MKpevarPun90sW4Ch/1wFyma6nXsIk8Nwax7GYwz0mLTand+bY59I+DBfBi8n+Q== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-30.0.0-alpha.3.tgz#e0e20a04a2199f394287ee0d860e33b8f3ce4832" - integrity sha512-1ySm/kw6hjNddygeHSNmwObOipFDDrmx/ADNjQjptO6SWmqV33iWwf8Usz+zQxb70+zbgEBI31Sk2BBFtTmAGA== - dependencies: - babel-plugin-jest-hoist "30.0.0-alpha.3" - babel-preset-current-node-syntax "^1.0.0" - babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -1118,41 +570,10 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.22.2: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bser@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: version "1.0.7" @@ -1170,20 +591,18 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001587: - version "1.0.30001587" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" - integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== +chai@^4.3.10: + version "4.4.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" + integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== + 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.6" + pathval "^1.1.1" + type-detect "^4.0.8" chalk@^1.1.3: version "1.1.3" @@ -1196,16 +615,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -1213,46 +623,12 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -ci-info@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" - integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== dependencies: - color-name "1.1.3" + get-func-name "^2.0.2" color-convert@^2.0.1: version "2.0.1" @@ -1261,11 +637,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -1276,37 +647,12 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - core-js@^2.4.0: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -create-jest-runner@^0.11.2: - version "0.11.2" - resolved "https://registry.yarnpkg.com/create-jest-runner/-/create-jest-runner-0.11.2.tgz#4b4f62ccef1e4de12e80f81c2cf8211fa392a962" - integrity sha512-6lwspphs4M1PLKV9baBNxHQtWVBPZuDU8kAP4MyrVWa6aEpEcpi2HZeeA6WncwaqgsGNXpP0N2STS7XNM/nHKQ== - dependencies: - chalk "^4.1.0" - jest-worker "^28.0.2" - throat "^6.0.1" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1329,28 +675,25 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - define-data-property@^1.0.1, define-data-property@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" @@ -1376,22 +719,10 @@ define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-30.0.0-alpha.3.tgz#07e7a50a0d73f69f8343151ca653aca85f76aab6" - integrity sha512-yaGzjI+ifv9vL61+Lyu4k3i2G6/4wWyAbOees2JAf7Qh5zD95bF9BKbrog5tTNj6EDk7AVy7K8Aj2K0Z13fq6g== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== doctrine@^2.1.0: version "2.1.0" @@ -1407,45 +738,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.4.668: - version "1.4.673" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.673.tgz#1f077d9a095761804aec7ec6346c3f4b69b56534" - integrity sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - es-abstract@^1.22.1, es-abstract@^1.22.3: version "1.22.4" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf" @@ -1535,21 +827,40 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +esbuild@^0.20.1: + version "0.20.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + +escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -1599,13 +910,6 @@ eslint-plugin-import@^2.29.1: semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jest@^27.9.0: - version "27.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz#7c98a33605e1d8b8442ace092b60e9919730000b" - integrity sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug== - dependencies: - "@typescript-eslint/utils" "^5.10.0" - eslint-plugin-prettier-doc@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier-doc/-/eslint-plugin-prettier-doc-1.1.0.tgz#ebf679b480e6048e90d5b152e6043714780bb4e6" @@ -1619,14 +923,6 @@ eslint-plugin-prettier-doc@^1.1.0: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" @@ -1693,11 +989,6 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" @@ -1712,51 +1003,37 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-30.0.0-alpha.3.tgz#60b4101e4e23ea188d87dc6ad713f2e03c0d629d" - integrity sha512-pwdFUH14bNs/y2x7YYhhAd1y7My9BvyzaGDTHHjRcDRW2qwIKFPjpjxdS4pwWHb8ROeWvXOxom6a7CPrcR/FFg== - dependencies: - "@jest/expect-utils" "30.0.0-alpha.3" - jest-get-type "30.0.0-alpha.3" - jest-matcher-utils "30.0.0-alpha.3" - jest-message-util "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -1768,27 +1045,11 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -1801,13 +1062,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -1815,21 +1069,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -1859,20 +1098,12 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.3.2: +fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -1897,15 +1128,10 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" @@ -1918,15 +1144,10 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== get-symbol-description@^1.0.2: version "1.0.2" @@ -1937,13 +1158,6 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" @@ -1951,17 +1165,6 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^10.3.10: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - glob@^7.1.3: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" @@ -1974,23 +1177,6 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - globals@^13.19.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" @@ -2010,18 +1196,6 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -2029,11 +1203,6 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - graphemer@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" @@ -2051,11 +1220,6 @@ has-bigints@^1.0.1, has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -2102,15 +1266,10 @@ he@^1.1.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== ignore@^5.2.0: version "5.3.1" @@ -2125,14 +1284,6 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -2175,11 +1326,6 @@ is-array-buffer@^3.0.4: call-bind "^1.0.2" get-intrinsic "^1.2.1" -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - is-bigint@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" @@ -2222,17 +1368,7 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -2251,16 +1387,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -2281,10 +1407,10 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" @@ -2331,445 +1457,7 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-changed-files@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-30.0.0-alpha.3.tgz#b942f7f358e84fc4207bfa837dd6ac247358dd36" - integrity sha512-C48A0AuLOacGfzXJp+Ur46ftlylSQZaFaefxnpzBYR117mnH14Br1wBUGEp89hQGVZFpc3ZJGr62u78mSk/Vmg== - dependencies: - execa "^5.0.0" - jest-util "30.0.0-alpha.3" - p-limit "^3.1.0" - -jest-circus@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-30.0.0-alpha.3.tgz#143557dfd5ea25713be6363cd45afce5f8acf0ec" - integrity sha512-CLbl1SOAnlYn7d/r1jj23+OW1c1XPi4Icf3nO7n3rYSsrHbkm2PA3GYsk8vR4jIgGlTTLkDKKkKZeSUTfkcS1g== - dependencies: - "@jest/environment" "30.0.0-alpha.3" - "@jest/expect" "30.0.0-alpha.3" - "@jest/test-result" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "30.0.0-alpha.3" - jest-matcher-utils "30.0.0-alpha.3" - jest-message-util "30.0.0-alpha.3" - jest-runtime "30.0.0-alpha.3" - jest-snapshot "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - p-limit "^3.1.0" - pretty-format "30.0.0-alpha.3" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-30.0.0-alpha.3.tgz#4c9c04b12a12b68f78d2648210608c108b471983" - integrity sha512-z1aQDxDe0VeDSEUeMr9MrfI5cc2SSCiKtG0Rt3XDfTgWrzyoakVds/9QMkkpNKHryCBzZZKOMe5W2uy7qM4WOA== - dependencies: - "@jest/core" "30.0.0-alpha.3" - "@jest/test-result" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - chalk "^4.0.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - jest-validate "30.0.0-alpha.3" - yargs "^17.3.1" - -jest-config@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-30.0.0-alpha.3.tgz#b2b49a693ac6ef868bf579d50c1c28ccec15f955" - integrity sha512-3eqS6gcsaPtcpU/VVlkLx1se1JiH18uh1Xg+oOf6FhlLDvAT5h6+dvWa2IpyucCN46dHHEw3E85qfjogq4XLtw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - babel-jest "30.0.0-alpha.3" - chalk "^4.0.0" - ci-info "^4.0.0" - deepmerge "^4.2.2" - glob "^10.3.10" - graceful-fs "^4.2.9" - jest-circus "30.0.0-alpha.3" - jest-environment-node "30.0.0-alpha.3" - jest-get-type "30.0.0-alpha.3" - jest-regex-util "30.0.0-alpha.3" - jest-resolve "30.0.0-alpha.3" - jest-runner "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - jest-validate "30.0.0-alpha.3" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "30.0.0-alpha.3" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.0.0-alpha.3.tgz#309cd09fe2f7a9c94a4bfbc0831625de74664497" - integrity sha512-cY3JM566pqIjfjww9OKYu4dExYGxsDI53/II57d+R1OpikffSAKvliqoejeCpivVwOir6qkcq5jY0l6pq90Orw== - dependencies: - chalk "^4.0.0" - diff-sequences "30.0.0-alpha.3" - jest-get-type "30.0.0-alpha.3" - pretty-format "30.0.0-alpha.3" - -jest-docblock@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-30.0.0-alpha.3.tgz#67342d249766d5d354f983e303de6e053a814d23" - integrity sha512-kVMYlUpTIYCPUdl++XuEfAAew+1KWLTdkNiq2bwq8PsAU4rWMYDKuGOBIBxOHP0UcEN+zeObCmXspudpAG2xJQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-30.0.0-alpha.3.tgz#2c1fcb6965dabec1c530c66bd7d579e440bbdb39" - integrity sha512-IwwuX9YSUoV6tvdyVW9My1b6RZKZ6mCOohIcBq39ckIoJSHRi5VBvwWdglvVoeZZsK3nfcsWdszxNt4zyFEBSg== - dependencies: - "@jest/types" "30.0.0-alpha.3" - chalk "^4.0.0" - jest-get-type "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - pretty-format "30.0.0-alpha.3" - -jest-environment-node@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-30.0.0-alpha.3.tgz#5c10e0a787d9dda298cb8c48bb1ebebc3f949f71" - integrity sha512-tVk/QvWg4fy0flNxFffOB4ZgtA6QDCL3HWe4a7vlupI9ZfSgcns5N7TmCep/fLHpEIZuKMFNVc/GVPSxPpb26g== - dependencies: - "@jest/environment" "30.0.0-alpha.3" - "@jest/fake-timers" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - jest-mock "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - -jest-get-type@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-30.0.0-alpha.3.tgz#dd84fcbd764d8e2b41965a507eb8e87ceedb9d2d" - integrity sha512-K6bJS51wUJf6t6cKhfWnt4UfStZjWGNsfab9XEEvPZhlTrM37eDO3ekcVJFuR1/g4QCKm9T8p0ob77dNfDV1zQ== - -jest-haste-map@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-30.0.0-alpha.3.tgz#cea5dc3e5933f3b634075630dd9b2793ea173631" - integrity sha512-aCf8+nM4OdOtnhPE9qkggRzVmNmYmCrxKIEF4BfU1h5LECCa7arOVI0+GMf1HyQ4N2CJejCuCwKdj+bFakyPeQ== - dependencies: - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - jest-worker "30.0.0-alpha.3" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-30.0.0-alpha.3.tgz#a4109b17f248f5f5d8241962b1eca0c75573d9a8" - integrity sha512-g9ATCuifGCIKwlyct2GogQZQA+QEK0CESkM9MfZ4+6heJDtHijJ9XBvmAonVFUA7wPAVp3hx6oM6YUxfEEHZgQ== - dependencies: - jest-get-type "30.0.0-alpha.3" - pretty-format "30.0.0-alpha.3" - -jest-matcher-utils@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-30.0.0-alpha.3.tgz#33e9664c10bb2f8548e4df7a8a53fe0e41d1d598" - integrity sha512-TT86Qf9nZMW9DR+kBYpIdhpHweMC0Sn76Qlo1BA9CSeq0IiX7Oe3eTzN0hOHroiIIv4NzIPqOE+FCDnDWLvxaQ== - dependencies: - chalk "^4.0.0" - jest-diff "30.0.0-alpha.3" - jest-get-type "30.0.0-alpha.3" - pretty-format "30.0.0-alpha.3" - -jest-message-util@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-30.0.0-alpha.3.tgz#ff86a0fb5533500d4669fdc8a945a69280e179cf" - integrity sha512-+/Ajvi4E/0xI1gbX3q1cNTnRiweAWvsruZo/WaL1zNutu8LlMn/1p1CJAVI4jxIr9E6CMDOVSvScTsnDU5L9iQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "30.0.0-alpha.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "30.0.0-alpha.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-30.0.0-alpha.3.tgz#654a65507212e13ca493104aabe8e9567cb3821b" - integrity sha512-hDIm/0ITW/WIyFudj9Dz9eS+vg9tgw51dab4Ild6ME7kBZXQS4AMgXf1AoqQY0amSyxnIZ17G7RLKft88cvkRQ== - dependencies: - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - jest-util "30.0.0-alpha.3" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-30.0.0-alpha.3.tgz#f83f1cd0917163ebd901e74d2738d51a947f4ac7" - integrity sha512-XFCQrDRreQmrU/HCDxVdTlz9nFaLSJJSBbBoxTfKz7coMyPw2s0Zag2LwrslNJBPfuTtbokXbS1e2RtDAwPv+A== - -jest-resolve-dependencies@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.0-alpha.3.tgz#955a6397382222ed47b1869c51cde826a7c2485d" - integrity sha512-ueaenJkiY+8kk0q5PkpdV/2q1Bx+A83VgJWmeyo/rT0YmRMiv0VApmYzjcTlmx6OFwqJBVZXZmnoQm1l/FkOdw== - dependencies: - jest-regex-util "30.0.0-alpha.3" - jest-snapshot "30.0.0-alpha.3" - -jest-resolve@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-30.0.0-alpha.3.tgz#feacbcc41885fa9951a4ee5d93e49932efdde73b" - integrity sha512-xsUEYnDhzKgke5i2hgX+9xJpBcZYric6QoEIYj6zRpbZcpbOCZEfd1cru4icwAp0s8bH88A19+6n+xdTilPWMw== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "30.0.0-alpha.3" - jest-pnp-resolver "^1.2.2" - jest-util "30.0.0-alpha.3" - jest-validate "30.0.0-alpha.3" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner-eslint@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/jest-runner-eslint/-/jest-runner-eslint-2.1.2.tgz#22a08fe7354d705b19a020ad46c7ff4c91a16e3d" - integrity sha512-XONe3I5YMPPyQ55EoPKk+RT59fZ/4A+NvmTCmwFLhw5+OONxGL73yojVwXZO1x2mvhH0IigknfE+mKQ5ki1RnA== - dependencies: - chalk "^4.0.0" - cosmiconfig "^7.0.0" - create-jest-runner "^0.11.2" - dot-prop "^6.0.1" - -jest-runner@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-30.0.0-alpha.3.tgz#5853bddc08b3e9c1b056f69577ec97ba0cbed9b7" - integrity sha512-shkjuClZlDmMd8TWVg2ZI+EhUuaxGLoMrynd1/POL4VD1m5RUazN2UqSvMJCO0ACE40yKJfbHNYQ2pA/U/VdSQ== - dependencies: - "@jest/console" "30.0.0-alpha.3" - "@jest/environment" "30.0.0-alpha.3" - "@jest/test-result" "30.0.0-alpha.3" - "@jest/transform" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "30.0.0-alpha.3" - jest-environment-node "30.0.0-alpha.3" - jest-haste-map "30.0.0-alpha.3" - jest-leak-detector "30.0.0-alpha.3" - jest-message-util "30.0.0-alpha.3" - jest-resolve "30.0.0-alpha.3" - jest-runtime "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - jest-watcher "30.0.0-alpha.3" - jest-worker "30.0.0-alpha.3" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-30.0.0-alpha.3.tgz#4bdfd2a9ff49351ca43b0c067de9b3051436d0cb" - integrity sha512-vo5X1cppTuxgqmOpaPtWJKAZARrMwj1rzORAkcxQ4MkWXCMo8LI9nL2jAPRCHMPqdde/2Hl0gc5uAIgvoUJ7xw== - dependencies: - "@jest/environment" "30.0.0-alpha.3" - "@jest/fake-timers" "30.0.0-alpha.3" - "@jest/globals" "30.0.0-alpha.3" - "@jest/source-map" "30.0.0-alpha.3" - "@jest/test-result" "30.0.0-alpha.3" - "@jest/transform" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^10.3.10" - graceful-fs "^4.2.9" - jest-haste-map "30.0.0-alpha.3" - jest-message-util "30.0.0-alpha.3" - jest-mock "30.0.0-alpha.3" - jest-regex-util "30.0.0-alpha.3" - jest-resolve "30.0.0-alpha.3" - jest-snapshot "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-30.0.0-alpha.3.tgz#2bde81354d4d2dee53eb3069edf9acf0b9b95efc" - integrity sha512-/IhF7s664OMEBfT44aPZt/BmjDA0mzK+Qpv0d/LjBOpuXNL2NoV1sBNW+JCAv0vWYsaaxNgHxAZidoNEO6Fdlg== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "30.0.0-alpha.3" - "@jest/transform" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "30.0.0-alpha.3" - graceful-fs "^4.2.9" - jest-diff "30.0.0-alpha.3" - jest-get-type "30.0.0-alpha.3" - jest-matcher-utils "30.0.0-alpha.3" - jest-message-util "30.0.0-alpha.3" - jest-util "30.0.0-alpha.3" - natural-compare "^1.4.0" - pretty-format "30.0.0-alpha.3" - semver "^7.5.3" - synckit "^0.9.0" - -jest-util@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-30.0.0-alpha.3.tgz#226ee56d70827071afb447f870ba2c3ee6c9bdac" - integrity sha512-5562Xr2X8UeJL12W2UR1Mj1/Z78wPm8erPoaS29ksMh0IsDe2dVboJld0zLOulcm6zTAqHbgphCOGLDsTbG14A== - dependencies: - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^4.0.0" - graceful-fs "^4.2.9" - picomatch "^3.0.0" - -jest-validate@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-30.0.0-alpha.3.tgz#e675ebc37602c5f1269f96e8a3d9bf9ab3ee7339" - integrity sha512-UcjJVDJiJAKtEHoqy2wH/+wQzZ3k2N2GToeg7WaZHSfPUvQW7U+atCCOiNbK4e7e3eXbvK8pL7zV3aa7FZwG2A== - dependencies: - "@jest/types" "30.0.0-alpha.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "30.0.0-alpha.3" - leven "^3.1.0" - pretty-format "30.0.0-alpha.3" - -jest-watcher@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-30.0.0-alpha.3.tgz#fc167628ab200f035db552c3b7f47a6c50ff97c6" - integrity sha512-prny+JoMv+1jtIpLP3CxHPseXPlUGPGOrslFPWCDJ9NoIMqmjxwe5KlTrNwbDnP/zMUPPYfaIbKZD9XiSmq78g== - dependencies: - "@jest/test-result" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "30.0.0-alpha.3" - string-length "^4.0.1" - -jest-worker@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-30.0.0-alpha.3.tgz#fb6be6cb4e45cc00dfba739686818701eda97681" - integrity sha512-8lS9LxbEjOyBRz0Pdi6m3HYJ3feIi1tv0u7oqxjXvB1lMksq+IcSxaPTCcvJbIqt3WAFFYQnDs5I3NkJiEG5Ow== - dependencies: - "@types/node" "*" - jest-util "30.0.0-alpha.3" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^28.0.2: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-30.0.0-alpha.3.tgz#3ea9a79f4d20b049fe8fdc5ece3fa8c4198b1f60" - integrity sha512-oJndFRnG1Xsc1ybac44hGGj7+O4nT9losg8+8YDjNwDAXbYwvzyRgmCiPo6L/BROiAD8Z9qGgFRsFuGdpmQuFw== - dependencies: - "@jest/core" "30.0.0-alpha.3" - "@jest/types" "30.0.0-alpha.3" - import-local "^3.0.2" - jest-cli "30.0.0-alpha.3" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +"js-tokens@^3.0.0 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -2779,13 +1467,10 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" +js-tokens@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.0.tgz#0f893996d6f3ed46df7f0a3b12a03f5fd84223c1" + integrity sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ== js-yaml@^4.1.0: version "4.1.0" @@ -2794,21 +1479,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -2826,10 +1501,10 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== keyv@^4.5.3: version "4.5.4" @@ -2838,11 +1513,6 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -2851,17 +1521,13 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== dependencies: - p-locate "^4.1.0" + mlly "^1.4.2" + pkg-types "^1.0.3" locate-path@^6.0.0: version "6.0.0" @@ -2887,38 +1553,19 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== +loupe@^2.3.6, loupe@^2.3.7: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== dependencies: - yallist "^4.0.0" + get-func-name "^2.0.1" -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== +magic-string@^0.30.5: + version "0.30.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.9.tgz#8927ae21bfdd856310e07a1bc8dd5e73cb6c251d" + integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw== dependencies: - semver "^7.5.3" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" + "@jridgewell/sourcemap-codec" "^1.4.15" melody-code-frame@^1.7.5: version "1.7.5" @@ -2963,23 +1610,10 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== minimatch@^3.0.4: version "3.0.4" @@ -2988,20 +1622,13 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3012,10 +1639,15 @@ minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== +mlly@^1.2.0, mlly@^1.4.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.6.1.tgz#0983067dc3366d6314fc5e12712884e6978d028f" + integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.0.3" + ufo "^1.3.2" ms@2.0.0: version "2.0.0" @@ -3032,32 +1664,22 @@ nanoid@^2.1.0: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.8.tgz#2dbb0224231b246e3b4c819de7bfea6384dabf08" integrity sha512-g1z+n5s26w0TGKh7gjn7HCqurNKMZWzH08elXzh/gM/csQHd/UqDV6uxMghQYg9IvqRPm1QpeMk50YMofHvEjQ== +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== dependencies: - path-key "^3.0.0" + path-key "^4.0.0" object-inspect@^1.13.1: version "1.13.1" @@ -3115,12 +1737,12 @@ once@^1.3.0: dependencies: wrappy "1" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: - mimic-fn "^2.1.0" + mimic-fn "^4.0.0" optionator@^0.9.3: version "0.9.3" @@ -3134,26 +1756,19 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +p-limit@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-5.0.0.tgz#6946d5b7140b649b7a33a027d89b4c625b3a5985" + integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== dependencies: - p-limit "^2.2.0" + yocto-queue "^1.0.0" p-locate@^5.0.0: version "5.0.0" @@ -3162,11 +1777,6 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -3174,16 +1784,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -3194,60 +1794,53 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" +pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" - integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.0" -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== +postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: - find-up "^4.0.0" + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" prelude-ls@^1.2.1: version "1.2.1" @@ -3266,12 +1859,12 @@ prettier-linter-helpers@^1.0.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== -pretty-format@30.0.0-alpha.3: - version "30.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-30.0.0-alpha.3.tgz#c0e7dfd029f81681a59ea8c82e5dcec823c42951" - integrity sha512-b1mhTF/vbYJaXOdRY0nFMwzHHpWCs0QNYJA5ImcOpQ99QZqCHqU8C+lbGoWwC3X9QEjAYJ+N5+Vmc/MXbXCZDA== +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: - "@jest/schemas" "30.0.0-alpha.3" + "@jest/schemas" "^29.6.3" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -3280,11 +1873,6 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -3310,41 +1898,12 @@ regexp.prototype.flags@^1.5.2: es-errors "^1.3.0" set-function-name "^2.0.1" -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.20.0, resolve@^1.22.4: +resolve@^1.12.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -3365,6 +1924,30 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rollup@^4.13.0: + version "4.14.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.14.1.tgz#228d5159c3f4d8745bd24819d734bc6c6ca87c09" + integrity sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA== + 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.2" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -3391,18 +1974,11 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -semver@^6.3.0, semver@^6.3.1: +semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - set-function-length@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" @@ -3453,71 +2029,30 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== -signal-exit@^4.0.1: +signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" +std-env@^3.5.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== string.prototype.trim@^1.2.8: version "1.2.8" @@ -3546,13 +2081,6 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -3560,45 +2088,40 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^6.0.1" + ansi-regex "^5.0.1" strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-literal@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-2.1.0.tgz#6d82ade5e2e74f5c7e8739b6c84692bd65f0bd2a" + integrity sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw== + dependencies: + js-tokens "^9.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -3606,13 +2129,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -3626,55 +2142,31 @@ synckit@^0.8.6: "@pkgr/core" "^0.1.0" tslib "^2.6.2" -synckit@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.0.tgz#5b33b458b3775e4466a5b377fba69c63572ae449" - integrity sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== +tinybench@^2.5.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.6.0.tgz#1423284ee22de07c91b3752c048d2764714b341b" + integrity sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA== -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +tinypool@^0.8.2: + version "0.8.3" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.8.3.tgz#e17d0a5315a7d425f875b05f7af653c225492d39" + integrity sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw== + +tinyspy@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.1.tgz#117b2342f1f38a0dbdcc73a50a454883adf861d1" + integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - tsconfig-paths@^3.15.0: version "3.15.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" @@ -3685,23 +2177,11 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -3709,7 +2189,7 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@4.0.8: +type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -3719,11 +2199,6 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - typed-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz#0608ffe6bca71bf15a45bff0ca2604107a1325f5" @@ -3763,6 +2238,11 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +ufo@^1.3.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" + integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -3773,19 +2253,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -3793,21 +2260,53 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== +vite-node@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-1.4.0.tgz#265529d60570ca695ceb69391f87f92847934ad8" + integrity sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw== dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" + cac "^6.7.14" + debug "^4.3.4" + pathe "^1.1.1" + picocolors "^1.0.0" + vite "^5.0.0" -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== +vite@^5.0.0, vite@^5.2.8: + version "5.2.8" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.8.tgz#a99e09939f1a502992381395ce93efa40a2844aa" + integrity sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA== dependencies: - makeerror "1.0.12" + esbuild "^0.20.1" + postcss "^8.4.38" + rollup "^4.13.0" + optionalDependencies: + fsevents "~2.3.3" + +vitest@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-1.4.0.tgz#f5c812aaf5023818b89b7fc667fa45327396fece" + integrity sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw== + 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.3.10" + debug "^4.3.4" + execa "^8.0.1" + local-pkg "^0.5.0" + magic-string "^0.30.5" + pathe "^1.1.1" + picocolors "^1.0.0" + std-env "^3.5.0" + strip-literal "^2.0.0" + tinybench "^2.5.1" + tinypool "^0.8.2" + vite "^5.0.0" + vite-node "1.4.0" + why-is-node-running "^2.2.2" which-boxed-primitive@^1.0.2: version "1.0.2" @@ -3838,76 +2337,25 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== +why-is-node-running@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" + integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" + siginfo "^2.0.0" + stackback "0.0.2" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" - integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^4.0.1" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==