diff --git a/.vscode/launch.json b/.vscode/launch.json
index 8e8eba9..3ceae22 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -5,6 +5,19 @@
{
"version": "0.2.0",
"configurations": [
+ {
+ "name": "Run Extension",
+ "type": "extensionHost",
+ "sourceMaps": true,
+ "request": "launch",
+ "args": [
+ "${workspaceFolder}/examples/newGeneration",
+ "--extensionDevelopmentPath=${workspaceFolder}/packages/tonto-vscode"
+ ],
+ "outFiles": [
+ "${workspaceFolder}/{packages,examples}/*/{lib,out}/**/*.js"
+ ]
+ },
{
"name": "CLI: GenerateModular",
"program": "${workspaceFolder}/packages/tonto/bin/cli.js",
@@ -90,24 +103,6 @@
],
"cwd": "${workspaceFolder}/examples/ontouml-models/Aguiar2019ooco"
},
- {
- "name": "Run Extension",
- "type": "extensionHost",
- "sourceMaps": true,
- "request": "launch",
- "args": [
- // "${workspaceFolder}/../tonto-example-models/Library",
- // "${workspaceFolder}/../tonto-catalog/models/abel2015petroleum-system",
- "${workspaceFolder}/examples/newGeneration",
- "--extensionDevelopmentPath=${workspaceFolder}/packages/tonto-vscode"
- ],
- "outFiles": [
- "${workspaceFolder}/{packages,examples}/*/{lib,out}/**/*.js"
- ]
- // "env": {
- // "DEBUG_BREAK": "true"
- // }
- },
{
"name": "Attach to Language Server",
"type": "node",
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..e0389ea
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,124 @@
+{
+ "version": "2.0.0",
+
+ "tasks": [
+ {
+ "label": "watch langium",
+ "hide": false,
+ "type": "shell",
+ "command": "npm run langium:watch",
+ "isBackground": true,
+ "group": "build",
+ "runOptions": {
+ "runOn": "default"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/packages/tonto",
+ },
+ "presentation": {
+ "panel": "dedicated",
+ "reveal": "never"
+ }
+ },
+ {
+ "label": "watch tonto",
+ "type": "shell",
+ "command": "npm run watch",
+ "hide": false,
+ "isBackground": true,
+ "group": "build",
+ "runOptions": {
+ "runOn": "default"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/packages/tonto"
+ },
+ "presentation": {
+ "panel": "dedicated",
+ "reveal": "never"
+ }
+ },
+ {
+ "label": "watch extension",
+ "type": "shell",
+ "hide": false,
+ "command": "npm run watch",
+ "isBackground": true,
+ "group": "build",
+ "runOptions": {
+ "runOn": "default"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/packages/tonto-vscode"
+ },
+ "presentation": {
+ "panel": "dedicated",
+ "reveal": "always"
+ }
+ },
+ {
+ "label": "watch tpm",
+ "type": "shell",
+ "command": "npm run watch",
+ "isBackground": true,
+ "group": "build",
+ "runOptions": {
+ "runOn": "default"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/packages/tonto-package-manager"
+ },
+ "presentation": {
+ "panel": "dedicated",
+ "reveal": "never"
+ }
+ },
+ {
+ "label": "watch workspace",
+ "command": "npm run watch",
+ "isBackground": true,
+ "group": "build",
+ "problemMatcher": "$tsc-watch",
+ "runOptions": {
+ "runOn": "folderOpen"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "presentation": {
+ "panel": "dedicated",
+ "reveal": "always"
+ },
+ "detail": "npm run watch --workspaces"
+ },
+ {
+ "label": "Watch all",
+ "dependsOn": [
+ "watch langium",
+ "watch tonto",
+ "watch extension",
+ "watch tpm"
+ ],
+ "dependsOrder": "parallel",
+ "group": "build",
+ "problemMatcher": [
+ "$tsc-watch"
+ ],
+ "isBackground": true,
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ },
+
+ // Test tasks
+ {
+ "label": "test: tonto",
+ "command": "npm run test",
+ "isBackground": false,
+ "options": {
+ "cwd": "${workspaceFolder}/packages/tonto"
+ },
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 31e0b3b..377e989 100644
--- a/README.md
+++ b/README.md
@@ -69,8 +69,6 @@ Here are some of the languages, frameworks, tools and libraries used in developm
(back to top)
-
-
## Packages
@@ -83,10 +81,25 @@ This project is divided in 3 packages, each of them responsible for a different
- This package is responsible for the [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=Lenke.tonto)
### [Tonto Package Manager](packages/tonto-package-manager/)
-- This package is responsible for the TPM responsible for managing
+- This package is responsible for the `Tonto Package Manager (TPM)`. The TPM provides a way to manage ontologies as sepparate packages, simmilarly to how programming languages work.
(back to top)
+#### 4.1 Visual Studio Code Extension
+
+The Tonto VS Code extension provides a rich editing experience with features like:
+
+* Real-time syntax verification
+* Syntax highlighting
+* Autocompletion
+* Code snippets
+* Transformation to OntoUML (JSON) and gUFO-based OWL
+* Visualization of diagrams
+
+#### 4.2 Tonto Package Manager (TPM)
+
+TPM enables managing dependencies between Tonto projects, facilitating code reuse and modular development.
+
## ⌨️ Getting Started
@@ -105,13 +118,14 @@ This is all the tools you need installed to run the project and the versions tha
### ⚙️ Initializing
+#### Tasks
+This project defines tasks in order to be easier for vscode to build everything.
- * Run `npm run langium:generate` to generate TypeScript code from the grammar definition.
- * Run `npm run build` to compile all TypeScript code or `npm run watch` if you want the compiler to work automatically everytime you update your files
- * Press `F5` to open a new window with your extension loaded.
- * Create a new file with a file name suffix matching your language.
- * Verify that syntax highlighting, validation, completion etc. are working as expected.
+1. If you want to build all packages in watch mode just press `cmd` + `shift` + `b` or the equivalent command to run the build task.
+2. After that, select at the debug tab the `Run Extension` command or press `F5` to run the extension in a sepparate Extension Development Host.
+
+3. Create a new file with a file name suffix `.tonto` and start using Tonto
### Packaging the extension
@@ -119,12 +133,25 @@ This is all the tools you need installed to run the project and the versions tha
```bash
# Run this to generate .vsix file
+ npm run package
+ # Or
vsce package --pre-release --baseContentUrl https://github.com/matheuslenke/Tonto
# Installing the extension in your vscode (requires the code extension in path)
code --install-extension tonto-x.x.x.vsix
```
+### Publishing
+
+You can Publish the `tonto-cli` to npm and the Visual Studio Code extension to the extension marketplace
+
+In order to publish the extension, you need to configure your azure key and your npm key locally.
+
+Then, inside the `tonto` or `tonto-vscode` folder, run the following command:
+
+```bash
+ npm run publish
+```
## 🔐 License
diff --git a/examples/newGeneration/tokens.tonto b/examples/newGeneration/tokens.tonto
index aeed8e0..92f11bf 100644
--- a/examples/newGeneration/tokens.tonto
+++ b/examples/newGeneration/tokens.tonto
@@ -1,10 +1,16 @@
- package CheckGeneralizationConsistency
- kind Person
- role Doctor specializes Person
+package tokens
- relation Doctor -- treats -- Person
+kind B
+kind A {
+ -- B
+}
+
+kind C {
+ -- name -- B
+ -- B
+ -- [1] B
+ [1..*] -- [1] B
+ [1..*] -- A
+ -- C.name
+}
- genset GeneralizationSet {
- general Person
- specifics Doctor.treats
- }
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index ad2adaa..23e0c04 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "tonto-workspaces",
- "version": "0.3.3",
+ "version": "0.3.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "tonto-workspaces",
- "version": "0.3.3",
+ "version": "0.3.6",
"license": "MIT",
"workspaces": [
"packages/tonto",
@@ -23,8 +23,6 @@
"@types/vscode": "^1.63.0",
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
- "@vitest/coverage-c8": "^0.23.2",
- "@vitest/ui": "^0.23.4",
"esbuild": "^0.16.9",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
@@ -32,8 +30,7 @@
"prettier": "^3.2.5",
"shx": "^0.3.4",
"typescript": "~4.9.5",
- "vite": "^4.3.8",
- "vitest": "^0.31.1"
+ "vitest": "^1.4.0"
},
"engines": {
"node": ">=16",
@@ -1088,7 +1085,9 @@
"version": "1.0.0-next.25",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
"integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
- "dev": true
+ "dev": true,
+ "optional": true,
+ "peer": true
},
"node_modules/@rdfjs/types": {
"version": "1.1.0",
@@ -1098,6 +1097,214 @@
"@types/node": "*"
}
},
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
+ "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
+ "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
+ "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
+ "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
+ "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
+ "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
+ "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
+ "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
+ "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
+ "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
+ "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
+ "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
+ "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
+ "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
+ "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
+ "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
@@ -1119,6 +1326,12 @@
"@types/chai": "*"
}
},
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
"node_modules/@types/figlet": {
"version": "1.5.8",
"resolved": "https://registry.npmjs.org/@types/figlet/-/figlet-1.5.8.tgz",
@@ -1713,44 +1926,43 @@
}
},
"node_modules/@vitest/expect": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.31.4.tgz",
- "integrity": "sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz",
+ "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==",
"dev": true,
"dependencies": {
- "@vitest/spy": "0.31.4",
- "@vitest/utils": "0.31.4",
- "chai": "^4.3.7"
+ "@vitest/spy": "1.4.0",
+ "@vitest/utils": "1.4.0",
+ "chai": "^4.3.10"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/runner": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.31.4.tgz",
- "integrity": "sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz",
+ "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==",
"dev": true,
"dependencies": {
- "@vitest/utils": "0.31.4",
- "concordance": "^5.0.4",
- "p-limit": "^4.0.0",
- "pathe": "^1.1.0"
+ "@vitest/utils": "1.4.0",
+ "p-limit": "^5.0.0",
+ "pathe": "^1.1.1"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"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"
@@ -1769,94 +1981,77 @@
}
},
"node_modules/@vitest/snapshot": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.31.4.tgz",
- "integrity": "sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz",
+ "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==",
"dev": true,
"dependencies": {
- "magic-string": "^0.30.0",
- "pathe": "^1.1.0",
- "pretty-format": "^27.5.1"
+ "magic-string": "^0.30.5",
+ "pathe": "^1.1.1",
+ "pretty-format": "^29.7.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/snapshot/node_modules/pretty-format": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
- "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
+ "node_modules/@vitest/spy": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz",
+ "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==",
"dev": true,
"dependencies": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
+ "tinyspy": "^2.2.0"
},
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ "funding": {
+ "url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/snapshot/node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
- "node_modules/@vitest/spy": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.31.4.tgz",
- "integrity": "sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag==",
+ "node_modules/@vitest/ui": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.4.0.tgz",
+ "integrity": "sha512-XC6CMhN1gzYcGbpn6/Oanj4Au2EXwQEX6vpcOeLlZv8dy7g11Ukx8zwtYQbwxs9duK2s9j2o5rbQiCP5DPAcmw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
- "tinyspy": "^2.1.0"
+ "@vitest/utils": "1.4.0",
+ "fast-glob": "^3.3.2",
+ "fflate": "^0.8.1",
+ "flatted": "^3.2.9",
+ "pathe": "^1.1.1",
+ "picocolors": "^1.0.0",
+ "sirv": "^2.0.4"
},
"funding": {
"url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "vitest": "1.4.0"
}
},
- "node_modules/@vitest/ui": {
- "version": "0.23.4",
- "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.23.4.tgz",
- "integrity": "sha512-lNZVTTrkHThGAwNQ1ah1qCNnm70r7OLB5LCUdSqboStve/1eKTrtt27QfDSSUTG8AVJQzU0eaN/j8UocH+CqfA==",
+ "node_modules/@vitest/ui/node_modules/fflate": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
+ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
"dev": true,
- "dependencies": {
- "sirv": "^2.0.2"
- }
+ "optional": true,
+ "peer": true
},
"node_modules/@vitest/utils": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.31.4.tgz",
- "integrity": "sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz",
+ "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==",
"dev": true,
"dependencies": {
- "concordance": "^5.0.4",
- "loupe": "^2.3.6",
- "pretty-format": "^27.5.1"
+ "diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
+ "loupe": "^2.3.7",
+ "pretty-format": "^29.7.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/utils/node_modules/pretty-format": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
- "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@vitest/utils/node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
"node_modules/abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
@@ -2049,12 +2244,6 @@
"node": ">= 6"
}
},
- "node_modules/blueimp-md5": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
- "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==",
- "dev": true
- },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2481,24 +2670,11 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "node_modules/concordance": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz",
- "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==",
- "dev": true,
- "dependencies": {
- "date-time": "^3.1.0",
- "esutils": "^2.0.3",
- "fast-diff": "^1.2.0",
- "js-string-escape": "^1.0.1",
- "lodash": "^4.17.15",
- "md5-hex": "^3.0.1",
- "semver": "^7.3.2",
- "well-known-symbols": "^2.0.0"
- },
- "engines": {
- "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14"
- }
+ "node_modules/confbox": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz",
+ "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==",
+ "dev": true
},
"node_modules/convert-source-map": {
"version": "2.0.0",
@@ -2539,18 +2715,6 @@
"utrie": "^1.0.2"
}
},
- "node_modules/date-time": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz",
- "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==",
- "dev": true,
- "dependencies": {
- "time-zone": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -3305,6 +3469,15 @@
"node": ">=4.0"
}
},
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
"node_modules/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -4317,15 +4490,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/js-string-escape": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
- "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -4361,12 +4525,6 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
- "node_modules/jsonc-parser": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
- "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
- "dev": true
- },
"node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -4672,15 +4830,12 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.8",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz",
- "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==",
+ "version": "0.30.10",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+ "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
"dev": true,
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
- },
- "engines": {
- "node": ">=12"
}
},
"node_modules/make-dir": {
@@ -4698,18 +4853,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/md5-hex": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz",
- "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==",
- "dev": true,
- "dependencies": {
- "blueimp-md5": "^2.10.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -4795,15 +4938,15 @@
}
},
"node_modules/mlly": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz",
- "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz",
+ "integrity": "sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==",
"dev": true,
"dependencies": {
"acorn": "^8.11.3",
"pathe": "^1.1.2",
- "pkg-types": "^1.0.3",
- "ufo": "^1.3.2"
+ "pkg-types": "^1.1.0",
+ "ufo": "^1.5.3"
}
},
"node_modules/monaco-editor": {
@@ -5290,6 +5433,8 @@
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
"integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=10"
}
@@ -5705,20 +5850,20 @@
}
},
"node_modules/pkg-types": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
- "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz",
+ "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==",
"dev": true,
"dependencies": {
- "jsonc-parser": "^3.2.0",
- "mlly": "^1.2.0",
- "pathe": "^1.1.0"
+ "confbox": "^0.1.7",
+ "mlly": "^1.7.0",
+ "pathe": "^1.1.2"
}
},
"node_modules/postcss": {
- "version": "8.4.35",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
- "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"dev": true,
"funding": [
{
@@ -5737,7 +5882,7 @@
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
+ "source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -6050,18 +6195,37 @@
}
},
"node_modules/rollup": {
- "version": "3.29.4",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
- "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
+ "version": "4.18.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
+ "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
"dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
- "node": ">=14.18.0",
+ "node": ">=18.0.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.18.0",
+ "@rollup/rollup-android-arm64": "4.18.0",
+ "@rollup/rollup-darwin-arm64": "4.18.0",
+ "@rollup/rollup-darwin-x64": "4.18.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.18.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.18.0",
+ "@rollup/rollup-linux-arm64-musl": "4.18.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.18.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.18.0",
+ "@rollup/rollup-linux-x64-gnu": "4.18.0",
+ "@rollup/rollup-linux-x64-musl": "4.18.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.18.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.18.0",
+ "@rollup/rollup-win32-x64-msvc": "4.18.0",
"fsevents": "~2.3.2"
}
},
@@ -6220,6 +6384,8 @@
"resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
"integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"dependencies": {
"@polka/url": "^1.0.0-next.24",
"mrmime": "^2.0.0",
@@ -6239,9 +6405,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -6401,17 +6567,23 @@
}
},
"node_modules/strip-literal": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz",
- "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz",
+ "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==",
"dev": true,
"dependencies": {
- "acorn": "^8.10.0"
+ "js-tokens": "^9.0.0"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
+ "node_modules/strip-literal/node_modules/js-tokens": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz",
+ "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==",
+ "dev": true
+ },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -6506,15 +6678,6 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "node_modules/time-zone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz",
- "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/tinybench": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz",
@@ -6522,9 +6685,9 @@
"dev": true
},
"node_modules/tinypool": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.5.0.tgz",
- "integrity": "sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==",
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz",
+ "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==",
"dev": true,
"engines": {
"node": ">=14.0.0"
@@ -6567,6 +6730,8 @@
"resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
"integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
"dev": true,
+ "optional": true,
+ "peer": true,
"engines": {
"node": ">=6"
}
@@ -6643,9 +6808,9 @@
}
},
"node_modules/ufo": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz",
- "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz",
+ "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==",
"dev": true
},
"node_modules/undici-types": {
@@ -6720,29 +6885,29 @@
}
},
"node_modules/vite": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
- "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
+ "version": "5.2.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz",
+ "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==",
"dev": true,
"dependencies": {
- "esbuild": "^0.18.10",
- "postcss": "^8.4.27",
- "rollup": "^3.27.1"
+ "esbuild": "^0.20.1",
+ "postcss": "^8.4.38",
+ "rollup": "^4.13.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": "^14.18.0 || >=16.0.0"
+ "node": "^18.0.0 || >=20.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
- "fsevents": "~2.3.2"
+ "fsevents": "~2.3.3"
},
"peerDependencies": {
- "@types/node": ">= 14",
+ "@types/node": "^18.0.0 || >=20.0.0",
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
@@ -6775,32 +6940,47 @@
}
},
"node_modules/vite-node": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.31.4.tgz",
- "integrity": "sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz",
+ "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==",
"dev": true,
"dependencies": {
"cac": "^6.7.14",
"debug": "^4.3.4",
- "mlly": "^1.2.0",
- "pathe": "^1.1.0",
+ "pathe": "^1.1.1",
"picocolors": "^1.0.0",
- "vite": "^3.0.0 || ^4.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/aix-ppc64": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
+ "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/vite/node_modules/@esbuild/android-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
- "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz",
+ "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==",
"cpu": [
"arm"
],
@@ -6814,9 +6994,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz",
+ "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==",
"cpu": [
"arm64"
],
@@ -6830,9 +7010,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz",
+ "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==",
"cpu": [
"x64"
],
@@ -6846,9 +7026,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz",
+ "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==",
"cpu": [
"arm64"
],
@@ -6862,9 +7042,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz",
+ "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==",
"cpu": [
"x64"
],
@@ -6878,9 +7058,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz",
+ "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==",
"cpu": [
"arm64"
],
@@ -6894,9 +7074,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz",
+ "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==",
"cpu": [
"x64"
],
@@ -6910,9 +7090,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz",
+ "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==",
"cpu": [
"arm"
],
@@ -6926,9 +7106,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz",
+ "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==",
"cpu": [
"arm64"
],
@@ -6942,9 +7122,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz",
+ "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==",
"cpu": [
"ia32"
],
@@ -6958,9 +7138,9 @@
}
},
"node_modules/vite/node_modules/@esbuild/linux-loong64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
- "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz",
+ "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==",
"cpu": [
"loong64"
],
@@ -6974,9 +7154,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz",
+ "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==",
"cpu": [
"mips64el"
],
@@ -6990,9 +7170,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz",
+ "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==",
"cpu": [
"ppc64"
],
@@ -7006,9 +7186,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz",
+ "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==",
"cpu": [
"riscv64"
],
@@ -7022,9 +7202,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz",
+ "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==",
"cpu": [
"s390x"
],
@@ -7038,9 +7218,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz",
+ "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==",
"cpu": [
"x64"
],
@@ -7054,9 +7234,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==",
"cpu": [
"x64"
],
@@ -7070,9 +7250,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz",
+ "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==",
"cpu": [
"x64"
],
@@ -7086,9 +7266,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz",
+ "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==",
"cpu": [
"x64"
],
@@ -7102,9 +7282,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz",
+ "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==",
"cpu": [
"arm64"
],
@@ -7118,9 +7298,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz",
+ "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==",
"cpu": [
"ia32"
],
@@ -7134,9 +7314,9 @@
}
},
"node_modules/vite/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.20.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz",
+ "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==",
"cpu": [
"x64"
],
@@ -7150,9 +7330,9 @@
}
},
"node_modules/vite/node_modules/esbuild": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
- "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
+ "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -7162,85 +7342,82 @@
"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/aix-ppc64": "0.20.2",
+ "@esbuild/android-arm": "0.20.2",
+ "@esbuild/android-arm64": "0.20.2",
+ "@esbuild/android-x64": "0.20.2",
+ "@esbuild/darwin-arm64": "0.20.2",
+ "@esbuild/darwin-x64": "0.20.2",
+ "@esbuild/freebsd-arm64": "0.20.2",
+ "@esbuild/freebsd-x64": "0.20.2",
+ "@esbuild/linux-arm": "0.20.2",
+ "@esbuild/linux-arm64": "0.20.2",
+ "@esbuild/linux-ia32": "0.20.2",
+ "@esbuild/linux-loong64": "0.20.2",
+ "@esbuild/linux-mips64el": "0.20.2",
+ "@esbuild/linux-ppc64": "0.20.2",
+ "@esbuild/linux-riscv64": "0.20.2",
+ "@esbuild/linux-s390x": "0.20.2",
+ "@esbuild/linux-x64": "0.20.2",
+ "@esbuild/netbsd-x64": "0.20.2",
+ "@esbuild/openbsd-x64": "0.20.2",
+ "@esbuild/sunos-x64": "0.20.2",
+ "@esbuild/win32-arm64": "0.20.2",
+ "@esbuild/win32-ia32": "0.20.2",
+ "@esbuild/win32-x64": "0.20.2"
}
},
"node_modules/vitest": {
- "version": "0.31.4",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.31.4.tgz",
- "integrity": "sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz",
+ "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==",
"dev": true,
"dependencies": {
- "@types/chai": "^4.3.5",
- "@types/chai-subset": "^1.3.3",
- "@types/node": "*",
- "@vitest/expect": "0.31.4",
- "@vitest/runner": "0.31.4",
- "@vitest/snapshot": "0.31.4",
- "@vitest/spy": "0.31.4",
- "@vitest/utils": "0.31.4",
- "acorn": "^8.8.2",
- "acorn-walk": "^8.2.0",
- "cac": "^6.7.14",
- "chai": "^4.3.7",
- "concordance": "^5.0.4",
+ "@vitest/expect": "1.4.0",
+ "@vitest/runner": "1.4.0",
+ "@vitest/snapshot": "1.4.0",
+ "@vitest/spy": "1.4.0",
+ "@vitest/utils": "1.4.0",
+ "acorn-walk": "^8.3.2",
+ "chai": "^4.3.10",
"debug": "^4.3.4",
- "local-pkg": "^0.4.3",
- "magic-string": "^0.30.0",
- "pathe": "^1.1.0",
+ "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.2",
- "strip-literal": "^1.0.1",
- "tinybench": "^2.5.0",
- "tinypool": "^0.5.0",
- "vite": "^3.0.0 || ^4.0.0",
- "vite-node": "0.31.4",
+ "std-env": "^3.5.0",
+ "strip-literal": "^2.0.0",
+ "tinybench": "^2.5.1",
+ "tinypool": "^0.8.2",
+ "vite": "^5.0.0",
+ "vite-node": "1.4.0",
"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.4.0",
+ "@vitest/ui": "1.4.0",
"happy-dom": "*",
- "jsdom": "*",
- "playwright": "*",
- "safaridriver": "*",
- "webdriverio": "*"
+ "jsdom": "*"
},
"peerDependenciesMeta": {
"@edge-runtime/vm": {
"optional": true
},
+ "@types/node": {
+ "optional": true
+ },
"@vitest/browser": {
"optional": true
},
@@ -7252,18 +7429,159 @@
},
"jsdom": {
"optional": true
- },
- "playwright": {
- "optional": true
- },
- "safaridriver": {
- "optional": true
- },
- "webdriverio": {
- "optional": true
}
}
},
+ "node_modules/vitest/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/vitest/node_modules/get-stream": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+ "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/vitest/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/vitest/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/vitest/node_modules/local-pkg": {
+ "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"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/vitest/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/vitest/node_modules/npm-run-path": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/vitest/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/vitest/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/vitest/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/vitest/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/vscode": {
"name": "@codingame/monaco-vscode-api",
"version": "3.2.3",
@@ -7384,15 +7702,6 @@
"defaults": "^1.0.3"
}
},
- "node_modules/well-known-symbols": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz",
- "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -7621,7 +7930,7 @@
},
"packages/tonto": {
"name": "tonto-cli",
- "version": "0.3.3",
+ "version": "0.3.6",
"license": "MIT",
"dependencies": {
"ajv": "^8.12.0",
@@ -7653,12 +7962,9 @@
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"@vitest/coverage-c8": "^0.23.2",
- "@vitest/ui": "^0.23.4",
"langium-cli": "^3.0.0",
"prettier": "^3.2.5",
- "typescript": "~4.9.5",
- "vite": "^4.0.2",
- "vitest": "^0.23.2"
+ "typescript": "~4.9.5"
},
"engines": {
"node": ">= 16"
@@ -7821,7 +8127,7 @@
},
"packages/tonto-vscode": {
"name": "tonto",
- "version": "0.3.3",
+ "version": "0.3.6",
"license": "MIT",
"dependencies": {
"chalk": "^5.3.0",
@@ -7832,10 +8138,9 @@
"monaco-editor-wrapper": "^4.0.2",
"monaco-languageclient": "^8.1.1",
"node-fetch-native": "^1.6.2",
- "nomnoml": "^1.6.2",
"prettier": "^3.2.5",
"rimraf": "^4.1.2",
- "tonto-cli": "file:../tonto",
+ "tonto-cli": "~0.3.6",
"tonto-package-manager": "~0.2.9",
"uuid": "^9.0.1",
"vscode-languageclient": "^9.0.1",
@@ -7849,16 +8154,13 @@
"@types/node-fetch": "^2.6.1",
"@types/vscode": "^1.63.0",
"@vitest/coverage-c8": "^0.23.2",
- "@vitest/ui": "^0.23.4",
"esbuild": "^0.20.1",
"eslint": "^8.32.0",
"eslint-config-prettier": "^8.8.0",
"langium-cli": "^3.0.0",
"prettier": "^2.8.2",
"shx": "^0.3.4",
- "typescript": "~4.9.5",
- "vite": "^4.0.2",
- "vitest": "^0.23.2"
+ "typescript": "~4.9.5"
},
"engines": {
"node": ">=16",
@@ -8318,51 +8620,6 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
- "packages/tonto-vscode/node_modules/rollup": {
- "version": "2.79.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
- "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "packages/tonto-vscode/node_modules/strip-literal": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-0.4.2.tgz",
- "integrity": "sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.8.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
- "packages/tonto-vscode/node_modules/tinypool": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz",
- "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "packages/tonto-vscode/node_modules/tinyspy": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz",
- "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
"packages/tonto-vscode/node_modules/tonto-package-manager": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/tonto-package-manager/-/tonto-package-manager-0.2.9.tgz",
@@ -8522,395 +8779,10 @@
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz",
"integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA=="
},
- "packages/tonto-vscode/node_modules/vitest": {
- "version": "0.23.4",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.23.4.tgz",
- "integrity": "sha512-iukBNWqQAv8EKDBUNntspLp9SfpaVFbmzmM0sNcnTxASQZMzRw3PsM6DMlsHiI+I6GeO5/sYDg3ecpC+SNFLrQ==",
- "dev": true,
- "dependencies": {
- "@types/chai": "^4.3.3",
- "@types/chai-subset": "^1.3.3",
- "@types/node": "*",
- "chai": "^4.3.6",
- "debug": "^4.3.4",
- "local-pkg": "^0.4.2",
- "strip-literal": "^0.4.1",
- "tinybench": "^2.1.5",
- "tinypool": "^0.3.0",
- "tinyspy": "^1.0.2",
- "vite": "^2.9.12 || ^3.0.0-0"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
- "engines": {
- "node": ">=v14.16.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- },
- "peerDependencies": {
- "@edge-runtime/vm": "*",
- "@vitest/browser": "*",
- "@vitest/ui": "*",
- "happy-dom": "*",
- "jsdom": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@vitest/browser": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- }
- }
- },
- "packages/tonto-vscode/node_modules/vitest/node_modules/@esbuild/android-arm": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
- "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "packages/tonto-vscode/node_modules/vitest/node_modules/@esbuild/linux-loong64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz",
- "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "packages/tonto-vscode/node_modules/vitest/node_modules/esbuild": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz",
- "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.15.18",
- "@esbuild/linux-loong64": "0.15.18",
- "esbuild-android-64": "0.15.18",
- "esbuild-android-arm64": "0.15.18",
- "esbuild-darwin-64": "0.15.18",
- "esbuild-darwin-arm64": "0.15.18",
- "esbuild-freebsd-64": "0.15.18",
- "esbuild-freebsd-arm64": "0.15.18",
- "esbuild-linux-32": "0.15.18",
- "esbuild-linux-64": "0.15.18",
- "esbuild-linux-arm": "0.15.18",
- "esbuild-linux-arm64": "0.15.18",
- "esbuild-linux-mips64le": "0.15.18",
- "esbuild-linux-ppc64le": "0.15.18",
- "esbuild-linux-riscv64": "0.15.18",
- "esbuild-linux-s390x": "0.15.18",
- "esbuild-netbsd-64": "0.15.18",
- "esbuild-openbsd-64": "0.15.18",
- "esbuild-sunos-64": "0.15.18",
- "esbuild-windows-32": "0.15.18",
- "esbuild-windows-64": "0.15.18",
- "esbuild-windows-arm64": "0.15.18"
- }
- },
- "packages/tonto-vscode/node_modules/vitest/node_modules/vite": {
- "version": "3.2.10",
- "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz",
- "integrity": "sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.15.9",
- "postcss": "^8.4.18",
- "resolve": "^1.22.1",
- "rollup": "^2.79.1"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "less": "*",
- "sass": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
"packages/tonto-vscode/node_modules/vscode-languageserver-types": {
"version": "3.17.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz",
"integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA=="
- },
- "packages/tonto/node_modules/@esbuild/android-arm": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
- "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "packages/tonto/node_modules/@esbuild/linux-loong64": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz",
- "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "packages/tonto/node_modules/esbuild": {
- "version": "0.15.18",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz",
- "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.15.18",
- "@esbuild/linux-loong64": "0.15.18",
- "esbuild-android-64": "0.15.18",
- "esbuild-android-arm64": "0.15.18",
- "esbuild-darwin-64": "0.15.18",
- "esbuild-darwin-arm64": "0.15.18",
- "esbuild-freebsd-64": "0.15.18",
- "esbuild-freebsd-arm64": "0.15.18",
- "esbuild-linux-32": "0.15.18",
- "esbuild-linux-64": "0.15.18",
- "esbuild-linux-arm": "0.15.18",
- "esbuild-linux-arm64": "0.15.18",
- "esbuild-linux-mips64le": "0.15.18",
- "esbuild-linux-ppc64le": "0.15.18",
- "esbuild-linux-riscv64": "0.15.18",
- "esbuild-linux-s390x": "0.15.18",
- "esbuild-netbsd-64": "0.15.18",
- "esbuild-openbsd-64": "0.15.18",
- "esbuild-sunos-64": "0.15.18",
- "esbuild-windows-32": "0.15.18",
- "esbuild-windows-64": "0.15.18",
- "esbuild-windows-arm64": "0.15.18"
- }
- },
- "packages/tonto/node_modules/rollup": {
- "version": "2.79.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
- "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "packages/tonto/node_modules/strip-literal": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-0.4.2.tgz",
- "integrity": "sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.8.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
- "packages/tonto/node_modules/tinypool": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz",
- "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "packages/tonto/node_modules/tinyspy": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz",
- "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==",
- "dev": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "packages/tonto/node_modules/vitest": {
- "version": "0.23.4",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.23.4.tgz",
- "integrity": "sha512-iukBNWqQAv8EKDBUNntspLp9SfpaVFbmzmM0sNcnTxASQZMzRw3PsM6DMlsHiI+I6GeO5/sYDg3ecpC+SNFLrQ==",
- "dev": true,
- "dependencies": {
- "@types/chai": "^4.3.3",
- "@types/chai-subset": "^1.3.3",
- "@types/node": "*",
- "chai": "^4.3.6",
- "debug": "^4.3.4",
- "local-pkg": "^0.4.2",
- "strip-literal": "^0.4.1",
- "tinybench": "^2.1.5",
- "tinypool": "^0.3.0",
- "tinyspy": "^1.0.2",
- "vite": "^2.9.12 || ^3.0.0-0"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
- "engines": {
- "node": ">=v14.16.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- },
- "peerDependencies": {
- "@edge-runtime/vm": "*",
- "@vitest/browser": "*",
- "@vitest/ui": "*",
- "happy-dom": "*",
- "jsdom": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@vitest/browser": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- }
- }
- },
- "packages/tonto/node_modules/vitest/node_modules/vite": {
- "version": "3.2.10",
- "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz",
- "integrity": "sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.15.9",
- "postcss": "^8.4.18",
- "resolve": "^1.22.1",
- "rollup": "^2.79.1"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "less": "*",
- "sass": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
}
}
}
diff --git a/package.json b/package.json
index a06e81b..dcb8ed2 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"private": true,
"engineStrict": true,
"description": "Tonto is a DSL for creating OntoUML models",
- "version": "0.3.4",
+ "version": "0.3.6",
"license": "MIT",
"repository": {
"type": "git",
@@ -19,8 +19,9 @@
"build": "tsc -b tsconfig.build.json && npm run build --workspaces",
"lint": "npm run lint --workspaces",
"lint:fix": "npm run lint --workspaces --fix",
- "watch": "concurrently -n tsc,esbuild -c blue,yellow \"tsc -b tsconfig.build.json -w\" \"npm run watch --workspace=langium-vscode\"",
- "test": "vitest",
+ "watch": "npm run watch --workspaces",
+ "test": "vitest run",
+ "test:watch": "vitest watch",
"test-ui": "vitest --ui",
"coverage": "vitest run --coverage",
"langium:generate": "langium generate --workspace=tonto-cli",
@@ -33,8 +34,6 @@
"@types/vscode": "^1.63.0",
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
- "@vitest/coverage-c8": "^0.23.2",
- "@vitest/ui": "^0.23.4",
"esbuild": "^0.16.9",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
@@ -42,8 +41,7 @@
"prettier": "^3.2.5",
"shx": "^0.3.4",
"typescript": "~4.9.5",
- "vite": "^4.3.8",
- "vitest": "^0.31.1"
+ "vitest": "^1.4.0"
},
"workspaces": [
"packages/tonto",
diff --git a/packages/tonto-vscode/README.md b/packages/tonto-vscode/README.md
index 1811aeb..4e2c6c7 100644
--- a/packages/tonto-vscode/README.md
+++ b/packages/tonto-vscode/README.md
@@ -7,7 +7,7 @@
- An DSL for Ontology models
+ Tonto Visual Studio Code Extension
diff --git a/packages/tonto-vscode/package.json b/packages/tonto-vscode/package.json
index af33c8d..11e431b 100644
--- a/packages/tonto-vscode/package.json
+++ b/packages/tonto-vscode/package.json
@@ -3,7 +3,7 @@
"displayName": "Tonto",
"publisher": "Lenke",
"description": "Tonto is a DSL for creating OntoUML models",
- "version": "0.3.4",
+ "version": "0.3.6",
"license": "MIT",
"icon": "data/images/TontoIcon.png",
"type": "module",
@@ -180,10 +180,9 @@
"monaco-editor-wrapper": "^4.0.2",
"monaco-languageclient": "^8.1.1",
"node-fetch-native": "^1.6.2",
- "nomnoml": "^1.6.2",
"prettier": "^3.2.5",
"rimraf": "^4.1.2",
- "tonto-cli": "file:../tonto",
+ "tonto-cli": "~0.3.6",
"tonto-package-manager": "~0.2.9",
"uuid": "^9.0.1",
"vscode-languageclient": "^9.0.1",
@@ -197,15 +196,12 @@
"@types/node-fetch": "^2.6.1",
"@types/vscode": "^1.63.0",
"@vitest/coverage-c8": "^0.23.2",
- "@vitest/ui": "^0.23.4",
"esbuild": "^0.20.1",
"eslint": "^8.32.0",
"eslint-config-prettier": "^8.8.0",
"langium-cli": "^3.0.0",
"prettier": "^2.8.2",
"shx": "^0.3.4",
- "typescript": "~4.9.5",
- "vite": "^4.0.2",
- "vitest": "^0.23.2"
+ "typescript": "~4.9.5"
}
}
diff --git a/packages/tonto-vscode/src/diagramConfiguration/diagram.config.js b/packages/tonto-vscode/src/diagramConfiguration/diagram.config.js
index 1384002..5733314 100644
--- a/packages/tonto-vscode/src/diagramConfiguration/diagram.config.js
+++ b/packages/tonto-vscode/src/diagramConfiguration/diagram.config.js
@@ -1,23 +1,25 @@
const body = document.getElementsByTagName("body")[0]; // body
-const content = document.querySelector('.content'); // div with the svg
+const content = document.querySelector(".content"); // div with the svg
const elements = document.querySelector("body > div.content > svg > g > g > g:nth-child(2) > g"); // content of the svg
// Drag diagram based on the position of the click before start to drag
let isDragging = false;
let mouseDownX = 0;
let mouseDownY = 0;
-body.addEventListener('mousedown', (e) => {
+let leftMargin = 0;
+let topMargin = 0;
+body.addEventListener("mousedown", (e) => {
isDragging = true;
-
+
mouseDownX = e.clientX;
mouseDownY = e.clientY;
leftMargin = content.style.marginLeft.slice(0, -2);
topMargin = content.style.marginTop.slice(0, -2);
});
-body.addEventListener('mouseup', () => {
+body.addEventListener("mouseup", () => {
isDragging = false;
});
-body.addEventListener('mousemove', (e) => {
+body.addEventListener("mousemove", (e) => {
if(!isDragging) return;
content.style.marginLeft = `${((Number(e.clientX) - Number(mouseDownX))*1.5 + Number(leftMargin))}px`;
@@ -26,8 +28,8 @@ body.addEventListener('mousemove', (e) => {
// Zoom diagram
var zoom = 1;
-body.addEventListener('wheel', (e) => {
-
+body.addEventListener("wheel", (e) => {
+
scroll = zoom < 2? e.deltaY * 0.001 : e.deltaY * 0.003;
zoom = zoom - scroll;
zoom = Math.max(zoom, 0.3);
@@ -40,8 +42,8 @@ body.addEventListener('wheel', (e) => {
const arrows = document.getElementsByTagName("path");
for (const arrow of arrows) {
if(Math.floor(arrow.getTotalLength()) >= 39 && Math.ceil(arrow.getTotalLength()) <= 46){
- if(arrow.parentElement.childElementCount === 1 && arrow.parentElement.getAttribute("fill") === '#33322E'){
- arrow.setAttribute('class', 'composition');
+ if(arrow.parentElement.childElementCount === 1 && arrow.parentElement.getAttribute("fill") === "#33322E"){
+ arrow.setAttribute("class", "composition");
} else {
arrow.setAttribute("fill", "rgba(0,0,0,0)");
}
@@ -52,26 +54,26 @@ for (const arrow of arrows) {
const texts = document.getElementsByTagName("text");
for (const text of texts) {
if(/«.*»/.test(text.textContent)){
- if(text.textContent.split(' ').length === 2){
- let stereotype = document.createElementNS("http://www.w3.org/2000/svg", 'tspan');
- let name = document.createElementNS("http://www.w3.org/2000/svg", 'tspan');
- [stereotype.textContent, name.textContent] = text.textContent.split(' ');
-
+ if(text.textContent.split(" ").length === 2){
+ let stereotype = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ let name = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ [stereotype.textContent, name.textContent] = text.textContent.split(" ");
+
const textBox = text.getBBox();
- stereotype.setAttribute('y', textBox.height/4);
- stereotype.setAttribute('x', text.getAttribute("x"));
- name.setAttribute('y', textBox.height/0.75);
- name.setAttribute('x', text.getAttribute("x"));
-
- text.textContent = '';
+ stereotype.setAttribute("y", textBox.height/4);
+ stereotype.setAttribute("x", text.getAttribute("x"));
+ name.setAttribute("y", textBox.height/0.75);
+ name.setAttribute("x", text.getAttribute("x"));
+
+ text.textContent = "";
text.appendChild(stereotype);
text.appendChild(name);
}
}
- if(text.textContent.split('_').length === 2)
- text.textContent = text.textContent.split('_')[0];
+ if(text.textContent.split("_").length === 2)
+ text.textContent = text.textContent.split("_")[0];
}
// Make the dashed line bellow the genSet
@@ -81,71 +83,71 @@ for (let i = 0; i < elements.childElementCount; i++) {
const child = elements.children[i];
if(child.tagName === "text" && genSet.includes(child.textContent.split("-")[0])){
- let dashedLine = document.createElementNS("http://www.w3.org/2000/svg", 'path');
-
+ let dashedLine = document.createElementNS("http://www.w3.org/2000/svg", "path");
+
const points = elements.children[i+1].getAttribute("d").split(" ").slice(-3, -1);
const X = Number(points[0].slice(1));
const Y = Number(points[1]);
const genSets = Number(child.textContent.split("-")[1]) | 1;
child.textContent = child.textContent.split("-")[0];
-
+
dashedLine.setAttribute("d", `M${X-(genSets*80)} ${Y-1} L${X+(genSets*80)} ${Y-1}`);
dashedLine.setAttribute("stroke-dasharray", "10, 10");
-
+
elements.appendChild(dashedLine);
// Fix position of the text of genSet
- child.setAttribute('y', Number(child.getAttribute('y'))+9);
- if(Number(child.getAttribute('x'))-X > 0)
- child.setAttribute('x', Number(child.getAttribute('x'))-((Number(child.getAttribute('x'))-X)/1.6));
+ child.setAttribute("y", Number(child.getAttribute("y"))+9);
+ if(Number(child.getAttribute("x"))-X > 0)
+ child.setAttribute("x", Number(child.getAttribute("x"))-((Number(child.getAttribute("x"))-X)/1.6));
else
- child.setAttribute('x', Number(child.getAttribute('x'))-((Number(child.getAttribute('x'))-X+155)));
+ child.setAttribute("x", Number(child.getAttribute("x"))-((Number(child.getAttribute("x"))-X+155)));
}
}
// Define the colors os the stereotypes
const colors = {
- 'event': '#fcfcd4',
- 'situation': '#fcfcd4',
+ "event": "#fcfcd4",
+ "situation": "#fcfcd4",
- 'category': '#d3d3fc',
- 'mixin': '#d3d3fc',
- 'phaseMixin': '#d3d3fc',
- 'roleMixin': '#d3d3fc',
- 'historicalRoleMixin': '#d3d3fc',
+ "category": "#d3d3fc",
+ "mixin": "#d3d3fc",
+ "phaseMixin": "#d3d3fc",
+ "roleMixin": "#d3d3fc",
+ "historicalRoleMixin": "#d3d3fc",
- 'kind': '#ff99a3',
- 'collective': '#ff99a3',
+ "kind": "#ff99a3",
+ "collective": "#ff99a3",
- 'quantity': '#70d7ff',
- 'quality': '#70d7ff',
+ "quantity": "#70d7ff",
+ "quality": "#70d7ff",
- 'mode': '#ff9966',
- 'intrinsicMode': '#ff9966',
- 'extrinsicMode': '#ff9966',
+ "mode": "#ff9966",
+ "intrinsicMode": "#ff9966",
+ "extrinsicMode": "#ff9966",
- 'relator': '#99ff99',
+ "relator": "#99ff99",
- 'type': '#d5d3d3',
- 'powertype': '#d5d3d3',
- 'datatype': '#d5d3d3',
- 'enumeration': '#d5d3d3',
+ "type": "#d5d3d3",
+ "powertype": "#d5d3d3",
+ "datatype": "#d5d3d3",
+ "enumeration": "#d5d3d3",
- 'subkind': '#ffdadd',
- 'phase': '#ffdadd',
- 'role': '#ffdadd',
- 'historicalRole': '#ffdadd',
-}
+ "subkind": "#ffdadd",
+ "phase": "#ffdadd",
+ "role": "#ffdadd",
+ "historicalRole": "#ffdadd",
+};
// Set the colors of the stereotypes
// Upgrade: define the colors based on the generalizations and relations
-const rectangles = document.querySelectorAll('body > div.content > svg > g > g > g:nth-child(2) > g > g > g > rect');
+const rectangles = document.querySelectorAll("body > div.content > svg > g > g > g:nth-child(2) > g > g > g > rect");
for(rect of rectangles){
- const name = rect.getAttribute('data-name');
-
- const init = name.indexOf('«');
- const end = name.indexOf('»');
+ const name = rect.getAttribute("data-name");
+
+ const init = name.indexOf("«");
+ const end = name.indexOf("»");
if (init !== -1 && end !== -1) {
const stereotype = name.substring(init + 1, end);
@@ -163,7 +165,7 @@ for(rect of rectangles){
let num = elements.childElementCount;
let i = 0;
while(i div.download");
button.addEventListener("click", () => {
body.style.cursor = "progress";
button.style.cursor = "progress";
-
+
const svg = document.querySelector("body > div.content > svg");
-
+
(async () => {
try {
- const dataUrl = await domtoimage.toPng(svg)
-
- const downloadLink = document.createElement('a');
+ const dataUrl = await domtoimage.toPng(svg);
+
+ const downloadLink = document.createElement("a");
downloadLink.href = dataUrl;
- downloadLink.download = document.title+'.png';
+ downloadLink.download = document.title+".png";
downloadLink.click();
-
+
setTimeout(() => {
body.style.cursor = "move";
button.style.cursor = "pointer";
}, 2000);
- vscode.postMessage({ command: 'Success Download' });
+ vscode.postMessage({ command: "Success Download" });
return;
} catch (error) {
console.error(error);
}
- vscode.postMessage({ command: 'Fail Download' });
- })()
+ vscode.postMessage({ command: "Fail Download" });
+ })();
});
\ No newline at end of file
diff --git a/packages/tonto/README.md b/packages/tonto/README.md
index ee02e97..abdff30 100644
--- a/packages/tonto/README.md
+++ b/packages/tonto/README.md
@@ -40,43 +40,128 @@
-## 📝 About The Project
+## Tonto CLI
-Tonto is an acronym with the words Textual and Ontology, because it is a written way of writing Ontology models. It was developed using the `Langium` tool, with `Typescript`, and creates a Visual Studio Code Extension with a Language server.
+Tonto Command Line Interface (CLI) is a tool that expands the use of Tonto models by enabling the transformation of Tonto projects into other formats and providing validation capabilities.
-Tonto was designed as a friendly textual syntax for ontologies. It offers specialized support for constructs reflecting the UFO foundational ontology, which makes it possible to identify errors in the ontology that would otherwise pass unnoticed. The language was designed to allow transformation to a number of languages including UML (more specifically OntoUML), OWL (for gUFO-based ontologies), Alloy, Common Logic, and the TPTP syntax.
+### Functionalities
-This NPM Project aims to provide a CLI to help with the use of Tonto projects and to validate it
+1. **Transformation to JSON:** The `generate` command converts a Tonto model into a JSON file that adheres to the OntoUML JSON schema. This allows for interoperability with OntoUML tools and further processing.
+ ```bash
+ tonto-cli generate [directoryName]
+ ```
+2. **Import from JSON:** The `import` command takes a JSON file conforming to the OntoUML JSON schema and generates a corresponding Tonto project. This facilitates the migration of existing OntoUML models to Tonto.
+ ```bash
+ tonto-cli import [jsonFileName]
+ ```
+3. **Transformation to OWL:** The `transform` command converts a Tonto model into a gUFO-based OWL ontology using the Turtle syntax. This bridges the gap between conceptual models and formal ontologies used in the Semantic Web.
+ ```bash
+ tonto-cli transform [directoryName]
+ ```
+4. **Validation:** The `validate` command sends the Tonto model to the `ontouml-server` API for validation. It returns any validation errors identified by the server, helping to ensure the model's correctness and adherence to OntoUML/UFO rules.
+ ```bash
+ tonto-cli validate [directoryName]
+ ```
-### The language supports:
+### Installation and Usage
-- UFO-based annotations to facilitate error checking and meaning negotiation
+Tonto CLI is available as an NPM package. To install it globally, use the following command:
-- High-order types for multi-level taxomies
+```bash
+npm install -g tonto-cli
+```
-- Structured comments for documentation generation
+Once installed, you can use the `tonto-cli` command followed by the desired command and directory or file name to perform the corresponding action.
-- Constraints specification when extra precision is required
+### Additional Considerations
-- Ontology testing/verification directives
+* **Node.js Requirement:** Tonto CLI requires Node.js to be installed on your system.
+* **Global Installation:** Installing Tonto CLI globally allows you to use the `tonto-cli` command from any directory.
-As a textual syntax, the language can benefit from source control tools such as git, and ontologies can be viewed and edited without special tools. This VS Code extension is provided with support for syntax verification, syntax highlight, content assist and ontology visualization preview. The extension is integrated with the [OntoUML](https://github.com/OntoUML/OntoUML) server, to benefit from services designed for the language, such as transformation to OWL and generation of database schemas.
-(back to top)
+
+## Language Elements
+
+Tonto grammar allows you declare elements by using its keyword and the defined name for the element.
-
+```java
+package example
-### 🔨 Built With
+kind Person {
+ name: String
+ age: Integer
+ gender: Gender
+}
-Here are some of the languages, frameworks, tools and libraries used in development of this application:
+phase Child specializes Person
-* [Typescript](https://www.typescriptlang.org/)
-* [Langium](https://langium.org/)
+enum Gender {
+ MALE
+ FEMALE
+ OTHER
+}
-(back to top)
+relation Person [0..*] -- hasFriend -- [0..*] Person
+```
+### Package Declarations
+Tonto specifications are organized into packages, defined using the package keyword followed by the package name. Packages act as namespaces and are fundamental for modularity.
+
+```java
+package myPackage
+```
+
+### Class Declarations
+Classes are declared using keywords corresponding to UFO types (e.g., kind, role, phase) followed by the class name. Specializations are indicated using the specializes keyword.
+```java
+kind Person {
+ name: string
+ birthDate: date {const}
+}
+
+phase Child specializes Person
+```
+
+### Datatype Declarations
+Tonto supports built-in datatypes (number, string, boolean, date, time, datetime) and allows defining custom datatypes using the datatype keyword.
+```
+datatype Address {
+ street: string
+ number: int
+}
+```
+
+### Enumeration Declarations
+Enumerations are declared using the enum keyword, listing possible literal values.
+```
+enum EyeColor { Blue, Green, Brown, Black }
+```
+### Generalization Sets
+
+Generalization sets define relationships between a general class and its specializations. They can be marked as disjoint and/or complete.
+```java
+disjoint complete genset PersonAgeGroup where Child, Adult specializes Person
+
+genset PersonAgeGroup {
+ general Person
+ specifics Child, Adult
+}
+```
+
+### Relations
+Relations (associations) can be declared internally (within a class body) or externally. They are specified using relation stereotypes (e.g., @componentOf, @mediation) and cardinalities.
+
+```java
+// Internal relation
+kind University {
+ @componentOf [1] <>-- [1..*] Department
+}
+
+// External relation
+@mediation relation EmploymentContract [1..*] -- [1] Employee
+```
@@ -109,25 +194,21 @@ This is all the tools you need installed to run the project and the versions tha
- Help command to list all available commands
```bash
- tonto-cli help
+ tonto-cli help
```
-
-- Generate JSON File from Tonto Project command:
+- Generate JSON File from Tonto Project command::
```bash
- tonto-cli generate
+ tonto-cli generate
```
-
-- Generate Tonto Project from a JSON File
+- Generate Tonto Project from a JSON Filee
```bash
- tonto-cli import
+ tonto-cli import
```
-
-- Validate Tonto Project with [ontouml-js](https://github.com/OntoUML/ontouml-js) server API
+- Validate Tonto Project with [ontouml-js](https://github.com/OntoUML/ontouml-js) server APII
```bash
- tonto-cli validate
+ tonto-cli validate
```
-
-
+>
## 🔐 License
Distributed under the MIT License. See `LICENSE.txt` for more information.
diff --git a/packages/tonto/package.json b/packages/tonto/package.json
index 5544337..127f048 100644
--- a/packages/tonto/package.json
+++ b/packages/tonto/package.json
@@ -8,7 +8,7 @@
},
"type": "module",
"description": "Tonto is a DSL for creating OntoUML models",
- "version": "0.3.4",
+ "version": "0.3.6",
"license": "MIT",
"icon": "data/images/TontoIcon.png",
"repository": {
@@ -74,11 +74,8 @@
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"@vitest/coverage-c8": "^0.23.2",
- "@vitest/ui": "^0.23.4",
"langium-cli": "^3.0.0",
"prettier": "^3.2.5",
- "typescript": "~4.9.5",
- "vite": "^4.0.2",
- "vitest": "^0.23.2"
+ "typescript": "~4.9.5"
}
}
diff --git a/packages/tonto/src/cli/DiagramViewer/diagram.config.ts b/packages/tonto/src/cli/DiagramViewer/diagram.config.ts
index 3871775..7a87330 100644
--- a/packages/tonto/src/cli/DiagramViewer/diagram.config.ts
+++ b/packages/tonto/src/cli/DiagramViewer/diagram.config.ts
@@ -18,11 +18,9 @@ export const setHTML = (nomnomlContent: string, domToImgUri: Uri, jsUri: Uri, cs
${nomnomlContent}
-
-