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

-

-

-

+

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