diff --git a/.github/workflows/report-viewer-dev.yml b/.github/workflows/report-viewer-dev.yml index 1618629c2..854cece1f 100644 --- a/.github/workflows/report-viewer-dev.yml +++ b/.github/workflows/report-viewer-dev.yml @@ -37,7 +37,7 @@ jobs: npm run build-dev - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4.4.2 + uses: JamesIves/github-pages-deploy-action@v4.4.3 with: branch: gh-pages folder: report-viewer/dist diff --git a/.github/workflows/report-viewer.yml b/.github/workflows/report-viewer.yml index f558551a0..8eaea136d 100644 --- a/.github/workflows/report-viewer.yml +++ b/.github/workflows/report-viewer.yml @@ -37,7 +37,7 @@ jobs: npm run build-prod - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@v4.4.2 + uses: JamesIves/github-pages-deploy-action@v4.4.3 with: branch: gh-pages folder: report-viewer/dist diff --git a/language-antlr-utils/src/main/java/de/jplag/antlr/AbstractAntlrListener.java b/language-antlr-utils/src/main/java/de/jplag/antlr/AbstractAntlrListener.java index 96fba3959..b8a38cd28 100644 --- a/language-antlr-utils/src/main/java/de/jplag/antlr/AbstractAntlrListener.java +++ b/language-antlr-utils/src/main/java/de/jplag/antlr/AbstractAntlrListener.java @@ -25,7 +25,6 @@ public class AbstractAntlrListener implements ParseTreeListener { private final List> startMappings; private final List> endMappings; - private final List> rangeMappings; private final List terminalMapping; @@ -46,7 +45,6 @@ public AbstractAntlrListener(TokenCollector collector, File currentFile, boolean this.startMappings = new ArrayList<>(); this.endMappings = new ArrayList<>(); - this.rangeMappings = new ArrayList<>(); this.terminalMapping = new ArrayList<>(); @@ -78,8 +76,6 @@ public void visitErrorNode(ErrorNode errorNode) { @Override public void enterEveryRule(ParserRuleContext rule) { this.startMappings.stream().filter(mapping -> mapping.matches(rule)).forEach(mapping -> mapping.createToken(rule, variableRegistry)); - - this.rangeMappings.stream().filter(mapping -> mapping.matches(rule)).forEach(mapping -> mapping.createToken(rule, variableRegistry)); } @Override @@ -94,8 +90,8 @@ public void exitEveryRule(ParserRuleContext rule) { * @param The type of {@link ParserRuleContext} * @return The builder for the token */ - protected ContextTokenBuilder createStartMapping(Class antlrType, TokenType jplagType) { - return this.createStartMapping(antlrType, jplagType, it -> true); + protected ContextTokenBuilder mapEnter(Class antlrType, TokenType jplagType) { + return this.mapEnter(antlrType, jplagType, it -> true); } /** @@ -107,8 +103,7 @@ protected ContextTokenBuilder createStartMappin * @return The builder for the token */ @SuppressWarnings("unchecked") - protected ContextTokenBuilder createStartMapping(Class antlrType, TokenType jplagType, - Predicate condition) { + protected ContextTokenBuilder mapEnter(Class antlrType, TokenType jplagType, Predicate condition) { ContextTokenBuilder builder = initTypeBuilder(antlrType, jplagType, condition, ContextTokenBuilderType.START); this.startMappings.add((ContextTokenBuilder) builder); return builder; @@ -121,8 +116,8 @@ protected ContextTokenBuilder createStartMappin * @param The type of {@link ParserRuleContext} * @return The builder for the token */ - protected ContextTokenBuilder createStopMapping(Class antlrType, TokenType jplagType) { - return this.createStopMapping(antlrType, jplagType, it -> true); + protected ContextTokenBuilder mapExit(Class antlrType, TokenType jplagType) { + return this.mapExit(antlrType, jplagType, it -> true); } /** @@ -134,8 +129,7 @@ protected ContextTokenBuilder createStopMapping * @return The builder for the token */ @SuppressWarnings("unchecked") - protected ContextTokenBuilder createStopMapping(Class antlrType, TokenType jplagType, - Predicate condition) { + protected ContextTokenBuilder mapExit(Class antlrType, TokenType jplagType, Predicate condition) { ContextTokenBuilder builder = initTypeBuilder(antlrType, jplagType, condition, ContextTokenBuilderType.STOP); this.endMappings.add((ContextTokenBuilder) builder); return builder; @@ -149,8 +143,8 @@ protected ContextTokenBuilder createStopMapping * @param The type of {@link ParserRuleContext} * @return The builder for the token */ - protected ContextTokenBuilder createRangeMapping(Class antlrType, TokenType jplagType) { - return this.createRangeMapping(antlrType, jplagType, it -> true); + protected ContextTokenBuilder mapRange(Class antlrType, TokenType jplagType) { + return this.mapRange(antlrType, jplagType, it -> true); } /** @@ -163,10 +157,9 @@ protected ContextTokenBuilder createRangeMappin * @return The builder for the token */ @SuppressWarnings("unchecked") - protected ContextTokenBuilder createRangeMapping(Class antlrType, TokenType jplagType, - Predicate condition) { + protected ContextTokenBuilder mapRange(Class antlrType, TokenType jplagType, Predicate condition) { ContextTokenBuilder builder = initTypeBuilder(antlrType, jplagType, condition, ContextTokenBuilderType.RANGE); - this.rangeMappings.add((ContextTokenBuilder) builder); + this.startMappings.add((ContextTokenBuilder) builder); return builder; } @@ -178,8 +171,8 @@ protected ContextTokenBuilder createRangeMappin * @param The type of {@link ParserRuleContext} * @return The builder for the token */ - protected RangeBuilder createStartStopMapping(Class antlrType, TokenType startType, TokenType stopType) { - return createStartStopMapping(antlrType, startType, stopType, it -> true); + protected RangeBuilder mapEnterExit(Class antlrType, TokenType startType, TokenType stopType) { + return mapEnterExit(antlrType, startType, stopType, it -> true); } /** @@ -191,10 +184,10 @@ protected RangeBuilder createStartStopMapping(C * @param The type of {@link ParserRuleContext} * @return The builder for the token */ - protected RangeBuilder createStartStopMapping(Class antlrType, TokenType startType, TokenType stopType, + protected RangeBuilder mapEnterExit(Class antlrType, TokenType startType, TokenType stopType, Predicate condition) { - ContextTokenBuilder start = this.createStartMapping(antlrType, startType, condition); - ContextTokenBuilder end = this.createStopMapping(antlrType, stopType, condition); + ContextTokenBuilder start = this.mapEnter(antlrType, startType, condition); + ContextTokenBuilder end = this.mapExit(antlrType, stopType, condition); return new RangeBuilder<>(start, end); } @@ -204,8 +197,8 @@ protected RangeBuilder createStartStopMapping(C * @param jplagType The jplag token type * @return The builder for the token */ - protected TerminalTokenBuilder createTerminalMapping(int terminalType, TokenType jplagType) { - return this.createTerminalMapping(terminalType, jplagType, it -> true); + protected TerminalTokenBuilder mapTerminal(int terminalType, TokenType jplagType) { + return this.mapTerminal(terminalType, jplagType, it -> true); } /** @@ -215,7 +208,7 @@ protected TerminalTokenBuilder createTerminalMapping(int terminalType, TokenType * @param condition The condition under which the mapping applies * @return The builder for the token */ - protected TerminalTokenBuilder createTerminalMapping(int terminalType, TokenType jplagType, Predicate condition) { + protected TerminalTokenBuilder mapTerminal(int terminalType, TokenType jplagType, Predicate condition) { TerminalTokenBuilder builder = new TerminalTokenBuilder(jplagType, token -> token.getType() == terminalType && condition.test(token), this.collector, this.currentFile); this.terminalMapping.add(builder); diff --git a/language-antlr-utils/src/test/java/de/jplag/antlr/testLanguage/TestListener.java b/language-antlr-utils/src/test/java/de/jplag/antlr/testLanguage/TestListener.java index 37a936df6..49d30b023 100644 --- a/language-antlr-utils/src/test/java/de/jplag/antlr/testLanguage/TestListener.java +++ b/language-antlr-utils/src/test/java/de/jplag/antlr/testLanguage/TestListener.java @@ -20,17 +20,16 @@ public class TestListener extends AbstractAntlrListener { public TestListener(TokenCollector collector, File currentFile) { super(collector, currentFile, true); - createStartMapping(VarDefContext.class, VARDEF).addAsVariable(VariableScope.FILE, false, rule -> rule.VAR_NAME().getText()) + mapEnter(VarDefContext.class, VARDEF).addAsVariable(VariableScope.FILE, false, rule -> rule.VAR_NAME().getText()) .withSemantics(CodeSemantics.createKeep()); - createRangeMapping(CalcExpressionContext.class, ADDITION, rule -> rule.operator() != null && rule.operator().PLUS() != null) - .withControlSemantics(); - createRangeMapping(OperatorContext.class, SUBTRACTION, rule -> rule.MINUS() != null).withControlSemantics(); - createStartStopMapping(SubExpressionContext.class, SUB_EXPRESSION_BEGIN, SUB_EXPRESSION_END) + mapRange(CalcExpressionContext.class, ADDITION, rule -> rule.operator() != null && rule.operator().PLUS() != null).withControlSemantics(); + mapRange(OperatorContext.class, SUBTRACTION, rule -> rule.MINUS() != null).withControlSemantics(); + mapEnterExit(SubExpressionContext.class, SUB_EXPRESSION_BEGIN, SUB_EXPRESSION_END) // .addEndSemanticHandler(registry -> registry.addAllNonLocalVariablesAsReads()) // does not work here, because there is no class context. Is still here as an example. .addLocalScope().withControlSemantics(); - createTerminalMapping(TestParser.NUMBER, NUMBER).withSemantics(CodeSemantics.createKeep()); - createStartMapping(VarRefContext.class, VARREF).withSemantics(CodeSemantics.createKeep()); + mapTerminal(TestParser.NUMBER, NUMBER).withSemantics(CodeSemantics.createKeep()); + mapEnter(VarRefContext.class, VARREF).withSemantics(CodeSemantics.createKeep()); } } diff --git a/languages/cpp2/src/main/java/de/jplag/cpp2/CPPListener.java b/languages/cpp2/src/main/java/de/jplag/cpp2/CPPListener.java index 17ebe7046..90ef46b3b 100644 --- a/languages/cpp2/src/main/java/de/jplag/cpp2/CPPListener.java +++ b/languages/cpp2/src/main/java/de/jplag/cpp2/CPPListener.java @@ -24,50 +24,50 @@ public class CPPListener extends AbstractAntlrListener { public CPPListener(TokenCollector collector, File currentFile) { super(collector, currentFile); - createStartStopMapping(ClassSpecifierContext.class, UNION_BEGIN, UNION_END, rule -> rule.classHead().Union() != null); - createStartStopMapping(ClassSpecifierContext.class, CLASS_BEGIN, CLASS_END, + mapEnterExit(ClassSpecifierContext.class, UNION_BEGIN, UNION_END, rule -> rule.classHead().Union() != null); + mapEnterExit(ClassSpecifierContext.class, CLASS_BEGIN, CLASS_END, rule -> rule.classHead().classKey() != null && rule.classHead().classKey().Class() != null); - createStartStopMapping(ClassSpecifierContext.class, STRUCT_BEGIN, STRUCT_END, + mapEnterExit(ClassSpecifierContext.class, STRUCT_BEGIN, STRUCT_END, rule -> rule.classHead().classKey() != null && rule.classHead().classKey().Struct() != null); - createStartStopMapping(EnumSpecifierContext.class, ENUM_BEGIN, ENUM_END); + mapEnterExit(EnumSpecifierContext.class, ENUM_BEGIN, ENUM_END); - createStartStopMapping(FunctionDefinitionContext.class, FUNCTION_BEGIN, FUNCTION_END); + mapEnterExit(FunctionDefinitionContext.class, FUNCTION_BEGIN, FUNCTION_END); - createStartStopMapping(IterationStatementContext.class, DO_BEGIN, DO_END, rule -> rule.Do() != null); - createStartStopMapping(IterationStatementContext.class, FOR_BEGIN, FOR_END, rule -> rule.For() != null); - createStartStopMapping(IterationStatementContext.class, WHILE_BEGIN, WHILE_END, rule -> rule.While() != null && rule.Do() == null); + mapEnterExit(IterationStatementContext.class, DO_BEGIN, DO_END, rule -> rule.Do() != null); + mapEnterExit(IterationStatementContext.class, FOR_BEGIN, FOR_END, rule -> rule.For() != null); + mapEnterExit(IterationStatementContext.class, WHILE_BEGIN, WHILE_END, rule -> rule.While() != null && rule.Do() == null); - createStartStopMapping(SelectionStatementContext.class, SWITCH_BEGIN, SWITCH_END, rule -> rule.Switch() != null); - createStartStopMapping(SelectionStatementContext.class, IF_BEGIN, IF_END, rule -> rule.If() != null); - createTerminalMapping(CPP14Parser.Else, ELSE); + mapEnterExit(SelectionStatementContext.class, SWITCH_BEGIN, SWITCH_END, rule -> rule.Switch() != null); + mapEnterExit(SelectionStatementContext.class, IF_BEGIN, IF_END, rule -> rule.If() != null); + mapTerminal(CPP14Parser.Else, ELSE); - createStartMapping(LabeledStatementContext.class, CASE, rule -> rule.Case() != null); - createStartMapping(LabeledStatementContext.class, DEFAULT, rule -> rule.Default() != null); + mapEnter(LabeledStatementContext.class, CASE, rule -> rule.Case() != null); + mapEnter(LabeledStatementContext.class, DEFAULT, rule -> rule.Default() != null); - createStartMapping(TryBlockContext.class, TRY); - createStartStopMapping(HandlerContext.class, CATCH_BEGIN, CATCH_END); + mapEnter(TryBlockContext.class, TRY); + mapEnterExit(HandlerContext.class, CATCH_BEGIN, CATCH_END); - createStartMapping(JumpStatementContext.class, BREAK, rule -> rule.Break() != null); - createStartMapping(JumpStatementContext.class, CONTINUE, rule -> rule.Continue() != null); - createStartMapping(JumpStatementContext.class, GOTO, rule -> rule.Goto() != null); - createStartMapping(JumpStatementContext.class, RETURN, rule -> rule.Return() != null); + mapEnter(JumpStatementContext.class, BREAK, rule -> rule.Break() != null); + mapEnter(JumpStatementContext.class, CONTINUE, rule -> rule.Continue() != null); + mapEnter(JumpStatementContext.class, GOTO, rule -> rule.Goto() != null); + mapEnter(JumpStatementContext.class, RETURN, rule -> rule.Return() != null); - createStartMapping(ThrowExpressionContext.class, THROW); + mapEnter(ThrowExpressionContext.class, THROW); - createStartMapping(NewExpressionContext.class, NEWCLASS, rule -> rule.newInitializer() != null); - createStartMapping(NewExpressionContext.class, NEWARRAY, rule -> rule.newInitializer() == null); + mapEnter(NewExpressionContext.class, NEWCLASS, rule -> rule.newInitializer() != null); + mapEnter(NewExpressionContext.class, NEWARRAY, rule -> rule.newInitializer() == null); - createStartMapping(TemplateDeclarationContext.class, GENERIC); + mapEnter(TemplateDeclarationContext.class, GENERIC); - createStartMapping(AssignmentOperatorContext.class, ASSIGN); - createStartMapping(BraceOrEqualInitializerContext.class, ASSIGN, rule -> rule.Assign() != null); - createStartMapping(UnaryExpressionContext.class, ASSIGN, rule -> rule.PlusPlus() != null || rule.MinusMinus() != null); + mapEnter(AssignmentOperatorContext.class, ASSIGN); + mapEnter(BraceOrEqualInitializerContext.class, ASSIGN, rule -> rule.Assign() != null); + mapEnter(UnaryExpressionContext.class, ASSIGN, rule -> rule.PlusPlus() != null || rule.MinusMinus() != null); - createStartMapping(StaticAssertDeclarationContext.class, STATIC_ASSERT); - createStartMapping(EnumeratorDefinitionContext.class, VARDEF); - createStartStopMapping(BracedInitListContext.class, BRACED_INIT_BEGIN, BRACED_INIT_END); + mapEnter(StaticAssertDeclarationContext.class, STATIC_ASSERT); + mapEnter(EnumeratorDefinitionContext.class, VARDEF); + mapEnterExit(BracedInitListContext.class, BRACED_INIT_BEGIN, BRACED_INIT_END); - createStartMapping(SimpleTypeSpecifierContext.class, VARDEF, rule -> { + mapEnter(SimpleTypeSpecifierContext.class, VARDEF, rule -> { if (hasAncestor(rule, MemberdeclarationContext.class, FunctionDefinitionContext.class)) { return true; } @@ -82,7 +82,7 @@ public CPPListener(TokenCollector collector, File currentFile) { return false; }); - createStartMapping(SimpleDeclarationContext.class, APPLY, rule -> { + mapEnter(SimpleDeclarationContext.class, APPLY, rule -> { if (!hasAncestor(rule, FunctionBodyContext.class)) { return false; } @@ -91,12 +91,12 @@ public CPPListener(TokenCollector collector, File currentFile) { return noPointerInFunctionCallContext(noPointerDecl); }); - createStartMapping(InitDeclaratorContext.class, APPLY, rule -> rule.initializer() != null && rule.initializer().LeftParen() != null); - createStartMapping(ParameterDeclarationContext.class, VARDEF); - createStartMapping(ConditionalExpressionContext.class, QUESTIONMARK, rule -> rule.Question() != null); + mapEnter(InitDeclaratorContext.class, APPLY, rule -> rule.initializer() != null && rule.initializer().LeftParen() != null); + mapEnter(ParameterDeclarationContext.class, VARDEF); + mapEnter(ConditionalExpressionContext.class, QUESTIONMARK, rule -> rule.Question() != null); - createStartMapping(PostfixExpressionContext.class, APPLY, rule -> rule.LeftParen() != null); - createStartMapping(PostfixExpressionContext.class, ASSIGN, rule -> rule.PlusPlus() != null || rule.MinusMinus() != null); + mapEnter(PostfixExpressionContext.class, APPLY, rule -> rule.LeftParen() != null); + mapEnter(PostfixExpressionContext.class, ASSIGN, rule -> rule.PlusPlus() != null || rule.MinusMinus() != null); } /** diff --git a/languages/kotlin/src/main/java/de/jplag/kotlin/KotlinListener.java b/languages/kotlin/src/main/java/de/jplag/kotlin/KotlinListener.java index 432890600..bb308df61 100644 --- a/languages/kotlin/src/main/java/de/jplag/kotlin/KotlinListener.java +++ b/languages/kotlin/src/main/java/de/jplag/kotlin/KotlinListener.java @@ -103,49 +103,49 @@ public class KotlinListener extends AbstractAntlrListener { public KotlinListener(TokenCollector collector, File currentFile) { super(collector, currentFile); - this.createRangeMapping(PackageHeaderContext.class, PACKAGE); - this.createRangeMapping(ImportHeaderContext.class, IMPORT); - this.createStartMapping(ClassDeclarationContext.class, CLASS_DECLARATION); - this.createRangeMapping(ObjectDeclarationContext.class, OBJECT_DECLARATION); - this.createRangeMapping(CompanionObjectContext.class, COMPANION_DECLARATION); - this.createRangeMapping(TypeParameterContext.class, TYPE_PARAMETER); - this.createRangeMapping(PrimaryConstructorContext.class, CONSTRUCTOR); - this.createRangeMapping(ClassParameterContext.class, PROPERTY_DECLARATION); - this.createStartStopMapping(ClassBodyContext.class, CLASS_BODY_BEGIN, CLASS_BODY_END); - this.createStartStopMapping(EnumClassBodyContext.class, ENUM_CLASS_BODY_BEGIN, ENUM_CLASS_BODY_END); - this.createStartMapping(EnumEntryContext.class, ENUM_ENTRY); - this.createRangeMapping(SecondaryConstructorContext.class, CONSTRUCTOR); - this.createStartMapping(PropertyDeclarationContext.class, PROPERTY_DECLARATION); - this.createStartMapping(AnonymousInitializerContext.class, INITIALIZER); - this.createStartStopMapping(InitBlockContext.class, INITIALIZER_BODY_START, INITIALIZER_BODY_END); - this.createStartMapping(FunctionDeclarationContext.class, FUNCTION); - this.createStartMapping(GetterContext.class, GETTER); - this.createStartMapping(SetterContext.class, SETTER); - this.createRangeMapping(FunctionValueParameterContext.class, FUNCTION_PARAMETER); - this.createStartStopMapping(FunctionBodyContext.class, FUNCTION_BODY_BEGIN, FUNCTION_BODY_END); - this.createStartStopMapping(FunctionLiteralContext.class, FUNCTION_LITERAL_BEGIN, FUNCTION_LITERAL_END); - this.createStartStopMapping(ForExpressionContext.class, FOR_EXPRESSION_BEGIN, FOR_EXPRESSION_END); - this.createStartStopMapping(IfExpressionContext.class, IF_EXPRESSION_BEGIN, IF_EXPRESSION_END); - this.createStartStopMapping(WhileExpressionContext.class, WHILE_EXPRESSION_START, WHILE_EXPRESSION_END); - this.createStartStopMapping(DoWhileExpressionContext.class, DO_WHILE_EXPRESSION_START, DO_WHILE_EXPRESSION_END); - this.createStartMapping(TryExpressionContext.class, TRY_EXPRESSION); - this.createStartStopMapping(TryBodyContext.class, TRY_BODY_START, TRY_BODY_END); - this.createStartMapping(CatchStatementContext.class, CATCH); - this.createStartStopMapping(CatchBodyContext.class, CATCH_BODY_START, CATCH_BODY_END); - this.createStartMapping(FinallyStatementContext.class, FINALLY); - this.createStartStopMapping(FinallyBodyContext.class, FINALLY_BODY_START, FINALLY_BODY_END); - this.createStartStopMapping(WhenExpressionContext.class, WHEN_EXPRESSION_START, WHEN_EXPRESSION_END); - this.createStartMapping(WhenConditionContext.class, WHEN_CONDITION); - this.createStartStopMapping(ControlStructureBodyContext.class, CONTROL_STRUCTURE_BODY_START, CONTROL_STRUCTURE_BODY_END); - this.createStartMapping(VariableDeclarationContext.class, VARIABLE_DECLARATION); - this.createRangeMapping(ConstructorInvocationContext.class, CREATE_OBJECT); - this.createRangeMapping(CallSuffixContext.class, FUNCTION_INVOCATION); - this.createStartMapping(AssignmentOperatorContext.class, ASSIGNMENT); + this.mapRange(PackageHeaderContext.class, PACKAGE); + this.mapRange(ImportHeaderContext.class, IMPORT); + this.mapEnter(ClassDeclarationContext.class, CLASS_DECLARATION); + this.mapRange(ObjectDeclarationContext.class, OBJECT_DECLARATION); + this.mapRange(CompanionObjectContext.class, COMPANION_DECLARATION); + this.mapRange(TypeParameterContext.class, TYPE_PARAMETER); + this.mapRange(PrimaryConstructorContext.class, CONSTRUCTOR); + this.mapRange(ClassParameterContext.class, PROPERTY_DECLARATION); + this.mapEnterExit(ClassBodyContext.class, CLASS_BODY_BEGIN, CLASS_BODY_END); + this.mapEnterExit(EnumClassBodyContext.class, ENUM_CLASS_BODY_BEGIN, ENUM_CLASS_BODY_END); + this.mapEnter(EnumEntryContext.class, ENUM_ENTRY); + this.mapRange(SecondaryConstructorContext.class, CONSTRUCTOR); + this.mapEnter(PropertyDeclarationContext.class, PROPERTY_DECLARATION); + this.mapEnter(AnonymousInitializerContext.class, INITIALIZER); + this.mapEnterExit(InitBlockContext.class, INITIALIZER_BODY_START, INITIALIZER_BODY_END); + this.mapEnter(FunctionDeclarationContext.class, FUNCTION); + this.mapEnter(GetterContext.class, GETTER); + this.mapEnter(SetterContext.class, SETTER); + this.mapRange(FunctionValueParameterContext.class, FUNCTION_PARAMETER); + this.mapEnterExit(FunctionBodyContext.class, FUNCTION_BODY_BEGIN, FUNCTION_BODY_END); + this.mapEnterExit(FunctionLiteralContext.class, FUNCTION_LITERAL_BEGIN, FUNCTION_LITERAL_END); + this.mapEnterExit(ForExpressionContext.class, FOR_EXPRESSION_BEGIN, FOR_EXPRESSION_END); + this.mapEnterExit(IfExpressionContext.class, IF_EXPRESSION_BEGIN, IF_EXPRESSION_END); + this.mapEnterExit(WhileExpressionContext.class, WHILE_EXPRESSION_START, WHILE_EXPRESSION_END); + this.mapEnterExit(DoWhileExpressionContext.class, DO_WHILE_EXPRESSION_START, DO_WHILE_EXPRESSION_END); + this.mapEnter(TryExpressionContext.class, TRY_EXPRESSION); + this.mapEnterExit(TryBodyContext.class, TRY_BODY_START, TRY_BODY_END); + this.mapEnter(CatchStatementContext.class, CATCH); + this.mapEnterExit(CatchBodyContext.class, CATCH_BODY_START, CATCH_BODY_END); + this.mapEnter(FinallyStatementContext.class, FINALLY); + this.mapEnterExit(FinallyBodyContext.class, FINALLY_BODY_START, FINALLY_BODY_END); + this.mapEnterExit(WhenExpressionContext.class, WHEN_EXPRESSION_START, WHEN_EXPRESSION_END); + this.mapEnter(WhenConditionContext.class, WHEN_CONDITION); + this.mapEnterExit(ControlStructureBodyContext.class, CONTROL_STRUCTURE_BODY_START, CONTROL_STRUCTURE_BODY_END); + this.mapEnter(VariableDeclarationContext.class, VARIABLE_DECLARATION); + this.mapRange(ConstructorInvocationContext.class, CREATE_OBJECT); + this.mapRange(CallSuffixContext.class, FUNCTION_INVOCATION); + this.mapEnter(AssignmentOperatorContext.class, ASSIGNMENT); - this.createTerminalMapping(KotlinParser.THROW, THROW); - this.createTerminalMapping(KotlinParser.RETURN, RETURN); - this.createTerminalMapping(KotlinParser.CONTINUE, CONTINUE); - this.createTerminalMapping(KotlinParser.BREAK, BREAK); - this.createTerminalMapping(KotlinParser.BREAK_AT, BREAK); + this.mapTerminal(KotlinParser.THROW, THROW); + this.mapTerminal(KotlinParser.RETURN, RETURN); + this.mapTerminal(KotlinParser.CONTINUE, CONTINUE); + this.mapTerminal(KotlinParser.BREAK, BREAK); + this.mapTerminal(KotlinParser.BREAK_AT, BREAK); } } diff --git a/languages/scala/pom.xml b/languages/scala/pom.xml index 03ab6f35c..0f91c68a1 100644 --- a/languages/scala/pom.xml +++ b/languages/scala/pom.xml @@ -25,7 +25,7 @@ org.scalameta scalameta_${scala.compat.version} - 4.8.1 + 4.8.5 diff --git a/pom.xml b/pom.xml index 242d8b994..4116a8142 100644 --- a/pom.xml +++ b/pom.xml @@ -74,9 +74,9 @@ 17 17 - 2.37.0 + 2.38.0 2.0.7 - 5.9.3 + 5.10.0 2.7.7 4.13.0 diff --git a/report-viewer/package-lock.json b/report-viewer/package-lock.json index d2f9a3bd9..47d067a22 100644 --- a/report-viewer/package-lock.json +++ b/report-viewer/package-lock.json @@ -21,33 +21,33 @@ "vue": "^3.3.4", "vue-chart-3": "^3.1.8", "vue-draggable-next": "^2.2.1", - "vue-router": "^4.2.2", + "vue-router": "^4.2.4", "vue-virtual-scroller": "^2.0.0-beta.8" }, "devDependencies": { - "@playwright/test": "^1.35.1", + "@playwright/test": "^1.36.2", "@rushstack/eslint-patch": "^1.3.2", "@types/jsdom": "^21.1.0", - "@types/node": "^20.3.1", + "@types/node": "^20.4.5", "@vitejs/plugin-vue": "^4.2.3", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^11.0.3", - "@vue/test-utils": "^2.4.0", + "@vue/test-utils": "^2.4.1", "@vue/tsconfig": "^0.4.0", "autoprefixer": "^10.4.14", - "eslint": "^8.44.0", + "eslint": "^8.45.0", "eslint-plugin-vue": "^9.15.1", "husky": "^8.0.0", "jsdom": "^22.1.0", "lint-staged": "^13.2.3", "npm-run-all": "^4.1.5", - "postcss": "^8.4.24", - "prettier": "^2.8.8", - "tailwindcss": "^3.3.2", + "postcss": "^8.4.27", + "prettier": "^3.0.0", + "tailwindcss": "^3.3.3", "typescript": "^5.1.6", - "vite": "^4.3.9", + "vite": "^4.4.4", "vitest": "^0.32.4", - "vue-tsc": "^1.8.4" + "vue-tsc": "^1.8.6" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -82,10 +82,346 @@ "node": ">=6.0.0" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.14.tgz", + "integrity": "sha512-blODaaL+lngG5bdK/t4qZcQvq2BBqrABmYwqPPcS5VRxrCSGHb9R/rA3fqxh7R18I7WU4KKv+NYkt22FDfalcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.14.tgz", + "integrity": "sha512-rZ2v+Luba5/3D6l8kofWgTnqE+qsC/L5MleKIKFyllHTKHrNBMqeRCnZI1BtRx8B24xMYxeU32iIddRQqMsOsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.14.tgz", + "integrity": "sha512-qSwh8y38QKl+1Iqg+YhvCVYlSk3dVLk9N88VO71U4FUjtiSFylMWK3Ugr8GC6eTkkP4Tc83dVppt2n8vIdlSGg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.14.tgz", + "integrity": "sha512-9Hl2D2PBeDYZiNbnRKRWuxwHa9v5ssWBBjisXFkVcSP5cZqzZRFBUWEQuqBHO4+PKx4q4wgHoWtfQ1S7rUqJ2Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.14.tgz", + "integrity": "sha512-ZnI3Dg4ElQ6tlv82qLc/UNHtFsgZSKZ7KjsUNAo1BF1SoYDjkGKHJyCrYyWjFecmXpvvG/KJ9A/oe0H12odPLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.14.tgz", + "integrity": "sha512-h3OqR80Da4oQCIa37zl8tU5MwHQ7qgPV0oVScPfKJK21fSRZEhLE4IIVpmcOxfAVmqjU6NDxcxhYaM8aDIGRLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.14.tgz", + "integrity": "sha512-ha4BX+S6CZG4BoH9tOZTrFIYC1DH13UTCRHzFc3GWX74nz3h/N6MPF3tuR3XlsNjMFUazGgm35MPW5tHkn2lzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.14.tgz", + "integrity": "sha512-5+7vehI1iqru5WRtJyU2XvTOvTGURw3OZxe3YTdE9muNNIdmKAVmSHpB3Vw2LazJk2ifEdIMt/wTWnVe5V98Kg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.14.tgz", + "integrity": "sha512-IXORRe22In7U65NZCzjwAUc03nn8SDIzWCnfzJ6t/8AvGx5zBkcLfknI+0P+hhuftufJBmIXxdSTbzWc8X/V4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.14.tgz", + "integrity": "sha512-BfHlMa0nibwpjG+VXbOoqJDmFde4UK2gnW351SQ2Zd4t1N3zNdmUEqRkw/srC1Sa1DRBE88Dbwg4JgWCbNz/FQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.14.tgz", + "integrity": "sha512-j2/Ex++DRUWIAaUDprXd3JevzGtZ4/d7VKz+AYDoHZ3HjJzCyYBub9CU1wwIXN+viOP0b4VR3RhGClsvyt/xSw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.14.tgz", + "integrity": "sha512-qn2+nc+ZCrJmiicoAnJXJJkZWt8Nwswgu1crY7N+PBR8ChBHh89XRxj38UU6Dkthl2yCVO9jWuafZ24muzDC/A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.14.tgz", + "integrity": "sha512-aGzXzd+djqeEC5IRkDKt3kWzvXoXC6K6GyYKxd+wsFJ2VQYnOWE954qV2tvy5/aaNrmgPTb52cSCHFE+Z7Z0yg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.14.tgz", + "integrity": "sha512-8C6vWbfr0ygbAiMFLS6OPz0BHvApkT2gCboOGV76YrYw+sD/MQJzyITNsjZWDXJwPu9tjrFQOVG7zijRzBCnLw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.14.tgz", + "integrity": "sha512-G/Lf9iu8sRMM60OVGOh94ZW2nIStksEcITkXdkD09/T6QFD/o+g0+9WVyR/jajIb3A0LvBJ670tBnGe1GgXMgw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.14.tgz", + "integrity": "sha512-TBgStYBQaa3EGhgqIDM+ECnkreb0wkcKqL7H6m+XPcGUoU4dO7dqewfbm0mWEQYH3kzFHrzjOFNpSAVzDZRSJw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.14.tgz", + "integrity": "sha512-stvCcjyCQR2lMTroqNhAbvROqRjxPEq0oQ380YdXxA81TaRJEucH/PzJ/qsEtsHgXlWFW6Ryr/X15vxQiyRXVg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.14.tgz", + "integrity": "sha512-apAOJF14CIsN5ht1PA57PboEMsNV70j3FUdxLmA2liZ20gEQnfTG5QU0FhENo5nwbTqCB2O3WDsXAihfODjHYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.14.tgz", + "integrity": "sha512-fYRaaS8mDgZcGybPn2MQbn1ZNZx+UXFSUoS5Hd2oEnlsyUcr/l3c6RnXf1bLDRKKdLRSabTmyCy7VLQ7VhGdOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.14.tgz", + "integrity": "sha512-1c44RcxKEJPrVj62XdmYhxXaU/V7auELCmnD+Ri+UCt+AGxTvzxl9uauQhrFso8gj6ZV1DaORV0sT9XSHOAk8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.14.tgz", + "integrity": "sha512-EXAFttrdAxZkFQmpvcAQ2bywlWUsONp/9c2lcfvPUhu8vXBBenCXpoq9YkUvVP639ld3YGiYx0YUQ6/VQz3Maw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.14", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz", - "integrity": "sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==", + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.14.tgz", + "integrity": "sha512-K0QjGbcskx+gY+qp3v4/940qg8JitpXbdxFhRDA1aYoNaPff88+aEwoq45aqJ+ogpxQxmU0ZTjgnrQD/w8iiUg==", "cpu": [ "x64" ], @@ -341,14 +677,20 @@ "node": ">= 8" } }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true + }, "node_modules/@playwright/test": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.35.1.tgz", - "integrity": "sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==", + "version": "1.36.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.36.2.tgz", + "integrity": "sha512-2rVZeyPRjxfPH6J0oGJqE8YxiM1IBRyM8hyrXYK7eSiAqmbNhxwcLa7dZ7fy9Kj26V7FYia5fh9XJRq4Dqme+g==", "dev": true, "dependencies": { "@types/node": "*", - "playwright-core": "1.35.1" + "playwright-core": "1.36.2" }, "bin": { "playwright": "cli.js" @@ -414,9 +756,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz", - "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==", + "version": "20.4.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz", + "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==", "dev": true }, "node_modules/@types/semver": { @@ -728,30 +1070,30 @@ } }, "node_modules/@volar/language-core": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.8.0.tgz", - "integrity": "sha512-ZHTvZPM3pEbOOuaq+ybNz5TQlHUqPQPK0G1+SonvApGq0e3qgGijjhtL5T7hsCtUEmxfix8FrAuCH14tMBOhTg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.9.2.tgz", + "integrity": "sha512-9GTes/IUPOl0YoV5RQWhCP5a4EDFFfJZGwZn1xA5ug1FO0G6GOVoJI6tQatujtcQmDOQlOM5/0NewnlumygPkQ==", "dev": true, "dependencies": { - "@volar/source-map": "1.8.0" + "@volar/source-map": "1.9.2" } }, "node_modules/@volar/source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.8.0.tgz", - "integrity": "sha512-d35aV0yFkIrkynRSKgrN5hgbMv6ekkFvcJsJGmOZ8UEjqLStto9zq7RSvpp6/PZ7/pa4Gn1f6K1qDt0bq0oUew==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.9.2.tgz", + "integrity": "sha512-rYTvV/HMf2CSRkd6oiVxcjX4rnSxEsVfJmw1KTmD4VTBXlz1+b16VIysQX4+1p/eZd2TyCeFblyylIxbZ+YOGg==", "dev": true, "dependencies": { "muggle-string": "^0.3.1" } }, "node_modules/@volar/typescript": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.8.0.tgz", - "integrity": "sha512-T/U1XLLhXv6tNr40Awznfc6QZWizSL99t6M0DeXtIMbnvSCqjjCVRnwlsq+DK9C1RlO3k8+i0Z8iJn7O1GGtoA==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.9.2.tgz", + "integrity": "sha512-l4DA+S3ZVOWGACDdRNVSYZ41nuTWOH8OMS/yVeFV2fTmr/IuD37+3wzzGnjIPwCUa0w+fpg8vJPalzYetmlFTQ==", "dev": true, "dependencies": { - "@volar/language-core": "1.8.0" + "@volar/language-core": "1.9.2" } }, "node_modules/@vue/compiler-core": { @@ -844,13 +1186,13 @@ } }, "node_modules/@vue/language-core": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.4.tgz", - "integrity": "sha512-pnNtNcJVfkGYluW0vsVO+Y1gyX+eA0voaS7+1JOhCp5zKeCaL/PAmGYOgfvwML62neL+2H8pnhY7sffmrGpEhw==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.6.tgz", + "integrity": "sha512-PyYDMArbR7hnhqw9OEupr0s4ut0/ZfITp7WEjigF58cd2R0lRLNM1HPvzFMuULpy3ImBEOZI11KRIDirqOe+tQ==", "dev": true, "dependencies": { - "@volar/language-core": "~1.8.0", - "@volar/source-map": "~1.8.0", + "@volar/language-core": "~1.9.0", + "@volar/source-map": "~1.9.0", "@vue/compiler-dom": "^3.3.0", "@vue/reactivity": "^3.3.0", "@vue/shared": "^3.3.0", @@ -877,9 +1219,9 @@ } }, "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz", - "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -948,23 +1290,19 @@ "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" }, "node_modules/@vue/test-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.0.tgz", - "integrity": "sha512-BKB9aj1yky63/I3IwSr1FjUeHYsKXI7D6S9F378AHt7a5vC0dLkOBtSsFXoRGC/7BfHmiB9HRhT+i9xrUHoAKw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.1.tgz", + "integrity": "sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==", "dev": true, "dependencies": { - "js-beautify": "1.14.6", - "vue-component-type-helpers": "1.6.5" + "js-beautify": "1.14.9", + "vue-component-type-helpers": "1.8.4" }, "peerDependencies": { - "@vue/compiler-dom": "^3.0.1", "@vue/server-renderer": "^3.0.1", "vue": "^3.0.1" }, "peerDependenciesMeta": { - "@vue/compiler-dom": { - "optional": true - }, "@vue/server-renderer": { "optional": true } @@ -977,13 +1315,13 @@ "dev": true }, "node_modules/@vue/typescript": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.4.tgz", - "integrity": "sha512-sioQfIY5xcmEAz+cPLvv6CtzGPtGhIdR0Za87zB8M4mPe4OSsE3MBGkXcslf+EzQgF+fm6Gr1SRMSX8r5ZmzDA==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.6.tgz", + "integrity": "sha512-sDQ5tltrSVS3lAkE3JtMRGJo91CLIxcWPy7yms/DT+ssxXpwxbVRD5Gok68HenEZBA4Klq7nW99sG/nTRnpPuQ==", "dev": true, "dependencies": { - "@volar/typescript": "~1.8.0", - "@vue/language-core": "1.8.4" + "@volar/typescript": "~1.9.0", + "@vue/language-core": "1.8.6" } }, "node_modules/abab": { @@ -1546,10 +1884,13 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } }, "node_modules/concat-map": { "version": "0.0.1", @@ -1765,27 +2106,45 @@ "dev": true }, "node_modules/editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", "dev": true, "dependencies": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" }, "bin": { "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" } }, - "node_modules/editorconfig/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/editorconfig/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/electron-to-chromium": { @@ -1901,9 +2260,9 @@ } }, "node_modules/esbuild": { - "version": "0.17.14", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.14.tgz", - "integrity": "sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==", + "version": "0.18.14", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.14.tgz", + "integrity": "sha512-uNPj5oHPYmj+ZhSQeYQVFZ+hAlJZbAGOmmILWIqrGvPVlNLbyOvU5Bu6Woi8G8nskcx0vwY0iFoMPrzT86Ko+w==", "dev": true, "hasInstallScript": true, "bin": { @@ -1913,28 +2272,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.14", - "@esbuild/android-arm64": "0.17.14", - "@esbuild/android-x64": "0.17.14", - "@esbuild/darwin-arm64": "0.17.14", - "@esbuild/darwin-x64": "0.17.14", - "@esbuild/freebsd-arm64": "0.17.14", - "@esbuild/freebsd-x64": "0.17.14", - "@esbuild/linux-arm": "0.17.14", - "@esbuild/linux-arm64": "0.17.14", - "@esbuild/linux-ia32": "0.17.14", - "@esbuild/linux-loong64": "0.17.14", - "@esbuild/linux-mips64el": "0.17.14", - "@esbuild/linux-ppc64": "0.17.14", - "@esbuild/linux-riscv64": "0.17.14", - "@esbuild/linux-s390x": "0.17.14", - "@esbuild/linux-x64": "0.17.14", - "@esbuild/netbsd-x64": "0.17.14", - "@esbuild/openbsd-x64": "0.17.14", - "@esbuild/sunos-x64": "0.17.14", - "@esbuild/win32-arm64": "0.17.14", - "@esbuild/win32-ia32": "0.17.14", - "@esbuild/win32-x64": "0.17.14" + "@esbuild/android-arm": "0.18.14", + "@esbuild/android-arm64": "0.18.14", + "@esbuild/android-x64": "0.18.14", + "@esbuild/darwin-arm64": "0.18.14", + "@esbuild/darwin-x64": "0.18.14", + "@esbuild/freebsd-arm64": "0.18.14", + "@esbuild/freebsd-x64": "0.18.14", + "@esbuild/linux-arm": "0.18.14", + "@esbuild/linux-arm64": "0.18.14", + "@esbuild/linux-ia32": "0.18.14", + "@esbuild/linux-loong64": "0.18.14", + "@esbuild/linux-mips64el": "0.18.14", + "@esbuild/linux-ppc64": "0.18.14", + "@esbuild/linux-riscv64": "0.18.14", + "@esbuild/linux-s390x": "0.18.14", + "@esbuild/linux-x64": "0.18.14", + "@esbuild/netbsd-x64": "0.18.14", + "@esbuild/openbsd-x64": "0.18.14", + "@esbuild/sunos-x64": "0.18.14", + "@esbuild/win32-arm64": "0.18.14", + "@esbuild/win32-ia32": "0.18.14", + "@esbuild/win32-x64": "0.18.14" } }, "node_modules/escalade": { @@ -1959,9 +2318,9 @@ } }, "node_modules/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz", + "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", @@ -1989,7 +2348,6 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -2001,7 +2359,6 @@ "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -3191,14 +3548,14 @@ } }, "node_modules/js-beautify": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.6.tgz", - "integrity": "sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.9.tgz", + "integrity": "sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==", "dev": true, "dependencies": { "config-chain": "^1.1.13", - "editorconfig": "^0.15.3", - "glob": "^8.0.3", + "editorconfig": "^1.0.3", + "glob": "^8.1.0", "nopt": "^6.0.0" }, "bin": { @@ -3207,7 +3564,7 @@ "js-beautify": "js/bin/js-beautify.js" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/js-yaml": { @@ -3377,15 +3734,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", - "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", - "dev": true, - "engines": { - "node": ">=14" - } - }, "node_modules/lint-staged/node_modules/pidtree": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", @@ -3630,16 +3978,6 @@ "get-func-name": "^2.0.0" } }, - "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, "node_modules/magic-string": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", @@ -4424,9 +4762,9 @@ } }, "node_modules/playwright-core": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.1.tgz", - "integrity": "sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==", + "version": "1.36.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.36.2.tgz", + "integrity": "sha512-sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -4436,9 +4774,9 @@ } }, "node_modules/postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", "funding": [ { "type": "opencollective", @@ -4575,15 +4913,15 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -4638,12 +4976,6 @@ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -4899,9 +5231,9 @@ } }, "node_modules/rollup": { - "version": "3.21.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.6.tgz", - "integrity": "sha512-SXIICxvxQxR3D4dp/3LDHZIJPC8a4anKMHd4E3Jiz2/JnY+2bEjqrOokAauc5ShGVNFHlEFjBXAXlaxkJqIqSg==", + "version": "3.26.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", + "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -4996,9 +5328,9 @@ } }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5083,12 +5415,6 @@ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", "dev": true }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", - "dev": true - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -5454,9 +5780,9 @@ "dev": true }, "node_modules/tailwindcss": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", - "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -5479,7 +5805,6 @@ "postcss-load-config": "^4.0.1", "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", "resolve": "^1.22.2", "sucrase": "^3.32.0" }, @@ -5769,14 +6094,14 @@ } }, "node_modules/vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.4.tgz", + "integrity": "sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==", "dev": true, "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.23", - "rollup": "^3.21.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.25", + "rollup": "^3.25.2" }, "bin": { "vite": "bin/vite.js" @@ -5784,12 +6109,16 @@ "engines": { "node": "^14.18.0 || >=16.0.0" }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@types/node": ">= 14", "less": "*", + "lightningcss": "^1.21.0", "sass": "*", "stylus": "*", "sugarss": "*", @@ -5802,6 +6131,9 @@ "less": { "optional": true }, + "lightningcss": { + "optional": true + }, "sass": { "optional": true }, @@ -5944,9 +6276,9 @@ } }, "node_modules/vue-component-type-helpers": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.6.5.tgz", - "integrity": "sha512-iGdlqtajmiqed8ptURKPJ/Olz0/mwripVZszg6tygfZSIL9kYFPJTNY6+Q6OjWGznl2L06vxG5HvNvAnWrnzbg==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.8.4.tgz", + "integrity": "sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==", "dev": true }, "node_modules/vue-draggable-next": { @@ -6021,9 +6353,9 @@ } }, "node_modules/vue-router": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", - "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz", + "integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==", "dependencies": { "@vue/devtools-api": "^6.5.0" }, @@ -6045,13 +6377,13 @@ } }, "node_modules/vue-tsc": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.4.tgz", - "integrity": "sha512-+hgpOhIx11vbi8/AxEdaPj3fiRwN9wy78LpsNNw2V995/IWa6TMyQxHbaw2ZKUpdwjySSHgrT6ohDEhUgFxGYw==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.6.tgz", + "integrity": "sha512-8ffD4NGfwyATjw/s40Lw2EgB7L2/PAqnGlJBaVQLgblr3SU4EYdhJ67TNXXuDD8NMbDAFSM24V8i3ZIJgTs32Q==", "dev": true, "dependencies": { - "@vue/language-core": "1.8.4", - "@vue/typescript": "1.8.4", + "@vue/language-core": "1.8.6", + "@vue/typescript": "1.8.6", "semver": "^7.3.8" }, "bin": { @@ -6284,12 +6616,6 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true - }, "node_modules/yaml": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", diff --git a/report-viewer/package.json b/report-viewer/package.json index b5a4e7d31..fbd378ed8 100644 --- a/report-viewer/package.json +++ b/report-viewer/package.json @@ -30,32 +30,32 @@ "vue": "^3.3.4", "vue-chart-3": "^3.1.8", "vue-draggable-next": "^2.2.1", - "vue-router": "^4.2.2", + "vue-router": "^4.2.4", "vue-virtual-scroller": "^2.0.0-beta.8" }, "devDependencies": { - "@playwright/test": "^1.35.1", + "@playwright/test": "^1.36.2", "@rushstack/eslint-patch": "^1.3.2", "@types/jsdom": "^21.1.0", - "@types/node": "^20.3.1", + "@types/node": "^20.4.5", "@vitejs/plugin-vue": "^4.2.3", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^11.0.3", - "@vue/test-utils": "^2.4.0", + "@vue/test-utils": "^2.4.1", "@vue/tsconfig": "^0.4.0", "autoprefixer": "^10.4.14", - "eslint": "^8.44.0", + "eslint": "^8.45.0", "eslint-plugin-vue": "^9.15.1", "husky": "^8.0.0", "jsdom": "^22.1.0", "lint-staged": "^13.2.3", "npm-run-all": "^4.1.5", - "postcss": "^8.4.24", - "prettier": "^2.8.8", - "tailwindcss": "^3.3.2", + "postcss": "^8.4.27", + "prettier": "^3.0.0", + "tailwindcss": "^3.3.3", "typescript": "^5.1.6", - "vite": "^4.3.9", + "vite": "^4.4.4", "vitest": "^0.32.4", - "vue-tsc": "^1.8.4" + "vue-tsc": "^1.8.6" } } diff --git a/report-viewer/vitest.config.ts b/report-viewer/vitest.config.ts index 502cfa1a8..b96e93fb8 100644 --- a/report-viewer/vitest.config.ts +++ b/report-viewer/vitest.config.ts @@ -1,20 +1,15 @@ import { fileURLToPath } from 'node:url' -import { mergeConfig } from 'vite' import { configDefaults, defineConfig } from 'vitest/config' -import viteConfig from './vite.config' -export default mergeConfig( - viteConfig, - defineConfig({ - test: { - environment: 'jsdom', - exclude: [...configDefaults.exclude, 'tests/e2e/*'], - root: fileURLToPath(new URL('./', import.meta.url)) - }, - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - } +export default defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'tests/e2e/*'], + root: fileURLToPath(new URL('./', import.meta.url)) + }, + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) } - }) -) + } +})