diff --git a/ls/editors/code/README.md b/ls/editors/code/README.md
index 933973956..68cb60e29 100644
--- a/ls/editors/code/README.md
+++ b/ls/editors/code/README.md
@@ -88,6 +88,10 @@ the following properties:
date string. The format string supports specifiers like `%Y` (year), `%m` (month), `%d` (day), `%H` (hour),
`%M` (minute), and `%S` (second). For example, for a date like `"2024-01-25"`, the format should be `"%Y-%m-%d"`.
For more information see: https://docs.rs/chrono/latest/chrono/format/strftime/index.html
+* `regex` (string, optional): When `type` is `"string"`, this property specifies a regular expression that the
+ metadata value must match. Use `^` and `$` to require a full-value match. For example,
+ `"^(draft|reviewed|approved)$"` restricts the field to those values. Patterns use Rust's regex syntax.
+ For more information see: https://docs.rs/regex/latest/regex/
For accessing these settings go to the Settings
diff --git a/ls/editors/code/package.json b/ls/editors/code/package.json
index 242d51ca6..1c877a703 100644
--- a/ls/editors/code/package.json
+++ b/ls/editors/code/package.json
@@ -106,6 +106,10 @@
"format": {
"type": "string",
"description": "The expected format of the date string (e.g., `%Y-%m-%d`)."
+ },
+ "regex": {
+ "type": "string",
+ "description": "A regular expression that string metadata values must match (e.g., ^(draft|reviewed|approved)$)."
}
}
}
diff --git a/playground/README.MD b/playground/README.MD
index 4cef9c66c..e37383034 100644
--- a/playground/README.MD
+++ b/playground/README.MD
@@ -16,7 +16,7 @@ Write, format and test YARA rules in the browser. Everything runs locally on Web
- go-to-definition
- formatting
- **Sample modes**: Text, Base64, Hex and local File
-- **Match highlighting**: inline highlights in Text and Hex modes, with rule, pattern, and byte-range details on hover
+- **Match highlighting**: click a match range in Summary to focus it in Text and Hex modes, with rule, pattern, and byte-range details on hover
- **Persistence**: rule source, sample drafts, and settings saved to Local Storage across refreshes
- **Metadata validation**: formatting and validation rules aligned with the [YARA VS Code extension](https://marketplace.visualstudio.com/items?itemName=VirusTotal.yara-x-ls) configuration
- **Scanner limits**: configurable maximum matches per pattern for noisy samples
@@ -26,10 +26,10 @@ Write, format and test YARA rules in the browser. Everything runs locally on Web
### Shortcuts
-| Shortcut | Action |
-| --- | --- |
-| `Cmd/Ctrl + S` | Format the current YARA rule |
-| `Cmd/Ctrl + Space` | Trigger autocompletion |
+| Shortcut | Action |
+| ------------------ | --------------------------------------- |
+| `Cmd/Ctrl + S` | Format the current YARA rule |
+| `Cmd/Ctrl + Space` | Trigger autocompletion |
| `Cmd/Ctrl + Enter` | Run the rule against the current sample |
### Sample Modes
diff --git a/playground/package-lock.json b/playground/package-lock.json
index dc8a9b93a..ca17674e8 100644
--- a/playground/package-lock.json
+++ b/playground/package-lock.json
@@ -9,7 +9,7 @@
"version": "0.0.0",
"dependencies": {
"@codingame/monaco-vscode-editor-api": "^25.1.2",
- "@virustotal/yara-x": "1.15.0",
+ "@virustotal/yara-x": "^1.19.0",
"lit": "^3.3.2",
"monaco-languageclient": "^10.7.0",
"vscode-languageclient": "^9.0.1",
@@ -978,9 +978,6 @@
"arm"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -995,9 +992,6 @@
"arm"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1012,9 +1006,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1029,9 +1020,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1046,9 +1034,6 @@
"loong64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1063,9 +1048,6 @@
"loong64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1080,9 +1062,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1097,9 +1076,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1114,9 +1090,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1131,9 +1104,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1148,9 +1118,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1165,9 +1132,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1182,9 +1146,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -1289,9 +1250,9 @@
"license": "MIT"
},
"node_modules/@virustotal/yara-x": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/@virustotal/yara-x/-/yara-x-1.15.0.tgz",
- "integrity": "sha512-tR+Ue5ci9bURbD7/qjXY0VLVXDUP+NK/uvvgjX6UvSXN+3msfMtpAMaiCdsltFEciU+tXaZeGbHu3N07bvfjsw==",
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/@virustotal/yara-x/-/yara-x-1.19.0.tgz",
+ "integrity": "sha512-yCVb8hLVYB6Yb6uFLmndDZL12/O1C28knNFSzarmKupMt+dLQwr5FjsA26mBDY0bBbPT6GkUGMe2bzXIVNM/oQ==",
"license": "BSD-3-Clause"
},
"node_modules/@vscode/iconv-lite-umd": {
@@ -1416,9 +1377,9 @@
}
},
"node_modules/dompurify": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz",
- "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==",
+ "version": "3.4.11",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.11.tgz",
+ "integrity": "sha512-zhlUV12GsaRzMsf9q5M254YhA4+VuF0fG+QFqu6aYpoGlKtz+w8//jBcGVYBgQkR5GHjUomejY84AV+/uPbWdw==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
diff --git a/playground/package.json b/playground/package.json
index 337abb5bb..fe525d49f 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -15,7 +15,7 @@
},
"dependencies": {
"@codingame/monaco-vscode-editor-api": "^25.1.2",
- "@virustotal/yara-x": "1.15.0",
+ "@virustotal/yara-x": "^1.19.0",
"lit": "^3.3.2",
"monaco-languageclient": "^10.7.0",
"vscode-languageclient": "^9.0.1",
@@ -26,5 +26,8 @@
"rollup-plugin-visualizer": "^7.0.1",
"typescript": "~5.9.3",
"vite": "^7.3.6"
+ },
+ "overrides": {
+ "dompurify": "3.4.11"
}
}
diff --git a/playground/pnpm-lock.yaml b/playground/pnpm-lock.yaml
deleted file mode 100644
index e23080ced..000000000
--- a/playground/pnpm-lock.yaml
+++ /dev/null
@@ -1,1799 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- '@codingame/monaco-vscode-editor-api':
- specifier: ^25.1.2
- version: 25.1.2
- '@virustotal/yara-x':
- specifier: 1.15.0
- version: 1.15.0
- lit:
- specifier: ^3.3.2
- version: 3.3.2
- monaco-languageclient:
- specifier: ^10.7.0
- version: 10.7.0
- vscode-languageclient:
- specifier: ^9.0.1
- version: 9.0.1
- vscode-languageserver-protocol:
- specifier: ^3.17.5
- version: 3.17.5
- devDependencies:
- prettier:
- specifier: ^3.8.1
- version: 3.8.1
- rollup-plugin-visualizer:
- specifier: ^7.0.1
- version: 7.0.1(rolldown@1.0.0-rc.10(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1))(rollup@4.62.2)
- typescript:
- specifier: ~5.9.3
- version: 5.9.3
- vite:
- specifier: ^7.3.6
- version: 7.3.6(lightningcss@1.32.0)
-
-packages:
-
- '@codingame/monaco-vscode-api@25.1.2':
- resolution: {integrity: sha512-K04QcQA+Zb0KXucBAK/BGCT5dldiwIqdUbBQq7yuLvBLbof3cP1WSUuxasMHGYwM0MWyzIAsDtyAYMS7is8ZuA==}
-
- '@codingame/monaco-vscode-base-service-override@25.1.2':
- resolution: {integrity: sha512-OwYs6h1ATUAeMmX+Q1c8esTG7GLMqniBs+fLEr1/9b/ciY485ArKo5UvrUxVPDtRNy/7F06vRW9IUCq9iKP14w==}
-
- '@codingame/monaco-vscode-bulk-edit-service-override@25.1.2':
- resolution: {integrity: sha512-+EfSzjiFakCf0IIJKPZrHVGioq5N8GBsp51bXuKBR5J/B58cUaJY0Dc12PNTSpgAusAGOppUIOSBqUk4F/7IaQ==}
-
- '@codingame/monaco-vscode-configuration-service-override@25.1.2':
- resolution: {integrity: sha512-oeoZ3WtM42zHA1IWHrx9UGEfE+TixE+G8Bl9M9bjgFj1EROnkB5yOfELwRYPo4WOEtcK1C5nvIvWIj/hL9MaLg==}
-
- '@codingame/monaco-vscode-editor-api@25.1.2':
- resolution: {integrity: sha512-dVXoBLRN8vyFHsLY6iYISaNetZ3ispXLut0qL+jvN0e0CEFkUv1F/3EAE7myptrJSS/N1AptrRIxATT3lwFP+Q==}
-
- '@codingame/monaco-vscode-editor-service-override@25.1.2':
- resolution: {integrity: sha512-EadvDCyWdgxOPmaIvbcVVDNjTUYuKdjYWwKbPbbcTs9t4z1/DjdE7mV3ZdT6aGh5m6zkEEUOi143l27Y5eRt+Q==}
-
- '@codingame/monaco-vscode-environment-service-override@25.1.2':
- resolution: {integrity: sha512-8GoD3lk0CN0dIMZOrZNS/i8RCaF1YSQ6nmrf+rqneOSHG9S382EnsZZD69d4+i7JnoeyttO7Kr9KH8WOhRV6OA==}
-
- '@codingame/monaco-vscode-extension-api@25.1.2':
- resolution: {integrity: sha512-SJW/YOhjo+9MXEyzMwQMUWdJVR3Llc6pTq5JQqs6Y30v73gTrpLqtzbd9FNdCuQR8S6bUk5ScH8GL4QrVuL5FA==}
-
- '@codingame/monaco-vscode-extensions-service-override@25.1.2':
- resolution: {integrity: sha512-rTTZW2biPxcg+JumhVf2L+38C5ptvNNxiJlwz39VfXFEh6qOHtAsIMy7vIXa0uGg5/y8DNp0SnOQJP/RKhLYZA==}
-
- '@codingame/monaco-vscode-files-service-override@25.1.2':
- resolution: {integrity: sha512-TenLLAFIwY7keZFF8e3beUn7OVfnNINR5Noi4PVrjeeTcy6FuNH6Jghdul2JwpRAkvyJLdFMvomE2jlT6F03jQ==}
-
- '@codingame/monaco-vscode-host-service-override@25.1.2':
- resolution: {integrity: sha512-lgaalpA9CUQW7i0bBwgBOK0DQNDvOo3QO3p6Rz6yVsHpgA4iMqq2d11dBDUKvuQSwIHPRu8CMHCqhQk/BQN/YA==}
-
- '@codingame/monaco-vscode-keybindings-service-override@25.1.2':
- resolution: {integrity: sha512-cp/gGyTvCTAzCYnQm0HJykXJRB0Huz8Lvq60lj5LutgWcb8S3w6dOB2Houm8dHoeUm/jOko8SQNIP8hzWN92Zw==}
-
- '@codingame/monaco-vscode-language-pack-cs@25.1.2':
- resolution: {integrity: sha512-v0cB2uAOCwj135aGIf0arGV+DNW32lbWh04bv8ctTxcWRt1Pr2kTQ1pjfE8ynKgxabPfAk8E25/CerKSYOmZ+A==}
-
- '@codingame/monaco-vscode-language-pack-de@25.1.2':
- resolution: {integrity: sha512-xA3WOt1w5jlAOnyx4PBwx+qV3vx8C8/zie29qjYbgJMxGKDkb0HfpuKUwywDA2uUMI2wJZS+PnNG00zPDoLIrw==}
-
- '@codingame/monaco-vscode-language-pack-es@25.1.2':
- resolution: {integrity: sha512-1/upuO9lRJilZ3sRr0QLTpz55KYRaBWDe8wtPvghOFYOHyWgW8A4VhUQxa6L9SJgY1JkypUAm0U8WcMX2G4LnQ==}
-
- '@codingame/monaco-vscode-language-pack-fr@25.1.2':
- resolution: {integrity: sha512-iq+xx+tv1QIMmFD0eBhFRMF4xMAsVf/HyA1WogqBofteCWeAvRE9HUjZ5JzHz7jXBPe3dLP1LOM0r0GrJZs4fQ==}
-
- '@codingame/monaco-vscode-language-pack-it@25.1.2':
- resolution: {integrity: sha512-FajWCML9OR8ppLnJ0mcg+sFHEhYJl8zhb3/DHnd+pNysw8dLfetXoSWjaPnwPPpwiQgkNN1UsToZHOU9czVifQ==}
-
- '@codingame/monaco-vscode-language-pack-ja@25.1.2':
- resolution: {integrity: sha512-NwKh0BnPgUrJkxsm0X6vY4ftnd9DjxkcnQqK+bohta6UOzm09J1EjZ6QD42fjWngxrp/xiegtrYQ9NA2q6VpoA==}
-
- '@codingame/monaco-vscode-language-pack-ko@25.1.2':
- resolution: {integrity: sha512-fvaisgfcg8YaAwnyPcGmQDLwkwqzamLQUyx9HmnwDpXw0YANzd058Kwn6bz+Vfn9MjwuMNT0nllD0qQMnpdyew==}
-
- '@codingame/monaco-vscode-language-pack-pl@25.1.2':
- resolution: {integrity: sha512-9hDRyzFJkDia5rO9QE262JgxwP/cnalFisLFo7FQcw57ZhqzqXIdQIuwcKaHuAgzeQ6W2+A3KOLfTr3m7VZrXw==}
-
- '@codingame/monaco-vscode-language-pack-pt-br@25.1.2':
- resolution: {integrity: sha512-7fFnqOTAJGb5RuJ4uwh9sh0JmXALuHPGOl7iL9rZkcgIuVP5y6wVDUDXq5qjiRTNSFDs7Bzh463Ir5m5D6mJbA==}
-
- '@codingame/monaco-vscode-language-pack-qps-ploc@25.1.2':
- resolution: {integrity: sha512-IFjoqrSuPtIFWb+KlPT6PFWKszzNX+TCD9drgCV6AigvBO/xfGL3QwHB68l/DLbmDbohOz4Xdkutv20wuENAeA==}
-
- '@codingame/monaco-vscode-language-pack-ru@25.1.2':
- resolution: {integrity: sha512-0uDAeXO+GllKUPhJzP893rlDhlFV1IwCu/515rBdcyegt48iGm/xAgj26V90hNz8hmB6EuM/7d8MFeklbiIpYA==}
-
- '@codingame/monaco-vscode-language-pack-tr@25.1.2':
- resolution: {integrity: sha512-MJhHxDyJEiuVLQ9+jb8MnnN9lsbJOjJjMswVCeJ7v/Q/msAhq25QYUfn0DbOIzESJE1f7crffRb5e38XP8sYWA==}
-
- '@codingame/monaco-vscode-language-pack-zh-hans@25.1.2':
- resolution: {integrity: sha512-c7MMrhnSLb59NxpAa8nVy9aIbxy4gVYrCpDMq8W380LOaXTYb7nueTrw8QJ5QbJBNi2P2KZoGkn2BlONuBtJJg==}
-
- '@codingame/monaco-vscode-language-pack-zh-hant@25.1.2':
- resolution: {integrity: sha512-ARedFTM6JCluoPLJqkBcTJaQFdJNcN86OX6B8/NMApIPrnSIAfanMndpyilt8XjzUG6IH22cypR+DAlEjf48cA==}
-
- '@codingame/monaco-vscode-languages-service-override@25.1.2':
- resolution: {integrity: sha512-ipuS1V3NgXDkNrj0vBcgMBFnqo+19HVsZjjFGfPFH3x0uptP9aiWWK42wtDK3Qbu4teSjHL7WnSLrmw94rplWw==}
-
- '@codingame/monaco-vscode-layout-service-override@25.1.2':
- resolution: {integrity: sha512-SxBGcMK3RgkGtUn7ZDl7dCoyNW0CWFQ/bfSRYUY06A0IA4JNS5jq1lhof57d0WXewm+5l8w1Spr/vMsfx1c9ig==}
-
- '@codingame/monaco-vscode-localization-service-override@25.1.2':
- resolution: {integrity: sha512-QLj62A8XDOIQW3KjsZlNxs+sfsNNHYxWMjQMwZu/y2Vw3IIHGly2Lpn4t4SFbeaBHJQJy4i5s7NpzlbF9MbEzQ==}
-
- '@codingame/monaco-vscode-log-service-override@25.1.2':
- resolution: {integrity: sha512-OoileAUtPAJ0j3RW31DFSxtOipy0EcFq+iIXEdGvoRlsQPZJ3o9ayjf1JvCXpxUjJ3QkmvQVhXsWNUFREjEFLg==}
-
- '@codingame/monaco-vscode-model-service-override@25.1.2':
- resolution: {integrity: sha512-MGz/eV1CxibLvnl6WzK6idUHJCXJOVepJvKM6Trkv5050vRe+f/o1TjCiG8PaznAypYqZvnwkTG0B7/OTizCpQ==}
-
- '@codingame/monaco-vscode-monarch-service-override@25.1.2':
- resolution: {integrity: sha512-akyNHOJQRS7YHyk6kf0Encnkt+shlR+bIB84UJRUHFgSeF8s5gkDkQuFJph0YeUDWJWat+yBLUSZx2nHomdbHQ==}
-
- '@codingame/monaco-vscode-quickaccess-service-override@25.1.2':
- resolution: {integrity: sha512-7IIrXnwHiF3w9d9p9kspEUz/LCibMLUztmRpGdZQfFtWBJw043q7rk8V1O42KdXr1hVg9IR5vfffwjy9nbiiUg==}
-
- '@codingame/monaco-vscode-textmate-service-override@25.1.2':
- resolution: {integrity: sha512-AL0FtSQBW+1vtoXYQvUqB2hfWojpK73Kq/n6KuNXxjLF/XBJ5FpeeZDfrBfwhWPPoHuBTsaFUCQy4L8xQgbVlA==}
-
- '@codingame/monaco-vscode-theme-defaults-default-extension@25.1.2':
- resolution: {integrity: sha512-0vTMFiC89YSDSmjFckuQBUKwRuFNtsILNO3k0PBiSLN/MW+VDItjJpiVLXC42+rUWlGgY2lYxOneGVa5slCV1w==}
-
- '@codingame/monaco-vscode-theme-service-override@25.1.2':
- resolution: {integrity: sha512-hsTwl6YYTiheFuQMmCmiEGLIdIdgYaf8Z85XWyxe6YgPtDaYGnp0fGSOXKA9/bf0JtuynzoLKtUUfDupK/A7Tw==}
-
- '@codingame/monaco-vscode-view-banner-service-override@25.1.2':
- resolution: {integrity: sha512-zhujHd1PQ6rRXsC2OQGrx/282G2v3lpPFl9heDFGKzpdj5119SgcW+B9p/MwJ1qF3LJpuRRgefNiQtqC/KT1eA==}
-
- '@codingame/monaco-vscode-view-common-service-override@25.1.2':
- resolution: {integrity: sha512-4Po/YaHUvVf4VmhVCZmM2lc/flOptiWSM140bIRNpMcfH0VwihYg15CcDeu1Oc+6DaauzsG3u59GtEvlMmJ9Zw==}
-
- '@codingame/monaco-vscode-view-status-bar-service-override@25.1.2':
- resolution: {integrity: sha512-Jp9ytLaWZ6evabTPtG3Mu3dFx+7WTIPz69BsGpl9PnU0kiSWUqQhPSob0Jz7E2qmMj0ZcNv2Wqvm6bMBu5OyrA==}
-
- '@codingame/monaco-vscode-view-title-bar-service-override@25.1.2':
- resolution: {integrity: sha512-NVYtTAFR35NV/Fx7tSlbASicvpAjK5A14fmxF7/LJJN8ZmzhA/P3Y+UzhqOQl6/VcPV4pAMU0Z7Sicgwbn37dw==}
-
- '@codingame/monaco-vscode-views-service-override@25.1.2':
- resolution: {integrity: sha512-LfzlztsvobdP5L5EvJ/rqSEgy5fEVmrkMqRteuhEtNGd4hnmdBoX8W7BNMBPff6d4NfCK74pGHJF57RyT4Iixg==}
-
- '@codingame/monaco-vscode-workbench-service-override@25.1.2':
- resolution: {integrity: sha512-2LMHr+na03FhOAaXpIGmamq9hf7e4wt2kULn8NqNZRd3i+0v1tx/TSSjGhsA5EkrNrFD7CMSoXayBq8tgpCq/A==}
-
- '@emnapi/core@1.9.1':
- resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==}
-
- '@emnapi/runtime@1.9.1':
- resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==}
-
- '@emnapi/wasi-threads@1.2.0':
- resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
-
- '@esbuild/aix-ppc64@0.28.1':
- resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.28.1':
- resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.28.1':
- resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.28.1':
- resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.28.1':
- resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.28.1':
- resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.28.1':
- resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.28.1':
- resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.28.1':
- resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.28.1':
- resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.28.1':
- resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.28.1':
- resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.28.1':
- resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.28.1':
- resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.28.1':
- resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.28.1':
- resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.28.1':
- resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-arm64@0.28.1':
- resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.28.1':
- resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.28.1':
- resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.28.1':
- resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/openharmony-arm64@0.28.1':
- resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
- '@esbuild/sunos-x64@0.28.1':
- resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.28.1':
- resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.28.1':
- resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.28.1':
- resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@lit-labs/ssr-dom-shim@1.5.1':
- resolution: {integrity: sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==}
-
- '@lit/reactive-element@2.1.2':
- resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==}
-
- '@napi-rs/wasm-runtime@1.1.6':
- resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
- peerDependencies:
- '@emnapi/core': ^1.7.1
- '@emnapi/runtime': ^1.7.1
-
- '@oxc-project/types@0.120.0':
- resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==}
-
- '@rolldown/binding-android-arm64@1.0.0-rc.10':
- resolution: {integrity: sha512-jOHxwXhxmFKuXztiu1ORieJeTbx5vrTkcOkkkn2d35726+iwhrY1w/+nYY/AGgF12thg33qC3R1LMBF5tHTZHg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
- '@rolldown/binding-darwin-arm64@1.0.0-rc.10':
- resolution: {integrity: sha512-gED05Teg/vtTZbIJBc4VNMAxAFDUPkuO/rAIyyxZjTj1a1/s6z5TII/5yMGZ0uLRCifEtwUQn8OlYzuYc0m70w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
- '@rolldown/binding-darwin-x64@1.0.0-rc.10':
- resolution: {integrity: sha512-rI15NcM1mA48lqrIxVkHfAqcyFLcQwyXWThy+BQ5+mkKKPvSO26ir+ZDp36AgYoYVkqvMcdS8zOE6SeBsR9e8A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
- '@rolldown/binding-freebsd-x64@1.0.0-rc.10':
- resolution: {integrity: sha512-XZRXHdTa+4ME1MuDVp021+doQ+z6Ei4CCFmNc5/sKbqb8YmkiJdj8QKlV3rCI0AJtAeSB5n0WGPuJWNL9p/L2w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10':
- resolution: {integrity: sha512-R0SQMRluISSLzFE20sPWYHVmJdDQnRyc/FzSCN72BqQmh2SOZUFG+N3/vBZpR4C6WpEUVYJLrYUXaj43sJsNLA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
- '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10':
- resolution: {integrity: sha512-Y1reMrV/o+cwpduYhJuOE3OMKx32RMYCidf14y+HssARRmhDuWXJ4yVguDg2R/8SyyGNo+auzz64LnPK9Hq6jg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10':
- resolution: {integrity: sha512-vELN+HNb2IzuzSBUOD4NHmP9yrGwl1DVM29wlQvx1OLSclL0NgVWnVDKl/8tEks79EFek/kebQKnNJkIAA4W2g==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10':
- resolution: {integrity: sha512-ZqrufYTgzxbHwpqOjzSsb0UV/aV2TFIY5rP8HdsiPTv/CuAgCRjM6s9cYFwQ4CNH+hf9Y4erHW1GjZuZ7WoI7w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
- '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10':
- resolution: {integrity: sha512-gSlmVS1FZJSRicA6IyjoRoKAFK7IIHBs7xJuHRSmjImqk3mPPWbR7RhbnfH2G6bcmMEllCt2vQ/7u9e6bBnByg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
- '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10':
- resolution: {integrity: sha512-eOCKUpluKgfObT2pHjztnaWEIbUabWzk3qPZ5PuacuPmr4+JtQG4k2vGTY0H15edaTnicgU428XW/IH6AimcQw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- '@rolldown/binding-linux-x64-musl@1.0.0-rc.10':
- resolution: {integrity: sha512-Xdf2jQbfQowJnLcgYfD/m0Uu0Qj5OdxKallD78/IPPfzaiaI4KRAwZzHcKQ4ig1gtg1SuzC7jovNiM2TzQsBXA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@rolldown/binding-openharmony-arm64@1.0.0-rc.10':
- resolution: {integrity: sha512-o1hYe8hLi1EY6jgPFyxQgQ1wcycX+qz8eEbVmot2hFkgUzPxy9+kF0u0NIQBeDq+Mko47AkaFFaChcvZa9UX9Q==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.10':
- resolution: {integrity: sha512-Ugv9o7qYJudqQO5Y5y2N2SOo6S4WiqiNOpuQyoPInnhVzCY+wi/GHltcLHypG9DEUYMB0iTB/huJrpadiAcNcA==}
- engines: {node: '>=14.0.0'}
- cpu: [wasm32]
-
- '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10':
- resolution: {integrity: sha512-7UODQb4fQUNT/vmgDZBl3XOBAIOutP5R3O/rkxg0aLfEGQ4opbCgU5vOw/scPe4xOqBwL9fw7/RP1vAMZ6QlAQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
- '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10':
- resolution: {integrity: sha512-PYxKHMVHOb5NJuDL53vBUl1VwUjymDcYI6rzpIni0C9+9mTiJedvUxSk7/RPp7OOAm3v+EjgMu9bIy3N6b408w==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
- '@rolldown/pluginutils@1.0.0-rc.10':
- resolution: {integrity: sha512-UkVDEFk1w3mveXeKgaTuYfKWtPbvgck1dT8TUG3bnccrH0XtLTuAyfCoks4Q/M5ZGToSVJTIQYCzy2g/atAOeg==}
-
- '@rollup/rollup-android-arm-eabi@4.62.2':
- resolution: {integrity: sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg==}
- cpu: [arm]
- os: [android]
-
- '@rollup/rollup-android-arm64@4.62.2':
- resolution: {integrity: sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw==}
- cpu: [arm64]
- os: [android]
-
- '@rollup/rollup-darwin-arm64@4.62.2':
- resolution: {integrity: sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A==}
- cpu: [arm64]
- os: [darwin]
-
- '@rollup/rollup-darwin-x64@4.62.2':
- resolution: {integrity: sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA==}
- cpu: [x64]
- os: [darwin]
-
- '@rollup/rollup-freebsd-arm64@4.62.2':
- resolution: {integrity: sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw==}
- cpu: [arm64]
- os: [freebsd]
-
- '@rollup/rollup-freebsd-x64@4.62.2':
- resolution: {integrity: sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg==}
- cpu: [x64]
- os: [freebsd]
-
- '@rollup/rollup-linux-arm-gnueabihf@4.62.2':
- resolution: {integrity: sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg==}
- cpu: [arm]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-arm-musleabihf@4.62.2':
- resolution: {integrity: sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA==}
- cpu: [arm]
- os: [linux]
- libc: [musl]
-
- '@rollup/rollup-linux-arm64-gnu@4.62.2':
- resolution: {integrity: sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA==}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-arm64-musl@4.62.2':
- resolution: {integrity: sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ==}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- '@rollup/rollup-linux-loong64-gnu@4.62.2':
- resolution: {integrity: sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg==}
- cpu: [loong64]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-loong64-musl@4.62.2':
- resolution: {integrity: sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ==}
- cpu: [loong64]
- os: [linux]
- libc: [musl]
-
- '@rollup/rollup-linux-ppc64-gnu@4.62.2':
- resolution: {integrity: sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A==}
- cpu: [ppc64]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-ppc64-musl@4.62.2':
- resolution: {integrity: sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w==}
- cpu: [ppc64]
- os: [linux]
- libc: [musl]
-
- '@rollup/rollup-linux-riscv64-gnu@4.62.2':
- resolution: {integrity: sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg==}
- cpu: [riscv64]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-riscv64-musl@4.62.2':
- resolution: {integrity: sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q==}
- cpu: [riscv64]
- os: [linux]
- libc: [musl]
-
- '@rollup/rollup-linux-s390x-gnu@4.62.2':
- resolution: {integrity: sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg==}
- cpu: [s390x]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-x64-gnu@4.62.2':
- resolution: {integrity: sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A==}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- '@rollup/rollup-linux-x64-musl@4.62.2':
- resolution: {integrity: sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg==}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- '@rollup/rollup-openbsd-x64@4.62.2':
- resolution: {integrity: sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg==}
- cpu: [x64]
- os: [openbsd]
-
- '@rollup/rollup-openharmony-arm64@4.62.2':
- resolution: {integrity: sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA==}
- cpu: [arm64]
- os: [openharmony]
-
- '@rollup/rollup-win32-arm64-msvc@4.62.2':
- resolution: {integrity: sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.62.2':
- resolution: {integrity: sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-gnu@4.62.2':
- resolution: {integrity: sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg==}
- cpu: [x64]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.62.2':
- resolution: {integrity: sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==}
- cpu: [x64]
- os: [win32]
-
- '@tybys/wasm-util@0.10.3':
- resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
-
- '@types/estree@1.0.9':
- resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
-
- '@types/trusted-types@2.0.7':
- resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
-
- '@virustotal/yara-x@1.15.0':
- resolution: {integrity: sha512-tR+Ue5ci9bURbD7/qjXY0VLVXDUP+NK/uvvgjX6UvSXN+3msfMtpAMaiCdsltFEciU+tXaZeGbHu3N07bvfjsw==}
-
- '@vscode/iconv-lite-umd@0.7.1':
- resolution: {integrity: sha512-tK6k0DXFHW7q5+GGuGZO+phpAqpxO4WXl+BLc/8/uOk3RsM2ssAL3CQUQDb1TGfwltjsauhN6S4ghYZzs4sPFw==}
-
- ansi-regex@6.2.2:
- resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
- engines: {node: '>=12'}
-
- ansi-styles@6.2.3:
- resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
- engines: {node: '>=12'}
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- brace-expansion@2.0.2:
- resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
-
- bundle-name@4.1.0:
- resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
- engines: {node: '>=18'}
-
- cliui@9.0.1:
- resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
- engines: {node: '>=20'}
-
- default-browser-id@5.0.1:
- resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
- engines: {node: '>=18'}
-
- default-browser@5.5.0:
- resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==}
- engines: {node: '>=18'}
-
- define-lazy-prop@3.0.0:
- resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
- engines: {node: '>=12'}
-
- detect-libc@2.1.2:
- resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
- engines: {node: '>=8'}
-
- dompurify@3.3.1:
- resolution: {integrity: sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==}
-
- emoji-regex@10.6.0:
- resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
-
- esbuild@0.28.1:
- resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- fdir@6.5.0:
- resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
-
- get-east-asian-width@1.5.0:
- resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
- engines: {node: '>=18'}
-
- is-docker@3.0.0:
- resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- hasBin: true
-
- is-in-ssh@1.0.0:
- resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
- engines: {node: '>=20'}
-
- is-inside-container@1.0.0:
- resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
- engines: {node: '>=14.16'}
- hasBin: true
-
- is-wsl@3.1.1:
- resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
- engines: {node: '>=16'}
-
- jschardet@3.1.4:
- resolution: {integrity: sha512-/kmVISmrwVwtyYU40iQUOp3SUPk2dhNCMsZBQX0R1/jZ8maaXJ/oZIzUOiyOqcgtLnETFKYChbJ5iDC/eWmFHg==}
- engines: {node: '>=0.1.90'}
-
- lightningcss-android-arm64@1.32.0:
- resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [android]
-
- lightningcss-darwin-arm64@1.32.0:
- resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [darwin]
-
- lightningcss-darwin-x64@1.32.0:
- resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [darwin]
-
- lightningcss-freebsd-x64@1.32.0:
- resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [freebsd]
-
- lightningcss-linux-arm-gnueabihf@1.32.0:
- resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm]
- os: [linux]
-
- lightningcss-linux-arm64-gnu@1.32.0:
- resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [linux]
- libc: [glibc]
-
- lightningcss-linux-arm64-musl@1.32.0:
- resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [linux]
- libc: [musl]
-
- lightningcss-linux-x64-gnu@1.32.0:
- resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [linux]
- libc: [glibc]
-
- lightningcss-linux-x64-musl@1.32.0:
- resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [linux]
- libc: [musl]
-
- lightningcss-win32-arm64-msvc@1.32.0:
- resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
- engines: {node: '>= 12.0.0'}
- cpu: [arm64]
- os: [win32]
-
- lightningcss-win32-x64-msvc@1.32.0:
- resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
- engines: {node: '>= 12.0.0'}
- cpu: [x64]
- os: [win32]
-
- lightningcss@1.32.0:
- resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
- engines: {node: '>= 12.0.0'}
-
- lit-element@4.2.2:
- resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==}
-
- lit-html@3.3.2:
- resolution: {integrity: sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==}
-
- lit@3.3.2:
- resolution: {integrity: sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==}
-
- marked@14.0.0:
- resolution: {integrity: sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==}
- engines: {node: '>= 18'}
- hasBin: true
-
- minimatch@5.1.9:
- resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==}
- engines: {node: '>=10'}
-
- monaco-languageclient@10.7.0:
- resolution: {integrity: sha512-oA5cOFixkF4bspVL2zMSn48LvlNR/Cu3vJ8MCVam3PdjobSULGgHtOASuZIi3FgWK42X1z8/6hrG0LCjvNu1Hw==}
- engines: {node: '>=20.10.0', npm: '>=10.2.3'}
-
- nanoid@3.3.16:
- resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- open@11.0.0:
- resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==}
- engines: {node: '>=20'}
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@4.0.3:
- resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
- engines: {node: '>=12'}
-
- picomatch@4.0.5:
- resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
- engines: {node: '>=12'}
-
- postcss@8.5.18:
- resolution: {integrity: sha512-xdB1oSLHbz1vRWgCDalrCqEFTWzFlhqFC5tIHLMOSUIjhm3XXQ1qrFy8S/ESr1JYRRXqM3c1QFiMZUJdUTqyMQ==}
- engines: {node: ^10 || ^12 || >=14}
-
- powershell-utils@0.1.0:
- resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
- engines: {node: '>=20'}
-
- prettier@3.8.1:
- resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==}
- engines: {node: '>=14'}
- hasBin: true
-
- rolldown@1.0.0-rc.10:
- resolution: {integrity: sha512-q7j6vvarRFmKpgJUT8HCAUljkgzEp4LAhPlJUvQhA5LA1SUL36s5QCysMutErzL3EbNOZOkoziSx9iZC4FddKA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- hasBin: true
-
- rollup-plugin-visualizer@7.0.1:
- resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==}
- engines: {node: '>=22'}
- hasBin: true
- peerDependencies:
- rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc
- rollup: 2.x || 3.x || 4.x
- peerDependenciesMeta:
- rolldown:
- optional: true
- rollup:
- optional: true
-
- rollup@4.62.2:
- resolution: {integrity: sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
-
- run-applescript@7.1.0:
- resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
- engines: {node: '>=18'}
-
- semver@7.7.4:
- resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
- engines: {node: '>=10'}
- hasBin: true
-
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
-
- source-map@0.7.6:
- resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
- engines: {node: '>= 12'}
-
- string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
-
- strip-ansi@7.2.0:
- resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
- engines: {node: '>=12'}
-
- tinyglobby@0.2.17:
- resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
- engines: {node: '>=12.0.0'}
-
- tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
-
- typescript@5.9.3:
- resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- vite@7.3.6:
- resolution: {integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^20.19.0 || >=22.12.0
- jiti: '>=1.21.0'
- less: ^4.0.0
- lightningcss: ^1.21.0
- sass: ^1.70.0
- sass-embedded: ^1.70.0
- stylus: '>=0.54.8'
- sugarss: ^5.0.0
- terser: ^5.16.0
- tsx: ^4.8.1
- yaml: ^2.4.2
- peerDependenciesMeta:
- '@types/node':
- optional: true
- jiti:
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- tsx:
- optional: true
- yaml:
- optional: true
-
- vscode-jsonrpc@8.2.0:
- resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
- engines: {node: '>=14.0.0'}
-
- vscode-jsonrpc@8.2.1:
- resolution: {integrity: sha512-kdjOSJ2lLIn7r1rtrMbbNCHjyMPfRnowdKjBQ+mGq6NAW5QY2bEZC/khaC5OR8svbbjvLEaIXkOq45e2X9BIbQ==}
- engines: {node: '>=14.0.0'}
-
- vscode-languageclient@9.0.1:
- resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==}
- engines: {vscode: ^1.82.0}
-
- vscode-languageserver-protocol@3.17.5:
- resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
-
- vscode-languageserver-types@3.17.5:
- resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
-
- vscode-ws-jsonrpc@3.5.0:
- resolution: {integrity: sha512-13ZDy7Od4AfEPK2HIfY3DtyRi4FVsvFql1yobVJrpIoHOKGGJpIjVvIJpMxkrHzCZzWlYlg+WEu2hrYkCTvM0Q==}
- engines: {node: '>=20.10.0', npm: '>=10.2.3'}
-
- wrap-ansi@9.0.2:
- resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
- engines: {node: '>=18'}
-
- wsl-utils@0.3.1:
- resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==}
- engines: {node: '>=20'}
-
- y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
-
- yargs-parser@22.0.0:
- resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=23}
-
- yargs@18.0.0:
- resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==}
- engines: {node: ^20.19.0 || ^22.12.0 || >=23}
-
-snapshots:
-
- '@codingame/monaco-vscode-api@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-base-service-override': 25.1.2
- '@codingame/monaco-vscode-environment-service-override': 25.1.2
- '@codingame/monaco-vscode-extensions-service-override': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
- '@codingame/monaco-vscode-host-service-override': 25.1.2
- '@codingame/monaco-vscode-layout-service-override': 25.1.2
- '@codingame/monaco-vscode-quickaccess-service-override': 25.1.2
- '@vscode/iconv-lite-umd': 0.7.1
- dompurify: 3.3.1
- jschardet: 3.1.4
- marked: 14.0.0
-
- '@codingame/monaco-vscode-base-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-bulk-edit-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-configuration-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
-
- '@codingame/monaco-vscode-editor-api@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-editor-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-environment-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-extension-api@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-extensions-service-override': 25.1.2
-
- '@codingame/monaco-vscode-extensions-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
-
- '@codingame/monaco-vscode-files-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-host-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-keybindings-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-cs@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-de@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-es@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-fr@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-it@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-ja@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-ko@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-pl@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-pt-br@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-qps-ploc@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-ru@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-tr@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-zh-hans@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-language-pack-zh-hant@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-languages-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
-
- '@codingame/monaco-vscode-layout-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-localization-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-log-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-environment-service-override': 25.1.2
-
- '@codingame/monaco-vscode-model-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-monarch-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-quickaccess-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-textmate-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
-
- '@codingame/monaco-vscode-theme-defaults-default-extension@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-theme-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-files-service-override': 25.1.2
-
- '@codingame/monaco-vscode-view-banner-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-view-common-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-bulk-edit-service-override': 25.1.2
-
- '@codingame/monaco-vscode-view-status-bar-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-view-title-bar-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
-
- '@codingame/monaco-vscode-views-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-keybindings-service-override': 25.1.2
- '@codingame/monaco-vscode-layout-service-override': 25.1.2
- '@codingame/monaco-vscode-quickaccess-service-override': 25.1.2
- '@codingame/monaco-vscode-view-common-service-override': 25.1.2
-
- '@codingame/monaco-vscode-workbench-service-override@25.1.2':
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-keybindings-service-override': 25.1.2
- '@codingame/monaco-vscode-quickaccess-service-override': 25.1.2
- '@codingame/monaco-vscode-view-banner-service-override': 25.1.2
- '@codingame/monaco-vscode-view-common-service-override': 25.1.2
- '@codingame/monaco-vscode-view-status-bar-service-override': 25.1.2
- '@codingame/monaco-vscode-view-title-bar-service-override': 25.1.2
-
- '@emnapi/core@1.9.1':
- dependencies:
- '@emnapi/wasi-threads': 1.2.0
- tslib: 2.8.1
- optional: true
-
- '@emnapi/runtime@1.9.1':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@emnapi/wasi-threads@1.2.0':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@esbuild/aix-ppc64@0.28.1':
- optional: true
-
- '@esbuild/android-arm64@0.28.1':
- optional: true
-
- '@esbuild/android-arm@0.28.1':
- optional: true
-
- '@esbuild/android-x64@0.28.1':
- optional: true
-
- '@esbuild/darwin-arm64@0.28.1':
- optional: true
-
- '@esbuild/darwin-x64@0.28.1':
- optional: true
-
- '@esbuild/freebsd-arm64@0.28.1':
- optional: true
-
- '@esbuild/freebsd-x64@0.28.1':
- optional: true
-
- '@esbuild/linux-arm64@0.28.1':
- optional: true
-
- '@esbuild/linux-arm@0.28.1':
- optional: true
-
- '@esbuild/linux-ia32@0.28.1':
- optional: true
-
- '@esbuild/linux-loong64@0.28.1':
- optional: true
-
- '@esbuild/linux-mips64el@0.28.1':
- optional: true
-
- '@esbuild/linux-ppc64@0.28.1':
- optional: true
-
- '@esbuild/linux-riscv64@0.28.1':
- optional: true
-
- '@esbuild/linux-s390x@0.28.1':
- optional: true
-
- '@esbuild/linux-x64@0.28.1':
- optional: true
-
- '@esbuild/netbsd-arm64@0.28.1':
- optional: true
-
- '@esbuild/netbsd-x64@0.28.1':
- optional: true
-
- '@esbuild/openbsd-arm64@0.28.1':
- optional: true
-
- '@esbuild/openbsd-x64@0.28.1':
- optional: true
-
- '@esbuild/openharmony-arm64@0.28.1':
- optional: true
-
- '@esbuild/sunos-x64@0.28.1':
- optional: true
-
- '@esbuild/win32-arm64@0.28.1':
- optional: true
-
- '@esbuild/win32-ia32@0.28.1':
- optional: true
-
- '@esbuild/win32-x64@0.28.1':
- optional: true
-
- '@lit-labs/ssr-dom-shim@1.5.1': {}
-
- '@lit/reactive-element@2.1.2':
- dependencies:
- '@lit-labs/ssr-dom-shim': 1.5.1
-
- '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)':
- dependencies:
- '@emnapi/core': 1.9.1
- '@emnapi/runtime': 1.9.1
- '@tybys/wasm-util': 0.10.3
- optional: true
-
- '@oxc-project/types@0.120.0':
- optional: true
-
- '@rolldown/binding-android-arm64@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-darwin-arm64@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-darwin-x64@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-freebsd-x64@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-arm64-musl@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-x64-gnu@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-linux-x64-musl@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-openharmony-arm64@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.10(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)':
- dependencies:
- '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)
- transitivePeerDependencies:
- - '@emnapi/core'
- - '@emnapi/runtime'
- optional: true
-
- '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.10':
- optional: true
-
- '@rolldown/binding-win32-x64-msvc@1.0.0-rc.10':
- optional: true
-
- '@rolldown/pluginutils@1.0.0-rc.10':
- optional: true
-
- '@rollup/rollup-android-arm-eabi@4.62.2':
- optional: true
-
- '@rollup/rollup-android-arm64@4.62.2':
- optional: true
-
- '@rollup/rollup-darwin-arm64@4.62.2':
- optional: true
-
- '@rollup/rollup-darwin-x64@4.62.2':
- optional: true
-
- '@rollup/rollup-freebsd-arm64@4.62.2':
- optional: true
-
- '@rollup/rollup-freebsd-x64@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-arm-gnueabihf@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-arm-musleabihf@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-arm64-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-arm64-musl@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-loong64-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-loong64-musl@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-ppc64-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-ppc64-musl@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-riscv64-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-riscv64-musl@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-s390x-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-x64-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-linux-x64-musl@4.62.2':
- optional: true
-
- '@rollup/rollup-openbsd-x64@4.62.2':
- optional: true
-
- '@rollup/rollup-openharmony-arm64@4.62.2':
- optional: true
-
- '@rollup/rollup-win32-arm64-msvc@4.62.2':
- optional: true
-
- '@rollup/rollup-win32-ia32-msvc@4.62.2':
- optional: true
-
- '@rollup/rollup-win32-x64-gnu@4.62.2':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.62.2':
- optional: true
-
- '@tybys/wasm-util@0.10.3':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@types/estree@1.0.9': {}
-
- '@types/trusted-types@2.0.7': {}
-
- '@virustotal/yara-x@1.15.0': {}
-
- '@vscode/iconv-lite-umd@0.7.1': {}
-
- ansi-regex@6.2.2: {}
-
- ansi-styles@6.2.3: {}
-
- balanced-match@1.0.2: {}
-
- brace-expansion@2.0.2:
- dependencies:
- balanced-match: 1.0.2
-
- bundle-name@4.1.0:
- dependencies:
- run-applescript: 7.1.0
-
- cliui@9.0.1:
- dependencies:
- string-width: 7.2.0
- strip-ansi: 7.2.0
- wrap-ansi: 9.0.2
-
- default-browser-id@5.0.1: {}
-
- default-browser@5.5.0:
- dependencies:
- bundle-name: 4.1.0
- default-browser-id: 5.0.1
-
- define-lazy-prop@3.0.0: {}
-
- detect-libc@2.1.2:
- optional: true
-
- dompurify@3.3.1:
- optionalDependencies:
- '@types/trusted-types': 2.0.7
-
- emoji-regex@10.6.0: {}
-
- esbuild@0.28.1:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.28.1
- '@esbuild/android-arm': 0.28.1
- '@esbuild/android-arm64': 0.28.1
- '@esbuild/android-x64': 0.28.1
- '@esbuild/darwin-arm64': 0.28.1
- '@esbuild/darwin-x64': 0.28.1
- '@esbuild/freebsd-arm64': 0.28.1
- '@esbuild/freebsd-x64': 0.28.1
- '@esbuild/linux-arm': 0.28.1
- '@esbuild/linux-arm64': 0.28.1
- '@esbuild/linux-ia32': 0.28.1
- '@esbuild/linux-loong64': 0.28.1
- '@esbuild/linux-mips64el': 0.28.1
- '@esbuild/linux-ppc64': 0.28.1
- '@esbuild/linux-riscv64': 0.28.1
- '@esbuild/linux-s390x': 0.28.1
- '@esbuild/linux-x64': 0.28.1
- '@esbuild/netbsd-arm64': 0.28.1
- '@esbuild/netbsd-x64': 0.28.1
- '@esbuild/openbsd-arm64': 0.28.1
- '@esbuild/openbsd-x64': 0.28.1
- '@esbuild/openharmony-arm64': 0.28.1
- '@esbuild/sunos-x64': 0.28.1
- '@esbuild/win32-arm64': 0.28.1
- '@esbuild/win32-ia32': 0.28.1
- '@esbuild/win32-x64': 0.28.1
-
- escalade@3.2.0: {}
-
- fdir@6.5.0(picomatch@4.0.5):
- optionalDependencies:
- picomatch: 4.0.5
-
- fsevents@2.3.3:
- optional: true
-
- get-caller-file@2.0.5: {}
-
- get-east-asian-width@1.5.0: {}
-
- is-docker@3.0.0: {}
-
- is-in-ssh@1.0.0: {}
-
- is-inside-container@1.0.0:
- dependencies:
- is-docker: 3.0.0
-
- is-wsl@3.1.1:
- dependencies:
- is-inside-container: 1.0.0
-
- jschardet@3.1.4: {}
-
- lightningcss-android-arm64@1.32.0:
- optional: true
-
- lightningcss-darwin-arm64@1.32.0:
- optional: true
-
- lightningcss-darwin-x64@1.32.0:
- optional: true
-
- lightningcss-freebsd-x64@1.32.0:
- optional: true
-
- lightningcss-linux-arm-gnueabihf@1.32.0:
- optional: true
-
- lightningcss-linux-arm64-gnu@1.32.0:
- optional: true
-
- lightningcss-linux-arm64-musl@1.32.0:
- optional: true
-
- lightningcss-linux-x64-gnu@1.32.0:
- optional: true
-
- lightningcss-linux-x64-musl@1.32.0:
- optional: true
-
- lightningcss-win32-arm64-msvc@1.32.0:
- optional: true
-
- lightningcss-win32-x64-msvc@1.32.0:
- optional: true
-
- lightningcss@1.32.0:
- dependencies:
- detect-libc: 2.1.2
- optionalDependencies:
- lightningcss-android-arm64: 1.32.0
- lightningcss-darwin-arm64: 1.32.0
- lightningcss-darwin-x64: 1.32.0
- lightningcss-freebsd-x64: 1.32.0
- lightningcss-linux-arm-gnueabihf: 1.32.0
- lightningcss-linux-arm64-gnu: 1.32.0
- lightningcss-linux-arm64-musl: 1.32.0
- lightningcss-linux-x64-gnu: 1.32.0
- lightningcss-linux-x64-musl: 1.32.0
- lightningcss-win32-arm64-msvc: 1.32.0
- lightningcss-win32-x64-msvc: 1.32.0
- optional: true
-
- lit-element@4.2.2:
- dependencies:
- '@lit-labs/ssr-dom-shim': 1.5.1
- '@lit/reactive-element': 2.1.2
- lit-html: 3.3.2
-
- lit-html@3.3.2:
- dependencies:
- '@types/trusted-types': 2.0.7
-
- lit@3.3.2:
- dependencies:
- '@lit/reactive-element': 2.1.2
- lit-element: 4.2.2
- lit-html: 3.3.2
-
- marked@14.0.0: {}
-
- minimatch@5.1.9:
- dependencies:
- brace-expansion: 2.0.2
-
- monaco-languageclient@10.7.0:
- dependencies:
- '@codingame/monaco-vscode-api': 25.1.2
- '@codingame/monaco-vscode-configuration-service-override': 25.1.2
- '@codingame/monaco-vscode-editor-api': 25.1.2
- '@codingame/monaco-vscode-editor-service-override': 25.1.2
- '@codingame/monaco-vscode-extension-api': 25.1.2
- '@codingame/monaco-vscode-extensions-service-override': 25.1.2
- '@codingame/monaco-vscode-language-pack-cs': 25.1.2
- '@codingame/monaco-vscode-language-pack-de': 25.1.2
- '@codingame/monaco-vscode-language-pack-es': 25.1.2
- '@codingame/monaco-vscode-language-pack-fr': 25.1.2
- '@codingame/monaco-vscode-language-pack-it': 25.1.2
- '@codingame/monaco-vscode-language-pack-ja': 25.1.2
- '@codingame/monaco-vscode-language-pack-ko': 25.1.2
- '@codingame/monaco-vscode-language-pack-pl': 25.1.2
- '@codingame/monaco-vscode-language-pack-pt-br': 25.1.2
- '@codingame/monaco-vscode-language-pack-qps-ploc': 25.1.2
- '@codingame/monaco-vscode-language-pack-ru': 25.1.2
- '@codingame/monaco-vscode-language-pack-tr': 25.1.2
- '@codingame/monaco-vscode-language-pack-zh-hans': 25.1.2
- '@codingame/monaco-vscode-language-pack-zh-hant': 25.1.2
- '@codingame/monaco-vscode-languages-service-override': 25.1.2
- '@codingame/monaco-vscode-localization-service-override': 25.1.2
- '@codingame/monaco-vscode-log-service-override': 25.1.2
- '@codingame/monaco-vscode-model-service-override': 25.1.2
- '@codingame/monaco-vscode-monarch-service-override': 25.1.2
- '@codingame/monaco-vscode-textmate-service-override': 25.1.2
- '@codingame/monaco-vscode-theme-defaults-default-extension': 25.1.2
- '@codingame/monaco-vscode-theme-service-override': 25.1.2
- '@codingame/monaco-vscode-views-service-override': 25.1.2
- '@codingame/monaco-vscode-workbench-service-override': 25.1.2
- vscode: '@codingame/monaco-vscode-extension-api@25.1.2'
- vscode-languageclient: 9.0.1
- vscode-languageserver-protocol: 3.17.5
- vscode-ws-jsonrpc: 3.5.0
-
- nanoid@3.3.16: {}
-
- open@11.0.0:
- dependencies:
- default-browser: 5.5.0
- define-lazy-prop: 3.0.0
- is-in-ssh: 1.0.0
- is-inside-container: 1.0.0
- powershell-utils: 0.1.0
- wsl-utils: 0.3.1
-
- picocolors@1.1.1: {}
-
- picomatch@4.0.3: {}
-
- picomatch@4.0.5: {}
-
- postcss@8.5.18:
- dependencies:
- nanoid: 3.3.16
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- powershell-utils@0.1.0: {}
-
- prettier@3.8.1: {}
-
- rolldown@1.0.0-rc.10(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1):
- dependencies:
- '@oxc-project/types': 0.120.0
- '@rolldown/pluginutils': 1.0.0-rc.10
- optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-rc.10
- '@rolldown/binding-darwin-arm64': 1.0.0-rc.10
- '@rolldown/binding-darwin-x64': 1.0.0-rc.10
- '@rolldown/binding-freebsd-x64': 1.0.0-rc.10
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.10
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.10
- '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.10
- '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.10
- '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.10
- '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.10
- '@rolldown/binding-linux-x64-musl': 1.0.0-rc.10
- '@rolldown/binding-openharmony-arm64': 1.0.0-rc.10
- '@rolldown/binding-wasm32-wasi': 1.0.0-rc.10(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.10
- '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.10
- transitivePeerDependencies:
- - '@emnapi/core'
- - '@emnapi/runtime'
- optional: true
-
- rollup-plugin-visualizer@7.0.1(rolldown@1.0.0-rc.10(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1))(rollup@4.62.2):
- dependencies:
- open: 11.0.0
- picomatch: 4.0.3
- source-map: 0.7.6
- yargs: 18.0.0
- optionalDependencies:
- rolldown: 1.0.0-rc.10(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)
- rollup: 4.62.2
-
- rollup@4.62.2:
- dependencies:
- '@types/estree': 1.0.9
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.62.2
- '@rollup/rollup-android-arm64': 4.62.2
- '@rollup/rollup-darwin-arm64': 4.62.2
- '@rollup/rollup-darwin-x64': 4.62.2
- '@rollup/rollup-freebsd-arm64': 4.62.2
- '@rollup/rollup-freebsd-x64': 4.62.2
- '@rollup/rollup-linux-arm-gnueabihf': 4.62.2
- '@rollup/rollup-linux-arm-musleabihf': 4.62.2
- '@rollup/rollup-linux-arm64-gnu': 4.62.2
- '@rollup/rollup-linux-arm64-musl': 4.62.2
- '@rollup/rollup-linux-loong64-gnu': 4.62.2
- '@rollup/rollup-linux-loong64-musl': 4.62.2
- '@rollup/rollup-linux-ppc64-gnu': 4.62.2
- '@rollup/rollup-linux-ppc64-musl': 4.62.2
- '@rollup/rollup-linux-riscv64-gnu': 4.62.2
- '@rollup/rollup-linux-riscv64-musl': 4.62.2
- '@rollup/rollup-linux-s390x-gnu': 4.62.2
- '@rollup/rollup-linux-x64-gnu': 4.62.2
- '@rollup/rollup-linux-x64-musl': 4.62.2
- '@rollup/rollup-openbsd-x64': 4.62.2
- '@rollup/rollup-openharmony-arm64': 4.62.2
- '@rollup/rollup-win32-arm64-msvc': 4.62.2
- '@rollup/rollup-win32-ia32-msvc': 4.62.2
- '@rollup/rollup-win32-x64-gnu': 4.62.2
- '@rollup/rollup-win32-x64-msvc': 4.62.2
- fsevents: 2.3.3
-
- run-applescript@7.1.0: {}
-
- semver@7.7.4: {}
-
- source-map-js@1.2.1: {}
-
- source-map@0.7.6: {}
-
- string-width@7.2.0:
- dependencies:
- emoji-regex: 10.6.0
- get-east-asian-width: 1.5.0
- strip-ansi: 7.2.0
-
- strip-ansi@7.2.0:
- dependencies:
- ansi-regex: 6.2.2
-
- tinyglobby@0.2.17:
- dependencies:
- fdir: 6.5.0(picomatch@4.0.5)
- picomatch: 4.0.5
-
- tslib@2.8.1:
- optional: true
-
- typescript@5.9.3: {}
-
- vite@7.3.6(lightningcss@1.32.0):
- dependencies:
- esbuild: 0.28.1
- fdir: 6.5.0(picomatch@4.0.5)
- picomatch: 4.0.5
- postcss: 8.5.18
- rollup: 4.62.2
- tinyglobby: 0.2.17
- optionalDependencies:
- fsevents: 2.3.3
- lightningcss: 1.32.0
-
- vscode-jsonrpc@8.2.0: {}
-
- vscode-jsonrpc@8.2.1: {}
-
- vscode-languageclient@9.0.1:
- dependencies:
- minimatch: 5.1.9
- semver: 7.7.4
- vscode-languageserver-protocol: 3.17.5
-
- vscode-languageserver-protocol@3.17.5:
- dependencies:
- vscode-jsonrpc: 8.2.0
- vscode-languageserver-types: 3.17.5
-
- vscode-languageserver-types@3.17.5: {}
-
- vscode-ws-jsonrpc@3.5.0:
- dependencies:
- vscode-jsonrpc: 8.2.1
-
- wrap-ansi@9.0.2:
- dependencies:
- ansi-styles: 6.2.3
- string-width: 7.2.0
- strip-ansi: 7.2.0
-
- wsl-utils@0.3.1:
- dependencies:
- is-wsl: 3.1.1
- powershell-utils: 0.1.0
-
- y18n@5.0.8: {}
-
- yargs-parser@22.0.0: {}
-
- yargs@18.0.0:
- dependencies:
- cliui: 9.0.1
- escalade: 3.2.0
- get-caller-file: 2.0.5
- string-width: 7.2.0
- y18n: 5.0.8
- yargs-parser: 22.0.0
diff --git a/playground/src/app/yara-playground-app.ts b/playground/src/app/yara-playground-app.ts
index 5501a1b10..5bfa5a2a1 100644
--- a/playground/src/app/yara-playground-app.ts
+++ b/playground/src/app/yara-playground-app.ts
@@ -15,9 +15,16 @@ import {
loadStoredPlaygroundSettings,
storePlaygroundSettings,
} from "../persistence/playground-settings-storage";
-import type { ExecutionState, ResultMode } from "../results/result-types";
+import type {
+ ExecutionState,
+ MatchRange,
+ ResultMode,
+} from "../results/result-types";
import { summarizeResult } from "../results/summarize-result";
-import { createSampleHighlights } from "../sample/sample-highlights";
+import {
+ createSampleHighlights,
+ mapSampleByteRangeToEditorRange,
+} from "../sample/sample-highlights";
import type { LoadedSampleFile } from "../sample/sample-file";
import { isInlineSampleMode, type SampleMode } from "../sample/sample-modes";
import {
@@ -100,6 +107,12 @@ export class YaraPlaygroundApp extends LitElement {
@state()
private settings = createDefaultPlaygroundSettings();
+ @state()
+ private canNavigateMatches = false;
+
+ @state()
+ private activeMatchRange: MatchRange | null = null;
+
private scanService?: ScanService;
private sampleEditorLayoutFrameId?: number;
@@ -110,6 +123,7 @@ export class YaraPlaygroundApp extends LitElement {
{
onSampleChange: () => {
this.clearSampleHighlights();
+ this.invalidateMatchNavigation();
},
},
);
@@ -121,6 +135,12 @@ export class YaraPlaygroundApp extends LitElement {
onStatus: (status) => {
this.lspStatus = status;
},
+ onFormatRequest: () => {
+ void this.formatRule();
+ },
+ onRunRequest: () => {
+ void this.runScan();
+ },
});
private readonly editorResizeController = new SplitResizeController(this, {
@@ -163,6 +183,10 @@ export class YaraPlaygroundApp extends LitElement {
}
}
+ if (event.defaultPrevented) {
+ return;
+ }
+
if (
(event.metaKey || event.ctrlKey) &&
!event.shiftKey &&
@@ -280,10 +304,28 @@ export class YaraPlaygroundApp extends LitElement {
}
this.editorController.sample.setHighlights(
- createSampleHighlights(raw, mode, source),
+ createSampleHighlights(raw, mode, source, this.activeMatchRange),
);
}
+ private refreshCurrentSampleHighlights() {
+ if (!isInlineSampleMode(this.sampleMode)) {
+ return;
+ }
+
+ const source = this.editorController.sample?.getValue();
+ if (!source) {
+ return;
+ }
+
+ this.syncSampleHighlights(this.execution.raw, this.sampleMode, source);
+ }
+
+ private invalidateMatchNavigation() {
+ this.activeMatchRange = null;
+ this.canNavigateMatches = false;
+ }
+
private scheduleSampleEditorLayout() {
if (!this.editorController.sample) return;
@@ -384,15 +426,21 @@ export class YaraPlaygroundApp extends LitElement {
this.editorController.sample?.getValue() !== input.sample.source
) {
this.clearSampleHighlights();
- return;
+ return false;
}
this.syncSampleHighlights(raw, input.sample.mode, input.sample.source);
+ return true;
}
private async runScan() {
if (!this.canRun) return;
+ const hadActiveMatchRange = this.activeMatchRange !== null;
+ this.invalidateMatchNavigation();
+ if (hadActiveMatchRange) {
+ this.refreshCurrentSampleHighlights();
+ }
this.scanStage = "preparing";
const startedAt = performance.now();
@@ -407,7 +455,10 @@ export class YaraPlaygroundApp extends LitElement {
startedAt,
finishedAt,
);
- this.syncScanHighlights(scanResponse.raw, input);
+ this.canNavigateMatches = this.syncScanHighlights(
+ scanResponse.raw,
+ input,
+ );
} catch (error) {
if (error instanceof ScanCancelledError) {
const raw = { cancelled: true };
@@ -418,6 +469,7 @@ export class YaraPlaygroundApp extends LitElement {
Math.round(performance.now() - startedAt),
);
this.clearSampleHighlights();
+ this.invalidateMatchNavigation();
return;
}
@@ -432,6 +484,7 @@ export class YaraPlaygroundApp extends LitElement {
await this.publishScanExecution(raw, [], startedAt, finishedAt);
this.clearSampleHighlights();
+ this.invalidateMatchNavigation();
} finally {
this.scanStage = "idle";
}
@@ -466,6 +519,7 @@ export class YaraPlaygroundApp extends LitElement {
}
this.clearSampleHighlights();
+ this.invalidateMatchNavigation();
};
private handleSampleFileLoad = (event: CustomEvent
- Text and Hex highlight matching ranges in the editor. Hover a - highlight to see the rule, pattern, and exact byte range. + Text and Hex highlight matching ranges in the editor. Click a + match range in Summary to focus it, or hover a highlight to see + the rule, pattern, and exact byte range.
diff --git a/playground/src/components/yara-result-panel.ts b/playground/src/components/yara-result-panel.ts index 0666be30e..f3f2da89a 100644 --- a/playground/src/components/yara-result-panel.ts +++ b/playground/src/components/yara-result-panel.ts @@ -2,7 +2,11 @@ import { LitElement, html, nothing } from "lit"; import { customElement, property, state } from "lit/decorators.js"; import { classMap } from "lit/directives/class-map.js"; -import type { ExecutionState, ResultMode } from "../results/result-types"; +import type { + ExecutionState, + MatchRange, + ResultMode, +} from "../results/result-types"; import { summarizeResult } from "../results/summarize-result"; const EMPTY_EXECUTION: ExecutionState = { @@ -50,6 +54,12 @@ export class YaraResultPanel extends LitElement { @property({ attribute: false }) execution: ExecutionState = EMPTY_EXECUTION; + @property({ type: Boolean }) + canNavigateMatches = false; + + @property({ attribute: false }) + activeMatchRange: MatchRange | null = null; + @state() private copiedMode: CopyableResultMode | null = null; @@ -95,6 +105,23 @@ export class YaraResultPanel extends LitElement { ); } + private dispatchMatchRangeRequest(range: MatchRange) { + this.dispatchEvent( + new CustomEvent${pattern.ranges.join(", ") ||
- "No ranges"}
+ No ranges`
+ : pattern.ranges.map((range) => {
+ const isActive =
+ this.isActiveMatchRange(range);
+
+ return html`
+
+ `;
+ })}
+