From 2c75e642796718273fd215b03a310d4958319bad Mon Sep 17 00:00:00 2001 From: ericvergnaud Date: Wed, 21 Dec 2022 02:22:49 +0100 Subject: [PATCH] Typescript target (#4027) * Fix CMake syntax for variable expansion When using variables to compare (like in if clause) the variable shouldn't be quoted. More details can be found at the link below: https://cmake.org/cmake/help/latest/command/if.html#variable-expansion Signed-off-by: HS Signed-off-by: Eric Vergnaud * initial commit Signed-off-by: Eric Vergnaud * renamed for clarity Signed-off-by: Eric Vergnaud * renamed for clarity Signed-off-by: Eric Vergnaud * able to locate antlr4 runtime using ts-node, missing types Signed-off-by: Eric Vergnaud * progressing Signed-off-by: Eric Vergnaud * able to 'run' a test. It fails but it compiles and resolves! Signed-off-by: Eric Vergnaud * reflect refactored runtime Signed-off-by: Eric Vergnaud * able to run RecursiveLexerRuleRefWithWildcardPlus_1 test locally Signed-off-by: Eric Vergnaud * passes LexerExec tests in IntelliJ Signed-off-by: Eric Vergnaud * make ATN private Signed-off-by: Eric Vergnaud * ignore same tests as JavaScript Signed-off-by: Eric Vergnaud * compiles Parser and Lexer bu local run fails Signed-off-by: Eric Vergnaud * ParserExec.TokenOffset test successful in IntelliJ ! Signed-off-by: Eric Vergnaud * Progressing, passing 131 of 348 tests Signed-off-by: Eric Vergnaud * pass 327 tests out of 348 Signed-off-by: Eric Vergnaud * more successful tests Signed-off-by: Eric Vergnaud * 333 successful tests out of 348 Signed-off-by: Eric Vergnaud * all tests pass except 7 caused by #3868 Signed-off-by: Eric Vergnaud * update getting-started doc Signed-off-by: nicksxs Signed-off-by: Eric Vergnaud * add blank github action file for hosted CI Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * update getting started document to say java 11 Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Revert "update getting started document to say java 11" This reverts commit 1df58f77820b5feb747d34cc6aff26276db8b6dd. Signed-off-by: Eric Vergnaud * add C# book code links Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Add Jim/Ken to readme Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Update Swift Package to support static library Add static library distribution in SPM Signed-off-by: Hell_Ghost Signed-off-by: Eric Vergnaud * Update Package.swift Signed-off-by: Hell_Ghost dev.hellghost@gmail.com Signed-off-by: Hell_Ghost Signed-off-by: Eric Vergnaud * Add caching support for maven & dependencies. Also, include caching for cpp builds using actions/ccache. Builds are more reliable (avoids the archive.apache server which intermittently reports timeouts) and also significantly improves the overall builds times (down from 46 mins to 28 mins). The slowest part of the build now is the Windows+cpp builds because there is no reliable cache implementation yet. MacOS+cpp (65% cache hit) is also relatively slow compared to Ubuntu+cpp (99% cache hit). Signed-off-by: HS Signed-off-by: Terence Parr # Conflicts: # .github/workflows/hosted.yml Signed-off-by: Eric Vergnaud * use snap to install go 1.19 Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * grr...install snap Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * ugh. start snap Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * ugh. start snap Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * ugh. cant get snap to install go Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * try downloading golang with curl Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Issue #3823: Temporarily disable a few tests on CI The tests are currently failing. The underlying issues have been fixed on dev and so the builds will be turned back with the next release. Signed-off-by: HS Signed-off-by: Eric Vergnaud * update actions status badge Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * update getting started document to say java 11 Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Revert "update getting started document to say java 11" This reverts commit 3591ee0b51c6bb914f7ef0749182306fefe9cc18. Signed-off-by: Eric Vergnaud * update getting-started doc Signed-off-by: nicksxs Signed-off-by: Eric Vergnaud * make getValue visible to external profiler tools. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Fix #3508: Document the $parser attribute and its use in target-agnostic grammars. Signed-off-by: Ross Patterson Signed-off-by: Eric Vergnaud * Add accessor to IntervalSet for intervals Signed-off-by: James Taylor Signed-off-by: Eric Vergnaud * Remove libuuid dependency from C++ runtime libuuid and its headers are not referenced anywhere, so remove it. Signed-off-by: Bryan Tan Signed-off-by: Eric Vergnaud * Add `@SuppressWarnings("CheckReturnValue")` to prevent error_prone lib errors. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * fix: Fixes for https://github.com/antlr/antlr4/issues/3718 o Implement collections with generics to solve hash collisions o Fix type casting in LL start parser simulation optimization o General minor tidy ups Acknowledgements to @kaby76 for help with tracing errors Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3718 Revert accidental keyboard error in Java target Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3718 Correct DFAState index in Lexer ATN Simulator Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3718 Fix go runtime test runners With older versions of go, there was no good way to tell the compiler to use your local development copy of a particular package instead of the one installed in GOPATH/src/... However, we are now using modules, which allows us to tell the compiler that instead of a module downloaded to GOPATH/pkg, to use a local copy on disk. Hence this change removes the need to copy the whole of the go installation to a tempoorary location, then put the antlr go runtime in to the go installation as if it was part of the compiler. Hence the execution time for the go tests is now faster than before. This works because when the generated code is placed in the temporary location, we create a go.mod file for it, tell the module to replace the online module for the go runtime with the local copy on disk, then ro a go mod tidy to add the dependencies from the code (which avoids network access, so it is instant), which adds the ANTLR dependency itself (which is then replaced at compile time). All go runtime tests now pass. Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * Rm remote github actions; hosted seems to work Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * install golang with curl; go was missing from dev Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * fix: Rework of all Hash() and Equals() methods - implement generic collections - Implement new collections using generics that implement the functionality required by the Java runtime in a more idiomatic Go way. - Fix Hash() and Equals() for all objects in the runtime - Fix getConflictingAlts so that it behaves the same way as Java, using a new generic collection - Replaces the use of the array2DHashSet, which was causing unneeded memory allocations. Replaced with generic collection that allocates minimally (though, I think I can improve on that with a little analysis). Jim Idle - jimi@idle.ws Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3718 Correct DFAState index in Lexer ATN Simulator Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * feat: Reduce initial memory allocations for collections - Many small collections are created at runtime, the default allocation for maps, even though small, still requires memory. Specifying a very small initial allocation prevents unnecesary allocations and has no measurable effect on performance. A small incremental change. Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3758 Allow for string being a keyword and fix go template to use escapedName - The go template was ignoring the use of escapedName in many places and was not consistenet with the Java version. - Added 'string' to the list of reserved words for the Go target Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3758 Add go.sum to the repo Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #3758 Ensure that standard runtime extensions are included in go.mod Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #2826 Go template is incorrect for dynamic scopes closes #2826 obviates PR #3101 Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * fix: #2016 - Generate correct iGo code for lists in a grammar, such as `label+=arg+` Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * feat: Bump poms to use 4.11 Snapshot Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * turn off Golang test at circleci for now Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Replace smart-quote with single-quote in code examples Signed-off-by: Tim McCormack Signed-off-by: Eric Vergnaud * Augment error message during testing to include full cause of problem. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Augment error message during testing to include full cause of problem. (round 2 to avoid null ptr) Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Cpp: Link to threads library As detailed in #3708, it is necessary to link against the (p)threads library in order to be able to use std::call_once without producing linker errors. Since this function is frequently used in ANTLR's cpp version, this commit ensures that the respective library is always linked against in order to avoid this error, even if downstream users are not explicitly linking against an appropriate threads library. Fixes #3708 Signed-off-by: Robert Adam Co-authored-by: Bryan Tan Signed-off-by: Eric Vergnaud * add test for #2016 and fix java. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * ensure all targets have the appropriate argument list for the template causing the problem. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Fix other targets Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * fix format Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * add check that $args is a list Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * change made by @lingyv-li to fix bug in DART exposed by this test. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * fix AssertIsList in multiple targets. Go doesn't pass test and has no AssertIsList so I'm dropping that test from the Go test suite. How did a comment to the C++ runnerFor my future reference as to how to build things from the command line. Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * C++ gets an exception with this test so I'm turning it off. See https://github.com/antlr/antlr4/issues/3845 Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * feat: #3840 Move Go to version v4.11.0 Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * feat: #3840 Create the v4 version of the Go runtime Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * feat: Create the v4 runtime layout for the Go runtime, ready for release tagging Note that the vast majority of the changes here are just copying the runtime file in to the /v4 subdirectory so that we can support legacy projects that use GOPATH only, as well as users that can use go modules. At a later release, we will delete the default path, and move the v4 subdirectory back to the top level. But, we cannot do that on this release. Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * Reenable go tests on CircleCI Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * Fold constants in generated code for all runtimes Go: getInlineTestSetWordSize 32 -> 64 Dart: get rid of BigInt Swift: optimize TestSetInline Python: fixes #3698 JavaScript: fixes #3699 Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * Use int literals instead of refs for Python and JavaScript Update getMultiTokenAlternativeDescriptor test fixes #3703 Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * update release doc for Go version numbers Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * fix: #2016 Fix Go template list reference, go runtime and got test template for list labels Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * feat: Add a deprecation message to the existing v1 module Signed-off-by: Jim.Idle Signed-off-by: Eric Vergnaud * Split tool and runtime tests for GitHub workflow Build only necessary modules for tests Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * Remove not used methods from FileUtils (runtime tests) Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * Update dependencies of antlr4-maven-plugin Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * Update jUnit: 5.8.2 -> 5.9.0 Signed-off-by: Ivan Kochurkin Signed-off-by: Eric Vergnaud * Fixes #3733; update ST4 so it uses proper ANTLR 3 Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * tweak doc Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * Set to 4.11.0 not 4.11 in poms Signed-off-by: Eric Vergnaud * [maven-release-plugin] prepare release 4.11.0 Signed-off-by: Eric Vergnaud * [maven-release-plugin] prepare for next development iteration Signed-off-by: Eric Vergnaud * Damn. java target said 4.10.2 not 4.11.0 Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * roll back to 4.11.0; made mistake Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * roll back to 4.11.0; made mistake Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * [maven-release-plugin] prepare release antlr4-master-4.11.0 Signed-off-by: Eric Vergnaud * [maven-release-plugin] prepare for next development iteration Signed-off-by: Eric Vergnaud * use build and twine to publish source and wheel Signed-off-by: Qijia Liu Signed-off-by: Eric Vergnaud * tweak doc Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * tweak c++ build script to make Mac binaries with cmake/make Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * tweak release doc Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * tweak code / doc related to bad previous release Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * [maven-release-plugin] prepare release 4.11.1 Signed-off-by: Eric Vergnaud * [maven-release-plugin] prepare for next development iteration Signed-off-by: Eric Vergnaud * clean up deploy c++ source script Signed-off-by: Terence Parr Signed-off-by: Eric Vergnaud * cleanup code generation Signed-off-by: Eric Vergnaud * don't initialize default param values twice Signed-off-by: Eric Vergnaud * add missing field Signed-off-by: Eric Vergnaud * update codegen template for 4.11.1 Signed-off-by: Eric Vergnaud * support new param: Parser Signed-off-by: Eric Vergnaud * fix template for 4.11 Signed-off-by: Eric Vergnaud * default export Listener and Visitor Signed-off-by: Eric Vergnaud * also default export parser and lexer Signed-off-by: Eric Vergnaud * all tests pass except 7 caused by #3868 Signed-off-by: Eric Vergnaud * fix issues Signed-off-by: Eric Vergnaud * make it easy to break Signed-off-by: Eric Vergnaud * fix #3868 Signed-off-by: Eric Vergnaud * ALL TESTS PASS!!!! Signed-off-by: Eric Vergnaud * cross fingers with CI Signed-off-by: Eric Vergnaud * try fixing broken go tests Signed-off-by: Eric Vergnaud * Try fix typescript CI Signed-off-by: Eric Vergnaud * disable cpp for now Signed-off-by: Eric Vergnaud * fix broken config Signed-off-by: Eric Vergnaud * try fix macos gh build Signed-off-by: Eric Vergnaud * improve speed by caching node_modules Signed-off-by: Eric Vergnaud * no longer using ts-node Signed-off-by: Eric Vergnaud * fix all tsc warnings Signed-off-by: Eric Vergnaud * try fix MacOS CI Signed-off-by: Eric Vergnaud * CI errors seem random, reactivate ubuntu Signed-off-by: Eric Vergnaud * Disable node_modules caching, which seems to randomly fail in CI Signed-off-by: Eric Vergnaud * don't delete symlink contents on windows (java bug with is SymbolicLink ?) Signed-off-by: Eric Vergnaud * fix broken windows CI Signed-off-by: ERIC-WINDOWS\ericv Signed-off-by: Eric Vergnaud * verify windows ci Signed-off-by: ERIC-WINDOWS\ericv Signed-off-by: Eric Vergnaud * Revert "verify windows ci" This reverts commit 770d8218ecbc1a94d60854d5b00cc3c761c3469c. Signed-off-by: Eric Vergnaud * reinstate full CI Signed-off-by: Eric Vergnaud * manually merged * manually merge * fix merge * fix broken template * add template for invoking context list * fix typo * fix test templates * Add code of conduct but with a different name since I do not like that name Signed-off-by: Terence Parr * Update C# release instructions * Tweak code of conduct Signed-off-by: Terence Parr * Bring back the Package.swift in the project's root Signed-off-by: Nikolay Edigaryev * swift-target.md: fix SPM installation instructions Signed-off-by: Nikolay Edigaryev * the scope (parser or lexer) in @parser::header was dropped, so keep track of it and only include @header in Listener and Visitor code Signed-off-by: Eric Vergnaud * drop workaround in favor of #3878 * drop cache usage since it fails in CI * #3878 was missing some scenarios * fix issue when deleting test folder * fix warnings * drop duplicate behavior * drop alien 'abstractRecognizer' property * drop alien property 'channels' * fix various codegen issues * change import * restore js extensions, see https://github.com/microsoft/TypeScript/issues/50501 * use consistent inheritance * more API * more API stuff * fix typo * fix typescript exports * use ts-node to run typescript tests * webpack runtime before linking * fix exec paths on windows Signed-off-by: ERIC-WINDOWS\ericv * fix failing tests * fix a few import issues * merge typescript-target with latest dev * runs Java and JavaScript tests after merging typescript-target * merge test template * skip unsupported test * fix template prototype * fix missing merge * bump typescript beta version after rebase * update docs * rollback unwanted changes Signed-off-by: HS Signed-off-by: Eric Vergnaud Signed-off-by: nicksxs Signed-off-by: Terence Parr Signed-off-by: Hell_Ghost Signed-off-by: Hell_Ghost dev.hellghost@gmail.com Signed-off-by: Ross Patterson Signed-off-by: James Taylor Signed-off-by: Bryan Tan Signed-off-by: Jim.Idle Signed-off-by: Tim McCormack Signed-off-by: Ivan Kochurkin Signed-off-by: Qijia Liu Signed-off-by: ERIC-WINDOWS\ericv Signed-off-by: Nikolay Edigaryev Co-authored-by: HS Co-authored-by: nicksxs Co-authored-by: Terence Parr Co-authored-by: Hell_Ghost Co-authored-by: Ross Patterson Co-authored-by: James Taylor Co-authored-by: Bryan Tan Co-authored-by: Jim.Idle Co-authored-by: Tim McCormack Co-authored-by: Robert Adam Co-authored-by: Bryan Tan Co-authored-by: Ivan Kochurkin Co-authored-by: Qijia Liu Co-authored-by: Nikolay Edigaryev --- .github/workflows/hosted.yml | 3 +- doc/javascript-target.md | 3 +- doc/targets.md | 1 + doc/typescript-target.md | 125 + .../ParserErrors/ExtraneousInput.txt | 1 + .../DropLoopEntryBranchInLRRule_4.txt | 1 + .../PredFromAltTestedInLoopBack_1.txt | 1 + .../antlr/v4/test/runtime/helpers/Test.ts.stg | 63 + .../helpers/{package.json => package_js.json} | 0 .../v4/test/runtime/helpers/package_ts.json | 9 + .../v4/test/runtime/helpers/tsconfig.json | 11 + .../runtime/templates/TypeScript.test.stg | 312 ++ .../v4/test/runtime/CustomDescriptors.java | 2 +- .../javascript/JavaScriptRuntimeTests.java | 1 - .../{node => javascript}/NodeRunner.java | 4 +- .../test/runtime/typescript/TsNodeRunner.java | 94 + .../typescript/TypeScriptRuntimeTests.java | 17 + runtime/JavaScript/.eslintrc.yml | 6 +- runtime/JavaScript/package-lock.json | 2524 ++++++++--------- runtime/JavaScript/package.json | 24 +- .../src/antlr4/BufferedTokenStream.d.ts | 8 + .../src/antlr4/BufferedTokenStream.js | 17 +- runtime/JavaScript/src/antlr4/CharStream.d.ts | 11 + runtime/JavaScript/src/antlr4/CharStream.js | 127 + runtime/JavaScript/src/antlr4/CommonToken.js | 10 + .../src/antlr4/CommonTokenStream.d.ts | 11 + runtime/JavaScript/src/antlr4/FileStream.d.ts | 10 + .../JavaScript/src/antlr4/InputStream.d.ts | 4 + runtime/JavaScript/src/antlr4/InputStream.js | 123 +- runtime/JavaScript/src/antlr4/Lexer.d.ts | 23 + runtime/JavaScript/src/antlr4/Parser.d.ts | 39 + runtime/JavaScript/src/antlr4/Recognizer.d.ts | 9 + runtime/JavaScript/src/antlr4/Recognizer.js | 4 + runtime/JavaScript/src/antlr4/Token.d.ts | 18 + runtime/JavaScript/src/antlr4/Token.js | 1 + .../JavaScript/src/antlr4/TokenSource.d.ts | 3 + .../JavaScript/src/antlr4/TokenStream.d.ts | 15 + runtime/JavaScript/src/antlr4/atn/ATN.d.ts | 17 + .../JavaScript/src/antlr4/atn/ATNConfig.d.ts | 5 + .../src/antlr4/atn/ATNConfigSet.d.ts | 5 + .../antlr4/atn/ATNDeserializationOptions.d.ts | 6 + .../src/antlr4/atn/ATNDeserializer.d.ts | 7 + .../src/antlr4/atn/ATNDeserializer.js | 2 +- .../src/antlr4/atn/ATNSimulator.d.ts | 3 + .../src/antlr4/atn/LexerATNSimulator.d.ts | 15 + .../src/antlr4/atn/ParserATNSimulator.d.ts | 20 + .../antlr4/atn/PredictionContextCache.d.ts | 3 + .../src/antlr4/atn/PredictionMode.d.ts | 5 + runtime/JavaScript/src/antlr4/atn/index.d.ts | 9 + runtime/JavaScript/src/antlr4/atn/index.js | 3 +- .../src/antlr4/context/ParserRuleContext.d.ts | 23 + .../src/antlr4/context/ParserRuleContext.js | 4 +- .../src/antlr4/context/RuleContext.d.ts | 10 + .../src/antlr4/context/RuleContext.js | 2 +- .../JavaScript/src/antlr4/context/index.d.ts | 3 + runtime/JavaScript/src/antlr4/dfa/DFA.d.ts | 5 + runtime/JavaScript/src/antlr4/dfa/index.d.ts | 2 + .../src/antlr4/error/BailErrorStrategy.d.ts | 7 + .../antlr4/error/DefaultErrorStrategy.d.ts | 19 + .../antlr4/error/DiagnosticErrorListener.d.ts | 9 + .../src/antlr4/error/ErrorListener.d.ts | 6 + .../src/antlr4/error/ErrorStrategy.d.ts | 12 + .../error/FailedPredicateException.d.ts | 7 + .../antlr4/error/FailedPredicateException.js | 4 +- .../antlr4/error/NoViableAltException.d.ts | 11 + .../antlr4/error/RecognitionException.d.ts | 18 + .../src/antlr4/error/RecognitionException.js | 1 + .../JavaScript/src/antlr4/error/index.d.ts | 8 + runtime/JavaScript/src/antlr4/index.d.ts | 17 + runtime/JavaScript/src/antlr4/index.js | 65 +- .../JavaScript/src/antlr4/misc/Interval.d.ts | 10 + .../src/antlr4/misc/IntervalSet.d.ts | 13 + runtime/JavaScript/src/antlr4/misc/index.d.ts | 3 + runtime/JavaScript/src/antlr4/misc/index.js | 4 + .../src/antlr4/polyfills/codepointat.js | 3 + .../src/antlr4/polyfills/fromcodepoint.js | 3 + .../JavaScript/src/antlr4/state/ATNState.d.ts | 6 + .../src/antlr4/state/DecisionState.d.ts | 6 + .../src/antlr4/state/RuleStartState.d.ts | 6 + .../src/antlr4/state/RuleStopState.d.ts | 5 + .../JavaScript/src/antlr4/state/index.d.ts | 5 + .../JavaScript/src/antlr4/tree/ErrorNode.d.ts | 5 + .../JavaScript/src/antlr4/tree/ParseTree.d.ts | 5 + .../src/antlr4/tree/ParseTreeListener.d.ts | 10 + .../src/antlr4/tree/ParseTreeVisitor.d.ts | 16 + .../src/antlr4/tree/ParseTreeWalker.d.ts | 8 + .../src/antlr4/tree/ParseTreeWalker.js | 4 +- .../JavaScript/src/antlr4/tree/RuleNode.d.ts | 5 + .../JavaScript/src/antlr4/tree/RuleNode.js | 2 +- .../src/antlr4/tree/SyntaxTree.d.ts | 3 + .../src/antlr4/tree/TerminalNode.d.ts | 8 + runtime/JavaScript/src/antlr4/tree/Tree.d.ts | 1 + runtime/JavaScript/src/antlr4/tree/Trees.js | 2 +- runtime/JavaScript/src/antlr4/tree/index.d.ts | 8 + .../JavaScript/src/antlr4/utils/Printer.d.ts | 4 + .../src/antlr4/utils/arrayToString.d.ts | 1 + .../JavaScript/src/antlr4/utils/index.d.ts | 4 + runtime/JavaScript/src/antlr4/utils/index.js | 5 +- .../src/antlr4/utils/stringHashCode.js | 10 +- .../src/antlr4/utils/stringToCharArray.d.ts | 1 + .../src/antlr4/utils/stringToCharArray.js | 7 + runtime/JavaScript/tsconfig.json | 27 + runtime/JavaScript/webpack.config.cjs | 25 +- .../codegen/JavaScript/JavaScript.stg | 66 +- .../codegen/TypeScript/TypeScript.stg | 931 ++++++ .../org/antlr/v4/codegen/UnicodeEscapes.java | 1 + .../v4/codegen/model/decl/StructDecl.java | 4 +- .../v4/codegen/target/TypeScriptTarget.java | 115 + 108 files changed, 3687 insertions(+), 1623 deletions(-) create mode 100644 doc/typescript-target.md create mode 100644 runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/Test.ts.stg rename runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/{package.json => package_js.json} (100%) create mode 100644 runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package_ts.json create mode 100644 runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/tsconfig.json create mode 100644 runtime-testsuite/resources/org/antlr/v4/test/runtime/templates/TypeScript.test.stg rename runtime-testsuite/test/org/antlr/v4/test/runtime/{node => javascript}/NodeRunner.java (96%) create mode 100644 runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TsNodeRunner.java create mode 100644 runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TypeScriptRuntimeTests.java create mode 100644 runtime/JavaScript/src/antlr4/BufferedTokenStream.d.ts create mode 100644 runtime/JavaScript/src/antlr4/CharStream.d.ts create mode 100644 runtime/JavaScript/src/antlr4/CharStream.js create mode 100644 runtime/JavaScript/src/antlr4/CommonTokenStream.d.ts create mode 100644 runtime/JavaScript/src/antlr4/FileStream.d.ts create mode 100644 runtime/JavaScript/src/antlr4/InputStream.d.ts create mode 100644 runtime/JavaScript/src/antlr4/Lexer.d.ts create mode 100644 runtime/JavaScript/src/antlr4/Parser.d.ts create mode 100644 runtime/JavaScript/src/antlr4/Recognizer.d.ts create mode 100644 runtime/JavaScript/src/antlr4/Token.d.ts create mode 100644 runtime/JavaScript/src/antlr4/TokenSource.d.ts create mode 100644 runtime/JavaScript/src/antlr4/TokenStream.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ATN.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ATNConfig.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ATNConfigSet.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ATNDeserializationOptions.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ATNDeserializer.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ATNSimulator.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/LexerATNSimulator.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/ParserATNSimulator.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/PredictionContextCache.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/PredictionMode.d.ts create mode 100644 runtime/JavaScript/src/antlr4/atn/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/context/ParserRuleContext.d.ts create mode 100644 runtime/JavaScript/src/antlr4/context/RuleContext.d.ts create mode 100644 runtime/JavaScript/src/antlr4/context/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/dfa/DFA.d.ts create mode 100644 runtime/JavaScript/src/antlr4/dfa/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/BailErrorStrategy.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/DefaultErrorStrategy.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/DiagnosticErrorListener.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/ErrorListener.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/ErrorStrategy.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/FailedPredicateException.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/NoViableAltException.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/RecognitionException.d.ts create mode 100644 runtime/JavaScript/src/antlr4/error/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/misc/Interval.d.ts create mode 100644 runtime/JavaScript/src/antlr4/misc/IntervalSet.d.ts create mode 100644 runtime/JavaScript/src/antlr4/misc/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/misc/index.js create mode 100644 runtime/JavaScript/src/antlr4/state/ATNState.d.ts create mode 100644 runtime/JavaScript/src/antlr4/state/DecisionState.d.ts create mode 100644 runtime/JavaScript/src/antlr4/state/RuleStartState.d.ts create mode 100644 runtime/JavaScript/src/antlr4/state/RuleStopState.d.ts create mode 100644 runtime/JavaScript/src/antlr4/state/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/ErrorNode.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/ParseTree.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/ParseTreeListener.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/ParseTreeVisitor.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/RuleNode.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/SyntaxTree.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/TerminalNode.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/Tree.d.ts create mode 100644 runtime/JavaScript/src/antlr4/tree/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/utils/Printer.d.ts create mode 100644 runtime/JavaScript/src/antlr4/utils/arrayToString.d.ts create mode 100644 runtime/JavaScript/src/antlr4/utils/index.d.ts create mode 100644 runtime/JavaScript/src/antlr4/utils/stringToCharArray.d.ts create mode 100644 runtime/JavaScript/src/antlr4/utils/stringToCharArray.js create mode 100644 runtime/JavaScript/tsconfig.json create mode 100644 tool/resources/org/antlr/v4/tool/templates/codegen/TypeScript/TypeScript.stg create mode 100644 tool/src/org/antlr/v4/codegen/target/TypeScriptTarget.java diff --git a/.github/workflows/hosted.yml b/.github/workflows/hosted.yml index 457ae1fe6a..6bd76da434 100644 --- a/.github/workflows/hosted.yml +++ b/.github/workflows/hosted.yml @@ -167,6 +167,7 @@ jobs: go, java, javascript, + typescript, php, python2, python3, @@ -242,7 +243,7 @@ jobs: architecture: 'x64' - name: Set up Node 14 - if: matrix.target == 'javascript' + if: (matrix.target == 'javascript') || (matrix.target == 'typescript') uses: actions/setup-node@v3.5.1 with: node-version: '14' diff --git a/doc/javascript-target.md b/doc/javascript-target.md index aef5a2ac74..c41d36feb9 100644 --- a/doc/javascript-target.md +++ b/doc/javascript-target.md @@ -195,14 +195,13 @@ antlr4.tree.ParseTreeWalker.DEFAULT.walk(printer, tree); ## What about TypeScript? -We currently do not have a TypeScript target, but Sam Harwell is [working on a port](https://github.com/tunnelvisionlabs/antlr4ts). [Here](https://github.com/ChuckJonas/extract-interface-ts) is Section 4.3 of [ANTLR 4 book](http://a.co/5jUJYmh) converted to typescript. +We have a [TypeScript target](typescript-target.md), based on the JavaScript target. ## How do I integrate my parser with ACE editor? This specific task is described in this [dedicated page](ace-javascript-target.md). ## How can I learn more about ANTLR? - Further information can be found from "The definitive ANTLR 4 reference" book. diff --git a/doc/targets.md b/doc/targets.md index ad6e7dba94..74dae819c0 100644 --- a/doc/targets.md +++ b/doc/targets.md @@ -6,6 +6,7 @@ This page lists the available and upcoming ANTLR runtimes. Please note that you * [C#](csharp-target.md) * [Python](python-target.md) (2 and 3) * [JavaScript](javascript-target.md) +* [TypeScript](typescript-target.md) * [Go](go-target.md) * [C++](cpp-target.md) * [Swift](swift-target.md) diff --git a/doc/typescript-target.md b/doc/typescript-target.md new file mode 100644 index 0000000000..e914e83a6c --- /dev/null +++ b/doc/typescript-target.md @@ -0,0 +1,125 @@ +# TypeScript + +Antlr4 TypeScript runtime uses the JavaScript runtime and adds type files to it. +This guarantees the same behaviour and performance across both target languages. +Generated lexers, parsers, listeners and visitors are generated in TypeScript. + +The runtime is built using TypeScript v4.8.3, node 16.17 and webpack 5.66. +It may work with older versions but they have not been tested and they will not be supported. + + +## How to create a TypeScript lexer or parser? + +This is pretty much the same as creating a Java lexer or parser, except you need to specify the language target, for example: + +```bash +$ antlr4 -Dlanguage=TypeScript MyGrammar.g4 +``` + +For a full list of antlr4 tool options, please visit the [tool documentation page](tool-options.md). + +## Where can I get the runtime? + +Once you've generated the lexer and/or parser code, you need to download the runtime from [npm](https://www.npmjs.com/package/antlr4). + +We will not document here how to refer to the runtime from your project, since this would differ a lot depending on your project type and IDE. + +## How do I get the runtime in my browser? + +The runtime is webpacked and sits in the dist folder. A .map file is also provided. + +## How do I run the generated lexer and/or parser? + +Let's suppose that your grammar is named, as above, "MyGrammar". Let's suppose this parser comprises a rule named "MyStartRule". The tool will have generated for you the following files: + +* MyGrammarLexer.js +* MyGrammarParser.js +* MyGrammarListener.js (if you have not activated the -no-listener option) +* MyGrammarVisitor.js (if you have activated the -visitor option) + +There is no listener or visitor interface generated, instead the generated listener and visitor class methods are implemented using lambdas. + +Now a fully functioning script might look like the following: + +```typescript +import { CharStream, CommonTokenStream } from 'antlr4'; +import MyGrammarLexer from './MyGrammarLexer'; +import MyGrammarParser from './MyGrammarParser'; + +const input = "your text to parse here" +const chars = new CharStream(input); // replace this with a FileStream as required +const lexer = new MyGrammarLexer(chars); +const tokens = new CommonTokenStream(lexer); +const parser = new MyGrammarParser(tokens); +const tree = parser.MyStartRule(); + +``` + +Tha above program will work. But it won't be useful unless you do one of the following: + +* you visit the parse tree using a custom listener +* you visit the parse tree using a custom visitor +* your grammar contains production code (like AntLR3) + +(please note that production code is target specific, so you can't have multi target grammars that include production code) + +## How do I create and run a visitor? + +You need to create a custom visitor and use it to visit the parse tree, as follows: +```typescript + +import { ParserRuleContext } from 'antlr4'; +import MyGrammarVisitor from './MyGrammarVisitor'; + +class CustomVisitor extends MyGrammarVisitor { + + visitChildren(ctx: ParserRuleContext) { + if (!ctx) { + return; + } + if (ctx.children) { + return ctx.children.map(child => { + if (child.children && child.children.length != 0) { + return child.accept(this); + } else { + return child.getText(); + } + }); + } + } +} + +tree.accept(new Visitor()); +```` + +## How do I create and run a custom listener? + +You need to create a custom listener and use it to visit the parse tree, as follows: + +```typescript + +import { ParseTreeWalker } from 'antlr4'; +import MyGrammarListener from './MyGrammarListener'; + +class MyTreeWalker extends MyGrammarListener { + + exitMyStartRule = (ctx: MyStartRuleContext) => { + console.log("In MyStartRule"); + }; + +} + +const walker = new MyTreeWalker(); +ParseTreeWalker.DEFAULT.walk(walker, tree); + +``` + +## How do I integrate my parser with ACE editor? + +This specific task is described in this [dedicated page](ace-javascript-target.md). + +## How can I learn more about ANTLR? + +Further information can be found from "The definitive ANTLR 4 reference" book. + +The TypeScript implementation of ANTLR is based on the JavaScript implementation, which is as close as possible to the Java one, so you shouldn't find it difficult to adapt the book's examples to TypeScript. diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/ParserErrors/ExtraneousInput.txt b/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/ParserErrors/ExtraneousInput.txt index d1cc7624a4..4b0f7232a9 100644 --- a/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/ParserErrors/ExtraneousInput.txt +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/ParserErrors/ExtraneousInput.txt @@ -26,6 +26,7 @@ Cpp CSharp Go JavaScript +TypeScript PHP Python2 Python3 diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/Performance/DropLoopEntryBranchInLRRule_4.txt b/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/Performance/DropLoopEntryBranchInLRRule_4.txt index f57935132b..fe9248c8fd 100644 --- a/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/Performance/DropLoopEntryBranchInLRRule_4.txt +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/Performance/DropLoopEntryBranchInLRRule_4.txt @@ -54,5 +54,6 @@ between X1 and X2 or between X3 and X4 Python2 Python3 JavaScript +TypeScript PHP diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/SemPredEvalParser/PredFromAltTestedInLoopBack_1.txt b/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/SemPredEvalParser/PredFromAltTestedInLoopBack_1.txt index 7c13488fdf..740ed05198 100644 --- a/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/SemPredEvalParser/PredFromAltTestedInLoopBack_1.txt +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/descriptors/SemPredEvalParser/PredFromAltTestedInLoopBack_1.txt @@ -39,6 +39,7 @@ CSharp Dart Go JavaScript +TypeScript PHP Python2 Python3 diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/Test.ts.stg b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/Test.ts.stg new file mode 100644 index 0000000000..11b78d856a --- /dev/null +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/Test.ts.stg @@ -0,0 +1,63 @@ +import { + FileStream, + CommonTokenStream, + DiagnosticErrorListener, + Lexer, + ParseTreeListener, + ParseTreeWalker, + RuleContext, + ParserRuleContext, + RuleNode +} from 'antlr4'; +import from './.js'; + +import from './.js'; + +import Listener from './Listener.js'; + + +import Visitor from './Visitor.js'; + + +class TreeShapeListener extends ParseTreeListener { + enterEveryRule(ctx: ParserRuleContext) { + for (let i = 0; i \< ctx.getChildCount(); i++) { + const child = ctx.getChild(i) as RuleContext; + const parent = child.parentCtx; + if (parent!.ruleContext !== ctx || !(parent instanceof RuleNode)) { + throw `Invalid parse tree shape detected.`; + } + } + } +} + + +function main(argv: string[]): void { + const input = new FileStream(argv[2], true); + const lexer = new (input); + const stream = new CommonTokenStream(lexer); + + const parser = new (stream); + + parser.addErrorListener(new DiagnosticErrorListener()); + + parser.buildParseTrees = true; + parser.printer = { + println : function(s: string) { console.log(s); }, + print : function(s: string) { process.stdout.write(s); } + }; + const tree = parser.(); + ParseTreeWalker.DEFAULT.walk(new TreeShapeListener(), tree); + + stream.fill(); + for(let i=0; i\ + process.stdout.write(lexer._interp.decisionToDFA[Lexer.DEFAULT_MODE].toLexerString()); + + +} + +main(process.argv); + diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package.json b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package_js.json similarity index 100% rename from runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package.json rename to runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package_js.json diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package_ts.json b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package_ts.json new file mode 100644 index 0000000000..09024e24f2 --- /dev/null +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/package_ts.json @@ -0,0 +1,9 @@ +{ + "type": "module", + "devDependencies": { + "@types/node": "^18.0.5" + }, + "dependencies": { + "antlr4": "^4.10.1" + } +} diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/tsconfig.json b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/tsconfig.json new file mode 100644 index 0000000000..6bacc95440 --- /dev/null +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/helpers/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "module": "ES2020", + "moduleResolution": "node", + "target": "ES6", + "noImplicitAny": true, + }, + "ts-node": { + "esm": true + } +} diff --git a/runtime-testsuite/resources/org/antlr/v4/test/runtime/templates/TypeScript.test.stg b/runtime-testsuite/resources/org/antlr/v4/test/runtime/templates/TypeScript.test.stg new file mode 100644 index 0000000000..ba8a332809 --- /dev/null +++ b/runtime-testsuite/resources/org/antlr/v4/test/runtime/templates/TypeScript.test.stg @@ -0,0 +1,312 @@ +writeln(s) ::= < || '');>> +write(s) ::= < || '');>> +writeList(s) ::= <);>> + +False() ::= "false" + +True() ::= "true" + +Not(v) ::= "!" + +Assert(s) ::= <);>> + +Cast(t,v) ::= "( as )" + +Append(a,b) ::= " + " + +AppendStr(a,b) ::= <%%> + +Concat(a,b) ::= "" + +AssertIsList(v) ::= <%if ( !( instanceof Array) ) {throw "value is not an array";}%> + +AssignLocal(s,v) ::= " = ;" + +InitIntMember(n,v) ::= <% : number = ;%> + +InitBooleanMember(n,v) ::= <% : boolean = ;%> + +InitIntVar(n,v) ::= <%let : number = ;%> + +IntArg(n) ::= ": number" + +VarRef(n) ::= "" + +GetMember(n) ::= <%this.%> + +SetMember(n,v) ::= <%this. = ;%> + +AddMember(n,v) ::= <%this. += ;%> + +MemberEquals(n,v) ::= <%this. === %> + +ModMemberEquals(n,m,v) ::= <%this. % === %> + +ModMemberNotEquals(n,m,v) ::= <%this. % != %> + +DumpDFA() ::= "this.dumpDFA();" + +Pass() ::= "" + +StringList() ::= "string[]" + +BuildParseTrees() ::= "this.buildParseTrees = true;" + +BailErrorStrategy() ::= <%this._errHandler = new BailErrorStrategy();%> + +ToStringTree(s) ::= <%.toStringTree(null, this)%> + +Column() ::= "this.column" + +Text() ::= "this.text" + +ValEquals(a,b) ::= <%===%> + +TextEquals(a) ::= <%this.text===""%> + +PlusText(a) ::= <%"" + this.text%> + +InputText() ::= "this._input.getText()" + +LTEquals(i, v) ::= <%this._input.LT().text===%> + +LANotEquals(i, v) ::= <%this._input.LA()!=%> + +TokenStartColumnEquals(i) ::= <%this._tokenStartColumn===%> + +ImportListener(X) ::= "" + +GetExpectedTokenNames() ::= "this.getExpectedTokens().toString(this.literalNames)" + +ImportRuleInvocationStack() ::= << +@parser::header { + import { arrayToString } from 'antlr4'; +}>> + +RuleInvocationStack() ::= "arrayToString(this.getRuleInvocationStack())" + +LL_EXACT_AMBIG_DETECTION() ::= <> + +ParserToken(parser, token) ::= <%.%> + +Production(p) ::= <%

%> + +Result(r) ::= <%%> + +ParserPropertyMember() ::= << +@members { +public Property() { + return true; +} +} +>> + +ParserPropertyCall(p, call) ::= "

." + +PositionAdjustingLexerDef() ::= "" + +PositionAdjustingLexer() ::= << + +resetAcceptPosition (index: number, line: number, column: number) : void { + this._input.seek(index); + this.line = line; + this.column = column; + this._interp.consume(this._input); +} + +emit () : any /* should be Token */ { + switch(this._type) { + case PositionAdjustingLexer.TOKENS: + this.handleAcceptPositionForKeyword("tokens"); + break; + case PositionAdjustingLexer.LABEL: + this.handleAcceptPositionForIdentifier(); + break; + } + return super.emit(); +} + +handleAcceptPositionForIdentifier () : boolean { + var tokenText = this.text; + var identifierLength = 0; + while (identifierLength \< tokenText.length && PositionAdjustingLexer.isIdentifierChar(tokenText[identifierLength]) + ) { + identifierLength += 1; + } + if (this._input.index > this._tokenStartCharIndex + identifierLength) { + var offset = identifierLength - 1; + this.resetAcceptPosition(this._tokenStartCharIndex + offset, + this._tokenStartLine, this._tokenStartColumn + offset); + return true; + } else { + return false; + } +} + +handleAcceptPositionForKeyword (keyword: string) : boolean { + if (this._input.index > this._tokenStartCharIndex + keyword.length) { + var offset = keyword.length - 1; + this.resetAcceptPosition(this._tokenStartCharIndex + offset, + this._tokenStartLine, this._tokenStartColumn + offset); + return true; + } else { + return false; + } +} + +static isIdentifierChar (c: string) { + return c.match(/^[0-9a-zA-Z_]+$/); +} + +>> + +BasicListener(X) ::= << +@parser::header { +import { ParseTreeWalker } from 'antlr4'; + +class LeafListener extends Listener { + visitTerminal(node: TerminalNode) { + console.log(node.symbol.text); + } +} + +} +>> + +WalkListener(s) ::= << +var walker = new ParseTreeWalker(); +walker.walk(new LeafListener(), ); +>> + +TreeNodeWithAltNumField(X) ::= << +@parser::header { +class MyRuleNode extends ParserRuleContext { + + altNum: number; + + constructor(parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.altNum = 0; + } + + getAltNumber(): number { + return this.altNum; + } + + setAltNumber(altNumber: number){ + this.altNum = altNumber; + } +}; + +} +>> + +TokenGetterListener(X) ::= << +@parser::header { +import { arrayToString, ParseTreeWalker } from 'antlr4'; + +class LeafListener extends Listener { + + exitA? = (ctx: AContext) => { + var str; + if(ctx.getChildCount()===2) { + str = ctx.INT(0).symbol.text + ' ' + ctx.INT(1).symbol.text + ' ' + arrayToString(ctx.INT_list()); + } else { + str = ctx.ID()!.symbol.toString(); + } + console.log(str); + }; + +} + +} +>> + +RuleGetterListener(X) ::= << +@parser::header { +import { ParseTreeWalker } from 'antlr4'; + +class LeafListener extends Listener { + exitA? = (ctx: AContext) => { + var str; + if(ctx.getChildCount()===2) { + str = ctx.b(0).start.text + ' ' + ctx.b(1).start.text + ' ' + ctx.b_list()[0].start.text; + } else { + str = ctx.b(0).start.text; + } + console.log(str); + }; +} + +} +>> + +LRListener(X) ::= << +@parser::header { +import { ParseTreeWalker } from 'antlr4'; + +class LeafListener extends Listener { + + exitE? = (ctx: EContext) => { + var str; + if(ctx.getChildCount()===3) { + str = ctx.e(0).start.text + ' ' + ctx.e(1).start.text + ' ' + ctx.e_list()[0].start.text; + } else { + str = ctx.INT()!.symbol.text; + } + console.log(str); + }; +} + +} +>> + +LRWithLabelsListener(X) ::= << +@parser::header { +import { ParseTreeWalker } from 'antlr4'; + +class LeafListener extends Listener { + + exitCall? = (ctx: CallContext) => { + var str = ctx.e().start.text + ' ' + ctx.eList(); + console.log(str); + }; + + exitInt? = (ctx: IntContext) => { + var str = ctx.INT().symbol.text; + console.log(str); + } + +} + +} +>> + +DeclareContextListGettersFunction() ::= << + foo() { + var s = new SContext(); + var a = s.a_list(); + var b = s.b_list(); + }; +>> + +Declare_foo() ::= "foo() {console.log('foo');}" + +Invoke_foo() ::= "this.foo();" + +Declare_pred() ::= << + + pred(v: any) { + console.log("eval=" + v.toString()); + return v; + } +>> + +Invoke_pred(v) ::= <)>> +ParserTokenType(t) ::= "Parser." +ContextRuleFunction(ctx, rule) ::= "." +ContextListFunction(ctx, rule) ::= "._list()" +StringType() ::= "string | undefined" +ContextMember(ctx, member) ::= "._" +SubContextLocal(ctx, subctx, local) ::= ".." +SubContextMember(ctx, subctx, member) ::= ".._" diff --git a/runtime-testsuite/test/org/antlr/v4/test/runtime/CustomDescriptors.java b/runtime-testsuite/test/org/antlr/v4/test/runtime/CustomDescriptors.java index 64089c2f00..120e2f3528 100644 --- a/runtime-testsuite/test/org/antlr/v4/test/runtime/CustomDescriptors.java +++ b/runtime-testsuite/test/org/antlr/v4/test/runtime/CustomDescriptors.java @@ -148,7 +148,7 @@ private static RuntimeTestDescriptor getAtnStatesSizeMoreThan65535Descriptor() { grammarName, grammar.toString(), null, false, false, false, - new String[] {"CSharp", "Python2", "Python3", "Go", "PHP", "Swift", "JavaScript", "Dart"}, uri); + new String[] {"CSharp", "Python2", "Python3", "Go", "PHP", "Swift", "JavaScript", "TypeScript", "Dart"}, uri); } private static RuntimeTestDescriptor getMultiTokenAlternativeDescriptor() { diff --git a/runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/JavaScriptRuntimeTests.java b/runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/JavaScriptRuntimeTests.java index a18b734578..0173db7429 100644 --- a/runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/JavaScriptRuntimeTests.java +++ b/runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/JavaScriptRuntimeTests.java @@ -8,7 +8,6 @@ import org.antlr.v4.test.runtime.RuntimeRunner; import org.antlr.v4.test.runtime.RuntimeTests; -import org.antlr.v4.test.runtime.node.NodeRunner; public class JavaScriptRuntimeTests extends RuntimeTests { @Override diff --git a/runtime-testsuite/test/org/antlr/v4/test/runtime/node/NodeRunner.java b/runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/NodeRunner.java similarity index 96% rename from runtime-testsuite/test/org/antlr/v4/test/runtime/node/NodeRunner.java rename to runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/NodeRunner.java index 80a4bae2c3..a1d013cd01 100644 --- a/runtime-testsuite/test/org/antlr/v4/test/runtime/node/NodeRunner.java +++ b/runtime-testsuite/test/org/antlr/v4/test/runtime/javascript/NodeRunner.java @@ -3,7 +3,7 @@ * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ -package org.antlr.v4.test.runtime.node; +package org.antlr.v4.test.runtime.javascript; import org.antlr.v4.test.runtime.*; import org.antlr.v4.test.runtime.states.CompiledState; @@ -52,7 +52,7 @@ protected CompiledState compile(RunOptions runOptions, GeneratedState generatedS } writeFile(getTempDirPath(), "package.json", - RuntimeTestUtils.getTextFromResource("org/antlr/v4/test/runtime/helpers/package.json")); + RuntimeTestUtils.getTextFromResource("org/antlr/v4/test/runtime/helpers/package_js.json")); return new CompiledState(generatedState, null); } diff --git a/runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TsNodeRunner.java b/runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TsNodeRunner.java new file mode 100644 index 0000000000..0a0622e67c --- /dev/null +++ b/runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TsNodeRunner.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ +package org.antlr.v4.test.runtime.typescript; + +import org.antlr.v4.test.runtime.*; +import org.antlr.v4.test.runtime.states.CompiledState; +import org.antlr.v4.test.runtime.states.GeneratedState; + +import java.io.File; +import java.nio.file.Files; + +import static org.antlr.v4.test.runtime.FileUtils.writeFile; +import static org.antlr.v4.test.runtime.RuntimeTestUtils.isWindows; + +public class TsNodeRunner extends RuntimeRunner { + + /* TypeScript runtime is the same as JavaScript runtime */ + private final static String NORMALIZED_JAVASCRIPT_RUNTIME_PATH = getRuntimePath("JavaScript").replace('\\', '/'); + private final static String NPM_EXEC = "npm" + (isWindows() ? ".cmd" : ""); + private final static String WEBPACK_EXEC = "webpack" + (isWindows() ? ".cmd" : ""); + + @Override + public String getLanguage() { + return "TypeScript"; + } + + + @Override + protected void initRuntime(RunOptions runOptions) throws Exception { + npmInstallTsNodeAndWebpack(); + npmLinkRuntime(); + } + + private void npmInstallTsNodeAndWebpack() throws Exception { + Processor.run(new String[] {NPM_EXEC, "--silent", "install", "-g", "typescript", "ts-node", "webpack", "webpack-cli"}, null); + } + + private void npmLinkRuntime() throws Exception { + Processor.run(new String[] {NPM_EXEC, "--silent", "install"}, NORMALIZED_JAVASCRIPT_RUNTIME_PATH); + Processor.run(new String[] {WEBPACK_EXEC, "--no-stats"}, NORMALIZED_JAVASCRIPT_RUNTIME_PATH); + Processor.run(new String[] {NPM_EXEC, "--silent", "link"}, NORMALIZED_JAVASCRIPT_RUNTIME_PATH); + } + + @Override + public String getExtension() { return "ts"; } + + @Override + protected String getExecFileName() { return getTestFileName() + ".ts"; } + + @Override + public String getBaseListenerSuffix() { return null; } + + @Override + public String getBaseVisitorSuffix() { return null; } + + @Override + public String getRuntimeToolName() { return "ts-node" + (isWindows() ? ".cmd" : ""); } + + @Override + protected CompiledState compile(RunOptions runOptions, GeneratedState generatedState) { + + try { + writeFile(getTempDirPath(), "package.json", + RuntimeTestUtils.getTextFromResource("org/antlr/v4/test/runtime/helpers/package_ts.json")); + + writeFile(getTempDirPath(), "tsconfig.json", + RuntimeTestUtils.getTextFromResource("org/antlr/v4/test/runtime/helpers/tsconfig.json")); + + npmInstall(); + + npmLinkAntlr4(); + + return new CompiledState(generatedState, null); + + } catch (Exception e) { + return new CompiledState(generatedState, e); + } + + } + + private void npmInstall() throws Exception { + Processor.run(new String[] {NPM_EXEC, "--silent", "install"}, getTempDirPath()); + } + + + private void npmLinkAntlr4() throws Exception { + Processor.run(new String[] {NPM_EXEC, "--silent", "link", "antlr4"}, getTempDirPath()); + } + + +} diff --git a/runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TypeScriptRuntimeTests.java b/runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TypeScriptRuntimeTests.java new file mode 100644 index 0000000000..548b5c4ccb --- /dev/null +++ b/runtime-testsuite/test/org/antlr/v4/test/runtime/typescript/TypeScriptRuntimeTests.java @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +package org.antlr.v4.test.runtime.typescript; + +import org.antlr.v4.test.runtime.RuntimeRunner; +import org.antlr.v4.test.runtime.RuntimeTests; + +public class TypeScriptRuntimeTests extends RuntimeTests { + @Override + protected RuntimeRunner createRuntimeRunner() { + return new TsNodeRunner(); + } +} diff --git a/runtime/JavaScript/.eslintrc.yml b/runtime/JavaScript/.eslintrc.yml index 75de9268ac..c8f66d671a 100644 --- a/runtime/JavaScript/.eslintrc.yml +++ b/runtime/JavaScript/.eslintrc.yml @@ -4,14 +4,16 @@ env: es2016: true amd: true jasmine: true -extends: 'eslint:recommended' +extends: + - eslint:recommended globals: Atomics: readonly SharedArrayBuffer: readonly Set: readonly -# parser: babel-eslint +parser: "@babel/eslint-parser" parserOptions: sourceType: module + project: ['./tsconfig.json'] rules: no-unused-vars: ["error", {vars: "all", args: "none"}] no-prototype-builtins: [ "off" ] diff --git a/runtime/JavaScript/package-lock.json b/runtime/JavaScript/package-lock.json index efaf7d610b..0549e2a891 100644 --- a/runtime/JavaScript/package-lock.json +++ b/runtime/JavaScript/package-lock.json @@ -1,27 +1,34 @@ { "name": "antlr4", - "version": "4.11.1", + "version": "4.12.0-beta.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "antlr4", - "version": "4.11.1", + "version": "4.12.0-beta.1", "license": "BSD-3-Clause", "devDependencies": { - "@babel/preset-env": "^7.16.11", - "babel-loader": "^8.2.4", - "eslint-plugin-es5": "^1.5.0", - "eslint-webpack-plugin": "^3.1.1", + "@babel/core": "^7.19.1", + "@babel/eslint-parser": "^7.19.1", + "@babel/preset-env": "^7.19.4", + "@types/node": "^18.7.23", + "babel-loader": "^8.2.5", + "compression-webpack-plugin": "^10.0.0", + "eslint": "^8.23.1", + "eslint-webpack-plugin": "^3.2.0", "glob-parent": "^6.0.2", "jasmine": "^4.0.2", "jasmine-spec-reporter": "^7.0.0", "minimist": "^1.2.6", + "source-map-support": "^0.5.21", + "terser-webpack-plugin": "^5.3.6", + "typescript": "^4.8.3", "webpack": "^5.66.0", - "webpack-cli": "^4.9.1" + "webpack-cli": "^4.10.0" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/@ampproject/remapping": { @@ -29,7 +36,6 @@ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -51,31 +57,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz", - "integrity": "sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", - "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", "dev": true, - "peer": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.13", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.13", - "@babel/types": "^7.18.13", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -90,13 +95,31 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, "node_modules/@babel/generator": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz", - "integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", "dev": true, "dependencies": { - "@babel/types": "^7.18.13", + "@babel/types": "^7.20.5", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -144,14 +167,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", + "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "engines": { @@ -162,17 +185,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz", - "integrity": "sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6" }, "engines": { @@ -183,13 +206,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.2.1" }, "engines": { "node": ">=6.9.0" @@ -199,9 +222,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.17.7", @@ -237,13 +260,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -286,19 +309,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -317,9 +340,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -344,40 +367,40 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -396,18 +419,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -423,30 +446,29 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", - "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.11", - "@babel/types": "^7.18.10" + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", "dev": true, - "peer": true, "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" }, "engines": { "node": ">=6.9.0" @@ -467,9 +489,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", - "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -511,13 +533,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", - "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, @@ -658,16 +680,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.1" }, "engines": { "node": ">=6.9.0" @@ -726,14 +748,14 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -823,12 +845,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -999,12 +1021,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1014,17 +1036,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, @@ -1051,12 +1074,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", - "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1175,14 +1198,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1192,15 +1214,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" }, "engines": { "node": ">=6.9.0" @@ -1210,16 +1231,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" }, "engines": { "node": ">=6.9.0" @@ -1245,13 +1265,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1292,12 +1312,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1322,13 +1342,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" }, "engines": { "node": ">=6.9.0" @@ -1368,12 +1388,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" }, "engines": { @@ -1460,18 +1480,18 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", - "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -1480,7 +1500,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -1491,7 +1511,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1504,10 +1524,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -1515,30 +1535,30 @@ "@babel/plugin-transform-function-name": "^7.18.9", "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", "@babel/plugin-transform-template-literals": "^7.18.9", "@babel/plugin-transform-typeof-symbol": "^7.18.9", "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.10", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -1565,12 +1585,12 @@ } }, "node_modules/@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" @@ -1591,19 +1611,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz", - "integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", + "@babel/generator": "^7.20.5", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.13", - "@babel/types": "^7.18.13", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1612,13 +1632,13 @@ } }, "node_modules/@babel/types": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz", - "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1635,16 +1655,15 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz", - "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", "dev": true, - "peer": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1659,11 +1678,10 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, - "peer": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -1675,37 +1693,24 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, - "peer": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "peer": true, "engines": { "node": ">=12.22" }, @@ -1718,15 +1723,13 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1784,13 +1787,22 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -1798,7 +1810,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "peer": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1812,7 +1823,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "peer": true, "engines": { "node": ">= 8" } @@ -1822,7 +1832,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "peer": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1832,9 +1841,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", "dev": true, "dependencies": { "@types/estree": "*", @@ -1864,9 +1873,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.7.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz", - "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==", + "version": "18.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", + "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==", "dev": true }, "node_modules/@webassemblyjs/ast": { @@ -2064,9 +2073,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -2089,7 +2098,6 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "peer": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -2128,9 +2136,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -2163,7 +2171,6 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -2184,23 +2191,12 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dev": true, "dependencies": { "find-cache-dir": "^3.3.1", @@ -2216,23 +2212,14 @@ "webpack": ">=2" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "peerDependencies": { @@ -2240,25 +2227,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2302,9 +2289,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "funding": [ { @@ -2317,10 +2304,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "update-browserslist-db": "^1.0.9" }, "bin": { "browserslist": "cli.js" @@ -2335,33 +2322,19 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "peer": true, "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001389", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001389.tgz", - "integrity": "sha512-dXCB1Ufi5VekkH5vygd46PGp0HMW4rxorX7Xl1R51FWLcB21DRPOIgrpxvuM1VHXIs4bu/QQQdQaBneMzq9C2g==", + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", "dev": true, "funding": [ { @@ -2453,6 +2426,79 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, + "node_modules/compression-webpack-plugin": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-10.0.0.tgz", + "integrity": "sha512-wLXLIBwpul/ALcm7Aj+69X0pYT3BYt6DdPn3qrgBIh9YejV9Bju9ShhlAsjujLyWMo6SAweFIWaUoFmXZNuNrg==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/compression-webpack-plugin/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/compression-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/compression-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/compression-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2460,38 +2506,24 @@ "dev": true }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "peer": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/core-js-compat": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz", - "integrity": "sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", "dev": true, "dependencies": { - "browserslist": "^4.21.3", - "semver": "7.0.0" + "browserslist": "^4.21.4" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2527,44 +2559,13 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "peer": true - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "peer": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "peer": true, "dependencies": { "esutils": "^2.0.2" }, @@ -2573,9 +2574,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.241", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz", - "integrity": "sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==", + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, "node_modules/emojis-list": { @@ -2588,9 +2589,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -2637,16 +2638,15 @@ } }, "node_modules/eslint": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.0.tgz", - "integrity": "sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==", + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", "dev": true, - "peer": true, "dependencies": { - "@eslint/eslintrc": "^1.3.1", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -2662,15 +2662,15 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -2693,27 +2693,17 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-plugin-es5": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es5/-/eslint-plugin-es5-1.5.0.tgz", - "integrity": "sha512-Qxmfo7v2B7SGAEURJo0dpBweFf+JU15kSyALfiB2rXWcBuJ96r6X9kFHXFnhdopPHCaHjoQs1xQPUJVbGMb1AA==", - "dev": true, - "peerDependencies": { - "eslint": ">= 3.0.0" - } - }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8.0.0" } }, "node_modules/eslint-utils": { @@ -2721,7 +2711,6 @@ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, - "peer": true, "dependencies": { "eslint-visitor-keys": "^2.0.0" }, @@ -2735,26 +2724,15 @@ "eslint": ">=5" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, - "peer": true, "engines": { "node": ">=10" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "node_modules/eslint-webpack-plugin": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", @@ -2780,9 +2758,9 @@ } }, "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -2837,7 +2815,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2853,7 +2830,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2870,7 +2846,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2882,15 +2857,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "peer": true, "engines": { "node": ">=10" }, @@ -2898,30 +2871,59 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "dev": true, - "peer": true, "dependencies": { - "type-fest": "^0.20.2" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", "dev": true, - "peer": true, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/eslint/node_modules/supports-color": { @@ -2929,7 +2931,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2938,11 +2939,10 @@ } }, "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, - "peer": true, "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", @@ -2955,12 +2955,20 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "peer": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -2968,6 +2976,15 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -2980,7 +2997,7 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -2989,6 +3006,15 @@ "node": ">=4.0" } }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3013,36 +3039,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "peer": true, - "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" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -3053,8 +3049,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -3066,11 +3061,10 @@ } }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", "dev": true, - "peer": true, "dependencies": { "reusify": "^1.0.4" } @@ -3080,7 +3074,6 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "peer": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -3122,7 +3115,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "peer": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -3139,7 +3131,6 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "peer": true, "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -3152,8 +3143,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -3167,37 +3157,15 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "peer": true - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "peer": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -3245,27 +3213,6 @@ "node": ">=4" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "peer": true, - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -3276,8 +3223,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/has": { "version": "1.0.3", @@ -3300,36 +3246,11 @@ "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", "dev": true, - "peer": true, "engines": { "node": ">= 4" } @@ -3339,7 +3260,6 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "peer": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3375,7 +3295,6 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "peer": true, "engines": { "node": ">=0.8.19" } @@ -3406,9 +3325,9 @@ } }, "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -3447,6 +3366,15 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -3475,22 +3403,22 @@ } }, "node_modules/jasmine": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.4.0.tgz", - "integrity": "sha512-xrbOyYkkCvgduNw7CKktDtNb+BwwBv/zvQeHpTkbxqQ37AJL5V4sY3jHoMIJPP/hTc3QxLVwOyxc87AqA+kw5g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.5.0.tgz", + "integrity": "sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==", "dev": true, "dependencies": { "glob": "^7.1.6", - "jasmine-core": "^4.4.0" + "jasmine-core": "^4.5.0" }, "bin": { "jasmine": "bin/jasmine.js" } }, "node_modules/jasmine-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.4.0.tgz", - "integrity": "sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", "dev": true }, "node_modules/jasmine-spec-reporter": { @@ -3540,6 +3468,16 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3551,7 +3489,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "peer": true, "dependencies": { "argparse": "^2.0.1" }, @@ -3587,13 +3524,12 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -3616,7 +3552,6 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "peer": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3635,9 +3570,9 @@ } }, "node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { "big.js": "^5.2.2", @@ -3653,7 +3588,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "peer": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -3674,8 +3608,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/make-dir": { "version": "3.1.0", @@ -3698,16 +3631,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -3755,10 +3678,13 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/ms": { "version": "2.1.2", @@ -3770,8 +3696,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", @@ -3780,9 +3705,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, "node_modules/normalize-path": { @@ -3794,33 +3719,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3835,7 +3733,6 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "peer": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -3853,7 +3750,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "peer": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3869,7 +3765,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "peer": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -3894,7 +3789,6 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "peer": true, "dependencies": { "callsites": "^3.0.0" }, @@ -3935,16 +3829,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -4032,7 +3916,6 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "peer": true, "engines": { "node": ">= 0.8.0" } @@ -4064,8 +3947,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "peer": true + ] }, "node_modules/randombytes": { "version": "2.1.0", @@ -4095,9 +3977,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -4107,15 +3989,15 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" @@ -4126,7 +4008,6 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, - "peer": true, "engines": { "node": ">=8" }, @@ -4135,32 +4016,32 @@ } }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "dev": true, "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -4230,7 +4111,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -4240,7 +4120,6 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "peer": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4251,7 +4130,6 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -4281,16 +4159,29 @@ "url": "https://feross.org/support" } ], - "peer": true, "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/schema-utils": { "version": "2.7.1", @@ -4361,16 +4252,6 @@ "node": ">=8" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4395,7 +4276,6 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4408,7 +4288,6 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "peer": true, "engines": { "node": ">=8" }, @@ -4450,9 +4329,9 @@ } }, "node_modules/terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -4561,8 +4440,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -4590,7 +4468,6 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "peer": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4603,7 +4480,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "peer": true, "engines": { "node": ">=10" }, @@ -4611,6 +4487,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -4634,27 +4523,27 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, "funding": [ { @@ -4700,9 +4589,9 @@ } }, "node_modules/webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -4830,28 +4719,6 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -4896,7 +4763,6 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -4912,7 +4778,6 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "peer": true, "engines": { "node": ">=10" }, @@ -4927,7 +4792,6 @@ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "peer": true, "requires": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -4943,28 +4807,27 @@ } }, "@babel/compat-data": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.13.tgz", - "integrity": "sha512-5yUzC5LqyTFp2HLmDoxGQelcdYgSpP9xsnMWBphAscOdFrHSAVbLNzWiy32sVNDqJRDiJK6klfDnAgu6PAGSHw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", "dev": true }, "@babel/core": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", - "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", "dev": true, - "peer": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.13", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.13", - "@babel/types": "^7.18.13", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -4972,13 +4835,24 @@ "semver": "^6.3.0" } }, + "@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + } + }, "@babel/generator": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.13.tgz", - "integrity": "sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", "dev": true, "requires": { - "@babel/types": "^7.18.13", + "@babel/types": "^7.20.5", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -5016,46 +4890,46 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", + "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.13.tgz", - "integrity": "sha512-hDvXp+QYxSRL+23mpAlSGxHMDyIGChm0/AwTfTAAK5Ufe40nCsyNdaYCGuK91phn/fVu9kqayImRDkvNAgdrsA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.2.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.17.7", @@ -5082,13 +4956,13 @@ } }, "@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, "@babel/helper-hoist-variables": { @@ -5119,19 +4993,19 @@ } }, "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" } }, "@babel/helper-optimise-call-expression": { @@ -5144,9 +5018,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -5162,34 +5036,34 @@ } }, "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.20.2" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" } }, "@babel/helper-split-export-declaration": { @@ -5202,15 +5076,15 @@ } }, "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { @@ -5220,27 +5094,26 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.18.11", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", - "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.11", - "@babel/types": "^7.18.10" + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, "@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", "dev": true, - "peer": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, "@babel/highlight": { @@ -5255,9 +5128,9 @@ } }, "@babel/parser": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", - "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -5281,13 +5154,13 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", - "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" } @@ -5374,16 +5247,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.1" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -5418,14 +5291,14 @@ } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, @@ -5485,12 +5358,12 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-syntax-json-strings": { @@ -5604,26 +5477,27 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" } @@ -5638,12 +5512,12 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", - "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-dotall-regex": { @@ -5714,39 +5588,36 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" } }, "@babel/plugin-transform-modules-umd": { @@ -5760,13 +5631,13 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-new-target": { @@ -5789,12 +5660,12 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-property-literals": { @@ -5807,13 +5678,13 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" } }, "@babel/plugin-transform-reserved-words": { @@ -5835,12 +5706,12 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" } }, @@ -5891,18 +5762,18 @@ } }, "@babel/preset-env": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", - "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -5911,7 +5782,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -5922,7 +5793,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -5935,10 +5806,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -5946,30 +5817,30 @@ "@babel/plugin-transform-function-name": "^7.18.9", "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", "@babel/plugin-transform-template-literals": "^7.18.9", "@babel/plugin-transform-typeof-symbol": "^7.18.9", "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.10", - "babel-plugin-polyfill-corejs2": "^0.3.2", - "babel-plugin-polyfill-corejs3": "^0.5.3", - "babel-plugin-polyfill-regenerator": "^0.4.0", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" } }, @@ -5987,12 +5858,12 @@ } }, "@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz", + "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" } }, "@babel/template": { @@ -6007,31 +5878,31 @@ } }, "@babel/traverse": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.13.tgz", - "integrity": "sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", + "@babel/generator": "^7.20.5", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.13", - "@babel/types": "^7.18.13", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz", - "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, @@ -6042,16 +5913,15 @@ "dev": true }, "@eslint/eslintrc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz", - "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", + "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", "dev": true, - "peer": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -6060,11 +5930,10 @@ }, "dependencies": { "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, - "peer": true, "requires": { "type-fest": "^0.20.2" } @@ -6072,44 +5941,33 @@ } }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, - "peer": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", - "dev": true, - "peer": true - }, "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "peer": true + "dev": true }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "peer": true + "dev": true }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, - "peer": true, "requires": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -6157,13 +6015,22 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" } }, "@nodelib/fs.scandir": { @@ -6171,7 +6038,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "peer": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -6181,24 +6047,22 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "peer": true + "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "peer": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", "dev": true, "requires": { "@types/estree": "*", @@ -6228,9 +6092,9 @@ "dev": true }, "@types/node": { - "version": "18.7.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.14.tgz", - "integrity": "sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==", + "version": "18.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", + "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==", "dev": true }, "@webassemblyjs/ast": { @@ -6415,9 +6279,9 @@ "dev": true }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true }, "acorn-import-assertions": { @@ -6432,7 +6296,6 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "peer": true, "requires": {} }, "ajv": { @@ -6457,9 +6320,9 @@ }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -6487,8 +6350,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "peer": true + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -6503,20 +6365,12 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "peer": true + "dev": true }, "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", @@ -6525,43 +6379,34 @@ "schema-utils": "^2.6.5" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "requires": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz", - "integrity": "sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "balanced-match": { @@ -6596,15 +6441,15 @@ } }, "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" + "update-browserslist-db": "^1.0.9" } }, "buffer-from": { @@ -6613,27 +6458,16 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "peer": true + "dev": true }, "caniuse-lite": { - "version": "1.0.30001389", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001389.tgz", - "integrity": "sha512-dXCB1Ufi5VekkH5vygd46PGp0HMW4rxorX7Xl1R51FWLcB21DRPOIgrpxvuM1VHXIs4bu/QQQdQaBneMzq9C2g==", + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", "dev": true }, "chalk": { @@ -6703,6 +6537,57 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, + "compression-webpack-plugin": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-10.0.0.tgz", + "integrity": "sha512-wLXLIBwpul/ALcm7Aj+69X0pYT3BYt6DdPn3qrgBIh9YejV9Bju9ShhlAsjujLyWMo6SAweFIWaUoFmXZNuNrg==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -6710,31 +6595,18 @@ "dev": true }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "core-js-compat": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.0.tgz", - "integrity": "sha512-extKQM0g8/3GjFx9US12FAgx8KJawB7RCQ5y8ipYLbmfzEzmFRWdDjIlxDx82g7ygcNG85qMVUSRyABouELdow==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", "dev": true, "requires": { - "browserslist": "^4.21.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "browserslist": "^4.21.4" } }, "cross-spawn": { @@ -6761,43 +6633,21 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "peer": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "peer": true, - "requires": { - "path-type": "^4.0.0" - } + "dev": true }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "peer": true, "requires": { "esutils": "^2.0.2" } }, "electron-to-chromium": { - "version": "1.4.241", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz", - "integrity": "sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==", + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, "emojis-list": { @@ -6807,9 +6657,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -6841,16 +6691,15 @@ "dev": true }, "eslint": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.0.tgz", - "integrity": "sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==", + "version": "8.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", + "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", "dev": true, - "peer": true, "requires": { - "@eslint/eslintrc": "^1.3.1", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -6866,15 +6715,15 @@ "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -6893,7 +6742,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "peer": true, "requires": { "color-convert": "^2.0.1" } @@ -6903,7 +6751,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6914,7 +6761,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "peer": true, "requires": { "color-name": "~1.1.4" } @@ -6923,22 +6769,41 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true + "dev": true }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "dev": true, - "peer": true + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true }, "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, - "peer": true, "requires": { "type-fest": "^0.20.2" } @@ -6947,37 +6812,27 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "peer": true, "requires": { "has-flag": "^4.0.0" } } } }, - "eslint-plugin-es5": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es5/-/eslint-plugin-es5-1.5.0.tgz", - "integrity": "sha512-Qxmfo7v2B7SGAEURJo0dpBweFf+JU15kSyALfiB2rXWcBuJ96r6X9kFHXFnhdopPHCaHjoQs1xQPUJVbGMb1AA==", - "dev": true, - "requires": {} - }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" } }, "eslint-utils": { @@ -6985,26 +6840,15 @@ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, - "peer": true, "requires": { "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "peer": true - } } }, "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "peer": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true }, "eslint-webpack-plugin": { "version": "3.2.0", @@ -7020,9 +6864,9 @@ }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -7061,15 +6905,22 @@ } }, "espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, - "peer": true, "requires": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + } } }, "esquery": { @@ -7077,9 +6928,16 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "peer": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "esrecurse": { @@ -7089,12 +6947,20 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { @@ -7115,32 +6981,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "peer": true, - "requires": { - "@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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -7151,8 +6991,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "peer": true + "dev": true }, "fastest-levenshtein": { "version": "1.0.16", @@ -7161,11 +7000,10 @@ "dev": true }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", "dev": true, - "peer": true, "requires": { "reusify": "^1.0.4" } @@ -7175,7 +7013,6 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "peer": true, "requires": { "flat-cache": "^3.0.4" } @@ -7205,7 +7042,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "peer": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -7216,7 +7052,6 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "peer": true, "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -7226,8 +7061,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true, - "peer": true + "dev": true }, "fs.realpath": { "version": "1.0.0", @@ -7241,30 +7075,11 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "peer": true - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "peer": true - }, - "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } + "dev": true }, "glob": { "version": "7.2.3", @@ -7301,21 +7116,6 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "peer": true, - "requires": { - "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" - } - }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -7326,8 +7126,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true, - "peer": true + "dev": true }, "has": { "version": "1.0.3", @@ -7344,34 +7143,17 @@ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "peer": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "dev": true }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "peer": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -7391,8 +7173,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "peer": true + "dev": true }, "inflight": { "version": "1.0.6", @@ -7417,9 +7198,9 @@ "dev": true }, "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "requires": { "has": "^1.0.3" @@ -7446,6 +7227,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -7468,19 +7255,19 @@ "dev": true }, "jasmine": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.4.0.tgz", - "integrity": "sha512-xrbOyYkkCvgduNw7CKktDtNb+BwwBv/zvQeHpTkbxqQ37AJL5V4sY3jHoMIJPP/hTc3QxLVwOyxc87AqA+kw5g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.5.0.tgz", + "integrity": "sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==", "dev": true, "requires": { "glob": "^7.1.6", - "jasmine-core": "^4.4.0" + "jasmine-core": "^4.5.0" } }, "jasmine-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.4.0.tgz", - "integrity": "sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", "dev": true }, "jasmine-spec-reporter": { @@ -7520,6 +7307,12 @@ } } }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7531,7 +7324,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "peer": true, "requires": { "argparse": "^2.0.1" } @@ -7558,13 +7350,12 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "peer": true + "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz", + "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==", "dev": true }, "kind-of": { @@ -7578,7 +7369,6 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "peer": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -7591,9 +7381,9 @@ "dev": true }, "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -7606,7 +7396,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "peer": true, "requires": { "p-locate": "^5.0.0" } @@ -7621,8 +7410,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "peer": true + "dev": true }, "make-dir": { "version": "3.1.0", @@ -7639,13 +7427,6 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "peer": true - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -7681,9 +7462,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true }, "ms": { @@ -7696,8 +7477,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "peer": true + "dev": true }, "neo-async": { "version": "2.6.2", @@ -7706,9 +7486,9 @@ "dev": true }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, "normalize-path": { @@ -7717,24 +7497,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -7749,7 +7511,6 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "peer": true, "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -7764,7 +7525,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "peer": true, "requires": { "yocto-queue": "^0.1.0" } @@ -7774,7 +7534,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "peer": true, "requires": { "p-limit": "^3.0.2" } @@ -7790,7 +7549,6 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "peer": true, "requires": { "callsites": "^3.0.0" } @@ -7819,13 +7577,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "peer": true - }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -7890,8 +7641,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "peer": true + "dev": true }, "punycode": { "version": "2.1.1", @@ -7903,8 +7653,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "peer": true + "dev": true }, "randombytes": { "version": "2.1.0", @@ -7931,24 +7680,24 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -7958,33 +7707,32 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "peer": true + "dev": true }, "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" } }, "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -8036,22 +7784,19 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "peer": true + "dev": true }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "peer": true + "dev": true }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } @@ -8061,15 +7806,14 @@ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "peer": true, "requires": { "queue-microtask": "^1.2.2" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "schema-utils": { @@ -8122,13 +7866,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "peer": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -8150,7 +7887,6 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "peer": true, "requires": { "ansi-regex": "^5.0.1" } @@ -8159,8 +7895,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "peer": true + "dev": true }, "supports-color": { "version": "5.5.0", @@ -8184,9 +7919,9 @@ "dev": true }, "terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -8251,8 +7986,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "peer": true + "dev": true }, "to-fast-properties": { "version": "2.0.0", @@ -8274,7 +8008,6 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "peer": true, "requires": { "prelude-ls": "^1.2.1" } @@ -8283,8 +8016,13 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true + "dev": true + }, + "typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -8303,21 +8041,21 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, "update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -8344,9 +8082,9 @@ } }, "webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -8381,22 +8119,6 @@ "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -8473,8 +8195,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "peer": true + "dev": true }, "wrappy": { "version": "1.0.2", @@ -8486,8 +8207,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "peer": true + "dev": true } } } diff --git a/runtime/JavaScript/package.json b/runtime/JavaScript/package.json index 818d2d7027..dd758943ea 100644 --- a/runtime/JavaScript/package.json +++ b/runtime/JavaScript/package.json @@ -1,9 +1,10 @@ { "name": "antlr4", - "version": "4.11.1", + "version": "4.12.0-beta.1", "type": "module", "description": "JavaScript runtime for ANTLR4", - "main": "src/antlr4/index.js", + "main": "dist/antlr4.js", + "types": "src/antlr4/index.d.ts", "repository": "antlr/antlr4.git", "keywords": [ "lexer", @@ -18,23 +19,30 @@ }, "homepage": "https://github.com/antlr/antlr4", "devDependencies": { - "@babel/preset-env": "^7.16.11", - "babel-loader": "^8.2.4", - "eslint-plugin-es5": "^1.5.0", - "eslint-webpack-plugin": "^3.1.1", + "@babel/core": "^7.19.1", + "@babel/preset-env": "^7.19.4", + "@types/node": "^18.7.23", + "@babel/eslint-parser": "^7.19.1", + "babel-loader": "^8.2.5", + "compression-webpack-plugin": "^10.0.0", + "eslint": "^8.23.1", + "eslint-webpack-plugin": "^3.2.0", "glob-parent": "^6.0.2", "jasmine": "^4.0.2", "jasmine-spec-reporter": "^7.0.0", "minimist": "^1.2.6", + "source-map-support": "^0.5.21", + "terser-webpack-plugin": "^5.3.6", + "typescript": "^4.8.3", "webpack": "^5.66.0", - "webpack-cli": "^4.9.1" + "webpack-cli": "^4.10.0" }, "scripts": { "build": "webpack", "test": "jasmine" }, "engines": { - "node": ">=14" + "node": ">=16" }, "browser": { "fs": false, diff --git a/runtime/JavaScript/src/antlr4/BufferedTokenStream.d.ts b/runtime/JavaScript/src/antlr4/BufferedTokenStream.d.ts new file mode 100644 index 0000000000..cf53eeee5d --- /dev/null +++ b/runtime/JavaScript/src/antlr4/BufferedTokenStream.d.ts @@ -0,0 +1,8 @@ +import { TokenStream } from './TokenStream'; +import { Lexer } from "./Lexer"; + +export declare class BufferedTokenStream extends TokenStream { + + tokenSource: Lexer; + +} diff --git a/runtime/JavaScript/src/antlr4/BufferedTokenStream.js b/runtime/JavaScript/src/antlr4/BufferedTokenStream.js index 019c34efdf..08a093c454 100644 --- a/runtime/JavaScript/src/antlr4/BufferedTokenStream.js +++ b/runtime/JavaScript/src/antlr4/BufferedTokenStream.js @@ -339,11 +339,11 @@ export default class BufferedTokenStream extends TokenStream { return this.tokenSource.getSourceName(); } -// Get the text of all tokens in this buffer./// + // Get the text of all tokens in this buffer./// getText(interval) { this.lazyInit(); this.fill(); - if (interval === undefined || interval === null) { + if (!interval) { interval = new Interval(0, this.tokens.length - 1); } let start = interval.start; @@ -371,11 +371,16 @@ export default class BufferedTokenStream extends TokenStream { return s; } -// Get all tokens from lexer until EOF/// + // Get all tokens from lexer until EOF/// fill() { this.lazyInit(); - while (this.fetch(1000) === 1000) { - continue; - } + // noinspection StatementWithEmptyBodyJS + while (this.fetch(1000) === 1000); } } + +Object.defineProperty(BufferedTokenStream, "size", { + get: function() { + return this.tokens.length; + } +}) diff --git a/runtime/JavaScript/src/antlr4/CharStream.d.ts b/runtime/JavaScript/src/antlr4/CharStream.d.ts new file mode 100644 index 0000000000..76eab599fd --- /dev/null +++ b/runtime/JavaScript/src/antlr4/CharStream.d.ts @@ -0,0 +1,11 @@ +export declare class CharStream { + + index: number; // defined as property + + constructor(data: string); + constructor(data: string, decodeToUnicodeCodePoints: boolean); + seek(index: number): void; + consume(): void; + getText(start: number, stop: number): string; + LA(offset: number): number; +} diff --git a/runtime/JavaScript/src/antlr4/CharStream.js b/runtime/JavaScript/src/antlr4/CharStream.js new file mode 100644 index 0000000000..408244e6c6 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/CharStream.js @@ -0,0 +1,127 @@ +/* Copyright (c) 2012-2022 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +import Token from './Token.js'; +import './polyfills/codepointat.js'; +import './polyfills/fromcodepoint.js'; + +/** + * If decodeToUnicodeCodePoints is true, the input is treated + * as a series of Unicode code points. + * + * Otherwise, the input is treated as a series of 16-bit UTF-16 code + * units. + */ +export default class CharStream { + constructor(data, decodeToUnicodeCodePoints) { + this.name = ""; + this.strdata = data; + this.decodeToUnicodeCodePoints = decodeToUnicodeCodePoints || false; + // _loadString - Vacuum all input from a string and then treat it like a buffer. + this._index = 0; + this.data = []; + if (this.decodeToUnicodeCodePoints) { + for (let i = 0; i < this.strdata.length; ) { + const codePoint = this.strdata.codePointAt(i); + this.data.push(codePoint); + i += codePoint <= 0xFFFF ? 1 : 2; + } + } else { + this.data = new Array(this.strdata.length); + for (let i = 0; i < this.strdata.length; i++) { + this.data[i] = this.strdata.charCodeAt(i); + } + } + this._size = this.data.length; + } + + /** + * Reset the stream so that it's in the same state it was + * when the object was created *except* the data array is not + * touched. + */ + reset() { + this._index = 0; + } + + consume() { + if (this._index >= this._size) { + // assert this.LA(1) == Token.EOF + throw ("cannot consume EOF"); + } + this._index += 1; + } + + LA(offset) { + if (offset === 0) { + return 0; // undefined + } + if (offset < 0) { + offset += 1; // e.g., translate LA(-1) to use offset=0 + } + const pos = this._index + offset - 1; + if (pos < 0 || pos >= this._size) { // invalid + return Token.EOF; + } + return this.data[pos]; + } + + LT(offset) { + return this.LA(offset); + } + +// mark/release do nothing; we have entire buffer + mark() { + return -1; + } + + release(marker) { + } + + /** + * consume() ahead until p==_index; can't just set p=_index as we must + * update line and column. If we seek backwards, just set p + */ + seek(_index) { + if (_index <= this._index) { + this._index = _index; // just jump; don't update stream state (line, + // ...) + return; + } + // seek forward + this._index = Math.min(_index, this._size); + } + + getText(start, stop) { + if (stop >= this._size) { + stop = this._size - 1; + } + if (start >= this._size) { + return ""; + } else { + if (this.decodeToUnicodeCodePoints) { + let result = ""; + for (let i = start; i <= stop; i++) { + result += String.fromCodePoint(this.data[i]); + } + return result; + } else { + return this.strdata.slice(start, stop + 1); + } + } + } + + toString() { + return this.strdata; + } + + get index(){ + return this._index; + } + + get size(){ + return this._size; + } +} diff --git a/runtime/JavaScript/src/antlr4/CommonToken.js b/runtime/JavaScript/src/antlr4/CommonToken.js index a4ed1b7713..29ed369cb5 100644 --- a/runtime/JavaScript/src/antlr4/CommonToken.js +++ b/runtime/JavaScript/src/antlr4/CommonToken.js @@ -39,6 +39,16 @@ export default class CommonToken extends Token { return t; } + cloneWithType(type) { + const t = new CommonToken(this.source, type, this.channel, this.start, this.stop); + t.tokenIndex = this.tokenIndex; + t.line = this.line; + t.column = this.column; + if (type === Token.EOF) + t.text = ""; + return t; + } + toString() { let txt = this.text; if (txt !== null) { diff --git a/runtime/JavaScript/src/antlr4/CommonTokenStream.d.ts b/runtime/JavaScript/src/antlr4/CommonTokenStream.d.ts new file mode 100644 index 0000000000..92ede4f710 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/CommonTokenStream.d.ts @@ -0,0 +1,11 @@ +import {Lexer} from "./Lexer"; +import {BufferedTokenStream} from "./BufferedTokenStream"; + +export declare class CommonTokenStream extends BufferedTokenStream { + // properties + tokens: string[]; + // methods + constructor(lexer: Lexer); + constructor(lexer: Lexer, channel: number); + fill(): void; +} diff --git a/runtime/JavaScript/src/antlr4/FileStream.d.ts b/runtime/JavaScript/src/antlr4/FileStream.d.ts new file mode 100644 index 0000000000..52fcd9874d --- /dev/null +++ b/runtime/JavaScript/src/antlr4/FileStream.d.ts @@ -0,0 +1,10 @@ +import {CharStream} from "./CharStream"; + +export declare class FileStream extends CharStream { + + index: number; // defined as property + + constructor(fileName: string); + constructor(fileName: string, decodeToUnicodeCodePoints: boolean); + +} diff --git a/runtime/JavaScript/src/antlr4/InputStream.d.ts b/runtime/JavaScript/src/antlr4/InputStream.d.ts new file mode 100644 index 0000000000..fa341d7ca1 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/InputStream.d.ts @@ -0,0 +1,4 @@ +export declare class InputStream { + constructor(data: string); + constructor(data: string, decodeToUnicodeCodePoints: boolean); +} diff --git a/runtime/JavaScript/src/antlr4/InputStream.js b/runtime/JavaScript/src/antlr4/InputStream.js index 63635c5c22..943c0669eb 100644 --- a/runtime/JavaScript/src/antlr4/InputStream.js +++ b/runtime/JavaScript/src/antlr4/InputStream.js @@ -3,126 +3,13 @@ * can be found in the LICENSE.txt file in the project root. */ -import Token from './Token.js'; -import './polyfills/codepointat.js'; -import './polyfills/fromcodepoint.js'; +import CharStream from './CharStream.js'; /** - * If decodeToUnicodeCodePoints is true, the input is treated - * as a series of Unicode code points. - * - * Otherwise, the input is treated as a series of 16-bit UTF-16 code - * units. - */ -export default class InputStream { + * @deprecated Use CharStream instead +*/ +export default class InputStream extends CharStream { constructor(data, decodeToUnicodeCodePoints) { - this.name = ""; - this.strdata = data; - this.decodeToUnicodeCodePoints = decodeToUnicodeCodePoints || false; - // _loadString - Vacuum all input from a string and then treat it like a buffer. - this._index = 0; - this.data = []; - if (this.decodeToUnicodeCodePoints) { - for (let i = 0; i < this.strdata.length; ) { - const codePoint = this.strdata.codePointAt(i); - this.data.push(codePoint); - i += codePoint <= 0xFFFF ? 1 : 2; - } - } else { - this.data = new Array(this.strdata.length); - for (let i = 0; i < this.strdata.length; i++) { - const codeUnit = this.strdata.charCodeAt(i); - this.data[i] = codeUnit; - } - } - this._size = this.data.length; - } - - /** - * Reset the stream so that it's in the same state it was - * when the object was created *except* the data array is not - * touched. - */ - reset() { - this._index = 0; - } - - consume() { - if (this._index >= this._size) { - // assert this.LA(1) == Token.EOF - throw ("cannot consume EOF"); - } - this._index += 1; - } - - LA(offset) { - if (offset === 0) { - return 0; // undefined - } - if (offset < 0) { - offset += 1; // e.g., translate LA(-1) to use offset=0 - } - const pos = this._index + offset - 1; - if (pos < 0 || pos >= this._size) { // invalid - return Token.EOF; - } - return this.data[pos]; - } - - LT(offset) { - return this.LA(offset); - } - -// mark/release do nothing; we have entire buffer - mark() { - return -1; - } - - release(marker) { - } - - /** - * consume() ahead until p==_index; can't just set p=_index as we must - * update line and column. If we seek backwards, just set p - */ - seek(_index) { - if (_index <= this._index) { - this._index = _index; // just jump; don't update stream state (line, - // ...) - return; - } - // seek forward - this._index = Math.min(_index, this._size); - } - - getText(start, stop) { - if (stop >= this._size) { - stop = this._size - 1; - } - if (start >= this._size) { - return ""; - } else { - if (this.decodeToUnicodeCodePoints) { - let result = ""; - for (let i = start; i <= stop; i++) { - result += String.fromCodePoint(this.data[i]); - } - return result; - } else { - return this.strdata.slice(start, stop + 1); - } - } - } - - toString() { - return this.strdata; - } - - get index(){ - return this._index; - } - - get size(){ - return this._size; + super(data, decodeToUnicodeCodePoints); } } diff --git a/runtime/JavaScript/src/antlr4/Lexer.d.ts b/runtime/JavaScript/src/antlr4/Lexer.d.ts new file mode 100644 index 0000000000..d3f08e52d8 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/Lexer.d.ts @@ -0,0 +1,23 @@ +import {Recognizer} from "./Recognizer"; +import {LexerATNSimulator} from "./atn"; +import {CharStream} from "./CharStream"; +import {Token} from "./Token"; + +export declare class Lexer extends Recognizer { + + static DEFAULT_MODE: number; + + _input: CharStream; + _interp: LexerATNSimulator; + text: string; + line: number; + column: number; + _tokenStartCharIndex: number; + _tokenStartLine: number; + _tokenStartColumn: number; + _type: number; + + constructor(input: CharStream); + nextToken() : Token; + emit() : Token; +} diff --git a/runtime/JavaScript/src/antlr4/Parser.d.ts b/runtime/JavaScript/src/antlr4/Parser.d.ts new file mode 100644 index 0000000000..ac0ce922e0 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/Parser.d.ts @@ -0,0 +1,39 @@ +import {TokenStream} from "./TokenStream"; +import {Recognizer} from "./Recognizer"; +import {ErrorStrategy} from "./error"; +import {IntervalSet} from "./misc"; +import {ParserATNSimulator} from "./atn"; +import {Token} from "./Token"; +import {ParserRuleContext} from "./context"; +import {Printer} from "./utils"; + +export declare class Parser extends Recognizer { + + static EOF: number; + + _input: TokenStream; + _ctx: ParserRuleContext; + _interp: ParserATNSimulator; + _errHandler: ErrorStrategy; + _parseListeners?: any[]; + matchedEOF: boolean; + buildParseTrees: boolean; + printer?: Printer; + + constructor(input: TokenStream); + match(ttype: number): Token; + matchWildcard(): Token; + consume(): Token; + enterRule(localctx: ParserRuleContext, state: number, ruleIndex: number): void; + exitRule() : void; + triggerExitRuleEvent() : void; + enterOuterAlt(localctx: ParserRuleContext, altNum: number): void; + enterRecursionRule(localctx: ParserRuleContext, state: number, ruleIndex: number, precedence: number): void; + pushNewRecursionContext(localctx: ParserRuleContext, state: number, ruleIndex: number): void; + unrollRecursionContexts(parentCtx: ParserRuleContext): void; + precpred(localctx: ParserRuleContext, precedence: number): boolean; + getRuleInvocationStack(): string[]; + dumpDFA(): void; + getExpectedTokens(): IntervalSet; + getTokenStream(): TokenStream; +} diff --git a/runtime/JavaScript/src/antlr4/Recognizer.d.ts b/runtime/JavaScript/src/antlr4/Recognizer.d.ts new file mode 100644 index 0000000000..d77927c9a2 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/Recognizer.d.ts @@ -0,0 +1,9 @@ +import {ErrorListener} from "./error"; + +export declare class Recognizer { + + state: number; + + removeErrorListeners(): void; + addErrorListener(listener: ErrorListener): void; +} diff --git a/runtime/JavaScript/src/antlr4/Recognizer.js b/runtime/JavaScript/src/antlr4/Recognizer.js index 057d4ed8ba..b5c05ae9be 100644 --- a/runtime/JavaScript/src/antlr4/Recognizer.js +++ b/runtime/JavaScript/src/antlr4/Recognizer.js @@ -142,6 +142,10 @@ export default class Recognizer { return true; } + get atn() { + return this._interp.atn; + } + get state(){ return this._stateNumber; } diff --git a/runtime/JavaScript/src/antlr4/Token.d.ts b/runtime/JavaScript/src/antlr4/Token.d.ts new file mode 100644 index 0000000000..8bd153287d --- /dev/null +++ b/runtime/JavaScript/src/antlr4/Token.d.ts @@ -0,0 +1,18 @@ +import {CharStream} from "./CharStream"; + +export declare class Token { + + static EOF: number; + + tokenIndex: number; + line: number; + column: number; + text: string; + type: number; + start : number; + stop: number; + + clone(): Token; + cloneWithType(type: number): Token; + getInputStream(): CharStream; +} diff --git a/runtime/JavaScript/src/antlr4/Token.js b/runtime/JavaScript/src/antlr4/Token.js index a92f43357d..aeb33a27c1 100644 --- a/runtime/JavaScript/src/antlr4/Token.js +++ b/runtime/JavaScript/src/antlr4/Token.js @@ -9,6 +9,7 @@ * we obtained this token. */ export default class Token { + constructor() { this.source = null; this.type = null; // token type of the token diff --git a/runtime/JavaScript/src/antlr4/TokenSource.d.ts b/runtime/JavaScript/src/antlr4/TokenSource.d.ts new file mode 100644 index 0000000000..909aa68377 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/TokenSource.d.ts @@ -0,0 +1,3 @@ +export declare class TokenSource { + +} diff --git a/runtime/JavaScript/src/antlr4/TokenStream.d.ts b/runtime/JavaScript/src/antlr4/TokenStream.d.ts new file mode 100644 index 0000000000..ec05639811 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/TokenStream.d.ts @@ -0,0 +1,15 @@ +import {Interval} from "./misc"; +import {Token} from "./Token"; + +export declare class TokenStream { + + index: number; + size: number; + + LA(i: number): number; + LT(k: number): Token; + getText(interval?: Interval): string; + getHiddenTokensToLeft(tokenIndex: number, channelName?: string): Token[]; + getHiddenTokensToRight(tokenIndex: number, channelName?: string): Token[]; + get(idx: number): Token; +} diff --git a/runtime/JavaScript/src/antlr4/atn/ATN.d.ts b/runtime/JavaScript/src/antlr4/atn/ATN.d.ts new file mode 100644 index 0000000000..6140d0a7ed --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ATN.d.ts @@ -0,0 +1,17 @@ +import {IntervalSet} from "../misc"; +import {RuleContext} from "../context"; +import {ATNState, DecisionState, RuleStartState, RuleStopState} from "../state"; + +export declare class ATN { + + static INVALID_ALT_NUMBER: number; + + states: ATNState[]; + decisionToState: DecisionState[]; + ruleToStartState: RuleStartState[]; + ruleToStopState: RuleStopState[]; + + getExpectedTokens(stateNumber: number, ctx: RuleContext ): IntervalSet; + nextTokens(atnState: ATNState, ctx?: RuleContext): IntervalSet; + +} diff --git a/runtime/JavaScript/src/antlr4/atn/ATNConfig.d.ts b/runtime/JavaScript/src/antlr4/atn/ATNConfig.d.ts new file mode 100644 index 0000000000..71029bb877 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ATNConfig.d.ts @@ -0,0 +1,5 @@ +import { ATNState } from "../state"; + +export declare class ATNConfig { + state: ATNState; +} diff --git a/runtime/JavaScript/src/antlr4/atn/ATNConfigSet.d.ts b/runtime/JavaScript/src/antlr4/atn/ATNConfigSet.d.ts new file mode 100644 index 0000000000..03a8d7c42b --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ATNConfigSet.d.ts @@ -0,0 +1,5 @@ +import {ATNConfig} from "./ATNConfig"; + +export declare class ATNConfigSet { + configs: ATNConfig[]; +} diff --git a/runtime/JavaScript/src/antlr4/atn/ATNDeserializationOptions.d.ts b/runtime/JavaScript/src/antlr4/atn/ATNDeserializationOptions.d.ts new file mode 100644 index 0000000000..59c159c455 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ATNDeserializationOptions.d.ts @@ -0,0 +1,6 @@ +export declare class ATNDeserializationOptions { + readOnly?: boolean; + verifyATN?: boolean; + generateRuleBypassTransitions?: boolean; + +} diff --git a/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.d.ts b/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.d.ts new file mode 100644 index 0000000000..92085d4cd9 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.d.ts @@ -0,0 +1,7 @@ +import {ATNDeserializationOptions} from "./ATNDeserializationOptions"; +import {ATN} from "./ATN"; + +export declare class ATNDeserializer { + constructor(options?: ATNDeserializationOptions); + deserialize(data: number[]) : ATN; +} diff --git a/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.js b/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.js index 1dd96c4901..66ca12d348 100644 --- a/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.js +++ b/runtime/JavaScript/src/antlr4/atn/ATNDeserializer.js @@ -58,8 +58,8 @@ function initArray( length, value) { } export default class ATNDeserializer { - constructor(options) { + constructor(options) { if ( options=== undefined || options === null ) { options = ATNDeserializationOptions.defaultOptions; } diff --git a/runtime/JavaScript/src/antlr4/atn/ATNSimulator.d.ts b/runtime/JavaScript/src/antlr4/atn/ATNSimulator.d.ts new file mode 100644 index 0000000000..9b62fcba4d --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ATNSimulator.d.ts @@ -0,0 +1,3 @@ +export declare class ATNSimulator { + +} diff --git a/runtime/JavaScript/src/antlr4/atn/LexerATNSimulator.d.ts b/runtime/JavaScript/src/antlr4/atn/LexerATNSimulator.d.ts new file mode 100644 index 0000000000..df2254d9a6 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/LexerATNSimulator.d.ts @@ -0,0 +1,15 @@ +import {Recognizer} from "../Recognizer"; +import {ATNSimulator} from "./ATNSimulator"; +import {ATN} from "./ATN"; +import {PredictionContextCache} from "./PredictionContextCache"; +import {DFA} from "../dfa"; +import {CharStream} from "../CharStream"; + +export declare class LexerATNSimulator implements ATNSimulator { + + decisionToDFA: DFA[]; + + constructor(recog: Recognizer, atn: ATN, decisionToDFA: DFA[], sharedContextCache: PredictionContextCache); + consume(input: CharStream) : void; + +} diff --git a/runtime/JavaScript/src/antlr4/atn/ParserATNSimulator.d.ts b/runtime/JavaScript/src/antlr4/atn/ParserATNSimulator.d.ts new file mode 100644 index 0000000000..d6e739bbb2 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/ParserATNSimulator.d.ts @@ -0,0 +1,20 @@ +import {ATNSimulator} from "./ATNSimulator"; +import {ParserRuleContext} from "../context"; +import {TokenStream} from "../TokenStream"; +import {Recognizer} from "../Recognizer"; +import {ATN} from "./ATN"; +import {PredictionContextCache} from "./PredictionContextCache"; +import {DFA} from "../dfa"; +import {PredictionMode} from "./PredictionMode"; +import {Token} from "../Token"; + +export declare class ParserATNSimulator extends ATNSimulator { + + predictionMode: PredictionMode; + decisionToDFA: DFA[]; + atn: ATN; + debug?: boolean; + + constructor(recog: Recognizer, atn: ATN, decisionToDFA: DFA[], sharedContextCache: PredictionContextCache); + adaptivePredict(input: TokenStream, decision: number, outerContext: ParserRuleContext) : number; +} diff --git a/runtime/JavaScript/src/antlr4/atn/PredictionContextCache.d.ts b/runtime/JavaScript/src/antlr4/atn/PredictionContextCache.d.ts new file mode 100644 index 0000000000..6a2092df14 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/PredictionContextCache.d.ts @@ -0,0 +1,3 @@ +export declare class PredictionContextCache { + +} diff --git a/runtime/JavaScript/src/antlr4/atn/PredictionMode.d.ts b/runtime/JavaScript/src/antlr4/atn/PredictionMode.d.ts new file mode 100644 index 0000000000..a4b2453a41 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/PredictionMode.d.ts @@ -0,0 +1,5 @@ +export declare class PredictionMode { + static SLL: number; + static LL: number; + static LL_EXACT_AMBIG_DETECTION: number; +} diff --git a/runtime/JavaScript/src/antlr4/atn/index.d.ts b/runtime/JavaScript/src/antlr4/atn/index.d.ts new file mode 100644 index 0000000000..d17c1f3f95 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/atn/index.d.ts @@ -0,0 +1,9 @@ +export * from './ATN'; +export * from './ATNConfig'; +export * from './ATNConfigSet'; +export * from './ATNDeserializer'; +export * from './LexerATNSimulator'; +export * from './ParserATNSimulator'; +export * from './PredictionMode'; +export * from './PredictionContextCache'; + diff --git a/runtime/JavaScript/src/antlr4/atn/index.js b/runtime/JavaScript/src/antlr4/atn/index.js index b66f451c8e..166b5353f6 100644 --- a/runtime/JavaScript/src/antlr4/atn/index.js +++ b/runtime/JavaScript/src/antlr4/atn/index.js @@ -8,5 +8,6 @@ import ATNDeserializer from './ATNDeserializer.js'; import LexerATNSimulator from './LexerATNSimulator.js'; import ParserATNSimulator from './ParserATNSimulator.js'; import PredictionMode from './PredictionMode.js'; +import PredictionContextCache from './PredictionContextCache.js'; -export default { ATN, ATNDeserializer, LexerATNSimulator, ParserATNSimulator, PredictionMode } +export default { ATN, ATNDeserializer, LexerATNSimulator, ParserATNSimulator, PredictionMode, PredictionContextCache } diff --git a/runtime/JavaScript/src/antlr4/context/ParserRuleContext.d.ts b/runtime/JavaScript/src/antlr4/context/ParserRuleContext.d.ts new file mode 100644 index 0000000000..47867744ad --- /dev/null +++ b/runtime/JavaScript/src/antlr4/context/ParserRuleContext.d.ts @@ -0,0 +1,23 @@ +import {RuleContext} from "./RuleContext"; +import {ParseTree, TerminalNode} from "../tree"; +import {RecognitionException} from "../error"; +import {Token} from "../Token"; +import {Parser} from "../Parser"; + +export declare class ParserRuleContext extends RuleContext { + start: Token; + stop: Token | undefined; + children: ParseTree[] | null; + parentCtx: ParserRuleContext | undefined; + exception?: RecognitionException; + parser?: Parser; + + constructor(parent?: ParserRuleContext, invokingStateNumber?: number); + copyFrom(ctx: ParserRuleContext): void; + getChildCount() : number; + getChild(i: number) : ParseTree; + getToken(ttype: number, i: number): TerminalNode; + getTokens(ttype: number): TerminalNode[]; + getTypedRuleContext(ctxType: { new (parser?: Parser, parent?: ParserRuleContext, invokingState?: number, ...args: any[]) : T}, i: number): T; + getTypedRuleContexts(ctxType: { new (parser?: Parser, parent?: ParserRuleContext, invokingState?: number, ...args: any[]) : T}): T[]; +} diff --git a/runtime/JavaScript/src/antlr4/context/ParserRuleContext.js b/runtime/JavaScript/src/antlr4/context/ParserRuleContext.js index f9beb5ddfd..568ec9c9a1 100644 --- a/runtime/JavaScript/src/antlr4/context/ParserRuleContext.js +++ b/runtime/JavaScript/src/antlr4/context/ParserRuleContext.js @@ -34,11 +34,9 @@ import Interval from "../misc/Interval.js"; * satisfy the superclass interface. */ export default class ParserRuleContext extends RuleContext { + constructor(parent, invokingStateNumber) { - parent = parent || null; - invokingStateNumber = invokingStateNumber || null; super(parent, invokingStateNumber); - this.ruleIndex = -1; /** * If we are debugging or building a parse tree for a visitor, * we need to track all of the tokens and rule invocations associated diff --git a/runtime/JavaScript/src/antlr4/context/RuleContext.d.ts b/runtime/JavaScript/src/antlr4/context/RuleContext.d.ts new file mode 100644 index 0000000000..03a1e82fe0 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/context/RuleContext.d.ts @@ -0,0 +1,10 @@ +import {RuleNode} from "../tree"; +import {Parser} from "../Parser"; + +export declare class RuleContext extends RuleNode { + parentCtx: RuleContext | undefined; + invokingState: number; + + get ruleContext() : RuleContext; + toStringTree(ruleNames: string[] | null, recog: Parser) : string; +} diff --git a/runtime/JavaScript/src/antlr4/context/RuleContext.js b/runtime/JavaScript/src/antlr4/context/RuleContext.js index 8b9126dd87..d98b2d5e14 100644 --- a/runtime/JavaScript/src/antlr4/context/RuleContext.js +++ b/runtime/JavaScript/src/antlr4/context/RuleContext.js @@ -63,7 +63,7 @@ export default class RuleContext extends RuleNode { return Interval.INVALID_INTERVAL; } - getRuleContext() { + get ruleContext() { return this; } diff --git a/runtime/JavaScript/src/antlr4/context/index.d.ts b/runtime/JavaScript/src/antlr4/context/index.d.ts new file mode 100644 index 0000000000..e0e941d816 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/context/index.d.ts @@ -0,0 +1,3 @@ +export * from './RuleContext'; +export * from './ParserRuleContext'; + diff --git a/runtime/JavaScript/src/antlr4/dfa/DFA.d.ts b/runtime/JavaScript/src/antlr4/dfa/DFA.d.ts new file mode 100644 index 0000000000..986d7e5a23 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/dfa/DFA.d.ts @@ -0,0 +1,5 @@ +export declare class DFA { + constructor(ds: any, index: number); + toLexerString(): string; +} + diff --git a/runtime/JavaScript/src/antlr4/dfa/index.d.ts b/runtime/JavaScript/src/antlr4/dfa/index.d.ts new file mode 100644 index 0000000000..f18e75bfdf --- /dev/null +++ b/runtime/JavaScript/src/antlr4/dfa/index.d.ts @@ -0,0 +1,2 @@ +export * from './DFA'; + diff --git a/runtime/JavaScript/src/antlr4/error/BailErrorStrategy.d.ts b/runtime/JavaScript/src/antlr4/error/BailErrorStrategy.d.ts new file mode 100644 index 0000000000..c5683f6585 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/BailErrorStrategy.d.ts @@ -0,0 +1,7 @@ +import {DefaultErrorStrategy} from "./DefaultErrorStrategy"; + +export declare class BailErrorStrategy extends DefaultErrorStrategy { + + constructor(); + +} diff --git a/runtime/JavaScript/src/antlr4/error/DefaultErrorStrategy.d.ts b/runtime/JavaScript/src/antlr4/error/DefaultErrorStrategy.d.ts new file mode 100644 index 0000000000..d6c4043cba --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/DefaultErrorStrategy.d.ts @@ -0,0 +1,19 @@ +import {ErrorStrategy} from "./ErrorStrategy"; +import {RecognitionException} from "./RecognitionException"; +import {Parser} from "../Parser"; +import {Token} from "../Token"; + +export declare class DefaultErrorStrategy implements ErrorStrategy { + recover(recognizer: Parser, e: RecognitionException): void; + + recoverInline(recognizer: Parser): Token; + + reportError(recognizer: Parser, e: RecognitionException): void; + + reportMatch(recognizer: Parser): void; + + reset(recognizer: Parser): void; + + sync(recognizer: Parser): void; + +} diff --git a/runtime/JavaScript/src/antlr4/error/DiagnosticErrorListener.d.ts b/runtime/JavaScript/src/antlr4/error/DiagnosticErrorListener.d.ts new file mode 100644 index 0000000000..b88fe66844 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/DiagnosticErrorListener.d.ts @@ -0,0 +1,9 @@ +import {ErrorListener} from "./ErrorListener"; +import {Recognizer} from "../Recognizer"; +import {RecognitionException} from "./RecognitionException"; + +export declare class DiagnosticErrorListener implements ErrorListener { + + syntaxError(recognizer: Recognizer, offendingSymbol: TSymbol, line: number, column: number, msg: string, e: RecognitionException | undefined): void; + +} diff --git a/runtime/JavaScript/src/antlr4/error/ErrorListener.d.ts b/runtime/JavaScript/src/antlr4/error/ErrorListener.d.ts new file mode 100644 index 0000000000..4b61236410 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/ErrorListener.d.ts @@ -0,0 +1,6 @@ +import {Recognizer} from "../Recognizer"; +import {RecognitionException} from "./RecognitionException"; + +export declare class ErrorListener { + syntaxError(recognizer: Recognizer, offendingSymbol: TSymbol, line: number, column: number, msg: string, e: RecognitionException | undefined): void; +} diff --git a/runtime/JavaScript/src/antlr4/error/ErrorStrategy.d.ts b/runtime/JavaScript/src/antlr4/error/ErrorStrategy.d.ts new file mode 100644 index 0000000000..3539bf6cfe --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/ErrorStrategy.d.ts @@ -0,0 +1,12 @@ +import {RecognitionException} from "./RecognitionException"; +import {Parser} from "../Parser"; +import {Token} from "../Token"; + +export declare class ErrorStrategy { + reset(recognizer: Parser): void; + sync(recognizer: Parser): void; + recover(recognizer: Parser, e: RecognitionException): void; + recoverInline(recognizer: Parser): Token; + reportMatch(recognizer: Parser): void; + reportError(recognizer: Parser, e: RecognitionException): void; +} diff --git a/runtime/JavaScript/src/antlr4/error/FailedPredicateException.d.ts b/runtime/JavaScript/src/antlr4/error/FailedPredicateException.d.ts new file mode 100644 index 0000000000..c6e6cb667d --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/FailedPredicateException.d.ts @@ -0,0 +1,7 @@ +import {RecognitionException} from "./RecognitionException"; +import {Parser} from "../Parser"; + +export declare class FailedPredicateException extends RecognitionException { + + constructor(recognizer: Parser, predicate: string | undefined, message: string | undefined); +} diff --git a/runtime/JavaScript/src/antlr4/error/FailedPredicateException.js b/runtime/JavaScript/src/antlr4/error/FailedPredicateException.js index 5b1b6264a6..4d153670ed 100644 --- a/runtime/JavaScript/src/antlr4/error/FailedPredicateException.js +++ b/runtime/JavaScript/src/antlr4/error/FailedPredicateException.js @@ -12,9 +12,11 @@ import RecognitionException from "./RecognitionException.js"; * prediction. */ export default class FailedPredicateException extends RecognitionException { + constructor(recognizer, predicate, message) { super({ - message: formatMessage(predicate, message || null), recognizer: recognizer, + message: formatMessage(predicate, message || null), + recognizer: recognizer, input: recognizer.getInputStream(), ctx: recognizer._ctx }); const s = recognizer._interp.atn.states[recognizer.state] diff --git a/runtime/JavaScript/src/antlr4/error/NoViableAltException.d.ts b/runtime/JavaScript/src/antlr4/error/NoViableAltException.d.ts new file mode 100644 index 0000000000..df7a77a43a --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/NoViableAltException.d.ts @@ -0,0 +1,11 @@ +import {ATNConfigSet} from "../atn"; +import {Recognizer} from "../Recognizer"; +import {RecognitionException} from "./RecognitionException"; + +export declare class NoViableAltException extends RecognitionException { + + deadEndConfigs: ATNConfigSet; + + constructor(recognizer: Recognizer); + +} diff --git a/runtime/JavaScript/src/antlr4/error/RecognitionException.d.ts b/runtime/JavaScript/src/antlr4/error/RecognitionException.d.ts new file mode 100644 index 0000000000..8f1449986e --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/RecognitionException.d.ts @@ -0,0 +1,18 @@ +import {ParserRuleContext, RuleContext} from "../context"; +import {TokenStream} from "../TokenStream"; +import {Recognizer} from "../Recognizer"; +import {CharStream} from "../CharStream"; + +export interface ExceptionParams { + message: string; + recognizer?: Recognizer; + input?: CharStream | TokenStream; + ctx?: ParserRuleContext; + +} + +export declare class RecognitionException extends Error { + ctx: RuleContext; + + constructor(params: ExceptionParams); +} diff --git a/runtime/JavaScript/src/antlr4/error/RecognitionException.js b/runtime/JavaScript/src/antlr4/error/RecognitionException.js index 3358e6b254..640164e3ad 100644 --- a/runtime/JavaScript/src/antlr4/error/RecognitionException.js +++ b/runtime/JavaScript/src/antlr4/error/RecognitionException.js @@ -12,6 +12,7 @@ */ export default class RecognitionException extends Error { + constructor(params) { super(params.message); if (Error.captureStackTrace) diff --git a/runtime/JavaScript/src/antlr4/error/index.d.ts b/runtime/JavaScript/src/antlr4/error/index.d.ts new file mode 100644 index 0000000000..226786dc57 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/error/index.d.ts @@ -0,0 +1,8 @@ +export * from './RecognitionException'; +export * from './NoViableAltException'; +export * from './FailedPredicateException'; +export * from './ErrorStrategy'; +export * from './BailErrorStrategy'; +export * from './ErrorListener'; +export * from './DiagnosticErrorListener'; + diff --git a/runtime/JavaScript/src/antlr4/index.d.ts b/runtime/JavaScript/src/antlr4/index.d.ts new file mode 100644 index 0000000000..28d06d406a --- /dev/null +++ b/runtime/JavaScript/src/antlr4/index.d.ts @@ -0,0 +1,17 @@ +export * from "./InputStream"; +export * from "./FileStream"; +export * from "./CharStream"; +export * from "./TokenStream"; +export * from "./BufferedTokenStream"; +export * from "./CommonTokenStream"; +export * from "./Lexer"; +export * from "./Parser"; +export * from './Token'; +export * from "./atn"; +export * from "./dfa"; +export * from "./context"; +export * from './misc'; +export * from './tree'; +export * from './state'; +export * from './error'; +export * from './utils'; \ No newline at end of file diff --git a/runtime/JavaScript/src/antlr4/index.js b/runtime/JavaScript/src/antlr4/index.js index 9e0e05b95f..458c6be1db 100644 --- a/runtime/JavaScript/src/antlr4/index.js +++ b/runtime/JavaScript/src/antlr4/index.js @@ -2,32 +2,63 @@ * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ -import './utils/stringHashCode.js'; -import './polyfills/codepointat.js'; -import './polyfills/fromcodepoint.js'; -import {default as atn} from './atn/index.js'; -import {default as dfa} from './dfa/index.js'; -import {default as tree} from './tree/index.js'; -import {default as error} from './error/index.js'; -import {default as context} from './context/index.js'; +import { default as atn } from './atn/index.js'; +import { default as dfa } from './dfa/index.js'; +import { default as context } from './context/index.js'; +import { default as misc } from './misc/index.js'; +import { default as tree } from './tree/index.js'; +import { default as error } from './error/index.js'; +import { default as CharStreams } from './CharStreams.js'; +import { default as Utils } from './utils/index.js'; + import Token from './Token.js'; import CommonToken from './CommonToken.js'; -import {default as CharStreams} from './CharStreams.js'; import InputStream from './InputStream.js'; +import CharStream from './InputStream.js'; import FileStream from './FileStream.js'; import CommonTokenStream from './CommonTokenStream.js'; import Lexer from './Lexer.js'; import Parser from './Parser.js'; -import PredictionContextCache from './atn/PredictionContextCache.js'; + +import RuleContext from './context/RuleContext.js'; import ParserRuleContext from './context/ParserRuleContext.js'; +import ATN from './atn/ATN.js'; +import PredictionMode from './atn/PredictionMode.js'; +import LL1Analyzer from './atn/LL1Analyzer.js'; +import ATNDeserializer from './atn/ATNDeserializer.js'; +import LexerATNSimulator from './atn/LexerATNSimulator.js'; +import ParserATNSimulator from './atn/ParserATNSimulator.js'; +import PredictionContextCache from './atn/PredictionContextCache.js'; +import DFA from "./dfa/DFA.js"; +import RecognitionException from "./error/RecognitionException.js"; +import FailedPredicateException from "./error/FailedPredicateException.js"; +import NoViableAltException from "./error/NoViableAltException.js"; +import BailErrorStrategy from "./error/BailErrorStrategy.js"; import Interval from './misc/Interval.js'; import IntervalSet from './misc/IntervalSet.js'; -import LL1Analyzer from './atn/LL1Analyzer.js'; -import {default as Utils} from './utils/index.js'; +import ParseTreeListener from "./tree/ParseTreeListener.js"; +import ParseTreeWalker from "./tree/ParseTreeWalker.js"; +import ErrorListener from "./error/ErrorListener.js" +import DiagnosticErrorListener from "./error/DiagnosticErrorListener.js" +import RuleNode from "./tree/RuleNode.js" +import TerminalNode from "./tree/TerminalNode.js" +import arrayToString from "./utils/arrayToString.js" + +export default { + atn, dfa, context, misc, tree, error, Token, CommonToken, CharStreams, CharStream, InputStream, FileStream, CommonTokenStream, Lexer, Parser, + ParserRuleContext, Interval, IntervalSet, LL1Analyzer, Utils +} -const antlr4 = { - atn, dfa, tree, error, context, Token, CommonToken, CharStreams, InputStream, FileStream, CommonTokenStream, Lexer, Parser, - PredictionContextCache, ParserRuleContext, Interval, IntervalSet, LL1Analyzer, Utils -}; +export { + Token, CommonToken, CharStreams, CharStream, InputStream, FileStream, CommonTokenStream, Lexer, Parser, + RuleNode, TerminalNode, ParseTreeWalker, RuleContext, ParserRuleContext, Interval, IntervalSet, + PredictionMode, LL1Analyzer, ParseTreeListener, ATN, ATNDeserializer, PredictionContextCache, LexerATNSimulator, ParserATNSimulator, DFA, + RecognitionException, NoViableAltException, FailedPredicateException, ErrorListener, DiagnosticErrorListener, BailErrorStrategy, + arrayToString +} -export default antlr4; +/* eslint no-unused-vars: [ "off"] */ +// need to import unused to force loading +import StringHashCode from './utils/stringHashCode.js'; +import CodePointAt from './polyfills/codepointat.js'; +import FromCodePoint from './polyfills/fromcodepoint.js'; \ No newline at end of file diff --git a/runtime/JavaScript/src/antlr4/misc/Interval.d.ts b/runtime/JavaScript/src/antlr4/misc/Interval.d.ts new file mode 100644 index 0000000000..05d54d8450 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/misc/Interval.d.ts @@ -0,0 +1,10 @@ +import {Token} from "../Token"; + +export declare class Interval { + + start: number; + stop: number; + + constructor(start: number, stop: number); + constructor(start: Token, stop: Token | undefined); +} diff --git a/runtime/JavaScript/src/antlr4/misc/IntervalSet.d.ts b/runtime/JavaScript/src/antlr4/misc/IntervalSet.d.ts new file mode 100644 index 0000000000..f9782f7712 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/misc/IntervalSet.d.ts @@ -0,0 +1,13 @@ +import {Interval} from "./Interval"; + +export declare class IntervalSet { + + isNil: boolean; + size: number; + minElement: number; + maxElement: number; + intervals: Interval[]; + + contains(i: number): boolean; + toString(literalNames?: (string | null)[], symbolicNames?: string[], elemsAreChar?: boolean): string; +} diff --git a/runtime/JavaScript/src/antlr4/misc/index.d.ts b/runtime/JavaScript/src/antlr4/misc/index.d.ts new file mode 100644 index 0000000000..c9d606a1a2 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/misc/index.d.ts @@ -0,0 +1,3 @@ +export * from './Interval' +export * from './IntervalSet'; + diff --git a/runtime/JavaScript/src/antlr4/misc/index.js b/runtime/JavaScript/src/antlr4/misc/index.js new file mode 100644 index 0000000000..80133cee38 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/misc/index.js @@ -0,0 +1,4 @@ +import Interval from './Interval.js'; +import IntervalSet from './IntervalSet.js'; + +export default { Interval, IntervalSet } diff --git a/runtime/JavaScript/src/antlr4/polyfills/codepointat.js b/runtime/JavaScript/src/antlr4/polyfills/codepointat.js index 6e71d48f50..45a886c18d 100644 --- a/runtime/JavaScript/src/antlr4/polyfills/codepointat.js +++ b/runtime/JavaScript/src/antlr4/polyfills/codepointat.js @@ -59,3 +59,6 @@ if (!String.prototype.codePointAt) { } }()); } + +const CodePointAt = String.prototype.codePointAt; +export default CodePointAt; diff --git a/runtime/JavaScript/src/antlr4/polyfills/fromcodepoint.js b/runtime/JavaScript/src/antlr4/polyfills/fromcodepoint.js index e6d25e6650..c85b417079 100644 --- a/runtime/JavaScript/src/antlr4/polyfills/fromcodepoint.js +++ b/runtime/JavaScript/src/antlr4/polyfills/fromcodepoint.js @@ -67,3 +67,6 @@ if (!String.fromCodePoint) { } }()); } + +const FromCodePoint = String.prototype.fromCodePoint; +export default FromCodePoint; diff --git a/runtime/JavaScript/src/antlr4/state/ATNState.d.ts b/runtime/JavaScript/src/antlr4/state/ATNState.d.ts new file mode 100644 index 0000000000..3e2cab9587 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/state/ATNState.d.ts @@ -0,0 +1,6 @@ +import {ATN} from "../atn"; + +export declare class ATNState { + atn: ATN; + stateNumber: number; +} diff --git a/runtime/JavaScript/src/antlr4/state/DecisionState.d.ts b/runtime/JavaScript/src/antlr4/state/DecisionState.d.ts new file mode 100644 index 0000000000..127c67f86c --- /dev/null +++ b/runtime/JavaScript/src/antlr4/state/DecisionState.d.ts @@ -0,0 +1,6 @@ +import {ATNState} from "./index"; + +export declare class DecisionState extends ATNState { + decision: number; + nonGreedy: boolean; +} diff --git a/runtime/JavaScript/src/antlr4/state/RuleStartState.d.ts b/runtime/JavaScript/src/antlr4/state/RuleStartState.d.ts new file mode 100644 index 0000000000..ef69ebbb49 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/state/RuleStartState.d.ts @@ -0,0 +1,6 @@ +import {ATNState, RuleStopState} from "./index"; + +export declare class RuleStartState extends ATNState { + stopState: RuleStopState; + isLeftRecursiveRule: boolean; +} diff --git a/runtime/JavaScript/src/antlr4/state/RuleStopState.d.ts b/runtime/JavaScript/src/antlr4/state/RuleStopState.d.ts new file mode 100644 index 0000000000..89283a3fa7 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/state/RuleStopState.d.ts @@ -0,0 +1,5 @@ +import {ATNState} from "./index"; + +export declare class RuleStopState extends ATNState { + +} diff --git a/runtime/JavaScript/src/antlr4/state/index.d.ts b/runtime/JavaScript/src/antlr4/state/index.d.ts new file mode 100644 index 0000000000..bff003e497 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/state/index.d.ts @@ -0,0 +1,5 @@ +export * from './ATNState'; +export * from './DecisionState'; +export * from './RuleStartState'; +export * from './RuleStopState'; + diff --git a/runtime/JavaScript/src/antlr4/tree/ErrorNode.d.ts b/runtime/JavaScript/src/antlr4/tree/ErrorNode.d.ts new file mode 100644 index 0000000000..b93cd50fe2 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/ErrorNode.d.ts @@ -0,0 +1,5 @@ +import {TerminalNode} from "./TerminalNode"; + +export declare class ErrorNode extends TerminalNode { + +} diff --git a/runtime/JavaScript/src/antlr4/tree/ParseTree.d.ts b/runtime/JavaScript/src/antlr4/tree/ParseTree.d.ts new file mode 100644 index 0000000000..bbf86c705c --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/ParseTree.d.ts @@ -0,0 +1,5 @@ +import {SyntaxTree} from "./SyntaxTree"; + +export declare class ParseTree extends SyntaxTree { + getText(): string; +} diff --git a/runtime/JavaScript/src/antlr4/tree/ParseTreeListener.d.ts b/runtime/JavaScript/src/antlr4/tree/ParseTreeListener.d.ts new file mode 100644 index 0000000000..af2ecc974d --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/ParseTreeListener.d.ts @@ -0,0 +1,10 @@ +import {ParserRuleContext} from "../context"; +import {ErrorNode} from "./ErrorNode"; +import {TerminalNode} from "./TerminalNode"; + +export declare abstract class ParseTreeListener { + visitTerminal(node: TerminalNode) : void; + visitErrorNode(node: ErrorNode) : void; + enterEveryRule(ctx: ParserRuleContext) : void; + exitEveryRule(ctx: ParserRuleContext) : void; +} diff --git a/runtime/JavaScript/src/antlr4/tree/ParseTreeVisitor.d.ts b/runtime/JavaScript/src/antlr4/tree/ParseTreeVisitor.d.ts new file mode 100644 index 0000000000..9329b4913e --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/ParseTreeVisitor.d.ts @@ -0,0 +1,16 @@ +import {RuleNode} from "./RuleNode"; +import {ErrorNode} from "./ErrorNode"; +import {TerminalNode} from "./TerminalNode"; +import {ParseTree} from "./ParseTree"; + +export declare class ParseTreeVisitor { + + visit(tree: ParseTree): Result; + + visitChildren(node: RuleNode): Result; + + visitTerminal(node: TerminalNode): Result; + + visitErrorNode(node: ErrorNode): Result; + +} diff --git a/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.d.ts b/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.d.ts new file mode 100644 index 0000000000..988dd541c5 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.d.ts @@ -0,0 +1,8 @@ +import {ParseTreeListener} from "./ParseTreeListener"; +import {ParseTree} from "./ParseTree"; + +export declare class ParseTreeWalker { + static DEFAULT: ParseTreeWalker; + + walk(listener: T, t: ParseTree): void; +} diff --git a/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.js b/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.js index 864707f286..ed757f90ea 100644 --- a/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.js +++ b/runtime/JavaScript/src/antlr4/tree/ParseTreeWalker.js @@ -39,7 +39,7 @@ export default class ParseTreeWalker { * @param r The grammar rule containing the rule context */ enterRule(listener, r) { - const ctx = r.getRuleContext(); + const ctx = r.ruleContext; listener.enterEveryRule(ctx); ctx.enterRule(listener); } @@ -51,7 +51,7 @@ export default class ParseTreeWalker { * @param r The grammar rule containing the rule context */ exitRule(listener, r) { - const ctx = r.getRuleContext(); + const ctx = r.ruleContext; ctx.exitRule(listener); listener.exitEveryRule(ctx); } diff --git a/runtime/JavaScript/src/antlr4/tree/RuleNode.d.ts b/runtime/JavaScript/src/antlr4/tree/RuleNode.d.ts new file mode 100644 index 0000000000..06a5e0b5ec --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/RuleNode.d.ts @@ -0,0 +1,5 @@ +import {ParseTree} from "./ParseTree"; + +export declare abstract class RuleNode extends ParseTree { + +} diff --git a/runtime/JavaScript/src/antlr4/tree/RuleNode.js b/runtime/JavaScript/src/antlr4/tree/RuleNode.js index bdd354a8d3..7d4f6d394a 100644 --- a/runtime/JavaScript/src/antlr4/tree/RuleNode.js +++ b/runtime/JavaScript/src/antlr4/tree/RuleNode.js @@ -6,7 +6,7 @@ import ParseTree from "./ParseTree.js"; export default class RuleNode extends ParseTree { - getRuleContext(){ + get ruleContext() { throw new Error("missing interface implementation") } } diff --git a/runtime/JavaScript/src/antlr4/tree/SyntaxTree.d.ts b/runtime/JavaScript/src/antlr4/tree/SyntaxTree.d.ts new file mode 100644 index 0000000000..8ca90b7ae8 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/SyntaxTree.d.ts @@ -0,0 +1,3 @@ +import {Tree} from "./Tree"; + +export declare class SyntaxTree extends Tree {} diff --git a/runtime/JavaScript/src/antlr4/tree/TerminalNode.d.ts b/runtime/JavaScript/src/antlr4/tree/TerminalNode.d.ts new file mode 100644 index 0000000000..568aea4d06 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/TerminalNode.d.ts @@ -0,0 +1,8 @@ +import {ParserRuleContext} from "../context"; +import {ParseTree} from "./ParseTree"; +import {Token} from "../Token"; + +export declare class TerminalNode extends ParseTree { + symbol: Token; + parentCtx: ParserRuleContext; +} diff --git a/runtime/JavaScript/src/antlr4/tree/Tree.d.ts b/runtime/JavaScript/src/antlr4/tree/Tree.d.ts new file mode 100644 index 0000000000..017f22bb67 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/Tree.d.ts @@ -0,0 +1 @@ +export declare class Tree {} diff --git a/runtime/JavaScript/src/antlr4/tree/Trees.js b/runtime/JavaScript/src/antlr4/tree/Trees.js index 93e6ce1688..c519e1ea54 100644 --- a/runtime/JavaScript/src/antlr4/tree/Trees.js +++ b/runtime/JavaScript/src/antlr4/tree/Trees.js @@ -49,7 +49,7 @@ const Trees = { } if(ruleNames!==null) { if (t instanceof RuleNode) { - const context = t.getRuleContext() + const context = t.ruleContext; const altNumber = context.getAltNumber(); // use const value of ATN.INVALID_ALT_NUMBER to avoid circular dependency if ( altNumber != 0 ) { diff --git a/runtime/JavaScript/src/antlr4/tree/index.d.ts b/runtime/JavaScript/src/antlr4/tree/index.d.ts new file mode 100644 index 0000000000..1fde81f536 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/tree/index.d.ts @@ -0,0 +1,8 @@ +export * from './RuleNode'; +export * from './ErrorNode'; +export * from './TerminalNode'; +export * from './ParseTree'; +export * from './ParseTreeListener'; +export * from './ParseTreeVisitor'; +export * from './ParseTreeWalker'; + diff --git a/runtime/JavaScript/src/antlr4/utils/Printer.d.ts b/runtime/JavaScript/src/antlr4/utils/Printer.d.ts new file mode 100644 index 0000000000..8be0fc9337 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/utils/Printer.d.ts @@ -0,0 +1,4 @@ +export declare abstract class Printer { + print(s: string) : void; + println(s: string) : void; +} diff --git a/runtime/JavaScript/src/antlr4/utils/arrayToString.d.ts b/runtime/JavaScript/src/antlr4/utils/arrayToString.d.ts new file mode 100644 index 0000000000..135095702a --- /dev/null +++ b/runtime/JavaScript/src/antlr4/utils/arrayToString.d.ts @@ -0,0 +1 @@ +export declare function arrayToString(value: any[]) : string; diff --git a/runtime/JavaScript/src/antlr4/utils/index.d.ts b/runtime/JavaScript/src/antlr4/utils/index.d.ts new file mode 100644 index 0000000000..46511572ca --- /dev/null +++ b/runtime/JavaScript/src/antlr4/utils/index.d.ts @@ -0,0 +1,4 @@ +export * from "./stringToCharArray"; +export * from "./arrayToString"; +export * from "./Printer"; + diff --git a/runtime/JavaScript/src/antlr4/utils/index.js b/runtime/JavaScript/src/antlr4/utils/index.js index 0606acf6af..67537804eb 100644 --- a/runtime/JavaScript/src/antlr4/utils/index.js +++ b/runtime/JavaScript/src/antlr4/utils/index.js @@ -2,6 +2,7 @@ * Use is of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ -import arrayToString from "../utils/arrayToString.js"; +import arrayToString from "./arrayToString.js"; +import stringToCharArray from "./stringToCharArray.js"; -export default { arrayToString }; +export default { arrayToString, stringToCharArray }; diff --git a/runtime/JavaScript/src/antlr4/utils/stringHashCode.js b/runtime/JavaScript/src/antlr4/utils/stringHashCode.js index d4563f9d9f..c9dc0de054 100644 --- a/runtime/JavaScript/src/antlr4/utils/stringHashCode.js +++ b/runtime/JavaScript/src/antlr4/utils/stringHashCode.js @@ -3,9 +3,11 @@ * can be found in the LICENSE.txt file in the project root. */ -String.prototype.seed = String.prototype.seed || Math.round(Math.random() * Math.pow(2, 32)); +export const StringSeedHashCode = Math.round(Math.random() * Math.pow(2, 32)); -String.prototype.hashCode = function () { +String.prototype.seed = StringSeedHashCode; + +export default function StringHashCode () { const key = this.toString(); let h1b, k1; @@ -60,4 +62,6 @@ String.prototype.hashCode = function () { h1 ^= h1 >>> 16; return h1 >>> 0; -}; +} + +String.prototype.hashCode = StringHashCode; diff --git a/runtime/JavaScript/src/antlr4/utils/stringToCharArray.d.ts b/runtime/JavaScript/src/antlr4/utils/stringToCharArray.d.ts new file mode 100644 index 0000000000..76c2721de6 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/utils/stringToCharArray.d.ts @@ -0,0 +1 @@ +export declare function stringToCharArray(str: string) : Uint16Array; diff --git a/runtime/JavaScript/src/antlr4/utils/stringToCharArray.js b/runtime/JavaScript/src/antlr4/utils/stringToCharArray.js new file mode 100644 index 0000000000..5125162484 --- /dev/null +++ b/runtime/JavaScript/src/antlr4/utils/stringToCharArray.js @@ -0,0 +1,7 @@ +export default function stringToCharArray(str) { + let result = new Uint16Array(str.length); + for (let i = 0; i < str.length; i++) { + result[i] = str.charCodeAt(i); + } + return result; +} diff --git a/runtime/JavaScript/tsconfig.json b/runtime/JavaScript/tsconfig.json new file mode 100644 index 0000000000..2eb2167e55 --- /dev/null +++ b/runtime/JavaScript/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "ES2020", + "moduleResolution": "Node", + "sourceMap": true, + "esModuleInterop":true, + "lib": [ + "ES2020" + ], + "noImplicitAny": true, + "strictNullChecks": true, + "preserveConstEnums": true, + "typeRoots": [ + "./node_modules/@types" + ], + "types": [ + "node" + ], + }, + "include": [ + "**/*.d.ts" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/runtime/JavaScript/webpack.config.cjs b/runtime/JavaScript/webpack.config.cjs index f201218200..a752c70e4e 100644 --- a/runtime/JavaScript/webpack.config.cjs +++ b/runtime/JavaScript/webpack.config.cjs @@ -8,15 +8,19 @@ module.exports = { filename: 'antlr4.js', path: path.resolve(__dirname, 'dist'), // the name of the exported antlr4 - library: "antlr4", - libraryTarget: 'window' + library: { + type: "module" + } }, - externals: { - module: "empty", - net: "empty", - fs: "empty" + resolve: { + extensions: [ '.js'], + fallback: { + module: false, + net: false, + fs: false + } }, - target: "web", + target: "node16", module: { rules: [{ test: /\.js$/, @@ -28,5 +32,10 @@ module.exports = { maxAssetSize: 512000, maxEntrypointSize: 512000 }, - plugins: [ new ESLintPlugin() ] + plugins: [ new ESLintPlugin() ], + experiments: { + outputModule: true, + topLevelAwait: true + }, + devtool: "source-map" }; diff --git a/tool/resources/org/antlr/v4/tool/templates/codegen/JavaScript/JavaScript.stg b/tool/resources/org/antlr/v4/tool/templates/codegen/JavaScript/JavaScript.stg index 10f9508fdd..c976bfc617 100644 --- a/tool/resources/org/antlr/v4/tool/templates/codegen/JavaScript/JavaScript.stg +++ b/tool/resources/org/antlr/v4/tool/templates/codegen/JavaScript/JavaScript.stg @@ -118,7 +118,7 @@ const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) ); -const sharedContextCache = new antlr4.PredictionContextCache(); +const sharedContextCache = new antlr4.atn.PredictionContextCache(); export default class extends { @@ -136,10 +136,6 @@ export default class extends { } - get atn() { - return atn; - } - sempred(localctx, ruleIndex, predIndex) { switch(ruleIndex) { @@ -454,7 +450,7 @@ TestSetInline(s) ::= << // Javascript language spec - shift operators are 32 bits long max testShiftInRange(shiftAmount) ::= << -(() & ~0x1f) == 0 +(() & ~0x1f) === 0 >> bitsetBitfieldComparison(s, bits) ::= <% @@ -535,13 +531,13 @@ catch () { // lexer actions are not associated with model objects -LexerSkipCommand() ::= "this.skip()" -LexerMoreCommand() ::= "this.more()" -LexerPopModeCommand() ::= "this.popMode()" -LexerTypeCommand(arg, grammar) ::= "this._type = " -LexerChannelCommand(arg, grammar) ::= "this._channel = " -LexerModeCommand(arg, grammar) ::= "this._mode = " -LexerPushModeCommand(arg, grammar) ::= "this.pushMode()" +LexerSkipCommand() ::= "this.skip();" +LexerMoreCommand() ::= "this.more();" +LexerPopModeCommand() ::= "this.popMode();" +LexerTypeCommand(arg, grammar) ::= "this._type = ;" +LexerChannelCommand(arg, grammar) ::= "this._channel = ;" +LexerModeCommand(arg, grammar) ::= "this._mode = ;" +LexerPushModeCommand(arg, grammar) ::= "this.pushMode();" ActionText(t) ::= "" ActionTemplate(t) ::= "" @@ -558,17 +554,17 @@ SetAttr(s,rhsChunks) ::= ". = " TokenLabelType() ::= "" InputSymbolType() ::= "" -TokenPropertyRef_text(t) ::= "(.===null ? null : ..text)" -TokenPropertyRef_type(t) ::= "(. === null ? 0 : ..type)" -TokenPropertyRef_line(t) ::= "(. === null ? 0 : ..line)" -TokenPropertyRef_pos(t) ::= "(. === null ? 0 : ..column)" -TokenPropertyRef_channel(t) ::= "(. === null ? 0 : ..channel)" -TokenPropertyRef_index(t) ::= "(. === null ? 0 : ..tokenIndex)" -TokenPropertyRef_int(t) ::= "(. === null ? 0 : parseInt(..text))" - -RulePropertyRef_start(r) ::= "(.===null ? null : ..start)" -RulePropertyRef_stop(r) ::= "(.===null ? null : ..stop)" -RulePropertyRef_text(r) ::= "(.===null ? null : this._input.getText(new antlr4.Interval(..start,..stop)))" +TokenPropertyRef_text(t) ::= "(. == null ? null : ..text)" +TokenPropertyRef_type(t) ::= "(. == null ? 0 : ..type)" +TokenPropertyRef_line(t) ::= "(. == null ? 0 : ..line)" +TokenPropertyRef_pos(t) ::= "(. == null ? 0 : ..column)" +TokenPropertyRef_channel(t) ::= "(. == null ? 0 : ..channel)" +TokenPropertyRef_index(t) ::= "(. == null ? 0 : ..tokenIndex)" +TokenPropertyRef_int(t) ::= "(. == null ? 0 : parseInt(..text))" + +RulePropertyRef_start(r) ::= "(. == null ? null : ..start)" +RulePropertyRef_stop(r) ::= "(. == null ? null : ..stop)" +RulePropertyRef_text(r) ::= "(. == null ? null : this._input.getText(new antlr4.Interval(..start,..stop)))" RulePropertyRef_ctx(r) ::= "." RulePropertyRef_parser(r) ::= "this" @@ -583,11 +579,11 @@ SetNonLocalAttr(s, rhsChunks) ::= "this.getInvokingContext().() { @@ -597,7 +593,7 @@ ContextTokenGetterDecl(t) ::= << // should never be called ContextTokenListGetterDecl(t) ::= << -_list() { +_list() { return this.getTokens(.); } >> @@ -624,7 +620,7 @@ ContextRuleGetterDecl(r) ::= << // should never be called ContextRuleListGetterDecl(r) ::= << -_list() { +_list() { return this.getTypedRuleContexts(.); } >> @@ -793,8 +789,8 @@ import antlr4 from 'antlr4'; Lexer(lexer, atn, actionFuncs, sempredFuncs, superClass) ::= << import from './.js'; - + const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); @@ -812,13 +808,9 @@ export default class extends antl constructor(input) { super(input) - this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); + this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.atn.PredictionContextCache()); } - - get atn() { - return atn; - } } .EOF = antlr4.Token.EOF; diff --git a/tool/resources/org/antlr/v4/tool/templates/codegen/TypeScript/TypeScript.stg b/tool/resources/org/antlr/v4/tool/templates/codegen/TypeScript/TypeScript.stg new file mode 100644 index 0000000000..468af00bbf --- /dev/null +++ b/tool/resources/org/antlr/v4/tool/templates/codegen/TypeScript/TypeScript.stg @@ -0,0 +1,931 @@ +// Copyright 2016-2022 The ANTLR Project. All rights reserved. +// Licensed under the BSD-3-Clause license. See LICENSE file in the project root for license information. + +typescriptTypeInitMap ::= [ + "bool":"false", + "int":"0", + "float":"0.0", + "str":"", + default:"{}" // anything other than a primitive type is an object +] + +// args must be , + +ParserFile(file, parser, namedActions, contextSuperClass) ::= << + +// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols + +import { + ATN, + ATNDeserializer, DecisionState, DFA, FailedPredicateException, + RecognitionException, NoViableAltException, BailErrorStrategy, + Parser, ParserATNSimulator, + RuleContext, ParserRuleContext, PredictionMode, PredictionContextCache, + TerminalNode, RuleNode, + Token, TokenStream, + Interval, IntervalSet +} from 'antlr4'; + +import Listener from "./Listener.js"; + + +import Visitor from "./Visitor.js"; + + +// for running tests with parameters, TODO: discuss strategy for typed parameters in CI +// eslint-disable-next-line no-unused-vars +type int = number; + + + +>> + +ListenerFile(file, header, namedActions) ::= << + + +import {ParseTreeListener} from "antlr4"; + +

+ +Context \} from "./";}; separator="\n"> + + + +/** + * This interface defines a complete listener for a parse tree produced by + * ``. + */ +export default class Listener extends ParseTreeListener { + + * Enter a parse tree produced by the `` + * labeled alternative in `.`. + + * Enter a parse tree produced by `.`. + + * @param ctx the parse tree + */ +enter?: (ctx: Context) => void; +/** + + * Exit a parse tree produced by the `` + * labeled alternative in `.`. + + * Exit a parse tree produced by `.`. + + * @param ctx the parse tree + */ +exit?: (ctx: Context) => void;}; separator="\n"> +} + + +>> + +VisitorFile(file, header, namedActions) ::= << + + +import {ParseTreeVisitor} from 'antlr4'; + +
+ +Context \} from "./";}; separator="\n"> + + + +/** + * This interface defines a complete generic visitor for a parse tree produced + * by ``. + * + * @param \ The return type of the visit operation. Use `void` for + * operations with no return type. + */ +export default class Visitor\ extends ParseTreeVisitor\ { + + * Visit a parse tree produced by the `` + * labeled alternative in `.`. + + * Visit a parse tree produced by `.`. + + * @param ctx the parse tree + * @return the visitor result + */ +visit?: (ctx: Context) => Result;}; separator="\n"> +} + + +>> + +fileHeader(grammarFileName, ANTLRVersion) ::= << +// Generated from by ANTLR +>> + +Parser(parser, funcs, atn, sempredFuncs, superClass, isLexer=false) ::= << + +>> + +Parser_(parser, funcs, atn, sempredFuncs, ctor, superClass) ::= << + +import from './'; + + +export default class extends { + + = ;}; separator="\n", wrap, anchor> + + public static readonly EOF = Token.EOF; + = ;}; separator="\n", wrap, anchor> + public static readonly literalNames: string[] = [ }; null="null", separator=", ", wrap, anchor> ]; + public static readonly symbolicNames: string[] = [ }; null="null", separator=", ", wrap, anchor> ]; + // tslint:disable:no-trailing-whitespace + public static readonly ruleNames: string[] = [ + ",}; separator=" ", wrap, anchor> + ]; + public get grammarFileName(): string { return ""; } + public get literalNames(): (string | null)[] { return .literalNames; } + public get symbolicNames(): (string | null)[] { return .symbolicNames; } + public get ruleNames(): string[] { return .ruleNames; } + public get serializedATN(): number[] { return ._serializedATN; } + + protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException { + return new FailedPredicateException(this, predicate, message); + } + + + + + + + public sempred(localctx: RuleContext, ruleIndex: number, predIndex: number): boolean { + switch (ruleIndex) { + : + return this._sempred(localctx as , predIndex);}; separator="\n"> + } + return true; + } + + + + + + static DecisionsToDFA = ._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) ); + +} + + + + + + +}; separator="\n"> + +}; separator="\n\n"> +>> + +dumpActions(recog, argFuncs, actionFuncs, sempredFuncs) ::= << + +// @Override +public action(localctx: RuleContext, ruleIndex: number, actionIndex: number): void { + switch (ruleIndex) { + : + this._action(()localctx, actionIndex); + break;}; separator="\n"> + } +} + + + +// @Override +public sempred(localctx: RuleContext, ruleIndex: number, predIndex: number): boolean { + switch (ruleIndex) { + : + return this._sempred(localctx as , predIndex);}; separator="\n"> + } + return true; +} + + +>> + +parser_ctor(p) ::= << +constructor(input: TokenStream) { + super(input); + this._interp = new ParserATNSimulator(this, ._ATN, .DecisionsToDFA, new PredictionContextCache()); +} +>> + +/* This generates a private method since the actionIndex is generated, making an + * overriding implementation impossible to maintain. + */ +RuleActionFunction(r, actions) ::= << +private _action(localctx: , actionIndex: number): void { + switch (actionIndex) { + : + + break;}; separator="\n"> + } +} +>> + +/* This generates a private method since the predIndex is generated, making an + * overriding implementation impossible to maintain. + */ +RuleSempredFunction(r, actions) ::= << +private _sempred(localctx: , predIndex: number): boolean { + switch (predIndex) { + : + return ;}; separator="\n"> + } + return true; +} +>> + +RuleFunction(currentRule,args,code,locals,ruleCtx,altLabelCtxs,namedActions,finallyAction,postamble,exceptions) ::= << +// @RuleVersion() + }>public (: }; separator=", ">): { + let localctx: = new (this, this._ctx, this.state}>); + this.enterRule(localctx, , .RULE_); + + + try { + + let _alt: number; + + + + + } + + + + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + + finally { + + this.exitRule(); + } + return localctx; +} +>> + +LeftFactoredRuleFunction(currentRule,args,code,locals,namedActions,finallyAction,postamble) ::= +<< + + }>private () { + let localctx: = new (this, this._ctx, this.state}>); + this.enterLeftFactoredRule(localctx, , .RULE_); + + + try { + + let _alt: number; + + + + + } catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + + this.exitRule(); + } + return localctx; +} +>> + +// This behaves similar to RuleFunction (enterRule is called, and no adjustments +// are made to the parse tree), but since it's still a variant no context class +// needs to be generated. +LeftUnfactoredRuleFunction(currentRule,args,code,locals,namedActions,finallyAction,postamble) ::= +<< + + }>private () { + let localctx: = new (this, this._ctx, this.state}>); + this.enterRule(localctx, , .RULE_); + + + try { + + let _alt: number; + + + + + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + + this.exitRule(); + } + return localctx; +} +>> + +LeftRecursiveRuleFunction(currentRule,args,code,locals,ruleCtx,altLabelCtxs, + namedActions,finallyAction,postamble) ::= +<< + + }>public (): ; + }>public (, _p: number): ; +// @RuleVersion() + }>public (, _p?: number): { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: = new (this, this._ctx, _parentState}>); + let _prevctx: = localctx; + let _startState: number = ; + this.enterRecursionRule(localctx, , .RULE_, _p); + + + try { + + let _alt: number; + + + + + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + + this.unrollRecursionContexts(_parentctx); + } + return localctx; +} +>> + +CodeBlockForOuterMostAlt(currentOuterMostAltCodeBlock, locals, preamble, ops) ::= << +localctx = new Context(this, localctx); +this.enterOuterAlt(localctx, ); + +>> + +CodeBlockForAlt(currentAltCodeBlock, locals, preamble, ops) ::= << + +// tslint:disable-next-line:no-empty + +{ + + + +} +>> + +LL1AltBlock(choice, preamble, alts, error) ::= << +this.state = ; +this._errHandler.sync(this); + = this._input.LT(1); + +switch (this._input.LA(1)) { + + + break;}; separator="\n"> +default: + +} +>> + +LL1OptionalBlock(choice, alts, error) ::= << +this.state = ; +this._errHandler.sync(this); +switch (this._input.LA(1)) { + + + break;}; separator="\n"> +default: + break; +} +>> + +LL1OptionalBlockSingleAlt(choice, expr, alts, preamble, error, followExpr) ::= << +this.state = ; +this._errHandler.sync(this); + +if () { + +} +)) !> +>> + +LL1StarBlockSingleAlt(choice, loopExpr, alts, preamble, iteration) ::= << +this.state = ; +this._errHandler.sync(this); + +while () { + + this.state = ; + this._errHandler.sync(this); + +} +>> + +LL1PlusBlockSingleAlt(choice, loopExpr, alts, preamble, iteration) ::= << +this.state = ; +this._errHandler.sync(this); + +do { + + this.state = ; + this._errHandler.sync(this); + +} while (); +>> + +// LL(*) stuff + +AltBlock(choice, preamble, alts, error) ::= << +this.state = ; +this._errHandler.sync(this); + = this._input.LT(1); + +switch ( this._interp.adaptivePredict(this._input, , this._ctx) ) { +: + + break;}; separator="\n"> +} +>> + +OptionalBlock(choice, alts, error) ::= << +this.state = ; +this._errHandler.sync(this); +switch ( this._interp.adaptivePredict(this._input, , this._ctx) ) { + + 1: + + break;}; separator="\n"> +} +>> + +StarBlock(choice, alts, sync, iteration) ::= << +this.state = ; +this._errHandler.sync(this); +_alt = this._interp.adaptivePredict(this._input, , this._ctx); +while (_alt !== && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1 + 1) { + + + } + this.state = ; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, , this._ctx); +} +>> + +PlusBlock(choice, alts, error) ::= << +this.state = ; +this._errHandler.sync(this); +_alt = 1 + 1; +do { + switch (_alt) { + + 1: + + break;}; separator="\n"> + default: + + } + this.state = ; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, , this._ctx); +} while (_alt !== && _alt !== ATN.INVALID_ALT_NUMBER); +>> + +Sync(s) ::= "this.sync();" + +ThrowNoViableAlt(t) ::= "throw new NoViableAltException(this);" + +TestSetInline(s) ::= << +}; separator=" || "> +>> + +// Javascript language spec - shift operators are 32 bits long max +testShiftInRange(shiftAmount) ::= << +(() & ~0x1F) === 0 +>> + +// produces smaller bytecode only when bits.ttypes contains more than two items +bitsetBitfieldComparison(s, bits) ::= <% +(})> && ((1 \<\< ) & ) !== 0) +%> + +isZero ::= [ +"0":true, +default:false +] + +offsetShiftVar(shiftAmount, offset) ::= <% +( - ) +%> + +offsetShiftType(shiftAmount, offset) ::= <% +(. - ). +%> + + +bitsetInlineComparison(s, bits) ::= <% +===}; separator=" || "> +%> + +cases(tokens) ::= << +:}; separator="\n"> +>> + +InvokeRule(r, argExprsChunks) ::= << +this.state = ; + = }>this.(,); +>> + +MatchToken(m) ::= << +this.state = ; + = }>this.match(.); +>> + +MatchSet(m, expr, capture) ::= "" + +MatchNotSet(m, expr, capture) ::= "" + +CommonSetStuff(m, expr, capture, invert) ::= << +this.state = ; + = }>this._input.LT(1); + +if(\<=0 || )if(!()) { + = }>this._errHandler.recoverInline(this); +} +else { + this._errHandler.reportMatch(this); + this.consume(); +} +>> + +Wildcard(w) ::= << +this.state = ; + = }>this.matchWildcard(); +>> + +// ACTION STUFF + +Action(a, foo, chunks) ::= "" + +ArgAction(a, chunks) ::= "" + +SemPred(p, chunks, failChunks) ::= << +this.state = ; +if (!()) { + throw this.createFailedPredicateException(, , ); +} +>> + +ExceptionClause(e, catchArg, catchAction) ::= << +catch () { + +} +>> + +// lexer actions are not associated with model objects + +LexerSkipCommand() ::= "this.skip();" +LexerMoreCommand() ::= "this.more();" +LexerPopModeCommand() ::= "this.popMode();" +LexerTypeCommand(arg, grammar) ::= "this._type = ;" +LexerChannelCommand(arg, grammar) ::= "this._channel = ;" +LexerModeCommand(arg, grammar) ::= "this._mode = ;" +LexerPushModeCommand(arg, grammar) ::= "this.pushMode();" + +ActionText(t) ::= "" +ActionTemplate(t) ::= "" +ArgRef(a) ::= "localctx." +LocalRef(a) ::= "localctx." +RetValueRef(a) ::= "localctx." +QRetValueRef(a) ::= "._." +/** How to translate $tokenLabel */ +TokenRef(t) ::= "._" +LabelRef(t) ::= "._" +ListLabelRef(t) ::= "._" +SetAttr(s,rhsChunks) ::= ". = ;" + +TokenLabelType() ::= "" +InputSymbolType() ::= "" + +TokenPropertyRef_text(t) ::= "(._ != null ? ._.text : undefined)" +TokenPropertyRef_type(t) ::= "(._ != null ? ._.type : 0)" +TokenPropertyRef_line(t) ::= "(._ != null ? ._.line : 0)" +TokenPropertyRef_pos(t) ::= "(._ != null ? ._.charPositionInLine : 0)" +TokenPropertyRef_channel(t) ::= "(._ != null ? ._.channel : 0)" +TokenPropertyRef_index(t) ::= "(._ != null ? ._.tokenIndex : 0)" +TokenPropertyRef_int(t) ::= "(._ != null ? Number(._.text) : 0)" + +RulePropertyRef_start(r) ::= "(._ != null ? (._.start) : undefined)" +RulePropertyRef_stop(r) ::= "(._ != null ? (._.stop) : undefined)" +RulePropertyRef_text(r) ::= "(._ != null ? this._input.getText(new Interval(._.start, ._.stop)) : undefined)" +RulePropertyRef_ctx(r) ::= "._" +RulePropertyRef_parser(r) ::= "this" + +ThisRulePropertyRef_start(r) ::= "localctx.start" +ThisRulePropertyRef_stop(r) ::= "localctx.stop" +ThisRulePropertyRef_text(r) ::= "this._input.getText(new Interval(localctx.start, this._input.LT(-1)))" +ThisRulePropertyRef_ctx(r) ::= "localctx" +ThisRulePropertyRef_parser(r) ::= "this" + +NonLocalAttrRef(s) ::= "(this.getInvokingContext() as Context)." +SetNonLocalAttr(s, rhsChunks) ::= + "(this.getInvokingContext() as Context). = ;" + +AddToLabelList(a) ::= "._.push();" + +TokenDecl(t) ::= "_!: " +TokenTypeDecl(t) ::= "let : number;" +TokenListDecl(t) ::= "_: Token[] = []" +RuleContextDecl(r) ::= "_!: " +RuleContextListDecl(rdecl) ::= "_: [] = []" + +ContextTokenGetterDecl(t) ::= << +public (): TerminalNode { + return this.getToken(., 0); +} +>> +ContextTokenListGetterDecl(t) ::= << +public _list(): TerminalNode[] { + return this.getTokens(.); +} +>> +ContextTokenListIndexedGetterDecl(t) ::= << +public (i: number): TerminalNode { + return this.getToken(., i); +} +>> +ContextRuleGetterDecl(r) ::= << +public (): { + return this.getTypedRuleContext(, 0) as ; +} +>> +ContextRuleListGetterDecl(r) ::= << +public _list(): [] { + return this.getTypedRuleContexts() as []; +} +>> +ContextRuleListIndexedGetterDecl(r) ::= << +public (i: number): { + return this.getTypedRuleContext(, i) as ; +} +>> + +LexerRuleContext() ::= "RuleContext" + +/** The rule context name is the rule followed by a suffix; e.g., + * r becomes rContext. + */ +RuleContextNameSuffix() ::= "Context" + +ImplicitTokenLabel(tokenName) ::= "" +ImplicitRuleLabel(ruleName) ::= "" +ImplicitSetLabel(id) ::= "_tset" +ListLabelName(label) ::= "