diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c8a9bdbc..8b2a7147 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -64,7 +64,7 @@ jobs:
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
- run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.29.0/cargo-dist-installer.sh | sh"
+ run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.0/cargo-dist-installer.sh | sh"
- name: Cache dist
uses: actions/upload-artifact@v4
with:
diff --git a/docs/changelog.md b/CHANGELOG.md
similarity index 96%
rename from docs/changelog.md
rename to CHANGELOG.md
index 1ccc440a..be31b4bc 100644
--- a/docs/changelog.md
+++ b/CHANGELOG.md
@@ -24,6 +24,13 @@ Changelog
* No changes.
+Version 0.1.34 -- 2025-Sep-02
+-----------------------------
+
+* Make the Client text editable again. Improve handling of selections.
+* In VSCode, load a new file in the Client after a short delay, rather than
+ immediately. This provides a more efficient process when changing files.
+
Version 0.1.33 -- 2025-Sep-02
-----------------------------
diff --git a/README.md b/README.md
index 96260884..00f0ca81 100644
--- a/README.md
+++ b/README.md
@@ -10,9 +10,9 @@ software development process.
Full manual
-----------
-The [full
-manual](https://codechat-editor.onrender.com/fw/fsb/opt/render/project/src/README.md),
-in
+Read the [manual rendered using the CodeCode
+Editor](https://codechat-editor.onrender.com/fw/fsb/opt/render/project/src/README.md),
+since this documentation doesn't correctly render on GitHub.
Installation
------------
@@ -25,16 +25,16 @@ Structure
---------
The CodeChat Editor divides source code into code blocks and documentation (doc)
-blocks. These blocks are separated by newlines; the image below shows the
-[style guide](docs/style_guide.cpp) on the left in the Visual Studio Code
-(VSCode) text editor, while the right pane shows the same text from style guide
-in the CodeChat Editor (using the VSCode extension). Specifically, this
-screenshot shows:
+blocks. These blocks are separated by newlines; the image below shows the [style
+guide](docs/style_guide.cpp) on the left in the Visual Studio Code (VSCode) text
+editor, while the right pane shows the same text from style guide in the
+CodeChat Editor (using the VSCode extension). Specifically, this screenshot
+shows:
* ❶: a doc block. Doc blocks must have
- one space after the comment delimiter.
+ one space after the comment delimiter.
* ❷: a code block. Comments on the same
- line as code are not interpreted as doc blocks.
+ line as code are not interpreted as doc blocks.
* ❸: varying indents before a doc block.
* ❹: [Markdown](https://commonmark.org/)
in a doc block; see a [brief overview of
@@ -140,7 +140,8 @@ following characters should be escaped: `*`, `_`, `\`, `[`, `]`, `<`.
| `$3 b$` | $3 b$ | `$3 \ b$` | $3 \ b$ |
| `$a \; b$` | $a \; b$ | `$a \\; b$` | $a \\; b$ |
-## Diagrams
+Diagrams
+--------
### Graphviz
diff --git a/builder/Cargo.lock b/builder/Cargo.lock
index 44819ee0..b6dfe388 100644
--- a/builder/Cargo.lock
+++ b/builder/Cargo.lock
@@ -240,9 +240,9 @@ checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
[[package]]
name = "log"
-version = "0.4.27"
+version = "0.4.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
[[package]]
name = "memchr"
diff --git a/builder/src/main.rs b/builder/src/main.rs
index 3c6a15c4..a52560dd 100644
--- a/builder/src/main.rs
+++ b/builder/src/main.rs
@@ -355,16 +355,25 @@ fn run_install(dev: bool) -> io::Result<()> {
patch_client_libs()?;
run_script("pnpm", &["install"], "../extensions/VSCode", true)?;
run_cmd!(
+ info "Builder: cargo fetch";
cargo fetch --manifest-path=../builder/Cargo.toml;
+ info "cargo fetch";
cargo fetch;
)?;
if dev {
// If the dist install reports an error, perhaps it's already installed.
- if run_cmd!(cargo install --locked cargo-dist;).is_err() {
+ if run_cmd!(
+ info "cargo install cargo-dist";
+ cargo install --locked cargo-dist;
+ )
+ .is_err()
+ {
run_cmd!(dist --version;)?;
}
run_cmd!(
+ info "cargo install cargo-outdated";
cargo install --locked cargo-outdated;
+ info "cargo install cargo-sort";
cargo install cargo-sort;
)?;
}
@@ -376,14 +385,18 @@ fn run_update() -> io::Result<()> {
patch_client_libs()?;
run_script("pnpm", &["update"], "../extensions/VSCode", true)?;
run_cmd!(
+ info "Builder: cargo update";
cargo update --manifest-path=../builder/Cargo.toml;
+ info "cargo update";
cargo update;
)?;
// Simply display outdated dependencies, but don't consider them an error.
run_script("pnpm", &["outdated"], "../client", false)?;
run_script("pnpm", &["outdated"], "../extensions/VSCode", false)?;
run_cmd!(
+ info "Builder: cargo outdated";
cargo outdated --manifest-path=../builder/Cargo.toml;
+ info "cargo outdated";
cargo outdated;
)?;
Ok(())
@@ -393,32 +406,41 @@ fn run_test() -> io::Result<()> {
// The `-D warnings` flag causes clippy to return a non-zero exit status if
// it issues warnings.
run_cmd!(
+ info "cargo clippy and fmt";
cargo clippy --all-targets -- -D warnings;
cargo fmt --check;
+ info "Builder: cargo clippy and fmt";
cargo clippy --all-targets --manifest-path=../builder/Cargo.toml -- -D warnings;
cargo fmt --check --manifest-path=../builder/Cargo.toml;
+ info "cargo sort";
cargo sort --check;
cd ../builder;
+ info "Builder: cargo sort";
cargo sort --check;
)?;
run_build()?;
// Verify that compiling for release produces no errors.
run_cmd!(
cd ..;
+ info "dist build";
dist build;
)?;
run_cmd!(
+ info "Builder: cargo test";
cargo test --manifest-path=../builder/Cargo.toml;
+ info "cargo test";
cargo test;
)?;
- println!("Tests complete.");
Ok(())
}
fn run_build() -> io::Result<()> {
run_cmd!(
+ info "Builder: cargo build";
cargo build --manifest-path=../builder/Cargo.toml;
+ info "cargo build";
cargo build;
+ info "cargo test export_bindings";
cargo test export_bindings;
)?;
// Clean out all bundled files before the rebuild.
@@ -580,6 +602,7 @@ fn run_prerelease() -> io::Result<()> {
remove_dir_all_if_exists("../client/static/bundled")?;
run_install(true)?;
run_cmd!(
+ info "cargo test export_bindings";
cargo test export_bindings;
)?;
run_script("pnpm", &["run", "dist"], "../client", true)?;
diff --git a/client/package.json5 b/client/package.json5
index e22f0d21..c533fdb9 100644
--- a/client/package.json5
+++ b/client/package.json5
@@ -43,7 +43,7 @@
url: 'https://github.com/bjones1/CodeChat_editor',
},
type: 'module',
- version: '0.1.33',
+ version: '0.1.34',
dependencies: {
'@codemirror/commands': '^6.8.1',
'@codemirror/lang-cpp': '^6.0.3',
@@ -64,8 +64,8 @@
codemirror: '^6.0.2',
'graphviz-webcomponent': 'github:bjones1/graphviz-webcomponent#dist',
mathjax: '4.0.0',
- mermaid: '^11.10.1',
- 'npm-check-updates': '^18.0.3',
+ mermaid: '^11.11.0',
+ 'npm-check-updates': '^18.1.0',
'pdfjs-dist': '^5.4.149',
tinymce: '^8.0.2',
'toastify-js': '^1.12.0',
@@ -74,13 +74,13 @@
'@types/chai': '^5.2.2',
'@types/js-beautify': '^1.14.3',
'@types/mocha': '^10.0.10',
- '@types/node': '^24.3.0',
+ '@types/node': '^24.3.1',
'@types/toastify-js': '^1.12.4',
- '@typescript-eslint/eslint-plugin': '^8.42.0',
- '@typescript-eslint/parser': '^8.42.0',
+ '@typescript-eslint/eslint-plugin': '^8.43.0',
+ '@typescript-eslint/parser': '^8.43.0',
chai: '^6.0.1',
esbuild: '^0.25.9',
- eslint: '^9.34.0',
+ eslint: '^9.35.0',
'eslint-config-prettier': '^10.1.8',
'eslint-plugin-import': '^2.32.0',
'eslint-plugin-prettier': '^5.5.4',
diff --git a/client/pnpm-lock.yaml b/client/pnpm-lock.yaml
index e5e85aac..fd6cdf99 100644
--- a/client/pnpm-lock.yaml
+++ b/client/pnpm-lock.yaml
@@ -66,11 +66,11 @@ importers:
specifier: 4.0.0
version: 4.0.0
mermaid:
- specifier: ^11.10.1
- version: 11.10.1
+ specifier: ^11.11.0
+ version: 11.11.0
npm-check-updates:
- specifier: ^18.0.3
- version: 18.0.3
+ specifier: ^18.1.0
+ version: 18.1.0
pdfjs-dist:
specifier: ^5.4.149
version: 5.4.149
@@ -91,17 +91,17 @@ importers:
specifier: ^10.0.10
version: 10.0.10
'@types/node':
- specifier: ^24.3.0
- version: 24.3.0
+ specifier: ^24.3.1
+ version: 24.3.1
'@types/toastify-js':
specifier: ^1.12.4
version: 1.12.4
'@typescript-eslint/eslint-plugin':
- specifier: ^8.42.0
- version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2)
+ specifier: ^8.43.0
+ version: 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
'@typescript-eslint/parser':
- specifier: ^8.42.0
- version: 8.42.0(eslint@9.34.0)(typescript@5.9.2)
+ specifier: ^8.43.0
+ version: 8.43.0(eslint@9.35.0)(typescript@5.9.2)
chai:
specifier: ^6.0.1
version: 6.0.1
@@ -109,17 +109,17 @@ importers:
specifier: ^0.25.9
version: 0.25.9
eslint:
- specifier: ^9.34.0
- version: 9.34.0
+ specifier: ^9.35.0
+ version: 9.35.0
eslint-config-prettier:
specifier: ^10.1.8
- version: 10.1.8(eslint@9.34.0)
+ version: 10.1.8(eslint@9.35.0)
eslint-plugin-import:
specifier: ^2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)
+ version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)
eslint-plugin-prettier:
specifier: ^5.5.4
- version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.34.0))(eslint@9.34.0)(prettier@3.6.2)
+ version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.35.0))(eslint@9.35.0)(prettier@3.6.2)
mocha:
specifier: ^11.7.2
version: 11.7.2
@@ -135,8 +135,8 @@ packages:
'@antfu/install-pkg@1.1.0':
resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
- '@antfu/utils@8.1.1':
- resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
+ '@antfu/utils@9.2.0':
+ resolution: {integrity: sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==}
'@braintree/sanitize-url@7.1.1':
resolution: {integrity: sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==}
@@ -369,8 +369,8 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.7.0':
- resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ '@eslint-community/eslint-utils@4.9.0':
+ resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@@ -395,8 +395,8 @@ packages:
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.34.0':
- resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==}
+ '@eslint/js@9.35.0':
+ resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.6':
@@ -411,18 +411,14 @@ packages:
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ '@humanfs/node@0.16.7':
+ resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
-
'@humanwhocodes/retry@0.4.3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
@@ -430,8 +426,8 @@ packages:
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
- '@iconify/utils@2.3.0':
- resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
+ '@iconify/utils@3.0.1':
+ resolution: {integrity: sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==}
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
@@ -458,8 +454,8 @@ packages:
'@lezer/java@1.1.3':
resolution: {integrity: sha512-yHquUfujwg6Yu4Fd1GNHCvidIvJwi/1Xu2DaKl/pfWIA2c1oXkVvawH3NyXhCaFx4OdlYBVX5wvz2f7Aoa/4Xw==}
- '@lezer/javascript@1.5.1':
- resolution: {integrity: sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw==}
+ '@lezer/javascript@1.5.2':
+ resolution: {integrity: sha512-oJDMyptbtS/zhSi/uOszsqCm7/0l6QpbnvjoXBgNiFlk4NHrqoP/+psiVxYKYe9GHRr6K7jBSxwmIW61TrtZOQ==}
'@lezer/json@1.0.3':
resolution: {integrity: sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==}
@@ -491,68 +487,68 @@ packages:
'@mermaid-js/parser@0.6.2':
resolution: {integrity: sha512-+PO02uGF6L6Cs0Bw8RpGhikVvMWEysfAyl27qTlroUB8jSWr1lL0Sf6zi78ZxlSnmgSY2AMMKVgghnN9jTtwkQ==}
- '@napi-rs/canvas-android-arm64@0.1.78':
- resolution: {integrity: sha512-N1ikxztjrRmh8xxlG5kYm1RuNr8ZW1EINEDQsLhhuy7t0pWI/e7SH91uFVLZKCMDyjel1tyWV93b5fdCAi7ggw==}
+ '@napi-rs/canvas-android-arm64@0.1.79':
+ resolution: {integrity: sha512-ih6ZIztNDEXl7axvC4swOwLFrM9lOyJa9VAMq7xIBtEZhR/8IVDa0ZTup2fZEiTCmnjmXolzv7uDviHkOTEMKQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [android]
- '@napi-rs/canvas-darwin-arm64@0.1.78':
- resolution: {integrity: sha512-FA3aCU3G5yGc74BSmnLJTObnZRV+HW+JBTrsU+0WVVaNyVKlb5nMvYAQuieQlRVemsAA2ek2c6nYtHh6u6bwFw==}
+ '@napi-rs/canvas-darwin-arm64@0.1.79':
+ resolution: {integrity: sha512-REMz1Fac2VlOYJDg+JjmQWSJc459cCgVom6GvKwWkDqzSjvG9BSo72MDmQY3uhb7r49Xuz5gTFcLYTfNcm4MoA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@napi-rs/canvas-darwin-x64@0.1.78':
- resolution: {integrity: sha512-xVij69o9t/frixCDEoyWoVDKgE3ksLGdmE2nvBWVGmoLu94MWUlv2y4Qzf5oozBmydG5Dcm4pRHFBM7YWa1i6g==}
+ '@napi-rs/canvas-darwin-x64@0.1.79':
+ resolution: {integrity: sha512-uQxLg6Bll7zv/ljp/YIeiUFWfV9C/ESv+2ioUh60hIAypuhtg6hhtWE/KnoW7G48wQls5VUStvEnJbnJ7bPKlA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@napi-rs/canvas-linux-arm-gnueabihf@0.1.78':
- resolution: {integrity: sha512-aSEXrLcIpBtXpOSnLhTg4jPsjJEnK7Je9KqUdAWjc7T8O4iYlxWxrXFIF8rV8J79h5jNdScgZpAUWYnEcutR3g==}
+ '@napi-rs/canvas-linux-arm-gnueabihf@0.1.79':
+ resolution: {integrity: sha512-X37B//TVIipL/3RyvyfNlbQK2uyIaK3PJ2bH7ZeU+jpkaYprBsV15GCN/LHTYAi6R0F/c53zK3aSFNKkGHM/Og==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
- '@napi-rs/canvas-linux-arm64-gnu@0.1.78':
- resolution: {integrity: sha512-dlEPRX1hLGKaY3UtGa1dtkA1uGgFITn2mDnfI6YsLlYyLJQNqHx87D1YTACI4zFCUuLr/EzQDzuX+vnp9YveVg==}
+ '@napi-rs/canvas-linux-arm64-gnu@0.1.79':
+ resolution: {integrity: sha512-+T1fuau1heabE6zGXiqZBGPH5fTIQF+xEu/u4fuugxEiChRYlhnPjkw26MBi8ePg/jmzxLfJEij6LMJQ4AQa2A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@napi-rs/canvas-linux-arm64-musl@0.1.78':
- resolution: {integrity: sha512-TsCfjOPZtm5Q/NO1EZHR5pwDPSPjPEttvnv44GL32Zn1uvudssjTLbvaG1jHq81Qxm16GTXEiYLmx4jOLZQYlg==}
+ '@napi-rs/canvas-linux-arm64-musl@0.1.79':
+ resolution: {integrity: sha512-KsrsR3+6uXv70W/1/kY0yRK4/bbdJgA1Vuxw4KyfSc6mjl1DMoYXDAjpBT/5w7AXy6cGG44jm3upvvt/y/dPfg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@napi-rs/canvas-linux-riscv64-gnu@0.1.78':
- resolution: {integrity: sha512-+cpTTb0GDshEow/5Fy8TpNyzaPsYb3clQIjgWRmzRcuteLU+CHEU/vpYvAcSo7JxHYPJd8fjSr+qqh+nI5AtmA==}
+ '@napi-rs/canvas-linux-riscv64-gnu@0.1.79':
+ resolution: {integrity: sha512-EXaENnSJD6au6z4aKN2PpU9eVNWUsRI2cApm8gCa0WSRMaiYXZsFkXQmhB+Vz2pXahOS8BN2Zd8S1IeML/LCtg==}
engines: {node: '>= 10'}
cpu: [riscv64]
os: [linux]
- '@napi-rs/canvas-linux-x64-gnu@0.1.78':
- resolution: {integrity: sha512-wxRcvKfvYBgtrO0Uy8OmwvjlnTcHpY45LLwkwVNIWHPqHAsyoTyG/JBSfJ0p5tWRzMOPDCDqdhpIO4LOgXjeyg==}
+ '@napi-rs/canvas-linux-x64-gnu@0.1.79':
+ resolution: {integrity: sha512-3xZhHlE9e3cd9D7Comy6/TTSs/8PUGXEXymIwYQrA1QxHojAlAOFlVai4rffzXd0bHylZu+/wD76LodvYqF1Yw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@napi-rs/canvas-linux-x64-musl@0.1.78':
- resolution: {integrity: sha512-vQFOGwC9QDP0kXlhb2LU1QRw/humXgcbVp8mXlyBqzc/a0eijlLF9wzyarHC1EywpymtS63TAj8PHZnhTYN6hg==}
+ '@napi-rs/canvas-linux-x64-musl@0.1.79':
+ resolution: {integrity: sha512-4yv550uCjIEoTFgrpxYZK67nFlDMCQa3LAheM2QrO+B8w1p5w04usIQSCHqHe6aPWlbLQCIqfVcew6/7Q4KuHg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@napi-rs/canvas-win32-x64-msvc@0.1.78':
- resolution: {integrity: sha512-/eKlTZBtGUgpRKalzOzRr6h7KVSuziESWXgBcBnXggZmimwIJWPJlEcbrx5Tcwj8rPuZiANXQOG9pPgy9Q4LTQ==}
+ '@napi-rs/canvas-win32-x64-msvc@0.1.79':
+ resolution: {integrity: sha512-sD5qP2njBRnhNlTNFJDdpeCN6aR3qVamLySTwhX3ec8sdfeT/chf/x2dw2UXoIGMoVaVk/y2ifwxBj/h2a2jug==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
- '@napi-rs/canvas@0.1.78':
- resolution: {integrity: sha512-YaBHJvT+T1DoP16puvWM6w46Lq3VhwKIJ8th5m1iEJyGh7mibk5dT7flBvMQ1EH1LYmMzXJ+OUhu+8wQ9I6u7g==}
+ '@napi-rs/canvas@0.1.79':
+ resolution: {integrity: sha512-0SkvRRjyxY35eniEsQsjPYUMWunKlAWvionJOzJJADZF5ZDf/sL+ncJbMTV5LUiHg1iHOvVjWcuDOx/GNXr/lA==}
engines: {node: '>= 10'}
'@nodelib/fs.scandir@2.1.5':
@@ -695,8 +691,8 @@ packages:
'@types/mocha@10.0.10':
resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==}
- '@types/node@24.3.0':
- resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==}
+ '@types/node@24.3.1':
+ resolution: {integrity: sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==}
'@types/toastify-js@1.12.4':
resolution: {integrity: sha512-zfZHU4tKffPCnZRe7pjv/eFKzTVHozKewFCKaCjZ4gFinKgJRz/t0bkZiMCXJxPhv/ZoeDGNOeRD09R0kQZ/nw==}
@@ -704,63 +700,63 @@ packages:
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
- '@typescript-eslint/eslint-plugin@8.42.0':
- resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==}
+ '@typescript-eslint/eslint-plugin@8.43.0':
+ resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.42.0
+ '@typescript-eslint/parser': ^8.43.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.42.0':
- resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==}
+ '@typescript-eslint/parser@8.43.0':
+ resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.42.0':
- resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==}
+ '@typescript-eslint/project-service@8.43.0':
+ resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.42.0':
- resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
+ '@typescript-eslint/scope-manager@8.43.0':
+ resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.42.0':
- resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
+ '@typescript-eslint/tsconfig-utils@8.43.0':
+ resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.42.0':
- resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==}
+ '@typescript-eslint/type-utils@8.43.0':
+ resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.42.0':
- resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
+ '@typescript-eslint/types@8.43.0':
+ resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.42.0':
- resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
+ '@typescript-eslint/typescript-estree@8.43.0':
+ resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.42.0':
- resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
+ '@typescript-eslint/utils@8.43.0':
+ resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.42.0':
- resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
+ '@typescript-eslint/visitor-keys@8.43.0':
+ resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
acorn-jsx@5.3.2:
@@ -780,16 +776,16 @@ packages:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- ansi-regex@6.2.0:
- resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
engines: {node: '>=12'}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
engines: {node: '>=12'}
argparse@2.0.1:
@@ -1264,8 +1260,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.34.0:
- resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==}
+ eslint@9.35.0:
+ resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -1660,9 +1656,9 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
- marked@16.2.1:
- resolution: {integrity: sha512-r3UrXED9lMlHF97jJByry90cwrZBBvZmjG1L68oYfuPMW+uDTnuMbyJDymCWwbTE+f+3LhpNDKfpR3a3saFyjA==}
- engines: {node: '>= 20'}
+ marked@15.0.12:
+ resolution: {integrity: sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==}
+ engines: {node: '>= 18'}
hasBin: true
math-intrinsics@1.1.0:
@@ -1676,8 +1672,8 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
- mermaid@11.10.1:
- resolution: {integrity: sha512-0PdeADVWURz7VMAX0+MiMcgfxFKY4aweSGsjgFihe3XlMKNqmai/cugMrqTd3WNHM93V+K+AZL6Wu6tB5HmxRw==}
+ mermaid@11.11.0:
+ resolution: {integrity: sha512-9lb/VNkZqWTRjVgCV+l1N+t4kyi94y+l5xrmBmbbxZYkfRl5hEDaTPMOcaWKCl1McG8nBEaMlWwkcAEEgjhBgg==}
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
@@ -1711,8 +1707,8 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- npm-check-updates@18.0.3:
- resolution: {integrity: sha512-IMZWxgAa5gpDVEle2KOZOMLfCu2/9FV+xsXQjPFt2OV0dyZixn0OJrZ9NxUcWgr/ZTGogmZtE0Cb8x2wlsVULg==}
+ npm-check-updates@18.1.0:
+ resolution: {integrity: sha512-1TQ6fO4HxVW4K/TWUPOa1KRbaL0Y9+CgDJeTkrA3c4YFgaW8uoxllCKlm4OM/28C9E9NR3MlkxtcFs0Z1VaCPg==}
engines: {node: ^18.18.0 || >=20.0.0, npm: '>=8.12.1'}
hasBin: true
@@ -1979,8 +1975,8 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
engines: {node: '>=12'}
strip-bom@3.0.0:
@@ -2167,7 +2163,7 @@ snapshots:
package-manager-detector: 1.3.0
tinyexec: 1.0.1
- '@antfu/utils@8.1.1': {}
+ '@antfu/utils@9.2.0': {}
'@braintree/sanitize-url@7.1.1': {}
@@ -2248,7 +2244,7 @@ snapshots:
'@codemirror/state': 6.5.2
'@codemirror/view': 6.38.2
'@lezer/common': 1.2.3
- '@lezer/javascript': 1.5.1
+ '@lezer/javascript': 1.5.2
'@codemirror/lang-json@6.0.2':
dependencies:
@@ -2405,9 +2401,9 @@ snapshots:
'@esbuild/win32-x64@0.25.9':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0)':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)':
dependencies:
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
@@ -2440,7 +2436,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.34.0': {}
+ '@eslint/js@9.35.0': {}
'@eslint/object-schema@2.1.6': {}
@@ -2451,23 +2447,21 @@ snapshots:
'@humanfs/core@0.19.1': {}
- '@humanfs/node@0.16.6':
+ '@humanfs/node@0.16.7':
dependencies:
'@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
+ '@humanwhocodes/retry': 0.4.3
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/retry@0.3.1': {}
-
'@humanwhocodes/retry@0.4.3': {}
'@iconify/types@2.0.0': {}
- '@iconify/utils@2.3.0':
+ '@iconify/utils@3.0.1':
dependencies:
'@antfu/install-pkg': 1.1.0
- '@antfu/utils': 8.1.1
+ '@antfu/utils': 9.2.0
'@iconify/types': 2.0.0
debug: 4.4.1(supports-color@8.1.1)
globals: 15.15.0
@@ -2481,7 +2475,7 @@ snapshots:
dependencies:
string-width: 5.1.2
string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
+ 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
@@ -2522,7 +2516,7 @@ snapshots:
'@lezer/highlight': 1.2.1
'@lezer/lr': 1.4.2
- '@lezer/javascript@1.5.1':
+ '@lezer/javascript@1.5.2':
dependencies:
'@lezer/common': 1.2.3
'@lezer/highlight': 1.2.1
@@ -2575,48 +2569,48 @@ snapshots:
dependencies:
langium: 3.3.1
- '@napi-rs/canvas-android-arm64@0.1.78':
+ '@napi-rs/canvas-android-arm64@0.1.79':
optional: true
- '@napi-rs/canvas-darwin-arm64@0.1.78':
+ '@napi-rs/canvas-darwin-arm64@0.1.79':
optional: true
- '@napi-rs/canvas-darwin-x64@0.1.78':
+ '@napi-rs/canvas-darwin-x64@0.1.79':
optional: true
- '@napi-rs/canvas-linux-arm-gnueabihf@0.1.78':
+ '@napi-rs/canvas-linux-arm-gnueabihf@0.1.79':
optional: true
- '@napi-rs/canvas-linux-arm64-gnu@0.1.78':
+ '@napi-rs/canvas-linux-arm64-gnu@0.1.79':
optional: true
- '@napi-rs/canvas-linux-arm64-musl@0.1.78':
+ '@napi-rs/canvas-linux-arm64-musl@0.1.79':
optional: true
- '@napi-rs/canvas-linux-riscv64-gnu@0.1.78':
+ '@napi-rs/canvas-linux-riscv64-gnu@0.1.79':
optional: true
- '@napi-rs/canvas-linux-x64-gnu@0.1.78':
+ '@napi-rs/canvas-linux-x64-gnu@0.1.79':
optional: true
- '@napi-rs/canvas-linux-x64-musl@0.1.78':
+ '@napi-rs/canvas-linux-x64-musl@0.1.79':
optional: true
- '@napi-rs/canvas-win32-x64-msvc@0.1.78':
+ '@napi-rs/canvas-win32-x64-msvc@0.1.79':
optional: true
- '@napi-rs/canvas@0.1.78':
+ '@napi-rs/canvas@0.1.79':
optionalDependencies:
- '@napi-rs/canvas-android-arm64': 0.1.78
- '@napi-rs/canvas-darwin-arm64': 0.1.78
- '@napi-rs/canvas-darwin-x64': 0.1.78
- '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.78
- '@napi-rs/canvas-linux-arm64-gnu': 0.1.78
- '@napi-rs/canvas-linux-arm64-musl': 0.1.78
- '@napi-rs/canvas-linux-riscv64-gnu': 0.1.78
- '@napi-rs/canvas-linux-x64-gnu': 0.1.78
- '@napi-rs/canvas-linux-x64-musl': 0.1.78
- '@napi-rs/canvas-win32-x64-msvc': 0.1.78
+ '@napi-rs/canvas-android-arm64': 0.1.79
+ '@napi-rs/canvas-darwin-arm64': 0.1.79
+ '@napi-rs/canvas-darwin-x64': 0.1.79
+ '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.79
+ '@napi-rs/canvas-linux-arm64-gnu': 0.1.79
+ '@napi-rs/canvas-linux-arm64-musl': 0.1.79
+ '@napi-rs/canvas-linux-riscv64-gnu': 0.1.79
+ '@napi-rs/canvas-linux-x64-gnu': 0.1.79
+ '@napi-rs/canvas-linux-x64-musl': 0.1.79
+ '@napi-rs/canvas-win32-x64-msvc': 0.1.79
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -2773,7 +2767,7 @@ snapshots:
'@types/mocha@10.0.10': {}
- '@types/node@24.3.0':
+ '@types/node@24.3.1':
dependencies:
undici-types: 7.10.0
@@ -2782,15 +2776,15 @@ snapshots:
'@types/trusted-types@2.0.7':
optional: true
- '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
- eslint: 9.34.0
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
+ eslint: 9.35.0
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -2799,56 +2793,56 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.34.0
+ eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/project-service@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
debug: 4.4.1(supports-color@8.1.1)
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.42.0':
+ '@typescript-eslint/scope-manager@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
- '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)':
dependencies:
typescript: 5.9.2
- '@typescript-eslint/type-utils@8.42.0(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
debug: 4.4.1(supports-color@8.1.1)
- eslint: 9.34.0
+ eslint: 9.35.0
ts-api-utils: 2.1.0(typescript@5.9.2)
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.42.0': {}
+ '@typescript-eslint/types@8.43.0': {}
- '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/project-service': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1(supports-color@8.1.1)
fast-glob: 3.3.3
is-glob: 4.0.3
@@ -2859,20 +2853,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.42.0(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- eslint: 9.34.0
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.42.0':
+ '@typescript-eslint/visitor-keys@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/types': 8.43.0
eslint-visitor-keys: 4.2.1
acorn-jsx@5.3.2(acorn@8.15.0):
@@ -2890,13 +2884,13 @@ snapshots:
ansi-regex@5.0.1: {}
- ansi-regex@6.2.0: {}
+ ansi-regex@6.2.2: {}
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
- ansi-styles@6.2.1: {}
+ ansi-styles@6.2.3: {}
argparse@2.0.1: {}
@@ -3438,9 +3432,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@10.1.8(eslint@9.34.0):
+ eslint-config-prettier@10.1.8(eslint@9.35.0):
dependencies:
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -3450,17 +3444,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.34.0):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- eslint: 9.34.0
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -3469,9 +3463,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.34.0)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -3483,20 +3477,20 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.34.0))(eslint@9.34.0)(prettier@3.6.2):
+ eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.35.0))(eslint@9.35.0)(prettier@3.6.2):
dependencies:
- eslint: 9.34.0
+ eslint: 9.35.0
prettier: 3.6.2
prettier-linter-helpers: 1.0.0
synckit: 0.11.11
optionalDependencies:
- eslint-config-prettier: 10.1.8(eslint@9.34.0)
+ eslint-config-prettier: 10.1.8(eslint@9.35.0)
eslint-scope@8.4.0:
dependencies:
@@ -3507,17 +3501,17 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.34.0:
+ eslint@9.35.0:
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0)
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.21.0
'@eslint/config-helpers': 0.3.1
'@eslint/core': 0.15.2
'@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.34.0
+ '@eslint/js': 9.35.0
'@eslint/plugin-kit': 0.3.5
- '@humanfs/node': 0.16.6
+ '@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8
@@ -3927,7 +3921,7 @@ snapshots:
lru-cache@10.4.3: {}
- marked@16.2.1: {}
+ marked@15.0.12: {}
math-intrinsics@1.1.0: {}
@@ -3937,10 +3931,10 @@ snapshots:
merge2@1.4.1: {}
- mermaid@11.10.1:
+ mermaid@11.11.0:
dependencies:
'@braintree/sanitize-url': 7.1.1
- '@iconify/utils': 2.3.0
+ '@iconify/utils': 3.0.1
'@mermaid-js/parser': 0.6.2
'@types/d3': 7.4.3
cytoscape: 3.33.1
@@ -3954,7 +3948,7 @@ snapshots:
katex: 0.16.22
khroma: 2.1.0
lodash-es: 4.17.21
- marked: 16.2.1
+ marked: 15.0.12
roughjs: 4.6.6
stylis: 4.3.6
ts-dedent: 2.2.0
@@ -4013,7 +4007,7 @@ snapshots:
natural-compare@1.4.0: {}
- npm-check-updates@18.0.3: {}
+ npm-check-updates@18.1.0: {}
object-inspect@1.13.4: {}
@@ -4096,7 +4090,7 @@ snapshots:
pdfjs-dist@5.4.149:
optionalDependencies:
- '@napi-rs/canvas': 0.1.78
+ '@napi-rs/canvas': 0.1.79
picocolors@1.1.1: {}
@@ -4294,7 +4288,7 @@ snapshots:
dependencies:
eastasianwidth: 0.2.0
emoji-regex: 9.2.2
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
string.prototype.trim@1.2.10:
dependencies:
@@ -4323,9 +4317,9 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
- strip-ansi@7.1.0:
+ strip-ansi@7.1.2:
dependencies:
- ansi-regex: 6.2.0
+ ansi-regex: 6.2.2
strip-bom@3.0.0: {}
@@ -4504,9 +4498,9 @@ snapshots:
wrap-ansi@8.1.0:
dependencies:
- ansi-styles: 6.2.1
+ ansi-styles: 6.2.3
string-width: 5.1.2
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
y18n@5.0.8: {}
diff --git a/client/src/CodeMirror-integration.mts b/client/src/CodeMirror-integration.mts
index 64bea408..9a2b1d71 100644
--- a/client/src/CodeMirror-integration.mts
+++ b/client/src/CodeMirror-integration.mts
@@ -186,7 +186,6 @@ export const docBlockField = StateField.define({
effect.value.indent,
effect.value.delimiter,
effect.value.content,
- null,
),
...decorationOptions,
}).range(effect.value.from, effect.value.to),
@@ -273,7 +272,6 @@ export const docBlockField = StateField.define({
prev.spec.widget.contents,
effect.value.contents,
),
- effect.value.dom ?? prev.spec.widget.dom,
),
...decorationOptions,
}).range(from, to),
@@ -324,12 +322,7 @@ export const docBlockField = StateField.define({
contents,
]: CodeMirrorDocBlockTuple) =>
Decoration.replace({
- widget: new DocBlockWidget(
- indent,
- delimiter,
- contents,
- null,
- ),
+ widget: new DocBlockWidget(indent, delimiter, contents),
...decorationOptions,
}).range(from, to),
),
@@ -369,13 +362,12 @@ type updateDocBlockType = {
indent?: string;
delimiter?: string;
contents: string | StringDiff[];
- dom?: HTMLDivElement;
};
// Define an update.
export const updateDocBlock = StateEffect.define({
map: (
- { from, from_new: fromNew, to, indent, delimiter, contents, dom },
+ { from, from_new: fromNew, to, indent, delimiter, contents },
change: ChangeDesc,
) => {
const ret: updateDocBlockType = {
@@ -385,7 +377,6 @@ export const updateDocBlock = StateEffect.define({
indent,
delimiter,
contents,
- dom,
};
if (to !== undefined) {
ret.to = change.mapPos(to);
@@ -409,19 +400,14 @@ export const deleteDocBlock = StateEffect.define<{ from: number }>({
// Create a [widget](https://codemirror.net/docs/ref/#view.WidgetType) which
// contains a doc block.
class DocBlockWidget extends WidgetType {
- dom: null | HTMLDivElement;
constructor(
readonly indent: string,
readonly delimiter: string,
readonly contents: string,
- dom: null | HTMLDivElement
- // Only used in an update to avoid changing an already-modified doc
- // block.
) {
// TODO: I don't understand why I don't need to store the provided
// parameters in the object: `this.indent = indent;`, etc.
super();
- this.dom = dom;
}
eq(other: DocBlockWidget) {
@@ -448,7 +434,6 @@ class DocBlockWidget extends WidgetType {
this.contents +
"";
mathJaxTypeset(wrap);
- this.dom = wrap;
return wrap;
}
@@ -457,6 +442,13 @@ class DocBlockWidget extends WidgetType {
// "Update a DOM element created by a widget of the same type (but
// different, non-eq content) to reflect this widget."
updateDOM(dom: HTMLElement, view: EditorView): boolean {
+ // See if this update was produced by a change in TinyMCE text, which
+ // means the DOM is already updated.
+ if ((dom as any).update_complete === true) {
+ // Yes, so clear this update flag before returning.
+ delete (dom as any).update_complete;
+ return true;
+ }
(dom.childNodes[0] as HTMLDivElement).innerHTML = this.indent;
// The contents div could be a TinyMCE instance, or just a plain div.
@@ -499,7 +491,6 @@ class DocBlockWidget extends WidgetType {
const tinymce_div = document.getElementById("TinyMCE-inst")!;
codechat_body.insertBefore(tinymce_div, null);
}
- this.dom = null;
}
}
@@ -596,6 +587,11 @@ const on_dirty = (
const indent = indent_div.innerHTML;
const delimiter = indent_div.getAttribute("data-delimiter")!;
const [contents_div, is_tinymce] = get_contents(target);
+ // Sorta ugly hack: TinyMCE stores its date in the DOM. CodeMirror stores
+ // state in external structs. We need to update the CodeMirror state, but
+ // not overwrite the DOM with this "new" state, since the DOM is already
+ // updated. So, signal that this "update" is already done.
+ (target as any).update_complete = true;
tinymce_singleton!.save();
const contents = is_tinymce
? tinymce_singleton!.getContent()
@@ -606,7 +602,6 @@ const on_dirty = (
indent,
delimiter,
contents,
- dom: target,
}),
];
@@ -633,9 +628,27 @@ export const DocBlockPlugin = ViewPlugin.fromClass(
main_selection.from,
main_selection.to,
(from: number, to: number, value: Decoration) => {
- // If so, give focus to the contents of the doc
- // block.
- value.spec.widget.dom?.childNodes[1].focus();
+ // Is this range contained within this doc block? If
+ // the ranges also contains element outside it, then
+ // don't capture focus. TODO: not certain on the
+ // bounds -- should I use <= or <, etc.?
+ if (
+ main_selection.from < from ||
+ main_selection.to > main_selection.to
+ ) {
+ return;
+ }
+
+ // Ensure we have a valid dom. This also checks for
+ // undefined.
+ const dom_at_pos = update.view.domAtPos(from);
+ const dom = dom_at_pos.node.childNodes[dom_at_pos.offset] as HTMLDivElement | null;
+ if (dom == null) {
+ return;
+ }
+
+ // Give focus to the contents of the doc block.
+ (dom.childNodes[1] as HTMLElement).focus();
},
);
}
diff --git a/dist-workspace.toml b/dist-workspace.toml
index 8c3064eb..0d75623d 100644
--- a/dist-workspace.toml
+++ b/dist-workspace.toml
@@ -25,7 +25,7 @@ members = ["cargo:server/"]
# Config for 'dist'
[dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
-cargo-dist-version = "0.29.0"
+cargo-dist-version = "0.30.0"
# CI backends to support
ci = "github"
# The installers to generate for each app
diff --git a/extensions/VSCode/package.json b/extensions/VSCode/package.json
index 4a067622..b0a304fc 100644
--- a/extensions/VSCode/package.json
+++ b/extensions/VSCode/package.json
@@ -30,7 +30,7 @@
"type": "git",
"url": "https://github.com/bjones1/CodeChat_Editor"
},
- "version": "0.1.33",
+ "version": "0.1.34",
"activationEvents": [
"onCommand:extension.codeChatEditorActivate",
"onCommand:extension.codeChatEditorDeactivate"
@@ -85,11 +85,11 @@
"@types/escape-html": "^1.0.4",
"@types/vscode": "1.61.0",
"@types/ws": "^8.18.1",
- "@typescript-eslint/eslint-plugin": "^8.42.0",
- "@typescript-eslint/parser": "^8.42.0",
+ "@typescript-eslint/eslint-plugin": "^8.43.0",
+ "@typescript-eslint/parser": "^8.43.0",
"@vscode/vsce": "^3.6.0",
"esbuild": "^0.25.9",
- "eslint": "^9.34.0",
+ "eslint": "^9.35.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-node": "^11.1.0",
diff --git a/extensions/VSCode/pnpm-lock.yaml b/extensions/VSCode/pnpm-lock.yaml
index 91c7fa5f..0a0d6f10 100644
--- a/extensions/VSCode/pnpm-lock.yaml
+++ b/extensions/VSCode/pnpm-lock.yaml
@@ -25,11 +25,11 @@ importers:
specifier: ^8.18.1
version: 8.18.1
'@typescript-eslint/eslint-plugin':
- specifier: ^8.42.0
- version: 8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2)
+ specifier: ^8.43.0
+ version: 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)
'@typescript-eslint/parser':
- specifier: ^8.42.0
- version: 8.42.0(eslint@9.34.0)(typescript@5.9.2)
+ specifier: ^8.43.0
+ version: 8.43.0(eslint@9.35.0)(typescript@5.9.2)
'@vscode/vsce':
specifier: ^3.6.0
version: 3.6.0
@@ -37,17 +37,17 @@ importers:
specifier: ^0.25.9
version: 0.25.9
eslint:
- specifier: ^9.34.0
- version: 9.34.0
+ specifier: ^9.35.0
+ version: 9.35.0
eslint-config-prettier:
specifier: ^10.1.8
- version: 10.1.8(eslint@9.34.0)
+ version: 10.1.8(eslint@9.35.0)
eslint-plugin-import:
specifier: ^2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)
+ version: 2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)
eslint-plugin-node:
specifier: ^11.1.0
- version: 11.1.0(eslint@9.34.0)
+ version: 11.1.0(eslint@9.35.0)
ovsx:
specifier: ^0.10.5
version: 0.10.5
@@ -102,8 +102,8 @@ packages:
resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==}
engines: {node: '>=20.0.0'}
- '@azure/msal-browser@4.21.1':
- resolution: {integrity: sha512-qGtzX3HJfJsOVeDcVrFZAYZoxLRjrW2lXzXqijgiBA5EtM9ud7F/EYgKKQ9TJU/WtE46szuZtQZx5vD4pEiknA==}
+ '@azure/msal-browser@4.22.0':
+ resolution: {integrity: sha512-JLWHzAW1aZ/L190Th56jN+2t3T1dMvXOs1obXYLEr3ZWi81vVmBCt0di3mPvTTOiWoE0Cf/4hVQ/LINilqjObA==}
engines: {node: '>=0.8.0'}
'@azure/msal-common@15.12.0':
@@ -287,8 +287,8 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.7.0':
- resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ '@eslint-community/eslint-utils@4.9.0':
+ resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@@ -313,8 +313,8 @@ packages:
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.34.0':
- resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==}
+ '@eslint/js@9.35.0':
+ resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.6':
@@ -329,18 +329,14 @@ packages:
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
- '@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ '@humanfs/node@0.16.7':
+ resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
- '@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
-
'@humanwhocodes/retry@0.4.3':
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
@@ -541,8 +537,8 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- '@types/node@24.3.0':
- resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==}
+ '@types/node@24.3.1':
+ resolution: {integrity: sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -556,63 +552,63 @@ packages:
'@types/ws@8.18.1':
resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
- '@typescript-eslint/eslint-plugin@8.42.0':
- resolution: {integrity: sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==}
+ '@typescript-eslint/eslint-plugin@8.43.0':
+ resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.42.0
+ '@typescript-eslint/parser': ^8.43.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.42.0':
- resolution: {integrity: sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==}
+ '@typescript-eslint/parser@8.43.0':
+ resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.42.0':
- resolution: {integrity: sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==}
+ '@typescript-eslint/project-service@8.43.0':
+ resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.42.0':
- resolution: {integrity: sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==}
+ '@typescript-eslint/scope-manager@8.43.0':
+ resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.42.0':
- resolution: {integrity: sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==}
+ '@typescript-eslint/tsconfig-utils@8.43.0':
+ resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.42.0':
- resolution: {integrity: sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==}
+ '@typescript-eslint/type-utils@8.43.0':
+ resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.42.0':
- resolution: {integrity: sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==}
+ '@typescript-eslint/types@8.43.0':
+ resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.42.0':
- resolution: {integrity: sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==}
+ '@typescript-eslint/typescript-estree@8.43.0':
+ resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.42.0':
- resolution: {integrity: sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==}
+ '@typescript-eslint/utils@8.43.0':
+ resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.42.0':
- resolution: {integrity: sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==}
+ '@typescript-eslint/visitor-keys@8.43.0':
+ resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typespec/ts-http-runtime@0.3.0':
@@ -700,16 +696,16 @@ packages:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
- ansi-regex@6.2.0:
- resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==}
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
engines: {node: '>=12'}
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
engines: {node: '>=12'}
argparse@1.0.10:
@@ -826,8 +822,8 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chalk@5.6.0:
- resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==}
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
cheerio-select@2.1.0:
@@ -1115,8 +1111,8 @@ packages:
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.34.0:
- resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==}
+ eslint@9.35.0:
+ resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -1608,8 +1604,8 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
- lru-cache@11.1.0:
- resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==}
+ lru-cache@11.2.1:
+ resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==}
engines: {node: 20 || >=22}
lru-cache@6.0.0:
@@ -1685,8 +1681,8 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- node-abi@3.75.0:
- resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==}
+ node-abi@3.77.0:
+ resolution: {integrity: sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==}
engines: {node: '>=10'}
node-addon-api@4.3.0:
@@ -2056,8 +2052,8 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
engines: {node: '>=12'}
strip-bom@3.0.0:
@@ -2367,7 +2363,7 @@ snapshots:
'@azure/core-tracing': 1.3.0
'@azure/core-util': 1.13.0
'@azure/logger': 1.3.0
- '@azure/msal-browser': 4.21.1
+ '@azure/msal-browser': 4.22.0
'@azure/msal-node': 3.7.3
open: 10.2.0
tslib: 2.8.1
@@ -2381,7 +2377,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@azure/msal-browser@4.21.1':
+ '@azure/msal-browser@4.22.0':
dependencies:
'@azure/msal-common': 15.12.0
@@ -2495,9 +2491,9 @@ snapshots:
'@esbuild/win32-x64@0.25.9':
optional: true
- '@eslint-community/eslint-utils@4.7.0(eslint@9.34.0)':
+ '@eslint-community/eslint-utils@4.9.0(eslint@9.35.0)':
dependencies:
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
@@ -2530,7 +2526,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.34.0': {}
+ '@eslint/js@9.35.0': {}
'@eslint/object-schema@2.1.6': {}
@@ -2541,15 +2537,13 @@ snapshots:
'@humanfs/core@0.19.1': {}
- '@humanfs/node@0.16.6':
+ '@humanfs/node@0.16.7':
dependencies:
'@humanfs/core': 0.19.1
- '@humanwhocodes/retry': 0.3.1
+ '@humanwhocodes/retry': 0.4.3
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/retry@0.3.1': {}
-
'@humanwhocodes/retry@0.4.3': {}
'@isaacs/balanced-match@4.0.1': {}
@@ -2562,7 +2556,7 @@ snapshots:
dependencies:
string-width: 5.1.2
string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
+ 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
@@ -2680,10 +2674,10 @@ snapshots:
'@textlint/linter-formatter': 15.2.2
'@textlint/module-interop': 15.2.2
'@textlint/types': 15.2.2
- chalk: 5.6.0
+ chalk: 5.6.2
debug: 4.4.1
pluralize: 8.0.0
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
table: 6.9.0
terminal-link: 4.0.0
transitivePeerDependencies:
@@ -2767,7 +2761,7 @@ snapshots:
'@types/json5@0.0.29': {}
- '@types/node@24.3.0':
+ '@types/node@24.3.1':
dependencies:
undici-types: 7.10.0
@@ -2779,17 +2773,17 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 24.3.0
+ '@types/node': 24.3.1
- '@typescript-eslint/eslint-plugin@8.42.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/type-utils': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
- eslint: 9.34.0
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
+ eslint: 9.35.0
graphemer: 1.4.0
ignore: 7.0.5
natural-compare: 1.4.0
@@ -2798,56 +2792,56 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1
- eslint: 9.34.0
+ eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/project-service@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
debug: 4.4.1
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.42.0':
+ '@typescript-eslint/scope-manager@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
- '@typescript-eslint/tsconfig-utils@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)':
dependencies:
typescript: 5.9.2
- '@typescript-eslint/type-utils@8.42.0(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/utils': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
debug: 4.4.1
- eslint: 9.34.0
+ eslint: 9.35.0
ts-api-utils: 2.1.0(typescript@5.9.2)
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.42.0': {}
+ '@typescript-eslint/types@8.43.0': {}
- '@typescript-eslint/typescript-estree@8.42.0(typescript@5.9.2)':
+ '@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)':
dependencies:
- '@typescript-eslint/project-service': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/tsconfig-utils': 8.42.0(typescript@5.9.2)
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/visitor-keys': 8.42.0
+ '@typescript-eslint/project-service': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/visitor-keys': 8.43.0
debug: 4.4.1
fast-glob: 3.3.3
is-glob: 4.0.3
@@ -2858,20 +2852,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.42.0(eslint@9.34.0)(typescript@5.9.2)':
+ '@typescript-eslint/utils@8.43.0(eslint@9.35.0)(typescript@5.9.2)':
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0)
- '@typescript-eslint/scope-manager': 8.42.0
- '@typescript-eslint/types': 8.42.0
- '@typescript-eslint/typescript-estree': 8.42.0(typescript@5.9.2)
- eslint: 9.34.0
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0)
+ '@typescript-eslint/scope-manager': 8.43.0
+ '@typescript-eslint/types': 8.43.0
+ '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2)
+ eslint: 9.35.0
typescript: 5.9.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.42.0':
+ '@typescript-eslint/visitor-keys@8.43.0':
dependencies:
- '@typescript-eslint/types': 8.42.0
+ '@typescript-eslint/types': 8.43.0
eslint-visitor-keys: 4.2.1
'@typespec/ts-http-runtime@0.3.0':
@@ -2985,13 +2979,13 @@ snapshots:
ansi-regex@5.0.1: {}
- ansi-regex@6.2.0: {}
+ ansi-regex@6.2.2: {}
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
- ansi-styles@6.2.1: {}
+ ansi-styles@6.2.3: {}
argparse@1.0.10:
dependencies:
@@ -3140,7 +3134,7 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chalk@5.6.0: {}
+ chalk@5.6.2: {}
cheerio-select@2.1.0:
dependencies:
@@ -3439,9 +3433,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@10.1.8(eslint@9.34.0):
+ eslint-config-prettier@10.1.8(eslint@9.35.0):
dependencies:
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -3451,23 +3445,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.34.0):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
- eslint: 9.34.0
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
+ eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-es@3.0.1(eslint@9.34.0):
+ eslint-plugin-es@3.0.1(eslint@9.35.0):
dependencies:
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-utils: 2.1.0
regexpp: 3.2.0
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint@9.34.0):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint@9.35.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -3476,9 +3470,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 9.34.0
+ eslint: 9.35.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.42.0(eslint@9.34.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.34.0)
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.43.0(eslint@9.35.0)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.35.0)
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@@ -3490,16 +3484,16 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.42.0(eslint@9.34.0)(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.43.0(eslint@9.35.0)(typescript@5.9.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-node@11.1.0(eslint@9.34.0):
+ eslint-plugin-node@11.1.0(eslint@9.35.0):
dependencies:
- eslint: 9.34.0
- eslint-plugin-es: 3.0.1(eslint@9.34.0)
+ eslint: 9.35.0
+ eslint-plugin-es: 3.0.1(eslint@9.35.0)
eslint-utils: 2.1.0
ignore: 5.3.2
minimatch: 3.1.2
@@ -3521,17 +3515,17 @@ snapshots:
eslint-visitor-keys@4.2.1: {}
- eslint@9.34.0:
+ eslint@9.35.0:
dependencies:
- '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0)
+ '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0)
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.21.0
'@eslint/config-helpers': 0.3.1
'@eslint/core': 0.15.2
'@eslint/eslintrc': 3.3.1
- '@eslint/js': 9.34.0
+ '@eslint/js': 9.35.0
'@eslint/plugin-kit': 0.3.5
- '@humanfs/node': 0.16.6
+ '@humanfs/node': 0.16.7
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8
@@ -4063,7 +4057,7 @@ snapshots:
lru-cache@10.4.3: {}
- lru-cache@11.1.0: {}
+ lru-cache@11.2.1: {}
lru-cache@6.0.0:
dependencies:
@@ -4128,7 +4122,7 @@ snapshots:
natural-compare@1.4.0: {}
- node-abi@3.75.0:
+ node-abi@3.77.0:
dependencies:
semver: 7.7.2
optional: true
@@ -4275,7 +4269,7 @@ snapshots:
path-scurry@2.0.0:
dependencies:
- lru-cache: 11.1.0
+ lru-cache: 11.2.1
minipass: 7.1.2
path-type@6.0.0: {}
@@ -4300,7 +4294,7 @@ snapshots:
minimist: 1.2.8
mkdirp-classic: 0.5.3
napi-build-utils: 2.0.0
- node-abi: 3.75.0
+ node-abi: 3.77.0
pump: 3.0.3
rc: 1.2.8
simple-get: 4.0.1
@@ -4556,7 +4550,7 @@ snapshots:
dependencies:
eastasianwidth: 0.2.0
emoji-regex: 9.2.2
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
string.prototype.trim@1.2.10:
dependencies:
@@ -4590,9 +4584,9 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
- strip-ansi@7.1.0:
+ strip-ansi@7.1.2:
dependencies:
- ansi-regex: 6.2.0
+ ansi-regex: 6.2.2
strip-bom@3.0.0: {}
@@ -4825,9 +4819,9 @@ snapshots:
wrap-ansi@8.1.0:
dependencies:
- ansi-styles: 6.2.1
+ ansi-styles: 6.2.3
string-width: 5.1.2
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
wrappy@1.0.2:
optional: true
diff --git a/extensions/VSCode/src/extension.ts b/extensions/VSCode/src/extension.ts
index 29750806..6b07b752 100644
--- a/extensions/VSCode/src/extension.ts
+++ b/extensions/VSCode/src/extension.ts
@@ -147,7 +147,7 @@ export const activate = (context: vscode.ExtensionContext) => {
ignore_active_editor_change = false;
return;
}
- current_file();
+ send_update(false);
}),
);
@@ -343,7 +343,7 @@ export const activate = (context: vscode.ExtensionContext) => {
codechat_client_location ===
CodeChatEditorClientLocation.browser
) {
- current_file();
+ send_update(false);
}
});
@@ -571,7 +571,7 @@ export const activate = (context: vscode.ExtensionContext) => {
send_result(id);
// Now that the Client is loaded, send the
// editor's current file to the server.
- current_file();
+ send_update(false);
break;
}
@@ -665,9 +665,9 @@ const send_result = (id: number, result: MessageResult = { Ok: "Void" }) => {
websocket.send(JSON.stringify(jm));
};
-// This is called after an event such as an edit, or when the CodeChat panel
-// becomes visible. Wait a bit in case any other events occur, then request a
-// render.
+// This is called after an event such as an edit, when the CodeChat panel
+// becomes visible, or when the current editor changes. Wait a bit in case any
+// other events occur, then request a render.
const send_update = (this_is_dirty: boolean) => {
is_dirty ||= this_is_dirty;
if (can_render()) {
@@ -679,6 +679,22 @@ const send_update = (this_is_dirty: boolean) => {
idle_timer = setTimeout(() => {
if (can_render()) {
const ate = vscode.window.activeTextEditor!;
+ if (ate !== current_editor) {
+ // Send a new current file after a short delay; this allows
+ // the user to rapidly cycle through several editors without
+ // needing to reload the Client with each cycle.
+ current_editor = ate;
+ send_message({
+ CurrentFile: [ate!.document.fileName, null],
+ });
+ // Since we just requested a new file, the contents are
+ // clean by definition.
+ is_dirty = false;
+ // Don't send an updated cursor position until this file is
+ // loaded.
+ return;
+ }
+
// The
// [Position](https://code.visualstudio.com/api/references/vscode-api#Position)
// encodes the line as a zero-based value. In contrast,
@@ -711,17 +727,6 @@ const send_update = (this_is_dirty: boolean) => {
}
};
-const current_file = () => {
- // Only send a new current file is there's a change.
- const ate = vscode.window.activeTextEditor;
- if (can_render() && ate !== current_editor) {
- current_editor = ate;
- send_message({
- CurrentFile: [ate!.document.fileName, null],
- });
- }
-};
-
// Gracefully shut down the render client if possible. Shut down the client as
// well.
const stop_client = async () => {
diff --git a/server/Cargo.lock b/server/Cargo.lock
index a06cdf61..52b69e57 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -72,7 +72,7 @@ dependencies = [
"mime",
"percent-encoding",
"pin-project-lite",
- "rand 0.9.2",
+ "rand",
"sha1",
"smallvec",
"tokio",
@@ -277,12 +277,6 @@ dependencies = [
"alloc-no-stdlib",
]
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
[[package]]
name = "android_system_properties"
version = "0.1.5"
@@ -514,9 +508,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.35"
+version = "1.2.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "590f9024a68a8c40351881787f1934dc11afd69090f5edb6831464694d836ea3"
+checksum = "5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -538,16 +532,15 @@ checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
[[package]]
name = "chrono"
-version = "0.4.41"
+version = "0.4.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
+checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
dependencies = [
- "android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
"wasm-bindgen",
- "windows-link",
+ "windows-link 0.2.0",
]
[[package]]
@@ -592,7 +585,7 @@ checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
[[package]]
name = "codechat-editor-server"
-version = "0.1.33"
+version = "0.1.34"
dependencies = [
"actix-files",
"actix-http",
@@ -755,17 +748,6 @@ dependencies = [
"powerfmt",
]
-[[package]]
-name = "derivative"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
[[package]]
name = "derive_more"
version = "2.0.1"
@@ -887,9 +869,9 @@ dependencies = [
[[package]]
name = "find-msvc-tools"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e178e4fba8a2726903f6ba98a6d221e76f9c12c650d5dc0e6afdc50677b49650"
+checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d"
[[package]]
name = "flate2"
@@ -1004,17 +986,6 @@ dependencies = [
"version_check",
]
-[[package]]
-name = "getrandom"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.11.1+wasi-snapshot-preview1",
-]
-
[[package]]
name = "getrandom"
version = "0.3.3"
@@ -1024,7 +995,7 @@ dependencies = [
"cfg-if",
"libc",
"r-efi",
- "wasi 0.14.3+wasi-0.2.4",
+ "wasi 0.14.4+wasi-0.2.4",
]
[[package]]
@@ -1396,15 +1367,15 @@ version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
dependencies = [
- "getrandom 0.3.3",
+ "getrandom",
"libc",
]
[[package]]
name = "js-sys"
-version = "0.3.77"
+version = "0.3.78"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738"
dependencies = [
"once_cell",
"wasm-bindgen",
@@ -1500,9 +1471,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.27"
+version = "0.4.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
dependencies = [
"serde",
]
@@ -1515,29 +1486,30 @@ checksum = "a94d21414c1f4a51209ad204c1776a3d0765002c76c6abcb602a6f09f1e881c7"
[[package]]
name = "log4rs"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0816135ae15bd0391cf284eab37e6e3ee0a6ee63d2ceeb659862bd8d0a984ca6"
+checksum = "3e947bb896e702c711fccc2bf02ab2abb6072910693818d1d6b07ee2b9dfd86c"
dependencies = [
"anyhow",
"arc-swap",
"chrono",
- "derivative",
+ "derive_more",
"fnv",
"humantime",
"libc",
"log",
"log-mdc",
- "once_cell",
+ "mock_instant",
"parking_lot",
- "rand 0.8.5",
+ "rand",
"serde",
"serde-value",
"serde_json",
"serde_yaml",
- "thiserror 1.0.69",
+ "thiserror 2.0.16",
"thread-id",
"typemap-ors",
+ "unicode-segmentation",
"winapi",
]
@@ -1584,12 +1556,9 @@ dependencies = [
[[package]]
name = "minreq"
-version = "2.14.0"
+version = "2.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84885312a86831bff4a3cb04a1e54a3f698407e3274c83249313f194d3e0b678"
-dependencies = [
- "log",
-]
+checksum = "05015102dad0f7d61691ca347e9d9d9006685a64aefb3d79eecf62665de2153d"
[[package]]
name = "mio"
@@ -1603,6 +1572,12 @@ dependencies = [
"windows-sys 0.59.0",
]
+[[package]]
+name = "mock_instant"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dce6dd36094cac388f119d2e9dc82dc730ef91c32a6222170d630e5414b956e6"
+
[[package]]
name = "ndk-context"
version = "0.1.1"
@@ -1850,7 +1825,7 @@ dependencies = [
"hmac",
"md-5",
"memchr",
- "rand 0.9.2",
+ "rand",
"sha2",
"stringprep",
]
@@ -1973,35 +1948,14 @@ version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
[[package]]
name = "rand"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
- "rand_chacha 0.9.0",
- "rand_core 0.9.3",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
+ "rand_chacha",
+ "rand_core",
]
[[package]]
@@ -2011,16 +1965,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
- "rand_core 0.9.3",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.16",
+ "rand_core",
]
[[package]]
@@ -2029,7 +1974,7 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
- "getrandom 0.3.3",
+ "getrandom",
]
[[package]]
@@ -2333,7 +2278,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e"
dependencies = [
"fastrand",
- "getrandom 0.3.3",
+ "getrandom",
"once_cell",
"rustix",
"windows-sys 0.60.2",
@@ -2396,12 +2341,12 @@ dependencies = [
[[package]]
name = "thread-id"
-version = "4.2.2"
+version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfe8f25bbdd100db7e1d34acf7fd2dc59c4bf8f7483f505eaa7d4f12f76cc0ea"
+checksum = "99043e46c5a15af379c06add30d9c93a6c0e8849de00d244c4a2c417da128d80"
dependencies = [
"libc",
- "winapi",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -2509,7 +2454,7 @@ dependencies = [
"pin-project-lite",
"postgres-protocol",
"postgres-types",
- "rand 0.9.2",
+ "rand",
"socket2 0.5.10",
"tokio",
"tokio-util",
@@ -2606,7 +2551,7 @@ dependencies = [
"http 1.3.1",
"httparse",
"log",
- "rand 0.9.2",
+ "rand",
"sha1",
"thiserror 2.0.16",
"utf-8",
@@ -2666,6 +2611,12 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
[[package]]
name = "unicode-xid"
version = "0.2.6"
@@ -2762,9 +2713,9 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasi"
-version = "0.14.3+wasi-0.2.4"
+version = "0.14.4+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95"
+checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a"
dependencies = [
"wit-bindgen",
]
@@ -2777,21 +2728,22 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
[[package]]
name = "wasm-bindgen"
-version = "0.2.100"
+version = "0.2.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b"
dependencies = [
"cfg-if",
"once_cell",
"rustversion",
"wasm-bindgen-macro",
+ "wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.100"
+version = "0.2.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
+checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb"
dependencies = [
"bumpalo",
"log",
@@ -2803,9 +2755,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.100"
+version = "0.2.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -2813,9 +2765,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.100"
+version = "0.2.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa"
dependencies = [
"proc-macro2",
"quote",
@@ -2826,18 +2778,18 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.100"
+version = "0.2.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1"
dependencies = [
"unicode-ident",
]
[[package]]
name = "web-sys"
-version = "0.3.77"
+version = "0.3.78"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
+checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -2897,11 +2849,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
-version = "0.1.10"
+version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22"
+checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
- "windows-sys 0.60.2",
+ "windows-sys 0.61.0",
]
[[package]]
@@ -2929,7 +2881,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
"windows-implement",
"windows-interface",
- "windows-link",
+ "windows-link 0.1.3",
"windows-result",
"windows-strings",
]
@@ -2962,13 +2914,19 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
+[[package]]
+name = "windows-link"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
+
[[package]]
name = "windows-result"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
- "windows-link",
+ "windows-link 0.1.3",
]
[[package]]
@@ -2977,7 +2935,7 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
- "windows-link",
+ "windows-link 0.1.3",
]
[[package]]
@@ -3016,6 +2974,15 @@ dependencies = [
"windows-targets 0.53.3",
]
+[[package]]
+name = "windows-sys"
+version = "0.61.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa"
+dependencies = [
+ "windows-link 0.2.0",
+]
+
[[package]]
name = "windows-targets"
version = "0.42.2"
@@ -3053,7 +3020,7 @@ version = "0.53.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
dependencies = [
- "windows-link",
+ "windows-link 0.1.3",
"windows_aarch64_gnullvm 0.53.0",
"windows_aarch64_msvc 0.53.0",
"windows_i686_gnu 0.53.0",
@@ -3220,9 +3187,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
[[package]]
name = "wit-bindgen"
-version = "0.45.0"
+version = "0.45.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814"
+checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36"
[[package]]
name = "writeable"
@@ -3262,18 +3229,18 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.8.26"
+version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
+checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.8.26"
+version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
+checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
dependencies = [
"proc-macro2",
"quote",
@@ -3354,9 +3321,9 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "2.0.15+zstd.1.5.7"
+version = "2.0.16+zstd.1.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237"
+checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748"
dependencies = [
"cc",
"pkg-config",
diff --git a/server/Cargo.toml b/server/Cargo.toml
index ce76b2ad..79b3ad8d 100644
--- a/server/Cargo.toml
+++ b/server/Cargo.toml
@@ -32,7 +32,7 @@ license = "GPL-3.0-only"
name = "codechat-editor-server"
readme = "../README.md"
repository = "https://github.com/bjones1/CodeChat_Editor"
-version = "0.1.33"
+version = "0.1.34"
# This library allows other packages to use core CodeChat Editor features.
[lib]
diff --git a/server/dist.toml b/server/dist.toml
index d7a71954..21b7d0b9 100644
--- a/server/dist.toml
+++ b/server/dist.toml
@@ -24,6 +24,3 @@
# Extra static files to include in each App (path relative to this Cargo.toml's
# dir)
include = ["log4rs.yml", "hashLocations.json", "../client/static"]
-
-[package]
-changelog = "docs/changelog.md"
diff --git a/toc.md b/toc.md
index 7be984fc..4c2b742b 100644
--- a/toc.md
+++ b/toc.md
@@ -5,8 +5,7 @@ User documentation
------------------
1. [The CodeChat Editor manual](README.md)
-2. [The CodeChat Editor extension for Visual Studio Code
- manual](extensions/VSCode/README.md)
+2. [The CodeChat Editor extension for Visual Studio Code manual](extensions/VSCode/README.md)
3. [Literate programming using the CodeChat Editor](docs/style_guide.cpp)
Design
@@ -30,16 +29,21 @@ Implementation
3. [c.pest](server/src/lexer/pest/c.pest)
4. [python.pest](server/src/lexer/pest/python.pest)
4. [webserver.rs](server/src/webserver.rs)
- 1. [filewatcher.rs](server/src/webserver/filewatcher.rs)
- 2. [vscode.rs](server/src/webserver/vscode.rs)
- 3. [log4rs.yml](server/log4rs.yml)
- 5. [processing.rs](server/src/processing.rs)
- 6. Tests
+ 1. [log4rs.yml](server/log4rs.yml)
+ 5. [ide.rs](server/src/ide.rs)
+ 1. [filewatcher.rs](server/src/ide/filewatcher.rs)
+ 2. [vscode.rs](server/src/ide/vscode.rs)
+ 6. [translation.rs](server/src/translation.rs)
+ 7. [processing.rs](server/src/processing.rs)
+ 8. Tests
1. [test\_utils.rs](server/src/test_utils.rs)
- 2. Lexer [tests.rs](server/src/lexer/tests.rs)
- 3. Webserver [tests.rs](server/src/webserver/tests.rs)
- 4. [cli.rs](server/tests/cli.rs)
- 7. [Cargo.toml](server/Cargo.toml)
+ 2. [testing\_logger.rs](server/src/testing_logger.rs)
+ 3. Lexer [tests.rs](server/src/lexer/tests.rs)
+ 4. Webserver [tests.rs](server/src/webserver/tests.rs)
+ 5. ide/vscode [tests.rs](server/src/ide/vscode/tests.rs)
+ 6. Processing [tests.rs](server/src/processing/tests.rs)
+ 7. [cli.rs](server/tests/cli.rs)
+ 9. [Cargo.toml](server/Cargo.toml)
2. Client
1. Editor
1. [CodeChatEditorFramework.mts](client/src/CodeChatEditorFramework.mts)
@@ -49,7 +53,10 @@ Implementation
3. [EditorComponents.mts](client/src/EditorComponents.mts)
4. [graphviz-webcomponent-setup.mts](client/src/graphviz-webcomponent-setup.mts)
5. [Mermaid](client/src/wc-mermaid/developer.md)
- 6. [typings.d.ts](client/src/typings.d.ts)
+ 6. [shared\_types.mts](client/src/shared_types.mts)
+ 7. [assert.mts](client/src/assert.mts)
+ 8. [show\_toast.mts](client/src/show_toast.mts)
+ 9. [typings.d.ts](client/src/typings.d.ts)
2. Styles
1. [CodeChatEditor.css](client/src/css/CodeChatEditor.css)
2. [CodeChatEditorProject.css](client/src/css/CodeChatEditorProject.css)
@@ -67,7 +74,7 @@ Implementation
1. Builder
1. [builder/Cargo.toml](builder/Cargo.toml)
2. [builder/src/main.rs](builder/src/main.rs)
- 2. Git
+ 2. Git
1. [server/.gitignore](server/.gitignore)
2. [client/static/.gitignore](client/static/.gitignore)
3. [client/.gitignore](client/.gitignore)
@@ -86,16 +93,16 @@ Implementation
10. [.prettierignore](.prettierignore)
4. Misc
1. [config.toml](server/.cargo/config.toml) - for Rust code coverage
- 2. [dist-workspace.toml](server/dist-workspace.toml) - cargo-dist
+ 2. [dist-workspace.toml](dist-workspace.toml) - cargo-dist
configuration
+ 3. [dist.toml](server/dist.toml) - additional cargo-dist configuration
Misc
----
-* New
- project template
+* New project template
* [Table of contents](toc.md)
-* [Changelog](docs/CHANGELOG.md)
+* [Changelog](CHANGELOG.md)
* [Index](docs/index.md)
Notes