From d8816e36cd1ed2d4e588c720eb944f3670563043 Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Mon, 22 Sep 2025 16:39:24 +0800 Subject: [PATCH 01/11] chore(release): 1.0.0-beta.0 --- CHANGELOG.md | 2 ++ package.json | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c159b3e5..24d72c19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.0-beta.0](https://github.com/DTStack/monaco-sql-languages/compare/v0.15.1...v1.0.0-beta.0) (2025-09-22) + ### [0.15.1](https://github.com/DTStack/monaco-sql-languages/compare/v0.15.0...v0.15.1) (2025-06-06) diff --git a/package.json b/package.json index 82f749ab..ad7385e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-sql-languages", - "version": "0.15.1", + "version": "1.0.0-beta.0", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build", @@ -55,7 +55,7 @@ "inquirer": "^8.2.2", "jsdom": "^16.4.0", "mocha": "^9.2.0", - "monaco-editor": "0.31.0", + "monaco-editor": "0.52.2", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", "requirejs": "^2.3.6", From 650780cc9fa90debed2ec90791b64a1110da239c Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Tue, 23 Sep 2025 14:52:28 +0800 Subject: [PATCH 02/11] chore(release): 1.0.0-beta.1 --- CHANGELOG.md | 2 ++ package.json | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24d72c19..28620d3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.0-beta.1](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2025-09-23) + ## [1.0.0-beta.0](https://github.com/DTStack/monaco-sql-languages/compare/v0.15.1...v1.0.0-beta.0) (2025-09-22) ### [0.15.1](https://github.com/DTStack/monaco-sql-languages/compare/v0.15.0...v0.15.1) (2025-06-06) diff --git a/package.json b/package.json index ad7385e8..eeba7c15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-sql-languages", - "version": "1.0.0-beta.0", + "version": "1.0.0-beta.1", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build", @@ -55,7 +55,7 @@ "inquirer": "^8.2.2", "jsdom": "^16.4.0", "mocha": "^9.2.0", - "monaco-editor": "0.52.2", + "monaco-editor": "0.53.0", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", "requirejs": "^2.3.6", @@ -67,7 +67,7 @@ "pre-commit": "npx pretty-quick --staged" }, "peerDependencies": { - "monaco-editor": ">=0.31.0" + "monaco-editor": ">=0.53.0" }, "engines": { "node": ">=18" From a48dd245b823e6707e96ed388e5c121af6200642 Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Tue, 23 Sep 2025 14:52:57 +0800 Subject: [PATCH 03/11] chore(release): 1.0.0-beta.2 --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28620d3b..f3db6216 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.0-beta.2](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2025-09-23) + ## [1.0.0-beta.1](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2025-09-23) ## [1.0.0-beta.0](https://github.com/DTStack/monaco-sql-languages/compare/v0.15.1...v1.0.0-beta.0) (2025-09-22) diff --git a/package.json b/package.json index eeba7c15..6d06d84a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-sql-languages", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build", From 8f16826abc42bcae4b658ba232cf68824400faef Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Wed, 24 Sep 2025 10:05:16 +0800 Subject: [PATCH 04/11] chore(release): 1.0.0-beta.3 --- CHANGELOG.md | 2 ++ package.json | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3db6216..69d479e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.0-beta.3](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2025-09-24) + ## [1.0.0-beta.2](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2025-09-23) ## [1.0.0-beta.1](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2025-09-23) diff --git a/package.json b/package.json index 6d06d84a..0313f7d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-sql-languages", - "version": "1.0.0-beta.2", + "version": "1.0.0-beta.3", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build", @@ -55,7 +55,7 @@ "inquirer": "^8.2.2", "jsdom": "^16.4.0", "mocha": "^9.2.0", - "monaco-editor": "0.53.0", + "monaco-editor": "0.52.2", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", "requirejs": "^2.3.6", @@ -67,7 +67,7 @@ "pre-commit": "npx pretty-quick --staged" }, "peerDependencies": { - "monaco-editor": ">=0.53.0" + "monaco-editor": ">=0.52.2" }, "engines": { "node": ">=18" From d90274a0da5ef0071d2df54a5373a195d7a65dec Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Wed, 24 Sep 2025 19:37:38 +0800 Subject: [PATCH 05/11] chore(release): 1.0.0-beta.4 --- CHANGELOG.md | 2 ++ package.json | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69d479e7..f99665bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.0-beta.4](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2025-09-24) + ## [1.0.0-beta.3](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2025-09-24) ## [1.0.0-beta.2](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2025-09-23) diff --git a/package.json b/package.json index 0313f7d2..f1d7258c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-sql-languages", - "version": "1.0.0-beta.3", + "version": "1.0.0-beta.4", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build", @@ -55,7 +55,7 @@ "inquirer": "^8.2.2", "jsdom": "^16.4.0", "mocha": "^9.2.0", - "monaco-editor": "0.52.2", + "monaco-editor": "0.53.0", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", "requirejs": "^2.3.6", @@ -67,7 +67,7 @@ "pre-commit": "npx pretty-quick --staged" }, "peerDependencies": { - "monaco-editor": ">=0.52.2" + "monaco-editor": ">=0.53.0" }, "engines": { "node": ">=18" @@ -84,6 +84,7 @@ ] }, "dependencies": { - "dt-sql-parser": "4.3.1" + "dt-sql-parser": "4.3.1", + "monaco-editor-core": "0.52.2" } } From 94675adf22bf67d0c3c1c05eb2ac0a21f1138c43 Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Thu, 25 Sep 2025 11:48:47 +0800 Subject: [PATCH 06/11] chore(release): 1.0.0-beta.5 --- CHANGELOG.md | 2 ++ package.json | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f99665bf..f65f0203 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.0.0-beta.5](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2025-09-25) + ## [1.0.0-beta.4](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2025-09-24) ## [1.0.0-beta.3](https://github.com/DTStack/monaco-sql-languages/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2025-09-24) diff --git a/package.json b/package.json index f1d7258c..fe21a7d5 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "monaco-sql-languages", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build", "build": "rm -rf ./esm && tsc -p ./tsconfig.esm.json", "build-amd": "rm -rf ./out && tsc -p ./tsconfig.amd.json", "watch-esm": "tsc -p ./tsconfig.esm.json --watch", - "test": "npm run build-amd && mocha ./test/all.js", + "test": "npm run build-amd && mocha --experimental-vm-modules ./test/all.mjs", "dev": "node --max_old_space_size=4092 & cd website && npm run dev", "prod": "rm -rf ./docs && node --max_old_space_size=4092 & cd website && npm run build", "deploy": "npm run build && npm run prod && gh-pages -d docs -r git@github.com:DTStack/monaco-sql-languages.git", @@ -55,7 +55,7 @@ "inquirer": "^8.2.2", "jsdom": "^16.4.0", "mocha": "^9.2.0", - "monaco-editor": "0.53.0", + "monaco-editor": "0.52.2", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", "requirejs": "^2.3.6", @@ -67,7 +67,7 @@ "pre-commit": "npx pretty-quick --staged" }, "peerDependencies": { - "monaco-editor": ">=0.53.0" + "monaco-editor": ">=0.52.2" }, "engines": { "node": ">=18" From 8e6a38a636bf390a29901ce165c36b042468f4dc Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Tue, 14 Oct 2025 10:22:33 +0800 Subject: [PATCH 07/11] feat: update demo and others after upgrade monaco-editor's version --- README-zh_CN.md | 2 +- README.md | 2 +- package.json | 6 +- pnpm-lock.yaml | 382 +- .../esm-monaco-webpack-plugin/package.json | 4 +- .../esm-monaco-webpack-plugin/pnpm-lock.yaml | 3550 +++++++++++++++++ samples/esm-plain-webpack/package.json | 4 +- samples/esm-plain-webpack/pnpm-lock.yaml | 3507 ++++++++++++++++ samples/esm-vite/package.json | 4 +- samples/esm-vite/pnpm-lock.yaml | 1117 ++++++ src/.DS_Store | Bin 6148 -> 6148 bytes test/all.js | 2 +- test/setup.js | 3 + 13 files changed, 8411 insertions(+), 172 deletions(-) create mode 100644 samples/esm-monaco-webpack-plugin/pnpm-lock.yaml create mode 100644 samples/esm-plain-webpack/pnpm-lock.yaml create mode 100644 samples/esm-vite/pnpm-lock.yaml diff --git a/README-zh_CN.md b/README-zh_CN.md index 35f67510..606d2165 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -48,7 +48,7 @@ Monaco SQL Languages 是一个基于 Monaco Editor 的 SQL 语言项目,从 [m npm install monaco-sql-languages ``` -> Tips: 目前 Monaco SQL Languages 仅保证在 `monaco-editor@0.31.0` 上稳定运行。 +> Tips: 目前 Monaco SQL Languages 仅保证在 `monaco-editor@0.52.2` 上稳定运行。
diff --git a/README.md b/README.md index 03f15121..37e447c5 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ This project is based on the SQL language project of Monaco Editor, which was fo npm install monaco-sql-languages ``` -> Tips: Monaco SQL Languages is only guaranteed to work stably on `monaco-editor@0.31.0` for now. +> Tips: Monaco SQL Languages is only guaranteed to work stably on `monaco-editor@0.52.2` for now.
diff --git a/package.json b/package.json index fe21a7d5..bbf6faea 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "build": "rm -rf ./esm && tsc -p ./tsconfig.esm.json", "build-amd": "rm -rf ./out && tsc -p ./tsconfig.amd.json", "watch-esm": "tsc -p ./tsconfig.esm.json --watch", - "test": "npm run build-amd && mocha --experimental-vm-modules ./test/all.mjs", + "test": "npm run build-amd && mocha ./test/all.js", "dev": "node --max_old_space_size=4092 & cd website && npm run dev", "prod": "rm -rf ./docs && node --max_old_space_size=4092 & cd website && npm run build", "deploy": "npm run build && npm run prod && gh-pages -d docs -r git@github.com:DTStack/monaco-sql-languages.git", @@ -47,14 +47,14 @@ "@commitlint/cli": "^17.7.2", "@commitlint/config-conventional": "^17.7.0", "@commitlint/cz-commitlint": "^17.7.2", - "@types/mocha": "^9.1.0", + "@types/mocha": "^10.0.10", "@types/node": "^20.4.0", "commitizen": "^4.3.0", "fast-glob": "^3.3.2", "gh-pages": "^3.2.3", "inquirer": "^8.2.2", "jsdom": "^16.4.0", - "mocha": "^9.2.0", + "mocha": "^11.7.4", "monaco-editor": "0.52.2", "prettier": "^3.3.3", "pretty-quick": "^4.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8202e3a..e04ac464 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: dt-sql-parser: specifier: 4.3.1 version: 4.3.1(antlr4ng-cli@1.0.7) + monaco-editor-core: + specifier: 0.52.2 + version: 0.52.2 devDependencies: '@commitlint/cli': specifier: ^17.7.2 @@ -22,8 +25,8 @@ importers: specifier: ^17.7.2 version: 17.8.1(commitizen@4.3.1(@types/node@20.14.14)(typescript@5.5.4))(inquirer@8.2.5) '@types/mocha': - specifier: ^9.1.0 - version: 9.1.1 + specifier: ^10.0.10 + version: 10.0.10 '@types/node': specifier: ^20.4.0 version: 20.14.14 @@ -43,11 +46,11 @@ importers: specifier: ^16.4.0 version: 16.7.0 mocha: - specifier: ^9.2.0 - version: 9.2.2 + specifier: ^11.7.4 + version: 11.7.4 monaco-editor: - specifier: 0.31.0 - version: 0.31.0 + specifier: 0.52.2 + version: 0.52.2 prettier: specifier: ^3.3.3 version: 3.3.3 @@ -185,6 +188,10 @@ packages: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -207,6 +214,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@tootallnate/once@1.1.2': resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} @@ -229,8 +240,8 @@ packages: '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - '@types/mocha@9.1.1': - resolution: {integrity: sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==} + '@types/mocha@10.0.10': + resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} '@types/node@20.14.14': resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==} @@ -241,9 +252,6 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@ungap/promise-all-settled@1.1.2': - resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==} - JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -283,10 +291,6 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -295,6 +299,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -303,6 +311,10 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + antlr4-c3@3.3.7: resolution: {integrity: sha512-F3ndE38wwA6z6AjUbL3heSdEGl4TxulGDPf9xB0/IY4dbRHWBh6XNaqFwur8vHKQk9FS5yNABHeg2wqlqIYO0w==} @@ -316,10 +328,6 @@ packages: peerDependencies: antlr4ng-cli: 1.0.7 - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -357,16 +365,15 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -418,9 +425,9 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} @@ -614,6 +621,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + cssom@0.3.8: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} @@ -639,15 +650,6 @@ packages: dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} - debug@4.3.3: - resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.6: resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} @@ -698,8 +700,8 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} domexception@2.0.1: @@ -719,12 +721,18 @@ packages: resolution: {integrity: sha512-WlFB9of+ChwWtc5M222jHGIpzqHx51szLe/11GAwwbA+4hRaVkMpWMf2bbYj4i855edSoTQ52zyLJVOpe+4OVg==} engines: {node: '>=18'} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + email-addresses@3.1.0: resolution: {integrity: sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -837,6 +845,10 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + form-data@3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -856,11 +868,6 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -903,9 +910,9 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - deprecated: Glob versions prior to v9 are no longer supported + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -934,10 +941,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - growl@1.10.5: - resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} - engines: {node: '>=4.x'} - handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -1033,10 +1036,6 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-core-module@2.15.0: resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} engines: {node: '>= 0.4'} @@ -1065,6 +1064,10 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -1101,6 +1104,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true @@ -1217,6 +1223,9 @@ packages: resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} engines: {node: '>=0.10.0'} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1273,9 +1282,9 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@4.2.1: - resolution: {integrity: sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==} - engines: {node: '>=10'} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} @@ -1287,17 +1296,24 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mocha@9.2.2: - resolution: {integrity: sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==} - engines: {node: '>= 12.0.0'} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mocha@11.7.4: + resolution: {integrity: sha512-1jYAaY8x0kAZ0XszLWu14pzsf4KV740Gld4HXkhNTXwcHx4AUEDkPzgEHg9CM5dVcW+zv036tjpsEbLraPJj4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} - monaco-editor@0.31.0: - resolution: {integrity: sha512-H3QmysEwxxY8oxmFhIFcY9JkuwilUDa6txdAxb797cVr7XFZX27a3SDwcGJmTlV9iGPwdh132r3KKCS5aNL4Gg==} + monaco-editor-core@0.52.2: + resolution: {integrity: sha512-5TOyTUymNx7jB24TGP4Qs5UEVrntDKSMzDUvW3ADaI1CFRO1t7FPhbT2u4m3iIKZf85zTM+mkCxiUSgj+v/YtA==} + + monaco-editor@0.52.2: + resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -1312,11 +1328,6 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - nanoid@3.3.1: - resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -1327,10 +1338,6 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -1393,6 +1400,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1431,6 +1441,10 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -1442,6 +1456,9 @@ packages: picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -1535,9 +1552,9 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} @@ -1628,8 +1645,8 @@ packages: engines: {node: '>=10'} hasBin: true - serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -1642,6 +1659,10 @@ packages: signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + simple-git-hooks@2.11.1: resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} hasBin: true @@ -1677,6 +1698,10 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -1691,6 +1716,10 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -1889,13 +1918,17 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerpool@6.2.0: - resolution: {integrity: sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==} + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -1928,10 +1961,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -2061,7 +2090,7 @@ snapshots: '@types/node': 20.5.1 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.5.4) - cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))(typescript@5.5.4) + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -2154,6 +2183,15 @@ snapshots: '@hutson/parse-repository-url@3.0.2': {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.5.0': {} @@ -2175,6 +2213,9 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@pkgjs/parseargs@0.11.0': + optional: true + '@tootallnate/once@1.1.2': {} '@tsconfig/node10@1.0.11': {} @@ -2192,7 +2233,7 @@ snapshots: '@types/minimist@1.2.5': {} - '@types/mocha@9.1.1': {} + '@types/mocha@10.0.10': {} '@types/node@20.14.14': dependencies: @@ -2202,8 +2243,6 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@ungap/promise-all-settled@1.1.2': {} - JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 @@ -2230,7 +2269,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.6 + debug: 4.3.6(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -2241,14 +2280,14 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-colors@4.1.1: {} - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -2257,6 +2296,8 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@6.2.3: {} + antlr4-c3@3.3.7(antlr4ng-cli@1.0.7): dependencies: antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) @@ -2269,11 +2310,6 @@ snapshots: dependencies: antlr4ng-cli: 1.0.7 - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - arg@4.1.3: {} argparse@2.0.1: {} @@ -2300,8 +2336,6 @@ snapshots: base64-js@1.5.1: {} - binary-extensions@2.3.0: {} - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -2313,6 +2347,10 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -2358,17 +2396,9 @@ snapshots: chardet@0.7.0: {} - chokidar@3.5.3: + chokidar@4.0.3: dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 + readdirp: 4.1.2 cli-cursor@3.1.0: dependencies: @@ -2577,7 +2607,7 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))(typescript@5.5.4): + cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.5.4))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.5.4))(typescript@5.5.4): dependencies: '@types/node': 20.5.1 cosmiconfig: 8.3.6(typescript@5.5.4) @@ -2619,6 +2649,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + cssom@0.3.8: {} cssom@0.4.4: {} @@ -2651,16 +2687,12 @@ snapshots: dateformat@3.0.3: {} - debug@4.3.3(supports-color@8.1.1): + debug@4.3.6(supports-color@8.1.1): dependencies: ms: 2.1.2 optionalDependencies: supports-color: 8.1.1 - debug@4.3.6: - dependencies: - ms: 2.1.2 - decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -2688,7 +2720,7 @@ snapshots: diff@4.0.2: {} - diff@5.0.0: {} + diff@7.0.0: {} domexception@2.0.1: dependencies: @@ -2710,10 +2742,14 @@ snapshots: transitivePeerDependencies: - antlr4ng-cli + eastasianwidth@0.2.0: {} + email-addresses@3.1.0: {} emoji-regex@8.0.0: {} + emoji-regex@9.2.2: {} + env-paths@2.2.1: optional: true @@ -2835,6 +2871,11 @@ snapshots: flat@5.0.2: {} + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + form-data@3.0.1: dependencies: asynckit: 0.4.0 @@ -2862,9 +2903,6 @@ snapshots: fs.realpath@1.0.0: {} - fsevents@2.3.3: - optional: true - function-bind@1.1.2: {} get-caller-file@2.0.5: {} @@ -2914,14 +2952,14 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@7.2.0: + glob@10.4.5: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -2965,8 +3003,6 @@ snapshots: graceful-fs@4.2.11: {} - growl@1.10.5: {} - handlebars@4.7.8: dependencies: minimist: 1.2.8 @@ -3006,14 +3042,14 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.6 + debug: 4.3.6(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.6 + debug: 4.3.6(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -3069,10 +3105,6 @@ snapshots: is-arrayish@0.2.1: {} - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - is-core-module@2.15.0: dependencies: hasown: 2.0.2 @@ -3091,6 +3123,8 @@ snapshots: is-obj@2.0.0: {} + is-path-inside@3.0.3: {} + is-plain-obj@1.1.0: {} is-plain-obj@2.1.0: {} @@ -3113,6 +3147,12 @@ snapshots: isexe@2.0.0: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + jiti@1.21.6: optional: true @@ -3238,6 +3278,8 @@ snapshots: longest@2.0.1: {} + lru-cache@10.4.3: {} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 @@ -3291,9 +3333,9 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@4.2.1: + minimatch@9.0.5: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 2.0.2 minimist-options@4.1.0: dependencies: @@ -3305,36 +3347,37 @@ snapshots: minimist@1.2.8: {} - mocha@9.2.2: + minipass@7.1.2: {} + + mocha@11.7.4: dependencies: - '@ungap/promise-all-settled': 1.1.2 - ansi-colors: 4.1.1 browser-stdout: 1.3.1 - chokidar: 3.5.3 - debug: 4.3.3(supports-color@8.1.1) - diff: 5.0.0 + chokidar: 4.0.3 + debug: 4.3.6(supports-color@8.1.1) + diff: 7.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 7.2.0 - growl: 1.10.5 + glob: 10.4.5 he: 1.2.0 + is-path-inside: 3.0.3 js-yaml: 4.1.0 log-symbols: 4.1.0 - minimatch: 4.2.1 + minimatch: 9.0.5 ms: 2.1.3 - nanoid: 3.3.1 - serialize-javascript: 6.0.0 + picocolors: 1.1.1 + serialize-javascript: 6.0.2 strip-json-comments: 3.1.1 supports-color: 8.1.1 - which: 2.0.2 - workerpool: 6.2.0 - yargs: 16.2.0 - yargs-parser: 20.2.4 + workerpool: 9.3.4 + yargs: 17.7.2 + yargs-parser: 21.1.1 yargs-unparser: 2.0.0 modify-values@1.0.1: {} - monaco-editor@0.31.0: {} + monaco-editor-core@0.52.2: {} + + monaco-editor@0.52.2: {} mri@1.2.0: {} @@ -3344,8 +3387,6 @@ snapshots: mute-stream@0.0.8: {} - nanoid@3.3.1: {} - neo-async@2.6.2: {} normalize-package-data@2.5.0: @@ -3362,8 +3403,6 @@ snapshots: semver: 7.6.3 validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -3426,6 +3465,8 @@ snapshots: p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -3456,6 +3497,11 @@ snapshots: path-parse@1.0.7: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + path-type@3.0.0: dependencies: pify: 3.0.0 @@ -3464,6 +3510,8 @@ snapshots: picocolors@1.0.1: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} picomatch@3.0.1: {} @@ -3553,9 +3601,7 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 + readdirp@4.1.2: {} redent@3.0.0: dependencies: @@ -3626,7 +3672,7 @@ snapshots: semver@7.6.3: {} - serialize-javascript@6.0.0: + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 @@ -3638,6 +3684,8 @@ snapshots: signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + simple-git-hooks@2.11.1: {} source-map@0.6.1: {} @@ -3687,6 +3735,12 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -3701,6 +3755,10 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + strip-bom@3.0.0: {} strip-bom@4.0.0: {} @@ -3868,7 +3926,7 @@ snapshots: wordwrap@1.0.0: {} - workerpool@6.2.0: {} + workerpool@9.3.4: {} wrap-ansi@7.0.0: dependencies: @@ -3876,6 +3934,12 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} ws@7.5.10: {} @@ -3890,8 +3954,6 @@ snapshots: yallist@4.0.0: {} - yargs-parser@20.2.4: {} - yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} @@ -3911,7 +3973,7 @@ snapshots: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 yargs@17.7.2: dependencies: diff --git a/samples/esm-monaco-webpack-plugin/package.json b/samples/esm-monaco-webpack-plugin/package.json index 0da6c21e..4aafc219 100644 --- a/samples/esm-monaco-webpack-plugin/package.json +++ b/samples/esm-monaco-webpack-plugin/package.json @@ -23,8 +23,8 @@ "webpack-dev-server": "^4.15.1" }, "dependencies": { - "monaco-editor": "0.31.0", + "monaco-editor": "0.52.2", "monaco-editor-webpack-plugin": "7.0.1", - "monaco-sql-languages": "0.12.0-beta.11" + "monaco-sql-languages": "1.0.0-beta.5" } } diff --git a/samples/esm-monaco-webpack-plugin/pnpm-lock.yaml b/samples/esm-monaco-webpack-plugin/pnpm-lock.yaml new file mode 100644 index 00000000..2245472e --- /dev/null +++ b/samples/esm-monaco-webpack-plugin/pnpm-lock.yaml @@ -0,0 +1,3550 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + monaco-editor: + specifier: 0.52.2 + version: 0.52.2 + monaco-editor-webpack-plugin: + specifier: 7.0.1 + version: 7.0.1(monaco-editor@0.52.2)(webpack@5.101.3(webpack-cli@5.1.4)) + monaco-sql-languages: + specifier: 1.0.0-beta.5 + version: 1.0.0-beta.5(antlr4ng-cli@1.0.7)(monaco-editor@0.52.2) + devDependencies: + css-loader: + specifier: ^6.8.1 + version: 6.11.0(webpack@5.101.3(webpack-cli@5.1.4)) + html-webpack-plugin: + specifier: ^5.5.4 + version: 5.6.4(webpack@5.101.3(webpack-cli@5.1.4)) + mini-cup: + specifier: ^1.1.3 + version: 1.1.3 + style-loader: + specifier: ^3.3.3 + version: 3.3.4(webpack@5.101.3(webpack-cli@5.1.4)) + ts-loader: + specifier: ^9.5.1 + version: 9.5.4(typescript@5.9.2)(webpack@5.101.3(webpack-cli@5.1.4)) + typescript: + specifier: ^5.2.2 + version: 5.9.2 + webpack: + specifier: ^5.89.0 + version: 5.101.3(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.1.4 + version: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.2(webpack-cli@5.1.4)(webpack@5.101.3) + +packages: + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express-serve-static-core@5.0.7': + resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} + + '@types/express@4.17.23': + resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.16': + resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/node-forge@1.3.14': + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + + '@types/node@24.5.2': + resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/send@0.17.5': + resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.8': + resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@webpack-cli/configtest@2.1.1': + resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + + '@webpack-cli/info@2.0.2': + resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + + '@webpack-cli/serve@2.0.5': + resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + antlr4-c3@3.3.7: + resolution: {integrity: sha512-F3ndE38wwA6z6AjUbL3heSdEGl4TxulGDPf9xB0/IY4dbRHWBh6XNaqFwur8vHKQk9FS5yNABHeg2wqlqIYO0w==} + + antlr4ng-cli@1.0.7: + resolution: {integrity: sha512-qN2FsDBmLvsQcA5CWTrPz8I8gNXeS1fgXBBhI78VyxBSBV/EJgqy8ks6IDTC9jyugpl40csCQ4sL5K4i2YZ/2w==} + deprecated: 'This package is deprecated and will no longer be updated. Please use the new antlr-ng package instead: https://github.com/mike-lischke/antlr-ng' + hasBin: true + + antlr4ng@2.0.11: + resolution: {integrity: sha512-9jM91VVtHSqHkAHQsXHaoaiewFETMvUTI1/tXvwTiFw4f7zke3IGlwEyoKN9NS0FqIwDKFvUNW2e1cKPniTkVQ==} + peerDependencies: + antlr4ng-cli: 1.0.7 + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arr-diff@2.0.0: + resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-unique@0.2.1: + resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} + engines: {node: '>=0.10.0'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.8.6: + resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} + hasBin: true + + basic-auth@2.0.1: + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + braces@1.8.5: + resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + caniuse-lite@1.0.30001745: + resolution: {integrity: sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dt-sql-parser@4.3.1: + resolution: {integrity: sha512-WlFB9of+ChwWtc5M222jHGIpzqHx51szLe/11GAwwbA+4hRaVkMpWMf2bbYj4i855edSoTQ52zyLJVOpe+4OVg==} + engines: {node: '>=18'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.223: + resolution: {integrity: sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} + engines: {node: '>=4'} + hasBin: true + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + expand-brackets@0.1.5: + resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} + engines: {node: '>=0.10.0'} + + expand-range@1.8.2: + resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} + engines: {node: '>=0.10.0'} + + express-http-proxy@0.10.1: + resolution: {integrity: sha512-98FSCoaKaFBA1otqCZu1RW4iypxb+TSD4SCNKqLxz26FDNmuGKUcqLpvPBZgyIrWTok10eCnrwN3lxb+rtIfXQ==} + engines: {node: '>=4.0.0'} + + express-session@1.18.2: + resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==} + engines: {node: '>= 0.8.0'} + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + extglob@0.3.2: + resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + filename-regex@2.0.1: + resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} + engines: {node: '>=0.10.0'} + + fill-range@2.2.4: + resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + for-own@0.1.5: + resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} + engines: {node: '>=0.10.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob-base@0.3.0: + resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} + engines: {node: '>=0.10.0'} + + glob-parent@2.0.0: + resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-webpack-plugin@5.6.4: + resolution: {integrity: sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-middleware@0.17.4: + resolution: {integrity: sha512-JtH3UZju4oXDdca28/kknbm/CFmt35vy0YV0PNOMWWWpn3rT9WV95IXN451xwBGSjy9L0Cah1O9TCMytboLdfw==} + + http-proxy-middleware@2.0.9: + resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-dotfile@1.0.3: + resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} + engines: {node: '>=0.10.0'} + + is-equal-shallow@0.1.3: + resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} + engines: {node: '>=0.10.0'} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + + is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@2.1.0: + resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} + engines: {node: '>=0.10.0'} + + is-number@4.0.0: + resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-posix-bracket@0.1.1: + resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} + engines: {node: '>=0.10.0'} + + is-primitive@2.0.0: + resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + launch-editor@2.11.1: + resolution: {integrity: sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + math-random@1.0.4: + resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@2.3.11: + resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mini-cup@1.1.3: + resolution: {integrity: sha512-weaNB1IcSp6qQcOn9ADLkxYwcILGGydyo9L+TpMexSd406gxKjCp4vTkvClTdwMFsYH1A/xuhCTzgBFvd3DmKA==} + hasBin: true + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + monaco-editor-core@0.52.2: + resolution: {integrity: sha512-5TOyTUymNx7jB24TGP4Qs5UEVrntDKSMzDUvW3ADaI1CFRO1t7FPhbT2u4m3iIKZf85zTM+mkCxiUSgj+v/YtA==} + + monaco-editor-webpack-plugin@7.0.1: + resolution: {integrity: sha512-M8qIqizltrPlIbrb73cZdTWfU9sIsUVFvAZkL3KGjAHmVWEJ0hZKa/uad14JuOckc0GwnCaoGHvMoYtJjVyCzw==} + peerDependencies: + monaco-editor: '>= 0.31.0' + webpack: ^4.5.0 || 5.x + + monaco-editor@0.52.2: + resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} + + monaco-sql-languages@1.0.0-beta.5: + resolution: {integrity: sha512-VEjQ3qp8lch/yz6N50Qd71JBKLAsI4a258J8CIwNvUKQ2d3g7UqLFN+SoG5eQgNcz4soQDiLWorUjw5deEpTgQ==} + engines: {node: '>=18'} + peerDependencies: + monaco-editor: '>=0.52.2' + + morgan@1.10.1: + resolution: {integrity: sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A==} + engines: {node: '>= 0.8.0'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object.omit@2.0.1: + resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} + engines: {node: '>=0.10.0'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parse-glob@3.0.4: + resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} + engines: {node: '>=0.10.0'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + preserve@0.2.0: + resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} + engines: {node: '>=0.10.0'} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + random-bytes@1.0.0: + resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==} + engines: {node: '>= 0.8'} + + randomatic@3.1.1: + resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} + engines: {node: '>= 0.10.0'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + + regex-cache@0.4.4: + resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} + engines: {node: '>=0.10.0'} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + style-loader@3.3.4: + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tapable@2.2.3: + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} + engines: {node: '>=10'} + hasBin: true + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + ts-loader@9.5.4: + resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + engines: {node: '>=14.17'} + hasBin: true + + uid-safe@2.1.5: + resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==} + engines: {node: '>= 0.8'} + + undici-types@7.12.0: + resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + watchpack@2.4.4: + resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + webpack-cli@5.1.4: + resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.101.3: + resolution: {integrity: sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + +snapshots: + + '@discoveryjs/json-ext@0.5.7': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 24.5.2 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 24.5.2 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 5.0.7 + '@types/node': 24.5.2 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 24.5.2 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 24.5.2 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express-serve-static-core@5.0.7': + dependencies: + '@types/node': 24.5.2 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express@4.17.23': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.8 + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.16': + dependencies: + '@types/node': 24.5.2 + + '@types/json-schema@7.0.15': {} + + '@types/mime@1.3.5': {} + + '@types/node-forge@1.3.14': + dependencies: + '@types/node': 24.5.2 + + '@types/node@24.5.2': + dependencies: + undici-types: 7.12.0 + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/retry@0.12.0': {} + + '@types/send@0.17.5': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 24.5.2 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.23 + + '@types/serve-static@1.15.8': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 24.5.2 + '@types/send': 0.17.5 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 24.5.2 + + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.5.2 + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4))': + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4))': + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4))': + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + optionalDependencies: + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.101.3) + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-html-community@0.0.8: {} + + ansi-regex@2.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-styles@2.2.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + antlr4-c3@3.3.7(antlr4ng-cli@1.0.7): + dependencies: + antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) + transitivePeerDependencies: + - antlr4ng-cli + + antlr4ng-cli@1.0.7: {} + + antlr4ng@2.0.11(antlr4ng-cli@1.0.7): + dependencies: + antlr4ng-cli: 1.0.7 + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arr-diff@2.0.0: + dependencies: + arr-flatten: 1.1.0 + + arr-flatten@1.1.0: {} + + array-flatten@1.1.1: {} + + array-unique@0.2.1: {} + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.8.6: {} + + basic-auth@2.0.1: + dependencies: + safe-buffer: 5.1.2 + + batch@0.6.1: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.3.0: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@1.8.5: + dependencies: + expand-range: 1.8.2 + preserve: 0.2.0 + repeat-element: 1.1.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.26.2: + dependencies: + baseline-browser-mapping: 2.8.6 + caniuse-lite: 1.0.30001745 + electron-to-chromium: 1.5.223 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.2) + + buffer-from@1.1.2: {} + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + caniuse-lite@1.0.30001745: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@8.3.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + connect-history-api-fallback@2.0.0: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.6: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.1: {} + + cookie@0.7.2: {} + + core-util-is@1.0.3: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-loader@6.11.0(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) + postcss-modules-scope: 3.2.1(postcss@8.5.6) + postcss-modules-values: 4.0.0(postcss@8.5.6) + postcss-value-parser: 4.2.0 + semver: 7.7.2 + optionalDependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-what@6.2.2: {} + + cssesc@3.0.0: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + define-lazy-prop@2.0.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + destroy@1.2.0: {} + + detect-node@2.1.0: {} + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dt-sql-parser@4.3.1(antlr4ng-cli@1.0.7): + dependencies: + antlr4-c3: 3.3.7(antlr4ng-cli@1.0.7) + antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) + transitivePeerDependencies: + - antlr4ng-cli + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.223: {} + + emojis-list@3.0.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.3 + + entities@2.2.0: {} + + envinfo@7.14.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es6-promise@3.3.1: {} + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + etag@1.8.1: {} + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + expand-brackets@0.1.5: + dependencies: + is-posix-bracket: 0.1.1 + + expand-range@1.8.2: + dependencies: + fill-range: 2.2.4 + + express-http-proxy@0.10.1: + dependencies: + es6-promise: 3.3.1 + raw-body: 2.5.2 + + express-session@1.18.2: + dependencies: + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + on-headers: 1.1.0 + parseurl: 1.3.3 + safe-buffer: 5.2.1 + uid-safe: 2.1.5 + transitivePeerDependencies: + - supports-color + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extglob@0.3.2: + dependencies: + is-extglob: 1.0.0 + + fast-deep-equal@3.1.3: {} + + fast-uri@3.1.0: {} + + fastest-levenshtein@1.0.16: {} + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + filename-regex@2.0.1: {} + + fill-range@2.2.4: + dependencies: + is-number: 2.1.0 + isobject: 2.1.0 + randomatic: 3.1.1 + repeat-element: 1.1.4 + repeat-string: 1.6.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.11: {} + + for-in@1.0.2: {} + + for-own@0.1.5: + dependencies: + for-in: 1.0.2 + + forwarded@0.2.0: {} + + fresh@0.5.2: {} + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + glob-base@0.3.0: + dependencies: + glob-parent: 2.0.0 + is-glob: 2.0.1 + + glob-parent@2.0.0: + dependencies: + is-glob: 2.0.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + handle-thing@2.0.1: {} + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.6.0: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.44.0 + + html-webpack-plugin@5.6.4(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.3 + optionalDependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-middleware@0.17.4: + dependencies: + http-proxy: 1.18.1 + is-glob: 3.1.0 + lodash: 4.17.21 + micromatch: 2.3.11 + transitivePeerDependencies: + - debug + + http-proxy-middleware@2.0.9(@types/express@4.17.23): + dependencies: + '@types/http-proxy': 1.17.16 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.23 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.11 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + interpret@3.1.1: {} + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@1.1.6: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-docker@2.2.1: {} + + is-dotfile@1.0.3: {} + + is-equal-shallow@0.1.3: + dependencies: + is-primitive: 2.0.0 + + is-extendable@0.1.1: {} + + is-extglob@1.0.0: {} + + is-extglob@2.1.1: {} + + is-glob@2.0.1: + dependencies: + is-extglob: 1.0.0 + + is-glob@3.1.0: + dependencies: + is-extglob: 2.1.1 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@2.1.0: + dependencies: + kind-of: 3.2.2 + + is-number@4.0.0: {} + + is-number@7.0.0: {} + + is-plain-obj@3.0.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-posix-bracket@0.1.1: {} + + is-primitive@2.0.0: {} + + is-stream@2.0.1: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + jest-worker@27.5.1: + dependencies: + '@types/node': 24.5.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@1.0.0: {} + + json5@2.2.3: {} + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@6.0.3: {} + + launch-editor@2.11.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.3 + + loader-runner@4.3.0: {} + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash@4.17.21: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + math-intrinsics@1.1.0: {} + + math-random@1.0.4: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + methods@1.1.2: {} + + micromatch@2.3.11: + dependencies: + arr-diff: 2.0.0 + array-unique: 0.2.1 + braces: 1.8.5 + expand-brackets: 0.1.5 + extglob: 0.3.2 + filename-regex: 2.0.1 + is-extglob: 1.0.0 + is-glob: 2.0.1 + kind-of: 3.2.2 + normalize-path: 2.1.1 + object.omit: 2.0.1 + parse-glob: 3.0.4 + regex-cache: 0.4.4 + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mini-cup@1.1.3: + dependencies: + body-parser: 1.20.3 + chalk: 1.1.3 + commander: 2.20.3 + compression: 1.8.1 + express: 4.21.2 + express-http-proxy: 0.10.1 + express-session: 1.18.2 + http-proxy-middleware: 0.17.4 + morgan: 1.10.1 + transitivePeerDependencies: + - debug + - supports-color + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + monaco-editor-core@0.52.2: {} + + monaco-editor-webpack-plugin@7.0.1(monaco-editor@0.52.2)(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + loader-utils: 2.0.4 + monaco-editor: 0.52.2 + webpack: 5.101.3(webpack-cli@5.1.4) + + monaco-editor@0.52.2: {} + + monaco-sql-languages@1.0.0-beta.5(antlr4ng-cli@1.0.7)(monaco-editor@0.52.2): + dependencies: + dt-sql-parser: 4.3.1(antlr4ng-cli@1.0.7) + monaco-editor: 0.52.2 + monaco-editor-core: 0.52.2 + transitivePeerDependencies: + - antlr4ng-cli + + morgan@1.10.1: + dependencies: + basic-auth: 2.0.1 + debug: 2.6.9 + depd: 2.0.0 + on-finished: 2.3.0 + on-headers: 1.1.0 + transitivePeerDependencies: + - supports-color + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + nanoid@3.3.11: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-forge@1.3.1: {} + + node-releases@2.0.21: {} + + normalize-path@2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-inspect@1.13.4: {} + + object.omit@2.0.1: + dependencies: + for-own: 0.1.5 + is-extendable: 0.1.1 + + obuf@1.1.2: {} + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-try@2.2.0: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parse-glob@3.0.4: + dependencies: + glob-base: 0.3.0 + is-dotfile: 1.0.3 + is-extglob: 1.0.0 + is-glob: 2.0.1 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@0.1.12: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-modules-values@4.0.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + preserve@0.2.0: {} + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + process-nextick-args@2.0.1: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + random-bytes@1.0.0: {} + + randomatic@3.1.1: + dependencies: + is-number: 4.0.0 + kind-of: 6.0.3 + math-random: 1.0.4 + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + rechoir@0.8.0: + dependencies: + resolve: 1.22.10 + + regex-cache@0.4.4: + dependencies: + is-equal-shallow: 0.1.3 + + relateurl@0.2.7: {} + + remove-trailing-separator@1.1.0: {} + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + require-from-string@2.0.2: {} + + requires-port@1.0.0: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@5.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.13.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + schema-utils@4.3.2: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.14 + node-forge: 1.3.1 + + semver@7.7.2: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.3 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.3 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-final-newline@2.0.0: {} + + style-loader@3.3.4(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + + supports-color@2.0.0: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tapable@2.2.3: {} + + terser-webpack-plugin@5.3.14(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + terser: 5.44.0 + webpack: 5.101.3(webpack-cli@5.1.4) + + terser@5.44.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + thunky@1.1.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + ts-loader@9.5.4(typescript@5.9.2)(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.18.3 + micromatch: 4.0.8 + semver: 7.7.2 + source-map: 0.7.6 + typescript: 5.9.2 + webpack: 5.101.3(webpack-cli@5.1.4) + + tslib@2.8.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typescript@5.9.2: {} + + uid-safe@2.1.5: + dependencies: + random-bytes: 1.0.0 + + undici-types@7.12.0: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.1.3(browserslist@4.26.2): + dependencies: + browserslist: 4.26.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + vary@1.1.2: {} + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3): + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4)) + colorette: 2.0.20 + commander: 10.0.1 + cross-spawn: 7.0.6 + envinfo: 7.14.0 + fastest-levenshtein: 1.0.16 + import-local: 3.2.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-merge: 5.10.0 + optionalDependencies: + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.101.3) + + webpack-dev-middleware@5.3.4(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.2 + webpack: 5.101.3(webpack-cli@5.1.4) + + webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.101.3): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.23 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.8 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.21.2 + graceful-fs: 4.2.11 + html-entities: 2.6.0 + http-proxy-middleware: 2.0.9(@types/express@4.17.23) + ipaddr.js: 2.2.0 + launch-editor: 2.11.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.101.3(webpack-cli@5.1.4)) + ws: 8.18.3 + optionalDependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.3.3: {} + + webpack@5.101.3(webpack-cli@5.1.4): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.26.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.3 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.3 + terser-webpack-plugin: 5.3.14(webpack@5.101.3(webpack-cli@5.1.4)) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + optionalDependencies: + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wildcard@2.0.1: {} + + wrappy@1.0.2: {} + + ws@8.18.3: {} diff --git a/samples/esm-plain-webpack/package.json b/samples/esm-plain-webpack/package.json index 1d216d3a..740b75fc 100644 --- a/samples/esm-plain-webpack/package.json +++ b/samples/esm-plain-webpack/package.json @@ -23,7 +23,7 @@ "webpack-dev-server": "^4.15.1" }, "dependencies": { - "monaco-editor": "0.31.0", - "monaco-sql-languages": "0.12.0-beta.11" + "monaco-editor": "0.52.2", + "monaco-sql-languages": "1.0.0-beta.5" } } diff --git a/samples/esm-plain-webpack/pnpm-lock.yaml b/samples/esm-plain-webpack/pnpm-lock.yaml new file mode 100644 index 00000000..48b1e029 --- /dev/null +++ b/samples/esm-plain-webpack/pnpm-lock.yaml @@ -0,0 +1,3507 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + monaco-editor: + specifier: 0.52.2 + version: 0.52.2 + monaco-sql-languages: + specifier: 1.0.0-beta.5 + version: 1.0.0-beta.5(antlr4ng-cli@1.0.7)(monaco-editor@0.52.2) + devDependencies: + css-loader: + specifier: ^6.8.1 + version: 6.11.0(webpack@5.101.3(webpack-cli@5.1.4)) + html-webpack-plugin: + specifier: ^5.5.4 + version: 5.6.4(webpack@5.101.3(webpack-cli@5.1.4)) + mini-cup: + specifier: ^1.1.3 + version: 1.1.3 + style-loader: + specifier: ^3.3.3 + version: 3.3.4(webpack@5.101.3(webpack-cli@5.1.4)) + ts-loader: + specifier: ^9.5.1 + version: 9.5.4(typescript@5.9.2)(webpack@5.101.3(webpack-cli@5.1.4)) + typescript: + specifier: ^5.2.2 + version: 5.9.2 + webpack: + specifier: ^5.89.0 + version: 5.101.3(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.1.4 + version: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.2(webpack-cli@5.1.4)(webpack@5.101.3) + +packages: + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/express-serve-static-core@4.19.6': + resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} + + '@types/express-serve-static-core@5.0.7': + resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} + + '@types/express@4.17.23': + resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.16': + resolution: {integrity: sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/node-forge@1.3.14': + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + + '@types/node@24.5.2': + resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==} + + '@types/qs@6.14.0': + resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/send@0.17.5': + resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.8': + resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@webpack-cli/configtest@2.1.1': + resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + + '@webpack-cli/info@2.0.2': + resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + + '@webpack-cli/serve@2.0.5': + resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + antlr4-c3@3.3.7: + resolution: {integrity: sha512-F3ndE38wwA6z6AjUbL3heSdEGl4TxulGDPf9xB0/IY4dbRHWBh6XNaqFwur8vHKQk9FS5yNABHeg2wqlqIYO0w==} + + antlr4ng-cli@1.0.7: + resolution: {integrity: sha512-qN2FsDBmLvsQcA5CWTrPz8I8gNXeS1fgXBBhI78VyxBSBV/EJgqy8ks6IDTC9jyugpl40csCQ4sL5K4i2YZ/2w==} + deprecated: 'This package is deprecated and will no longer be updated. Please use the new antlr-ng package instead: https://github.com/mike-lischke/antlr-ng' + hasBin: true + + antlr4ng@2.0.11: + resolution: {integrity: sha512-9jM91VVtHSqHkAHQsXHaoaiewFETMvUTI1/tXvwTiFw4f7zke3IGlwEyoKN9NS0FqIwDKFvUNW2e1cKPniTkVQ==} + peerDependencies: + antlr4ng-cli: 1.0.7 + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arr-diff@2.0.0: + resolution: {integrity: sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-unique@0.2.1: + resolution: {integrity: sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==} + engines: {node: '>=0.10.0'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + baseline-browser-mapping@2.8.6: + resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} + hasBin: true + + basic-auth@2.0.1: + resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} + engines: {node: '>= 0.8'} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.3.0: + resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + braces@1.8.5: + resolution: {integrity: sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + caniuse-lite@1.0.30001745: + resolution: {integrity: sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dt-sql-parser@4.3.1: + resolution: {integrity: sha512-WlFB9of+ChwWtc5M222jHGIpzqHx51szLe/11GAwwbA+4hRaVkMpWMf2bbYj4i855edSoTQ52zyLJVOpe+4OVg==} + engines: {node: '>=18'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.223: + resolution: {integrity: sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + envinfo@7.14.0: + resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==} + engines: {node: '>=4'} + hasBin: true + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + expand-brackets@0.1.5: + resolution: {integrity: sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==} + engines: {node: '>=0.10.0'} + + expand-range@1.8.2: + resolution: {integrity: sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==} + engines: {node: '>=0.10.0'} + + express-http-proxy@0.10.1: + resolution: {integrity: sha512-98FSCoaKaFBA1otqCZu1RW4iypxb+TSD4SCNKqLxz26FDNmuGKUcqLpvPBZgyIrWTok10eCnrwN3lxb+rtIfXQ==} + engines: {node: '>=4.0.0'} + + express-session@1.18.2: + resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==} + engines: {node: '>= 0.8.0'} + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + extglob@0.3.2: + resolution: {integrity: sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + filename-regex@2.0.1: + resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} + engines: {node: '>=0.10.0'} + + fill-range@2.2.4: + resolution: {integrity: sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + for-own@0.1.5: + resolution: {integrity: sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==} + engines: {node: '>=0.10.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + glob-base@0.3.0: + resolution: {integrity: sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==} + engines: {node: '>=0.10.0'} + + glob-parent@2.0.0: + resolution: {integrity: sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-webpack-plugin@5.6.4: + resolution: {integrity: sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-middleware@0.17.4: + resolution: {integrity: sha512-JtH3UZju4oXDdca28/kknbm/CFmt35vy0YV0PNOMWWWpn3rT9WV95IXN451xwBGSjy9L0Cah1O9TCMytboLdfw==} + + http-proxy-middleware@2.0.9: + resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-dotfile@1.0.3: + resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} + engines: {node: '>=0.10.0'} + + is-equal-shallow@0.1.3: + resolution: {integrity: sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==} + engines: {node: '>=0.10.0'} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + + is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@2.1.0: + resolution: {integrity: sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==} + engines: {node: '>=0.10.0'} + + is-number@4.0.0: + resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-posix-bracket@0.1.1: + resolution: {integrity: sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==} + engines: {node: '>=0.10.0'} + + is-primitive@2.0.0: + resolution: {integrity: sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + launch-editor@2.11.1: + resolution: {integrity: sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + math-random@1.0.4: + resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromatch@2.3.11: + resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mini-cup@1.1.3: + resolution: {integrity: sha512-weaNB1IcSp6qQcOn9ADLkxYwcILGGydyo9L+TpMexSd406gxKjCp4vTkvClTdwMFsYH1A/xuhCTzgBFvd3DmKA==} + hasBin: true + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + monaco-editor-core@0.52.2: + resolution: {integrity: sha512-5TOyTUymNx7jB24TGP4Qs5UEVrntDKSMzDUvW3ADaI1CFRO1t7FPhbT2u4m3iIKZf85zTM+mkCxiUSgj+v/YtA==} + + monaco-editor@0.52.2: + resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} + + monaco-sql-languages@1.0.0-beta.5: + resolution: {integrity: sha512-VEjQ3qp8lch/yz6N50Qd71JBKLAsI4a258J8CIwNvUKQ2d3g7UqLFN+SoG5eQgNcz4soQDiLWorUjw5deEpTgQ==} + engines: {node: '>=18'} + peerDependencies: + monaco-editor: '>=0.52.2' + + morgan@1.10.1: + resolution: {integrity: sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A==} + engines: {node: '>= 0.8.0'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object.omit@2.0.1: + resolution: {integrity: sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==} + engines: {node: '>=0.10.0'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parse-glob@3.0.4: + resolution: {integrity: sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==} + engines: {node: '>=0.10.0'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + preserve@0.2.0: + resolution: {integrity: sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==} + engines: {node: '>=0.10.0'} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + random-bytes@1.0.0: + resolution: {integrity: sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==} + engines: {node: '>= 0.8'} + + randomatic@3.1.1: + resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} + engines: {node: '>= 0.10.0'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} + + regex-cache@0.4.4: + resolution: {integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==} + engines: {node: '>=0.10.0'} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + style-loader@3.3.4: + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tapable@2.2.3: + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} + engines: {node: '>=10'} + hasBin: true + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + ts-loader@9.5.4: + resolution: {integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + typescript: '*' + webpack: ^5.0.0 + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + engines: {node: '>=14.17'} + hasBin: true + + uid-safe@2.1.5: + resolution: {integrity: sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==} + engines: {node: '>= 0.8'} + + undici-types@7.12.0: + resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + watchpack@2.4.4: + resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + webpack-cli@5.1.4: + resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.101.3: + resolution: {integrity: sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + +snapshots: + + '@discoveryjs/json-ext@0.5.7': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 24.5.2 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 24.5.2 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 5.0.7 + '@types/node': 24.5.2 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 24.5.2 + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.8': {} + + '@types/express-serve-static-core@4.19.6': + dependencies: + '@types/node': 24.5.2 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express-serve-static-core@5.0.7': + dependencies: + '@types/node': 24.5.2 + '@types/qs': 6.14.0 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.5 + + '@types/express@4.17.23': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.6 + '@types/qs': 6.14.0 + '@types/serve-static': 1.15.8 + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.16': + dependencies: + '@types/node': 24.5.2 + + '@types/json-schema@7.0.15': {} + + '@types/mime@1.3.5': {} + + '@types/node-forge@1.3.14': + dependencies: + '@types/node': 24.5.2 + + '@types/node@24.5.2': + dependencies: + undici-types: 7.12.0 + + '@types/qs@6.14.0': {} + + '@types/range-parser@1.2.7': {} + + '@types/retry@0.12.0': {} + + '@types/send@0.17.5': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 24.5.2 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.23 + + '@types/serve-static@1.15.8': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 24.5.2 + '@types/send': 0.17.5 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 24.5.2 + + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.5.2 + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4))': + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4))': + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4))': + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + optionalDependencies: + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.101.3) + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-html-community@0.0.8: {} + + ansi-regex@2.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-styles@2.2.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + antlr4-c3@3.3.7(antlr4ng-cli@1.0.7): + dependencies: + antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) + transitivePeerDependencies: + - antlr4ng-cli + + antlr4ng-cli@1.0.7: {} + + antlr4ng@2.0.11(antlr4ng-cli@1.0.7): + dependencies: + antlr4ng-cli: 1.0.7 + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arr-diff@2.0.0: + dependencies: + arr-flatten: 1.1.0 + + arr-flatten@1.1.0: {} + + array-flatten@1.1.1: {} + + array-unique@0.2.1: {} + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.8.6: {} + + basic-auth@2.0.1: + dependencies: + safe-buffer: 5.1.2 + + batch@0.6.1: {} + + binary-extensions@2.3.0: {} + + body-parser@1.20.3: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.13.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.3.0: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@1.8.5: + dependencies: + expand-range: 1.8.2 + preserve: 0.2.0 + repeat-element: 1.1.4 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.26.2: + dependencies: + baseline-browser-mapping: 2.8.6 + caniuse-lite: 1.0.30001745 + electron-to-chromium: 1.5.223 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.2) + + buffer-from@1.1.2: {} + + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + caniuse-lite@1.0.30001745: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chrome-trace-event@1.0.4: {} + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + commander@10.0.1: {} + + commander@2.20.3: {} + + commander@8.3.0: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + connect-history-api-fallback@2.0.0: {} + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookie-signature@1.0.6: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.1: {} + + cookie@0.7.2: {} + + core-util-is@1.0.3: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-loader@6.11.0(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) + postcss-modules-scope: 3.2.1(postcss@8.5.6) + postcss-modules-values: 4.0.0(postcss@8.5.6) + postcss-value-parser: 4.2.0 + semver: 7.7.2 + optionalDependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-what@6.2.2: {} + + cssesc@3.0.0: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + define-lazy-prop@2.0.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + destroy@1.2.0: {} + + detect-node@2.1.0: {} + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@2.3.0: {} + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dt-sql-parser@4.3.1(antlr4ng-cli@1.0.7): + dependencies: + antlr4-c3: 3.3.7(antlr4ng-cli@1.0.7) + antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) + transitivePeerDependencies: + - antlr4ng-cli + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.223: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.3 + + entities@2.2.0: {} + + envinfo@7.14.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es6-promise@3.3.1: {} + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + etag@1.8.1: {} + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + expand-brackets@0.1.5: + dependencies: + is-posix-bracket: 0.1.1 + + expand-range@1.8.2: + dependencies: + fill-range: 2.2.4 + + express-http-proxy@0.10.1: + dependencies: + es6-promise: 3.3.1 + raw-body: 2.5.2 + + express-session@1.18.2: + dependencies: + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + on-headers: 1.1.0 + parseurl: 1.3.3 + safe-buffer: 5.2.1 + uid-safe: 2.1.5 + transitivePeerDependencies: + - supports-color + + express@4.21.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.12 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extglob@0.3.2: + dependencies: + is-extglob: 1.0.0 + + fast-deep-equal@3.1.3: {} + + fast-uri@3.1.0: {} + + fastest-levenshtein@1.0.16: {} + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + filename-regex@2.0.1: {} + + fill-range@2.2.4: + dependencies: + is-number: 2.1.0 + isobject: 2.1.0 + randomatic: 3.1.1 + repeat-element: 1.1.4 + repeat-string: 1.6.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.3.1: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + flat@5.0.2: {} + + follow-redirects@1.15.11: {} + + for-in@1.0.2: {} + + for-own@0.1.5: + dependencies: + for-in: 1.0.2 + + forwarded@0.2.0: {} + + fresh@0.5.2: {} + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + glob-base@0.3.0: + dependencies: + glob-parent: 2.0.0 + is-glob: 2.0.1 + + glob-parent@2.0.0: + dependencies: + is-glob: 2.0.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + handle-thing@2.0.1: {} + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-entities@2.6.0: {} + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.44.0 + + html-webpack-plugin@5.6.4(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.3 + optionalDependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + http-deceiver@1.2.7: {} + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-middleware@0.17.4: + dependencies: + http-proxy: 1.18.1 + is-glob: 3.1.0 + lodash: 4.17.21 + micromatch: 2.3.11 + transitivePeerDependencies: + - debug + + http-proxy-middleware@2.0.9(@types/express@4.17.23): + dependencies: + '@types/http-proxy': 1.17.16 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.23 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.11 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + human-signals@2.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + interpret@3.1.1: {} + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.2.0: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@1.1.6: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-docker@2.2.1: {} + + is-dotfile@1.0.3: {} + + is-equal-shallow@0.1.3: + dependencies: + is-primitive: 2.0.0 + + is-extendable@0.1.1: {} + + is-extglob@1.0.0: {} + + is-extglob@2.1.1: {} + + is-glob@2.0.1: + dependencies: + is-extglob: 1.0.0 + + is-glob@3.1.0: + dependencies: + is-extglob: 2.1.1 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@2.1.0: + dependencies: + kind-of: 3.2.2 + + is-number@4.0.0: {} + + is-number@7.0.0: {} + + is-plain-obj@3.0.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-posix-bracket@0.1.1: {} + + is-primitive@2.0.0: {} + + is-stream@2.0.1: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + jest-worker@27.5.1: + dependencies: + '@types/node': 24.5.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@1.0.0: {} + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@6.0.3: {} + + launch-editor@2.11.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.8.3 + + loader-runner@4.3.0: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash@4.17.21: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + math-intrinsics@1.1.0: {} + + math-random@1.0.4: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + merge-descriptors@1.0.3: {} + + merge-stream@2.0.0: {} + + methods@1.1.2: {} + + micromatch@2.3.11: + dependencies: + arr-diff: 2.0.0 + array-unique: 0.2.1 + braces: 1.8.5 + expand-brackets: 0.1.5 + extglob: 0.3.2 + filename-regex: 2.0.1 + is-extglob: 1.0.0 + is-glob: 2.0.1 + kind-of: 3.2.2 + normalize-path: 2.1.1 + object.omit: 2.0.1 + parse-glob: 3.0.4 + regex-cache: 0.4.4 + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@2.1.0: {} + + mini-cup@1.1.3: + dependencies: + body-parser: 1.20.3 + chalk: 1.1.3 + commander: 2.20.3 + compression: 1.8.1 + express: 4.21.2 + express-http-proxy: 0.10.1 + express-session: 1.18.2 + http-proxy-middleware: 0.17.4 + morgan: 1.10.1 + transitivePeerDependencies: + - debug + - supports-color + + minimalistic-assert@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + monaco-editor-core@0.52.2: {} + + monaco-editor@0.52.2: {} + + monaco-sql-languages@1.0.0-beta.5(antlr4ng-cli@1.0.7)(monaco-editor@0.52.2): + dependencies: + dt-sql-parser: 4.3.1(antlr4ng-cli@1.0.7) + monaco-editor: 0.52.2 + monaco-editor-core: 0.52.2 + transitivePeerDependencies: + - antlr4ng-cli + + morgan@1.10.1: + dependencies: + basic-auth: 2.0.1 + debug: 2.6.9 + depd: 2.0.0 + on-finished: 2.3.0 + on-headers: 1.1.0 + transitivePeerDependencies: + - supports-color + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + nanoid@3.3.11: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-forge@1.3.1: {} + + node-releases@2.0.21: {} + + normalize-path@2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-inspect@1.13.4: {} + + object.omit@2.0.1: + dependencies: + for-own: 0.1.5 + is-extendable: 0.1.1 + + obuf@1.1.2: {} + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-try@2.2.0: {} + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parse-glob@3.0.4: + dependencies: + glob-base: 0.3.0 + is-dotfile: 1.0.3 + is-extglob: 1.0.0 + is-glob: 2.0.1 + + parseurl@1.3.3: {} + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@0.1.12: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 7.1.0 + + postcss-modules-values@4.0.0(postcss@8.5.6): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + preserve@0.2.0: {} + + pretty-error@4.0.0: + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + + process-nextick-args@2.0.1: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + qs@6.13.0: + dependencies: + side-channel: 1.1.0 + + random-bytes@1.0.0: {} + + randomatic@3.1.1: + dependencies: + is-number: 4.0.0 + kind-of: 6.0.3 + math-random: 1.0.4 + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + rechoir@0.8.0: + dependencies: + resolve: 1.22.10 + + regex-cache@0.4.4: + dependencies: + is-equal-shallow: 0.1.3 + + relateurl@0.2.7: {} + + remove-trailing-separator@1.1.0: {} + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + require-from-string@2.0.2: {} + + requires-port@1.0.0: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@5.0.0: {} + + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retry@0.13.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + schema-utils@4.3.2: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + select-hose@2.0.0: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.14 + node-forge: 1.3.1 + + semver@7.7.2: {} + + send@0.19.0: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-index@1.9.1: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.2: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.0 + transitivePeerDependencies: + - supports-color + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.3 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.3 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + statuses@1.5.0: {} + + statuses@2.0.1: {} + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-final-newline@2.0.0: {} + + style-loader@3.3.4(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + + supports-color@2.0.0: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tapable@2.2.3: {} + + terser-webpack-plugin@5.3.14(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + terser: 5.44.0 + webpack: 5.101.3(webpack-cli@5.1.4) + + terser@5.44.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + thunky@1.1.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + ts-loader@9.5.4(typescript@5.9.2)(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.18.3 + micromatch: 4.0.8 + semver: 7.7.2 + source-map: 0.7.6 + typescript: 5.9.2 + webpack: 5.101.3(webpack-cli@5.1.4) + + tslib@2.8.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typescript@5.9.2: {} + + uid-safe@2.1.5: + dependencies: + random-bytes: 1.0.0 + + undici-types@7.12.0: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.1.3(browserslist@4.26.2): + dependencies: + browserslist: 4.26.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + util-deprecate@1.0.2: {} + + utila@0.4.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + vary@1.1.2: {} + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3): + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3))(webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.101.3))(webpack@5.101.3(webpack-cli@5.1.4)) + colorette: 2.0.20 + commander: 10.0.1 + cross-spawn: 7.0.6 + envinfo: 7.14.0 + fastest-levenshtein: 1.0.16 + import-local: 3.2.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-merge: 5.10.0 + optionalDependencies: + webpack-dev-server: 4.15.2(webpack-cli@5.1.4)(webpack@5.101.3) + + webpack-dev-middleware@5.3.4(webpack@5.101.3(webpack-cli@5.1.4)): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.2 + webpack: 5.101.3(webpack-cli@5.1.4) + + webpack-dev-server@4.15.2(webpack-cli@5.1.4)(webpack@5.101.3): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.23 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.8 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.3.0 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.21.2 + graceful-fs: 4.2.11 + html-entities: 2.6.0 + http-proxy-middleware: 2.0.9(@types/express@4.17.23) + ipaddr.js: 2.2.0 + launch-editor: 2.11.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.3.2 + selfsigned: 2.4.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.101.3(webpack-cli@5.1.4)) + ws: 8.18.3 + optionalDependencies: + webpack: 5.101.3(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@3.3.3: {} + + webpack@5.101.3(webpack-cli@5.1.4): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.26.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.3 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.3 + terser-webpack-plugin: 5.3.14(webpack@5.101.3(webpack-cli@5.1.4)) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + optionalDependencies: + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.101.3) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wildcard@2.0.1: {} + + wrappy@1.0.2: {} + + ws@8.18.3: {} diff --git a/samples/esm-vite/package.json b/samples/esm-vite/package.json index 95e9fcab..de560e62 100644 --- a/samples/esm-vite/package.json +++ b/samples/esm-vite/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "monaco-editor": "0.31.0", - "monaco-sql-languages": "0.12.0-beta.11", + "monaco-editor": "0.52.2", + "monaco-sql-languages": "1.0.0-beta.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/samples/esm-vite/pnpm-lock.yaml b/samples/esm-vite/pnpm-lock.yaml new file mode 100644 index 00000000..652a7a8e --- /dev/null +++ b/samples/esm-vite/pnpm-lock.yaml @@ -0,0 +1,1117 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + monaco-editor: + specifier: 0.52.2 + version: 0.52.2 + monaco-sql-languages: + specifier: 1.0.0-beta.3 + version: 1.0.0-beta.3(antlr4ng-cli@1.0.7)(monaco-editor@0.52.2) + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) + devDependencies: + '@types/node': + specifier: ^20.10.4 + version: 20.19.17 + '@types/react': + specifier: ^18.2.37 + version: 18.3.24 + '@types/react-dom': + specifier: ^18.2.15 + version: 18.3.7(@types/react@18.3.24) + '@vitejs/plugin-react': + specifier: ^4.2.0 + version: 4.7.0(vite@5.4.20(@types/node@20.19.17)) + typescript: + specifier: ^5.2.2 + version: 5.9.2 + vite: + specifier: ^5.0.0 + version: 5.4.20(@types/node@20.19.17) + +packages: + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + + '@rollup/rollup-android-arm-eabi@4.52.2': + resolution: {integrity: sha512-o3pcKzJgSGt4d74lSZ+OCnHwkKBeAbFDmbEm5gg70eA8VkyCuC/zV9TwBnmw6VjDlRdF4Pshfb+WE9E6XY1PoQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.52.2': + resolution: {integrity: sha512-cqFSWO5tX2vhC9hJTK8WAiPIm4Q8q/cU8j2HQA0L3E1uXvBYbOZMhE2oFL8n2pKB5sOCHY6bBuHaRwG7TkfJyw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.52.2': + resolution: {integrity: sha512-vngduywkkv8Fkh3wIZf5nFPXzWsNsVu1kvtLETWxTFf/5opZmflgVSeLgdHR56RQh71xhPhWoOkEBvbehwTlVA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.52.2': + resolution: {integrity: sha512-h11KikYrUCYTrDj6h939hhMNlqU2fo/X4NB0OZcys3fya49o1hmFaczAiJWVAFgrM1NCP6RrO7lQKeVYSKBPSQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.52.2': + resolution: {integrity: sha512-/eg4CI61ZUkLXxMHyVlmlGrSQZ34xqWlZNW43IAU4RmdzWEx0mQJ2mN/Cx4IHLVZFL6UBGAh+/GXhgvGb+nVxw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.52.2': + resolution: {integrity: sha512-QOWgFH5X9+p+S1NAfOqc0z8qEpJIoUHf7OWjNUGOeW18Mx22lAUOiA9b6r2/vpzLdfxi/f+VWsYjUOMCcYh0Ng==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.52.2': + resolution: {integrity: sha512-kDWSPafToDd8LcBYd1t5jw7bD5Ojcu12S3uT372e5HKPzQt532vW+rGFFOaiR0opxePyUkHrwz8iWYEyH1IIQA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.52.2': + resolution: {integrity: sha512-gKm7Mk9wCv6/rkzwCiUC4KnevYhlf8ztBrDRT9g/u//1fZLapSRc+eDZj2Eu2wpJ+0RzUKgtNijnVIB4ZxyL+w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.52.2': + resolution: {integrity: sha512-66lA8vnj5mB/rtDNwPgrrKUOtCLVQypkyDa2gMfOefXK6rcZAxKLO9Fy3GkW8VkPnENv9hBkNOFfGLf6rNKGUg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.52.2': + resolution: {integrity: sha512-s+OPucLNdJHvuZHuIz2WwncJ+SfWHFEmlC5nKMUgAelUeBUnlB4wt7rXWiyG4Zn07uY2Dd+SGyVa9oyLkVGOjA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.52.2': + resolution: {integrity: sha512-8wTRM3+gVMDLLDdaT6tKmOE3lJyRy9NpJUS/ZRWmLCmOPIJhVyXwjBo+XbrrwtV33Em1/eCTd5TuGJm4+DmYjw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.52.2': + resolution: {integrity: sha512-6yqEfgJ1anIeuP2P/zhtfBlDpXUb80t8DpbYwXQ3bQd95JMvUaqiX+fKqYqUwZXqdJDd8xdilNtsHM2N0cFm6A==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.52.2': + resolution: {integrity: sha512-sshYUiYVSEI2B6dp4jMncwxbrUqRdNApF2c3bhtLAU0qA8Lrri0p0NauOsTWh3yCCCDyBOjESHMExonp7Nzc0w==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.52.2': + resolution: {integrity: sha512-duBLgd+3pqC4MMwBrKkFxaZerUxZcYApQVC5SdbF5/e/589GwVvlRUnyqMFbM8iUSb1BaoX/3fRL7hB9m2Pj8Q==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.52.2': + resolution: {integrity: sha512-tzhYJJidDUVGMgVyE+PmxENPHlvvqm1KILjjZhB8/xHYqAGeizh3GBGf9u6WdJpZrz1aCpIIHG0LgJgH9rVjHQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.52.2': + resolution: {integrity: sha512-opH8GSUuVcCSSyHHcl5hELrmnk4waZoVpgn/4FDao9iyE4WpQhyWJ5ryl5M3ocp4qkRuHfyXnGqg8M9oKCEKRA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.52.2': + resolution: {integrity: sha512-LSeBHnGli1pPKVJ79ZVJgeZWWZXkEe/5o8kcn23M8eMKCUANejchJbF/JqzM4RRjOJfNRhKJk8FuqL1GKjF5oQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openharmony-arm64@4.52.2': + resolution: {integrity: sha512-uPj7MQ6/s+/GOpolavm6BPo+6CbhbKYyZHUDvZ/SmJM7pfDBgdGisFX3bY/CBDMg2ZO4utfhlApkSfZ92yXw7Q==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.52.2': + resolution: {integrity: sha512-Z9MUCrSgIaUeeHAiNkm3cQyst2UhzjPraR3gYYfOjAuZI7tcFRTOD+4cHLPoS/3qinchth+V56vtqz1Tv+6KPA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.52.2': + resolution: {integrity: sha512-+GnYBmpjldD3XQd+HMejo+0gJGwYIOfFeoBQv32xF/RUIvccUz20/V6Otdv+57NE70D5pa8W/jVGDoGq0oON4A==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.52.2': + resolution: {integrity: sha512-ApXFKluSB6kDQkAqZOKXBjiaqdF1BlKi+/eqnYe9Ee7U2K3pUDKsIyr8EYm/QDHTJIM+4X+lI0gJc3TTRhd+dA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.52.2': + resolution: {integrity: sha512-ARz+Bs8kY6FtitYM96PqPEVvPXqEZmPZsSkXvyX19YzDqkCaIlhCieLLMI5hxO9SRZ2XtCtm8wxhy0iJ2jxNfw==} + cpu: [x64] + os: [win32] + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/node@20.19.17': + resolution: {integrity: sha512-gfehUI8N1z92kygssiuWvLiwcbOB3IRktR6hTDgJlXMYh5OvkPSRmgfoBUmfZt+vhwJtX7v1Yw4KvvAf7c5QKQ==} + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/react-dom@18.3.7': + resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==} + peerDependencies: + '@types/react': ^18.0.0 + + '@types/react@18.3.24': + resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==} + + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + + antlr4-c3@3.3.7: + resolution: {integrity: sha512-F3ndE38wwA6z6AjUbL3heSdEGl4TxulGDPf9xB0/IY4dbRHWBh6XNaqFwur8vHKQk9FS5yNABHeg2wqlqIYO0w==} + + antlr4ng-cli@1.0.7: + resolution: {integrity: sha512-qN2FsDBmLvsQcA5CWTrPz8I8gNXeS1fgXBBhI78VyxBSBV/EJgqy8ks6IDTC9jyugpl40csCQ4sL5K4i2YZ/2w==} + deprecated: 'This package is deprecated and will no longer be updated. Please use the new antlr-ng package instead: https://github.com/mike-lischke/antlr-ng' + hasBin: true + + antlr4ng@2.0.11: + resolution: {integrity: sha512-9jM91VVtHSqHkAHQsXHaoaiewFETMvUTI1/tXvwTiFw4f7zke3IGlwEyoKN9NS0FqIwDKFvUNW2e1cKPniTkVQ==} + peerDependencies: + antlr4ng-cli: 1.0.7 + + baseline-browser-mapping@2.8.6: + resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} + hasBin: true + + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + caniuse-lite@1.0.30001743: + resolution: {integrity: sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + dt-sql-parser@4.3.1: + resolution: {integrity: sha512-WlFB9of+ChwWtc5M222jHGIpzqHx51szLe/11GAwwbA+4hRaVkMpWMf2bbYj4i855edSoTQ52zyLJVOpe+4OVg==} + engines: {node: '>=18'} + + electron-to-chromium@1.5.223: + resolution: {integrity: sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + monaco-editor@0.52.2: + resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} + + monaco-sql-languages@1.0.0-beta.3: + resolution: {integrity: sha512-lmSFrgr3cvtbkUFZmiXC5OqJZ0GM6vXzRFnNSd8OoGNX/MenYypkH9FdJ/2SJhHzKIKRm4KCiGPK7r+VNHCk5A==} + engines: {node: '>=18'} + peerDependencies: + monaco-editor: '>=0.52.2' + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-refresh@0.17.0: + resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} + engines: {node: '>=0.10.0'} + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + rollup@4.52.2: + resolution: {integrity: sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + vite@5.4.20: + resolution: {integrity: sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + +snapshots: + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.4': {} + + '@babel/core@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.4 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.26.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@babel/traverse@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@rolldown/pluginutils@1.0.0-beta.27': {} + + '@rollup/rollup-android-arm-eabi@4.52.2': + optional: true + + '@rollup/rollup-android-arm64@4.52.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.52.2': + optional: true + + '@rollup/rollup-darwin-x64@4.52.2': + optional: true + + '@rollup/rollup-freebsd-arm64@4.52.2': + optional: true + + '@rollup/rollup-freebsd-x64@4.52.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.52.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.52.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.52.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.52.2': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.52.2': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.52.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.52.2': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.52.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.52.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.52.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.52.2': + optional: true + + '@rollup/rollup-openharmony-arm64@4.52.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.52.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.52.2': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.52.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.52.2': + optional: true + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.4 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.4 + + '@types/estree@1.0.8': {} + + '@types/node@20.19.17': + dependencies: + undici-types: 6.21.0 + + '@types/prop-types@15.7.15': {} + + '@types/react-dom@18.3.7(@types/react@18.3.24)': + dependencies: + '@types/react': 18.3.24 + + '@types/react@18.3.24': + dependencies: + '@types/prop-types': 15.7.15 + csstype: 3.1.3 + + '@vitejs/plugin-react@4.7.0(vite@5.4.20(@types/node@20.19.17))': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 5.4.20(@types/node@20.19.17) + transitivePeerDependencies: + - supports-color + + antlr4-c3@3.3.7(antlr4ng-cli@1.0.7): + dependencies: + antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) + transitivePeerDependencies: + - antlr4ng-cli + + antlr4ng-cli@1.0.7: {} + + antlr4ng@2.0.11(antlr4ng-cli@1.0.7): + dependencies: + antlr4ng-cli: 1.0.7 + + baseline-browser-mapping@2.8.6: {} + + browserslist@4.26.2: + dependencies: + baseline-browser-mapping: 2.8.6 + caniuse-lite: 1.0.30001743 + electron-to-chromium: 1.5.223 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.2) + + caniuse-lite@1.0.30001743: {} + + convert-source-map@2.0.0: {} + + csstype@3.1.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + dt-sql-parser@4.3.1(antlr4ng-cli@1.0.7): + dependencies: + antlr4-c3: 3.3.7(antlr4ng-cli@1.0.7) + antlr4ng: 2.0.11(antlr4ng-cli@1.0.7) + transitivePeerDependencies: + - antlr4ng-cli + + electron-to-chromium@1.5.223: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.2.0: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + js-tokens@4.0.0: {} + + jsesc@3.1.0: {} + + json5@2.2.3: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + monaco-editor@0.52.2: {} + + monaco-sql-languages@1.0.0-beta.3(antlr4ng-cli@1.0.7)(monaco-editor@0.52.2): + dependencies: + dt-sql-parser: 4.3.1(antlr4ng-cli@1.0.7) + monaco-editor: 0.52.2 + transitivePeerDependencies: + - antlr4ng-cli + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + node-releases@2.0.21: {} + + picocolors@1.1.1: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-refresh@0.17.0: {} + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + rollup@4.52.2: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.52.2 + '@rollup/rollup-android-arm64': 4.52.2 + '@rollup/rollup-darwin-arm64': 4.52.2 + '@rollup/rollup-darwin-x64': 4.52.2 + '@rollup/rollup-freebsd-arm64': 4.52.2 + '@rollup/rollup-freebsd-x64': 4.52.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.2 + '@rollup/rollup-linux-arm-musleabihf': 4.52.2 + '@rollup/rollup-linux-arm64-gnu': 4.52.2 + '@rollup/rollup-linux-arm64-musl': 4.52.2 + '@rollup/rollup-linux-loong64-gnu': 4.52.2 + '@rollup/rollup-linux-ppc64-gnu': 4.52.2 + '@rollup/rollup-linux-riscv64-gnu': 4.52.2 + '@rollup/rollup-linux-riscv64-musl': 4.52.2 + '@rollup/rollup-linux-s390x-gnu': 4.52.2 + '@rollup/rollup-linux-x64-gnu': 4.52.2 + '@rollup/rollup-linux-x64-musl': 4.52.2 + '@rollup/rollup-openharmony-arm64': 4.52.2 + '@rollup/rollup-win32-arm64-msvc': 4.52.2 + '@rollup/rollup-win32-ia32-msvc': 4.52.2 + '@rollup/rollup-win32-x64-gnu': 4.52.2 + '@rollup/rollup-win32-x64-msvc': 4.52.2 + fsevents: 2.3.3 + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + semver@6.3.1: {} + + source-map-js@1.2.1: {} + + typescript@5.9.2: {} + + undici-types@6.21.0: {} + + update-browserslist-db@1.1.3(browserslist@4.26.2): + dependencies: + browserslist: 4.26.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + vite@5.4.20(@types/node@20.19.17): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.52.2 + optionalDependencies: + '@types/node': 20.19.17 + fsevents: 2.3.3 + + yallist@3.1.1: {} diff --git a/src/.DS_Store b/src/.DS_Store index b50d481fd0a97cd267bbe80791ac49390d53ea3e..6f0d0c2d91c7880c5e357f948a275c8a8e56e2f0 100644 GIT binary patch literal 6148 zcmeHKy-ve05I(nQDIidV7+5Oh36S~*p(;C42iDSmq^7B8D;9>#Fo1XhX5IrfBoUVr8AniCrSQ1ZIR4n|7z>?{qlix`Ls?LEwfo|m66XnGC83U z^=Ss|BP%zj+|wPRWmqNis`PH=9A#QAbNkxT$b<^HoR-1tYlZ;_v205zMXv}sU! zVL%uV1{MtP`QW251{Pz3`shHXuK+*~(^@d*y9E3A76Xg1L1-Y#xB`u>(72Pbmk(tlD|CJzu~2NHo}wrt0|NsP3otNbGZZrvGUSv67v)VXR96H^a4@7XG;J2-5M$Zc;L5z2or9kPXd+PHJM(0I5nWD@-UC3)FxiGjdUK4(5@rA$ C(Hb5A diff --git a/test/all.js b/test/all.js index 4a894b04..b977797f 100644 --- a/test/all.js +++ b/test/all.js @@ -23,7 +23,7 @@ global.document.queryCommandSupported = function () { return false; }; global.UIEvent = tmp.window.UIEvent; - +global.define = requirejs.define; global.window = { location: {}, navigator: tmp.window.navigator, diff --git a/test/setup.js b/test/setup.js index 13a598eb..e1014a69 100644 --- a/test/setup.js +++ b/test/setup.js @@ -18,6 +18,9 @@ define('vs/nls', [], { localize: function () { return 'NO_LOCALIZATION_FOR_YOU'; }, + localize2: function () { + return 'NO_LOCALIZATION_FOR_YOU'; + }, load: function (name, req, load) { load({}); } From 2289858ee6952a2ef7841204e81e25d7e34de464 Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Wed, 22 Oct 2025 11:25:41 +0800 Subject: [PATCH 08/11] feat: update contribute ts and update unit test --- src/_.contribution.ts | 25 +++++++-------- src/languages/hive/hive.test.ts | 4 ++- src/test/testRunner.ts | 11 +++++-- test/all.js | 53 +++++++++++++++++++++++++++---- test/setup.js | 56 +++++++++++++++++++++++++++++++-- tsconfig.amd.json | 5 ++- 6 files changed, 128 insertions(+), 26 deletions(-) diff --git a/src/_.contribution.ts b/src/_.contribution.ts index 0e10d1d5..50a250b8 100644 --- a/src/_.contribution.ts +++ b/src/_.contribution.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { languages } from './fillers/monaco-editor-core'; +import { editor, languages } from './fillers/monaco-editor-core'; interface ILang extends languages.ILanguageExtensionPoint { loader: () => Promise; @@ -39,11 +39,6 @@ class LazyLanguageLoader { this._lazyLoadPromiseReject = reject; }); } - - public whenLoaded(): Promise { - return this._lazyLoadPromise; - } - public load(): Promise { if (!this._loadingTriggered) { this._loadingTriggered = true; @@ -58,22 +53,24 @@ class LazyLanguageLoader { export async function loadLanguage(languageId: string): Promise { await LazyLanguageLoader.getOrCreate(languageId).load(); + // trigger tokenizer creation by instantiating a model + const model = editor.createModel('', languageId); + model.dispose(); } export function registerLanguage(def: ILang): void { const languageId = def.id; - languageDefinitions[languageId] = def; languages.register(def); const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId); - - languages.setMonarchTokensProvider( - languageId, - lazyLanguageLoader.whenLoaded().then((mod) => mod.language) - ); - - languages.onLanguage(languageId, async () => { + languages.registerTokensProviderFactory(languageId, { + create: async (): Promise => { + const mod = await lazyLanguageLoader.load(); + return mod.language; + } + }); + languages.onLanguageEncountered(languageId, async () => { const mod = await lazyLanguageLoader.load(); languages.setLanguageConfiguration(languageId, mod.conf); }); diff --git a/src/languages/hive/hive.test.ts b/src/languages/hive/hive.test.ts index a4d97718..d5501f25 100644 --- a/src/languages/hive/hive.test.ts +++ b/src/languages/hive/hive.test.ts @@ -3,8 +3,10 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ +import './hive.contribution'; + +import { postfixTokenClass, TokenClassConsts } from '../../common/constants'; import { testTokenization } from '../../test/testRunner'; -import { TokenClassConsts, postfixTokenClass } from '../../common/constants'; testTokenization('hivesql', [ // Comments diff --git a/src/test/testRunner.ts b/src/test/testRunner.ts index a9b54563..81557105 100644 --- a/src/test/testRunner.ts +++ b/src/test/testRunner.ts @@ -4,8 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import '../all.contributions'; -import { loadLanguage } from '../_.contribution'; + import * as assert from 'assert'; + +import { loadLanguage } from '../_.contribution'; import { editor } from '../fillers/monaco-editor-core'; export interface IRelaxedToken { @@ -59,5 +61,10 @@ function runTest(languageId: string, test: ITestItem[]): void { }; }); - assert.deepStrictEqual(actual, test); + try { + assert.deepStrictEqual(actual, test); + } catch (err) { + console.error(`❌ Tokenization mismatch for ${languageId}:`); + throw err; + } } diff --git a/test/all.js b/test/all.js index b977797f..b0207e21 100644 --- a/test/all.js +++ b/test/all.js @@ -2,14 +2,15 @@ const requirejs = require('requirejs'); const jsdom = require('jsdom'); const glob = require('fast-glob'); const path = require('path'); +const Mocha = require('mocha'); requirejs.config({ - baseUrl: '', + baseUrl: path.join(__dirname, '../'), paths: { + vs: 'node_modules/monaco-editor/dev/vs', 'vs/css': 'test/css.mock', 'vs/nls': 'test/nls.mock', - 'out/amd/fillers/monaco-editor-core': 'out/amd/fillers/monaco-editor-core-amd', - vs: 'node_modules/monaco-editor/dev/vs' + 'out/amd/fillers/monaco-editor-core': 'out/amd/fillers/monaco-editor-core-amd' }, nodeRequire: require }); @@ -24,6 +25,9 @@ global.document.queryCommandSupported = function () { }; global.UIEvent = tmp.window.UIEvent; global.define = requirejs.define; + +// 添加完整的DOM环境支持 +global.Element = tmp.window.Element; global.window = { location: {}, navigator: tmp.window.navigator, @@ -32,8 +36,18 @@ global.window = { matches: false, addEventListener: function () {} }; - } + }, + setInterval: setInterval, + clearInterval: clearInterval, + setTimeout: setTimeout, + clearTimeout: clearTimeout, + document: tmp.window.document, + Element: tmp.window.Element }; +if (!document.body) { + const body = document.createElement('body'); + document.appendChild(body); +} requirejs( ['./test/setup'], @@ -52,10 +66,37 @@ requirejs( requirejs( files.map((f) => f.replace(/\.js$/, '')), function () { - run(); // We can launch the tests! + // 初始化Mocha + const mocha = new Mocha({ + ui: 'bdd', + reporter: 'spec', + timeout: 5000 + }); + + // 手动添加测试到Mocha的suite + const Suite = require('mocha/lib/suite'); + const Test = require('mocha/lib/test'); + + // 创建一个根suite + const rootSuite = new Suite('Root Suite'); + mocha.suite.addSuite(rootSuite); + + // 添加存储的测试 + if (global._pendingTests && global._pendingTests.length > 0) { + global._pendingTests.forEach(function (test) { + const mochaTest = new Test(test.name, test.fn); + rootSuite.addTest(mochaTest); + }); + } + + // 运行测试 + mocha.run(function (failures) { + process.exit(failures ? 1 : 0); + }); }, function (err) { - console.log(err); + console.log('Error loading test files:', err); + process.exit(1); } ); }, diff --git a/test/setup.js b/test/setup.js index e1014a69..ad8ef54b 100644 --- a/test/setup.js +++ b/test/setup.js @@ -10,6 +10,9 @@ define('vs/nls', [], { localize: function () { return 'NO_LOCALIZATION_FOR_YOU'; }, + localize2: function () { + return 'NO_LOCALIZATION_FOR_YOU'; + }, getConfiguredDefaultLocale: function () { return undefined; } @@ -18,8 +21,8 @@ define('vs/nls', [], { localize: function () { return 'NO_LOCALIZATION_FOR_YOU'; }, - localize2: function () { - return 'NO_LOCALIZATION_FOR_YOU'; + localize2: function (key, message) { + return { value: 'NO_LOCALIZATION_FOR_YOU', original: message }; }, load: function (name, req, load) { load({}); @@ -29,3 +32,52 @@ define('vs/nls', [], { define(['vs/editor/editor.main'], function (api) { global.monaco = api; }); + +// 定义Mocha全局函数 +global.test = function (name, fn) { + // 检查函数是否返回Promise(包括编译后的异步函数) + const isPromiseFunction = + fn && + typeof fn === 'function' && + ((fn.constructor && fn.constructor.name === 'AsyncFunction') || + fn.toString().includes('__awaiter') || + fn.toString().includes('__generator') || + fn.toString().includes('Promise')); + + if (isPromiseFunction) { + // 异步函数需要包装为Mocha能理解的格式 + const wrappedFn = function (done) { + const result = fn(); + if (result && typeof result.then === 'function') { + result + .then(() => { + if (done) done(); + }) + .catch((err) => { + if (done) done(err); + }); + } else { + if (done) done(); + } + }; + global._pendingTests = global._pendingTests || []; + global._pendingTests.push({ name, fn: wrappedFn }); + } else { + global._pendingTests = global._pendingTests || []; + global._pendingTests.push({ name, fn }); + } +}; + +global.describe = + global.describe || + function (name, fn) { + global._pendingSuites = global._pendingSuites || []; + global._pendingSuites.push({ name, fn }); + }; + +global.it = + global.it || + function (name, fn) { + global._pendingTests = global._pendingTests || []; + global._pendingTests.push({ name, fn }); + }; diff --git a/tsconfig.amd.json b/tsconfig.amd.json index fe9e7d04..ae037ee2 100644 --- a/tsconfig.amd.json +++ b/tsconfig.amd.json @@ -4,6 +4,9 @@ "module": "amd", "outDir": "out/amd/", "target": "es5", - "noEmit": false + "noEmit": false, + "sourceMap": true, + "allowJs": true, + "checkJs": false } } From c1f1fd595e2f98d3e932869adf2f89974fc70e59 Mon Sep 17 00:00:00 2001 From: Bell <47959147+shiqiWang0@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:46:54 +0800 Subject: [PATCH 09/11] Bump/molecule@2.x alpha10 (#190) * feat: update molecule@2.0.0-alpha.8 * feat: add welcome * feat: init colortheme && reset workbench * feat: add website ui * feat: improve UI * feat: imporve workbench to support sidebar * feat: support problem panel * feat: support snippetCompletion * feat: support to register action * feat: apiDocPage && unitTest init * feat: improve ui in quick github to visit * feat(website): support quickStart to create new file && code review * fix(website): create file to share data * chore(release): 1.0.0-beta.0 * chore(release): 1.0.0-beta.1 * chore(release): 1.0.0-beta.2 * chore(release): 1.0.0-beta.3 * chore(release): 1.0.0-beta.4 * chore(release): 1.0.0-beta.5 * feat: update demo and others after upgrade monaco-editor's version * feat: update contribute ts and update unit test * feat: bump molecule2.0 from alpha.8 to alpha.10 with monaco-editor@0.52.2 --------- Co-authored-by: beier Co-authored-by: zhaoge <> --- website/package.json | 22 +- website/plugin.ts | 95 + website/pnpm-lock.yaml | 2323 +++++++++++++++-- website/postcss.config.js | 6 + website/public/wasm/onig.wasm | Bin 0 -> 473151 bytes website/src/App.css | 22 + website/src/App.tsx | 43 +- website/src/assets/checkDemo.svg | 10 + website/src/assets/checkFile.svg | 10 + website/src/assets/quickStart.svg | 12 + website/src/components/tabs/index.tsx | 51 + website/src/components/tabs/style.css | 45 + website/src/components/tooltip/index.tsx | 54 + website/src/components/tooltip/style.css | 62 + website/src/consts/index.ts | 57 + website/src/extensions/actions/index.ts | 43 + .../extensions/actions/\302\240saveAction.ts" | 38 + website/src/extensions/index.ts | 7 + website/src/extensions/main/index.tsx | 382 +++ website/src/extensions/view/explorer.ts | 41 + website/src/extensions/view/folderTree.ts | 30 + website/src/extensions/view/index.ts | 20 + website/src/extensions/workbench/common.ts | 26 - website/src/extensions/workbench/index.tsx | 56 - website/src/extensions/workbench/sidebar.tsx | 180 -- website/src/extensions/workbench/utils.ts | 21 - website/src/hooks/useUnitCatalog.ts | 61 + website/src/index.css | 1 + website/src/languages/index.ts | 1 - website/src/main.tsx | 7 +- website/src/mock/api.mock.ts | 120 + website/src/services/fileManagerService.ts | 102 + website/src/storage/view/index.ts | 23 + website/src/utils/index.ts | 102 + website/src/utils/tool.ts | 44 + website/src/workbench/apiDocPage/index.tsx | 9 + .../src/workbench/problems/clients/context.ts | 3 + .../problems/clients/paneView/index.tsx | 91 + .../problems/clients/problemStore.tsx | 12 + .../problems/clients/statusBarView/index.tsx | 19 + .../workbench/problems/controllers/index.ts | 24 + website/src/workbench/problems/index.tsx | 4 + website/src/workbench/problems/model/index.ts | 51 + .../src/workbench/problems/services/index.ts | 68 + website/src/workbench/problems/style.scss | 62 + website/src/workbench/quickGithub/index.tsx | 23 + .../sourceSpace/components/outline/index.ts | 0 .../sourceSpace/components/parser/index.tsx | 58 + .../sourceSpace/components/parser/style.css | 29 + website/src/workbench/sourceSpace/index.tsx | 22 + website/src/workbench/unitTest/index.tsx | 83 + website/src/workbench/welcome/index.tsx | 79 + website/src/workbench/welcome/style.css | 51 + website/tailwind.config.js | 8 + website/tsconfig.json | 7 +- website/vite.config.ts | 18 +- 56 files changed, 4367 insertions(+), 471 deletions(-) create mode 100644 website/plugin.ts create mode 100644 website/postcss.config.js create mode 100644 website/public/wasm/onig.wasm create mode 100644 website/src/assets/checkDemo.svg create mode 100644 website/src/assets/checkFile.svg create mode 100644 website/src/assets/quickStart.svg create mode 100644 website/src/components/tabs/index.tsx create mode 100644 website/src/components/tabs/style.css create mode 100644 website/src/components/tooltip/index.tsx create mode 100644 website/src/components/tooltip/style.css create mode 100644 website/src/consts/index.ts create mode 100644 website/src/extensions/actions/index.ts create mode 100644 "website/src/extensions/actions/\302\240saveAction.ts" create mode 100644 website/src/extensions/index.ts create mode 100644 website/src/extensions/main/index.tsx create mode 100644 website/src/extensions/view/explorer.ts create mode 100644 website/src/extensions/view/folderTree.ts create mode 100644 website/src/extensions/view/index.ts delete mode 100644 website/src/extensions/workbench/common.ts delete mode 100644 website/src/extensions/workbench/index.tsx delete mode 100644 website/src/extensions/workbench/sidebar.tsx delete mode 100644 website/src/extensions/workbench/utils.ts create mode 100644 website/src/hooks/useUnitCatalog.ts create mode 100644 website/src/mock/api.mock.ts create mode 100644 website/src/services/fileManagerService.ts create mode 100644 website/src/storage/view/index.ts create mode 100644 website/src/utils/index.ts create mode 100644 website/src/utils/tool.ts create mode 100644 website/src/workbench/apiDocPage/index.tsx create mode 100644 website/src/workbench/problems/clients/context.ts create mode 100644 website/src/workbench/problems/clients/paneView/index.tsx create mode 100644 website/src/workbench/problems/clients/problemStore.tsx create mode 100644 website/src/workbench/problems/clients/statusBarView/index.tsx create mode 100644 website/src/workbench/problems/controllers/index.ts create mode 100644 website/src/workbench/problems/index.tsx create mode 100644 website/src/workbench/problems/model/index.ts create mode 100644 website/src/workbench/problems/services/index.ts create mode 100644 website/src/workbench/problems/style.scss create mode 100644 website/src/workbench/quickGithub/index.tsx create mode 100644 website/src/workbench/sourceSpace/components/outline/index.ts create mode 100644 website/src/workbench/sourceSpace/components/parser/index.tsx create mode 100644 website/src/workbench/sourceSpace/components/parser/style.css create mode 100644 website/src/workbench/sourceSpace/index.tsx create mode 100644 website/src/workbench/unitTest/index.tsx create mode 100644 website/src/workbench/welcome/index.tsx create mode 100644 website/src/workbench/welcome/style.css create mode 100644 website/tailwind.config.js diff --git a/website/package.json b/website/package.json index f13eba7b..e68e0892 100644 --- a/website/package.json +++ b/website/package.json @@ -10,12 +10,21 @@ "preview": "vite preview" }, "dependencies": { - "@dtinsight/molecule": "^1.3.4", + "@dtinsight/molecule": "2.0.0-alpha.10", "@jcubic/lips": "^0.20.3", - "monaco-editor": "0.31.0", + "@vscode/codicons": "^0.0.41", + "classnames": "^2.5.1", + "esbuild": "^0.24.2", + "idb-keyval": "^6.2.1", + "immer": "^10.1.3", + "monaco-editor": "0.52.2", + "rc-tabs": "^15.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", - "reflect-metadata": "^0.1.13" + "reflect-metadata": "^0.1.13", + "tsyringe": "^4.8.0", + "vscode-oniguruma": "^2.0.1", + "vscode-textmate": "^9.2.0" }, "devDependencies": { "@types/node": "^20.2.5", @@ -24,11 +33,16 @@ "@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/parser": "^5.59.0", "@vitejs/plugin-react": "^4.0.0", + "autoprefixer": "^10.4.21", "eslint": "^8.38.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.3.4", + "postcss": "^8.5.6", + "sass": "^1.93.2", + "tailwindcss": "3", "typescript": "^5.0.2", - "vite": "^4.3.9" + "vite": "^4.3.9", + "vite-plugin-mock-dev-server": "^2.0.1" }, "engines": { "node": ">=18" diff --git a/website/plugin.ts b/website/plugin.ts new file mode 100644 index 00000000..0e893747 --- /dev/null +++ b/website/plugin.ts @@ -0,0 +1,95 @@ +import { Plugin as EsbuildPlugin } from 'esbuild'; +import * as fs from 'fs'; + +/** + * 在vite中dev模式下会使用esbuild对node_modules进行预编译,导致找不到映射表中的filepath, + * 需要在预编译之前进行替换 + * @param options 替换语言包 + * @returns + */ +export function esbuildPluginMonacoEditorNls(): EsbuildPlugin { + return { + name: 'esbuild-plugin-monaco-editor-nls', + setup(build) { + build.onLoad({ filter: /esm[\\\/]vs[\\\/]nls\.js/ }, async () => { + return { + contents: getLocalizeCode(), + loader: 'js' + }; + }); + + build.onLoad({ filter: /monaco-editor[\\\/]esm[\\\/]vs.+\.js/ }, async (args) => { + return { + contents: transformLocalizeFuncCode(args.path), + loader: 'js' + }; + }); + } + }; +} + +/** + * 替换调用方法接口参数,替换成相应语言包语言 + * @param filepath 路径 + * @param CURRENT_LOCALE_DATA 替换规则 + * @returns + */ +function transformLocalizeFuncCode(filepath: string) { + let code = fs.readFileSync(filepath, 'utf8'); + const re = /(?:monaco-editor[\\\/]esm[\\\/])(.+)(?=\.js)/; + if (re.exec(filepath)) { + let path = RegExp.$1; + path = path.replaceAll('\\', '/'); + code = code.replace(/localize\(/g, `localize('${path}', `); + } + return code; +} + +function getLocalizeCode() { + return ` +// replace monaco-editor/esm/vs/nls.js _format +function _format(message, args) { + let result; + if (args.length === 0) { + result = message; + } else { + result = String(message).replace(/\{(\d+)\}/g, function (match, rest) { + const index = rest[0]; + return typeof args[index] !== "undefined" ? args[index] : match; + }); + } + return result; +} + +// replace monaco-editor/esm/vs/nls.js localize +function localize(path, data, defaultMessage) { + const key = typeof data === "object" ? data.key : data; + const lang = document?.documentElement.getAttribute("lang") || "en"; + const _data = window.__locale__?.[lang] || {}; + let message = (_data[path] || {})[key]; + if (!message) { + message = defaultMessage; + } + const args = []; + for (let _i = 3; _i < arguments.length; _i++) { + args[_i - 3] = arguments[_i]; + } + return _format(message, args); +} +module.exports["localize"] = localize; + +function loadMessageBundle(_file) { + return localize; +} +module.exports["loadMessageBundle"] = loadMessageBundle; + +function config(_opt) { + return loadMessageBundle; +} +module.exports["config"] = config; + +function getConfiguredDefaultLocale() { + return undefined; +} +module.exports["getConfiguredDefaultLocale"] = getConfiguredDefaultLocale;`; +} diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index c1dde192..9dd1ce68 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -9,14 +9,32 @@ importers: .: dependencies: '@dtinsight/molecule': - specifier: ^1.3.4 - version: 1.3.6(@types/node@20.14.14)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 2.0.0-alpha.10 + version: 2.0.0-alpha.10(@types/node@20.14.14)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vscode-oniguruma@2.0.1)(vscode-textmate@9.2.0) '@jcubic/lips': specifier: ^0.20.3 version: 0.20.3 + '@vscode/codicons': + specifier: ^0.0.41 + version: 0.0.41 + classnames: + specifier: ^2.5.1 + version: 2.5.1 + esbuild: + specifier: ^0.24.2 + version: 0.24.2 + idb-keyval: + specifier: ^6.2.1 + version: 6.2.1 + immer: + specifier: ^10.1.3 + version: 10.1.3 monaco-editor: - specifier: 0.31.0 - version: 0.31.0 + specifier: 0.52.2 + version: 0.52.2 + rc-tabs: + specifier: ^15.5.1 + version: 15.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -26,6 +44,15 @@ importers: reflect-metadata: specifier: ^0.1.13 version: 0.1.14 + tsyringe: + specifier: ^4.8.0 + version: 4.8.0 + vscode-oniguruma: + specifier: ^2.0.1 + version: 2.0.1 + vscode-textmate: + specifier: ^9.2.0 + version: 9.2.0 devDependencies: '@types/node': specifier: ^20.2.5 @@ -44,7 +71,10 @@ importers: version: 5.62.0(eslint@8.57.0)(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.0.0 - version: 4.3.1(vite@4.5.3(@types/node@20.14.14)) + version: 4.3.1(vite@4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2)) + autoprefixer: + specifier: ^10.4.21 + version: 10.4.21(postcss@8.5.6) eslint: specifier: ^8.38.0 version: 8.57.0 @@ -54,15 +84,31 @@ importers: eslint-plugin-react-refresh: specifier: ^0.3.4 version: 0.3.5(eslint@8.57.0) + postcss: + specifier: ^8.5.6 + version: 8.5.6 + sass: + specifier: ^1.93.2 + version: 1.93.2 + tailwindcss: + specifier: '3' + version: 3.4.17 typescript: specifier: ^5.0.2 version: 5.5.4 vite: specifier: ^4.3.9 - version: 4.5.3(@types/node@20.14.14) + version: 4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2) + vite-plugin-mock-dev-server: + specifier: ^2.0.1 + version: 2.0.1(esbuild@0.24.2)(vite@4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2)) packages: + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -161,11 +207,25 @@ packages: '@dtinsight/dt-utils@1.3.1': resolution: {integrity: sha512-bV3xfCUthEtPkBpsCV/798J/Fz9xhxq9QybAaXhOtfGlZRuqPrb4Irdp2ySj7UaFB4VmmDg0wTIyxv0HMyGctQ==} - '@dtinsight/molecule@1.3.6': - resolution: {integrity: sha512-8sory/f9Nt+cR2XUWKo0wlGNP0HFnS2Nqd0ctNVP5e7OMlLbfghYn7w6uO82S2NdG4PGa1PKb1bH34ergfN48g==} + '@dtinsight/molecule@2.0.0-alpha.10': + resolution: {integrity: sha512-MDqpaHNGfesiNa1uvchzswkVIpa9ahKChh5xyC4h25yschXbMkO7s/ZfzxAiaG7QbuD0rgafvAj9OFX/e/66jw==} + engines: {node: '>=18'} peerDependencies: - react: '>=18.0.0' - react-dom: '>=18.0.0' + react: '>=16.13.1' + react-dom: '>=16.13.1' + vscode-oniguruma: ^2.0.1 + vscode-textmate: 9.2.0 + peerDependenciesMeta: + vscode-oniguruma: + optional: true + vscode-textmate: + optional: true + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} @@ -173,132 +233,276 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.18.20': resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.18.20': resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -317,6 +521,9 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@hapi/bourne@3.0.0': + resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} + '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -334,6 +541,10 @@ packages: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@jcubic/lips@0.20.3': resolution: {integrity: sha512-4DQ8t79F1aBjaDHb2UVwSFJe+OWReruGhmXr1X+qWc2htf5Xd3hEM8MO5Ynm/faw9HyqrCJAs92IBrWTyhBJTw==} hasBin: true @@ -356,6 +567,10 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -368,6 +583,118 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@paralleldrive/cuid2@2.2.2': + resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@pengzhanbo/utils@2.1.0': + resolution: {integrity: sha512-mdcNoYZ6S9EhRqAIpjnD2dcFxaP7E9JdMrP2z5uXuEesddNcmQ4GvEs/wcyxKmFXqeFdL88fJu7l8a6hNN4zPQ==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@rc-component/portal@1.1.2': + resolution: {integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + + '@rc-component/trigger@2.2.6': + resolution: {integrity: sha512-/9zuTnWwhQ3S3WT1T8BubuFTT46kvnXgaERR9f4BTKyn61/wpf/BvbImzYBubzJibU707FxwbKszLlHjcLiv1Q==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + '@react-dnd/asap@5.0.2': resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==} @@ -389,6 +716,9 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/js-cookie@2.2.7': + resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -480,8 +810,14 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vscode/codicons@0.0.26': - resolution: {integrity: sha512-GrYFJPbZ+hRM3NUVdAIpDepWkYCizVb13a6pJDAhckElDvaf4UCmNpuBS4MSydXNK63Ccts0XpvJ6JOW+/aU1g==} + '@vscode/codicons@0.0.33': + resolution: {integrity: sha512-VdgpnD75swH9hpXjd34VBgQ2w2quK63WljodlUcOoJDPKiV+rPjHrcUc2sjLCNKxhl6oKqmsZgwOWcDAY2GKKQ==} + + '@vscode/codicons@0.0.41': + resolution: {integrity: sha512-v6/8nx76zau3Joxjzi3eN/FVw+7jKBq4j7LTZY5FhFhq2g0OoFebZ3vRZbv/pUopGpbCnJJ4FOz+NzbjVsmoiw==} + + '@xobotyi/scrollbar-width@1.9.5': + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -497,6 +833,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} @@ -507,6 +848,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -515,6 +860,24 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} + engines: {node: '>=14'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -529,15 +892,36 @@ packages: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + baseline-browser-mapping@2.8.6: + resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} + hasBin: true + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -547,13 +931,34 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} @@ -565,6 +970,9 @@ packages: caniuse-lite@1.0.30001650: resolution: {integrity: sha512-fgEc7hP/LB7iicdXHUI9VsBsMZmUmlVJeQP2qqQW+3lkqVhbmjEU8zp+h5stWeilX+G7uXuIUIIlWlDw9jdt8g==} + caniuse-lite@1.0.30001743: + resolution: {integrity: sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -573,18 +981,23 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} - engines: {node: '>=6'} - - cnbuilder@3.1.0: - resolution: {integrity: sha512-9sxWwwprkPNTVQnx92WYPEWCmyZRqbf9VWUYABU4rl0mLL17VAV2MvvOApkMA6bQVXRLJ8jN//8Yp6drElpLWA==} + co-body@6.2.0: + resolution: {integrity: sha512-Kbpv2Yd1NdL1V/V4cwLVxraHDV6K8ayohr2rmH0J87Er8+zJjcTa6dAn9QMPC9CRgU8+aNajKbSf1TzDB1yKPA==} + engines: {node: '>=8.0.0'} color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -599,6 +1012,10 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + compare-func@2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} @@ -609,6 +1026,12 @@ packages: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + conventional-changelog-angular@5.0.13: resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} engines: {node: '>=10'} @@ -682,13 +1105,40 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} + engines: {node: '>= 0.8'} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -711,6 +1161,15 @@ packages: supports-color: optional: true + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} @@ -722,18 +1181,40 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-libc@2.1.0: + resolution: {integrity: sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==} + engines: {node: '>=8'} + detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} + dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dnd-core@16.0.1: resolution: {integrity: sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==} @@ -741,9 +1222,6 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dom-align@1.12.4: - resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} - dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -752,24 +1230,61 @@ packages: resolution: {integrity: sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==} engines: {node: '>=6'} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.223: + resolution: {integrity: sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==} + electron-to-chromium@1.5.5: resolution: {integrity: sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -830,6 +1345,9 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -843,9 +1361,24 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-shallow-equal@1.0.0: + resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} + + fastest-stable-stringify@2.0.2: + resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -881,6 +1414,17 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + formidable@3.5.4: + resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==} + engines: {node: '>=14.0.0'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -900,11 +1444,19 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + get-pkg-repo@4.2.1: resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} engines: {node: '>=6.9.0'} hasBin: true + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -930,6 +1482,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -946,6 +1502,10 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -969,6 +1529,10 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -983,12 +1547,33 @@ packages: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-status@2.1.0: + resolution: {integrity: sha512-O5kPr7AW7wYd/BBiOezTwnVAnmSNFY+J7hlZD2X5IOxVBetjcHAiTXhzj0gMrnojQlwy+UT1/Y3H3vJ3UlmvLA==} + engines: {node: '>= 0.4.0'} + + hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + idb-keyval@6.2.1: + resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} + ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - immutability-helper@3.1.1: - resolution: {integrity: sha512-Q0QaXjPjwIju/28TsugCHNEASwoCcJSyJV3uO1sOIQGI0jKgm9f41Lvz0DZj3n46cNCyAZTsEYoY4C2bVRUzyQ==} + immer@10.1.3: + resolution: {integrity: sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==} + + immutable@5.1.4: + resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -1002,6 +1587,10 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + inflation@2.1.0: + resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} + engines: {node: '>= 0.8.0'} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -1012,13 +1601,24 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + inline-style-prefixer@7.0.1: + resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-core-module@2.15.0: resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} engines: {node: '>= 0.4'} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1057,6 +1657,16 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -1096,6 +1706,10 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} + keygrip@1.1.0: + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -1107,6 +1721,78 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -1114,6 +1800,10 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -1130,6 +1820,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} @@ -1143,6 +1836,9 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -1158,6 +1854,17 @@ packages: resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} engines: {node: '>=8'} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + meow@8.1.2: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} @@ -1170,6 +1877,26 @@ packages: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime-types@3.0.1: + resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} + engines: {node: '>= 0.6'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -1177,6 +1904,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -1184,18 +1915,40 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} - monaco-editor@0.31.0: - resolution: {integrity: sha512-H3QmysEwxxY8oxmFhIFcY9JkuwilUDa6txdAxb797cVr7XFZX27a3SDwcGJmTlV9iGPwdh132r3KKCS5aNL4Gg==} + monaco-editor-nls@3.1.0: + resolution: {integrity: sha512-GdzgKRAiwXlGI/ude/HbzP8ukml28yUoZ7rx/xsSsmYf9W13jTyWjXjoMK/+pjL6JorAThH2WkCYaDoCnIX7Jg==} + + monaco-editor@0.52.2: + resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nano-css@5.6.2: + resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} + peerDependencies: + react: '*' + react-dom: '*' + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -1208,9 +1961,15 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -1218,10 +1977,29 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize.css@8.0.1: + resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -1265,6 +2043,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1296,6 +2077,13 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@8.3.0: + resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -1304,13 +2092,23 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -1319,8 +2117,55 @@ packages: resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} engines: {node: '>=4'} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.1.0: + resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -1330,9 +2175,6 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1345,6 +2187,13 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1352,14 +2201,18 @@ packages: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} - rc-align@4.0.15: - resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==} + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc-dropdown@4.2.1: + resolution: {integrity: sha512-YDAlXsPv3I1n42dv1JpdM7wJ+gSUBfeyPK59ZpBD9jQhK9jVuxpjj3NmWQHOBceA1zEPVX84T2wbdb2SD0UjmA==} peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + react: '>=16.11.0' + react-dom: '>=16.11.0' - rc-dialog@8.9.0: - resolution: {integrity: sha512-Cp0tbJnrvPchJfnwIvOMWmJ4yjX3HWFatO6oBFD1jx8QkgsQCR0p8nUWAKdd3seLJhEC39/v56kZaEjwp9muoQ==} + rc-menu@9.16.0: + resolution: {integrity: sha512-vAL0yqPkmXWk3+YKRkmIR8TYj3RVdEt3ptG2jCJXWNAvQbT0VJJdRyHZ7kG/l1JsZlB+VJq/VcYOo69VR4oD+w==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -1370,33 +2223,33 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-resize-observer@1.4.0: - resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==} + rc-overflow@1.4.1: + resolution: {integrity: sha512-3MoPQQPV1uKyOMVNd6SZfONi+f3st0r8PksexIdBTeIYbMX0Jr+k7pHEDvsXtR4BpCv90/Pv2MovVNhktKrwvw==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-textarea@0.3.7: - resolution: {integrity: sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw==} + rc-resize-observer@1.4.0: + resolution: {integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-tooltip@5.3.1: - resolution: {integrity: sha512-e6H0dMD38EPaSPD2XC8dRfct27VvT2TkPdoBSuNl3RRZ5tspiY/c5xYEmGC0IrABvMBgque4Mr2SMZuliCvoiQ==} + rc-tabs@15.5.1: + resolution: {integrity: sha512-yiWivLAjEo5d1v2xlseB2dQocsOhkoVSfo1krS8v8r+02K+TBUjSjXIf7dgyVSxp6wRIPv5pMi5hanNUlQMgUA==} + engines: {node: '>=8.x'} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-trigger@5.3.4: - resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==} - engines: {node: '>=8.x'} + rc-util@5.43.0: + resolution: {integrity: sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' - rc-util@5.43.0: - resolution: {integrity: sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==} + rc-util@5.44.3: + resolution: {integrity: sha512-q6KCcOFk3rv/zD3MckhJteZxb0VjAIFuf622B7ElK4vfrZdAzs16XR5p3VTdy3+U5jfJU5ACz4QnhLSuAGe5dA==} peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' @@ -1424,12 +2277,6 @@ packages: peerDependencies: react: ^18.3.1 - react-draggable@4.4.6: - resolution: {integrity: sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==} - peerDependencies: - react: '>= 16.3.0' - react-dom: '>= 16.3.0' - react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -1440,15 +2287,31 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react-scrollbars-custom@4.1.1: - resolution: {integrity: sha512-FOI1EMrdN5qziwvFAuH4saOo0+ggxeTuKLPpy6nezNdLUnDW1vCHGq0VSSfTSRstDgfXgwff5TMP9NeJ8NiFOQ==} + react-textarea-autosize@8.5.7: + resolution: {integrity: sha512-2MqJ3p0Jh69yt9ktFIaZmORHXw4c4bxSIhCeWiFwmJ9EYKgLmuNII3e9c9b2UO+ijl4StnpZdqpxNIhTdHvqtQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + react-universal-interface@0.6.2: + resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} + peerDependencies: + react: '*' + tslib: '*' + + react-use@17.6.0: + resolution: {integrity: sha512-OmedEScUMKFfzn1Ir8dBxiLLSOzhKe/dPZwVxcujweSj45aNM7BEGPb9BEVIgVEqEXx6f3/TsXzwIktNgUR02g==} peerDependencies: - react: '>=16.0.0' + react: '*' + react-dom: '*' react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -1472,6 +2335,14 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -1514,6 +2385,9 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true + rtl-css-js@1.16.1: + resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -1523,9 +2397,21 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass@1.93.2: + resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==} + engines: {node: '>=14.0.0'} + hasBin: true + scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -1539,8 +2425,12 @@ packages: engines: {node: '>=10'} hasBin: true - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + set-harmonic-interval@1.0.1: + resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} + engines: {node: '>=6.9'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -1550,12 +2440,42 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + sonner@1.7.1: + resolution: {integrity: sha512-b6LHBfH32SoVasRFECrdY8p8s7hXPDn3OHUFbZZbiB1ctLS9Gdh6rpX2dVrpQA0kiL5jcRzDDldwwLkSKk3+QQ==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} engines: {node: '>=0.10.0'} source-map@0.6.1: @@ -1580,15 +2500,35 @@ packages: split@1.0.1: resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + stack-generator@2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + stacktrace-gps@3.1.2: + resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} + + stacktrace-js@2.0.2: + resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} + standard-version@9.5.0: resolution: {integrity: sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==} engines: {node: '>=10'} hasBin: true + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -1603,6 +2543,10 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -1615,6 +2559,14 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + stylis@4.3.5: + resolution: {integrity: sha512-K7npNOKGRYuhAFFzkzMGfxFDpN6gDwf8hcMiE+uveTVbBgm93HrNP3ZDUpKqzZ4pG7TP6fmb+EMAQPjq9FqqvA==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -1627,6 +2579,15 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + text-extensions@1.9.0: resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} engines: {node: '>=0.10'} @@ -1634,6 +2595,17 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -1643,6 +2615,10 @@ packages: through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -1651,21 +2627,41 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} + ts-easing@0.2.0: + resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsscmp@1.0.6: + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tsyringe@4.5.0: - resolution: {integrity: sha512-XvYgdUxkmGQfpCkKyr/ybJx71OLSnNec1SO0xdohMjaS2UOEyKi76YfKx92XUXgc1TocypHENg6y4wCyYyMKag==} + tsyringe@4.8.0: + resolution: {integrity: sha512-YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA==} engines: {node: '>= 6.0.0'} type-check@0.4.0: @@ -1688,6 +2684,10 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -1696,6 +2696,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + uglify-js@3.19.1: resolution: {integrity: sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A==} engines: {node: '>=0.8.0'} @@ -1704,21 +2707,80 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + update-browserslist-db@1.1.0: resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + use-composed-ref@1.4.0: + resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-isomorphic-layout-effect@1.2.0: + resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-latest@1.3.0: + resolution: {integrity: sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sync-external-store@1.4.0: + resolution: {integrity: sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite-plugin-mock-dev-server@2.0.1: + resolution: {integrity: sha512-kwEvenFYCpT/ZXBAmGkhP+14MsUF9NsBRjApWwPGTT1K7r9HepdaxpJ51FbgaGBRhZDvGwokKOlfsUonDCn7rQ==} + engines: {node: ^18 || ^20 || >=22} + peerDependencies: + esbuild: '>=0.21.0' + rolldown: '>=1.0.0-beta.34' + vite: '>=4.0.0' + peerDependenciesMeta: + esbuild: + optional: true + rolldown: + optional: true + vite@4.5.3: resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1747,6 +2809,12 @@ packages: terser: optional: true + vscode-oniguruma@2.0.1: + resolution: {integrity: sha512-poJU8iHIWnC3vgphJnrLZyI3YdqRlR27xzqDmpPXYzA93R4Gk8z7T6oqDzDoHjoikA2aS82crdXFkjELCdJsjQ==} + + vscode-textmate@9.2.0: + resolution: {integrity: sha512-rkvG4SraZQaPSN/5XjwKswdU0OP9MF28QjrYzUBbhb8QyG3ljB1Ky996m++jiI7KdiAP2CkBiQZd9pqEDTClqA==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1763,9 +2831,25 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -1780,6 +2864,11 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -1792,11 +2881,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zoom-level@2.5.0: - resolution: {integrity: sha512-7UlRWU4Q3uCMCeDVMOm7eBrIu145OqsIJ3p6zq58l8UsSYwKWxc6zEapC5YA9tIeh0oheb4cT9Kk2Wq353loFg==} - snapshots: + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -1936,93 +3024,175 @@ snapshots: lodash: 4.17.21 standard-version: 9.5.0 - '@dtinsight/molecule@1.3.6(@types/node@20.14.14)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@dtinsight/molecule@2.0.0-alpha.10(@types/node@20.14.14)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vscode-oniguruma@2.0.1)(vscode-textmate@9.2.0)': dependencies: '@dtinsight/dt-utils': 1.3.1 - '@vscode/codicons': 0.0.26 - immutability-helper: 3.1.1 - lodash: 4.17.21 - monaco-editor: 0.31.0 - rc-dialog: 8.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-textarea: 0.3.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-tooltip: 5.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@vscode/codicons': 0.0.33 + immer: 10.1.3 + lodash-es: 4.17.21 + monaco-editor: 0.52.2 + monaco-editor-nls: 3.1.0 + normalize.css: 8.0.1 + rc-dropdown: 4.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-menu: 9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dnd: 16.0.1(@types/node@20.14.14)(@types/react@18.3.3)(react@18.3.1) react-dnd-html5-backend: 16.0.1 react-dom: 18.3.1(react@18.3.1) - react-scrollbars-custom: 4.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-textarea-autosize: 8.5.7(@types/react@18.3.3)(react@18.3.1) + react-use: 17.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) reflect-metadata: 0.1.14 - tsyringe: 4.5.0 + sonner: 1.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tapable: 2.2.1 + tsyringe: 4.8.0 + use-sync-external-store: 1.4.0(react@18.3.1) + optionalDependencies: + vscode-oniguruma: 2.0.1 + vscode-textmate: 9.2.0 transitivePeerDependencies: - '@types/hoist-non-react-statics' - '@types/node' - '@types/react' + '@esbuild/aix-ppc64@0.24.2': + optional: true + '@esbuild/android-arm64@0.18.20': optional: true + '@esbuild/android-arm64@0.24.2': + optional: true + '@esbuild/android-arm@0.18.20': optional: true + '@esbuild/android-arm@0.24.2': + optional: true + '@esbuild/android-x64@0.18.20': optional: true + '@esbuild/android-x64@0.24.2': + optional: true + '@esbuild/darwin-arm64@0.18.20': optional: true + '@esbuild/darwin-arm64@0.24.2': + optional: true + '@esbuild/darwin-x64@0.18.20': optional: true + '@esbuild/darwin-x64@0.24.2': + optional: true + '@esbuild/freebsd-arm64@0.18.20': optional: true + '@esbuild/freebsd-arm64@0.24.2': + optional: true + '@esbuild/freebsd-x64@0.18.20': optional: true + '@esbuild/freebsd-x64@0.24.2': + optional: true + '@esbuild/linux-arm64@0.18.20': optional: true + '@esbuild/linux-arm64@0.24.2': + optional: true + '@esbuild/linux-arm@0.18.20': optional: true + '@esbuild/linux-arm@0.24.2': + optional: true + '@esbuild/linux-ia32@0.18.20': optional: true + '@esbuild/linux-ia32@0.24.2': + optional: true + '@esbuild/linux-loong64@0.18.20': optional: true + '@esbuild/linux-loong64@0.24.2': + optional: true + '@esbuild/linux-mips64el@0.18.20': optional: true + '@esbuild/linux-mips64el@0.24.2': + optional: true + '@esbuild/linux-ppc64@0.18.20': optional: true + '@esbuild/linux-ppc64@0.24.2': + optional: true + '@esbuild/linux-riscv64@0.18.20': optional: true + '@esbuild/linux-riscv64@0.24.2': + optional: true + '@esbuild/linux-s390x@0.18.20': optional: true - '@esbuild/linux-x64@0.18.20': + '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/netbsd-x64@0.18.20': + '@esbuild/linux-x64@0.18.20': optional: true - '@esbuild/openbsd-x64@0.18.20': + '@esbuild/linux-x64@0.24.2': optional: true - '@esbuild/sunos-x64@0.18.20': + '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/win32-arm64@0.18.20': + '@esbuild/netbsd-x64@0.18.20': optional: true - '@esbuild/win32-ia32@0.18.20': + '@esbuild/netbsd-x64@0.24.2': optional: true - '@esbuild/win32-x64@0.18.20': + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.24.2': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': @@ -2048,6 +3218,8 @@ snapshots: '@eslint/js@8.57.0': {} + '@hapi/bourne@3.0.0': {} + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -2062,6 +3234,15 @@ snapshots: '@hutson/parse-repository-url@3.0.2': {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jcubic/lips@0.20.3': dependencies: bn.js: 4.12.0 @@ -2083,6 +3264,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@noble/hashes@1.8.0': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2095,6 +3278,95 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@paralleldrive/cuid2@2.2.2': + dependencies: + '@noble/hashes': 1.8.0 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@pengzhanbo/utils@2.1.0': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@rc-component/portal@1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.0 + classnames: 2.5.1 + rc-util: 5.44.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@rc-component/trigger@2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.0 + '@rc-component/portal': 1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + classnames: 2.5.1 + rc-motion: 2.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@react-dnd/asap@5.0.2': {} '@react-dnd/invariant@4.0.2': {} @@ -2122,6 +3394,8 @@ snapshots: dependencies: '@babel/types': 7.25.2 + '@types/js-cookie@2.2.7': {} + '@types/json-schema@7.0.15': {} '@types/minimist@1.2.5': {} @@ -2231,18 +3505,22 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.1(vite@4.5.3(@types/node@20.14.14))': + '@vitejs/plugin-react@4.3.1(vite@4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 4.5.3(@types/node@20.14.14) + vite: 4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2) transitivePeerDependencies: - supports-color - '@vscode/codicons@0.0.26': {} + '@vscode/codicons@0.0.33': {} + + '@vscode/codicons@0.0.41': {} + + '@xobotyi/scrollbar-width@1.9.5': {} JSONStream@1.3.5: dependencies: @@ -2255,6 +3533,8 @@ snapshots: acorn@8.12.1: {} + acorn@8.15.0: {} + add-stream@1.0.0: {} ajv@6.12.6: @@ -2266,6 +3546,8 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -2274,6 +3556,19 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@6.2.3: {} + + ansis@4.1.0: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + argparse@2.0.1: {} array-ify@1.0.0: {} @@ -2282,8 +3577,24 @@ snapshots: arrify@1.0.1: {} + asap@2.0.6: {} + + autoprefixer@10.4.21(postcss@8.5.6): + dependencies: + browserslist: 4.26.2 + caniuse-lite: 1.0.30001743 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + balanced-match@1.0.2: {} + baseline-browser-mapping@2.8.6: {} + + binary-extensions@2.3.0: {} + bn.js@4.12.0: {} brace-expansion@1.1.11: @@ -2291,6 +3602,10 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -2302,10 +3617,32 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) + browserslist@4.26.2: + dependencies: + baseline-browser-mapping: 2.8.6 + caniuse-lite: 1.0.30001743 + electron-to-chromium: 1.5.223 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.2) + buffer-from@1.1.2: {} + bytes@3.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + callsites@3.1.0: {} + camelcase-css@2.0.1: {} + camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 @@ -2316,6 +3653,8 @@ snapshots: caniuse-lite@1.0.30001650: {} + caniuse-lite@1.0.30001743: {} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -2327,6 +3666,22 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + classnames@2.5.1: {} cliui@7.0.4: @@ -2335,9 +3690,13 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clsx@1.2.1: {} - - cnbuilder@3.1.0: {} + co-body@6.2.0: + dependencies: + '@hapi/bourne': 3.0.0 + inflation: 2.1.0 + qs: 6.14.0 + raw-body: 2.5.2 + type-is: 1.6.18 color-convert@1.9.3: dependencies: @@ -2351,6 +3710,8 @@ snapshots: color-name@1.1.4: {} + commander@4.1.1: {} + compare-func@2.0.0: dependencies: array-ify: 1.0.0 @@ -2365,6 +3726,10 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 + confbox@0.1.8: {} + + confbox@0.2.2: {} + conventional-changelog-angular@5.0.13: dependencies: compare-func: 2.0.0 @@ -2479,14 +3844,45 @@ snapshots: convert-source-map@2.0.0: {} + cookies@0.9.1: + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + core-util-is@1.0.3: {} + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-in-js-utils@3.1.0: + dependencies: + hyphenate-style-name: 1.1.0 + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + cssesc@3.0.0: {} + csstype@3.1.3: {} dargs@7.0.0: {} @@ -2499,6 +3895,10 @@ snapshots: dependencies: ms: 2.1.2 + debug@4.4.3: + dependencies: + ms: 2.1.3 + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 @@ -2508,14 +3908,31 @@ snapshots: deep-is@0.1.4: {} + depd@2.0.0: {} + detect-indent@6.1.0: {} + detect-libc@1.0.3: + optional: true + + detect-libc@2.1.0: + optional: true + detect-newline@3.1.0: {} + dezalgo@1.0.4: + dependencies: + asap: 2.0.6 + wrappy: 1.0.2 + + didyoumean@1.2.2: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 + dlv@1.1.3: {} + dnd-core@16.0.1: dependencies: '@react-dnd/asap': 5.0.2 @@ -2526,8 +3943,6 @@ snapshots: dependencies: esutils: 2.0.3 - dom-align@1.12.4: {} - dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -2537,14 +3952,38 @@ snapshots: find-up: 3.0.0 minimatch: 3.1.2 + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.223: {} + electron-to-chromium@1.5.5: {} emoji-regex@8.0.0: {} + emoji-regex@9.2.2: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 @@ -2570,8 +4009,38 @@ snapshots: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + escalade@3.1.2: {} + escalade@3.2.0: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -2659,6 +4128,8 @@ snapshots: esutils@2.0.3: {} + exsolve@1.0.7: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -2673,10 +4144,18 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-shallow-equal@1.0.0: {} + + fastest-stable-stringify@2.0.2: {} + fastq@1.17.1: dependencies: reusify: 1.0.4 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -2715,6 +4194,19 @@ snapshots: flatted@3.3.1: {} + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + formidable@3.5.4: + dependencies: + '@paralleldrive/cuid2': 2.2.2 + dezalgo: 1.0.4 + once: 1.4.0 + + fraction.js@4.3.7: {} + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -2726,6 +4218,19 @@ snapshots: get-caller-file@2.0.5: {} + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + get-pkg-repo@4.2.1: dependencies: '@hutson/parse-repository-url': 3.0.2 @@ -2733,6 +4238,11 @@ snapshots: through2: 2.0.5 yargs: 16.2.0 + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + git-raw-commits@2.0.11: dependencies: dargs: 7.0.0 @@ -2763,6 +4273,15 @@ snapshots: dependencies: is-glob: 4.0.3 + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -2787,6 +4306,8 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 + gopd@1.2.0: {} + graceful-fs@4.2.11: {} graphemer@1.4.0: {} @@ -2806,6 +4327,8 @@ snapshots: has-flag@4.0.0: {} + has-symbols@1.1.0: {} + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -2820,9 +4343,29 @@ snapshots: dependencies: lru-cache: 6.0.0 + http-errors@2.0.0: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + http-status@2.1.0: {} + + hyphenate-style-name@1.1.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + idb-keyval@6.2.1: {} + ignore@5.3.1: {} - immutability-helper@3.1.1: {} + immer@10.1.3: {} + + immutable@5.1.4: {} import-fresh@3.3.0: dependencies: @@ -2833,6 +4376,8 @@ snapshots: indent-string@4.0.0: {} + inflation@2.1.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -2842,12 +4387,24 @@ snapshots: ini@1.3.8: {} + inline-style-prefixer@7.0.1: + dependencies: + css-in-js-utils: 3.1.0 + is-arrayish@0.2.1: {} + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-core-module@2.15.0: dependencies: hasown: 2.0.2 + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -2872,6 +4429,16 @@ snapshots: isexe@2.0.0: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.7: {} + + js-cookie@2.2.1: {} + js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -2896,6 +4463,10 @@ snapshots: jsonparse@1.3.1: {} + keygrip@1.1.0: + dependencies: + tsscmp: 1.0.6 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -2907,6 +4478,54 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.1.0 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + optional: true + + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} load-json-file@4.0.0: @@ -2916,6 +4535,12 @@ snapshots: pify: 3.0.0 strip-bom: 3.0.0 + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + locate-path@2.0.0: dependencies: p-locate: 2.0.0 @@ -2934,6 +4559,8 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash-es@4.17.21: {} + lodash.ismatch@4.4.0: {} lodash.merge@4.6.2: {} @@ -2944,6 +4571,8 @@ snapshots: dependencies: js-tokens: 4.0.0 + lru-cache@10.4.3: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -2956,6 +4585,12 @@ snapshots: map-obj@4.3.0: {} + math-intrinsics@1.1.0: {} + + mdn-data@2.0.14: {} + + media-typer@0.3.0: {} + meow@8.1.2: dependencies: '@types/minimist': 1.2.5 @@ -2977,12 +4612,33 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.1: + dependencies: + mime-db: 1.54.0 + min-indent@1.0.1: {} minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + minimist-options@4.1.0: dependencies: arrify: 1.0.1 @@ -2991,13 +4647,45 @@ snapshots: minimist@1.2.8: {} + minipass@7.1.2: {} + + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + modify-values@1.0.1: {} - monaco-editor@0.31.0: {} + monaco-editor-nls@3.1.0: {} + + monaco-editor@0.52.2: {} ms@2.1.2: {} - nanoid@3.3.7: {} + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nano-css@5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + css-tree: 1.1.3 + csstype: 3.1.3 + fastest-stable-stringify: 2.0.2 + inline-style-prefixer: 7.0.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rtl-css-js: 1.16.1 + stacktrace-js: 2.0.2 + stylis: 4.3.5 + + nanoid@3.3.11: {} natural-compare-lite@1.4.0: {} @@ -3005,8 +4693,13 @@ snapshots: neo-async@2.6.2: {} + node-addon-api@7.1.1: + optional: true + node-releases@2.0.18: {} + node-releases@2.0.21: {} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -3017,12 +4710,22 @@ snapshots: normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.15.0 + is-core-module: 2.16.1 semver: 7.6.3 validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize.css@8.0.1: {} + object-assign@4.1.1: {} + object-hash@3.0.0: {} + + object-inspect@1.13.4: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -3068,6 +4771,8 @@ snapshots: p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -3094,59 +4799,125 @@ snapshots: path-parse@1.0.7: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-to-regexp@8.3.0: {} + path-type@3.0.0: dependencies: pify: 3.0.0 path-type@4.0.0: {} + pathe@2.0.3: {} + picocolors@1.0.1: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} + picomatch@4.0.3: {} + pify@2.3.0: {} pify@3.0.0: {} - postcss@8.4.41: + pirates@4.0.7: {} + + pkg-types@1.3.1: dependencies: - nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 - prelude-ls@1.2.1: {} + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 - process-nextick-args@2.0.1: {} + postcss-import@15.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 - prop-types@15.8.1: + postcss-js@4.1.0(postcss@8.5.6): dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 + camelcase-css: 2.0.1 + postcss: 8.5.6 + + postcss-load-config@4.0.2(postcss@8.5.6): + dependencies: + lilconfig: 3.1.3 + yaml: 2.8.1 + optionalDependencies: + postcss: 8.5.6 + + postcss-nested@6.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + process-nextick-args@2.0.1: {} punycode@2.3.1: {} q@1.5.1: {} + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + quansync@0.2.11: {} + queue-microtask@1.2.3: {} quick-lru@4.0.1: {} - rc-align@4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + raw-body@2.5.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + rc-dropdown@4.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 - dom-align: 1.12.4 - rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - resize-observer-polyfill: 1.5.1 - rc-dialog@8.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + rc-menu@9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 + '@rc-component/trigger': 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 rc-motion: 2.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-overflow: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -3159,44 +4930,44 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - rc-resize-observer@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + rc-overflow@1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 classnames: 2.5.1 + rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - resize-observer-polyfill: 1.5.1 - rc-textarea@0.3.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + rc-resize-observer@1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 classnames: 2.5.1 - rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - shallowequal: 1.1.0 + resize-observer-polyfill: 1.5.1 - rc-tooltip@5.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + rc-tabs@15.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 classnames: 2.5.1 - rc-trigger: 5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-dropdown: 4.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-menu: 9.16.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-motion: 2.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-resize-observer: 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rc-util: 5.44.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - rc-trigger@5.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + rc-util@5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 - classnames: 2.5.1 - rc-align: 4.0.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-motion: 2.9.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - rc-util: 5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-is: 18.3.1 - rc-util@5.43.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + rc-util@5.44.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@babel/runtime': 7.25.0 react: 18.3.1 @@ -3225,32 +4996,53 @@ snapshots: react: 18.3.1 scheduler: 0.23.2 - react-draggable@4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - clsx: 1.2.1 - prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is@16.13.1: {} react-is@18.3.1: {} react-refresh@0.14.2: {} - react-scrollbars-custom@4.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-textarea-autosize@8.5.7(@types/react@18.3.3)(react@18.3.1): dependencies: - cnbuilder: 3.1.0 + '@babel/runtime': 7.25.0 react: 18.3.1 - react-draggable: 4.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - zoom-level: 2.5.0 + use-composed-ref: 1.4.0(@types/react@18.3.3)(react@18.3.1) + use-latest: 1.3.0(@types/react@18.3.3)(react@18.3.1) transitivePeerDependencies: - - react-dom + - '@types/react' + + react-universal-interface@0.6.2(react@18.3.1)(tslib@2.8.1): + dependencies: + react: 18.3.1 + tslib: 2.8.1 + + react-use@17.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@types/js-cookie': 2.2.7 + '@xobotyi/scrollbar-width': 1.9.5 + copy-to-clipboard: 3.3.3 + fast-deep-equal: 3.1.3 + fast-shallow-equal: 1.0.0 + js-cookie: 2.2.1 + nano-css: 5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.8.1) + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + set-harmonic-interval: 1.0.1 + throttle-debounce: 3.0.1 + ts-easing: 0.2.0 + tslib: 2.8.1 react@18.3.1: dependencies: loose-envify: 1.4.0 + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + read-pkg-up@3.0.0: dependencies: find-up: 2.1.0 @@ -3291,6 +5083,12 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + redent@3.0.0: dependencies: indent-string: 4.0.0 @@ -3326,6 +5124,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + rtl-css-js@1.16.1: + dependencies: + '@babel/runtime': 7.25.0 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -3334,17 +5136,31 @@ snapshots: safe-buffer@5.2.1: {} + safer-buffer@2.1.2: {} + + sass@1.93.2: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.4 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 + screenfull@5.2.0: {} + semver@5.7.2: {} semver@6.3.1: {} semver@7.6.3: {} - shallowequal@1.1.0: {} + set-harmonic-interval@1.0.1: {} + + setprototypeof@1.2.0: {} shebang-command@2.0.0: dependencies: @@ -3352,9 +5168,46 @@ snapshots: shebang-regex@3.0.0: {} + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@4.1.0: {} + slash@3.0.0: {} - source-map-js@1.2.0: {} + sonner@1.7.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + source-map-js@1.2.1: {} + + source-map@0.5.6: {} source-map@0.6.1: {} @@ -3380,6 +5233,23 @@ snapshots: dependencies: through: 2.3.8 + stack-generator@2.0.10: + dependencies: + stackframe: 1.3.4 + + stackframe@1.3.4: {} + + stacktrace-gps@3.1.2: + dependencies: + source-map: 0.5.6 + stackframe: 1.3.4 + + stacktrace-js@2.0.2: + dependencies: + error-stack-parser: 2.1.4 + stack-generator: 2.0.10 + stacktrace-gps: 3.1.2 + standard-version@9.5.0: dependencies: chalk: 2.4.2 @@ -3397,12 +5267,20 @@ snapshots: stringify-package: 1.0.1 yargs: 16.2.0 + statuses@2.0.1: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -3417,6 +5295,10 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + strip-bom@3.0.0: {} strip-indent@3.0.0: @@ -3425,6 +5307,18 @@ snapshots: strip-json-comments@3.1.1: {} + stylis@4.3.5: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -3435,10 +5329,49 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-import: 15.1.0(postcss@8.5.6) + postcss-js: 4.1.0(postcss@8.5.6) + postcss-load-config: 4.0.2(postcss@8.5.6) + postcss-nested: 6.2.0(postcss@8.5.6) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + tapable@2.2.1: {} + text-extensions@1.9.0: {} text-table@0.2.0: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + throttle-debounce@3.0.1: {} + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -3450,22 +5383,39 @@ snapshots: through@2.3.8: {} + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + toggle-selection@1.0.6: {} + + toidentifier@1.0.1: {} + trim-newlines@3.0.1: {} + ts-easing@0.2.0: {} + + ts-interface-checker@0.1.13: {} + tslib@1.14.1: {} + tslib@2.8.1: {} + + tsscmp@1.0.6: {} + tsutils@3.21.0(typescript@5.5.4): dependencies: tslib: 1.14.1 typescript: 5.5.4 - tsyringe@4.5.0: + tsyringe@4.8.0: dependencies: tslib: 1.14.1 @@ -3481,25 +5431,63 @@ snapshots: type-fest@0.8.1: {} + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + typedarray@0.0.6: {} typescript@5.5.4: {} + ufo@1.6.1: {} + uglify-js@3.19.1: optional: true undici-types@5.26.5: {} + unpipe@1.0.0: {} + update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: browserslist: 4.23.3 escalade: 3.1.2 picocolors: 1.0.1 + update-browserslist-db@1.1.3(browserslist@4.26.2): + dependencies: + browserslist: 4.26.2 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 + use-composed-ref@1.4.0(@types/react@18.3.3)(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.3 + + use-isomorphic-layout-effect@1.2.0(@types/react@18.3.3)(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.3 + + use-latest@1.3.0(@types/react@18.3.3)(react@18.3.1): + dependencies: + react: 18.3.1 + use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.3)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + + use-sync-external-store@1.4.0(react@18.3.1): + dependencies: + react: 18.3.1 + util-deprecate@1.0.2: {} validate-npm-package-license@3.0.4: @@ -3507,14 +5495,49 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite@4.5.3(@types/node@20.14.14): + vary@1.1.2: {} + + vite-plugin-mock-dev-server@2.0.1(esbuild@0.24.2)(vite@4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2)): + dependencies: + '@pengzhanbo/utils': 2.1.0 + ansis: 4.1.0 + chokidar: 4.0.3 + co-body: 6.2.0 + cookies: 0.9.1 + cors: 2.8.5 + debug: 4.4.3 + formidable: 3.5.4 + http-status: 2.1.0 + is-core-module: 2.16.1 + json5: 2.2.3 + local-pkg: 1.1.2 + mime-types: 3.0.1 + path-to-regexp: 8.3.0 + picomatch: 4.0.3 + tinyglobby: 0.2.15 + vite: 4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2) + ws: 8.18.3 + optionalDependencies: + esbuild: 0.24.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + vite@4.5.3(@types/node@20.14.14)(lightningcss@1.30.1)(sass@1.93.2): dependencies: esbuild: 0.18.20 - postcss: 8.4.41 + postcss: 8.5.6 rollup: 3.29.4 optionalDependencies: '@types/node': 20.14.14 fsevents: 2.3.3 + lightningcss: 1.30.1 + sass: 1.93.2 + + vscode-oniguruma@2.0.1: {} + + vscode-textmate@9.2.0: {} which@2.0.2: dependencies: @@ -3530,8 +5553,16 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} + ws@8.18.3: {} + xtend@4.0.2: {} y18n@5.0.8: {} @@ -3540,12 +5571,14 @@ snapshots: yallist@4.0.0: {} + yaml@2.8.1: {} + yargs-parser@20.2.9: {} yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -3553,5 +5586,3 @@ snapshots: yargs-parser: 20.2.9 yocto-queue@0.1.0: {} - - zoom-level@2.5.0: {} diff --git a/website/postcss.config.js b/website/postcss.config.js new file mode 100644 index 00000000..0f772168 --- /dev/null +++ b/website/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +}; diff --git a/website/public/wasm/onig.wasm b/website/public/wasm/onig.wasm new file mode 100644 index 0000000000000000000000000000000000000000..162f14a61a62d78b07c3dd98c3eddd8e24323445 GIT binary patch literal 473151 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%0AZBNCq+>{)3wNVvJK?TOS;LP^^szVYm813 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≷b}RuTNLk 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 z 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

PW;PG~iV~(eOVs>0W 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 T?79^lh+n*~T1!K7aE5^n literal 0 HcmV?d00001 diff --git a/website/src/App.css b/website/src/App.css index e69de29b..3ea97bb9 100644 --- a/website/src/App.css +++ b/website/src/App.css @@ -0,0 +1,22 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +.activityBar-imgIcon { + display: flex; + align-items: center; + gap: 10px; + color: #666666; +} + +.activityBar-imgIcon:hover { + color: #ebecf0; +} +/* 复写 molecule 的样式 */ +.mo-activityBar__container { + width: 40px !important; +} + +.mo-activityBar__item { + width: 40px !important; +} diff --git a/website/src/App.tsx b/website/src/App.tsx index ab5cfeac..d6dd003a 100644 --- a/website/src/App.tsx +++ b/website/src/App.tsx @@ -1,15 +1,12 @@ import 'reflect-metadata'; -import React, { useEffect, useRef, useState } from 'react'; -import { create, Workbench } from '@dtinsight/molecule'; -import InstanceService from '@dtinsight/molecule/esm/services/instanceService'; -import { ExtendsWorkbench } from './extensions/workbench'; +import { useEffect, useRef } from 'react'; +import { create } from '@dtinsight/molecule'; import { version, dependencies } from '../../package.json'; -import { editor } from 'monaco-editor'; -import './languages'; - -import '@dtinsight/molecule/esm/style/mo.css'; +import extensions from './extensions'; +import './languages'; import './App.css'; +import { editor } from 'monaco-editor'; /** * Allow code completion when typing in snippets. @@ -24,28 +21,26 @@ editor.onDidCreateEditor((editor) => { }); }); -function App(): React.ReactElement { - const refMoInstance = useRef(); - const [MyWorkbench, setMyWorkbench] = useState(); +const instance = create({ + extensions, + defaultLocale: 'zh-CN', + defaultColorTheme: 'Default Dark+', + onigurumPath: '/wasm/onig.wasm' +}); +export default function App() { + const container = useRef(null); useEffect(() => { - if (!refMoInstance.current) { - refMoInstance.current = create({ - extensions: [ExtendsWorkbench] - }); - if (refMoInstance.current) { - const IDE = () => refMoInstance.current?.render(); - setMyWorkbench(IDE); - } - } - }, []); + instance.render(container.current); - return

{MyWorkbench}
; + return () => { + instance.dispose(); + }; + }, []); + return
; } window.console.log( `%c dt-sql-parser: ${dependencies['dt-sql-parser']} \n\n monaco-sql-languages: ${version}`, 'font-family: Cabin, Helvetica, Arial, sans-serif;text-align: left;font-size:26px;color:#B21212;' ); - -export default App; diff --git a/website/src/assets/checkDemo.svg b/website/src/assets/checkDemo.svg new file mode 100644 index 00000000..29a88f33 --- /dev/null +++ b/website/src/assets/checkDemo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/website/src/assets/checkFile.svg b/website/src/assets/checkFile.svg new file mode 100644 index 00000000..7031d395 --- /dev/null +++ b/website/src/assets/checkFile.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/website/src/assets/quickStart.svg b/website/src/assets/quickStart.svg new file mode 100644 index 00000000..cd9d1f1f --- /dev/null +++ b/website/src/assets/quickStart.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/website/src/components/tabs/index.tsx b/website/src/components/tabs/index.tsx new file mode 100644 index 00000000..091d8a32 --- /dev/null +++ b/website/src/components/tabs/index.tsx @@ -0,0 +1,51 @@ +import { components } from '@dtinsight/molecule'; +import classNames from 'classnames'; +import { useState } from 'react'; + +import './style.css'; + +interface ITab { + id: string; + key: string; + name: string; + children: React.ReactNode; +} + +interface IProps { + data: ITab[]; +} +const { Header, PanelItem, Prevent } = components; +const Tabs = ({ data }: IProps) => { + const [currentId, setCurrentId] = useState(data[0]?.id); + const handelChangeTab = (id: string) => { + setCurrentId(id); + }; + const getCurrentContent = () => { + const currentTab = data?.filter((item) => item.id === currentId)?.[0] || null; + return currentTab?.children || null; + }; + return ( +
+ +
+ {data.map((p) => ( + handelChangeTab(p.id)} + /> + ))} +
+
+
+ {getCurrentContent()} +
+
+ ); +}; + +export default Tabs; diff --git a/website/src/components/tabs/style.css b/website/src/components/tabs/style.css new file mode 100644 index 00000000..89fb25f8 --- /dev/null +++ b/website/src/components/tabs/style.css @@ -0,0 +1,45 @@ +.mo-sidebar__container .mo-sidebar__header { + height: 0px !important; +} + +.tabs-header { + margin: 8px 0; + width: 100%; + height: 38px; +} + +.tabs-item { + color: var(--panelTitle-inactiveForeground); + font-size: 14px; + font-weight: 400; + padding: 8px 12px; + margin: 0 4px; + text-transform: uppercase; + user-select: none; + position: relative; + display: flex; + align-items: center; + justify-content: center; + gap: 4px; + white-space: nowrap; + cursor: pointer; +} + +.tabs-item-active { + color: var(--panelTitle-activeForeground); + outline: var(--contrastActiveBorder, unset) solid 1px; +} + +.tabs-item-active::after { + background-color: #f9f9fa; + bottom: 1px; + content: ' '; + height: 1px; + left: 0; + position: absolute; + width: 100%; +} + +.tabs-content { + padding: 0 8px; +} diff --git a/website/src/components/tooltip/index.tsx b/website/src/components/tooltip/index.tsx new file mode 100644 index 00000000..23becd59 --- /dev/null +++ b/website/src/components/tooltip/index.tsx @@ -0,0 +1,54 @@ +import { useEffect } from 'react'; +import './style.css'; + +interface IProps { + children: React.ReactNode; + values: { href: string; title: string }[]; +} + +const Tooltip = ({ children, values }: IProps) => { + useEffect(() => { + const tooltip = document.querySelector('.tooltip'); + if (!tooltip) return; + tooltip.addEventListener('mouseenter', () => { + const content = document.querySelector('.tooltip-content'); + if (!content) return; + content.classList.add('tooltip-show'); + }); + tooltip.addEventListener('mouseleave', () => { + const content = document.querySelector('.tooltip-content'); + if (!content) return; + content.classList.remove('tooltip-show'); + }); + }, []); + return ( +
+ ); +}; + +export default Tooltip; diff --git a/website/src/components/tooltip/style.css b/website/src/components/tooltip/style.css new file mode 100644 index 00000000..62438396 --- /dev/null +++ b/website/src/components/tooltip/style.css @@ -0,0 +1,62 @@ +.tooltip { + cursor: pointer; +} + +.tooltip .tooltip-content { + opacity: 0; + visibility: hidden; + position: absolute; + transition: opacity 0.3s ease; +} + +.tooltip .tooltip-show { + opacity: 1; + visibility: visible; + display: flex; + padding: 12px 16px 16px 16px; + flex-direction: column; + align-items: flex-start; + gap: 4px; + align-self: stretch; + + position: absolute; + bottom: 15px; + left: 2px; + border-radius: 4px; + z-index: 99; + transition: opacity 0.3s ease; +} + +.tooltip .tooltip-content li { + display: flex; + align-items: center; + gap: 4px; +} + +.tooltip .tooltip-content a { + color: #ffffff; +} + +.tooltip .tooltip-content::before, +.tooltip .tooltip-content::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: #161616; + z-index: -1; +} + +.tooltip .tooltip-content::before { + clip-path: inset(0 0 5px 0 round 5px); +} + +.tooltip .tooltip-content::after { + clip-path: polygon( + calc(12% - 5px) calc(100% - 5px), + calc(12% + 5px) calc(100% - 5px), + 12% 100% + ); +} diff --git a/website/src/consts/index.ts b/website/src/consts/index.ts new file mode 100644 index 00000000..d8c5252d --- /dev/null +++ b/website/src/consts/index.ts @@ -0,0 +1,57 @@ +export const QUICK_GITHUB = 'quick.github'; + +export const FILE_PATH = 'file.path'; + +export const PARSE_LANGUAGE = 'parse.language'; + +export const ACTIVITY_FOLDER = 'activity.folder'; + +export const ACTIVITY_SQL = 'activity.sql'; + +export const ACTIVITY_API = 'activity.api'; + +export const SOURCE_FILE = 'activity.source.file'; + +export const SOURCE_OUTLINE = 'activity.source.outline'; + +export const QUICK_GITHUB_HREF = [ + { + href: 'https://github.com/DTStack/dt-sql-parser', + title: 'dt-sql-parser' + }, + { + href: 'https://github.com/DTStack/monaco-sql-languages', + title: 'monaco-sql-languages' + }, + { + href: 'https://github.com/DTStack/dt-react-monaco-editor', + title: 'dt-react-monaco-editor' + } +]; + +export const SQL_LANGUAGES = [ + 'HiveSQL', + 'SparkSQL', + 'FlinkSQL', + 'MySQL', + 'PGSQL', + 'TrinoSQL', + 'ImpalaSQL' +]; + +export const defaultLanguage = SQL_LANGUAGES[0]; + +export const defaultEditorTab = { + id: `fixedTab`, + name: defaultLanguage, + data: { + value: ``, + language: defaultLanguage.toLowerCase() + } +}; + +export const defaultLanguageStatusItem = { + id: `fixedStatusItem`, + name: defaultLanguage, + sortIndex: 3 +}; diff --git a/website/src/extensions/actions/index.ts b/website/src/extensions/actions/index.ts new file mode 100644 index 00000000..75154218 --- /dev/null +++ b/website/src/extensions/actions/index.ts @@ -0,0 +1,43 @@ +import { IContributeType, IExtension, IMenuItemProps, UniqueId } from '@dtinsight/molecule'; +import SaveFileAction from './ saveAction'; +import { concatMenu } from '@dtinsight/molecule/esm/utils'; + +export const ExtendsActions: IExtension = { + id: 'ExtendsActions', + name: 'Extend Actions', + contributes: { + [IContributeType.Commands]: [SaveFileAction] + }, + activate: function (molecule): void { + appendActionGroupBy(molecule.builtin.getConstants().MENUBAR_ITEM_EDIT) + .with(SaveFileAction) + .exhaust(); + + function appendActionGroupBy(parentId: UniqueId) { + const items: IMenuItemProps[] = []; + return new (class { + with = (ctor: { ID: string }) => { + const keybinding = molecule.action.queryGlobalKeybinding(ctor.ID); + + items.push({ + id: ctor.ID, + name: molecule.locale.localize(ctor.ID, ctor.ID), + keybinding: keybinding + ? molecule.action.convertSimpleKeybindingToString(keybinding) + : undefined + }); + return this; + }; + exhaust = () => { + const menuItems = concatMenu( + molecule.menuBar.get(parentId)?.children || [], + items + ); + molecule.menuBar.update(parentId, () => ({ + children: menuItems + })); + }; + })(); + } + } +}; diff --git "a/website/src/extensions/actions/\302\240saveAction.ts" "b/website/src/extensions/actions/\302\240saveAction.ts" new file mode 100644 index 00000000..6f744b75 --- /dev/null +++ "b/website/src/extensions/actions/\302\240saveAction.ts" @@ -0,0 +1,38 @@ +import { BaseAction } from '@dtinsight/molecule/esm/glue'; +import { CATEGORIES, KeyChord, KeyCode, KeyMod } from '@dtinsight/molecule/esm/monaco'; +import { IMoleculeContext, KeybindingWeight } from '@dtinsight/molecule/esm/types'; + +// todo: 添加快捷指令, cmd + s 保存文件; +export default class SaveFileAction extends BaseAction { + static readonly ID = 'editor.item.saveFile'; + + constructor(private molecule: IMoleculeContext) { + super({ + id: SaveFileAction.ID, + label: molecule.locale.localize('editor.item.saveFile', 'Save File'), + title: molecule.locale.localize('editor.item.saveFile', 'Save File'), + category: CATEGORIES.Developer, + alias: 'Save File', + precondition: undefined, + f1: true, + keybinding: { + when: undefined, + weight: KeybindingWeight.WorkbenchContrib, + primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyS) + } + }); + } + run() { + const curGroup = this.molecule.editor.getCurrentGroup()?.id || -1; + const curTab = this.molecule.editor.getCurrentTab(); + if (!curTab) return; + // todo: 修改当前的 tab modified 字段为 false ,并且将当前内容存储在 tab 内; + this.molecule.editor.updateTab( + { + ...curTab, + modified: false + }, + curGroup + ); + } +} diff --git a/website/src/extensions/index.ts b/website/src/extensions/index.ts new file mode 100644 index 00000000..5e3f7cce --- /dev/null +++ b/website/src/extensions/index.ts @@ -0,0 +1,7 @@ +import { mainExt } from './main'; +import { viewExt } from './view'; +import { ExtendsExplorer } from './view/explorer'; +import { ExtendsFolderTree } from './view/folderTree'; +import { ExtendsActions } from './actions'; + +export default [viewExt, mainExt, ExtendsExplorer, ExtendsFolderTree, ExtendsActions]; diff --git a/website/src/extensions/main/index.tsx b/website/src/extensions/main/index.tsx new file mode 100644 index 00000000..ec586b27 --- /dev/null +++ b/website/src/extensions/main/index.tsx @@ -0,0 +1,382 @@ +import { + IContributeType, + IEditorTab, + IExtension, + IMoleculeContext, + TabGroup, + UniqueId +} from '@dtinsight/molecule'; +import lips from '@jcubic/lips'; + +import * as monaco from 'monaco-editor'; + +import Welcome from '@/workbench/welcome'; +import { + FILE_PATH, + QUICK_GITHUB, + PARSE_LANGUAGE, + ACTIVITY_FOLDER, + ACTIVITY_SQL, + ACTIVITY_API, + SQL_LANGUAGES +} from '@/consts'; +import QuickGithub from '@/workbench/quickGithub'; +import SourceSpace from '@/workbench/sourceSpace'; +import UnitTest from '@/workbench/unitTest'; +import ApiDocPage from '@/workbench/apiDocPage'; +import { debounce } from '@/utils/tool'; +import { LanguageService } from '../../../../esm/languageService'; +import { ParseError } from 'dt-sql-parser'; +import { ProblemsPaneView } from '@/workbench/problems'; +import ProblemStore from '@/workbench/problems/clients/problemStore'; +import { ProblemsService } from '@/workbench/problems/services'; +import { ProblemsController } from '@/workbench/problems/controllers'; + +const problemsService = new ProblemsService(); + +export const mainExt: IExtension = { + id: 'mainExt', + name: 'mainExt', + contributes: { + [IContributeType.Modules]: { + menuBar: null + } + // [IContributeType.Grammar]: grammars + }, + activate(molecule) { + const languageService = new LanguageService(); + problemsService.onSelect((item) => { + // 写入展开的数组内; 当展开的时候 root 的icon 进行变换 + problemsService.toggleRoot(item); + }); + + molecule.colorTheme.update('Default Dark+', (data) => ({ + colors: { + ...data.colors, + 'statusBar.background': '#252526', + 'statusBar.border': '#333', + 'panel.background': '#202020', + 'sideBar.background': '#252526', + 'editor.background': '#161616' + } + })); + molecule.editor.setEntry(); + + // ------- 初始化开始----- + molecule.activityBar.reset(); + + const { EXPLORER_ITEM_OPEN_EDITOR, EXPLORER_ITEM_WORKSPACE } = + molecule.builtin.getConstants(); + + molecule.explorer.update({ + id: EXPLORER_ITEM_OPEN_EDITOR, + hidden: !molecule.explorer.get(EXPLORER_ITEM_OPEN_EDITOR)?.hidden + }); + + molecule.explorer.update({ + id: EXPLORER_ITEM_WORKSPACE, + hidden: !molecule.explorer.get(EXPLORER_ITEM_WORKSPACE)?.hidden + }); + // ------- 初始化完成----- + + molecule.sidebar.add({ + id: ACTIVITY_FOLDER, + name: '', + sortIndex: 1, + render: () => + }); + + molecule.explorer.add( + SQL_LANGUAGES?.map((item) => { + return { + id: item, + name: item, + toolbar: [ + { + group: 'inline', + icon: 'new-file', + id: `explorer.contextMenu.createFile_${item}`, + name: '新建文件' + } + ] + }; + }) + ); + + molecule.sidebar.add({ + id: ACTIVITY_SQL, + name: '单测 SQL', + sortIndex: 1, + render: () => + }); + molecule.sidebar.add({ + id: ACTIVITY_API, + name: '接口文档', + sortIndex: 1, + render: () => + }); + + molecule.activityBar.add([ + { + id: ACTIVITY_FOLDER, + name: '文件夹', + sortIndex: 1, + alignment: 'top', + render: () => ( +
+ + + +
+ ) + }, + { + id: ACTIVITY_SQL, + name: '单测 SQL', + sortIndex: 2, + alignment: 'top', + render: () => ( +
+ + + + +
+ ) + }, + { + id: ACTIVITY_API, + name: '接口文档', + sortIndex: 3, + alignment: 'top', + render: () => ( +
+ + + +
+ ) + } + ]); + + molecule.panel.add({ + id: 'problem', + name: '问题', + sortIndex: 2, + render: () => { + return ( + + + + ); + } + }); + + molecule.statusBar.add({ + id: QUICK_GITHUB, + name: 'Github', + alignment: 'left', + sortIndex: 1, + render: () => + }); + molecule.statusBar.add({ + id: FILE_PATH, + name: 'path', + alignment: 'left', + sortIndex: 2 + }); + molecule.statusBar.add({ + id: PARSE_LANGUAGE, + name: 'language', + alignment: 'right', + sortIndex: 2 + }); + + molecule.activityBar.setCurrent(ACTIVITY_FOLDER); + molecule.sidebar.setCurrent(ACTIVITY_FOLDER); + + molecule.editor.onCurrentChange((tab) => { + const language = (tab.tabId as string)?.split('_')?.[0]; + const groups = molecule.editor.getGroups(); + const fileData = groups[0]?.data?.find((item) => item.id === tab.tabId); + molecule.output.setState({ value: '' }); + + if (fileData?.model) { + monaco.editor.setModelLanguage(fileData.model, language); + analyzeProblems({ fileData, molecule, tab }); + } + activeExplore(tab, molecule); + }); + + molecule.editor.onContextMenu((pos, tabId, groupId) => { + molecule.editor.setCurrent(tabId, groupId); + molecule.contextMenu.open( + [ + { + id: 'parse', + name: 'parse' + } + ], + pos, + { + name: molecule.builtin.getConstants().CONTEXTMENU_ITEM_EDITOR, + item: { tabId, groupId } + } + ); + }); + + molecule.editor.onContextMenuClick((item, tabId, groupId) => { + switch (item.id) { + case 'parse': { + parseToAST(molecule, languageService); + break; + } + default: + break; + } + }); + + molecule.editor.onFocus((item) => { + const groupId = (molecule.editor.getCurrentGroup() || -1) as UniqueId; + const tab = molecule.editor.getCurrentTab(); + if (tab?.id && tab.language) { + molecule.editor.setCurrent(tab?.id, groupId); + } + }); + + molecule.editor.onUpdateState((item) => { + const tab = molecule.editor.getCurrentTab(); + const groups = molecule.editor.getGroups(); + const fileData = groups[0]?.data?.find((item) => item.id === tab?.id); + analyzeProblems({ fileData, molecule, tab }); + }); + } +}; + +const analyzeProblems = debounce((info: any) => { + const { fileData, molecule, tab } = info || {}; + const { value: sql, language } = fileData || {}; + // todo: 一定要 active Tab 才能获取到 language + if (!language) return; + const languageService = new LanguageService(); + languageService.valid(language.toLocaleLowerCase(), fileData.model).then((res) => { + const problems = convertMsgToProblemItem(tab, sql, res); + + molecule.panel.update({ + id: 'problem', + data: problems.value + }); + problems.icon = 'chevron-right'; + problemsService.update(problems); + }); +}, 200); + +const convertMsgToProblemItem = (tab: IEditorTab, code: string, msgs: ParseError[] = []) => { + const rootId = tab?.id; + const rootName = `${tab.name || ''}`; + const languageProblems = { + id: rootId, + name: rootName, + isLeaf: false, + value: { + code: rootName, + message: '', + startLineNumber: 0, + startColumn: 1, + endLineNumber: 0, + endColumn: 1, + status: monaco.MarkerSeverity.Hint + }, + children: [] + } as any; + + languageProblems.children = msgs.map((msg: any, index: number) => { + return { + id: `${rootId}-${index}`, + name: msg.code || '', + isLeaf: true, + value: { + code: msg.code, + message: msg.message, + startLineNumber: Number(msg.startLine), + startColumn: Number(msg.startCol), + endLineNumber: Number(msg.endLine), + endColumn: Number(msg.endCol), + status: monaco.MarkerSeverity.Error + }, + children: [] + }; + }); + + return languageProblems; +}; + +const activeExplore = (tab: Partial, molecule: IMoleculeContext) => { + const language = (tab.tabId as string)?.split('_')?.[0]; + const curActiveExplore = molecule.explorer.getActive() || []; + const isExist = curActiveExplore + .map((item) => (item as string).toLocaleLowerCase()) + .includes(language?.toLocaleLowerCase()); + if (!isExist && language) { + const activeExploreId = SQL_LANGUAGES.find( + (item) => item.toLocaleLowerCase() === language.toLocaleLowerCase() + ) as string; + molecule.explorer.setActive([...curActiveExplore, activeExploreId]?.filter(Boolean)); + } +}; + +const parseToAST = (molecule: IMoleculeContext, languageService: LanguageService) => { + const sql = molecule.editor.getCurrentGroup()?.editorInstance?.getValue(); + + const curActiveTab = molecule.editor.getCurrentTab(); + const lang = curActiveTab?.language?.toLocaleLowerCase(); + if (lang && sql) { + languageService.parserTreeToString(lang, sql).then((res) => { + const pre = res?.replace(/(\(|\))/g, '$1\n'); + const format = new lips.Formatter(pre); + const formatted = format.format({ + indent: 2, + offset: 2 + }); + molecule.panel.setCurrent(molecule.builtin.getConstants().PANEL_ITEM_OUTPUT); + molecule.output.setState({ value: formatted }); + }); + } +}; diff --git a/website/src/extensions/view/explorer.ts b/website/src/extensions/view/explorer.ts new file mode 100644 index 00000000..f5aceb29 --- /dev/null +++ b/website/src/extensions/view/explorer.ts @@ -0,0 +1,41 @@ +import { IExtension } from '@dtinsight/molecule'; + +export const ExtendsExplorer: IExtension = { + id: 'Explorer', + name: 'Extend The Default Explorer', + contributes: {}, + activate: function (molecule): void { + molecule.explorer.onPanelToolbarClick((toolbar, panelId) => { + const { + EXPLORER_TOOLBAR_CLOSE_ALL, + EXPLORER_TOOLBAR_SAVE_ALL, + EXPLORER_ITEM_OPEN_EDITOR + } = molecule.builtin.getState().constants; + if (panelId === EXPLORER_ITEM_OPEN_EDITOR) { + switch (toolbar.id) { + case EXPLORER_TOOLBAR_CLOSE_ALL: { + molecule.editor.closeAll(); + break; + } + + case EXPLORER_TOOLBAR_SAVE_ALL: { + molecule.editor.getState().groups.forEach((group) => { + const unsaved = group.data + .filter((tab) => tab.modified) + .map((t) => t.id); + molecule.editor.saveTabs(unsaved, group.id); + }); + break; + } + + default: + break; + } + } + }); + + molecule.explorer.onCollapseChange((keys) => { + molecule.explorer.setActive(keys); + }); + } +}; diff --git a/website/src/extensions/view/folderTree.ts b/website/src/extensions/view/folderTree.ts new file mode 100644 index 00000000..4480132d --- /dev/null +++ b/website/src/extensions/view/folderTree.ts @@ -0,0 +1,30 @@ +import { getFiles } from '@/utils'; +import { IExtension } from '@dtinsight/molecule'; + +export const ExtendsFolderTree: IExtension = { + id: 'ExtendsFolderTree', + name: 'Extend The Default Folder Tree', + contributes: {}, + activate: function (molecule): void { + molecule.folderTree.onLoad((id) => { + molecule.folderTree.addLoading(id); + getFiles(id as string) + .then(([folder, files]) => { + molecule.folderTree.update({ + id, + children: [...folder, ...files] + }); + }) + .catch((err) => { + molecule.layout.setNotification(true); + molecule.notification.add({ + id: `getFiles${id}`, + value: err.message + }); + }) + .finally(() => { + molecule.folderTree.removeLoading(id); + }); + }); + } +}; diff --git a/website/src/extensions/view/index.ts b/website/src/extensions/view/index.ts new file mode 100644 index 00000000..3a13f97b --- /dev/null +++ b/website/src/extensions/view/index.ts @@ -0,0 +1,20 @@ +import { IExtension } from '@dtinsight/molecule'; +import * as view from '../../storage/view'; + +export const viewExt: IExtension = { + id: 'viewExt', + name: 'viewExt', + activate(molecule) { + view.get().then((viewState) => { + if (viewState?.explorer) { + molecule.explorer.setActive(viewState.explorer.active); + } + if (viewState?.layout) { + molecule.layout.setState(viewState.layout); + } + }); + }, + dispose(molecule) { + view.set(molecule); + } +}; diff --git a/website/src/extensions/workbench/common.ts b/website/src/extensions/workbench/common.ts deleted file mode 100644 index 36914b02..00000000 --- a/website/src/extensions/workbench/common.ts +++ /dev/null @@ -1,26 +0,0 @@ -export const languages = [ - 'FlinkSQL', - 'SparkSQL', - 'HiveSQL', - 'MySQL', - 'PGSQL', - 'TrinoSQL', - 'ImpalaSQL' -]; - -export const defaultLanguage = languages[0]; - -export const defaultEditorTab = { - id: `fixedTab`, - name: defaultLanguage, - data: { - value: ``, - language: defaultLanguage.toLowerCase() - } -}; - -export const defaultLanguageStatusItem = { - id: `fixedStatusItem`, - name: defaultLanguage, - sortIndex: 3 -}; diff --git a/website/src/extensions/workbench/index.tsx b/website/src/extensions/workbench/index.tsx deleted file mode 100644 index 833d20af..00000000 --- a/website/src/extensions/workbench/index.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import molecule from '@dtinsight/molecule'; -import { Float } from '@dtinsight/molecule/esm/model'; -import { IExtension } from '@dtinsight/molecule/esm/model/extension'; -import Sidebar from './sidebar'; -import { defaultEditorTab, defaultLanguageStatusItem } from './common'; - -export const ExtendsWorkbench: IExtension = { - id: 'ExtendWorkbench', - name: 'ExtendWorkbench', - - activate() { - const ParserSidebar = { - id: 'ParserSidebar', - title: 'Sidebar', - render() { - return ; - } - }; - - molecule.sidebar.add(ParserSidebar); - molecule.sidebar.setState({ - current: ParserSidebar.id - }); - - const parserActivityBarItem = { - id: 'OnlineParser', - icon: 'beaker', - title: 'SQL Languages Online Parse' - }; - - const githubPageActivityBarItem = { - id: 'GotoGithub', - icon: 'github', - title: 'Go To Github' - }; - - molecule.activityBar.remove('sidebar.explore.title'); - molecule.activityBar.remove('sidebar.search.title'); - - molecule.activityBar.add([parserActivityBarItem, githubPageActivityBarItem]); - molecule.activityBar.setState({ - selected: parserActivityBarItem.id - }); - - molecule.activityBar.onClick((id) => { - if (id === githubPageActivityBarItem.id) { - window.location.href = 'https://github.com/DTStack/monaco-sql-languages'; - } - }); - - molecule.editor.open(defaultEditorTab); - - molecule.statusBar.add(defaultLanguageStatusItem, Float.right); - }, - dispose() {} -}; diff --git a/website/src/extensions/workbench/sidebar.tsx b/website/src/extensions/workbench/sidebar.tsx deleted file mode 100644 index 8b39574e..00000000 --- a/website/src/extensions/workbench/sidebar.tsx +++ /dev/null @@ -1,180 +0,0 @@ -import React from 'react'; -import * as monaco from 'monaco-editor'; - -import lips from '@jcubic/lips'; -import molecule from '@dtinsight/molecule'; -import { Button } from '@dtinsight/molecule/esm/components'; -import { Select, Option } from '@dtinsight/molecule/esm/components/select'; -import { IEditorTab, IProblemsItem, MarkerSeverity } from '@dtinsight/molecule/esm/model'; - -import { defaultLanguage, defaultEditorTab, defaultLanguageStatusItem, languages } from './common'; -import { LanguageService, ParseError } from 'monaco-sql-languages/esm/languageService'; -import { debounce } from './utils'; - -export default class Sidebar extends React.Component { - private _language = defaultLanguage; - private languageService: LanguageService; - constructor(props: any) { - super(props); - this.languageService = new LanguageService(); - } - - componentDidMount() { - molecule.editor.onUpdateTab(this.analyseProblems); - - monaco.editor.setTheme('sql-dark'); - } - - private get language(): string { - return this._language.toLowerCase(); - } - - onClick = (e: any, item: any) => { - console.log('onClick:', e, item); - }; - - onChangeLanguage = (e: any, option: any) => { - if (option && option.value) { - this._language = option.value; - this.updateLanguage(option.value); - } - }; - - analyseProblems = debounce((tab: any) => { - const sql = tab.data.value; - this.languageService.valid(this.language, sql).then((res) => { - molecule.problems.reset(); - const problems = this.convertMsgToProblemItem(tab, sql, res); - molecule.problems.add(problems); - }); - }, 200); - - convertMsgToProblemItem = ( - tab: IEditorTab, - code: string, - msgs: ParseError[] = [] - ): IProblemsItem => { - const rootId = tab.id; - const rootName = `${tab.name || ''}`; - const languageProblems: IProblemsItem = { - id: rootId, - name: rootName, - isLeaf: false, - value: { - code: rootName, - message: '', - startLineNumber: 0, - startColumn: 1, - endLineNumber: 0, - endColumn: 1, - status: MarkerSeverity.Hint - }, - children: [] - }; - - languageProblems.children = msgs.map((msg: any, index: number) => { - return { - id: `${rootId}-${index}`, - name: msg.code || '', - isLeaf: true, - value: { - code: msg.code, - message: msg.message, - startLineNumber: Number(msg.startLine), - startColumn: Number(msg.startCol), - endLineNumber: Number(msg.endLine), - endColumn: Number(msg.endCol), - status: MarkerSeverity.Error - }, - children: [] - }; - }); - - return languageProblems; - }; - - updateLanguage(language: string) { - const languageId = this.language; - - const nextTab = Object.assign(defaultEditorTab, { - name: language, - data: { language: languageId, value: '' } - }); - const group = molecule.editor.getState().current?.id || -1; - molecule.editor.updateTab(nextTab, group); - const model = molecule.editor.editorInstance.getModel(); - if (model) { - monaco.editor.setModelLanguage(model, languageId); - } - - const nextStatusItem = Object.assign(defaultLanguageStatusItem, { - name: language, - sortIndex: 3 - }); - this.analyseProblems(nextTab); - molecule.statusBar.update(nextStatusItem); - } - - parse = () => { - this.setupOutputLanguage(); - const sql = molecule.editor.editorInstance.getValue(); - molecule.panel.cleanOutput(); - - this.languageService.parserTreeToString(this.language, sql).then((res) => { - const pre = res?.replace(/(\(|\))/g, '$1\n'); - const format = new lips.Formatter(pre); - const formatted = format.format({ - indent: 2, - offset: 2 - }); - const panel = - molecule.panel.getPanel(molecule.builtin.getConstants().PANEL_OUTPUT ?? '') ?? - ({} as any); - molecule.panel.update({ - ...panel, - data: formatted - }); - molecule.panel.appendOutput(''); - }); - }; - - async setupOutputLanguage() { - const model = await molecule.panel.outputEditorInstance?.getModel(); - if (model) { - monaco.editor.setModelLanguage(model, 'clojure'); - } - } - - renderColorThemes() { - const options = languages.map((language: string) => { - return ( - - ); - }); - return ( - - ); - } - - render() { - return ( -
-
-

- Select a language:{' '} -

- {this.renderColorThemes()} - -
-
- ); - } -} diff --git a/website/src/extensions/workbench/utils.ts b/website/src/extensions/workbench/utils.ts deleted file mode 100644 index e635b7f5..00000000 --- a/website/src/extensions/workbench/utils.ts +++ /dev/null @@ -1,21 +0,0 @@ -export function debounce unknown>( - func: T, - timeout: number, - immediate?: boolean -): (...args: Parameters) => unknown { - let timer: NodeJS.Timeout | null = null; - return (...args) => { - if (timer) { - clearTimeout(timer); - } - if (immediate && !timer) { - return func?.(...args); - } - - timer = setTimeout(() => { - timer && clearTimeout(timer); - timer = null; - func?.(...args); - }, timeout); - }; -} diff --git a/website/src/hooks/useUnitCatalog.ts b/website/src/hooks/useUnitCatalog.ts new file mode 100644 index 00000000..77b6bafe --- /dev/null +++ b/website/src/hooks/useUnitCatalog.ts @@ -0,0 +1,61 @@ +import { tree } from '@dtinsight/molecule'; +import { useEffect, useState } from 'react'; + +export function useUnitCatalog({ + callback +}: { + callback?: (data: tree.TreeNodeModel) => void; +}) { + const [data, setData] = useState | null>(null); + const [loading, setLoading] = useState(false); + + useEffect(() => { + mutate(); + }, []); + + const mutate = (): Promise> => { + setLoading(true); + return fetch('/api/getUnitCatalog', { method: 'post' }) + .then((res) => res.json()) + .then( + ({ + data: { folders, files } + }: { + data: { folders: string[]; files: string[] }; + }) => { + const data = new tree.TreeNodeModel( + 'molecule', + 'molecule', + 'RootFolder', + [ + ...folders.map( + (folder) => + new tree.TreeNodeModel( + `/${folder}`, + folder, + 'Folder', + undefined, + 'folder' + ) + ), + ...files.map( + (file) => new tree.TreeNodeModel(`/${file}`, file, 'File') + ) + ] + ); + setData(data); + callback?.(data); + return data; + } + ) + .finally(() => { + setLoading(false); + }); + }; + + return { + data, + loading, + mutate + }; +} diff --git a/website/src/index.css b/website/src/index.css index 3cc15d31..90a0c848 100644 --- a/website/src/index.css +++ b/website/src/index.css @@ -1,4 +1,5 @@ :root { + overflow: hidden; font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; line-height: 1.5; font-weight: 400; diff --git a/website/src/languages/index.ts b/website/src/languages/index.ts index 5f64c296..2e12be90 100644 --- a/website/src/languages/index.ts +++ b/website/src/languages/index.ts @@ -59,7 +59,6 @@ const preprocessCodeHive = (code: string, mark?: string): string => { } return result; }; - setupLanguageFeatures(LanguageIdEnum.FLINK, { completionItems: { enable: true, diff --git a/website/src/main.tsx b/website/src/main.tsx index 419d05cd..716ee3a4 100644 --- a/website/src/main.tsx +++ b/website/src/main.tsx @@ -1,10 +1,5 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App.tsx'; import './index.css'; -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( - - - -); +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(); diff --git a/website/src/mock/api.mock.ts b/website/src/mock/api.mock.ts new file mode 100644 index 00000000..bd153b75 --- /dev/null +++ b/website/src/mock/api.mock.ts @@ -0,0 +1,120 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import { defineMock } from 'vite-plugin-mock-dev-server'; + +export default defineMock([ + { + url: '/api/getWorkspace', + method: 'GET', + body: { + data: getAllFoldersAndFile() + } + }, + { + url: '/api/getFileContent/:id', + method: 'GET', + body(request) { + const id = request.params.id as string; + + return { data: getFileContent(decodeURIComponent(id)) }; + } + }, + { + url: '/api/getFiles/:id', + method: 'GET', + body(request) { + const id = request.params.id as string; + + return { data: getFiles(decodeURIComponent(id)) }; + } + }, + { + url: '/api/search', + method: 'POST', + async body(request) { + const { value } = JSON.parse(request.body as any); + const data = search(value); + return { data }; + } + }, + { + url: '/api/getUnitCatalog', + method: 'POST', + body: { + data: getAllFoldersAndFile() + } + } +]); + +function getFolderAndFiles(p: string) { + const dirs = fs.readdirSync(p); + const folders: string[] = []; + const files: string[] = []; + dirs.forEach((dir) => { + const filePath = path.join(p, dir); + const stat = fs.statSync(filePath); + if (stat.isDirectory()) { + folders.push(dir); + } else { + files.push(dir); + } + }); + return { + folders, + files + }; +} + +function getAllFoldersAndFile() { + const root = path.join(__dirname, '..', '..'); + return getFolderAndFiles(root); +} + +function getFileContent(fileName: string) { + const root = path.join(__dirname, '..', '..'); + const filePath = path.join(root, fileName.slice(1).replaceAll(/!/g, '/')); + const content = fs.readFileSync(filePath, 'utf-8'); + return content; +} + +function getFiles(p: string) { + const root = path.join(__dirname, '..', '..'); + const dir = path.join(root, p.slice(1).replaceAll(/!/g, '/')); + return getFolderAndFiles(dir); +} + +function search(value: string) { + const root = path.join(__dirname, '..', '..'); + const { folders, files } = getAllFoldersAndFile(); + const res: { filename: string; path: string; startline: number; data: string }[] = []; + files.forEach((file) => { + const content = fs.readFileSync(path.join(root, file), 'utf-8'); + const idx = content.indexOf(value); + if (idx !== -1) { + res.push({ + filename: file, + path: file, + startline: idx, + data: content.slice(idx - 20, idx + value.length + 20) + }); + } + }); + + folders.forEach((folder) => { + const { files } = getFiles(`!${folder}`); + files.forEach((file) => { + const content = fs.readFileSync(path.join(root, folder, file), 'utf-8'); + const idx = content.indexOf(value); + if (idx !== -1) { + res.push({ + filename: path.join(folder, file), + path: path.join(folder, file), + startline: idx, + data: content.slice(idx - 20, idx + value.length + 20) + }); + } + }); + }); + + return res; +} diff --git a/website/src/services/fileManagerService.ts b/website/src/services/fileManagerService.ts new file mode 100644 index 00000000..725165a9 --- /dev/null +++ b/website/src/services/fileManagerService.ts @@ -0,0 +1,102 @@ +import { produce } from 'immer'; +import { useSyncExternalStore } from 'react'; +import * as monaco from 'monaco-editor'; +import type { IMoleculeContext, IEditorTab, IMenuItemProps } from '@dtinsight/molecule'; +import type { IFile } from '@/workbench/sourceSpace/components/parser'; +import { randomId } from '@/utils/tool'; +import { FILE_PATH, PARSE_LANGUAGE } from '@/consts'; + +/** ---------- store ---------- **/ +interface FileState { + fileData: Record[]>; + explorerData: Record[]>; +} +let state: FileState = { fileData: {}, explorerData: {} }; +const listeners = new Set<() => void>(); +let moleculeInstance: IMoleculeContext | null = null; // 单例存储 molecule + +export const getState = () => state; +export const setState = (recipe: (draft: FileState) => void) => { + state = produce(state, recipe); + listeners.forEach((l) => l()); +}; +export const subscribe = (listener: () => void) => { + listeners.add(listener); + return () => listeners.delete(listener); +}; + +// 初始化 molecule,避免不同的组件中都需要通过参数 将 molecule 实例转入; +export const initMolecule = (molecule: IMoleculeContext) => { + moleculeInstance = molecule; +}; + +/** ---------- React Hook ---------- **/ +export const useFileStore = () => useSyncExternalStore(subscribe, getState); + +/** ---------- tools ---------- **/ +export const updateStatusBarPath = (file: IEditorTab) => { + if (!moleculeInstance) return; + const filePath = `${file.language}/${file.name}`; + moleculeInstance.statusBar.update({ id: FILE_PATH, name: filePath }); +}; + +export const updateStatusBarLang = (file: IEditorTab) => { + if (!moleculeInstance) return; + const language = file.language?.toLowerCase(); + moleculeInstance.statusBar.update({ id: PARSE_LANGUAGE, name: language }); +}; + +export const updateEditor = (file: IEditorTab) => { + if (!moleculeInstance) return; + const uri = monaco.Uri.parse(`${file.language}/${file.name}`); + let model = monaco.editor.getModel(uri); + if (!model) { + model = monaco.editor.createModel('', file.language?.toLowerCase(), uri); + } + const defaultGroupId = moleculeInstance.editor.getState().groups?.[0]?.id || -1; + moleculeInstance.editor.open({ ...file }, defaultGroupId); + if (model && file.language) { + monaco.editor.setModelLanguage(model, file.language.toLowerCase()); + } +}; + +export const openFile = (file: IEditorTab) => { + if (!moleculeInstance) return; + updateStatusBarPath(file); + updateStatusBarLang(file); + + const groupId = moleculeInstance.editor.getState().groups?.[0]?.id || -1; + const groups = moleculeInstance.editor.getGroups(); + if (groups.some((group) => group.activeTab === file.id)) return; + + const allTabs = groups.flatMap((group) => group.data); + const hasOpened = allTabs.find((tab) => tab.id === file.id); + if (hasOpened && groupId) { + moleculeInstance.editor.setCurrent(file.id, groupId); + return; + } + updateEditor(file); +}; + +export const updateExplorer = (file: IEditorTab) => { + const curSQL = file.language; + if (!curSQL) return; + setState((draft) => { + if (!draft.explorerData[curSQL]) draft.explorerData[curSQL] = []; + draft.explorerData[curSQL].push(file); + }); + return getState(); +}; + +export const addFile = (item: IMenuItemProps) => { + const { id } = item; + const curSQL = (id as string).split('_')?.[1]; + const fileName = `${curSQL.toLowerCase()}_file_${randomId()}.sql`; + const newFile = { name: fileName, icon: 'file', id: fileName, language: curSQL }; + + setState((draft) => { + if (!draft.fileData[curSQL]) draft.fileData[curSQL] = []; + draft.fileData[curSQL].push(newFile as any); + }); + return getState(); +}; diff --git a/website/src/storage/view/index.ts b/website/src/storage/view/index.ts new file mode 100644 index 00000000..a8d04017 --- /dev/null +++ b/website/src/storage/view/index.ts @@ -0,0 +1,23 @@ +import { IMoleculeContext } from '@dtinsight/molecule'; +import { ExplorerModel } from '@dtinsight/molecule/esm/models/explorer'; +import { LayoutModel } from '@dtinsight/molecule/esm/models/layout'; +import * as idb from 'idb-keyval'; + +const tableName = `dtinsight/view`; + +type ViewState = { + layout: LayoutModel; + explorer: Pick; +}; + +export function set(molecule: IMoleculeContext) { + const data: ViewState = { + layout: molecule.layout.getState(), + explorer: { active: molecule.explorer.getState().active } + }; + return idb.set(tableName, data); +} + +export async function get() { + return idb.get(tableName); +} diff --git a/website/src/utils/index.ts b/website/src/utils/index.ts new file mode 100644 index 00000000..43e0b7c4 --- /dev/null +++ b/website/src/utils/index.ts @@ -0,0 +1,102 @@ +import { IMoleculeContext, tree } from '@dtinsight/molecule'; + +export function getWorkspace(): Promise> { + return fetch('/api/getWorkspace') + .then((res) => res.json()) + .then(({ data: { folders, files } }: { data: { folders: string[]; files: string[] } }) => { + return new tree.TreeNodeModel('molecule', 'molecule', 'RootFolder', [ + ...folders.map( + (folder) => + new tree.TreeNodeModel( + `/${folder}`, + folder, + 'Folder', + undefined, + 'folder' + ) + ), + ...files.map((file) => new tree.TreeNodeModel(`/${file}`, file, 'File')) + ]); + }); +} + +export function getFileContent(path: string): Promise { + return fetch(`/api/getFileContent/${encodeURIComponent(path.replaceAll(/\//g, '!'))}`) + .then((res) => res.json()) + .then(({ data }: { data: string }) => { + return data; + }); +} + +export function getFiles(path: string) { + return fetch(`/api/getFiles/${encodeURIComponent(path.replaceAll(/\//g, '!'))}`) + .then((res) => res.json()) + .then(({ data: { folders, files } }: { data: { folders: string[]; files: string[] } }) => { + return [ + folders.map( + (folder) => + new tree.TreeNodeModel( + `${path}/${folder}`, + folder, + 'Folder', + undefined, + 'folder' + ) + ), + files.map((file) => new tree.TreeNodeModel(`${path}/${file}`, file, 'File')) + ]; + }); +} + +export function searchFileContents(value: string) { + return fetch(`/api/search`, { method: 'post', body: JSON.stringify({ value }) }) + .then((res) => res.json()) + .then( + ({ + data + }: { + data: { filename: string; path: string; startline: number; data: string }[]; + }) => data + ); +} + +export function openFile(treeNode: any, molecule: IMoleculeContext) { + molecule.editor.setLoading(true); + getFileContent(treeNode.id as string) + .then((data) => { + const tabData = { + id: treeNode.id, + name: treeNode.name, + icon: treeNode.icon || 'file', + value: data, + language: (() => { + const name = treeNode.name; + if (typeof name !== 'string') return 'plain'; + if (name.endsWith('.md')) return 'markdown'; + if (name.endsWith('.yml')) return 'yml'; + if (name.endsWith('.js')) return 'javascript'; + if (name.endsWith('.ts')) return 'typescript'; + if (name.endsWith('.tsx')) return 'typescriptreact'; + if (name.endsWith('.json')) return 'json'; + if (name.endsWith('.scss')) return 'css'; + if (name.endsWith('.html')) return 'html'; + return 'plain'; + })(), + breadcrumb: (treeNode.id as string) + .split('/') + .filter(Boolean) + .map((i) => ({ id: i, name: i })) + }; + molecule.editor.open(tabData, molecule.editor.getState().groups?.at(0)?.id); + }) + .catch((err) => { + molecule.layout.setNotification(true); + molecule.notification.add({ + id: `getFileContent_${treeNode.id}`, + value: err.message + }); + }) + .finally(() => { + molecule.editor.setLoading(false); + }); +} diff --git a/website/src/utils/tool.ts b/website/src/utils/tool.ts new file mode 100644 index 00000000..68b5e3c7 --- /dev/null +++ b/website/src/utils/tool.ts @@ -0,0 +1,44 @@ +export function randomId() { + return Math.round(Math.random() * 1000); +} + +export function debounce unknown>( + func: T, + timeout: number, + immediate?: boolean +): (...args: Parameters) => unknown { + let timer: NodeJS.Timeout | null = null; + return (...args) => { + if (timer) { + clearTimeout(timer); + } + if (immediate && !timer) { + return func?.(...args); + } + + timer = setTimeout(() => { + timer && clearTimeout(timer); + timer = null; + func?.(...args); + }, timeout); + }; +} + +export function getBEMElement(block: string, element: string) { + return `${block}__${element}`; +} + +/** + * This function help you prefix a css class name, default is molecule. + * Example: prefixClaName('test') will return 'molecule-test', + * prefixClaName('test', 'c') will return 'c-test' + * @param name Default class name + * @param prefix The prefix of class name you want to append + */ +export function prefixClaName(name: string, prefix = 'mo') { + return name ? `${prefix}-${name}` : ''; +} + +export function convertNaNValue(value: string) { + return isNaN(parseInt(value)) ? NaN : value; +} diff --git a/website/src/workbench/apiDocPage/index.tsx b/website/src/workbench/apiDocPage/index.tsx new file mode 100644 index 00000000..802ce6f0 --- /dev/null +++ b/website/src/workbench/apiDocPage/index.tsx @@ -0,0 +1,9 @@ +// sql-parser 的 接口文档 + +import { IMoleculeContext } from '@dtinsight/molecule'; + +const ApiDocPage = ({ molecule }: { molecule: IMoleculeContext }) => { + return
接口文档
; +}; + +export default ApiDocPage; diff --git a/website/src/workbench/problems/clients/context.ts b/website/src/workbench/problems/clients/context.ts new file mode 100644 index 00000000..d1e3f601 --- /dev/null +++ b/website/src/workbench/problems/clients/context.ts @@ -0,0 +1,3 @@ +import { createContext } from 'react'; + +export const Context = createContext({} as any); diff --git a/website/src/workbench/problems/clients/paneView/index.tsx b/website/src/workbench/problems/clients/paneView/index.tsx new file mode 100644 index 00000000..be3c7241 --- /dev/null +++ b/website/src/workbench/problems/clients/paneView/index.tsx @@ -0,0 +1,91 @@ +import { memo, useContext, useEffect, useState } from 'react'; +import { convertNaNValue, getBEMElement, prefixClaName } from '@/utils/tool'; + +import { Tree as TreeView, Icon, ScrollBar } from '@dtinsight/molecule/esm/client/components'; +import { useLocale } from '@dtinsight/molecule/esm/client/hooks'; +import { Context } from '../context'; +import { MarkerSeverity } from '../../model'; +import '../../style.scss'; + +const defaultClassName = prefixClaName('problems'); +const treeClassName = getBEMElement(defaultClassName, 'treeview'); +const treeNodeClassName = getBEMElement(treeClassName, 'treeNode'); +const treeNodeBadgeClassName = getBEMElement(treeNodeClassName, 'badge'); +const treeLeafClassName = getBEMElement(treeClassName, 'treeLeaf'); +const treeLeafSubInfoClassName = getBEMElement(treeLeafClassName, 'subInfo'); + +function ProblemsPaneView({ problemsService }: { problemsService: any }) { + const localize = useLocale(); + const [data, setData] = useState(() => problemsService.get()); + + useEffect(() => { + const unsubscribe = problemsService.subscribeData(setData); + return unsubscribe; + }, []); + const context = useContext(Context); + const { onselect } = context; + + if (!data?.length) { + return ( +
+ {localize( + 'panel.problems.empty', + 'No problems have been detected in the workspace.' + )} +
+ ); + } + + const getIcon = (status: number) => { + switch (status) { + case MarkerSeverity.Error: { + return ; + } + case MarkerSeverity.Warning: { + return ; + } + case MarkerSeverity.Info: { + return ; + } + default: { + return ''; + } + } + }; + + return ( + +
+ { + // todo: item 参数带修复 ts类型 + const value = item.value; + const children = item.children; + return !item.isLeaf ? ( + + {item?.name} + {children?.length} + + ) : ( + + {getIcon(value.status)} + {value.message} + {value.code} + + [{convertNaNValue(value.startLineNumber)}, + {convertNaNValue(value.startColumn)}] + + + ); + }} + onSelect={onselect} + /> +
+
+ ); +} + +export default memo(ProblemsPaneView); diff --git a/website/src/workbench/problems/clients/problemStore.tsx b/website/src/workbench/problems/clients/problemStore.tsx new file mode 100644 index 00000000..c93f7d8e --- /dev/null +++ b/website/src/workbench/problems/clients/problemStore.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import { Context } from './context'; + +export default function ProblemStore({ + children, + value +}: { + value: any; + children: React.ReactNode; +}) { + return {children}; +} diff --git a/website/src/workbench/problems/clients/statusBarView/index.tsx b/website/src/workbench/problems/clients/statusBarView/index.tsx new file mode 100644 index 00000000..74987cd2 --- /dev/null +++ b/website/src/workbench/problems/clients/statusBarView/index.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { Icon } from '@dtinsight/molecule/esm/client/components'; +import { IStatusBarItem } from '@dtinsight/molecule/esm/models/statusBar'; + +export function ProblemsStatusBarView(props: IStatusBarItem) { + const { data = { errors: 0, warnings: 0, infos: 0 } } = props; + return ( + <> + + {` ${data.errors} `} + + {` ${data.warnings} `} + + {` ${data.infos}`} + + ); +} +export default React.memo(ProblemsStatusBarView); diff --git a/website/src/workbench/problems/controllers/index.ts b/website/src/workbench/problems/controllers/index.ts new file mode 100644 index 00000000..49d45f5d --- /dev/null +++ b/website/src/workbench/problems/controllers/index.ts @@ -0,0 +1,24 @@ +import { UniqueId } from '@dtinsight/molecule'; +import { BaseController } from '@dtinsight/molecule/esm/glue'; + +import { injectable } from 'tsyringe'; + +import { ProblemsEvent } from '../model'; + +export interface IProblemsController extends BaseController { + onSelect?(key: UniqueId): void; +} + +@injectable() +export class ProblemsController extends BaseController implements IProblemsController { + constructor() { + super(); + this.initView(); + } + + private initView() {} + + public readonly onSelect = (key: UniqueId): void => { + this.emit(ProblemsEvent.onSelect, key); + }; +} diff --git a/website/src/workbench/problems/index.tsx b/website/src/workbench/problems/index.tsx new file mode 100644 index 00000000..5aedc3c0 --- /dev/null +++ b/website/src/workbench/problems/index.tsx @@ -0,0 +1,4 @@ +import ProblemsStatusBarView from './clients/statusBarView'; +import ProblemsPaneView from './clients/paneView'; + +export { ProblemsStatusBarView, ProblemsPaneView }; diff --git a/website/src/workbench/problems/model/index.ts b/website/src/workbench/problems/model/index.ts new file mode 100644 index 00000000..1072a7f3 --- /dev/null +++ b/website/src/workbench/problems/model/index.ts @@ -0,0 +1,51 @@ +import { UniqueId } from '@dtinsight/molecule'; +import { ITreeProps } from '@dtinsight/molecule/esm/client/components'; + +export interface IProblemsProps { + id: UniqueId; + name: string; + isLeaf: boolean; + data: IProblemsItem[]; + icon?: string; + show?: boolean; + expandedKeys?: string[]; + onSelect?: (node: IProblemsTreeNode) => void; +} + +interface IProblemsItem extends ITreeProps { + value: IRelatedInformation; + children: IProblemsItem[]; +} + +interface IProblemsTreeNode extends ITreeProps { + value?: IRelatedInformation; + children?: IProblemsTreeNode[]; +} + +interface IRelatedInformation { + code: string; + message: string; + startLineNumber: number; + startColumn: number; + endLineNumber: number; + endColumn: number; + status: MarkerSeverity; +} + +export enum MarkerSeverity { + Hint = 1, + Info = 2, + Warning = 4, + Error = 8 +} + +/** + * The menu bar event definition + */ +export enum ProblemsEvent { + onSelect = 'problem.onSelect' +} + +export class ProblemModel { + constructor(public data: IProblemsProps | undefined) {} +} diff --git a/website/src/workbench/problems/services/index.ts b/website/src/workbench/problems/services/index.ts new file mode 100644 index 00000000..e37a8907 --- /dev/null +++ b/website/src/workbench/problems/services/index.ts @@ -0,0 +1,68 @@ +import { IProblemsProps, ProblemModel, ProblemsEvent } from '../model'; +import { BaseService } from '@dtinsight/molecule/esm/glue'; + +export class ProblemsService extends BaseService { + protected state: ProblemModel; + private listeners = new Set<(data: IProblemsProps[]) => void>(); + constructor() { + super('problem'); + this.state = new ProblemModel(undefined); + } + + public get() { + const data = this.state.data; + return [data]; + } + + public update(data: IProblemsProps): void { + { + this.dispatch((draft) => { + draft.data = data; + }); + } + } + + public toggleRoot(item: IProblemsProps): void { + this.dispatch((draft) => { + const root = draft.data; + if (!root) return draft; + const isClickRoot = item.name === root.name; + if (!isClickRoot) return; + const isCurExpanded = Array.isArray(root.expandedKeys) && root.expandedKeys.length > 0; + + // 返回新对象(新引用) + return { + ...draft, + data: { + ...root, + expandedKeys: isCurExpanded ? [] : [root.name], + icon: isCurExpanded ? 'chevron-right' : 'chevron-down' + } + }; + }); + this.notify(); + } + + public reset() { + this.setState(new ProblemModel(undefined)); + } + + // ===================== Subscriptions ===================== + /** 手动订阅数据变化 */ + public subscribeData(callback: (data: IProblemsProps[]) => void) { + this.listeners.add(callback); + // 初次立即触发一次 + this.state.data && callback([this.state.data]); + return () => this.listeners.delete(callback); + } + + private notify() { + const data = this.state.data; + if (!data) return; + for (const fn of this.listeners) fn([data]); + } + + public onSelect = (callback: (problem: IProblemsProps) => void) => { + this.subscribe(ProblemsEvent.onSelect, callback); + }; +} diff --git a/website/src/workbench/problems/style.scss b/website/src/workbench/problems/style.scss new file mode 100644 index 00000000..56ff7331 --- /dev/null +++ b/website/src/workbench/problems/style.scss @@ -0,0 +1,62 @@ +@function prefix($name, $cusPrefix: 'mo') { + @return '.' + $cusPrefix + '-' + $name; +} + +$badge-size: 11px; +$problems: prefix('problems'); +$tree: prefix(('tree')); + +#{$problems} { + margin: 0 18px; + + &__treeview { + &__treeNode { + align-items: center; + display: flex; + + &__badge { + background: var(--badge-background); + border-radius: $badge-size; + box-sizing: border-box; + color: var(--badge-foreground); + display: inline-block; + font-size: $badge-size; + font-weight: 400; + line-height: $badge-size; + margin-left: 10px; + min-height: 18px; + min-width: 18px; + padding: 3px 6px; + text-align: center; + } + } + + #{$tree}__treenode:not(#{$tree}__treenode--active) { + .codicon-info { + color: var(--problemsInfoIcon-foreground); + } + + .codicon-warning { + color: var(--problemsWarningIcon-foreground); + } + + .codicon-error { + color: var(--problemsErrorIcon-foreground); + } + } + + &__treeLeaf { + align-items: center; + display: flex; + + .codicon { + margin-right: 6px; + } + + &__subInfo { + margin-left: 6px; + opacity: 0.7; + } + } + } +} diff --git a/website/src/workbench/quickGithub/index.tsx b/website/src/workbench/quickGithub/index.tsx new file mode 100644 index 00000000..e904839b --- /dev/null +++ b/website/src/workbench/quickGithub/index.tsx @@ -0,0 +1,23 @@ +import { QUICK_GITHUB_HREF } from '@/consts'; +import Tooltip from '@/components/tooltip'; + +export default function QuickGithub() { + return ( +
+ + + + + +
+ ); +} diff --git a/website/src/workbench/sourceSpace/components/outline/index.ts b/website/src/workbench/sourceSpace/components/outline/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/website/src/workbench/sourceSpace/components/parser/index.tsx b/website/src/workbench/sourceSpace/components/parser/index.tsx new file mode 100644 index 00000000..508bf985 --- /dev/null +++ b/website/src/workbench/sourceSpace/components/parser/index.tsx @@ -0,0 +1,58 @@ +import { IMenuItemProps, IMoleculeContext, slots, UniqueId } from '@dtinsight/molecule'; + +import { Tree } from '@dtinsight/molecule/esm/client/components'; +import { randomId } from '@/utils/tool'; + +import './style.css'; +import { addFile, initMolecule, openFile, updateExplorer } from '@/services/fileManagerService'; + +export interface IFile { + name: string; + icon: string; +} + +const { Explorer } = slots; + +const Parser = ({ molecule }: { molecule: IMoleculeContext }) => { + initMolecule(molecule); + const handleAddFile = (item: IMenuItemProps) => { + const { id } = item; + const curSQL = (id as string).split('_')?.[1]; + const fileName = `${curSQL.toLocaleLowerCase()}_file_${randomId()}.sql`; + addFile(item); + const { explorerData } = + updateExplorer({ + name: fileName, + icon: 'file', + id: fileName, + language: curSQL + }) || {}; + + molecule.explorer.update({ + id: curSQL, + render: () => { + return ( + explorerData && ( + + ) + ); + } + }); + }; + + const handleClick = (activeKeys: UniqueId[]) => { + molecule.explorer.setActive(activeKeys); + }; + + return ( +
+ +
+ ); +}; + +export default Parser; diff --git a/website/src/workbench/sourceSpace/components/parser/style.css b/website/src/workbench/sourceSpace/components/parser/style.css new file mode 100644 index 00000000..6adfbbfd --- /dev/null +++ b/website/src/workbench/sourceSpace/components/parser/style.css @@ -0,0 +1,29 @@ +.folder-tree .mo-tree .mo-tree__treenode { + display: flex; + width: 252px; + align-items: center; + gap: 8px; + border-radius: 4px; + background: #161616; + /* Base/Medium */ + font-family: 'PingFang SC'; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 22px; /* 157.143% */ +} +.folder-tree { + height: calc(100vh - 78px); +} +.folder-tree .mo-split { + margin-top: 3px; +} + +.folder-tree .mo-collapse .mo-collapse__pane { + display: flex; + align-items: center; + gap: 8px; + top: 3px; + border-radius: 4px; + background-color: #161616; +} diff --git a/website/src/workbench/sourceSpace/index.tsx b/website/src/workbench/sourceSpace/index.tsx new file mode 100644 index 00000000..1d2ec8cd --- /dev/null +++ b/website/src/workbench/sourceSpace/index.tsx @@ -0,0 +1,22 @@ +import Tabs from '@/components/tabs'; +import { SOURCE_FILE } from '@/consts'; +import Parser from './components/parser'; +import { IMoleculeContext } from '@dtinsight/molecule'; +const SourceSpace = ({ molecule }: { molecule: IMoleculeContext }) => { + const items = [ + { + id: SOURCE_FILE, + key: SOURCE_FILE, + name: '文件', + children: + } + ]; + + return ( +
+ +
+ ); +}; + +export default SourceSpace; diff --git a/website/src/workbench/unitTest/index.tsx b/website/src/workbench/unitTest/index.tsx new file mode 100644 index 00000000..6744032c --- /dev/null +++ b/website/src/workbench/unitTest/index.tsx @@ -0,0 +1,83 @@ +import Tabs from '@/components/tabs'; +import { SOURCE_FILE } from '@/consts'; +import { useUnitCatalog } from '@/hooks/useUnitCatalog'; +import { openFile } from '@/utils'; +import { components, IMoleculeContext } from '@dtinsight/molecule'; +import { Progress } from '@dtinsight/molecule/esm/client/components'; +import { useConnector } from '@dtinsight/molecule/esm/client/hooks'; +import { FolderTree } from '@dtinsight/molecule/esm/client/slots'; +import { FolderTreeEvent } from '@dtinsight/molecule/esm/models/folderTree'; +import { searchById } from '@dtinsight/molecule/esm/utils'; +import { TreeNodeModel } from '@dtinsight/molecule/esm/utils/tree'; +import { createElement, useEffect } from 'react'; +// sql-parser 的 unit 文档 +const UnitTest = ({ molecule }: { molecule: IMoleculeContext }) => { + const sidebar = useConnector('sidebar'); + const pane = sidebar.data.find(searchById(sidebar.current)); + + const { loading } = useUnitCatalog({ + callback: (tree) => { + molecule.folderTree.add(tree, 'unitTest'); + } + }); + + useEffect(() => { + molecule.explorer.update({ + id: 'unitTest', + // todo 这里的 any 需要看下可以具体定义不 + render: (panel) => { + return createElement(FolderTree as any, { panel }); + } + }); + }, []); + + const handleSelect = (treeNode: TreeNodeModel) => { + const group = molecule.editor.getGroups().find((group) => { + const tab = molecule.editor.getTab(treeNode.id, group.id); + return !!tab; + }); + if (group) { + const tab = molecule.editor.getTab(treeNode.id, group.id)!; + molecule.editor.setCurrent(tab.id, group.id); + } else if (treeNode.fileType === 'File') { + openFile(treeNode, molecule); + } else { + // 点击是文件夹 + molecule.folderTree.toggleExpanded(treeNode.id); + + if (!Array.isArray(treeNode.children)) { + molecule.folderTree.emit(FolderTreeEvent.onLoad, treeNode.id); + } + } + }; + + const renderUnitContent = () => { + return ( + + + + ); + }; + + const items = [ + { + id: SOURCE_FILE, + key: SOURCE_FILE, + name: (pane?.name || '') as string, + children: renderUnitContent() + } + ]; + + return ( +
+ + +
+ ); +}; + +export default UnitTest; diff --git a/website/src/workbench/welcome/index.tsx b/website/src/workbench/welcome/index.tsx new file mode 100644 index 00000000..c400af91 --- /dev/null +++ b/website/src/workbench/welcome/index.tsx @@ -0,0 +1,79 @@ +import './style.css'; +import { components, IEditorTab, IMoleculeContext } from '@dtinsight/molecule'; +import quickStart from '@/assets/quickStart.svg'; +import checkDemo from '@/assets/checkDemo.svg'; +import { ACTIVITY_API, ACTIVITY_FOLDER, ACTIVITY_SQL, defaultLanguage } from '@/consts'; +import { randomId } from '@/utils/tool'; + +import { Tree } from '@dtinsight/molecule/esm/client/components'; +import { initMolecule, openFile, updateExplorer } from '@/services/fileManagerService'; +import { IFile } from '../sourceSpace/components/parser'; + +const Welcome = ({ context: molecule }: { context: IMoleculeContext }) => { + initMolecule(molecule); + const switchWorkspaceView = (key: string) => { + switch (key) { + case 'quickStart': { + molecule.sidebar.setCurrent(ACTIVITY_FOLDER); + molecule.activityBar.setCurrent(ACTIVITY_FOLDER); + molecule.explorer.setActive([defaultLanguage]); + const fileName = `${defaultLanguage.toLocaleLowerCase()}_file_${randomId()}.sql`; + const initFile = { + name: fileName, + icon: 'file', + id: fileName, + language: defaultLanguage + }; + openFile(initFile); + handleUpdateExplorer(initFile); + molecule.editor.setEntry(null); + break; + } + case 'viewApiDoc': + molecule.sidebar.setCurrent(ACTIVITY_API); + molecule.activityBar.setCurrent(ACTIVITY_API); + break; + case 'checkDemo': + molecule.sidebar.setCurrent(ACTIVITY_SQL); + molecule.activityBar.setCurrent(ACTIVITY_SQL); + break; + default: + break; + } + }; + + const handleUpdateExplorer = (file: IEditorTab) => { + const { explorerData } = updateExplorer(file) || {}; + molecule.explorer.update({ + id: defaultLanguage, + render: () => { + const fileData = explorerData?.[defaultLanguage] as any; + return !!fileData && ; + } + }); + }; + + return ( +
+
+ monaco-sql-languages +
+
    +
  • switchWorkspaceView('quickStart')}> + quickStart + 快速开始 +
  • +
  • switchWorkspaceView('viewApiDoc')}> + viewApiDoc + 接口文档 +
  • +
  • switchWorkspaceView('checkDemo')}> + checkDemo + 查看 Demo +
  • +
+
+ ); +}; + +export default Welcome; diff --git a/website/src/workbench/welcome/style.css b/website/src/workbench/welcome/style.css new file mode 100644 index 00000000..12a611b8 --- /dev/null +++ b/website/src/workbench/welcome/style.css @@ -0,0 +1,51 @@ +.welcome { + width: 100%; +} + +.welcome .welcome-header { + display: flex; + justify-content: center; + align-items: center; + padding: 16px 20px 8px 20px; + border-bottom: 1px solid #333; + + color: #f9f9fa; + font-family: 'PingFang SC'; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 22px; +} + +.welcome ul { + display: flex; + justify-content: center; + align-items: center; + margin-top: 159px; + gap: 36px; + cursor: pointer; +} + +.welcome ul li { + list-style: none; + border-radius: 8px; + background: rgba(255, 255, 255, 0.3); + display: flex; + width: 156px; + height: 134px; + padding: 24px 40px; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 16px; + transition: all 0.3s ease-out; +} + +.welcome ul li:hover { + transform: scale(1.1); + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.8); + background: rgba(255, 255, 255, 0.5); + box-shadow: 0px 4px 20px 0px rgba(167, 183, 212, 0.2); + transition: all 0.3s ease-out; +} diff --git a/website/tailwind.config.js b/website/tailwind.config.js new file mode 100644 index 00000000..27a5d825 --- /dev/null +++ b/website/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], + theme: { + extend: {} + }, + plugins: [] +}; diff --git a/website/tsconfig.json b/website/tsconfig.json index d9051027..43d65d2f 100644 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { "baseUrl": ".", - "target": "ES2020", + "target": "es2021", "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], + "lib": ["es2021", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, @@ -21,7 +21,8 @@ "noUnusedParameters": false, "noFallthroughCasesInSwitch": true, "paths": { - "monaco-sql-languages/*": ["../"] + "monaco-sql-languages/*": ["../"], + "@/*": ["src/*"] } }, "include": ["src"], diff --git a/website/vite.config.ts b/website/vite.config.ts index 31cc2c73..aee4f638 100644 --- a/website/vite.config.ts +++ b/website/vite.config.ts @@ -1,14 +1,24 @@ import { resolve } from 'path'; import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; +import { mockDevServerPlugin } from 'vite-plugin-mock-dev-server'; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react()], + plugins: [ + react({ + jsxRuntime: 'automatic' + }), + ...mockDevServerPlugin({ + dir: './src/', + include: 'mock/**/*.mock.{ts,js,cjs,mjs,json,json5}' + }) + ], resolve: { alias: { 'monaco-editor': resolve('node_modules/monaco-editor'), - 'monaco-sql-languages': resolve('../') + 'monaco-sql-languages': resolve('../'), + '@': resolve(__dirname, 'src') } }, base: '/monaco-sql-languages/', @@ -19,8 +29,8 @@ export default defineConfig({ outDir: resolve(__dirname, '../docs') }, server: { - fs: { - allow: ['..'] + proxy: { + '^/api': 'http://example.com/' } } }); From 3e74c8f7bc42f82303d9dbffb45c89cb5191671b Mon Sep 17 00:00:00 2001 From: Bell Date: Tue, 28 Oct 2025 20:33:21 +0800 Subject: [PATCH 10/11] fix(website): fix sql theme in monaco editor --- website/src/App.tsx | 2 +- website/src/components/tooltip/index.tsx | 12 +- website/src/extensions/actions/index.ts | 4 +- website/src/extensions/actions/toggleTheme.ts | 45 +++++++ website/src/extensions/main/index.tsx | 115 +++++++++++++++++- 5 files changed, 166 insertions(+), 12 deletions(-) create mode 100644 website/src/extensions/actions/toggleTheme.ts diff --git a/website/src/App.tsx b/website/src/App.tsx index d6dd003a..3800a819 100644 --- a/website/src/App.tsx +++ b/website/src/App.tsx @@ -24,7 +24,7 @@ editor.onDidCreateEditor((editor) => { const instance = create({ extensions, defaultLocale: 'zh-CN', - defaultColorTheme: 'Default Dark+', + defaultColorTheme: 'sql-dark', onigurumPath: '/wasm/onig.wasm' }); diff --git a/website/src/components/tooltip/index.tsx b/website/src/components/tooltip/index.tsx index 23becd59..63bf9f02 100644 --- a/website/src/components/tooltip/index.tsx +++ b/website/src/components/tooltip/index.tsx @@ -21,15 +21,19 @@ const Tooltip = ({ children, values }: IProps) => { content.classList.remove('tooltip-show'); }); }, []); + + const handleClick = (href: string) => { + window.open(href, '_blank'); + }; return (
{children}
    {values.map((item, index) => (
  • - + handleClick(item.href)}> {item.title} - + { fill="none" > diff --git a/website/src/extensions/actions/index.ts b/website/src/extensions/actions/index.ts index 75154218..02f6f9d9 100644 --- a/website/src/extensions/actions/index.ts +++ b/website/src/extensions/actions/index.ts @@ -1,16 +1,18 @@ import { IContributeType, IExtension, IMenuItemProps, UniqueId } from '@dtinsight/molecule'; import SaveFileAction from './ saveAction'; +import ToggleThemeAction from './toggleTheme'; import { concatMenu } from '@dtinsight/molecule/esm/utils'; export const ExtendsActions: IExtension = { id: 'ExtendsActions', name: 'Extend Actions', contributes: { - [IContributeType.Commands]: [SaveFileAction] + [IContributeType.Commands]: [SaveFileAction, ToggleThemeAction] }, activate: function (molecule): void { appendActionGroupBy(molecule.builtin.getConstants().MENUBAR_ITEM_EDIT) .with(SaveFileAction) + .with(ToggleThemeAction) .exhaust(); function appendActionGroupBy(parentId: UniqueId) { diff --git a/website/src/extensions/actions/toggleTheme.ts b/website/src/extensions/actions/toggleTheme.ts new file mode 100644 index 00000000..882d5e3c --- /dev/null +++ b/website/src/extensions/actions/toggleTheme.ts @@ -0,0 +1,45 @@ +import { BaseAction } from '@dtinsight/molecule/esm/glue'; +import { CATEGORIES, KeyChord, KeyCode, KeyMod } from '@dtinsight/molecule/esm/monaco'; +import { IMoleculeContext, KeybindingWeight } from '@dtinsight/molecule/esm/types'; +import { editor as monaco } from 'monaco-editor/esm/vs/editor/editor.api'; +import { vsPlusTheme } from 'monaco-sql-languages/esm/main'; + +export default class ToggleThemeAction extends BaseAction { + static readonly ID = 'workbench.action.toggleTheme'; + + constructor(private molecule: IMoleculeContext) { + super({ + id: ToggleThemeAction.ID, + label: molecule.locale.localize('workbench.action.toggleTheme', 'Toggle Theme'), + title: molecule.locale.localize('workbench.action.toggleTheme', 'Toggle Theme'), + category: CATEGORIES.View, + alias: 'Toggle Theme', + precondition: undefined, + f1: true, + keybinding: { + when: undefined, + weight: KeybindingWeight.WorkbenchContrib, + primary: KeyChord(KeyMod.CtrlCmd | KeyCode.KeyK) + } + }); + } + + run() { + const current = this.molecule.colorTheme.getCurrentTheme()?.id; + const next = current === 'sql-dark' ? 'Default Dark+' : 'sql-dark'; + this.molecule.colorTheme.setCurrent(next); + if (next === 'sql-dark') { + monaco.defineTheme('sql-dark', vsPlusTheme.darkThemeData); + monaco.setTheme('sql-dark'); + } else { + monaco.setTheme('vs-dark'); + } + // 强制刷新所有模型的语法高亮 + monaco.getModels().forEach((model) => { + const lang = model.getLanguageId(); + monaco.setModelLanguage(model, lang); + }); + // 同步状态栏切换按钮文本(若存在) + this.molecule.statusBar.update({ id: 'toggle-theme', name: next }); + } +} diff --git a/website/src/extensions/main/index.tsx b/website/src/extensions/main/index.tsx index ec586b27..b29636f2 100644 --- a/website/src/extensions/main/index.tsx +++ b/website/src/extensions/main/index.tsx @@ -9,6 +9,7 @@ import { import lips from '@jcubic/lips'; import * as monaco from 'monaco-editor'; +import { vsPlusTheme } from 'monaco-sql-languages/esm/main'; import Welcome from '@/workbench/welcome'; import { @@ -50,6 +51,46 @@ export const mainExt: IExtension = { problemsService.toggleRoot(item); }); + // 注册 Molecule 的 textMate sql-dark 主题(与 Monaco 使用同名 sql-dark, 其中 colors 是copy molecule vs-dark 的 colors ) + molecule.colorTheme.add([ + { + id: 'sql-dark', + label: 'SQL Dark', + name: 'sql-dark', + uiTheme: 'vs-dark', + colors: { + 'checkbox.border': '#6B6B6B', + 'editor.background': '#1E1E1E', + 'editor.foreground': '#D4D4D4', + 'editor.inactiveSelectionBackground': '#3A3D41', + 'editorIndentGuide.background': '#404040', + 'editorIndentGuide.activeBackground': '#707070', + 'editor.selectionHighlightBackground': '#ADD6FF26', + 'list.dropBackground': '#383B3D', + 'activityBarBadge.background': '#007ACC', + 'sideBarTitle.foreground': '#BBBBBB', + 'input.placeholderForeground': '#A6A6A6', + 'menu.background': '#252526', + 'menu.foreground': '#CCCCCC', + 'menu.separatorBackground': '#454545', + 'menu.border': '#454545', + 'statusBarItem.remoteForeground': '#FFF', + 'statusBarItem.remoteBackground': '#16825D', + 'ports.iconRunningProcessForeground': '#369432', + 'sideBarSectionHeader.background': '#0000', + 'sideBarSectionHeader.border': '#ccc3', + 'tab.lastPinnedBorder': '#ccc3', + 'list.activeSelectionIconForeground': '#FFF', + 'terminal.inactiveSelectionBackground': '#3A3D41', + 'widget.border': '#303031', + 'actionBar.toggledBackground': '#383a49', + 'statusBar.background': '#252526', + 'statusBar.border': '#333' + }, + semanticHighlighting: true + } + ]); + molecule.colorTheme.update('Default Dark+', (data) => ({ colors: { ...data.colors, @@ -60,6 +101,39 @@ export const mainExt: IExtension = { 'editor.background': '#161616' } })); + + molecule.colorTheme.setCurrent('sql-dark'); + + // 拦截 Molecule 切换主题,避免其覆盖 Monaco 的 sql-dark + const originalSetCurrent = molecule.colorTheme.setCurrent.bind(molecule.colorTheme); + molecule.colorTheme.setCurrent = (id: string) => { + originalSetCurrent(id); + // Molecule 主题变化后,重新应用 Monaco 主题 + if (id === 'sql-dark') { + monaco.editor.defineTheme('sql-dark', vsPlusTheme.darkThemeData); + monaco.editor.setTheme('sql-dark'); + } else { + monaco.editor.setTheme('vs-dark'); + } + monaco.editor.getModels().forEach((model) => { + const lang = model.getLanguageId(); + monaco.editor.setModelLanguage(model, lang); + }); + }; + // 预定义 Monaco 主题,但推迟到编辑器创建后再应用,避免初始化阶段未就绪导致的高亮异常 + monaco.editor.defineTheme('sql-dark', vsPlusTheme.darkThemeData); + let themeAppliedOnce = false; + monaco.editor.onDidCreateEditor(() => { + if (themeAppliedOnce) return; + themeAppliedOnce = true; + monaco.editor.setTheme('sql-dark'); + // 强制刷新所有模型的语法高亮 + monaco.editor.getModels().forEach((model) => { + const lang = model.getLanguageId(); + monaco.editor.setModelLanguage(model, lang); + }); + }); + molecule.editor.setEntry(); // ------- 初始化开始----- @@ -132,8 +206,8 @@ export const mainExt: IExtension = { fill="none" > @@ -157,8 +231,8 @@ export const mainExt: IExtension = { > @@ -181,8 +255,8 @@ export const mainExt: IExtension = { fill="none" > @@ -229,6 +303,35 @@ export const mainExt: IExtension = { sortIndex: 2 }); + // 主题切换按钮:在 Default Dark+ 与 sql-dark 之间切换 + molecule.statusBar.add({ + id: 'toggle-theme', + alignment: 'right', + sortIndex: 3, + render: () => { + const current = molecule.colorTheme.getCurrentTheme()?.id; + const label = current === 'sql-dark' ? 'sql-dark' : 'Default Dark+'; + return ( + { + const cur = molecule.colorTheme.getCurrentTheme()?.id; + const next = cur === 'sql-dark' ? 'Default Dark+' : 'sql-dark'; + molecule.colorTheme.setCurrent(next); + // 强制刷新所有模型的语法高亮 + monaco.editor.getModels().forEach((model) => { + const lang = model.getLanguageId(); + monaco.editor.setModelLanguage(model, lang); + }); + molecule.statusBar.update({ id: 'toggle-theme' }); + }} + > + {label} + + ); + } + }); + molecule.activityBar.setCurrent(ACTIVITY_FOLDER); molecule.sidebar.setCurrent(ACTIVITY_FOLDER); From b344f7ca40e3458256994d6ac6cd06a2573d6194 Mon Sep 17 00:00:00 2001 From: zhaoge <> Date: Thu, 30 Oct 2025 14:28:50 +0800 Subject: [PATCH 11/11] chore(release): 1.0.0-beta.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bbf6faea..48860128 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-sql-languages", - "version": "1.0.0-beta.5", + "version": "1.0.0-beta.7", "description": "SQL languages for the Monaco Editor, based on monaco-languages.", "scripts": { "prepublishOnly": "npm run build",