diff --git a/core/package.json b/core/package.json
index bcc0ab3a..7dad5219 100644
--- a/core/package.json
+++ b/core/package.json
@@ -5,7 +5,7 @@
"description": "Bundling complex sources for hugo",
"author": "TypeFox",
"license": "MIT",
- "private": true,
+ "private": true,
"main": "./dist/index.js",
"module": "./dist/index.js",
"exports": {
@@ -46,7 +46,7 @@
"@types/react-dom": "~18.2.13",
"@types/vscode": "~1.83.0",
"typescript": "~5.2.2",
- "vite": "~4.4.11"
+ "vite": "^4.5.2"
},
"dependencies": {
"@codingame/monaco-vscode-keybindings-service-override": "~1.83.2",
diff --git a/core/tsconfig.json b/core/tsconfig.json
index 501bcbcb..0681bfee 100644
--- a/core/tsconfig.json
+++ b/core/tsconfig.json
@@ -1,12 +1,8 @@
{
+ "extends": "../tsconfig.json",
"compilerOptions": {
- "noImplicitAny": true,
- "target": "ES2022",
- "module": "Node16",
- "moduleResolution": "Node16",
"rootDir": "src",
"outDir": "dist",
- "declaration": true,
"declarationDir": "dist"
},
"include": [
diff --git a/hugo/assets/scripts/arithmetics/arithmetics.tsx b/hugo/assets/scripts/arithmetics/arithmetics.tsx
index 84b29401..a3fad17a 100644
--- a/hugo/assets/scripts/arithmetics/arithmetics.tsx
+++ b/hugo/assets/scripts/arithmetics/arithmetics.tsx
@@ -192,7 +192,6 @@ class App extends React.Component<{}, AppState> {
userConfig = createUserConfig({
languageId: 'arithmetics',
code: examples[0],
- htmlElement: document.getElementById('root')!,
worker: '../../showcase/libs/worker/arithmeticsServerWorker.js',
monarchGrammar: syntaxHighlighting
});
diff --git a/hugo/assets/scripts/domainmodel/domainmodel.tsx b/hugo/assets/scripts/domainmodel/domainmodel.tsx
index 92ed77a2..1f3af9ff 100644
--- a/hugo/assets/scripts/domainmodel/domainmodel.tsx
+++ b/hugo/assets/scripts/domainmodel/domainmodel.tsx
@@ -144,7 +144,6 @@ class App extends React.Component<{}, AppState> {
userConfig = createUserConfig({
languageId: 'domainmodel',
code: example,
- htmlElement: document.getElementById('root')!,
worker: '../../showcase/libs/worker/domainmodelServerWorker.js',
monarchGrammar: syntaxHighlighting
});
diff --git a/hugo/assets/scripts/minilogo/minilogo.tsx b/hugo/assets/scripts/minilogo/minilogo.tsx
index c37802a1..605933e2 100644
--- a/hugo/assets/scripts/minilogo/minilogo.tsx
+++ b/hugo/assets/scripts/minilogo/minilogo.tsx
@@ -2,7 +2,7 @@ import { addMonacoStyles, createUserConfig, MonacoEditorReactComp, UserConfig }
import { buildWorkerDefinition } from "monaco-editor-workers";
import React, { createRef } from "react";
import { createRoot } from "react-dom/client";
-import { Diagnostic, DocumentChangeResponse, LangiumAST } from "../langium-utils/langium-ast";
+import { Diagnostic, DocumentChangeResponse } from "langium-ast-helper";
import { ColorArgs, Command, MoveArgs, examples, syntaxHighlighting } from "./minilogo-tools";
import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from "lz-string";
@@ -351,7 +351,6 @@ let code = url.searchParams.get("code");
userConfig = createUserConfig({
languageId: 'minilogo',
code: code ? decompressFromEncodedURIComponent(code) : examples[0].code,
- htmlElement: document.getElementById('root')!,
worker: '../../showcase/libs/worker/minilogoServerWorker.js',
monarchGrammar: syntaxHighlighting
});
diff --git a/hugo/assets/scripts/sql/constants.ts b/hugo/assets/scripts/sql/constants.ts
index 5d237a09..b1577475 100644
--- a/hugo/assets/scripts/sql/constants.ts
+++ b/hugo/assets/scripts/sql/constants.ts
@@ -1,138 +1,3 @@
-import { monaco } from "langium-website-core/bundle";
-
-export const syntaxHighlighting: monaco.languages.IMonarchLanguage = {
- tokenizer: {
- initial: [
- { regex: /x\'[A-Fa-f0-9]+\'/, action: { token: "string" } },
- { regex: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/, action: { token: "string" } },
- { regex: /\`(\\.|\\\\|[^`\\])*\`/, action: { token: "string" } },
- {
- regex: /[_a-zA-Z][\w_]*/,
- action: {
- cases: {
- "@keywords": { token: "keyword" },
- "@default": { token: "ID" },
- },
- },
- },
- { regex: /\d+((\.\d+)?([eE][\-+]?\d+)?)?/, action: { token: "number" } },
- { include: "@whitespace" },
- {
- regex: /@symbols/,
- action: {
- cases: {
- "@operators": { token: "operator" },
- "@default": { token: "" },
- },
- },
- },
- ],
- whitespace: [
- { regex: /\s+/, action: { token: "white" } },
- { regex: /\/\*/, action: { token: "comment", next: "@comment" } },
- { regex: /\-\-[^\n\r]*/, action: { token: "comment" } },
- { regex: /\/\/[^\n\r]*/, action: { token: "comment" } },
- ],
- comment: [
- { regex: /[^\/\*]+/, action: { token: "comment" } },
- { regex: /\*\//, action: { token: "comment", next: "@pop" } },
- { regex: /[\/\*]/, action: { token: "comment" } },
- ],
- },
- keywords: [
- "ALL",
- "AND",
- "AS",
- "ASC",
- "BETWEEN",
- "BY",
- "CASCADE",
- "CAST",
- "CATALOG",
- "CONSTRAINT",
- "CREATE",
- "CURRENT",
- "DATABASE",
- "DELETE",
- "DESC",
- "DISTINCT",
- "EXCEPT",
- "FALSE",
- "FETCH",
- "FIRST",
- "FOLLOWING",
- "FOREIGN",
- "FROM",
- "FUNCTION",
- "GROUP",
- "HAVING",
- "IN",
- "INDEX",
- "INTERSECT",
- "IS",
- "JOIN",
- "KEY",
- "LEFT",
- "LIKE",
- "LIMIT",
- "MINUS",
- "NEXT",
- "NOT",
- "NULL",
- "OFFSET",
- "ON",
- "ONLY",
- "OR",
- "ORDER",
- "OVER",
- "PARTITION",
- "PERCENT",
- "PRECEDING",
- "PRIMARY",
- "RANGE",
- "RECURSIVE",
- "REFERENCES",
- "REPLACE",
- "RIGHT",
- "ROW",
- "ROWS",
- "SCHEMA",
- "SELECT",
- "TABLE",
- "TIES",
- "TOP",
- "TRUE",
- "UNBOUNDED",
- "UNION",
- "UNIQUE",
- "USING",
- "WHERE",
- "WITH",
- ],
- symbols: /%|\(|\)|\*|\+|,|\-|\.|\/|::|::\$|::%|;|<|<=|<>|=|>|>=|\|\|/,
-
- operators: [
- "%",
- "*",
- "+",
- ",",
- "-",
- ".",
- "/",
- "::",
- "::$",
- "::%",
- ";",
- "<",
- "<=",
- "<>",
- "=",
- ">",
- ">=",
- "||",
- ],
-};
-
export const defaultText = `SELECT p.firstname, p.lastname
FROM
passenger p
diff --git a/hugo/assets/scripts/sql/language-server.ts b/hugo/assets/scripts/sql/language-server.ts
index 7c4a8381..e8f558b6 100644
--- a/hugo/assets/scripts/sql/language-server.ts
+++ b/hugo/assets/scripts/sql/language-server.ts
@@ -4,15 +4,14 @@
* terms of the MIT License, which is available in the project root.
******************************************************************************/
-import { startLanguageServer, EmptyFileSystem } from "langium";
+import { EmptyFileSystem } from "langium";
+import { startLanguageServer } from "langium/lsp";
import {
createConnection,
BrowserMessageReader,
BrowserMessageWriter,
-} from "vscode-languageserver/browser";
-import { createSqlServices } from "langium-sql";
-import { MySqlDialectTypes } from "langium-sql/lib/dialects/mysql/data-types";
-import { DialectTypes } from "langium-sql/lib/sql-data-types";
+} from "vscode-languageserver/browser.js";
+import { DialectTypes, MySqlDialectTypes, createSqlServices } from "langium-sql";
/* browser specific setup code */
const messageReader = new BrowserMessageReader(self);
diff --git a/hugo/assets/scripts/sql/sql.tmLanguage.json b/hugo/assets/scripts/sql/sql.tmLanguage.json
new file mode 100644
index 00000000..3662d7ae
--- /dev/null
+++ b/hugo/assets/scripts/sql/sql.tmLanguage.json
@@ -0,0 +1,71 @@
+{
+ "name": "sql",
+ "scopeName": "source.sql",
+ "fileTypes": [
+ ".sql"
+ ],
+ "patterns": [
+ {
+ "include": "#comments"
+ },
+ {
+ "name": "keyword.control.sql",
+ "match": "\\b([aA][lL][lL]|[aA][nN][dD]|[aA][sS]|[aA][sS][cC]|[bB][eE][tT][wW][eE][eE][nN]|[bB][yY]|[cC][aA][sS][cC][aA][dD][eE]|[cC][aA][sS][tT]|[cC][aA][tT][aA][lL][oO][gG]|[cC][oO][nN][sS][tT][rR][aA][iI][nN][tT]|[cC][rR][eE][aA][tT][eE]|[cC][uU][rR][rR][eE][nN][tT]|[dD][aA][tT][aA][bB][aA][sS][eE]|[dD][eE][lL][eE][tT][eE]|[dD][eE][sS][cC]|[dD][iI][sS][tT][iI][nN][cC][tT]|[eE][xX][cC][eE][pP][tT]|[fF][aA][lL][sS][eE]|[fF][eE][tT][cC][hH]|[fF][iI][rR][sS][tT]|[fF][oO][lL][lL][oO][wW][iI][nN][gG]|[fF][oO][rR][eE][iI][gG][nN]|[fF][rR][oO][mM]|[fF][uU][nN][cC][tT][iI][oO][nN]|[gG][rR][oO][uU][pP]|[hH][aA][vV][iI][nN][gG]|[iI][nN]|[iI][nN][dD][eE][xX]|[iI][nN][tT][eE][rR][sS][eE][cC][tT]|[iI][sS]|[jJ][oO][iI][nN]|[kK][eE][yY]|[lL][eE][fF][tT]|[lL][iI][kK][eE]|[lL][iI][mM][iI][tT]|[mM][iI][nN][uU][sS]|[nN][eE][xX][tT]|[nN][oO][tT]|[nN][uU][lL][lL]|[oO][fF][fF][sS][eE][tT]|[oO][nN]|[oO][nN][lL][yY]|[oO][rR]|[oO][rR][dD][eE][rR]|[oO][vV][eE][rR]|[pP][aA][rR][tT][iI][tT][iI][oO][nN]|[pP][eE][rR][cC][eE][nN][tT]|[pP][rR][eE][cC][eE][dD][iI][nN][gG]|[pP][rR][iI][mM][aA][rR][yY]|[rR][aA][nN][gG][eE]|[rR][eE][cC][uU][rR][sS][iI][vV][eE]|[rR][eE][fF][eE][rR][eE][nN][cC][eE][sS]|[rR][eE][pP][lL][aA][cC][eE]|[rR][iI][gG][hH][tT]|[rR][oO][wW]|[rR][oO][wW][sS]|[sS][cC][hH][eE][mM][aA]|[sS][eE][lL][eE][cC][tT]|[tT][aA][bB][lL][eE]|[tT][iI][eE][sS]|[tT][oO][pP]|[tT][rR][uU][eE]|[uU][nN][bB][oO][uU][nN][dD][eE][dD]|[uU][nN][iI][oO][nN]|[uU][nN][iI][qQ][uU][eE]|[uU][sS][iI][nN][gG]|[wW][hH][eE][rR][eE]|[wW][iI][tT][hH])\\b"
+ },
+ {
+ "name": "string.quoted.single.sql",
+ "begin": "'",
+ "end": "'",
+ "patterns": [
+ {
+ "include": "#string-character-escape"
+ }
+ ]
+ }
+ ],
+ "repository": {
+ "comments": {
+ "patterns": [
+ {
+ "name": "comment.block.sql",
+ "begin": "/\\*",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.comment.sql"
+ }
+ },
+ "end": "\\*/",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.comment.sql"
+ }
+ }
+ },
+ {
+ "begin": "--",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.whitespace.comment.leading.sql"
+ }
+ },
+ "end": "(?=$)",
+ "name": "comment.line.sql"
+ },
+ {
+ "begin": "//",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.whitespace.comment.leading.sql"
+ }
+ },
+ "end": "(?=$)",
+ "name": "comment.line.sql"
+ }
+ ]
+ },
+ "string-character-escape": {
+ "name": "constant.character.escape.sql",
+ "match": "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"
+ }
+ }
+}
diff --git a/hugo/assets/scripts/sql/ui.tsx b/hugo/assets/scripts/sql/ui.tsx
index 8cdacf04..9c55aed9 100644
--- a/hugo/assets/scripts/sql/ui.tsx
+++ b/hugo/assets/scripts/sql/ui.tsx
@@ -2,13 +2,11 @@ import { addMonacoStyles, createUserConfig, MonacoEditorReactComp, UserConfig }
import { buildWorkerDefinition } from "monaco-editor-workers";
import React from "react";
import { createRoot } from "react-dom/client";
-import {
- DocumentChangeResponse,
-} from "../langium-utils/langium-ast";
import {
defaultText,
- syntaxHighlighting,
} from "./constants";
+import textMateGrammar from './sql.tmLanguage.json';
+import { DocumentChangeResponse } from "langium-ast-helper";
addMonacoStyles('monaco-styles-helper');
@@ -88,17 +86,15 @@ class App extends React.Component<{}> {
is a Monaco editor driven by our SQL language server. The current setup mimics MySQL.
Features
-
-
- - Schema-driven: Add a set of table definitions to spread out the world for your SELECT queries. The table definitions can be located in a different file of the same workspace. You can keep definitions and queries separated.
- - Code completion: Press Ctrl + Space keys to trigger the completion directly. You will get suggestions for the current context.
- - Syntax highlighting: to distinguish what are keywords, identifiers, numeric literals and for a better perception of the SQL syntax.
- - Symbol search: Use Cmd or Ctrl + mouse click on a column name to find the definition of it or explore the places where a column is used.
- - Fast feedback about contextual correctness: Whether referenced columns exist or types on certain operators are matching.
- - Super-set approach: Any piece of any dialect that is missing can be added to the main grammar and be protected from other dialects using validations.
- - Highly customizable: Any behavior or aspect that is missing for your specific use case can be easily overwritten.
-
-
+
+ - Schema-driven: Add a set of table definitions to spread out the world for your SELECT queries. The table definitions can be located in a different file of the same workspace. You can keep definitions and queries separated.
+ - Code completion: Press Ctrl + Space keys to trigger the completion directly. You will get suggestions for the current context.
+ - Syntax highlighting: to distinguish what are keywords, identifiers, numeric literals and for a better perception of the SQL syntax.
+ - Symbol search: Use Cmd or Ctrl + mouse click on a column name to find the definition of it or explore the places where a column is used.
+ - Fast feedback about contextual correctness: Whether referenced columns exist or types on certain operators are matching.
+ - Super-set approach: Any piece of any dialect that is missing can be added to the main grammar and be protected from other dialects using validations.
+ - Highly customizable: Any behavior or aspect that is missing for your specific use case can be easily overwritten.
+
About the given SQL document
The document contains the database schema of an airport. It is a copy of the Flughafen DB by Stefan Proell, Eva Zangerle, Wolfgang Gassler
@@ -115,9 +111,8 @@ class App extends React.Component<{}> {
userConfig = createUserConfig({
languageId: 'sql',
code: defaultText,
- htmlElement: document.getElementById('root')!,
worker: '../../showcase/libs/worker/sqlServerWorker.js',
- monarchGrammar: syntaxHighlighting
+ textmateGrammar: textMateGrammar
});
const element = document.getElementById("root") as HTMLElement;
diff --git a/hugo/assets/scripts/statemachine/statemachine.tsx b/hugo/assets/scripts/statemachine/statemachine.tsx
index 75ee5284..568ba52e 100644
--- a/hugo/assets/scripts/statemachine/statemachine.tsx
+++ b/hugo/assets/scripts/statemachine/statemachine.tsx
@@ -291,7 +291,6 @@ class StateMachineComponent extends React.Component<{
const langiumGlobalConfig: UserConfig = createUserConfig({
languageId: 'statemachine',
code: defaultText,
- htmlElement: document.getElementById('root')!,
textmateGrammar: statemachineGrammar,
worker: '../../showcase/libs/worker/statemachineServerWorker.js'
});
diff --git a/hugo/babel.config.js b/hugo/babel.config.cjs
similarity index 100%
rename from hugo/babel.config.js
rename to hugo/babel.config.cjs
diff --git a/hugo/content/playground/Tree.tsx b/hugo/content/playground/Tree.tsx
index 2b15c1fd..cbcb9060 100644
--- a/hugo/content/playground/Tree.tsx
+++ b/hugo/content/playground/Tree.tsx
@@ -4,12 +4,11 @@
* terms of the MIT License, which is available in the project root.
******************************************************************************/
-import { AstNode } from "langium";
-import React, { FC, useState } from "react";
+import { FC, useState } from "react";
import * as ReactDOM from "react-dom/client";
-import { preprocessAstNodeObject, PropertyNode, ValueNode } from "./preprocess";
+import { preprocessAstNodeObject, PropertyNode, ValueNode } from "./preprocess.js";
import { clsx } from "clsx";
-import { AstNodeLocator } from "langium/lib/workspace/ast-node-locator";
+import { AstNode, AstNodeLocator } from "langium";
export let treeRoot: ReactDOM.Root;
diff --git a/hugo/content/playground/common.ts b/hugo/content/playground/common.ts
index 2cfc45e9..b67af5fe 100644
--- a/hugo/content/playground/common.ts
+++ b/hugo/content/playground/common.ts
@@ -3,22 +3,21 @@
* This program and the accompanying materials are made available under the
* terms of the MIT License, which is available in the project root.
******************************************************************************/
-
import {
HelloWorldGrammar,
- LangiumMonarchContent,
+ LangiumTextMateContent,
DSLInitialContent,
-} from "./data";
-import { generateMonarch } from "./monarch-generator";
+} from "./constants.js";
import { decompressFromEncodedURIComponent } from 'lz-string';
import { Disposable } from "vscode-languageserver";
-import { DefaultAstNodeLocator, createServicesForGrammar } from "langium";
-import { render } from './Tree';
-import { overlay, throttle } from "./utils";
+import { render } from './Tree.js';
+import { overlay, throttle } from "./utils.js";
import { addMonacoStyles, createUserConfig, MonacoEditorLanguageClientWrapper } from "langium-website-core/bundle";
-import { DocumentChangeResponse } from "../../assets/scripts/langium-utils/langium-ast";
-
-export { share, overlay } from './utils';
+import { DocumentChangeResponse } from "langium-ast-helper";
+import { DefaultAstNodeLocator } from "langium";
+import { createServicesForGrammar } from "langium/grammar";
+import { generateTextMate } from "langium-cli/textmate";
+export { share, overlay } from './utils.js';
export { addMonacoStyles, MonacoEditorLanguageClientWrapper };
export interface PlaygroundParameters {
@@ -157,7 +156,7 @@ export async function setupPlayground(
await setupDSLWrapper();
overlay(false, false);
- }).catch(async (e) => {
+ }).catch(async (e: any) => {
// failed to dispose, report & discard this error
// can happen when a previous editor was not started correctly
console.error('DSL editor disposal error: ' + e);
@@ -210,20 +209,19 @@ async function getFreshDSLWrapper(
code: string,
grammarText: string
): Promise {
-
// construct and set a new monarch syntax onto the editor
const { Grammar } = await createServicesForGrammar({ grammar: grammarText });
-
const worker = await getLSWorkerForGrammar(grammarText);
const wrapper = new MonacoEditorLanguageClientWrapper();
+ const textmateGrammar = JSON.parse(generateTextMate(Grammar, { id: languageId, grammar: 'UserGrammar' }));
return wrapper.start(createUserConfig({
languageId,
code,
worker,
- monarchGrammar: generateMonarch(Grammar, languageId)
+ textmateGrammar
}), htmlElement).then(() => {
return wrapper;
- }).catch(async (e) => {
+ }).catch(async (e: any) => {
console.error('Failed to start DSL wrapper: ' + e);
// don't leak the worker on failure to start
// normally we wouldn't need to manually terminate, but if the LC is stuck in the 'starting' state, the following dispose will fail prematurely
@@ -234,7 +232,7 @@ async function getFreshDSLWrapper(
try {
await wrapper.dispose();
} catch (e) {}
- return undefined;
+ return undefined as MonacoEditorLanguageClientWrapper|undefined;
});
}
@@ -251,7 +249,7 @@ async function getFreshLangiumWrapper(htmlElement: HTMLElement): Promise|\\=>|<|>|\\,|\\*|\\+|\\@|\\||\\&|\\?|\\!|\\;)"
+ },
+ {
+ "name": "string.quoted.double.langium",
+ "begin": "\"",
+ "end": "\"",
+ "patterns": [
+ {
+ "include": "#string-character-escape"
+ }
+ ]
+ },
+ {
+ "name": "string.quoted.single.langium",
+ "begin": "'",
+ "end": "'",
+ "patterns": [
+ {
+ "include": "#string-character-escape"
+ }
+ ]
+ }
+ ],
+ "repository": {
+ "comments": {
+ "patterns": [
+ {
+ "name": "comment.block.langium",
+ "begin": "/\\*",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.comment.langium"
+ }
+ },
+ "end": "\\*/",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.comment.langium"
+ }
+ }
+ },
+ {
+ "begin": "(^\\s+)?(?=//)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.whitespace.comment.leading.cs"
+ }
+ },
+ "end": "(?=$)",
+ "name": "comment.line.langium"
+ }
+ ]
+ },
+ "string-character-escape": {
+ "name": "constant.character.escape.langium",
+ "match": "\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"
+ },
+ "regex": {
+ "patterns": [
+ {
+ "name": "string.regexp.ts",
+ "begin": "(?|&&|\\|\\||\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[\\()]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\]|\\(([^\\)\\\\]|\\\\.)+\\))+\\/([a-z]+|(?![\\/\\*])|(?=\\/\\*))(?!\\s*[a-zA-Z0-9_$]))",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.string.begin.ts"
+ }
+ },
+ "end": "(/)([a-z]*)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.string.end.ts"
+ },
+ "2": {
+ "name": "keyword.other.ts"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#regexp"
+ }
+ ]
+ },
+ {
+ "name": "string.regexp.ts",
+ "begin": "((?",
+ "captures": {
+ "0": {
+ "name": "keyword.other.back-reference.regexp"
+ },
+ "1": {
+ "name": "variable.other.regexp"
+ }
+ }
+ },
+ {
+ "name": "keyword.operator.quantifier.regexp",
+ "match": "[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
+ },
+ {
+ "name": "keyword.operator.or.regexp",
+ "match": "\\|"
+ },
+ {
+ "name": "meta.group.assertion.regexp",
+ "begin": "(\\()((\\?=)|(\\?!)|(\\?<=)|(\\?))?",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.regexp"
+ },
+ "1": {
+ "name": "punctuation.definition.group.no-capture.regexp"
+ },
+ "2": {
+ "name": "variable.other.regexp"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.regexp"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#regexp"
+ }
+ ]
+ },
+ {
+ "name": "constant.other.character-class.set.regexp",
+ "begin": "(\\[)(\\^)?",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.character-class.regexp"
+ },
+ "2": {
+ "name": "keyword.operator.negation.regexp"
+ }
+ },
+ "end": "(\\])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.character-class.regexp"
+ }
+ },
+ "patterns": [
+ {
+ "name": "constant.other.character-class.range.regexp",
+ "match": "(?:.|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\c[A-Z])|(\\\\.))",
+ "captures": {
+ "1": {
+ "name": "constant.character.numeric.regexp"
+ },
+ "2": {
+ "name": "constant.character.control.regexp"
+ },
+ "3": {
+ "name": "constant.character.escape.backslash.regexp"
+ },
+ "4": {
+ "name": "constant.character.numeric.regexp"
+ },
+ "5": {
+ "name": "constant.character.control.regexp"
+ },
+ "6": {
+ "name": "constant.character.escape.backslash.regexp"
+ }
+ }
+ },
+ {
+ "include": "#regex-character-class"
+ }
+ ]
+ },
+ {
+ "include": "#regex-character-class"
+ }
+ ]
+ },
+ "regex-character-class": {
+ "patterns": [
+ {
+ "name": "constant.other.character-class.regexp",
+ "match": "\\\\[wWsSdDtrnvf]|\\."
+ },
+ {
+ "name": "constant.character.numeric.regexp",
+ "match": "\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})"
+ },
+ {
+ "name": "constant.character.control.regexp",
+ "match": "\\\\c[A-Z]"
+ },
+ {
+ "name": "constant.character.escape.backslash.regexp",
+ "match": "\\\\."
+ }
+ ]
+ }
+ }
+};
+
+export const HelloWorldGrammar = `grammar HelloWorld
+
+entry Model:
+ (persons+=Person | greetings+=Greeting)*;
+
+Person:
+ 'person' name=ID;
+
+Greeting:
+ 'Hello' person=[Person:ID] '!';
+
+hidden terminal WS: /\\s+/;
+terminal ID: /[_a-zA-Z][\\w_]*/;
+
+hidden terminal ML_COMMENT: /\\/\\*[\\s\\S]*?\\*\\//;
+hidden terminal SL_COMMENT: /\\/\\/[^\\n\\r]*/;
+`;
+
+// hello world program
+export const DSLInitialContent = `person John
+person Jane
+
+Hello John!
+Hello Jane!
+`;
diff --git a/hugo/content/playground/data.ts b/hugo/content/playground/data.ts
deleted file mode 100644
index e3f82572..00000000
--- a/hugo/content/playground/data.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************************
- * Copyright 2022 TypeFox GmbH
- * This program and the accompanying materials are made available under the
- * terms of the MIT License, which is available in the project root.
- ******************************************************************************/
-
-export const LangiumMonarchContent = {
- keywords: [
- "bigint",
- "boolean",
- "current",
- "Date",
- "entry",
- "extends",
- "false",
- "fragment",
- "grammar",
- "hidden",
- "import",
- "infer",
- "infers",
- "interface",
- "number",
- "returns",
- "string",
- "terminal",
- "true",
- "type",
- "with",
- ],
- operators: [
- "->",
- ",",
- ";",
- ":",
- "!",
- "?",
- "?=",
- ".",
- "..",
- "@",
- "*",
- "&",
- "+",
- "+=",
- "<",
- "=",
- "=>",
- ">",
- "|",
- ],
- symbols:
- /->|,|;|:|!|\?|\?=|\.|\.\.|\(|\)|\[|\[\]|\]|\{|\}|@|\*|&|\+|\+=|<|=|=>|>|\|/,
-
- tokenizer: {
- initial: [
- {
- regex: /\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\//,
- action: { token: "string" },
- },
- {
- regex: /\^?[_a-zA-Z][\w_]*/,
- action: {
- cases: {
- "@keywords": { token: "keyword" },
- "@default": { token: "ID" },
- },
- },
- },
- { regex: /"[^"]*"|'[^']*'/, action: { token: "string" } },
- { include: "@whitespace" },
- {
- regex: /@symbols/,
- action: {
- cases: {
- "@operators": { token: "operator" },
- "@default": { token: "" },
- },
- },
- },
- ],
- whitespace: [
- { regex: /\s+/, action: { token: "white" } },
- { regex: /\/\*/, action: { token: "comment", next: "@comment" } },
- { regex: /\/\/[^\n\r]*/, action: { token: "comment" } },
- ],
- comment: [
- { regex: /[^\/\*]+/, action: { token: "comment" } },
- { regex: /\*\//, action: { token: "comment", next: "@pop" } },
- { regex: /[\/\*]/, action: { token: "comment" } },
- ],
- },
-};
-
-export const HelloWorldGrammar = `grammar HelloWorld
-
-entry Model:
- (persons+=Person | greetings+=Greeting)*;
-
-Person:
- 'person' name=ID;
-
-Greeting:
- 'Hello' person=[Person:ID] '!';
-
-hidden terminal WS: /\\s+/;
-terminal ID: /[_a-zA-Z][\\w_]*/;
-
-hidden terminal ML_COMMENT: /\\/\\*[\\s\\S]*?\\*\\//;
-hidden terminal SL_COMMENT: /\\/\\/[^\\n\\r]*/;
-`;
-
-// hello world program
-export const DSLInitialContent = `person John
-person Jane
-
-Hello John!
-Hello Jane!
-`;
diff --git a/hugo/content/playground/langium-worker.ts b/hugo/content/playground/langium-worker.ts
index b69b74b3..59eb71c3 100644
--- a/hugo/content/playground/langium-worker.ts
+++ b/hugo/content/playground/langium-worker.ts
@@ -4,9 +4,11 @@
* terms of the MIT License, which is available in the project root.
******************************************************************************/
-import { DocumentState, startLanguageServer, EmptyFileSystem, createLangiumGrammarServices } from 'langium';
-import { NotificationType } from 'vscode-languageserver/browser';
-import { DocumentChange, createServerConnection } from './worker-utils';
+import { NotificationType } from 'vscode-languageserver/browser.js';
+import { DocumentChange, createServerConnection } from './worker-utils.js';
+import { EmptyFileSystem, DocumentState } from 'langium';
+import { startLanguageServer } from 'langium/lsp';
+import { createLangiumGrammarServices } from 'langium/grammar';
// establish a browser server connection
const connection = createServerConnection();
diff --git a/hugo/content/playground/monaco-utils.ts b/hugo/content/playground/monaco-utils.ts
deleted file mode 100644
index e74ae5db..00000000
--- a/hugo/content/playground/monaco-utils.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-/******************************************************************************
- * Copyright 2022 TypeFox GmbH
- * This program and the accompanying materials are made available under the
- * terms of the MIT License, which is available in the project root.
- ******************************************************************************/
-
- import { MagicAction, Message, MessageWrapper, PlaygroundMessage, Notification, isNotification, DedicatedWorkerGlobalScope, MessageCallback } from "./types";
-import {
- AbstractMessageReader,
- BrowserMessageReader,
- BrowserMessageWriter,
- DataCallback,
- Disposable,
- Emitter,
- MessageReader,
- } from "vscode-languageserver/browser";
-
-export { BrowserMessageReader, BrowserMessageWriter };
-
-export class PlaygroundWrapper implements MessageWrapper {
- wrap(message: PlaygroundMessage): Message {
- return {
- jsonrpc: "2.0",
- method: MagicAction,
- params: [message],
- } as Notification;
- }
- unwrap(message: Message): PlaygroundMessage | null {
- if (isNotification(message) && message.method === MagicAction) {
- return message.params![0] as PlaygroundMessage;
- }
- return null;
- }
-}
-
-export class ByPassingMessageReader
- extends AbstractMessageReader
- implements MessageReader
-{
- private _onData: Emitter;
- private _onByPass: Emitter;
- private _messageListener: (event: MessageEvent) => void;
-
- public constructor(
- port: MessagePort | Worker | DedicatedWorkerGlobalScope,
- wrapper: MessageWrapper
- ) {
- super();
- this._onData = new Emitter();
- this._onByPass = new Emitter();
- this._messageListener = (event: MessageEvent) => {
- const unwrapped = wrapper.unwrap(event.data);
- if (unwrapped) {
- this._onByPass.fire(unwrapped);
- return;
- }
- this._onData.fire(event.data);
- };
- port.addEventListener("error", (event) => this.fireError(event));
- port.onmessage = this._messageListener;
- }
-
- public listen(callback: DataCallback): Disposable {
- return this._onData.event((x) => callback(x as any));
- }
-
- public listenByPass(callback: MessageCallback): Disposable {
- return this._onByPass.event(callback);
- }
-}
-
-export class ByPassingMessageWriter extends BrowserMessageWriter {
- public constructor(
- port: MessagePort | Worker | DedicatedWorkerGlobalScope,
- private wrapper: MessageWrapper
- ) {
- super(port);
- }
-
- public byPassWrite(message: T) {
- return this.write(this.wrapper.wrap(message));
- }
-}
-
-export interface MonacoConnection {
- reader: ByPassingMessageReader;
- writer: ByPassingMessageWriter;
-}
-
-export interface MonacoEditorResult {
- out: ByPassingMessageReader;
- in: ByPassingMessageWriter;
- editor: MonacoClient;
-}
-
-export interface MonacoConfig {
- getMainCode(): string;
- setMainCode(code: string): void;
- setMainLanguageId(name: string): void;
- setMonarchTokensProvider(monarch: any): void;
- theme: string;
- useLanguageClient: boolean;
- useWebSocket: boolean;
- setMonacoEditorOptions(monacoEditorOptions: Record): void;
-}
-
-export interface MonacoClient {
- getEditorConfig(): MonacoConfig;
- setWorker(worker: Worker, connection: MonacoConnection): void;
- startEditor(domElement: HTMLElement): void;
- updateLayout(): void;
- dispose(): Promise;
- getMainCode(): string;
-}
diff --git a/hugo/content/playground/monarch-generator.ts b/hugo/content/playground/monarch-generator.ts
deleted file mode 100644
index 1a6e5623..00000000
--- a/hugo/content/playground/monarch-generator.ts
+++ /dev/null
@@ -1,506 +0,0 @@
-/******************************************************************************
- * Copyright 2022 TypeFox GmbH
- * This program and the accompanying materials are made available under the
- * terms of the MIT License, which is available in the project root.
- ******************************************************************************/
-
-import * as langium from "langium";
-import {
- getTerminalParts,
- isCommentTerminal,
- escapeRegExp,
- stream,
-} from "langium";
-import { isParserRule, isKeyword, isTerminalRule, isRegexToken, TerminalRule, AbstractElement, isAlternatives, isGroup, isUnorderedGroup, isAssignment } from "langium/lib/grammar/generated/ast";
-import { terminalRegex } from "langium/lib/grammar/internal-grammar-util";
-
-/**
- * Monarch Language Definition, describes aspects & token categories of target language
- */
-interface LanguageDefinition {
- readonly name: string;
- readonly keywords: string[];
- readonly operators: string[];
- readonly symbols: string[];
- readonly tokenPostfix: string;
-}
-
-/**
- * Monarch Tokenizer, consists of an object that defines states.
- */
-interface Tokenizer {
- states: State[];
-}
-
-/**
- * Name of a State
- */
-type StateName = string;
-
-/**
- * Each state is defined as an array of rules which are used to match the input
- * Rules can be regular, or other States whose rules we should include in this state
- */
-interface State {
- name: StateName;
- rules: Array;
-}
-
-/**
- * A rule that matches input. Can have either an action, or an array of cases.
- */
-interface RegexRule {
- regex: RegExp | string;
- action: Action | Case[];
-}
-
-interface IncludeRule {
- include: string;
-}
-
-type Rule = RegexRule | IncludeRule;
-
-/**
- * A case that selects a specific action by matching a guard pattern
- */
-interface Case {
- guard: string;
- action: Action;
-}
-
-/**
- * Determines whether a given object is a Rule instance
- * @param obj Object to check
- * @returns Whether this object is a Rule
- */
-function isRegexRule(obj: State | Rule): obj is RegexRule {
- return (
- (obj as RegexRule).regex !== undefined &&
- (obj as RegexRule).action !== undefined
- );
-}
-
-function isIncludeRule(obj: State | Rule): obj is IncludeRule {
- return (obj as IncludeRule).include !== undefined;
-}
-
-/**
- * Name of a token type, such as 'string'
- */
-type Token = string;
-
-/**
- * Token class to be used for CSS rendering, such as 'keyword', 'component', or 'type.identifer'
- */
-type TokenClass = string;
-
-/**
- * Next state that proceeds from an action, can also be a pop or a push of the current state (like for nested block comments)
- */
-type NextState = StateName | "@pop" | "@push";
-
-/**
- * An action performed when a rule (or a case) matches token.
- * It can determine the token class, as well whether to push/pop a tokenizer state
- */
-interface Action {
- token?: Token;
- tokenClass?: TokenClass;
- next?: NextState;
- cases?: { [name: string]: Action };
- // other more advanced states omitted...
-}
-
-/**
- * Abstract representation of a Monarch grammar file
- */
-interface MonarchGrammar {
- readonly languageDefinition: LanguageDefinition;
- readonly tokenizer: Tokenizer;
-}
-
-/**
- * Generates a Monarch highlighting grammar file's contents, based on the passed Langium grammar
- * @param grammar Langium grammar to use in generating this Monarch syntax highlighting file content
- * @param config Langium Config to also use during generation
- * @returns Generated Monarch syntax highlighting file content
- */
-export function generateMonarch(grammar: langium.Grammar, id: string) {
- const symbols = getSymbols(grammar);
- const regex = /[{}[\]()]/;
- const operators = symbols.filter((s) => !regex.test(s));
-
- // build absract monarch grammar representation
- const monarchGrammar: MonarchGrammar = {
- languageDefinition: {
- name: id, // identifier for generating the grammar export
- keywords: getKeywords(grammar),
- operators,
- symbols,
- tokenPostfix: "." + id, // category appended to all tokens
- },
- tokenizer: {
- states: getTokenizerStates(grammar),
- },
- };
-
- // return concrete monarch grammar representation
- return prettyPrint(monarchGrammar);
-}
-
-/**
- * Gets Monarch tokenizer states from a Langium grammar
- * @param grammar Langium grammar to source tokenizer states from
- * @returns Array of tokenizer states
- */
-function getTokenizerStates(grammar: langium.Grammar): State[] {
- // initial state, name is arbitrary, just needs to come first
- const initialState: State = {
- name: "initial",
- rules: getTerminalRules(grammar),
- };
-
- const whitespaceState: State = {
- name: "whitespace",
- rules: getWhitespaceRules(grammar),
- };
-
- const commentState: State = {
- name: "comment",
- rules: getCommentRules(grammar),
- };
-
- // order the following additional rules, to prevent
- // comment sequences being classified as symbols
-
- // add include for the whitespace state
- initialState.rules.push(whitespaceState);
-
- // add operator & symbol case handling
- initialState.rules.push({
- regex: "@symbols",
- action: [
- {
- guard: "@operators",
- action: { token: "operator" },
- },
- // by default, leave the symbol alone
- {
- guard: "@default",
- action: { token: "" },
- },
- ],
- });
-
- return [initialState, whitespaceState, commentState];
-}
-
-/**
- * Pretty prints a monarch grammar into a concrete form, suitable for writing to a file
- * @param monarchGrammar Grammar to pretty print
- * @returns Monarch grammar in concrete form
- */
-function prettyPrint(monarchGrammar: MonarchGrammar) {
- const name = monarchGrammar.languageDefinition.name;
-
- const languages = prettyPrintLangDef(monarchGrammar.languageDefinition);
- const tokenizer = prettyPrintTokenizer(monarchGrammar.tokenizer);
- return {
- ...languages,
- ...tokenizer
- };
-}
-
-/**
- * Generates an entry for a language definition, given a name (token category) and values
- * @param name Category of language definition to add
- * @param values Values to add under the given category
- * @returns GeneratorNode containing this printed language definition entry
- */
-function genLanguageDefEntry(name: string, values: string[]) {
- return { [name]: values };
-}
-
-/**
- * Pretty prints the language definition portion of a Monarch grammar
- * @param languageDef LanguageDefinition to pretty print
- */
-function prettyPrintLangDef(
- languageDef: LanguageDefinition,
-) {
- const keywords = genLanguageDefEntry("keywords", languageDef.keywords);
- const operators = genLanguageDefEntry("operators", languageDef.operators);
- const symbols = { symbols: new RegExp(languageDef.symbols.map(escapeRegExp).join("|"))}
- return {
- ...keywords,
- ...operators,
- ...symbols
- };
-}
-
-/**
- * Pretty prints the tokenizer portion of a Monarch grammar file
- * @param tokenizer Tokenizer portion to print out
- */
-function prettyPrintTokenizer(tokenizer: Tokenizer) {
- const result = tokenizer.states
- .map((s) => prettyPrintState(s))
- .reduce((lhs, rhs) => ({ ...lhs, ...rhs }), {});
- return {
- tokenizer: result,
- };
-}
-
-/**
- * Pretty prints a tokenizer state, composed of various rules
- * @param state Tokenizer state to pretty print
- */
-function prettyPrintState(state: State) {
- return {
- [state.name]: state.rules.map((r) => prettyPrintRule(r)),
- };
-}
-
-/**
- * Pretty prints a Rule.
- * This can either be a literal rule to match w/ an action, or a reference to a state to include here
- * @param ruleOrState Rule to pretty print. If it's a state, we include that state's contents implicitly within this context.
- * @returns Generator node containing this printed rule
- */
-function prettyPrintRule(ruleOrState: Rule | State): Rule {
- if (isRegexRule(ruleOrState)) {
- return {
- regex:
- ruleOrState.regex instanceof RegExp
- ? ruleOrState.regex
- : new RegExp(ruleOrState.regex),
- action: prettyPrintAction(ruleOrState.action),
- };
- } else if (isIncludeRule(ruleOrState)) {
- return ruleOrState;
- } else {
- // include another state by name, implicitly includes all of its contents
- return { include: `@${ruleOrState.name}` };
- }
-}
-
-/**
- * Pretty prints the action of a Rule
- * @param action Action to print. Can have several keywords to control what the state machine should do next.
- * @returns Action in concrete form
- */
-function prettyPrintAction(action: Action | Case[]): Action {
- if (!Array.isArray(action)) {
- return action;
- } else {
- const cases: { [name: string]: Action } = {};
- action.forEach((a) => {
- cases[a.guard] = prettyPrintAction(a.action);
- });
- return { cases };
- }
-}
-
-/**
- * Extracts Monarch token name from a Langium terminal rule, using either name or type.
- * @param rule Rule to convert to a Monarch token name
- * @returns Returns the equivalent monarch token name, or the original rule name
- */
-function getMonarchTokenName(rule: TerminalRule): string {
- if (rule.name.toLowerCase() === "string") {
- // string is clarified as a terminal by name, but not necessarily by type
- return "string";
- } else if (rule.type) {
- // use rule type
- return rule.type.name;
- } else {
- // fallback to the original name
- return rule.name;
- }
-}
-
-/**
- * Gets whitespace rules from the langium grammar. Includes starting comment sequence.
- * @param grammar Langium grammar to extract whitespace rules from
- * @returns Array of Monarch whitespace rules
- */
-function getWhitespaceRules(grammar: langium.Grammar): Rule[] {
- const rules: Rule[] = [];
- for (const rule of grammar.rules) {
- if (isTerminalRule(rule) && isRegexToken(rule.definition)) {
- const regex = new RegExp(terminalRegex(rule));
-
- if (!isCommentTerminal(rule) && !regex.test(" ")) {
- // skip rules that are not comments or whitespace
- continue;
- }
-
- // token name is either comment or whitespace
- const tokenName = isCommentTerminal(rule) ? "comment" : "white";
-
- const part = getTerminalParts(terminalRegex(rule))[0];
-
- // check if this is a comment terminal w/ a start & end sequence (multi-line)
- if (part.start !== "" && part.end !== "" && isCommentTerminal(rule)) {
- // state-based comment rule, only add push to jump into it
- rules.push({
- regex: part.start.replace("/", "\\/"),
- action: { token: tokenName, next: "@" + tokenName },
- });
- } else {
- // single regex rule, generally for whitespace
- rules.push({
- regex: rule.definition.regex,
- action: { token: tokenName },
- });
- }
- }
- }
- return rules;
-}
-
-/**
- * Gets comment state rules from the Langium grammar.
- * Accounts for multi-line comments, but without nesting.
- * @param grammar Langium grammar to extract comment rules from
- * @returns Array of Monarch comment rules
- */
-function getCommentRules(grammar: langium.Grammar): Rule[] {
- const rules: Rule[] = [];
- for (const rule of grammar.rules) {
- if (
- isTerminalRule(rule) &&
- isCommentTerminal(rule) &&
- isRegexToken(rule.definition)
- ) {
- const tokenName = "comment";
- const part = getTerminalParts(terminalRegex(rule))[0];
- if (part.start !== "" && part.end !== "") {
- // rules to manage comment start/end
- // rule order matters
-
- const start = part.start.replace("/", "\\/");
- const end = part.end.replace("/", "\\/");
-
- // 1st, add anything that's not in the start sequence
- rules.push({
- regex: `[^${start}]+`,
- action: { token: tokenName },
- });
-
- // 2nd, end of sequence, pop this state, keeping others on the stack
- rules.push({
- regex: end,
- action: { token: tokenName, next: "@pop" },
- });
-
- // 3rd, otherwise, start sequence characters are OK in this state
- rules.push({
- regex: `[${start}]`,
- action: { token: tokenName },
- });
- }
- }
- }
- return rules;
-}
-
-/**
- * Retrieves non-comment terminal rules, creating associated actions for them
- * @param grammar Grammar to get non-comment terminals from
- * @returns Array of Rules to add to a Monarch tokenizer state
- */
-function getTerminalRules(grammar: langium.Grammar): Rule[] {
- const rules: Rule[] = [];
- for (const rule of grammar.rules) {
- if (
- isTerminalRule(rule) &&
- !isCommentTerminal(rule) &&
- isRegexToken(rule.definition)
- ) {
- const regex = new RegExp(terminalRegex(rule));
-
- if (regex.test(" ")) {
- // disallow terminal rules that match whitespace
- continue;
- }
-
- const tokenName = getMonarchTokenName(rule);
- // default action...
- let action: Action | Case[] = { token: tokenName };
-
- if (getKeywords(grammar).some((keyword) => regex.test(keyword))) {
- // this rule overlaps with at least one keyword
- // add case so keywords aren't tagged incorrectly as this token type
- action = [
- {
- guard: "@keywords",
- action: { token: "keyword" },
- },
- {
- guard: "@default",
- action, // include default action from above
- },
- ];
- }
-
- rules.push({
- regex: rule.definition.regex,
- action,
- });
- }
- }
- return rules;
-}
-
-/**
- * Keyword regex for matching keyword terminals, or for only collecting symbol terminals
- */
-const KeywordRegex = /[A-Za-z]/;
-
-/**
- * Retrieves keywords from the current grammar
- * @param grammar Grammar to get keywords from
- * @returns Array of keywords
- */
-function getKeywords(grammar: langium.Grammar): string[] {
- return collectKeywords(grammar).filter((kw) => KeywordRegex.test(kw));
-}
-
-/**
- * Retrieve symbols from langium grammar
- * @param grammar Grammar to get symbols from
- * @returns Array of symbols, effective inverse of getKeywords
- */
-function getSymbols(grammar: langium.Grammar): string[] {
- return collectKeywords(grammar).filter((kw) => !KeywordRegex.test(kw));
-}
-
-export function collectKeywords(grammar: langium.Grammar): string[] {
- const keywords = new Set();
-
- for (const rule of stream(grammar.rules).filter(isParserRule)) {
- collectElementKeywords(rule.definition, keywords);
- }
-
- return Array.from(keywords).sort((a, b) => a.localeCompare(b));
-}
-
-function collectElementKeywords(
- element: AbstractElement,
- keywords: Set
-) {
- if (
- isAlternatives(element) ||
- isGroup(element) ||
- isUnorderedGroup(element)
- ) {
- for (const item of element.elements) {
- collectElementKeywords(item, keywords);
- }
- } else if (isAssignment(element)) {
- collectElementKeywords(element.terminal, keywords);
- } else if (isKeyword(element)) {
- keywords.add(element.value);
- }
-}
diff --git a/hugo/content/playground/preprocess.ts b/hugo/content/playground/preprocess.ts
index f0adf6c2..c877922b 100644
--- a/hugo/content/playground/preprocess.ts
+++ b/hugo/content/playground/preprocess.ts
@@ -4,8 +4,7 @@
* terms of the MIT License, which is available in the project root.
******************************************************************************/
-import { AstNode } from "langium";
-import { AstNodeLocator } from "langium/lib/workspace/ast-node-locator";
+import { AstNode, AstNodeLocator } from "langium";
/**
* Represents a serialized version of a reference to an AstNode
@@ -60,15 +59,11 @@ export interface PropertyNode {
name: string;
type: ValueNode;
}
+
+export type AstValue = AstNode | AstNode[] | string | number | boolean | Reference | undefined;
+
export function preprocessAstNodeValue(
- valueOrValues:
- | AstNode
- | AstNode[]
- | string
- | number
- | boolean
- | Reference
- | undefined,
+ valueOrValues: AstValue,
locator: AstNodeLocator
): ValueNode {
if (Array.isArray(valueOrValues)) {
@@ -104,13 +99,7 @@ export function preprocessAstNodeObject(
const properties: PropertyNode[] = Object.keys(node)
.filter((n) => !n.startsWith("$"))
.map((n) => {
- const valueOrValues = node[n] as
- | AstNode
- | AstNode[]
- | "string"
- | "number"
- | "boolean"
- | Reference;
+ const valueOrValues = ((node as any)[n]) as AstValue;
return {
name: n,
type: preprocessAstNodeValue(valueOrValues, locator),
diff --git a/hugo/content/playground/types.ts b/hugo/content/playground/types.ts
index 90bcb875..7d86432b 100644
--- a/hugo/content/playground/types.ts
+++ b/hugo/content/playground/types.ts
@@ -4,7 +4,7 @@
* terms of the MIT License, which is available in the project root.
******************************************************************************/
- import { AstNode } from "langium";
+import { AstNode } from "langium";
import { Diagnostic } from "vscode-languageserver";
export declare type DedicatedWorkerGlobalScope = any;
@@ -71,7 +71,7 @@ export interface PlaygroundParameters {
}
export function isNotification(msg: Message): msg is Notification {
- return !msg["id"] && msg["method"];
+ return !("id" in msg) && ("method" in msg);
}
export type Message = Request | ResponseError | ResponseOK | Notification;
diff --git a/hugo/content/playground/user-worker.ts b/hugo/content/playground/user-worker.ts
index 6177712d..e752a43d 100644
--- a/hugo/content/playground/user-worker.ts
+++ b/hugo/content/playground/user-worker.ts
@@ -4,9 +4,11 @@
* terms of the MIT License, which is available in the project root.
******************************************************************************/
-import { DocumentState, createServicesForGrammar, startLanguageServer } from 'langium';
import { NotificationType } from 'vscode-languageserver/browser.js';
-import { DocumentChange, createServerConnection } from './worker-utils';
+import { DocumentChange, createServerConnection } from './worker-utils.js';
+import { startLanguageServer } from 'langium/lsp';
+import { DocumentState } from 'langium';
+import { createServicesForGrammar } from 'langium/grammar';
// listen for messages to trigger starting the LS with a given grammar
addEventListener('message', async (event) => {
diff --git a/hugo/content/playground/worker-utils.ts b/hugo/content/playground/worker-utils.ts
index 344d7a23..7a6ee503 100644
--- a/hugo/content/playground/worker-utils.ts
+++ b/hugo/content/playground/worker-utils.ts
@@ -1,4 +1,4 @@
-import { Diagnostic, BrowserMessageReader, BrowserMessageWriter, createConnection, Connection } from 'vscode-languageserver/browser';
+import { Diagnostic, BrowserMessageReader, BrowserMessageWriter, createConnection, Connection } from 'vscode-languageserver/browser.js';
/**
* Describes a notification that can be sent from the LS,
diff --git a/hugo/package.json b/hugo/package.json
index c6255185..bb8189bf 100644
--- a/hugo/package.json
+++ b/hugo/package.json
@@ -4,6 +4,7 @@
"author": "TypeFox",
"license": "MIT",
"private": true,
+ "type": "module",
"scripts": {
"clean:static": "shx rm -rf ./static/showcase ./static/playground ./static/libs",
"copy:libs:prepare": "shx mkdir -p ./static/libs/monaco-editor-workers/workers",
@@ -38,19 +39,20 @@
"clsx": "^1.2.1",
"d3": "^7.8.5",
"hugo-extended": "~0.89.4",
- "langium": "^1.2.0",
- "langium-arithmetics-dsl": "~1.2.1",
- "langium-domainmodel-dsl": "~1.2.0",
- "langium-minilogo": "^1.2.0",
- "langium-sql": "^0.2.3",
- "langium-statemachine-dsl": "~1.2.0",
+ "langium": "^3.0.0",
+ "langium-arithmetics-dsl": "^3.0.0",
+ "langium-ast-helper": "0.1.2",
+ "langium-cli": "^3.0.3",
+ "langium-domainmodel-dsl": "^3.0.0",
+ "langium-minilogo": "^3.0.0",
+ "langium-sql": "^0.3.2",
+ "langium-statemachine-dsl": "^3.0.0",
"langium-website-core": "~1.0.0",
"lz-string": "^1.4.4",
"monaco-editor-workers": "~0.44.0",
"react": "~18.2.0",
"react-dom": "~18.2.0",
- "vscode-languageserver": "~8.0.2",
- "langium-ast-helper": "0.1.2"
+ "vscode-languageserver": "~9.0.1"
},
"volta": {
"node": "18.18.1",
diff --git a/hugo/tsconfig.json b/hugo/tsconfig.json
new file mode 100644
index 00000000..dd1f6c10
--- /dev/null
+++ b/hugo/tsconfig.json
@@ -0,0 +1,12 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "rootDir": ".",
+ "outDir": "dist",
+ "declarationDir": "dist",
+ "jsx": "react-jsx"
+ },
+ "include": [
+ "**/*.ts",
+ ]
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index a62eea17..6abb9bfd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -38,7 +38,131 @@
"@types/react-dom": "~18.2.13",
"@types/vscode": "~1.83.0",
"typescript": "~5.2.2",
- "vite": "~4.4.11"
+ "vite": "^4.5.2"
+ }
+ },
+ "core/node_modules/@esbuild/android-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
+ "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "core/node_modules/@esbuild/linux-loong64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
+ "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "core/node_modules/esbuild": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+ "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.18.20",
+ "@esbuild/android-arm64": "0.18.20",
+ "@esbuild/android-x64": "0.18.20",
+ "@esbuild/darwin-arm64": "0.18.20",
+ "@esbuild/darwin-x64": "0.18.20",
+ "@esbuild/freebsd-arm64": "0.18.20",
+ "@esbuild/freebsd-x64": "0.18.20",
+ "@esbuild/linux-arm": "0.18.20",
+ "@esbuild/linux-arm64": "0.18.20",
+ "@esbuild/linux-ia32": "0.18.20",
+ "@esbuild/linux-loong64": "0.18.20",
+ "@esbuild/linux-mips64el": "0.18.20",
+ "@esbuild/linux-ppc64": "0.18.20",
+ "@esbuild/linux-riscv64": "0.18.20",
+ "@esbuild/linux-s390x": "0.18.20",
+ "@esbuild/linux-x64": "0.18.20",
+ "@esbuild/netbsd-x64": "0.18.20",
+ "@esbuild/openbsd-x64": "0.18.20",
+ "@esbuild/sunos-x64": "0.18.20",
+ "@esbuild/win32-arm64": "0.18.20",
+ "@esbuild/win32-ia32": "0.18.20",
+ "@esbuild/win32-x64": "0.18.20"
+ }
+ },
+ "core/node_modules/vite": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz",
+ "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.18.10",
+ "postcss": "^8.4.27",
+ "rollup": "^3.27.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
}
},
"foundation": {
@@ -78,19 +202,20 @@
"clsx": "^1.2.1",
"d3": "^7.8.5",
"hugo-extended": "~0.89.4",
- "langium": "^1.2.0",
- "langium-arithmetics-dsl": "~1.2.1",
+ "langium": "^3.0.0",
+ "langium-arithmetics-dsl": "^3.0.0",
"langium-ast-helper": "0.1.2",
- "langium-domainmodel-dsl": "~1.2.0",
- "langium-minilogo": "^1.2.0",
- "langium-sql": "^0.2.3",
- "langium-statemachine-dsl": "~1.2.0",
+ "langium-cli": "^3.0.3",
+ "langium-domainmodel-dsl": "^3.0.0",
+ "langium-minilogo": "^3.0.0",
+ "langium-sql": "^0.3.2",
+ "langium-statemachine-dsl": "^3.0.0",
"langium-website-core": "~1.0.0",
"lz-string": "^1.4.4",
"monaco-editor-workers": "~0.44.0",
"react": "~18.2.0",
"react-dom": "~18.2.0",
- "vscode-languageserver": "~8.0.2"
+ "vscode-languageserver": "~9.0.1"
},
"devDependencies": {
"@rollup/plugin-inject": "~5.0.4",
@@ -101,6 +226,55 @@
"esbuild": "~0.19.4"
}
},
+ "hugo/node_modules/monaco-editor": {
+ "version": "0.45.0",
+ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz",
+ "integrity": "sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA=="
+ },
+ "hugo/node_modules/monaco-editor-workers": {
+ "version": "0.45.0",
+ "resolved": "https://registry.npmjs.org/monaco-editor-workers/-/monaco-editor-workers-0.45.0.tgz",
+ "integrity": "sha512-KSN7FXdehjwnu1JbpfERVP8KGqioXabNmpDfmh1P5RcG2k6OTAyh5cmLg55AsI/upzUqbEuq1F4NUh7mASsY9w==",
+ "dependencies": {
+ "monaco-editor": "~0.45.0"
+ },
+ "peerDependencies": {
+ "monaco-editor": "~0.45.0"
+ }
+ },
+ "hugo/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "hugo/node_modules/vscode-languageserver": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.17.5"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "hugo/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
+ }
+ },
+ "hugo/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
"node_modules/@ampproject/remapping": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
@@ -142,16 +316,73 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
- "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
"dependencies": {
- "@babel/highlight": "^7.22.5"
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@babel/code-frame/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/code-frame/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@babel/compat-data": {
"version": "7.22.9",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz",
@@ -190,11 +421,11 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.22.9",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz",
- "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==",
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+ "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
"dependencies": {
- "@babel/types": "^7.22.5",
+ "@babel/types": "^7.23.6",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
@@ -255,20 +486,20 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
- "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
- "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"dependencies": {
- "@babel/template": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
@@ -394,17 +625,17 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
- "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
- "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"engines": {
"node": ">=6.9.0"
}
@@ -431,12 +662,12 @@
}
},
"node_modules/@babel/highlight": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
- "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.5",
- "chalk": "^2.0.0",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
"engines": {
@@ -500,9 +731,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.22.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
- "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
+ "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -664,32 +895,32 @@
}
},
"node_modules/@babel/template": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
- "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+ "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
"dependencies": {
- "@babel/code-frame": "^7.22.5",
- "@babel/parser": "^7.22.5",
- "@babel/types": "^7.22.5"
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.22.8",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz",
- "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==",
- "dependencies": {
- "@babel/code-frame": "^7.22.5",
- "@babel/generator": "^7.22.7",
- "@babel/helper-environment-visitor": "^7.22.5",
- "@babel/helper-function-name": "^7.22.5",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz",
+ "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.22.7",
- "@babel/types": "^7.22.5",
- "debug": "^4.1.0",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
},
"engines": {
@@ -697,12 +928,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
- "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+ "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
"dependencies": {
- "@babel/helper-string-parser": "^7.22.5",
- "@babel/helper-validator-identifier": "^7.22.5",
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -710,33 +941,38 @@
}
},
"node_modules/@chevrotain/cst-dts-gen": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.4.2.tgz",
- "integrity": "sha512-0+4bNjlndNWMoVLH/+y4uHnf6GrTipsC+YTppJxelVJo+xeRVQ0s2PpkdDCVTsu7efyj+8r1gFiwVXsp6JZ0iQ==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz",
+ "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==",
"dependencies": {
- "@chevrotain/gast": "10.4.2",
- "@chevrotain/types": "10.4.2",
- "lodash": "4.17.21"
+ "@chevrotain/gast": "11.0.3",
+ "@chevrotain/types": "11.0.3",
+ "lodash-es": "4.17.21"
}
},
"node_modules/@chevrotain/gast": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.4.2.tgz",
- "integrity": "sha512-4ZAn8/mjkmYonilSJ60gGj1tAF0cVWYUMlIGA0e4ATAc3a648aCnvpBw7zlPHDQjFp50XC13iyWEgWAKiRKTOA==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz",
+ "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==",
"dependencies": {
- "@chevrotain/types": "10.4.2",
- "lodash": "4.17.21"
+ "@chevrotain/types": "11.0.3",
+ "lodash-es": "4.17.21"
}
},
+ "node_modules/@chevrotain/regexp-to-ast": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz",
+ "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA=="
+ },
"node_modules/@chevrotain/types": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.4.2.tgz",
- "integrity": "sha512-QzSCjg6G4MvIoLeIgOiMR0IgzkGEQqrNJJIr3T5ETRa7l4Av4AMIiEctV99mvDr57iXwwk0/kr3RJxiU36Nevw=="
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz",
+ "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ=="
},
"node_modules/@chevrotain/utils": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.4.2.tgz",
- "integrity": "sha512-V34dacxWLwKcvcy32dx96ADJVdB7kOJLm7LyBkBQw5u5HC9WdEFw2G17zml+U3ivavGTrGPJHl8o9/UJm0PlUw=="
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz",
+ "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ=="
},
"node_modules/@codingame/monaco-vscode-configuration-service-override": {
"version": "1.83.2",
@@ -1212,14 +1448,14 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
},
"node_modules/@lit-labs/ssr-dom-shim": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz",
- "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz",
+ "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g=="
},
"node_modules/@lit/reactive-element": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.2.tgz",
- "integrity": "sha512-rDfl+QnCYjuIGf5xI2sVJWdYIi56CTCwWa+nidKYX6oIuBYwUbT/vX4qbUDlHiZKJ/3FRNQ/tWJui44p6/stSA==",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz",
+ "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==",
"dependencies": {
"@lit-labs/ssr-dom-shim": "^1.0.0"
}
@@ -1360,9 +1596,9 @@
}
},
"node_modules/@types/css-font-loading-module": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@types/css-font-loading-module/-/css-font-loading-module-0.0.8.tgz",
- "integrity": "sha512-PdJeLlCJj/ShOA+c0dXdZ/e1P0Cdjhip+dRBtPaigOqwKd0DiFx3NeO6T2E7AQ5JszSR3dub3YkQjc2hcQyxSw=="
+ "version": "0.0.13",
+ "resolved": "https://registry.npmjs.org/@types/css-font-loading-module/-/css-font-loading-module-0.0.13.tgz",
+ "integrity": "sha512-EnmFmshMT9rD3yohKkrbMMrRULUVkZbUAJFrFFO12mxiFWQvRKDQYsK1CB8tSUYZQ+uUui5RBvENNHqhL9xqgQ=="
},
"node_modules/@types/d3": {
"version": "7.4.0",
@@ -1677,9 +1913,9 @@
"dev": true
},
"node_modules/@types/trusted-types": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz",
- "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g=="
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="
},
"node_modules/@types/vscode": {
"version": "1.83.0",
@@ -1687,18 +1923,6 @@
"integrity": "sha512-3mUtHqLAVz9hegut9au4xehuBrzRE3UJiQMpoEHkNl6XHliihO7eATx2BMHs0odsmmrwjJrlixx/Pte6M3ygDQ==",
"dev": true
},
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/acorn": {
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
@@ -1756,6 +1980,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -1785,11 +2010,6 @@
"integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
"dev": true
},
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
- },
"node_modules/array-union": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
@@ -1873,42 +2093,6 @@
"safe-buffer": "^5.1.1"
}
},
- "node_modules/body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.11.0",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2010,14 +2194,6 @@
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
"integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ=="
},
- "node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/cacheable-lookup": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
@@ -2057,18 +2233,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "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==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
@@ -2117,6 +2281,7 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -2132,6 +2297,7 @@
"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,
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -2140,27 +2306,27 @@
}
},
"node_modules/chevrotain": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.4.2.tgz",
- "integrity": "sha512-gzF5GxE0Ckti5kZVuKEZycLntB5X2aj9RVY0r4/220GwQjdnljU+/t3kP74/FMWC7IzCDDEjQ9wsFUf0WCdSHg==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz",
+ "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==",
"dependencies": {
- "@chevrotain/cst-dts-gen": "10.4.2",
- "@chevrotain/gast": "10.4.2",
- "@chevrotain/types": "10.4.2",
- "@chevrotain/utils": "10.4.2",
- "lodash": "4.17.21",
- "regexp-to-ast": "0.5.0"
+ "@chevrotain/cst-dts-gen": "11.0.3",
+ "@chevrotain/gast": "11.0.3",
+ "@chevrotain/regexp-to-ast": "11.0.3",
+ "@chevrotain/types": "11.0.3",
+ "@chevrotain/utils": "11.0.3",
+ "lodash-es": "4.17.21"
}
},
"node_modules/chevrotain-allstar": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.1.7.tgz",
- "integrity": "sha512-oMSHkXVCDQxnj3tDCqcEoMnNIEiYlAYT0FVja1PaLrT3njXGvg5JXTXs/tk2NI42SR3LMJyqTNgjR4VyDIf19w==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz",
+ "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==",
"dependencies": {
- "lodash": "^4.17.21"
+ "lodash-es": "^4.17.21"
},
"peerDependencies": {
- "chevrotain": "~10.4.1"
+ "chevrotain": "^11.0.0"
}
},
"node_modules/chokidar": {
@@ -2235,6 +2401,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -2245,7 +2412,8 @@
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
"node_modules/colors": {
"version": "1.4.0",
@@ -2295,43 +2463,11 @@
"url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
}
},
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/convert-source-map": {
"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=="
},
- "node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
- },
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
@@ -3028,23 +3164,6 @@
"robust-predicates": "^3.0.0"
}
},
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
"node_modules/detective": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
@@ -3085,11 +3204,6 @@
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
"dev": true
},
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
- },
"node_modules/electron-to-chromium": {
"version": "1.4.479",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.479.tgz",
@@ -3101,14 +3215,6 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
@@ -3490,11 +3596,6 @@
"node": ">=6"
}
},
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
- },
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -3509,68 +3610,6 @@
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
},
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.11.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
"node_modules/fast-glob": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
@@ -3621,36 +3660,6 @@
"node": ">=8"
}
},
- "node_modules/finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
"node_modules/find-up": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
@@ -3666,14 +3675,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/fraction.js": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
@@ -3687,14 +3688,6 @@
"url": "https://www.patreon.com/infusion"
}
},
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
@@ -3738,9 +3731,12 @@
}
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
@@ -3759,20 +3755,6 @@
"node": "6.* || 8.* || >= 10.*"
}
},
- "node_modules/get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/get-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
@@ -3894,32 +3876,11 @@
"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/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "engines": {
- "node": ">= 0.4"
- },
- "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==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/hosted-git-info": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
@@ -3952,21 +3913,6 @@
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
},
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/http2-wrapper": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
@@ -3997,17 +3943,6 @@
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -4074,14 +4009,6 @@
"node": ">= 0.10"
}
},
- "node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@@ -4248,6 +4175,14 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/jsonschema": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz",
+ "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/keyv": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
@@ -4257,95 +4192,235 @@
}
},
"node_modules/langium": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/langium/-/langium-1.2.1.tgz",
- "integrity": "sha512-tpUa1r47pxuUBNqX5X4GAB08qhWpVwWhxjwOV+948skElHO9OV6emngfY3jOYzchJS4H6UZwyKalsOb8GGPsnQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/langium/-/langium-3.0.0.tgz",
+ "integrity": "sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==",
"dependencies": {
- "chevrotain": "~10.4.2",
- "chevrotain-allstar": "~0.1.4",
- "vscode-languageserver": "~8.0.2",
- "vscode-languageserver-textdocument": "~1.0.8",
- "vscode-uri": "~3.0.7"
+ "chevrotain": "~11.0.3",
+ "chevrotain-allstar": "~0.3.0",
+ "vscode-languageserver": "~9.0.1",
+ "vscode-languageserver-textdocument": "~1.0.11",
+ "vscode-uri": "~3.0.8"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=16.0.0"
}
},
"node_modules/langium-arithmetics-dsl": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/langium-arithmetics-dsl/-/langium-arithmetics-dsl-1.2.1.tgz",
- "integrity": "sha512-xFbiAVYJIOb1ld7q7cT6eahhbN6rdYkP2o13pCtRLVFP6/oJQ7tPF9CLDJJyQeZJtP4eSM/35VuNUwaljmm6Fw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/langium-arithmetics-dsl/-/langium-arithmetics-dsl-3.0.0.tgz",
+ "integrity": "sha512-U3cZYJzT4vQUWo95NCUZ+UwMvXBmnpzfsYzMGlGANuYDNvKQ/Iw8qxym6yRh5GGv2QxQk8VvOk/+YIpPzRCuJw==",
"dependencies": {
- "chalk": "~4.1.2",
- "commander": "~10.0.0",
- "langium": "~1.2.0",
- "vscode-languageclient": "~8.0.2",
- "vscode-languageserver": "~8.0.2"
+ "chalk": "~5.3.0",
+ "commander": "~11.0.0",
+ "langium": "~3.0.0",
+ "vscode-languageclient": "~9.0.1",
+ "vscode-languageserver": "~9.0.1"
},
"bin": {
- "arithmetics-cli": "bin/cli"
+ "arithmetics-cli": "bin/cli.js"
},
"engines": {
"vscode": "^1.67.0"
}
},
+ "node_modules/langium-arithmetics-dsl/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
"node_modules/langium-arithmetics-dsl/node_modules/commander": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
+ "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/langium-arithmetics-dsl/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
"engines": {
- "node": ">=14"
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/langium-arithmetics-dsl/node_modules/vscode-languageserver": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.17.5"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/langium-arithmetics-dsl/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
}
},
+ "node_modules/langium-arithmetics-dsl/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
"node_modules/langium-ast-helper": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/langium-ast-helper/-/langium-ast-helper-0.1.2.tgz",
"integrity": "sha512-xS64ZOp3fOUcTnlQoLwYwJKi2SU8yPeKGLFZlhxFUR4zJCtJ0teFfwsC+TR7GXWS5Tf3pxG+/Lf4mgkpKhOY+Q=="
},
+ "node_modules/langium-cli": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/langium-cli/-/langium-cli-3.0.3.tgz",
+ "integrity": "sha512-g6PdhEq5IiYWK/oiySILglPvFdK6ofQdzC+U7PJmFH++bDKu0DGdxjWzDauUN5WUDyVQETWKgtYDmmbcxPzN0w==",
+ "dependencies": {
+ "chalk": "~5.3.0",
+ "commander": "~11.0.0",
+ "fs-extra": "~11.1.1",
+ "jsonschema": "~1.4.1",
+ "langium": "~3.0.0",
+ "langium-railroad": "~3.0.0",
+ "lodash": "~4.17.21"
+ },
+ "bin": {
+ "langium": "bin/langium.js"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/langium-cli/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/langium-cli/node_modules/commander": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
+ "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/langium-cli/node_modules/fs-extra": {
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz",
+ "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
"node_modules/langium-domainmodel-dsl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/langium-domainmodel-dsl/-/langium-domainmodel-dsl-1.2.0.tgz",
- "integrity": "sha512-xlkXmltp5p096GueLMSXZiBiZC1kMMec1CRlnw6b6JoiLPw87b6oDPTQRyZbkwxjCRq6XPnpE5aHafwPxTr1dw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/langium-domainmodel-dsl/-/langium-domainmodel-dsl-3.0.0.tgz",
+ "integrity": "sha512-wBVjpPtT6D/j44+oPDnyEZlc3kDyFO4kfz+26jNDZ6Tpq1lOCdWqxMs6WD45YAai8yC8vuyzWumPOkqO/aFnKg==",
"dependencies": {
- "chalk": "~4.1.2",
- "commander": "~10.0.0",
- "langium": "~1.2.0",
+ "chalk": "~5.3.0",
+ "commander": "~11.0.0",
+ "langium": "~3.0.0",
"lodash": "~4.17.21",
- "vscode-languageclient": "~8.0.2",
- "vscode-languageserver": "~8.0.2"
+ "vscode-languageclient": "~9.0.1",
+ "vscode-languageserver": "~9.0.1"
},
"bin": {
- "domainmodel-cli": "bin/cli"
+ "domainmodel-cli": "bin/cli.js"
},
"engines": {
"vscode": "^1.67.0"
}
},
+ "node_modules/langium-domainmodel-dsl/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
"node_modules/langium-domainmodel-dsl/node_modules/commander": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
+ "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/langium-domainmodel-dsl/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
"engines": {
- "node": ">=14"
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/langium-domainmodel-dsl/node_modules/vscode-languageserver": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.17.5"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/langium-domainmodel-dsl/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
}
},
+ "node_modules/langium-domainmodel-dsl/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
"node_modules/langium-minilogo": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/langium-minilogo/-/langium-minilogo-1.2.0.tgz",
- "integrity": "sha512-hmeY2VSR4GlcAJ1rLIQBm8Sc4sL0XaQjv4cgI/N+tHmsrGtXUaFO/s7s6hpzjUEfRZgfR38u6L3df9VXbZ7svQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/langium-minilogo/-/langium-minilogo-3.0.0.tgz",
+ "integrity": "sha512-PBVw/xFsTSaw7fVngcZZ344Cn2X9O+yXxga7RUQl7AyEUC8VxxgJEy8lAbjrsm4LjiB9Z76gXlCGEO0yggxjQQ==",
"dependencies": {
"colors": "^1.4.0",
"commander": "^8.0.0",
- "express": "^4.18.2",
- "langium": "~1.2.1",
+ "langium": "^3.0.0",
"monaco-editor-comp": "~1.6.0",
- "vscode-languageclient": "~8.0.2",
- "vscode-languageserver": "~8.0.2"
+ "vscode-languageclient": "~9.0.1",
+ "vscode-languageserver": "~9.0.1"
},
"bin": {
- "minilogo-cli": "bin/cli"
+ "minilogo-cli": "bin/minilogo.js"
},
"engines": {
+ "node": ">=16",
"vscode": "^1.56.0"
}
},
@@ -4357,58 +4432,128 @@
"node": ">= 12"
}
},
- "node_modules/langium-sql": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/langium-sql/-/langium-sql-0.2.3.tgz",
- "integrity": "sha512-OSRZttyyULW/1OsUBQQ9lj8qY+eJhsb+FeWWjUZWQadn8bubVYlaYL9UoYmsKeAwwP9kQvkQEKQZQLVevfsphQ==",
- "dependencies": {
- "langium": "~1.1.0",
- "lodash": "^4.17.21"
+ "node_modules/langium-minilogo/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "engines": {
+ "node": ">=14.0.0"
}
},
- "node_modules/langium-sql/node_modules/langium": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/langium/-/langium-1.1.0.tgz",
- "integrity": "sha512-TsWY/DIOR73se9/YaMQZpvfFWWrhWP0FQS9MrpxWEnMJR0FoKVpMF1thPWXZexLSfyEm1pn2oYzCdW4KUBqXxA==",
+ "node_modules/langium-minilogo/node_modules/vscode-languageserver": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
"dependencies": {
- "chevrotain": "~10.4.2",
- "chevrotain-allstar": "~0.1.4",
- "vscode-languageserver": "~8.0.2",
- "vscode-languageserver-textdocument": "~1.0.8",
- "vscode-uri": "~3.0.7"
+ "vscode-languageserver-protocol": "3.17.5"
},
- "engines": {
- "node": ">=14.0.0"
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/langium-minilogo/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
+ }
+ },
+ "node_modules/langium-minilogo/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
+ "node_modules/langium-railroad": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/langium-railroad/-/langium-railroad-3.0.0.tgz",
+ "integrity": "sha512-GQOnQBGl5gJqzgK/4bKvJO5QhJGNnprpYH6Fghbl4FviVLHwP6yzyqiouDelLSoCadChCr2JqKaBp5HXv7CgWw==",
+ "dependencies": {
+ "langium": "~3.0.0",
+ "railroad-diagrams": "~1.0.0"
+ }
+ },
+ "node_modules/langium-sql": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/langium-sql/-/langium-sql-0.3.2.tgz",
+ "integrity": "sha512-Ut2Spt5FK461E2OW4ULgWb9GIzqjJLnjksz2DprPwaTpfwE1hAeizfshCCdT2wCJVESkWzHQFeMCgKT9Yd2jiw==",
+ "dependencies": {
+ "langium": "^3.0.0",
+ "lodash": "^4.17.21"
}
},
"node_modules/langium-statemachine-dsl": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/langium-statemachine-dsl/-/langium-statemachine-dsl-1.2.0.tgz",
- "integrity": "sha512-bOomgWpr5QD3uVhmuBpqLCT1Q1pc6BZypCV3BCRQ7A20MOS0QYjZlkbV7L/QC1pfLCGYR3teKqT+3cUSlXg2jA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/langium-statemachine-dsl/-/langium-statemachine-dsl-3.0.0.tgz",
+ "integrity": "sha512-xLCskFijxSZs69CN02NpCgdYWMRIzsNzuW4uzO7gujIKAmmhIDhSJY4zpoZ7p9ahcF8fcjTHLbgq/CT4OtqiqA==",
"dependencies": {
- "chalk": "~4.1.2",
- "commander": "~10.0.0",
- "langium": "~1.2.0",
- "lodash": "^4.17.21",
- "vscode-languageclient": "~8.0.2",
- "vscode-languageserver": "~8.0.2"
+ "chalk": "~5.3.0",
+ "commander": "~11.0.0",
+ "langium": "~3.0.0",
+ "vscode-languageclient": "~9.0.1",
+ "vscode-languageserver": "~9.0.1"
},
"bin": {
- "statemachine-cli": "bin/cli"
+ "statemachine-cli": "bin/cli.js"
},
"engines": {
"vscode": "^1.67.0"
}
},
- "node_modules/langium-statemachine-dsl/node_modules/commander": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
- "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "node_modules/langium-statemachine-dsl/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"engines": {
- "node": ">=14"
- }
- },
- "node_modules/langium-website-core": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/langium-statemachine-dsl/node_modules/commander": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
+ "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/langium-statemachine-dsl/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/langium-statemachine-dsl/node_modules/vscode-languageserver": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.17.5"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/langium-statemachine-dsl/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
+ }
+ },
+ "node_modules/langium-statemachine-dsl/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
+ "node_modules/langium-website-core": {
"resolved": "core",
"link": true
},
@@ -4420,6 +4565,39 @@
"resolved": "tailwind",
"link": true
},
+ "node_modules/langium/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/langium/node_modules/vscode-languageserver": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+ "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.17.5"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/langium/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
+ }
+ },
+ "node_modules/langium/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
"node_modules/lilconfig": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
@@ -4445,19 +4623,19 @@
}
},
"node_modules/lit-element": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz",
- "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz",
+ "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==",
"dependencies": {
"@lit-labs/ssr-dom-shim": "^1.1.0",
"@lit/reactive-element": "^1.3.0",
- "lit-html": "^2.7.0"
+ "lit-html": "^2.8.0"
}
},
"node_modules/lit-html": {
- "version": "2.7.5",
- "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.5.tgz",
- "integrity": "sha512-YqUzpisJodwKIlbMFCtyrp58oLloKGnnPLMJ1t23cbfIJjg/H9pvLWK4XS69YeubK5HUs1UE4ys9w5dP1zg6IA==",
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz",
+ "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==",
"dependencies": {
"@types/trusted-types": "^2.0.2"
}
@@ -4481,6 +4659,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
"node_modules/log-symbols": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz",
@@ -4582,19 +4765,6 @@
"semver": "bin/semver"
}
},
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
- },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -4603,14 +4773,6 @@
"node": ">= 8"
}
},
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/micromatch": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
@@ -4623,36 +4785,6 @@
"node": ">=8.6"
}
},
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/mimic-response": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
@@ -4695,6 +4827,17 @@
"monaco-editor-wrapper": "1.6.0"
}
},
+ "node_modules/monaco-editor-comp/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/monaco-editor-comp/node_modules/monaco-editor": {
"version": "0.34.1",
"resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.34.1.tgz",
@@ -4731,9 +4874,9 @@
}
},
"node_modules/monaco-editor-comp/node_modules/normalize-url": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz",
- "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
+ "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
"engines": {
"node": ">=14.16"
},
@@ -4741,6 +4884,20 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/monaco-editor-comp/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/monaco-editor-comp/node_modules/vscode": {
"name": "@codingame/monaco-vscode-api",
"version": "1.69.13",
@@ -4760,6 +4917,19 @@
"node": ">=14.0.0"
}
},
+ "node_modules/monaco-editor-comp/node_modules/vscode-languageclient": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz",
+ "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==",
+ "dependencies": {
+ "minimatch": "^3.0.4",
+ "semver": "^7.3.5",
+ "vscode-languageserver-protocol": "3.17.2"
+ },
+ "engines": {
+ "vscode": "^1.67.0"
+ }
+ },
"node_modules/monaco-editor-comp/node_modules/vscode-textmate": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-7.0.4.tgz",
@@ -4778,6 +4948,11 @@
"npm": ">=8.0.0"
}
},
+ "node_modules/monaco-editor-comp/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
"node_modules/monaco-editor-workers": {
"version": "0.44.0",
"resolved": "https://registry.npmjs.org/monaco-editor-workers/-/monaco-editor-workers-0.44.0.tgz",
@@ -5021,9 +5196,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"dev": true,
"funding": [
{
@@ -5038,14 +5213,6 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/node-releases": {
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
@@ -5141,25 +5308,6 @@
"node": ">= 6"
}
},
- "node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -5235,14 +5383,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/path-exists": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
@@ -5274,11 +5414,6 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
- "node_modules/path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
- },
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -5336,9 +5471,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.27",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
- "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
+ "version": "8.4.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
+ "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
"dev": true,
"funding": [
{
@@ -5355,7 +5490,7 @@
}
],
"dependencies": {
- "nanoid": "^3.3.6",
+ "nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@@ -5471,18 +5606,6 @@
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -5492,20 +5615,6 @@
"once": "^1.3.1"
}
},
- "node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -5536,27 +5645,10 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
+ "node_modules/railroad-diagrams": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
+ "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="
},
"node_modules/react": {
"version": "18.2.0",
@@ -5672,11 +5764,6 @@
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
"dev": true
},
- "node_modules/regexp-to-ast": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz",
- "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw=="
- },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -5856,66 +5943,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "node_modules/serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -5979,19 +6006,6 @@
"node": ">=6"
}
},
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/slash": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -6043,14 +6057,6 @@
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
"integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w=="
},
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -6261,14 +6267,6 @@
"node": ">=8.0"
}
},
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
- "engines": {
- "node": ">=0.6"
- }
- },
"node_modules/tree-kill": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
@@ -6295,18 +6293,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/typescript": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
@@ -6351,14 +6337,6 @@
"node": ">= 10.0.0"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/update-browserslist-db": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
@@ -6393,14 +6371,6 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -6410,138 +6380,6 @@
"spdx-expression-parse": "^3.0.0"
}
},
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/vite": {
- "version": "4.4.11",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz",
- "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.18.10",
- "postcss": "^8.4.27",
- "rollup": "^3.27.1"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
- "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-loong64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
- "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/vite/node_modules/esbuild": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
- "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.18.20",
- "@esbuild/android-arm64": "0.18.20",
- "@esbuild/android-x64": "0.18.20",
- "@esbuild/darwin-arm64": "0.18.20",
- "@esbuild/darwin-x64": "0.18.20",
- "@esbuild/freebsd-arm64": "0.18.20",
- "@esbuild/freebsd-x64": "0.18.20",
- "@esbuild/linux-arm": "0.18.20",
- "@esbuild/linux-arm64": "0.18.20",
- "@esbuild/linux-ia32": "0.18.20",
- "@esbuild/linux-loong64": "0.18.20",
- "@esbuild/linux-mips64el": "0.18.20",
- "@esbuild/linux-ppc64": "0.18.20",
- "@esbuild/linux-riscv64": "0.18.20",
- "@esbuild/linux-s390x": "0.18.20",
- "@esbuild/linux-x64": "0.18.20",
- "@esbuild/netbsd-x64": "0.18.20",
- "@esbuild/openbsd-x64": "0.18.20",
- "@esbuild/sunos-x64": "0.18.20",
- "@esbuild/win32-arm64": "0.18.20",
- "@esbuild/win32-ia32": "0.18.20",
- "@esbuild/win32-x64": "0.18.20"
- }
- },
"node_modules/vscode": {
"name": "@codingame/monaco-vscode-api",
"version": "1.83.2",
@@ -6563,16 +6401,24 @@
}
},
"node_modules/vscode-languageclient": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.0.2.tgz",
- "integrity": "sha512-lHlthJtphG9gibGb/y72CKqQUxwPsMXijJVpHEC2bvbFqxmkj9LwQ3aGU9dwjBLqsX1S4KjShYppLvg1UJDF/Q==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz",
+ "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==",
"dependencies": {
- "minimatch": "^3.0.4",
- "semver": "^7.3.5",
- "vscode-languageserver-protocol": "3.17.2"
+ "minimatch": "^5.1.0",
+ "semver": "^7.3.7",
+ "vscode-languageserver-protocol": "3.17.5"
},
"engines": {
- "vscode": "^1.67.0"
+ "vscode": "^1.82.0"
+ }
+ },
+ "node_modules/vscode-languageclient/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
}
},
"node_modules/vscode-languageclient/node_modules/lru-cache": {
@@ -6586,10 +6432,21 @@
"node": ">=10"
}
},
+ "node_modules/vscode-languageclient/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/vscode-languageclient/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -6600,6 +6457,28 @@
"node": ">=10"
}
},
+ "node_modules/vscode-languageclient/node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/vscode-languageclient/node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
+ }
+ },
+ "node_modules/vscode-languageclient/node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="
+ },
"node_modules/vscode-languageclient/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -6634,9 +6513,9 @@
}
},
"node_modules/vscode-languageserver-textdocument": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
- "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q=="
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz",
+ "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA=="
},
"node_modules/vscode-languageserver-types": {
"version": "3.17.2",
@@ -6654,9 +6533,9 @@
"integrity": "sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg=="
},
"node_modules/vscode-uri": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
- "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA=="
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
+ "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="
},
"node_modules/vscode-ws-jsonrpc": {
"version": "3.0.0",
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 00000000..d6ce28a3
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "noImplicitAny": true,
+ "target": "ES2022",
+ "module": "Node16",
+ "moduleResolution": "Node16",
+ "declaration": true,
+ "sourceMap": true
+ }
+}
\ No newline at end of file