diff --git a/package-lock.json b/package-lock.json index c81861a..d3ec336 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,20 +11,20 @@ "packages/examples" ], "devDependencies": { - "@types/node": "~18.18.13", + "@types/node": "~20.10.4", "@types/shelljs": "~0.8.15", "@types/vscode": "~1.83.3", - "@typescript-eslint/eslint-plugin": "~6.12.0", - "@typescript-eslint/parser": "~6.12.0", - "@vitest/browser": "~0.34.6", + "@typescript-eslint/eslint-plugin": "~6.13.2", + "@typescript-eslint/parser": "~6.13.2", + "@vitest/browser": "~1.0.2", "editorconfig": "~2.0.0", - "eslint": "~8.54.0", + "eslint": "~8.55.0", "shelljs": "~0.8.5", "shx": "~0.3.4", - "typescript": "~5.3.2", - "vite": "~5.0.2", - "vitest": "~0.34.6", - "webdriverio": "~8.24.1" + "typescript": "~5.3.3", + "vite": "~5.0.6", + "vitest": "~1.0.2", + "webdriverio": "~8.24.12" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -71,172 +71,172 @@ "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==" }, "node_modules/@codingame/monaco-vscode-configuration-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-configuration-service-override/-/monaco-vscode-configuration-service-override-1.83.12.tgz", - "integrity": "sha512-qQQn6PHFO6/JXQs/CCbzIrDNUNpDArtJH5AKCodghPlkPdb6cSt8OGZxS0SYyVGjlr7UlOfEMhVLLvw5soqTnw==", - "dependencies": { - "@codingame/monaco-vscode-environment-service-override": "1.83.12", - "@codingame/monaco-vscode-extensions-service-override": "1.83.12", - "@codingame/monaco-vscode-files-service-override": "1.83.12", - "@codingame/monaco-vscode-layout-service-override": "1.83.12", - "@codingame/monaco-vscode-quickaccess-service-override": "1.83.12", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-configuration-service-override/-/monaco-vscode-configuration-service-override-1.83.16.tgz", + "integrity": "sha512-zvfVrb1PP9XxsF4A6+VODbea4diMzvTyeDxQsvHHocJOZOrWhvHREl7TuVKu8e8ydUSfIpouZQZDP5Hyh10U6Q==", + "dependencies": { + "@codingame/monaco-vscode-environment-service-override": "1.83.16", + "@codingame/monaco-vscode-extensions-service-override": "1.83.16", + "@codingame/monaco-vscode-files-service-override": "1.83.16", + "@codingame/monaco-vscode-layout-service-override": "1.83.16", + "@codingame/monaco-vscode-quickaccess-service-override": "1.83.16", "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-editor-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-service-override/-/monaco-vscode-editor-service-override-1.83.12.tgz", - "integrity": "sha512-t/8kFvDxhYehczJCEpAOCtpcwpJRc92lRv55WkOsjXE2h8TG55DDokeCC5MHIDjVKVaSxClWEPt8i9dSqaTcMA==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-editor-service-override/-/monaco-vscode-editor-service-override-1.83.16.tgz", + "integrity": "sha512-ePiIxE+KpMTYq92d1AFfjn8FW0BHhivQ5Iv9H0XHoXMrMqEVzdbCvn4QBFKvqvuAz7+QPYfs77X9RuZ8A2wFCg==", "dependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-environment-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-environment-service-override/-/monaco-vscode-environment-service-override-1.83.12.tgz", - "integrity": "sha512-lgmkwQv/7c3Vlpz0+/dRx/weYJvapExexKDcWXkNbI5BH/1CKU+pL5LfgyZ4brc9LCLwoRVPhKgAX2NgbJS9Cw==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-environment-service-override/-/monaco-vscode-environment-service-override-1.83.16.tgz", + "integrity": "sha512-W/60KsaHwWNEI6Dl9lld5CCYyQvoQjXpqPU3XT7CT2VKaeilL20M7sj0MLA8tJWAbFoNt0DrcvTyNC1CCD85/Q==", "dependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-extensions-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-extensions-service-override/-/monaco-vscode-extensions-service-override-1.83.12.tgz", - "integrity": "sha512-OeqLHYQxD2+ejPXVYpJcWTwigmHk6qaqJsRem3bA1pOLNQIXvIgIkjdl/i4dlZIBJMbCajo4onTrDP95Nec6Ww==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-extensions-service-override/-/monaco-vscode-extensions-service-override-1.83.16.tgz", + "integrity": "sha512-zltPGafTUt/V1PRyGGuLlOMthF5vthBb8dPuu4+E/qlB31jc3ygj+DIFMbpqhtzXywBZeUyAn/aiXO4/b/sHFQ==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "1.83.12", + "@codingame/monaco-vscode-files-service-override": "1.83.16", "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12", + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16", "vscode-semver": "npm:semver@=5.5.0" } }, "node_modules/@codingame/monaco-vscode-files-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-files-service-override/-/monaco-vscode-files-service-override-1.83.12.tgz", - "integrity": "sha512-APlbxQKkf5kpFheFjJmeDVGATm2ftVADjNu1Dfj6Gp+axSEAXC2j7DNA3+r9rlTq04XBUGoeKU6T4NzzlmGSFQ==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-files-service-override/-/monaco-vscode-files-service-override-1.83.16.tgz", + "integrity": "sha512-agyigI7n6KzjWEgAZJKncuwQldpbjN19Bmr30LFp2ENh/1ezNPYP/SvhkTyQQTL/YDsup3FkkX2NH54fzOia9w==", "dependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-json-default-extension": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-json-default-extension/-/monaco-vscode-json-default-extension-1.83.12.tgz", - "integrity": "sha512-nUG14T2wstesbmJUsudC/BBFmt0evP9SAewroCM0xP2BSyX8+X1K/LMVqn5I6ezb0CQehiEj9mOtnD4al6KNTQ==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-json-default-extension/-/monaco-vscode-json-default-extension-1.83.16.tgz", + "integrity": "sha512-q/2nENeSGNrHVCM/no6SUFACNeLmYQtu2s/ObuS7h5GK+wMinHkI9MEEoOONAQVJSk953ocDq7L+luGVEx6bGg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-keybindings-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-keybindings-service-override/-/monaco-vscode-keybindings-service-override-1.83.12.tgz", - "integrity": "sha512-ixQ4hFJv6ikgrW4862pVh6IuYz5HWBcwu12UQl3N3QDlhKcDMhO/OJi7xfHD96FUD2rt8oaZsPp+i6W2oTbZ3Q==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-keybindings-service-override/-/monaco-vscode-keybindings-service-override-1.83.16.tgz", + "integrity": "sha512-DA7WyFMYwLSJSrapD/H1VOL+84bHy+z5w9TSaX9xSsg4IU63U181Z/iXt2reNdxiKdp8b7xQuIXnmYiwuB72zw==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "1.83.12", + "@codingame/monaco-vscode-files-service-override": "1.83.16", "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-language-pack-de": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-de/-/monaco-vscode-language-pack-de-1.83.12.tgz", - "integrity": "sha512-YnKcrv9Fuy5UAO0ziKc757tYwIs17HfXEiEPMvocMUzifYrGU6cvIDt84CLWZyVpNqoMeMOelxFXDxYdfC2nkQ==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-de/-/monaco-vscode-language-pack-de-1.83.16.tgz", + "integrity": "sha512-lbChfbe+EZlIx8bvkDjLG1l7GaIwwZhdP/qetN5QkHc6oq2iBqsMnYHgJA5KFlLgCd2pK2e+ftPkc/Y7EzJ5VQ==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-language-pack-es": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-es/-/monaco-vscode-language-pack-es-1.83.12.tgz", - "integrity": "sha512-weBml6G04Aq/DKekOEmHQ5quybbfqr5FXuveuCpJEcAijxlox9CfengD2NEROyyQ1anh0ZLbOMgMleIvdAXv0Q==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-es/-/monaco-vscode-language-pack-es-1.83.16.tgz", + "integrity": "sha512-SFYBT33shrszhYfSDPP7uFMn4bay5eh97PZU16RuQ0ham3iSO/0nPCD4WnZP19OMNaGVW8mIPnZrzH+eCcgULA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-language-pack-fr": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-fr/-/monaco-vscode-language-pack-fr-1.83.12.tgz", - "integrity": "sha512-sji4+P1H8We+dTZO5W4lq/t8137zuK5bOE7MWoFIzTrkZl+kM0KlDg/SromMPBobhIktdSx723xqGUryUuwf0w==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-language-pack-fr/-/monaco-vscode-language-pack-fr-1.83.16.tgz", + "integrity": "sha512-zlnBVVO9oib7lgHJ8SAm+p+JLCQaYpMN8r5byLw+mJ68/Iy8SvGtFQdp3nnS1EuLorIUFyTcAkdp07PQbrr3/Q==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-languages-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-languages-service-override/-/monaco-vscode-languages-service-override-1.83.12.tgz", - "integrity": "sha512-L1l6Y3WJBS1+t4lfkgzYlC34LvOJziq/G+1T3+IwpUlOxi5GS0LNyAyiwHY9m45mauR6OItUztVvVui06MalMQ==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-languages-service-override/-/monaco-vscode-languages-service-override-1.83.16.tgz", + "integrity": "sha512-jijZahNeZXMiTO44EItewiqxfjHY1eja7vQLMes5xQ0G8kaNxRLk6Uv2N04FgcbOtOfPI/YnOK+CLyfOV3fclQ==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "1.83.12", + "@codingame/monaco-vscode-files-service-override": "1.83.16", "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-layout-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-layout-service-override/-/monaco-vscode-layout-service-override-1.83.12.tgz", - "integrity": "sha512-7Zx+5JUkHNLI7psE9g3FpV4lWkxB5inZO4AFaUpLsrUNNG9okLlq798px8AIjGhT4ofzNttfs/tlyY1rt/CPow==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-layout-service-override/-/monaco-vscode-layout-service-override-1.83.16.tgz", + "integrity": "sha512-DOHpZVqLP8RVDwQYPP3hDd+LPjxSyBbgPL3Ixd1X9LZSmY37bi95ILOPESqG306h2wQZhPzwNC+E7UNY3P/Ing==", "dependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-model-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-model-service-override/-/monaco-vscode-model-service-override-1.83.12.tgz", - "integrity": "sha512-bNXa6ShOivMeaT58rMg/tzVBjscFHWigM03ofQ31f1UKzRSNCUq7BmJSb9Fd4Bh+3MkXIELlAznNHEdoxU+J7Q==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-model-service-override/-/monaco-vscode-model-service-override-1.83.16.tgz", + "integrity": "sha512-uvFxzSdxD+PlJ1B9+qCF4gum/bSaMtzmX7YKenGX27CUviOX3JuQlUeMPHgxFn7VlwUxOgxHR99fCieW6h7Y3w==", "dependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-python-default-extension": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-python-default-extension/-/monaco-vscode-python-default-extension-1.83.12.tgz", - "integrity": "sha512-KteU4V9F4xhDMwr6PioV2sFj4nGA8aKKpv79A5DhyIXIYSYevU2oNgXBMoimmPGYt9Qf+wttzfXvRSY4dsnjoA==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-python-default-extension/-/monaco-vscode-python-default-extension-1.83.16.tgz", + "integrity": "sha512-0hvFWUA92g9boxffRdKMXjvpu7UgdjDCSUsZaZ927lDc2LrS5s2q4SaoZibBppsPGV+/iBtl0jKpwZZW0Hn4TA==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-quickaccess-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-quickaccess-service-override/-/monaco-vscode-quickaccess-service-override-1.83.12.tgz", - "integrity": "sha512-NVsAUFHwQqBVXgnq3hIaxtr72SEexQrd9wc/KLPdNIhHrtIHpUlAlIv47P1lNy4BgvBcWd+bXD7t4Dkkhkxqbw==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-quickaccess-service-override/-/monaco-vscode-quickaccess-service-override-1.83.16.tgz", + "integrity": "sha512-uO1xJKkoI7wvyOT+WvopA3Sehy9yLk5bUi+QAESZbXLhvVMutbl2mO1T0stgC7O3cPOJnNh9xIi/kexW2TswOQ==", "dependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-textmate-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-textmate-service-override/-/monaco-vscode-textmate-service-override-1.83.12.tgz", - "integrity": "sha512-dgjz4v4HiC5NJRAZ+zX/ESa59zVOK71H24uQVFn4TqjEs5Pt8KYgfwz5rapRMHLImFp3RGelI0hE6KYdoK/75w==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-textmate-service-override/-/monaco-vscode-textmate-service-override-1.83.16.tgz", + "integrity": "sha512-DJ5jk+TsmTsFbvX2VaglwGimTPFdUGxNCxrpe8wsMHkNpB9oS90ZGREEnhK7zOaw/t8njBIzVg4AEsy1vPErEA==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "1.83.12", + "@codingame/monaco-vscode-files-service-override": "1.83.16", "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12", + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16", "vscode-oniguruma": "1.7.0", "vscode-textmate": "9.0.0" } }, "node_modules/@codingame/monaco-vscode-theme-defaults-default-extension": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-defaults-default-extension/-/monaco-vscode-theme-defaults-default-extension-1.83.12.tgz", - "integrity": "sha512-xQyMZBxHV6jlBJiETgMmViTe1yEMNYRhXdkNNegn0mUYKkOJuM6OA9W3MvmITRh9gv52z08OBM3t0nxqkG3B2A==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-defaults-default-extension/-/monaco-vscode-theme-defaults-default-extension-1.83.16.tgz", + "integrity": "sha512-vCf1yIBjubLfhm6Hv8uQ0Dv5T6CvSvGwvS9BtuUQg9oesbFglAozlDGZtZKDTheywYKaqvRCLsi5ajkuik9tBg==", "dependencies": { - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@codingame/monaco-vscode-theme-service-override": { - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-service-override/-/monaco-vscode-theme-service-override-1.83.12.tgz", - "integrity": "sha512-fu4Vjq6rQHa07QYp+ChGIDx1JYLSoi2thBLU/RlaVHTJtaYxf0ZDGPgv/9hbVDtONZJ3E3smDVUrGhAyNknnuA==", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-theme-service-override/-/monaco-vscode-theme-service-override-1.83.16.tgz", + "integrity": "sha512-re8r5MaMvPeB9eS4eNUxPeus6pZYBafq991Eu0/X0XQb3xMOu7T5Fq4QzBtLr3/xdyJ9zSiQZHUoOv4QAh7xjQ==", "dependencies": { - "@codingame/monaco-vscode-files-service-override": "1.83.12", + "@codingame/monaco-vscode-files-service-override": "1.83.16", "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@1.83.12" + "vscode": "npm:@codingame/monaco-vscode-api@1.83.16" } }, "node_modules/@cspotcode/source-map-support": { @@ -252,9 +252,9 @@ } }, "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==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.8.tgz", + "integrity": "sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==", "cpu": [ "arm" ], @@ -263,15 +263,14 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz", + "integrity": "sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==", "cpu": [ "arm64" ], @@ -280,15 +279,14 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.8.tgz", + "integrity": "sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==", "cpu": [ "x64" ], @@ -297,15 +295,14 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz", + "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==", "cpu": [ "arm64" ], @@ -314,15 +311,14 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz", + "integrity": "sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==", "cpu": [ "x64" ], @@ -331,15 +327,14 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz", + "integrity": "sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==", "cpu": [ "arm64" ], @@ -348,15 +343,14 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz", + "integrity": "sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==", "cpu": [ "x64" ], @@ -365,15 +359,14 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz", + "integrity": "sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==", "cpu": [ "arm" ], @@ -382,15 +375,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz", + "integrity": "sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==", "cpu": [ "arm64" ], @@ -399,15 +391,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz", + "integrity": "sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==", "cpu": [ "ia32" ], @@ -416,15 +407,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "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==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz", + "integrity": "sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==", "cpu": [ "loong64" ], @@ -433,15 +423,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz", + "integrity": "sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==", "cpu": [ "mips64el" ], @@ -450,15 +439,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz", + "integrity": "sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==", "cpu": [ "ppc64" ], @@ -467,15 +455,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz", + "integrity": "sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==", "cpu": [ "riscv64" ], @@ -484,15 +471,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz", + "integrity": "sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==", "cpu": [ "s390x" ], @@ -501,15 +487,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz", + "integrity": "sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==", "cpu": [ "x64" ], @@ -518,15 +503,14 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz", + "integrity": "sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==", "cpu": [ "x64" ], @@ -535,15 +519,14 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz", + "integrity": "sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==", "cpu": [ "x64" ], @@ -552,15 +535,14 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz", + "integrity": "sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==", "cpu": [ "x64" ], @@ -569,15 +551,14 @@ "os": [ "sunos" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz", + "integrity": "sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==", "cpu": [ "arm64" ], @@ -586,15 +567,14 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz", + "integrity": "sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==", "cpu": [ "ia32" ], @@ -603,15 +583,14 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz", + "integrity": "sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==", "cpu": [ "x64" ], @@ -620,7 +599,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=12" } @@ -650,9 +628,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -695,9 +673,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", - "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -891,12 +869,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@jspm/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@jspm/core/-/core-2.0.1.tgz", - "integrity": "sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -949,15 +921,15 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.23", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", - "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", "dev": true }, "node_modules/@puppeteer/browsers": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.8.0.tgz", - "integrity": "sha512-TkRHIV6k2D8OlUe8RtG+5jgOF/H98Myx0M6AOafC8DdNVOFiBSFa5cpRDtpm8LXOa9sVwe0+e6Q3FC56X/DZfg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.0.tgz", + "integrity": "sha512-QwguOLy44YBGC8vuPP2nmpX4MUN2FzWbsnvZJtiCzecU3lHmVZkaC1tq6rToi9a200m8RzlVtDyxCS0UIDrxUg==", "dev": true, "dependencies": { "debug": "4.3.4", @@ -975,38 +947,10 @@ "node": ">=16.3.0" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", - "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.6.0.tgz", - "integrity": "sha512-keHkkWAe7OtdALGoutLY3utvthkGF+Y17ws9LYT8pxMBYXaCoH/8dXS2uzo6e8+sEhY7y/zi5RFo22Dy2lFpDw==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.6.1.tgz", + "integrity": "sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==", "cpu": [ "arm" ], @@ -1017,9 +961,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.6.0.tgz", - "integrity": "sha512-y3Kt+34smKQNWilicPbBz/MXEY7QwDzMFNgwEWeYiOhUt9MTWKjHqe3EVkXwT2fR7izOvHpDWZ0o2IyD9SWX7A==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.6.1.tgz", + "integrity": "sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==", "cpu": [ "arm64" ], @@ -1030,9 +974,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.6.0.tgz", - "integrity": "sha512-oLzzxcUIHltHxOCmaXl+pkIlU+uhSxef5HfntW7RsLh1eHm+vJzjD9Oo4oUKso4YuP4PpbFJNlZjJuOrxo8dPg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.6.1.tgz", + "integrity": "sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==", "cpu": [ "arm64" ], @@ -1043,9 +987,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.6.0.tgz", - "integrity": "sha512-+ANnmjkcOBaV25n0+M0Bere3roeVAnwlKW65qagtuAfIxXF9YxUneRyAn/RDcIdRa7QrjRNJL3jR7T43ObGe8Q==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.6.1.tgz", + "integrity": "sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==", "cpu": [ "x64" ], @@ -1056,9 +1000,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.6.0.tgz", - "integrity": "sha512-tBTSIkjSVUyrekddpkAqKOosnj1Fc0ZY0rJL2bIEWPKqlEQk0paORL9pUIlt7lcGJi3LzMIlUGXvtNi1Z6MOCQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.6.1.tgz", + "integrity": "sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==", "cpu": [ "arm" ], @@ -1069,9 +1013,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.6.0.tgz", - "integrity": "sha512-Ed8uJI3kM11de9S0j67wAV07JUNhbAqIrDYhQBrQW42jGopgheyk/cdcshgGO4fW5Wjq97COCY/BHogdGvKVNQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.6.1.tgz", + "integrity": "sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==", "cpu": [ "arm64" ], @@ -1082,9 +1026,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.6.0.tgz", - "integrity": "sha512-mZoNQ/qK4D7SSY8v6kEsAAyDgznzLLuSFCA3aBHZTmf3HP/dW4tNLTtWh9+LfyO0Z1aUn+ecpT7IQ3WtIg3ViQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.6.1.tgz", + "integrity": "sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==", "cpu": [ "arm64" ], @@ -1095,9 +1039,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.6.0.tgz", - "integrity": "sha512-rouezFHpwCqdEXsqAfNsTgSWO0FoZ5hKv5p+TGO5KFhyN/dvYXNMqMolOb8BkyKcPqjYRBeT+Z6V3aM26rPaYg==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.6.1.tgz", + "integrity": "sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==", "cpu": [ "x64" ], @@ -1108,9 +1052,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.6.0.tgz", - "integrity": "sha512-Bbm+fyn3S6u51urfj3YnqBXg5vI2jQPncRRELaucmhBVyZkbWClQ1fEsRmdnCPpQOQfkpg9gZArvtMVkOMsh1w==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.6.1.tgz", + "integrity": "sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==", "cpu": [ "x64" ], @@ -1121,9 +1065,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.6.0.tgz", - "integrity": "sha512-+MRMcyx9L2kTrTUzYmR61+XVsliMG4odFb5UmqtiT8xOfEicfYAGEuF/D1Pww1+uZkYhBqAHpvju7VN+GnC3ng==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.6.1.tgz", + "integrity": "sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==", "cpu": [ "arm64" ], @@ -1134,9 +1078,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.6.0.tgz", - "integrity": "sha512-rxfeE6K6s/Xl2HGeK6cO8SiQq3k/3BYpw7cfhW5Bk2euXNEpuzi2cc7llxx1si1QgwfjNtdRNTGqdBzGlFZGFw==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.6.1.tgz", + "integrity": "sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==", "cpu": [ "ia32" ], @@ -1147,9 +1091,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.6.0.tgz", - "integrity": "sha512-QqmCsydHS172Y0Kc13bkMXvipbJSvzeglBncJG3LsYJSiPlxYACz7MmJBs4A8l1oU+jfhYEIC/+AUSlvjmiX/g==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.6.1.tgz", + "integrity": "sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==", "cpu": [ "x64" ], @@ -1223,21 +1167,6 @@ "resolved": "packages/monaco-editor-react", "link": true }, - "node_modules/@types/chai": { - "version": "4.3.11", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", - "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", - "dev": true - }, - "node_modules/@types/chai-subset": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", - "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", - "dev": true, - "dependencies": { - "@types/chai": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -1273,9 +1202,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.18.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.13.tgz", - "integrity": "sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==", + "version": "20.10.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", + "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -1288,9 +1217,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.38.tgz", - "integrity": "sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==", + "version": "18.2.42", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.42.tgz", + "integrity": "sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -1361,16 +1290,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.12.0.tgz", - "integrity": "sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz", + "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/type-utils": "6.12.0", - "@typescript-eslint/utils": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/type-utils": "6.13.2", + "@typescript-eslint/utils": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -1396,15 +1325,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.12.0.tgz", - "integrity": "sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz", + "integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/typescript-estree": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", "debug": "^4.3.4" }, "engines": { @@ -1424,13 +1353,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.12.0.tgz", - "integrity": "sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz", + "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0" + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1441,13 +1370,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.12.0.tgz", - "integrity": "sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz", + "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.12.0", - "@typescript-eslint/utils": "6.12.0", + "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/utils": "6.13.2", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -1468,9 +1397,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.12.0.tgz", - "integrity": "sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz", + "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -1481,13 +1410,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.12.0.tgz", - "integrity": "sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz", + "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/visitor-keys": "6.12.0", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1508,17 +1437,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.12.0.tgz", - "integrity": "sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz", + "integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.12.0", - "@typescript-eslint/types": "6.12.0", - "@typescript-eslint/typescript-estree": "6.12.0", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/typescript-estree": "6.13.2", "semver": "^7.5.4" }, "engines": { @@ -1533,12 +1462,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.12.0.tgz", - "integrity": "sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz", + "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.12.0", + "@typescript-eslint/types": "6.13.2", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -1556,31 +1485,44 @@ "dev": true }, "node_modules/@vitest/browser": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-0.34.6.tgz", - "integrity": "sha512-XCIGROVgw3L+PwYw/T2l+HP/SPrXvh2MfmQNU3aULl5ekE+QVj9A1RYu/1mcYXdac9ES4ahxUz6n4wgcVd9tbA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-1.0.2.tgz", + "integrity": "sha512-CvHdDtwvYc11kshHWnv+1C2URYIBSBOW3Fvxta9yN6BXbDuQDiyjQQVLNM4uk7JEdnQyS3xAVPxteWTwTzScJg==", "dev": true, "dependencies": { "estree-walker": "^3.0.3", - "magic-string": "^0.30.1", - "modern-node-polyfills": "^1.0.0", + "magic-string": "^0.30.5", "sirv": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": ">=0.34.0" + "playwright": "*", + "safaridriver": "*", + "vitest": "^1.0.0", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } } }, "node_modules/@vitest/expect": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.6.tgz", - "integrity": "sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.0.2.tgz", + "integrity": "sha512-mAIo/8uddSWkjQMLFcjqZP3WmkwvvN0OtlyZIu33jFnwme3vZds8m8EDMxtj+Uzni2DwtPfHNjJcTM8zTV1f4A==", "dev": true, "dependencies": { - "@vitest/spy": "0.34.6", - "@vitest/utils": "0.34.6", + "@vitest/spy": "1.0.2", + "@vitest/utils": "1.0.2", "chai": "^4.3.10" }, "funding": { @@ -1588,13 +1530,13 @@ } }, "node_modules/@vitest/runner": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.6.tgz", - "integrity": "sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.0.2.tgz", + "integrity": "sha512-ZcHJXPT2kg/9Hc4fNkCbItlsgZSs3m4vQbxB8LCSdzpbG85bExCmSvu6K9lWpMNdoKfAr1Jn0BwS9SWUcGnbTQ==", "dev": true, "dependencies": { - "@vitest/utils": "0.34.6", - "p-limit": "^4.0.0", + "@vitest/utils": "1.0.2", + "p-limit": "^5.0.0", "pathe": "^1.1.1" }, "funding": { @@ -1602,15 +1544,15 @@ } }, "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, "dependencies": { "yocto-queue": "^1.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1629,40 +1571,40 @@ } }, "node_modules/@vitest/snapshot": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.6.tgz", - "integrity": "sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.0.2.tgz", + "integrity": "sha512-9ClDz2/aV5TfWA4reV7XR9p+hE0e7bifhwxlURugj3Fw0YXeTFzHmKCNEHd6wOIFMfthbGGwhlq7TOJ2jDO4/g==", "dev": true, "dependencies": { - "magic-string": "^0.30.1", + "magic-string": "^0.30.5", "pathe": "^1.1.1", - "pretty-format": "^29.5.0" + "pretty-format": "^29.7.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.6.tgz", - "integrity": "sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.0.2.tgz", + "integrity": "sha512-YlnHmDntp+zNV3QoTVFI5EVHV0AXpiThd7+xnDEbWnD6fw0TH/J4/+3GFPClLimR39h6nA5m0W4Bjm5Edg4A/A==", "dev": true, "dependencies": { - "tinyspy": "^2.1.1" + "tinyspy": "^2.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", - "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.0.2.tgz", + "integrity": "sha512-GPQkGHAnFAP/+seSbB9pCsj339yRrMgILoI5H2sPevTLCYgBq0VRjF8QSllmnQyvf0EontF6KUIt2t5s2SmqoQ==", "dev": true, "dependencies": { - "diff-sequences": "^29.4.3", - "loupe": "^2.3.6", - "pretty-format": "^29.5.0" + "diff-sequences": "^29.6.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, "funding": { "url": "https://opencollective.com/vitest" @@ -1674,18 +1616,18 @@ "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==" }, "node_modules/@wdio/config": { - "version": "8.24.2", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.24.2.tgz", - "integrity": "sha512-qMTU40PBtEZEdj+vTkK2mRxaT07gcEGundlj+u08brYNT2LHPtEw5Vp0jReCz29Wlq4zsrv9qHpgluiSnRTHQw==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.24.12.tgz", + "integrity": "sha512-3HW7qG1rIHzOIybV6oHR1CqLghsN0G3Xzs90ZciGL8dYhtcLtYCHwuWmBw4mkaB5xViU4AmZDuj7ChiG8Cr6Qw==", "dev": true, "dependencies": { - "@wdio/logger": "8.16.17", - "@wdio/types": "8.24.2", - "@wdio/utils": "8.24.2", + "@wdio/logger": "8.24.12", + "@wdio/types": "8.24.12", + "@wdio/utils": "8.24.12", "decamelize": "^6.0.0", "deepmerge-ts": "^5.0.0", "glob": "^10.2.2", - "import-meta-resolve": "^3.0.0" + "import-meta-resolve": "^4.0.0" }, "engines": { "node": "^16.13 || >=18" @@ -1714,9 +1656,9 @@ } }, "node_modules/@wdio/logger": { - "version": "8.16.17", - "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.16.17.tgz", - "integrity": "sha512-zeQ41z3T+b4IsrriZZipayXxLNDuGsm7TdExaviNGojPVrIsQUCSd/FvlLHM32b7ZrMyInHenu/zx1cjAZO71g==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.24.12.tgz", + "integrity": "sha512-QisOiVIWKTUCf1H7S+DOtC+gruhlpimQrUXfWMTeeh672PvAJYnTpOJDWA+BtXfsikkUYFAzAaq8SeMJk8rqKg==", "dev": true, "dependencies": { "chalk": "^5.1.2", @@ -1768,15 +1710,15 @@ } }, "node_modules/@wdio/protocols": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.23.0.tgz", - "integrity": "sha512-2XTzD+lqQP3g8BWn+Bn5BTFzjHqzZNwq7DjlYrb27Bq8nOA+1DEcj3WzQ6V6CktTnKI/LAYKA1IFAF//Azrp/Q==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.24.12.tgz", + "integrity": "sha512-QnVj3FkapmVD3h2zoZk+ZQ8gevSj9D9MiIQIy8eOnY4FAneYZ9R9GvoW+mgNcCZO8S8++S/jZHetR8n+8Q808g==", "dev": true }, "node_modules/@wdio/repl": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-8.23.1.tgz", - "integrity": "sha512-u6zG2cgBm67V5/WlQzadWqLGXs3moH8MOsgoljULQncelSBBZGZ5DyLB4p7jKcUAsKtMjgmFQmIvpQoqmyvdfg==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-8.24.12.tgz", + "integrity": "sha512-321F3sWafnlw93uRTSjEBVuvWCxTkWNDs7ektQS15drrroL3TMeFOynu4rDrIz0jXD9Vas0HCD2Tq/P0uxFLdw==", "dev": true, "dependencies": { "@types/node": "^20.1.0" @@ -1785,19 +1727,10 @@ "node": "^16.13 || >=18" } }, - "node_modules/@wdio/repl/node_modules/@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, "node_modules/@wdio/types": { - "version": "8.24.2", - "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.24.2.tgz", - "integrity": "sha512-x7iWF5NM8NfVxziGwLdQ+3sstgSxRoqfmmFEDTDps0oFrN5CgkqcoLkqXJ5u166gvpxpEq0gxZwxkbPC/Lp0cw==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.24.12.tgz", + "integrity": "sha512-SaD3OacDiW06DvSgAQ7sDBbpiI9qZRg7eoVYeBg3uSGVtUq84vTETRhhV7D6xTC00IqZu+mmN2TY5/q+7Gqy7w==", "dev": true, "dependencies": { "@types/node": "^20.1.0" @@ -1806,31 +1739,21 @@ "node": "^16.13 || >=18" } }, - "node_modules/@wdio/types/node_modules/@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, "node_modules/@wdio/utils": { - "version": "8.24.2", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.24.2.tgz", - "integrity": "sha512-YsQunFrAqZO7Retkzfhqa7N/zY21FdnI4iFYCAeIeL3spRIGRFsXjrbE8vEXu9/Tr+h5Xxgn5Lj3Dc/7HD8EPg==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.24.12.tgz", + "integrity": "sha512-uzwZyBVgqz0Wz1KL3aOUaQsxT8TNkzxti4NNTSMrU256qAPqc/n75rB7V73QASapCMpy70mZZTsuPgQYYj4ytQ==", "dev": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", - "@wdio/logger": "8.16.17", - "@wdio/types": "8.24.2", + "@wdio/logger": "8.24.12", + "@wdio/types": "8.24.12", "decamelize": "^6.0.0", "deepmerge-ts": "^5.1.0", "edgedriver": "^5.3.5", "geckodriver": "^4.2.0", "get-port": "^7.0.0", - "got": "^13.0.0", - "import-meta-resolve": "^3.0.0", + "import-meta-resolve": "^4.0.0", "locate-app": "^2.1.0", "safaridriver": "^0.1.0", "split2": "^4.2.0", @@ -1874,9 +1797,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", "dev": true, "engines": { "node": ">=0.4.0" @@ -2616,9 +2539,9 @@ "dev": true }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, "node_modules/data-uri-to-buffer": { @@ -2776,9 +2699,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1213968", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1213968.tgz", - "integrity": "sha512-o4n/beY+3CcZwFctYapjGelKptR4AuQT5gXS1Kvgbig+ArwkxK7f8wDVuD1wsoswiJWCwV6OK+Qb7vhNzNmABQ==", + "version": "0.0.1233178", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1233178.tgz", + "integrity": "sha512-jmMfyaqlzddwmDaSR1AQ+5ek+f7rupZdxKuPdkRcoxrZoF70Idg/4dTgXA08TLPmwAwB54gh49Wm2l/gRM0eUg==", "dev": true }, "node_modules/diff": { @@ -2973,12 +2896,11 @@ } }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.8.tgz", + "integrity": "sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==", "dev": true, "hasInstallScript": true, - "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -2986,28 +2908,28 @@ "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" + "@esbuild/android-arm": "0.19.8", + "@esbuild/android-arm64": "0.19.8", + "@esbuild/android-x64": "0.19.8", + "@esbuild/darwin-arm64": "0.19.8", + "@esbuild/darwin-x64": "0.19.8", + "@esbuild/freebsd-arm64": "0.19.8", + "@esbuild/freebsd-x64": "0.19.8", + "@esbuild/linux-arm": "0.19.8", + "@esbuild/linux-arm64": "0.19.8", + "@esbuild/linux-ia32": "0.19.8", + "@esbuild/linux-loong64": "0.19.8", + "@esbuild/linux-mips64el": "0.19.8", + "@esbuild/linux-ppc64": "0.19.8", + "@esbuild/linux-riscv64": "0.19.8", + "@esbuild/linux-s390x": "0.19.8", + "@esbuild/linux-x64": "0.19.8", + "@esbuild/netbsd-x64": "0.19.8", + "@esbuild/openbsd-x64": "0.19.8", + "@esbuild/sunos-x64": "0.19.8", + "@esbuild/win32-arm64": "0.19.8", + "@esbuild/win32-ia32": "0.19.8", + "@esbuild/win32-x64": "0.19.8" } }, "node_modules/escalade": { @@ -3058,15 +2980,15 @@ } }, "node_modules/eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", - "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.54.0", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -3256,6 +3178,29 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -3330,6 +3275,21 @@ "@types/yauzl": "^2.9.1" } }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3745,15 +3705,12 @@ } }, "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3884,9 +3841,9 @@ } }, "node_modules/got": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/got/-/got-13.0.0.tgz", - "integrity": "sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "dependencies": { "@sindresorhus/is": "^5.2.0", @@ -3902,7 +3859,7 @@ "responselike": "^3.0.0" }, "engines": { - "node": ">=16" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" @@ -4108,6 +4065,15 @@ "node": ">= 14" } }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -4165,9 +4131,9 @@ } }, "node_modules/import-meta-resolve": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-3.1.1.tgz", - "integrity": "sha512-qeywsE/KC3w9Fd2ORrRDUw6nS/nLwZpXgfrOc2IILvZYnCaEMd+D56Vfg9k4G29gIeVi3XKql1RQatME8iYsiw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", "dev": true, "funding": { "type": "github", @@ -4293,6 +4259,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -4507,10 +4485,14 @@ "dev": true }, "node_modules/local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, "engines": { "node": ">=14" }, @@ -4677,6 +4659,12 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -4737,6 +4725,18 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mimic-response": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", @@ -4816,28 +4816,11 @@ "ufo": "^1.3.0" } }, - "node_modules/modern-node-polyfills": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/modern-node-polyfills/-/modern-node-polyfills-1.0.0.tgz", - "integrity": "sha512-w1yb6ae5qSUJJ2u41krkUAxs+L7i9143Qam8EuXwDMeZHxl1JN8RfTSXG4S2bt0RHIRMeoWm/HCeO0pNIHmIYQ==", - "dev": true, - "dependencies": { - "@jspm/core": "^2.0.1", - "@rollup/pluginutils": "^5.0.2", - "local-pkg": "^0.4.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "esbuild": "^0.14.0 || ^0.15.0 || ^0.16.0 || ^0.17.0 || ^0.18.0" - } - }, "node_modules/monaco-editor": { "name": "@codingame/monaco-editor-treemended", - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-editor-treemended/-/monaco-editor-treemended-1.83.12.tgz", - "integrity": "sha512-8/td2FL0a+F5hnWEo604CqJuVEAHp7Xmq7aJ6F2LPY+WjVp22c4ZkPM/5xAg5qVAS/V1m04VYdlsalRugM+Nyw==" + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-editor-treemended/-/monaco-editor-treemended-1.83.16.tgz", + "integrity": "sha512-KS89o9zxphQqjQgZgpTDiHZNKCFxRpQdiDVkEfJGfNc83r5GbtTlIXA7RqtUSy55F+K5Bb3ua2WvrbwUGcZqBg==" }, "node_modules/monaco-editor-workers": { "version": "0.44.0", @@ -4859,15 +4842,15 @@ "link": true }, "node_modules/monaco-languageclient": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-7.1.0.tgz", - "integrity": "sha512-cQWzr8rgSHgMmCEBC9eF1GS3dbM3fxD0oh4JH41SoIV+069oxlXS3+zH/nciLcazunnlUQdajU0ZIQBQBcOntA==", - "dependencies": { - "@codingame/monaco-vscode-editor-service-override": "~1.83.12", - "@codingame/monaco-vscode-languages-service-override": "~1.83.12", - "@codingame/monaco-vscode-model-service-override": "~1.83.12", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-7.2.0.tgz", + "integrity": "sha512-Aequ3Lrq/rc5lGDiJ/0eD9CX+hi5fBaIae+vlzxqVVzrQXxyOrCEg2HpHjKHVSIfVtbUzH/hOAVCWqBeQv/AaA==", + "dependencies": { + "@codingame/monaco-vscode-editor-service-override": "~1.83.16", + "@codingame/monaco-vscode-languages-service-override": "~1.83.16", + "@codingame/monaco-vscode-model-service-override": "~1.83.16", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0", "vscode-languageclient": "~9.0.1" }, "engines": { @@ -4876,7 +4859,7 @@ }, "peerDependencies": { "monaco-editor": "0.44.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "peerDependenciesMeta": { "monaco-editor": { @@ -4888,33 +4871,33 @@ } }, "node_modules/monaco-languageclient-examples": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/monaco-languageclient-examples/-/monaco-languageclient-examples-7.1.0.tgz", - "integrity": "sha512-33u4hkHIT/AHKR3tclm5g1tlEeNG8qvZ5A5towkn/VGM8kXyA07TWxlQ4KRQXjJc9X1U9Hdophmr5I7ckvIE1A==", - "dependencies": { - "@codingame/monaco-vscode-configuration-service-override": "~1.83.12", - "@codingame/monaco-vscode-editor-service-override": "~1.83.12", - "@codingame/monaco-vscode-files-service-override": "~1.83.12", - "@codingame/monaco-vscode-json-default-extension": "~1.83.12", - "@codingame/monaco-vscode-keybindings-service-override": "~1.83.12", - "@codingame/monaco-vscode-language-pack-de": "~1.83.12", - "@codingame/monaco-vscode-language-pack-es": "~1.83.12", - "@codingame/monaco-vscode-language-pack-fr": "~1.83.12", - "@codingame/monaco-vscode-python-default-extension": "~1.83.12", - "@codingame/monaco-vscode-textmate-service-override": "~1.83.12", - "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.12", - "@codingame/monaco-vscode-theme-service-override": "~1.83.12", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/monaco-languageclient-examples/-/monaco-languageclient-examples-7.2.0.tgz", + "integrity": "sha512-MVkEor/RZkloq2j9XXhbeA2yAs7RsqWBglpKQI05gxq9r+GX9L4tRRotpF+MttDocD5bfpD4CdWGLCYbd2u36Q==", + "dependencies": { + "@codingame/monaco-vscode-configuration-service-override": "~1.83.16", + "@codingame/monaco-vscode-editor-service-override": "~1.83.16", + "@codingame/monaco-vscode-files-service-override": "~1.83.16", + "@codingame/monaco-vscode-json-default-extension": "~1.83.16", + "@codingame/monaco-vscode-keybindings-service-override": "~1.83.16", + "@codingame/monaco-vscode-language-pack-de": "~1.83.16", + "@codingame/monaco-vscode-language-pack-es": "~1.83.16", + "@codingame/monaco-vscode-language-pack-fr": "~1.83.16", + "@codingame/monaco-vscode-python-default-extension": "~1.83.16", + "@codingame/monaco-vscode-textmate-service-override": "~1.83.16", + "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.16", + "@codingame/monaco-vscode-theme-service-override": "~1.83.16", "express": "~4.18.2", "langium": "~2.1.0", "langium-statemachine-dsl": "~2.1.0", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", "monaco-editor-workers": "~0.44.0", - "monaco-languageclient": "~7.1.0", - "pyright": "~1.1.333", + "monaco-languageclient": "~7.2.0", + "pyright": "~1.1.338", "react": "~18.2.0", "react-dom": "~18.2.0", "request-light": "~0.7.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0", "vscode-json-languageservice": "~5.3.7", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1", @@ -5062,26 +5045,53 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "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==", + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, "dependencies": { - "ee-first": "1.1.1" + "path-key": "^4.0.0" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "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", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", @@ -5090,6 +5100,21 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", @@ -5359,9 +5384,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", "dev": true, "funding": [ { @@ -5378,7 +5403,7 @@ } ], "dependencies": { - "nanoid": "^3.3.6", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -5608,9 +5633,9 @@ } }, "node_modules/pyright": { - "version": "1.1.337", - "resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.337.tgz", - "integrity": "sha512-iZcID/OX5rjiToKCb3DShygOC21Zx8GvSwei+ApyTfK2C2xdRWyV+yJCrUUF75/qVkTZy8ZCDwQc4aYDqD8Scg==", + "version": "1.1.339", + "resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.339.tgz", + "integrity": "sha512-YHa58uKBcBal5E35DMWhHnHDoaH0OHoM90VvV+CYus4Z7pTPKFWLgl+mfH3ufmgOzxkmvW0LM0hmDOJaYJYfcA==", "bin": { "pyright": "index.js", "pyright-langserver": "langserver.index.js" @@ -5891,9 +5916,9 @@ } }, "node_modules/rollup": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.6.0.tgz", - "integrity": "sha512-R8i5Her4oO1LiMQ3jKf7MUglYV/mhQ5g5OKeld5CnkmPdIGo79FDDQYqPhq/PCVuTQVuxsWgIbDy9F+zdHn80w==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.6.1.tgz", + "integrity": "sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -5903,18 +5928,18 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.6.0", - "@rollup/rollup-android-arm64": "4.6.0", - "@rollup/rollup-darwin-arm64": "4.6.0", - "@rollup/rollup-darwin-x64": "4.6.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.6.0", - "@rollup/rollup-linux-arm64-gnu": "4.6.0", - "@rollup/rollup-linux-arm64-musl": "4.6.0", - "@rollup/rollup-linux-x64-gnu": "4.6.0", - "@rollup/rollup-linux-x64-musl": "4.6.0", - "@rollup/rollup-win32-arm64-msvc": "4.6.0", - "@rollup/rollup-win32-ia32-msvc": "4.6.0", - "@rollup/rollup-win32-x64-msvc": "4.6.0", + "@rollup/rollup-android-arm-eabi": "4.6.1", + "@rollup/rollup-android-arm64": "4.6.1", + "@rollup/rollup-darwin-arm64": "4.6.1", + "@rollup/rollup-darwin-x64": "4.6.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.6.1", + "@rollup/rollup-linux-arm64-gnu": "4.6.1", + "@rollup/rollup-linux-arm64-musl": "4.6.1", + "@rollup/rollup-linux-x64-gnu": "4.6.1", + "@rollup/rollup-linux-x64-musl": "4.6.1", + "@rollup/rollup-win32-arm64-msvc": "4.6.1", + "@rollup/rollup-win32-ia32-msvc": "4.6.1", + "@rollup/rollup-win32-x64-msvc": "4.6.1", "fsevents": "~2.3.2" } }, @@ -6300,9 +6325,9 @@ } }, "node_modules/std-env": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.5.0.tgz", - "integrity": "sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.6.0.tgz", + "integrity": "sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==", "dev": true }, "node_modules/streamx": { @@ -6378,6 +6403,18 @@ "node": ">=8" } }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -6466,9 +6503,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", - "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", + "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", "dev": true, "engines": { "node": ">=14.0.0" @@ -6634,9 +6671,9 @@ } }, "node_modules/typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -6796,13 +6833,13 @@ } }, "node_modules/vite": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.2.tgz", - "integrity": "sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.6.tgz", + "integrity": "sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==", "dev": true, "dependencies": { "esbuild": "^0.19.3", - "postcss": "^8.4.31", + "postcss": "^8.4.32", "rollup": "^4.2.0" }, "bin": { @@ -6851,471 +6888,79 @@ } }, "node_modules/vite-node": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz", - "integrity": "sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.0.2.tgz", + "integrity": "sha512-h7BbMJf46fLvFW/9Ygo3snkIBEHFh6fHpB4lge98H5quYrDhPFeI3S0LREz328uqPWSnii2yeJXktQ+Pmqk5BQ==", "dev": true, "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", - "mlly": "^1.4.0", "pathe": "^1.1.1", "picocolors": "^1.0.0", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + "vite": "^5.0.0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=v14.18.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.8.tgz", - "integrity": "sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz", - "integrity": "sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.8.tgz", - "integrity": "sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz", - "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz", - "integrity": "sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz", - "integrity": "sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz", - "integrity": "sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz", - "integrity": "sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz", - "integrity": "sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz", - "integrity": "sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz", - "integrity": "sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz", - "integrity": "sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz", - "integrity": "sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz", - "integrity": "sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz", - "integrity": "sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz", - "integrity": "sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz", - "integrity": "sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz", - "integrity": "sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz", - "integrity": "sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz", - "integrity": "sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz", - "integrity": "sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz", - "integrity": "sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.8.tgz", - "integrity": "sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.19.8", - "@esbuild/android-arm64": "0.19.8", - "@esbuild/android-x64": "0.19.8", - "@esbuild/darwin-arm64": "0.19.8", - "@esbuild/darwin-x64": "0.19.8", - "@esbuild/freebsd-arm64": "0.19.8", - "@esbuild/freebsd-x64": "0.19.8", - "@esbuild/linux-arm": "0.19.8", - "@esbuild/linux-arm64": "0.19.8", - "@esbuild/linux-ia32": "0.19.8", - "@esbuild/linux-loong64": "0.19.8", - "@esbuild/linux-mips64el": "0.19.8", - "@esbuild/linux-ppc64": "0.19.8", - "@esbuild/linux-riscv64": "0.19.8", - "@esbuild/linux-s390x": "0.19.8", - "@esbuild/linux-x64": "0.19.8", - "@esbuild/netbsd-x64": "0.19.8", - "@esbuild/openbsd-x64": "0.19.8", - "@esbuild/sunos-x64": "0.19.8", - "@esbuild/win32-arm64": "0.19.8", - "@esbuild/win32-ia32": "0.19.8", - "@esbuild/win32-x64": "0.19.8" - } - }, "node_modules/vitest": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", - "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.0.2.tgz", + "integrity": "sha512-F3NVwwpXfRSDnJmyv+ALPwSRVt0zDkRRE18pwUHSUPXAlWQ47rY1dc99ziMW5bBHyqwK2ERjMisLNoef64qk9w==", "dev": true, "dependencies": { - "@types/chai": "^4.3.5", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "@vitest/expect": "0.34.6", - "@vitest/runner": "0.34.6", - "@vitest/snapshot": "0.34.6", - "@vitest/spy": "0.34.6", - "@vitest/utils": "0.34.6", - "acorn": "^8.9.0", - "acorn-walk": "^8.2.0", + "@vitest/expect": "1.0.2", + "@vitest/runner": "1.0.2", + "@vitest/snapshot": "1.0.2", + "@vitest/spy": "1.0.2", + "@vitest/utils": "1.0.2", + "acorn-walk": "^8.3.0", "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.1", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", "pathe": "^1.1.1", "picocolors": "^1.0.0", - "std-env": "^3.3.3", - "strip-literal": "^1.0.1", - "tinybench": "^2.5.0", - "tinypool": "^0.7.0", - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", - "vite-node": "0.34.6", + "std-env": "^3.5.0", + "strip-literal": "^1.3.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.1", + "vite": "^5.0.0", + "vite-node": "1.0.2", "why-is-node-running": "^2.2.2" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": ">=v14.18.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "^1.0.0", + "@vitest/ui": "^1.0.0", "happy-dom": "*", - "jsdom": "*", - "playwright": "*", - "safaridriver": "*", - "webdriverio": "*" + "jsdom": "*" }, "peerDependenciesMeta": { "@edge-runtime/vm": { "optional": true }, + "@types/node": { + "optional": true + }, "@vitest/browser": { "optional": true }, @@ -7327,29 +6972,20 @@ }, "jsdom": { "optional": true - }, - "playwright": { - "optional": true - }, - "safaridriver": { - "optional": true - }, - "webdriverio": { - "optional": true } } }, "node_modules/vscode": { "name": "@codingame/monaco-vscode-api", - "version": "1.83.12", - "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.83.12.tgz", - "integrity": "sha512-10qVCpYhzbxMHKy3/pt2aDd/OzszzzPcIw6eOuGUBElnB9KZhRsN6pbgtWQ29DP+H6N/CqTW0FNzqs/UBVGnSQ==", - "dependencies": { - "@codingame/monaco-vscode-environment-service-override": "1.83.12", - "@codingame/monaco-vscode-extensions-service-override": "1.83.12", - "@codingame/monaco-vscode-files-service-override": "1.83.12", - "@codingame/monaco-vscode-layout-service-override": "1.83.12", - "@codingame/monaco-vscode-quickaccess-service-override": "1.83.12", + "version": "1.83.16", + "resolved": "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-1.83.16.tgz", + "integrity": "sha512-8+jBcXKkvqfx5mVfaUQ+TeORIw2zGRASoKCavZCO/BSpnTCrPVTFyT2HN35+Hwun8eGqoWaNaKYunupLiBZRWg==", + "dependencies": { + "@codingame/monaco-vscode-environment-service-override": "1.83.16", + "@codingame/monaco-vscode-extensions-service-override": "1.83.16", + "@codingame/monaco-vscode-files-service-override": "1.83.16", + "@codingame/monaco-vscode-layout-service-override": "1.83.16", + "@codingame/monaco-vscode-quickaccess-service-override": "1.83.16", "monaco-editor": "0.44.0", "vscode-semver": "npm:semver@=5.5.0" }, @@ -7503,20 +7139,20 @@ } }, "node_modules/webdriver": { - "version": "8.24.2", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.24.2.tgz", - "integrity": "sha512-UZzXIRXd+Ja7F2gfgwgaFiRxnHhX7q+WS7DRP2x/HJPZGWuoRwuqhPdTJ3SgsCKgDgwRUWwmh7yKCcfiGR1/lg==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.24.12.tgz", + "integrity": "sha512-03DQIClHoaAqTsmDkxGwo4HwHfkn9LzJ1wfNyUerzKg8DnyXeiT6ILqj6EXLfsvh5zddU2vhYGLFXSerPgkuOQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "8.24.2", - "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.23.0", - "@wdio/types": "8.24.2", - "@wdio/utils": "8.24.2", + "@wdio/config": "8.24.12", + "@wdio/logger": "8.24.12", + "@wdio/protocols": "8.24.12", + "@wdio/types": "8.24.12", + "@wdio/utils": "8.24.12", "deepmerge-ts": "^5.1.0", - "got": "^ 12.6.1", + "got": "^12.6.1", "ky": "^0.33.0", "ws": "^8.8.0" }, @@ -7524,72 +7160,26 @@ "node": "^16.13 || >=18" } }, - "node_modules/webdriver/node_modules/@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/webdriver/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webdriver/node_modules/got": { - "version": "12.6.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^10.2.8", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.2", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, "node_modules/webdriverio": { - "version": "8.24.2", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.24.2.tgz", - "integrity": "sha512-zHQNI27Ltd3HpNHYil0U7VKqa+ESN264RSsOLfY9vlnmFAwPXLM7MFaFSx/u6OPG/mcQ2j8W49px2n+yeDHvuw==", + "version": "8.24.12", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.24.12.tgz", + "integrity": "sha512-Ddu0NNRMVkTzRzqvm3m0wt2eLUn+Plz2Cj+1QXDnVpddYJvk9J3elZC2hqNyscEtecQ+h2y3r36OcJqkl9jPag==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.24.2", - "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.23.0", - "@wdio/repl": "8.23.1", - "@wdio/types": "8.24.2", - "@wdio/utils": "8.24.2", + "@wdio/config": "8.24.12", + "@wdio/logger": "8.24.12", + "@wdio/protocols": "8.24.12", + "@wdio/repl": "8.24.12", + "@wdio/types": "8.24.12", + "@wdio/utils": "8.24.12", "archiver": "^6.0.0", "aria-query": "^5.0.0", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools-protocol": "^0.0.1213968", + "devtools-protocol": "^0.0.1233178", "grapheme-splitter": "^1.0.2", - "import-meta-resolve": "^3.0.0", + "import-meta-resolve": "^4.0.0", "is-plain-obj": "^4.1.0", "lodash.clonedeep": "^4.5.0", "lodash.zip": "^4.2.0", @@ -7599,7 +7189,7 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^11.0.1", - "webdriver": "8.24.2" + "webdriver": "8.24.12" }, "engines": { "node": "^16.13 || >=18" @@ -7613,15 +7203,6 @@ } } }, - "node_modules/webdriverio/node_modules/@types/node": { - "version": "20.10.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.0.tgz", - "integrity": "sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -7841,72 +7422,72 @@ }, "packages/examples": { "name": "monaco-editor-wrapper-examples", - "version": "3.4.0", - "dependencies": { - "@codingame/monaco-vscode-configuration-service-override": "~1.83.12", - "@codingame/monaco-vscode-editor-service-override": "~1.83.12", - "@codingame/monaco-vscode-json-default-extension": "~1.83.12", - "@codingame/monaco-vscode-keybindings-service-override": "~1.83.12", - "@codingame/monaco-vscode-python-default-extension": "~1.83.12", - "@typefox/monaco-editor-react": "~2.4.0", + "version": "3.5.0", + "dependencies": { + "@codingame/monaco-vscode-configuration-service-override": "~1.83.16", + "@codingame/monaco-vscode-editor-service-override": "~1.83.16", + "@codingame/monaco-vscode-json-default-extension": "~1.83.16", + "@codingame/monaco-vscode-keybindings-service-override": "~1.83.16", + "@codingame/monaco-vscode-python-default-extension": "~1.83.16", + "@typefox/monaco-editor-react": "~2.5.0", "http-server": "~14.1.1", "langium": "~2.1.3", "langium-statemachine-dsl": "~2.1.0", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", "monaco-editor-workers": "~0.44.0", - "monaco-editor-wrapper": "~3.4.0", - "monaco-languageclient": "~7.1.0", - "monaco-languageclient-examples": "~7.1.0", + "monaco-editor-wrapper": "~3.5.0", + "monaco-languageclient": "~7.2.0", + "monaco-languageclient-examples": "~7.2.0", "react": "~18.2.0", "react-dom": "~18.2.0", "request-light": "~0.7.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0", "vscode-json-languageservice": "~5.3.7", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1", "vscode-uri": "~3.0.8" }, "devDependencies": { - "@types/react": "~18.2.38", + "@types/react": "~18.2.42", "@types/react-dom": "~18.2.17", "ts-node": "~10.9.1" } }, "packages/monaco-editor-react": { "name": "@typefox/monaco-editor-react", - "version": "2.4.0", + "version": "2.5.0", "license": "MIT", "dependencies": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "monaco-editor-wrapper": "~3.4.0", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "monaco-editor-wrapper": "~3.5.0", "react": "~18.2.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "devDependencies": { - "@types/react": "~18.2.38" + "@types/react": "~18.2.42" }, "peerDependencies": { - "monaco-editor-wrapper": "~3.4.0" + "monaco-editor-wrapper": "~3.5.0" } }, "packages/monaco-editor-wrapper": { - "version": "3.4.0", + "version": "3.5.0", "license": "MIT", "dependencies": { - "@codingame/monaco-vscode-configuration-service-override": "~1.83.12", - "@codingame/monaco-vscode-editor-service-override": "~1.83.12", - "@codingame/monaco-vscode-textmate-service-override": "~1.83.12", - "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.12", - "@codingame/monaco-vscode-theme-service-override": "~1.83.12", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "monaco-languageclient": "~7.1.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0", + "@codingame/monaco-vscode-configuration-service-override": "~1.83.16", + "@codingame/monaco-vscode-editor-service-override": "~1.83.16", + "@codingame/monaco-vscode-textmate-service-override": "~1.83.16", + "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.16", + "@codingame/monaco-vscode-theme-service-override": "~1.83.16", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "monaco-languageclient": "~7.2.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0", "vscode-languageclient": "~9.0.1", "vscode-languageserver-protocol": "~3.17.5", "vscode-ws-jsonrpc": "~3.1.0" }, "peerDependencies": { - "monaco-languageclient": "~7.1.0", + "monaco-languageclient": "~7.2.0", "vscode-ws-jsonrpc": "~3.1.0" } } diff --git a/package.json b/package.json index f1e9ff7..fd096af 100644 --- a/package.json +++ b/package.json @@ -17,32 +17,32 @@ "start:example:server:python": "npm run start:server:python --workspace packages/examples" }, "devDependencies": { - "@types/node": "~18.18.13", + "@types/node": "~20.10.4", "@types/shelljs": "~0.8.15", "@types/vscode": "~1.83.3", - "@typescript-eslint/eslint-plugin": "~6.12.0", - "@typescript-eslint/parser": "~6.12.0", - "@vitest/browser": "~0.34.6", + "@typescript-eslint/eslint-plugin": "~6.13.2", + "@typescript-eslint/parser": "~6.13.2", + "@vitest/browser": "~1.0.2", "editorconfig": "~2.0.0", - "eslint": "~8.54.0", + "eslint": "~8.55.0", "shelljs": "~0.8.5", "shx": "~0.3.4", - "typescript": "~5.3.2", - "vite": "~5.0.2", - "vitest": "~0.34.6", - "webdriverio": "~8.24.1" + "typescript": "~5.3.3", + "vite": "~5.0.6", + "vitest": "~1.0.2", + "webdriverio": "~8.24.12" }, "overrides": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "resolutions": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "volta": { - "node": "18.18.2", - "npm": "9.9.0" + "node": "20.10.0", + "npm": "10.2.3" }, "workspaces": [ "packages/monaco-editor-wrapper", diff --git a/packages/examples/package.json b/packages/examples/package.json index d93e427..1752203 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,34 +1,34 @@ { "name": "monaco-editor-wrapper-examples", "private": true, - "version": "3.4.0", + "version": "3.5.0", "type": "module", "dependencies": { - "@codingame/monaco-vscode-configuration-service-override": "~1.83.12", - "@codingame/monaco-vscode-editor-service-override": "~1.83.12", - "@codingame/monaco-vscode-json-default-extension": "~1.83.12", - "@codingame/monaco-vscode-keybindings-service-override": "~1.83.12", - "@codingame/monaco-vscode-python-default-extension": "~1.83.12", - "@typefox/monaco-editor-react": "~2.4.0", + "@codingame/monaco-vscode-configuration-service-override": "~1.83.16", + "@codingame/monaco-vscode-editor-service-override": "~1.83.16", + "@codingame/monaco-vscode-json-default-extension": "~1.83.16", + "@codingame/monaco-vscode-keybindings-service-override": "~1.83.16", + "@codingame/monaco-vscode-python-default-extension": "~1.83.16", + "@typefox/monaco-editor-react": "~2.5.0", "http-server": "~14.1.1", "langium": "~2.1.3", "langium-statemachine-dsl": "~2.1.0", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", "monaco-editor-workers": "~0.44.0", - "monaco-editor-wrapper": "~3.4.0", - "monaco-languageclient": "~7.1.0", - "monaco-languageclient-examples": "~7.1.0", + "monaco-editor-wrapper": "~3.5.0", + "monaco-languageclient": "~7.2.0", + "monaco-languageclient-examples": "~7.2.0", "react": "~18.2.0", "react-dom": "~18.2.0", "request-light": "~0.7.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0", "vscode-uri": "~3.0.8", "vscode-languageclient": "~9.0.1", "vscode-languageserver": "~9.0.1", "vscode-json-languageservice": "~5.3.7" }, "devDependencies": { - "@types/react": "~18.2.38", + "@types/react": "~18.2.42", "@types/react-dom": "~18.2.17", "ts-node": "~10.9.1" }, @@ -37,12 +37,12 @@ "vscode": "$vscode" }, "resolutions": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "volta": { - "node": "18.18.2", - "npm": "9.9.0" + "node": "20.10.0", + "npm": "10.2.3" }, "scripts": { "clean": "shx rm -rf ./dist ./libs *.tsbuildinfo", @@ -50,9 +50,8 @@ "copy:prepare": "shx mkdir -p ./libs", "copy:workers": "shx cp -fr ../../node_modules/monaco-editor-workers/dist ./libs/monaco-editor-workers", "copy:all": "npm run copy:prepare && npm run copy:workers", - "build:worker": "vite-node ./build/buildWorker.mts -- --script iife ../../node_modules/langium-statemachine-dsl/out/language-server/main-browser.js ./dist/worker/statemachineServerWorker.js", "build:bundle:wrapper": "vite --config vite.bundle-mew.ts build", - "build": "npm run clean && npm run compile && npm run build:worker && npm run build:bundle:wrapper && npm run copy:all", + "build": "npm run clean && npm run compile && npm run build:bundle:wrapper && npm run copy:all", "start": "http-server --port 20002 ./", "start:server:json": "node --loader ts-node/esm ./src/servers/json-server.ts", "start:server:python": "node --loader ts-node/esm ./src/servers/python-server.ts" diff --git a/packages/examples/src/langium/config/wrapperStatemachineConfig.ts b/packages/examples/src/langium/config/wrapperStatemachineConfig.ts index f779376..b60b051 100644 --- a/packages/examples/src/langium/config/wrapperStatemachineConfig.ts +++ b/packages/examples/src/langium/config/wrapperStatemachineConfig.ts @@ -2,10 +2,9 @@ import getEditorServiceOverride from '@codingame/monaco-vscode-editor-service-ov import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override'; import { useOpenEditorStub } from 'monaco-languageclient'; import { UserConfig } from 'monaco-editor-wrapper'; -import { loadStatemachinWorker } from '../wrapperStatemachine.js'; import { getTextContent } from '../../common.js'; -export const createLangiumGlobalConfig = async (): Promise => { +export const createLangiumGlobalConfig = async (worker: Worker, port?: MessagePort): Promise => { const code = await getTextContent(new URL('./src/langium/content/example.statemachine', window.location.href)); const extensionFilesOrContents = new Map(); @@ -14,8 +13,6 @@ export const createLangiumGlobalConfig = async (): Promise => { extensionFilesOrContents.set('/statemachine-configuration.json', statemachineLanguageConfig); extensionFilesOrContents.set('/statemachine-grammar.json', responseStatemachineTm); - const stateMachineWorker = loadStatemachinWorker(); - return { wrapperConfig: { serviceConfig: { @@ -66,7 +63,8 @@ export const createLangiumGlobalConfig = async (): Promise => { languageClientConfig: { options: { $type: 'WorkerDirect', - worker: stateMachineWorker + worker, + messagePort: port } } }; diff --git a/packages/examples/src/langium/reactStatemachine.tsx b/packages/examples/src/langium/reactStatemachine.tsx index 35e82a4..dba70bc 100644 --- a/packages/examples/src/langium/reactStatemachine.tsx +++ b/packages/examples/src/langium/reactStatemachine.tsx @@ -4,10 +4,11 @@ import { MonacoEditorReactComp } from '@typefox/monaco-editor-react'; import { createLangiumGlobalConfig } from './config/wrapperStatemachineConfig.js'; import { buildWorkerDefinition } from 'monaco-editor-workers'; +import { loadStatemachinWorkerRegular } from './wrapperStatemachine.js'; buildWorkerDefinition('../../../../node_modules/monaco-editor-workers/dist/workers', import.meta.url, false); const startEditor = async () => { - const langiumGlobalConfig = await createLangiumGlobalConfig(); + const langiumGlobalConfig = await createLangiumGlobalConfig(loadStatemachinWorkerRegular()); const comp = { + console.log(`Starting ${name}...`); + /* browser specific setup code */ + const messageReader = new BrowserMessageReader(port); + const messageWriter = new BrowserMessageWriter(port); + + const connection = createConnection(messageReader, messageWriter); + + // Inject the shared services and language-specific services + const { shared } = createStatemachineServices({ connection, ...EmptyFileSystem }); + + // Start the language server with the shared services + startLanguageServer(shared); +}; diff --git a/packages/examples/src/langium/worker/statemachine-server-port.ts b/packages/examples/src/langium/worker/statemachine-server-port.ts new file mode 100644 index 0000000..e649574 --- /dev/null +++ b/packages/examples/src/langium/worker/statemachine-server-port.ts @@ -0,0 +1,15 @@ +import { start } from './startLanguageServer.js'; + +declare const self: DedicatedWorkerGlobalScope; + +self.onmessage = async (event: MessageEvent) => { + const data = event.data; + if (data.port) { + start(data.port, 'statemachine-server-port'); + + setTimeout(() => { + // test independen communication + self.postMessage('started'); + }, 1000); + } +}; diff --git a/packages/examples/src/langium/worker/statemachine-server.ts b/packages/examples/src/langium/worker/statemachine-server.ts new file mode 100644 index 0000000..c79de7c --- /dev/null +++ b/packages/examples/src/langium/worker/statemachine-server.ts @@ -0,0 +1,5 @@ +import { start } from './startLanguageServer.js'; + +declare const self: DedicatedWorkerGlobalScope; + +start(self, 'statemachine-server'); diff --git a/packages/examples/src/langium/wrapperStatemachine.ts b/packages/examples/src/langium/wrapperStatemachine.ts index 95727d9..c073e73 100644 --- a/packages/examples/src/langium/wrapperStatemachine.ts +++ b/packages/examples/src/langium/wrapperStatemachine.ts @@ -13,9 +13,24 @@ const startEditor = async () => { alert('Editor was already started!'); return; } - const langiumGlobalConfig = await createLangiumGlobalConfig(); + + // init first worker regularly + const stateMachineWorkerRegular = loadStatemachinWorkerRegular(); + const langiumGlobalConfig = await createLangiumGlobalConfig(stateMachineWorkerRegular); await wrapper.initAndStart(langiumGlobalConfig, document.getElementById('monaco-editor-root')); - const langiumGlobalConfig2 = await createLangiumGlobalConfig(); + + // init second worker with port for client and worker + const stateMachineWorkerPort = loadStatemachinWorkerPort(); + // use callback to receive message back from worker independent of the message channel the LSP is using + stateMachineWorkerPort.onmessage = (event) => { + console.log('Received message from worker: ' + event.data); + }; + const channel = new MessageChannel(); + stateMachineWorkerPort.postMessage({ + port: channel.port2 + }, [channel.port2]); + + const langiumGlobalConfig2 = await createLangiumGlobalConfig(stateMachineWorkerPort, channel.port1); await wrapper2.initAndStart(langiumGlobalConfig2, document.getElementById('monaco-editor-root2')); vscode.commands.getCommands().then((x) => { @@ -42,13 +57,24 @@ export const run = async () => { } }; -export const loadStatemachinWorker = () => { +export const loadStatemachinWorkerRegular = () => { + // Language Server preparation + const workerUrl = new URL('./src/langium/worker/statemachine-server.ts', window.location.href); + console.log(`Langium worker URL: ${workerUrl}`); + + return new Worker(workerUrl, { + type: 'module', + name: 'Statemachine Server Regular', + }); +}; + +export const loadStatemachinWorkerPort = () => { // Language Server preparation - const workerUrl = new URL('./dist/worker/statemachineServerWorker.js', window.location.href); + const workerUrl = new URL('./src/langium/worker/statemachine-server-port.ts', window.location.href); console.log(`Langium worker URL: ${workerUrl}`); return new Worker(workerUrl, { type: 'module', - name: 'Statemachine LS', + name: 'Statemachine Server Port', }); }; diff --git a/packages/monaco-editor-react/CHANGELOG.md b/packages/monaco-editor-react/CHANGELOG.md index 613cc96..cb1e5bf 100644 --- a/packages/monaco-editor-react/CHANGELOG.md +++ b/packages/monaco-editor-react/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to npm module [@typefox/monaco-editor-react](https://www.npmjs.com/package/@typefox/monaco-editor-react) are documented in this file. +## [2.5.0] - 2023-12-07 + +- Updated to `monaco-editor-wrapper` `3.5.0` + ## [2.4.0] - 2023-11-27 - Updated to `monaco-editor-wrapper` `3.4.0` diff --git a/packages/monaco-editor-react/package.json b/packages/monaco-editor-react/package.json index fe4e72f..360a35a 100644 --- a/packages/monaco-editor-react/package.json +++ b/packages/monaco-editor-react/package.json @@ -1,6 +1,6 @@ { "name": "@typefox/monaco-editor-react", - "version": "2.4.0", + "version": "2.5.0", "license": "MIT", "description": "React component for Monaco-Editor and Monaco Languageclient", "keywords": [ @@ -46,28 +46,28 @@ "build": "npm run clean && npm run compile && npm run build:bundle" }, "volta": { - "node": "18.18.2", - "npm": "9.9.0" + "node": "20.10.0", + "npm": "10.2.3" }, "dependencies": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "monaco-editor-wrapper": "~3.4.0", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "monaco-editor-wrapper": "~3.5.0", "react": "~18.2.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "peerDependencies": { - "monaco-editor-wrapper": "~3.4.0" + "monaco-editor-wrapper": "~3.5.0" }, "devDependencies": { - "@types/react": "~18.2.38" + "@types/react": "~18.2.42" }, "overrides": { "monaco-editor": "$monaco-editor", "vscode": "$vscode" }, "resolutions": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "repository": { "type": "git", diff --git a/packages/monaco-editor-wrapper/CHANGELOG.md b/packages/monaco-editor-wrapper/CHANGELOG.md index 931bafc..0be1814 100644 --- a/packages/monaco-editor-wrapper/CHANGELOG.md +++ b/packages/monaco-editor-wrapper/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to npm module [monaco-editor-wrapper](https://www.npmjs.com/package/monaco-editor-wrapper) are documented in this file. +## [3.5.0] - 2023-11-07 + +- Updated to `monaco-languageclient@7.2.0` and `monaco-vscode-api@1.83.16`. +- Introduce capability to use a `MessagePort` as end-point for a languageclient +- Use vitest v1 for tests +- Move `initServices` from `MonacoEditorLanguageClientWrapper` to `LanguageClientWrapper` + ## [3.4.0] - 2023-11-27 - Updated to `monaco-languageclient@7.1.0` and `monaco-vscode-api@1.83.12`. diff --git a/packages/monaco-editor-wrapper/package.json b/packages/monaco-editor-wrapper/package.json index 30afd67..e909501 100644 --- a/packages/monaco-editor-wrapper/package.json +++ b/packages/monaco-editor-wrapper/package.json @@ -1,6 +1,6 @@ { "name": "monaco-editor-wrapper", - "version": "3.4.0", + "version": "3.5.0", "license": "MIT", "description": "Monaco-Editor and Monaco Languageclient Wrapper", "keywords": [ @@ -54,24 +54,24 @@ "build": "npm run clean && npm run compile && npm run bundle" }, "volta": { - "node": "18.18.2", - "npm": "9.9.0" + "node": "20.10.0", + "npm": "10.2.3" }, "dependencies": { - "@codingame/monaco-vscode-configuration-service-override": "~1.83.12", - "@codingame/monaco-vscode-editor-service-override": "~1.83.12", - "@codingame/monaco-vscode-textmate-service-override": "~1.83.12", - "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.12", - "@codingame/monaco-vscode-theme-service-override": "~1.83.12", - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "monaco-languageclient": "~7.1.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0", + "@codingame/monaco-vscode-configuration-service-override": "~1.83.16", + "@codingame/monaco-vscode-editor-service-override": "~1.83.16", + "@codingame/monaco-vscode-textmate-service-override": "~1.83.16", + "@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.16", + "@codingame/monaco-vscode-theme-service-override": "~1.83.16", + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "monaco-languageclient": "~7.2.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0", "vscode-languageclient": "~9.0.1", "vscode-languageserver-protocol":"~3.17.5", "vscode-ws-jsonrpc": "~3.1.0" }, "peerDependencies": { - "monaco-languageclient": "~7.1.0", + "monaco-languageclient": "~7.2.0", "vscode-ws-jsonrpc": "~3.1.0" }, "overrides": { @@ -79,8 +79,8 @@ "vscode": "$vscode" }, "resolutions": { - "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.12 <1.84.0", - "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.12 <1.84.0" + "monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.16 <1.84.0", + "vscode": "npm:@codingame/monaco-vscode-api@>=1.83.16 <1.84.0" }, "repository": { "type": "git", diff --git a/packages/monaco-editor-wrapper/src/languageClientWrapper.ts b/packages/monaco-editor-wrapper/src/languageClientWrapper.ts index 5fafc7a..23f2c1a 100644 --- a/packages/monaco-editor-wrapper/src/languageClientWrapper.ts +++ b/packages/monaco-editor-wrapper/src/languageClientWrapper.ts @@ -1,4 +1,4 @@ -import { MonacoLanguageClient } from 'monaco-languageclient'; +import { initServices, InitializeServiceConfig, MonacoLanguageClient } from 'monaco-languageclient'; import { toSocket, WebSocketMessageReader, WebSocketMessageWriter } from 'vscode-ws-jsonrpc'; import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver-protocol/browser.js'; import { CloseAction, ErrorAction, MessageTransports, State } from 'vscode-languageclient/lib/common/client.js'; @@ -48,11 +48,13 @@ export type WorkerConfigOptions = LanguageClientConfigBase & { $type: 'WorkerConfig' url: URL; type: 'classic' | 'module'; + messagePort?: MessagePort; }; export type WorkerConfigDirect = LanguageClientConfigBase & { $type: 'WorkerDirect'; worker: Worker; + messagePort?: MessagePort; }; export type LanguageClientConfig = { @@ -69,20 +71,28 @@ export type LanguageClientError = { export class LanguageClientWrapper { - private languageClient: MonacoLanguageClient | undefined; + private languageClient?: MonacoLanguageClient; private languageClientConfig?: LanguageClientConfig; - private worker: Worker | undefined; + private worker?: Worker; + private port: MessagePort; private languageId: string; private name?: string; private logger: Logger | undefined; - init(languageId: string, languageClientConfig?: LanguageClientConfig, logger?: Logger) { - this.languageId = languageId; - if (languageClientConfig) { - this.languageClientConfig = languageClientConfig; + async init(config: { + languageId: string, + serviceConfig?: InitializeServiceConfig, + languageClientConfig?: LanguageClientConfig, + logger?: Logger + }) { + this.languageId = config.languageId; + if (config.languageClientConfig) { + this.languageClientConfig = config.languageClientConfig; this.name = this.languageClientConfig.options.name ?? 'unnamed'; } - this.logger = logger; + this.logger = config.logger; + + await initServices(config.serviceConfig); } haveLanguageClient(): boolean { @@ -189,10 +199,14 @@ export class LanguageClientWrapper { const workerDirectConfig = lcConfig as WorkerConfigDirect; this.worker = workerDirectConfig.worker; } + if (lcConfig?.messagePort) { + this.port = lcConfig?.messagePort; + } } + const messageTransports = { - reader: new BrowserMessageReader(this.worker), - writer: new BrowserMessageWriter(this.worker) + reader: new BrowserMessageReader(this.port ? this.port : this.worker), + writer: new BrowserMessageWriter(this.port ? this.port : this.worker) }; this.handleLanguageClientStart(messageTransports, resolve, reject); } diff --git a/packages/monaco-editor-wrapper/src/wrapper.ts b/packages/monaco-editor-wrapper/src/wrapper.ts index 9193891..12d9f19 100644 --- a/packages/monaco-editor-wrapper/src/wrapper.ts +++ b/packages/monaco-editor-wrapper/src/wrapper.ts @@ -1,6 +1,6 @@ import { editor, Uri } from 'monaco-editor'; import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override'; -import { initServices, InitializeServiceConfig, MonacoLanguageClient, mergeServices } from 'monaco-languageclient'; +import { InitializeServiceConfig, MonacoLanguageClient, mergeServices } from 'monaco-languageclient'; import { EditorAppExtended, EditorAppConfigExtended } from './editorAppExtended.js'; import { EditorAppClassic, EditorAppConfigClassic } from './editorAppClassic.js'; import { ModelUpdate } from './editorAppBase.js'; @@ -30,7 +30,6 @@ export class MonacoEditorLanguageClientWrapper { private editorApp: EditorAppClassic | EditorAppExtended | undefined; private languageClientWrapper: LanguageClientWrapper = new LanguageClientWrapper(); - private serviceConfig: InitializeServiceConfig; private logger: Logger; private initDone = false; @@ -49,8 +48,7 @@ export class MonacoEditorLanguageClientWrapper { this.id = userConfig.id ?? Math.floor(Math.random() * 101).toString(); this.logger = new Logger(userConfig.loggerConfig); - this.serviceConfig = userConfig.wrapperConfig.serviceConfig ?? {}; - + const serviceConfig: InitializeServiceConfig = userConfig.wrapperConfig.serviceConfig ?? {}; if (userConfig.wrapperConfig.editorAppConfig.$type === 'classic') { this.editorApp = new EditorAppClassic(this.id, userConfig, this.logger); } else { @@ -58,11 +56,14 @@ export class MonacoEditorLanguageClientWrapper { } // editorApps init their own service thats why they have to be created first - this.configureServices(); - await initServices(this.serviceConfig); + this.configureServices(serviceConfig); - this.languageClientWrapper.init(this.editorApp.getConfig().languageId, - userConfig.languageClientConfig, this.logger); + await this.languageClientWrapper.init({ + languageId: this.editorApp.getConfig().languageId, + serviceConfig, + languageClientConfig: userConfig.languageClientConfig, + logger: this.logger + }); this.initDone = true; } @@ -70,17 +71,17 @@ export class MonacoEditorLanguageClientWrapper { /** * Child classes are allow to override the services configuration implementation. */ - protected configureServices() { + protected configureServices(serviceConfig: InitializeServiceConfig) { // always set required services if not configured - this.serviceConfig.userServices = this.serviceConfig.userServices ?? {}; - const configureService = this.serviceConfig.userServices.configurationService ?? undefined; - const workspaceConfig = this.serviceConfig.workspaceConfig ?? undefined; + serviceConfig.userServices = serviceConfig.userServices ?? {}; + const configureService = serviceConfig.userServices.configurationService ?? undefined; + const workspaceConfig = serviceConfig.workspaceConfig ?? undefined; if (!configureService) { const mlcDefautServices = { ...getConfigurationServiceOverride() }; - mergeServices(mlcDefautServices, this.serviceConfig.userServices); + mergeServices(mlcDefautServices, serviceConfig.userServices); if (workspaceConfig) { throw new Error('You provided a workspaceConfig without using the configurationServiceOverride'); @@ -88,7 +89,7 @@ export class MonacoEditorLanguageClientWrapper { } // adding the default workspace config if not provided if (!workspaceConfig) { - this.serviceConfig.workspaceConfig = { + serviceConfig.workspaceConfig = { workspaceProvider: { trusted: true, workspace: { @@ -100,10 +101,10 @@ export class MonacoEditorLanguageClientWrapper { } }; } - mergeServices(this.editorApp?.specifyServices() ?? {}, this.serviceConfig.userServices); + mergeServices(this.editorApp?.specifyServices() ?? {}, serviceConfig.userServices); // overrule debug log flag - this.serviceConfig.debugLogging = this.logger.isEnabled() && (this.serviceConfig.debugLogging || this.logger.isDebugEnabled()); + serviceConfig.debugLogging = this.logger.isEnabled() && (serviceConfig.debugLogging || this.logger.isDebugEnabled()); } /** @@ -158,6 +159,10 @@ export class MonacoEditorLanguageClientWrapper { return this.editorApp?.getDiffEditor(); } + getLanguageClientWrapper(): LanguageClientWrapper | undefined { + return this.languageClientWrapper; + } + getLanguageClient(): MonacoLanguageClient | undefined { return this.languageClientWrapper.getLanguageClient(); } diff --git a/packages/monaco-editor-wrapper/test/editorAppBase.test.ts b/packages/monaco-editor-wrapper/test/editorAppBase.test.ts index 540e1f0..5b35b3f 100644 --- a/packages/monaco-editor-wrapper/test/editorAppBase.test.ts +++ b/packages/monaco-editor-wrapper/test/editorAppBase.test.ts @@ -17,7 +17,7 @@ describe('Test EditorAppBase', () => { test('config defaults', () => { const config = createBaseConfig('classic'); const app = new EditorAppClassic('config defaults', config); - expect(app.getConfig().languageId).toEqual('typescript'); + expect(app.getConfig().languageId).toEqual('my-lang'); expect(app.getConfig().code).toEqual(''); expect(app.getConfig().codeOriginal).toEqual(''); expect(app.getConfig().useDiffEditor).toBeFalsy(); @@ -29,13 +29,13 @@ describe('Test EditorAppBase', () => { test('isModelUpdateRequired', () => { const config = createEditorAppConfig('classic'); - let modelUpdateType = isModelUpdateRequired(config, { languageId: 'typescript', code: '' }); + let modelUpdateType = isModelUpdateRequired(config, { languageId: 'my-lang', code: '' }); expect(modelUpdateType).toBe(ModelUpdateType.NONE); - modelUpdateType = isModelUpdateRequired(config, { languageId: 'typescript' }); + modelUpdateType = isModelUpdateRequired(config, { languageId: 'my-lang' }); expect(modelUpdateType).toBe(ModelUpdateType.NONE); - modelUpdateType = isModelUpdateRequired(config, { languageId: 'typescript', code: 'test' }); + modelUpdateType = isModelUpdateRequired(config, { languageId: 'my-lang', code: 'test' }); expect(modelUpdateType).toBe(ModelUpdateType.CODE); modelUpdateType = isModelUpdateRequired(config, { languageId: 'javascript', code: 'test' }); diff --git a/packages/monaco-editor-wrapper/test/helper.ts b/packages/monaco-editor-wrapper/test/helper.ts index 2846392..765e661 100644 --- a/packages/monaco-editor-wrapper/test/helper.ts +++ b/packages/monaco-editor-wrapper/test/helper.ts @@ -21,7 +21,7 @@ export const createWrapperConfig = (type: EditorAppType) => { export const createEditorAppConfig = (type: EditorAppType) => { return { $type: type, - languageId: 'typescript', + languageId: 'my-lang', code: '', useDiffEditor: false, }; diff --git a/packages/monaco-editor-wrapper/test/languageClientWrapper.test.ts b/packages/monaco-editor-wrapper/test/languageClientWrapper.test.ts index 745966c..73b2520 100644 --- a/packages/monaco-editor-wrapper/test/languageClientWrapper.test.ts +++ b/packages/monaco-editor-wrapper/test/languageClientWrapper.test.ts @@ -1,21 +1,35 @@ import { describe, expect, test } from 'vitest'; -import { LanguageClientConfig, LanguageClientWrapper } from 'monaco-editor-wrapper'; +import { MonacoEditorLanguageClientWrapper } from 'monaco-editor-wrapper'; +import { createBaseConfig } from './helper.js'; + +// if (!window.MonacoEnvironment) { +// window.MonacoEnvironment = {}; +// } describe('Test LanguageClientWrapper', () => { - test('Not Running after construction', () => { - const languageClientWrapper = new LanguageClientWrapper(); - languageClientWrapper.init('my-lang'); - expect(languageClientWrapper.haveLanguageClient()).toBeFalsy(); - expect(languageClientWrapper.haveLanguageClientConfig()).toBeFalsy(); - expect(languageClientWrapper.isStarted()).toBeFalsy(); + test('Not Running after construction', async () => { + const wrapper = new MonacoEditorLanguageClientWrapper(); + await wrapper.init(createBaseConfig('extended')); + + const languageClientWrapper = wrapper.getLanguageClientWrapper(); + expect(languageClientWrapper).toBeDefined(); + + expect(languageClientWrapper!.haveLanguageClient()).toBeFalsy(); + expect(languageClientWrapper!.haveLanguageClientConfig()).toBeFalsy(); + expect(languageClientWrapper!.isStarted()).toBeFalsy(); }); test('Constructor: no config', async () => { - const languageClientWrapper = new LanguageClientWrapper(); - languageClientWrapper.init('my-lang'); + const wrapper = new MonacoEditorLanguageClientWrapper(); + await wrapper.init(createBaseConfig('extended')); + + const languageClientWrapper = wrapper.getLanguageClientWrapper(); + expect(languageClientWrapper).toBeDefined(); + + console.log(window.MonacoEnvironment); expect(async () => { - await languageClientWrapper.start(); + await languageClientWrapper!.start(); }).rejects.toEqual({ message: 'languageClientWrapper (undefined): Unable to start monaco-languageclient. No configuration was provided.', error: 'No error was provided.' @@ -39,48 +53,63 @@ describe('Test LanguageClientWrapper', () => { }); // setup the wrapper - const languageClientWrapper = new LanguageClientWrapper(); - languageClientWrapper.init('my-lang', { + const wrapper = new MonacoEditorLanguageClientWrapper(); + const config = createBaseConfig('extended'); + config.languageClientConfig = { options: { $type: 'WorkerDirect', worker } - }); + }; + await wrapper.init(config); + + const languageClientWrapper = wrapper.getLanguageClientWrapper(); + expect(languageClientWrapper).toBeDefined(); // start up & verify (don't wait for start to finish, just roll past it, we only care about the worker) - languageClientWrapper.start(); - expect(languageClientWrapper.getWorker()).toBeTruthy(); + languageClientWrapper!.start(); + expect(languageClientWrapper!.getWorker()).toBeTruthy(); // dispose & verify - languageClientWrapper.disposeLanguageClient(); - expect(languageClientWrapper.getWorker()).toBeUndefined(); + languageClientWrapper!.disposeLanguageClient(); + expect(languageClientWrapper!.getWorker()).toBeDefined(); // no further way to verify post-terminate, but the worker should be disposed once no longer present }); test('Constructor: config', async () => { - const languageClientConfig: LanguageClientConfig = { + const wrapper = new MonacoEditorLanguageClientWrapper(); + const config = createBaseConfig('extended'); + config.languageClientConfig = { options: { $type: 'WebSocketUrl', url: 'ws://localhost:12345/Tester' } }; - const languageClientWrapper = new LanguageClientWrapper(); - languageClientWrapper.init('my-lang', languageClientConfig); - expect(languageClientWrapper.haveLanguageClientConfig()).toBeTruthy(); + await wrapper.init(config); + + const languageClientWrapper = wrapper.getLanguageClientWrapper(); + expect(languageClientWrapper).toBeDefined(); + + expect(languageClientWrapper!.haveLanguageClientConfig()).toBeTruthy(); }); test('Start: unreachable url', async () => { - const languageClientConfig: LanguageClientConfig = { + const wrapper = new MonacoEditorLanguageClientWrapper(); + const config = createBaseConfig('extended'); + config.languageClientConfig = { options: { $type: 'WebSocketUrl', url: 'ws://localhost:12345/Tester', name: 'test-unreachable' } }; - const languageClientWrapper = new LanguageClientWrapper(); - languageClientWrapper.init('my-lang', languageClientConfig); - expect(languageClientWrapper.haveLanguageClientConfig()).toBeTruthy(); - await expect(languageClientWrapper.start()).rejects.toEqual({ + await wrapper.init(config); + + const languageClientWrapper = wrapper.getLanguageClientWrapper(); + expect(languageClientWrapper).toBeDefined(); + + expect(languageClientWrapper!.haveLanguageClientConfig()).toBeTruthy(); + await expect(languageClientWrapper!.start()).rejects.toEqual({ message: 'languageClientWrapper (test-unreachable): Websocket connection failed.', error: 'No error was provided.' }); @@ -98,17 +127,22 @@ describe('Test LanguageClientWrapper', () => { }); test('Start: unreachable worker url', async () => { - const languageClientConfig: LanguageClientConfig = { + const wrapper = new MonacoEditorLanguageClientWrapper(); + const config = createBaseConfig('extended'); + config.languageClientConfig = { options: { $type: 'WorkerConfig', - url: new URL('http://localhost:5173'), + url: new URL('http://localhost:20101'), type: 'classic' } }; - const languageClientWrapper = new LanguageClientWrapper(); - languageClientWrapper.init('my-lang', languageClientConfig); - expect(languageClientWrapper.haveLanguageClientConfig()).toBeTruthy(); - await expect(languageClientWrapper.start()).rejects.toEqual({ + await wrapper.init(config); + + const languageClientWrapper = wrapper.getLanguageClientWrapper(); + expect(languageClientWrapper).toBeDefined(); + + expect(languageClientWrapper!.haveLanguageClientConfig()).toBeTruthy(); + await expect(languageClientWrapper!.start()).rejects.toEqual({ message: 'languageClientWrapper (unnamed): Illegal worker configuration detected. Potentially the url is wrong.', error: 'No error was provided.' }); diff --git a/vite.config.ts b/vite.config.ts index 209bd87..fdbb0ac 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -65,10 +65,20 @@ export default defineConfig(() => { rootDirectory: JSON.stringify(__dirname) }, test: { + pool: 'threads', + poolOptions: { + threads: { + minThreads: 1, + maxThreads: 1 + } + }, browser: { enabled: true, headless: true, - name: 'chrome' + name: 'chrome', + api: { + port: 20101 + } } } };