diff --git a/blog/2025-09-24-temporal-release/index.md b/blog/2025-09-24-temporal-release/index.md
index b7cf6373..fd5d302a 100644
--- a/blog/2025-09-24-temporal-release/index.md
+++ b/blog/2025-09-24-temporal-release/index.md
@@ -23,13 +23,15 @@ Currently, `temporal_rs` v0.1 is being used by Boa, [Kiesel][kiesel-site],
[V8][v8-site], and [Yavashark][yavashark-repo] for their Temporal
implementations (more on that later) and is [estimated](https://chromestatus.com/feature/5668291307634688) to land unflagged in **Chromium v144**.
+
+
### Why v0.1? Why not v1.0?
-Right now the [Temporal proposal](https://github.com/tc39/proposal-temporal) is at Stage 3 (4 being the final stage) in the standards process. Although unlikely,
-we want to remain on a minor version to catch any changes which come in (mostly bug fixes) before the proposal reaches stage 4
-and thus complete. We expect that to happen in Q1 2026.
+Right now the [Temporal proposal](https://github.com/tc39/proposal-temporal) is at Stage 3 (4 being the final stage) in the standards process. Although unlikely,
+we want to remain on a minor version to catch any changes which come in (mostly bug fixes) before the proposal reaches stage 4
+and thus complete. We expect that to happen in Q1 2026.
-Fear not! temporal_rs passes over 4000 specification tests, is stable and ready to use.
+Fear not! temporal_rs passes over 4000 specification tests, is stable and ready to use.
To celebrate the release of `temporal_rs`, we'll cover a short
background of the Temporal implementation in Boa and why `temporal_rs`
@@ -53,9 +55,10 @@ culminated in an absolutely massive PR,
The PR itself stubbed out a lot of the methods, implemented some
Duration and Instant functionality, and started the support for custom
calendars. There were, however, 2 major takeaways from this PR:
+
- Temporal is a massive specification update, it's the single biggest addition to ECMAScript since ES6.
- There is a lot of room to potentially optimize Temporal if we do not deal with
-`JsValue` directly.
+ `JsValue` directly.
After a couple weeks, the question came up amongst maintainers of not just Boa, but also other engines:
"_could we separate the datetime logic and implementation off into a completely
@@ -351,8 +354,6 @@ it's a really cool project and we would definitely recommend checking it
out if you're looking to generate FFI bindings for other languages for
your Rust library.
-
-
> "_Diplomat made the FFI code extremely easy: I basically wrote the entire temporal_capi FFI layer over the course of a couple PRs, each of which probably took me ~15 minutes each of relatively mindless "tab through docs, add API" work. Diplomat is really good at this type of thing._"
>
> Manishearth [Rust Reddit Q&A](https://www.reddit.com/r/rust/comments/1logjzt/chromiumv8_implementing_temporal_api_via_rust/):
@@ -421,6 +422,7 @@ the specification, as well as the ICU4X project for their incredible
ongoing work on calendars and all things i18n related.
## Discussion
+
- Hackernews: https://news.ycombinator.com/item?id=45361826
- Reddit: https://www.reddit.com/r/rust/comments/1npffdx/temporal_rs_is_here_the_datetime_library_powering/
@@ -448,8 +450,6 @@ itself and for users of the engine. Feel free to contact us in [Matrix].
[testing representation]: https://github.com/boa-dev/boa/issues/820
[action]: https://github.com/boa-dev/criterion-compare-action
[Matrix]: https://matrix.to/#/#boa:matrix.org
-
-
[mdn]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal
[v8-site]: https://v8.dev/
[kiesel-site]: https://kiesel.dev/
diff --git a/blog/2025-10-22-boa-release-21/img/backtrace.gif b/blog/2025-10-22-boa-release-21/img/backtrace.gif
new file mode 100644
index 00000000..d82d23b5
Binary files /dev/null and b/blog/2025-10-22-boa-release-21/img/backtrace.gif differ
diff --git a/blog/2025-10-22-boa-release-21/img/native-backtrace.gif b/blog/2025-10-22-boa-release-21/img/native-backtrace.gif
new file mode 100644
index 00000000..d96d465f
Binary files /dev/null and b/blog/2025-10-22-boa-release-21/img/native-backtrace.gif differ
diff --git a/blog/2025-10-22-boa-release-21/index.md b/blog/2025-10-22-boa-release-21/index.md
new file mode 100644
index 00000000..2fc8f704
--- /dev/null
+++ b/blog/2025-10-22-boa-release-21/index.md
@@ -0,0 +1,878 @@
+---
+layout: post
+tags: [post]
+title: "Boa release v0.21"
+description: "Boa release v0.21"
+authors: boa-dev
+---
+
+## Summary
+
+Boa v0.21 is now available! After 9 months of development we are very
+happy to present you the latest release of the Boa JavaScript engine.
+Boa makes it easy to embed a JS engine in your projects, and you can
+even use it from WebAssembly. See the [about](/about) page for more
+info.
+
+In this release, our conformance has grown from 89.92% to 94.12% in the
+official ECMAScript Test Suite (Test262). Our growth in conformance is
+driven by increased conformance for Temporal (discussed further below)
+with the rest of the development effort being focused on performance,
+internal improvements, and runtime features. We will continue to implement
+more of the specification; however, as of the current moment, Boa's conformance
+aligns with the major browser engine's conformance, so future increases
+in conformance will be minor or bound to the feature size going forward.
+
+You can check the full list of changes [here][changelog], and the full
+information on conformance [here][conformance].
+
+[changelog]: https://github.com/boa-dev/boa/blob/v0.21/CHANGELOG.md
+[conformance]: https://boajs.dev/boa/test262/
+
+
+
+## Feature Highlights
+
+### Temporal
+
+There has been a lot of progress made on Temporal, the new Stage 3
+date/time proposal. With this release, Boa's conformance on Temporal
+grew from 40.67% to ~97%. This implementation is backed by the `temporal_rs`
+date/time Rust library, which we went over in our announcement
+[blog post](../2025-09-24-temporal-release/index.md). Give the post a read if you are
+interested in `temporal_rs` and its development history.
+
+### Span nodes and error backtraces
+
+We added support for storing spans in our AST nodes, which allows determining the
+exact location of an AST node on its original file. We already kind of
+supported this feature in our lexer, but we did not store the spans after parsing.
+
+Why is this important? Well, as a direct result from this, Boa now supports error backtraces
+when an exception is thrown!
+
+
+
+As an additional plus, you can enable the `native-backtrace` feature to include
+"native" functions on a backtrace.
+
+
+
+This feature has been one of the most requested ones for years,
+and we hope it will
+greatly help with debugging errors when using Boa.
+
+### Utility macros
+
+We introduced a new set of proc macros that make it much easier to create [`JsValue`]s,
+[`JsObject`]s, [`Class`]es and even [`Module`]s. Let's see them in action!
+
+#### [`js_value`]
+
+```rust
+// Simple values can be created without passing the `Context`.
+assert_eq!(js_value!( 1 ), JsValue::from(1));
+assert_eq!(js_value!( false ), JsValue::from(false));
+
+// To create arrays and objects, the context needs to be passed in.
+assert_eq!(js_value!([ 1, 2, 3 ], context).display().to_string(), "[ 1, 2, 3 ]");
+assert_eq!(
+ js_value!({
+ // Comments are allowed inside.
+ "key": (js_string!("value"))
+ }, context).display().to_string(),
+ "{\n key: \"value\"\n}",
+);
+```
+
+#### [`js_object`]
+
+```rust
+let object = js_object!({
+ // Comments are allowed inside. String literals will always be transformed to `JsString`.
+ "key": "value",
+ // Identifiers will be used as keys, like in JavaScript.
+ alsoKey: 1,
+ // Expressions surrounded by brackets will be expressed, like in JavaScript.
+ // Note that in this case, the unit value is represented by `null`.
+ [1 + 2]: (),
+}, context);
+
+assert_eq!(
+ JsValue::from(object).display().to_string(),
+ "{\n 3: null,\n key: \"value\",\n alsoKey: 1\n}"
+);
+```
+
+#### [`boa_class`]
+
+```rust
+
+// All types that will be part of a class instance need to derive the
+// `Trace` and `Finalize` traits.
+#[derive(Clone, Trace, Finalize, JsData)]
+enum AnimalType {
+ Cat,
+ Dog,
+ Other,
+}
+
+#[derive(Clone, Trace, Finalize, JsData)]
+struct Animal {
+ ty: AnimalType,
+ age: i32,
+}
+
+#[boa_class]
+impl Animal {
+
+ // Sets this method as the constructor of the ECMAScript class.
+ #[boa(constructor)]
+ fn new(name: String, age: i32) -> Self {
+ let ty = match name.as_str() {
+ "cat" => AnimalType::Cat,
+ "dog" => AnimalType::Dog,
+ _ => AnimalType::Other,
+ };
+
+ Self { ty, age }
+ }
+
+ // Any method that takes `&self` will be exposed as an instance method.
+ fn speak(#[boa(error = "`this` was not an animal")] &self) -> JsString {
+ match self.ty {
+ AnimalType::Cat => js_string!("meow"),
+ AnimalType::Dog => js_string!("woof"),
+ AnimalType::Other => js_string!(r"¯\_(ツ)_/¯"),
+ }
+ }
+
+ // Force this being a method (instead of a static function) by declaring it
+ // as a method.
+ #[boa(method)]
+ #[boa(length = 11)]
+ fn method(context: &mut Context) -> JsObject {
+ let obj = JsObject::with_null_proto();
+ obj.set(js_string!("key"), 43, false, context).unwrap();
+ obj
+ }
+
+ // You can define getter methods; `animal.age` will automatically call this
+ // on read.
+ #[boa(getter)]
+ fn age(&self) -> i32 {
+ self.age
+ }
+
+ // You can also define setter methods; `animal.age = 5` will automatically call
+ // this on write.
+ #[boa(setter)]
+ #[boa(method)]
+ #[boa(rename = "age")]
+ fn set_age(&mut self, age: i32) {
+ self.age = age;
+ }
+
+ // This static method will be callable using the constructor function
+ // (`Animal.marked_static_method()`).
+ #[boa(static)]
+ fn marked_static_method() -> i32 {
+ 123
+ }
+
+ // Methods without `&self` are considered static methods.
+ fn static_method() -> i32 {
+ 42
+ }
+}
+
+let mut context = Context::default();
+
+// This registers the newly created class into the `Realm`.
+context.register_global_class::().unwrap();
+
+context
+ .eval(Source::from_bytes(
+ r#"
+ let pet = new Animal("dog", 3);
+ console.log(pet.age) // 3
+ console.log(Animal.staticMethod()) // 42
+ console.log(Animal.markedStaticMethod()) // 123
+
+ v = pet.method();
+ console.log(v.key) // 43
+
+ pet.age = 4;
+ console.log(pet.age) // 4
+ "#,
+ )).unwrap();
+```
+
+#### [`boa_module`]
+
+```rust
+
+#[boa_module]
+mod hello {
+ use boa_engine::{JsString, js_string};
+
+ // Exports a function.
+ fn world() -> JsString {
+ js_string!("hello world")
+ }
+
+ // Exports the `Animal` class. This is the class that we defined in the
+ // previous section.
+ type Animal = super::Animal;
+
+ // Exports a const variable.
+ const SOME_LITERAL_NUMBER: i32 = 1234;
+
+ // You can also rename exports.
+ #[boa(rename = "this_is_different")]
+ const SOME_OTHER_LITERAL: i32 = 5678;
+}
+
+// Creates a new `MapModuleLoader` to load our created module into the
+// engine.
+let module_loader = Rc::new(MapModuleLoader::new());
+let mut context = Context::builder()
+ .module_loader(module_loader.clone())
+ .build()
+ .unwrap();
+
+// The module will be exposed as `/hello.js`.
+module_loader.insert("/hello.js", hello::boa_module(None, &mut context));
+
+let module = Module::parse(
+ Source::from_bytes(
+ r#"
+ import * as m from '/hello.js';
+
+ console.log(m.someLiteralNumber) // 1234
+ console.log(m.this_is_different) // 5678
+
+ console.log(m.world()) // "hello world"
+
+ let pet = new m.Animal("dog", 8);
+ console.log(pet.age) // 8
+ console.log(pet.speak()) // "woof"
+ "#,
+ ),
+ None,
+ &mut context,
+).unwrap();
+
+let result = module
+ .load_link_evaluate(&mut context)
+ .await_blocking(&mut context)
+ .unwrap();
+```
+
+[`JsValue`]: https://docs.rs/boa_engine/0.21.0/boa_engine/value/struct.JsValue.html
+[`JsObject`]: https://docs.rs/boa_engine/0.21.0/boa_engine/object/struct.JsObject.html
+[`Class`]: https://docs.rs/boa_engine/0.21.0/boa_engine/class/trait.Class.html
+[`Module`]: https://docs.rs/boa_engine/0.21.0/boa_engine/module/struct.Module.html
+[`js_value`]: https://docs.rs/boa_engine/0.21.0/boa_engine/macro.js_value.html
+[`js_object`]: https://docs.rs/boa_engine/0.21.0/boa_engine/macro.js_object.html
+[`boa_class`]: https://docs.rs/boa_engine/0.21.0/boa_engine/attr.boa_class.html
+[`boa_module`]: https://docs.rs/boa_engine/0.21.0/boa_engine/attr.boa_module.html
+
+### Async APIs enhancements
+
+Historically, hooking functions returning a `Future` into Boa has been one of the
+biggest pain points of our API. This was mostly caused by how we defined
+[`FutureJob`]:
+
+```rust
+pub struct NativeJob {
+ f: Box JsResult>,
+ realm: Option,
+}
+
+pub type FutureJob = Pin + 'static>>;
+```
+
+With this definition, it was pretty much impossible to capture the `Context`
+inside the `Future`, and functions that needed to interweave engine operations
+with awaiting `Future`s needed to be split into multiple parts:
+
+```rust
+let fetch = async move {
+ let body: Result<_, isahc::Error> = async {
+ let mut response = Request::get(&url)
+ .body(())?
+ .send_async()
+ .await?;
+
+ Ok(response.text().await?)
+ }
+ .await;
+
+ // Since the async context cannot take the `context` by ref, we have to continue
+ // parsing inside a new `NativeJob` that will be enqueued into the promise job queue.
+ NativeJob::new(move |context| -> JsResult {
+ parse(body).await;
+
+ // Also needed to match `NativeJob::new`.
+ Ok(JsValue::undefined())
+ })
+};
+
+// Just enqueue the future for now. We'll advance all the enqueued futures inside our custom
+// `JobQueue`.
+context
+ .job_queue()
+ .enqueue_future_job(Box::pin(fetch), context);
+```
+
+We wanted to improve this API, and the solution we thought about was to make
+`Context` shareable by wrapping it using `RefCell`. However, this proved to be
+very difficult for two reasons:
+
+1. We needed to change all definitions to take `&RefCell` instead
+ of `&mut Context`, which meant changing pretty much the whole codebase.
+2. Some of our VM code was reentrant, and that would cause panics in the reentrant
+ parts of the code when calling `RefCell::borrow_mut`; we would need to patch up
+ the engine to remove the reentrancy.
+
+After putting a lot of thought on this, we came up with a really nice solution;
+instead of wrapping `Context` with `RefCell`, we would wrap `&mut Context` with
+`RefCell`, and only on the async-related APIs. This would allow not only capturing
+the context on `Future`-related functions, but also doing this without having to
+refactor big parts of the code. Thus, we ditched `FutureJob` and introduced a new
+type of job: [`NativeAsyncJob`].
+
+```Rust
+/// An ECMAScript [Job] that can be run asynchronously.
+///
+/// This is an additional type of job that is not defined by the specification, enabling running `Future` tasks
+/// created by ECMAScript code in an easier way.
+#[allow(clippy::type_complexity)]
+pub struct NativeAsyncJob {
+ f: Box FnOnce(&'a RefCell<&mut Context>) -> BoxedFuture<'a>>,
+ realm: Option,
+}
+```
+
+With this change, any API that integrates with `Future` can additionally capture
+the `&RefCell<&mut Context>` to run engine-related operations after awaiting on
+a `Future`.
+
+[`FutureJob`]: https://docs.rs/boa_engine/0.20.0/boa_engine/job/type.FutureJob.html
+[`NativeAsyncJob`]: https://docs.rs/boa_engine/0.21.0/boa_engine/job/struct.NativeAsyncJob.html
+
+### Revamped `JobQueue`
+
+After introducing the new job type, changes had to be made on
+[`JobQueue`] to better support new types of jobs. Thus, `JobQueue` was revamped and renamed to be the
+new [`JobExecutor`]:
+
+```rust
+/// An executor of `ECMAscript` [Jobs].
+///
+/// This is the main API that allows creating custom event loops.
+///
+/// [Jobs]: https://tc39.es/ecma262/#sec-jobs
+pub trait JobExecutor: Any {
+ /// Enqueues a `Job` on the executor.
+ ///
+ /// This method combines all the host-defined job enqueueing operations into a single method.
+ /// See the [spec] for more information on the requirements that each operation must follow.
+ ///
+ /// [spec]: https://tc39.es/ecma262/#sec-jobs
+ fn enqueue_job(self: Rc, job: Job, context: &mut Context);
+
+ /// Runs all jobs in the executor.
+ fn run_jobs(self: Rc, context: &mut Context) -> JsResult<()>;
+
+ /// Asynchronously runs all jobs in the executor.
+ ///
+ /// By default forwards to [`JobExecutor::run_jobs`]. Implementors using async should override this
+ /// with a proper algorithm to run jobs asynchronously.
+ async fn run_jobs_async(self: Rc, context: &RefCell<&mut Context>) -> JsResult<()>
+ where
+ Self: Sized,
+ {
+ self.run_jobs(&mut context.borrow_mut())
+ }
+}
+```
+
+As you can probably tell, we made a lot of changes on `JobExecutor`:
+
+- All methods now take `Rc` as their receiver, making it consistent with
+ how the `Context` itself stores the `JobExecutor`.
+- [`enqueue_promise_job`] and [`enqueue_future_job`] now are unified in a single
+ [`enqueue_job`], where [`Job`] is an enum containing the type of job that needs to
+ be scheduled. This makes it much simpler to extend the engine with newer job
+ types in the future, such as the newly introduced `TimeoutJob` and `GenericJob`
+ types.
+- [`run_jobs_async`] was converted to a proper async function, and excluded from
+ `JobExecutor`'s VTable. Additionally, this method now takes a `&RefCell<&mut Context>`
+ as its context, which is the missing piece that enables sharing the `Context` between
+ multiple `Future`s at the same time. This, however, means that we cannot provide
+ a convenient wrapper such as [`Context::run_jobs`] for it anymore, which is one of the
+ reasons why we decided to exclude that method from `JobExecutor`'s VTable.
+
+These changes not only made `JobExecutor` much simpler, but it also expanded
+the places where we could use its async capabilities to handle "special"
+features of ECMAScript that are more suited to an async way of doing things.
+`ModuleLoader` is one of those places.
+
+[`JobQueue`]: https://docs.rs/boa_engine/0.20.0/boa_engine/job/trait.JobQueue.html
+[`JobExecutor`]: https://docs.rs/boa_engine/0.21.0/boa_engine/job/trait.JobExecutor.html
+[`enqueue_promise_job`]: https://docs.rs/boa_engine/0.20.0/boa_engine/job/trait.JobQueue.html#tymethod.enqueue_promise_job
+[`enqueue_future_job`]: https://docs.rs/boa_engine/0.20.0/boa_engine/job/trait.JobQueue.html#tymethod.enqueue_future_job
+[`enqueue_job`]: https://docs.rs/boa_engine/0.21.0/boa_engine/job/trait.JobExecutor.html#tymethod.enqueue_job
+[`Job`]: https://docs.rs/boa_engine/0.21.0/boa_engine/job/enum.Job.html
+[`run_jobs_async`]: https://docs.rs/boa_engine/0.21.0/boa_engine/job/trait.JobExecutor.html#method.run_jobs_async
+[`Context::run_jobs`]: https://docs.rs/boa_engine/0.21.0/boa_engine/context/struct.Context.html#method.run_jobs
+
+### Asyncified `ModuleLoader`
+
+Looking at the previous definition of [`ModuleLoader`][old-ml]:
+
+```rust
+pub trait ModuleLoader {
+ // Required method
+ fn load_imported_module(
+ &self,
+ referrer: Referrer,
+ specifier: JsString,
+ finish_load: Box, &mut Context)>,
+ context: &mut Context,
+ );
+
+ // Provided methods
+ fn register_module(&self, _specifier: JsString, _module: Module) { ... }
+ fn get_module(&self, _specifier: JsString) -> Option { ... }
+ fn init_import_meta(
+ &self,
+ _import_meta: &JsObject,
+ _module: &Module,
+ _context: &mut Context,
+ ) { ... }
+}
+```
+
+... the weird `finish_load` on `load_imported_module` immediately pops up as an anomaly.
+In this case, `finish_load` is Boa's equivalent to
+[HostLoadImportedModule ( referrer, moduleRequest, hostDefined, payload )][hlim],
+which is an abstract operation that is primarily used to define how an application
+will load and resolve a "module request"; think of it as a function that takes
+the `"module-name"` from `import * as name from "module-name"`, then does
+"things" to load the module that corresponds to `"module_name"`.
+
+[old-ml]: https://docs.rs/boa_engine/0.20.0/boa_engine/module/trait.ModuleLoader.html
+[hlim]: https://tc39.es/ecma262/#sec-HostLoadImportedModule
+
+The peculiarity about this abstract operation is that it doesn't return anything!
+Instead, it just has a special requirement:
+
+> The host environment must perform `FinishLoadingImportedModule(referrer, moduleRequest, payload, result)`,
+> where result is either a normal completion containing the loaded `Module Record` or a throw completion,
+> either synchronously or asynchronously.
+
+Why expose the hook this way? Well, there is a clue in the previous requirement:
+
+> ... either synchronously or asynchronously.
+
+Aha! Directly returning from the hook makes it very hard to enable use cases
+where an application wants to load multiple modules asynchronously. Thus, the
+specification instead exposes a hook to pass the name of the module that needs to
+be loaded, and delegates the task of running the "post-load" phase to the host, which
+enables fetching modules synchronously or asynchronously, depending on the specific
+requirements of each application.
+
+One downside of this definition, however, is that any data that is required
+by the engine to properly process the returned module would need to be transparently
+passed to the `FinishLoadingImportedModule` abstract operation, which is why
+the hook also has an additional requirement:
+
+> The operation must treat `payload` as an opaque value to be passed through to
+> `FinishLoadingImportedModule`.
+
+`payload` is precisely that data, and it may change depending on how the module
+is imported in the code; `import "module"` and `import("module")` are two examples
+of this.
+
+We could expose this as an opaque `*const ()` pointer argument and call it a day,
+but we're using Rust, dang it! and we like statically guaranteed safety!
+So, instead, we exposed `FinishLoadingImportedModule` as `finish_load`, which is a
+"closure" that captures `payload` on its stack, and can be called anywhere
+(like inside a `Future`) on the application with a proper `Module` and `Context`
+to further continue processing the module loaded by the `ModuleLoader`.
+
+```rust
+...
+finish_load: Box, &mut Context)>,
+...
+```
+
+Unfortunately, this API has downsides:
+
+- It's possible to forget to call `finish_load`, which is safer than a dangling `*const()`
+ pointer, but still prone to bugs.
+- It is also really painful to work with, because you cannot capture the `Context`
+ to further process the module after loading it. ... Sounds familiar?
+ **[The async code snippet we showed before](#async-apis-enhancements) has this exact problem!**
+ And that snippet is directly taken from [one of our `ModuleLoader` implementation examples][mod-loader].
+
+[mod-loader]: https://github.com/boa-dev/boa/blob/b345775138f56401bd627b1f36daadfc5bf75772/examples/src/bin/module_fetch.rs#L38
+
+Fast forward a couple of years and we're now changing big parts of `JobExecutor`:
+adding new job types, tinkering with `JobExecutor`, changing API signatures, etc.
+Then, while looking at the definition of `ModuleLoader`, we thought...
+
+> Huh, can't we make `load_imported_module` async now?
+
+And that's exactly what we did. Behold, the new [`ModuleLoader`]!
+
+```rust
+pub trait ModuleLoader: Any {
+ async fn load_imported_module(
+ self: Rc,
+ referrer: Referrer,
+ specifier: JsString,
+ context: &RefCell<&mut Context>,
+ ) -> JsResult;
+
+ fn init_import_meta(
+ self: Rc,
+ _import_meta: &JsObject,
+ _module: &Module,
+ _context: &mut Context,
+ ) {
+ }
+}
+```
+
+Then, the code snippet we mentioned before nicely simplifies to:
+
+```rust
+async fn load_imported_module(
+ self: Rc,
+ _referrer: boa_engine::module::Referrer,
+ specifier: JsString,
+ context: &RefCell<&mut Context>,
+) -> JsResult {
+ let url = specifier.to_std_string_escaped();
+
+ let response = async {
+ let request = Request::get(&url)
+ .redirect_policy(RedirectPolicy::Limit(5))
+ .body(())?;
+ let response = request.send_async().await?.text().await?;
+ Ok(response)
+ }
+ .await
+ .map_err(|err: isahc::Error| JsNativeError::typ().with_message(err.to_string()))?;
+
+ let source = Source::from_bytes(&response);
+
+ Module::parse(source, None, &mut context.borrow_mut())
+}
+```
+
+> _What about synchronous applications?_
+
+The advantage of having `JobExecutor` be the main entry point for any Rust
+`Future`s that are enqueued by the engine is that an application can decide how to
+handle all `Future`s received by the implementation of `JobExecutor`. Thus, an application
+that doesn't want to deal with async Rust executors can implement a completely synchronous
+`ModuleLoader` and poll on all futures received by `JobExecutor` using something like
+[`futures_lite::poll_once`][poll_once].
+
+> _Why not just block on each `Future` one by one instead?_
+
+Well, there is one new built-in that was introduced on this release which heavily
+depends on "properly" running `Future`s, and by "properly" we mean "not blocking
+the whole thread waiting on a future to finish". More on that in a bit.
+
+[`ModuleLoader`]: https://docs.rs/boa_engine/0.20.0/boa_engine/module/trait.ModuleLoader.html
+
+### Built-ins updates
+
+#### Atomics.waitAsync
+
+This release adds support for the [`Atomics.waitAsync`] method introduced in
+ECMAScript's 2024 specification.
+This method allows doing thread synchronization just like [`Atomics.wait`], but with
+the big difference that it will return a `Promise` that will resolve when the
+thread gets notified with the [`Atomics.notify`] method, instead of blocking until
+that happens.
+
+```javascript
+// Given an `Int32Array` shared between two threads:
+
+const sab = new SharedArrayBuffer(1024);
+const int32 = new Int32Array(sab);
+
+// Thread 1 runs the following:
+// { async: true, value: Promise {} }
+const result = Atomics.waitAsync(int32, 0, 0, 1000);
+result.value.then(() => console.log("waited!"));
+
+// And thread 2 runs the following after Thread 1:
+Atomics.notify(int32, 0);
+
+// Then, in thread 1 we will (eventually) see "waited!" printed.
+```
+
+Note that this built-in requires having a "proper" implementation of a `JobExecutor`; again, "proper"
+in the sense of "not blocking the whole thread waiting on a future to finish", which can be accomplished
+with [`FutureGroup`] and [`futures_lite::poll_once`][poll_once] if an async executor is not required
+(see [`SimpleJobExecutor`'s implementation][sje-impl]).
+This is because it heavily relies on `TimeoutJob` to timeout if a notification
+doesn't arrive, and in `NativeAsyncJob` to communicate with the notifier threads using an
+async channel. This is the reason why we don't recommend just blocking on each received `Future`;
+that could cause `TimeoutJob`s to run much later than required, or even make it so that they don't
+run at all!
+
+[`Atomics.waitAsync`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/waitAsync
+[`Atomics.wait`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait
+[`Atomics.notify`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/notify
+[poll_once]: https://docs.rs/futures-lite/latest/futures_lite/future/fn.poll_once.html
+[`FutureGroup`]: https://docs.rs/futures-concurrency/latest/futures_concurrency/future/future_group/struct.FutureGroup.html
+[sje-impl]: https://github.com/boa-dev/boa/blob/0468498b4bb9da31caa20123201e4d8ee132c608/core/engine/src/job.rs#L678
+
+#### Set methods
+
+This release adds support for the new set methods added in ECMAScript's 2025
+specification.
+
+The new methods are:
+
+- [`Set.prototype.intersection(other)`][inter]
+- [`Set.prototype.union(other)`][union]
+- [`Set.prototype.difference(other)`][diff]
+- [`Set.prototype.symmetricDifference(other)`][symm-diff]
+- [`Set.prototype.isSubsetOf(other)`][subset]
+- [`Set.prototype.isSupersetOf(other)`][supset]
+- [`Set.prototype.isDisjointFrom(other)`][disjoint]
+
+Thanks to [@Hemenguelbindi](https://github.com/@Hemenguelbindi) for
+their work on this feature.
+
+[inter]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/intersection
+[union]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/union
+[diff]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/difference
+[symm-diff]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/symmetricDifference
+[subset]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isSubsetOf
+[supset]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isSupersetOf
+[disjoint]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/isDisjointFrom
+
+#### Float16 support for TypedArrays, Dataview and Math built-ins
+
+This release adds support for [`f16` types][f16] for the TypedArray, Dataview, and Math
+built-ins.
+
+```javascript
+const x = new Float16Array([37, 42.123456]);
+console.log(x[1]); // 42.125
+```
+
+[f16]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array
+
+#### Error.isError
+
+This release adds support for [`Error.isError`], which will be introduced in
+ECMAScript's 2026 specification.
+
+```javascript
+console.log(Error.isError(new Error())); // true
+console.log(Error.isError({ __proto__: Error.prototype })); // false
+```
+
+[`Error.isError`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/isError
+
+#### Math.sumPrecise
+
+This release adds support for [`Math.sumPrecise`], which will be introduced in
+ECMAScript's 2026 specification.
+
+We've opted for using the new [`xsum`](https://crates.io/crates/xsum) summation algorithm
+for the underlying implementation.
+
+```javascript
+let sum = Math.sumPrecise([1e20, 0.1, -1e20]);
+console.log(sum); // 0.1
+```
+
+[`Math.sumPrecise`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sumPrecise
+
+#### Array.fromAsync
+
+This release adds support for [`Array.fromAsync`], which will be introduced in
+ECMAScript's 2026 specification.
+
+`Array.fromAsync` allows to conveniently create a array from an async iterable by
+awaiting all of the items consecutively.
+
+```javascript
+// Array.fromAsync is roughly equivalent to:
+async function toArray(asyncIterator) {
+ const arr = [];
+ for await (const i of asyncIterator) arr.push(i);
+ return arr;
+}
+
+async function* asyncIterable() {
+ for (let i = 0; i < 5; i++) {
+ await new Promise((resolve) => setTimeout(resolve, 10 * i));
+ yield i;
+ }
+}
+
+Array.fromAsync(asyncIterable()).then((array) => console.log(array));
+// [0, 1, 2, 3, 4]
+toArray(asyncIterable()).then((array) => console.log(array));
+// [0, 1, 2, 3, 4]
+```
+
+[`Array.fromAsync`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fromAsync
+
+## Boa Runtime
+
+Work on Boa's runtime crate has continued with additional APIs added.
+
+### Additional APIs
+
+Additional APIs added the the Runtime crate include:
+
+- [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Window/fetch)
+- [`setTimeout`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout)
+- [`setInterval`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setInterval)
+- [`clearInterval`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearInterval)
+- [`queueMicrotask`](https://developer.mozilla.org/en-US/docs/Web/API/Window/queueMicrotask)
+
+### Conformance testing
+
+We've added some support for conformance testing runtime features
+against the Web Platform Tests (WPT).
+
+## Performance
+
+### NaN Boxing
+
+With this release, Boa's [`JsValue`] will use nan-boxing by default. The NaN boxing of `JsValue`
+increased memory and runtime performance over the older enum.
+
+As a note, the current implementation is not compatible with all platforms. While we hope
+to address this in the future, the legacy enum JsValue will be available via the `jsvalue-enum`
+feature flag.
+
+Unfamiliar with NaN Boxing? We won't go over it in depth here, but we recommend
+[this article](https://piotrduperas.com/posts/nan-boxing) to learn more.
+
+[`JsValue`]: https://docs.rs/boa_engine/0.21.0/boa_engine/value/struct.JsValue.html
+
+### Register VM
+
+Boa's virtual machine (VM) moved from a stack based VM to a register based VM in
+[PR #3798](https://github.com/boa-dev/boa/pull/3798).
+
+## New Contributors
+
+- @zzzdong made their first contribution in https://github.com/boa-dev/boa/pull/4058
+- @albertleigh made their first contribution in https://github.com/boa-dev/boa/pull/4097
+- @heygsc made their first contribution in https://github.com/boa-dev/boa/pull/4124
+- @jamesthurley made their first contribution in https://github.com/boa-dev/boa/pull/4155
+- @lockels made their first contribution in https://github.com/boa-dev/boa/pull/4189
+- @changhc made their first contribution in https://github.com/boa-dev/boa/pull/4176
+- @created-by-varun made their first contribution in https://github.com/boa-dev/boa/pull/4198
+- @tomoverlund made their first contribution in https://github.com/boa-dev/boa/pull/4254
+- @Hemenguelbindi made their first contribution in https://github.com/boa-dev/boa/pull/4145
+- @Timkarx made their first contribution in https://github.com/boa-dev/boa/pull/4276
+- @Rafferty97 made their first contribution in https://github.com/boa-dev/boa/pull/4303
+- @cijiugechu made their first contribution in https://github.com/boa-dev/boa/pull/4307
+- @countradooku made their first contribution in https://github.com/boa-dev/boa/pull/4214
+- @xubaiwang made their first contribution in https://github.com/boa-dev/boa/pull/4381
+- @hamflx made their first contribution in https://github.com/boa-dev/boa/pull/4405
+- @BDeuDev made their first contribution in https://github.com/boa-dev/boa/pull/4419
+- @jasonmilad made their first contribution in https://github.com/boa-dev/boa/pull/4430
+- @hpp2334 made their first contribution in https://github.com/boa-dev/boa/pull/4453
+- @Gumichocopengin8 made their first contribution in https://github.com/boa-dev/boa/pull/4462
+- @mdrokz made their first contribution in https://github.com/boa-dev/boa/pull/4466
+- @rrogerc made their first contribution in https://github.com/boa-dev/boa/pull/4459
+
+## Looking Forward
+
+### Garbage collector rewrite
+
+This has been long overdue. Boa's garbage collector is a forked and
+modified version of [`rust-gc`](https://github.com/Manishearth/rust-gc), and we have long
+been pushing our forked gc to its limits.
+
+We have seen some evidence from previous pull requests that simply swapping
+allocators from Rust's global allocator can increase Boa's performance, and
+work on this will hopefully resume soon. If you're interested in garbage
+collectors and/or would be interested in helping out, feel free to join our
+GC room on [Matrix].
+
+### Runtime functionality
+
+The [`boa_runtime`](https://crates.io/crates/boa_runtime) crate was initially meant
+to contain functionality that was not meant to exist in the core ECMAScript implementation,
+for instance the console implementation. Noticeably, we have since added more runtime
+features to the crate with even more features expected in the next release.
+
+Our current plan is if there is enough interest and the crate becomes
+too large, we will split `boa_runtime` into it's own repository. If you
+are interested in implementing any runtime features or contributing to
+a runtime, feel free to reach out.
+
+### Continuing performance improvements
+
+As mentioned on previous release posts, we will continue to further work
+on improving Boa's overall performance.
+
+### `Intl` and ECMA402 conformance
+
+We currently have some general support for the ECMA402 and ECMAScript's [`Intl`] object. We
+will continue to some general work on ECMA402 conformance to allow Boa to be fully usable
+for internationalization use cases.
+
+[`Intl`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
+
+## How can you support Boa?
+
+Boa is an independent JavaScript engine implementing the ECMAScript
+specification, and we rely on the support of the community to keep it
+going. If you want to support us, you can do so by donating to our [open
+collective]. Proceeeds here go towards this very website, the domain
+name, and remunerating members of the team who have worked on the
+features released.
+
+If financial contribution is not your strength, you can contribute by
+asking to be assigned to one of our [open issues], and asking for
+mentoring if you don't know your way around the engine. Our
+[contribution guide] should help you here. If you are more used to
+working with JavaScript or frontend web development, we also welcome
+help to improve our web presence, either in [our website], or in our
+[testing representation] page or benchmarks page. You can also
+contribute to our Criterion benchmark comparison GitHub [action].
+
+We are also looking to improve the documentation of the engine, both for
+developers of the engine itself and for users of the engine. Feel free
+to contact us in [Matrix].
+
+[open collective]: https://opencollective.com/boa
+[open issues]: https://github.com/boa-dev/boa/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee
+[contribution guide]: https://github.com/boa-dev/boa/blob/main/CONTRIBUTING.md
+[our website]: https://github.com/boa-dev/boa-dev.github.io
+[testing representation]: https://github.com/boa-dev/boa/issues/820
+[action]: https://github.com/boa-dev/criterion-compare-action
+[Matrix]: https://matrix.to/#/#boa:matrix.org
+
+## Thank You
+
+Once again, big thanks to [all the contributors][contributors] of this
+release!!!
+
+[contributors]: https://github.com/boa-dev/boa/graphs/contributors?from=2024-12-05&to=2025-08-30&type=c
+[feed]: https://boajs.dev/blog/rss.xml
+[collective]: https://opencollective.com/boa
+[easy_issues]: https://github.com/boa-dev/boa/issues?q=is%3Aopen+is%3Aissue+label%3AE-Easy
+[first_issues]: https://github.com/boa-dev/boa/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
diff --git a/blog/2025-10-22-boa-release-21/tapes/backtrace.tape b/blog/2025-10-22-boa-release-21/tapes/backtrace.tape
new file mode 100644
index 00000000..9f8a4675
--- /dev/null
+++ b/blog/2025-10-22-boa-release-21/tapes/backtrace.tape
@@ -0,0 +1,29 @@
+# Below is a VHS tape file
+Output backtrace.gif
+
+# Setup env
+Hide
+
+Set TypingSpeed 50ms
+Set Theme "GruvboxDark"
+
+# boa_cli needs to be installed for the tape to run.
+Require boa
+
+Show
+
+Type@100ms `echo "const oops = () => { throw new Error() }; oops();" > yikes.js `
+
+Enter
+
+Type@100ms "boa yikes.js"
+
+Enter
+
+Sleep 4s
+
+Hide
+
+Type "rm yikes.js"
+
+Enter
diff --git a/blog/2025-10-22-boa-release-21/tapes/native-backtrace.tape b/blog/2025-10-22-boa-release-21/tapes/native-backtrace.tape
new file mode 100644
index 00000000..c9667ff6
--- /dev/null
+++ b/blog/2025-10-22-boa-release-21/tapes/native-backtrace.tape
@@ -0,0 +1,35 @@
+Output native-backtrace.gif
+
+# Setup env
+Hide
+
+Set TypingSpeed 50ms
+Set Theme "GruvboxDark"
+
+# boa_cli needs to be installed for the tape to run.
+Require boa
+
+Show
+
+Type@100ms `cat < native.js`
+Enter
+Type@100ms `Array.prototype.every.call([[10]], arr => arr.forEach(`
+Enter
+Type@100ms ` e => { throw value; }`
+Enter
+Type@100ms `));`
+Enter
+Type@100ms `EOF`
+Enter
+
+Type@100ms "boa native.js"
+
+Enter
+
+Sleep 10s
+
+Hide
+
+Type "rm native.js"
+
+Enter
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index d5470224..a197f946 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -23,7 +23,6 @@ const config: Config = {
projectName: "boa-dev.github.io",
onBrokenLinks: "throw",
- onBrokenMarkdownLinks: "warn",
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
@@ -53,6 +52,9 @@ const config: Config = {
markdown: {
mermaid: true,
+ hooks: {
+ onBrokenMarkdownLinks: "warn",
+ },
},
themes: ["@docusaurus/theme-mermaid"],
diff --git a/package-lock.json b/package-lock.json
index 53c2c454..591fda9a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,94 +9,151 @@
"version": "0.0.0",
"license": "ISC",
"dependencies": {
- "@boa-dev/boa_wasm": "^0.20.0",
- "@docusaurus/core": "^3.8.1",
- "@docusaurus/plugin-content-pages": "^3.8.1",
- "@docusaurus/preset-classic": "^3.8.1",
- "@docusaurus/theme-mermaid": "^3.8.1",
+ "@boa-dev/boa_wasm": "^0.21.0",
+ "@docusaurus/core": "^3.9.1",
+ "@docusaurus/plugin-content-pages": "^3.9.1",
+ "@docusaurus/preset-classic": "^3.9.1",
+ "@docusaurus/theme-mermaid": "^3.9.1",
"@mdx-js/react": "^3.1.1",
"@monaco-editor/react": "^4.7.0",
"chart.js": "^4.5.0",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
- "react": "^19.1.1",
+ "react": "^19.2.0",
"react-chartjs-2": "^5.3.0",
- "react-dom": "^19.1.1"
+ "react-dom": "^19.2.0"
},
"devDependencies": {
- "@docusaurus/eslint-plugin": "^3.8.1",
- "@docusaurus/module-type-aliases": "^3.8.1",
- "@docusaurus/plugin-client-redirects": "^3.8.1",
- "@docusaurus/tsconfig": "^3.8.1",
- "@docusaurus/types": "^3.8.1",
+ "@docusaurus/eslint-plugin": "^3.9.1",
+ "@docusaurus/module-type-aliases": "^3.9.1",
+ "@docusaurus/plugin-client-redirects": "^3.9.1",
+ "@docusaurus/tsconfig": "^3.9.1",
+ "@docusaurus/types": "^3.9.1",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "^9.35.0",
- "@typescript-eslint/eslint-plugin": "^8.42.0",
- "@typescript-eslint/parser": "^8.42.0",
- "eslint": "^9.35.0",
+ "@eslint/js": "^9.37.0",
+ "@typescript-eslint/eslint-plugin": "^8.45.0",
+ "@typescript-eslint/parser": "^8.45.0",
+ "eslint": "^9.37.0",
"eslint-config-prettier": "^10.1.8",
- "globals": "^16.3.0",
+ "globals": "^16.4.0",
"prettier": "3.6.2",
- "typescript": "^5.9.2"
+ "typescript": "^5.9.3"
},
"engines": {
"node": ">=20"
}
},
+ "node_modules/@ai-sdk/gateway": {
+ "version": "1.0.33",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-1.0.33.tgz",
+ "integrity": "sha512-v9i3GPEo4t3fGcSkQkc07xM6KJN75VUv7C1Mqmmsu2xD8lQwnQfsrgAXyNuWe20yGY0eHuheSPDZhiqsGKtH1g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "2.0.0",
+ "@ai-sdk/provider-utils": "3.0.10",
+ "@vercel/oidc": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.76 || ^4.1.8"
+ }
+ },
+ "node_modules/@ai-sdk/provider": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-2.0.0.tgz",
+ "integrity": "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ai-sdk/provider-utils": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-3.0.10.tgz",
+ "integrity": "sha512-T1gZ76gEIwffep6MWI0QNy9jgoybUHE7TRaHB5k54K8mF91ciGFlbtCGxDYhMH3nCRergKwYFIDeFF0hJSIQHQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "2.0.0",
+ "@standard-schema/spec": "^1.0.0",
+ "eventsource-parser": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.76 || ^4.1.8"
+ }
+ },
+ "node_modules/@ai-sdk/react": {
+ "version": "2.0.60",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-2.0.60.tgz",
+ "integrity": "sha512-Ev0MC0I7eDcCH4FnrHzK48g9bJjyF3F67MMq76qoVsbtcs6fGIO5RjmYgPoFeSo8/yQ5EM6i/14yfcD0oB+moA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "3.0.10",
+ "ai": "5.0.60",
+ "swr": "^2.2.5",
+ "throttleit": "2.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "zod": "^3.25.76 || ^4.1.8"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@algolia/abtesting": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.3.0.tgz",
- "integrity": "sha512-KqPVLdVNfoJzX5BKNGM9bsW8saHeyax8kmPFXul5gejrSPN3qss7PgsFH5mMem7oR8tvjvNkia97ljEYPYCN8Q==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.5.0.tgz",
+ "integrity": "sha512-W/ohRkbKQsqDWALJg28X15KF7Tcyg53L1MfdOkLgvkcCcofdzGHSimHHeNG05ojjFw9HK8+VPhe/Vwq4MozIJg==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/autocomplete-core": {
- "version": "1.17.9",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz",
- "integrity": "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz",
+ "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==",
"license": "MIT",
"dependencies": {
- "@algolia/autocomplete-plugin-algolia-insights": "1.17.9",
- "@algolia/autocomplete-shared": "1.17.9"
+ "@algolia/autocomplete-plugin-algolia-insights": "1.19.2",
+ "@algolia/autocomplete-shared": "1.19.2"
}
},
"node_modules/@algolia/autocomplete-plugin-algolia-insights": {
- "version": "1.17.9",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz",
- "integrity": "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz",
+ "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==",
"license": "MIT",
"dependencies": {
- "@algolia/autocomplete-shared": "1.17.9"
+ "@algolia/autocomplete-shared": "1.19.2"
},
"peerDependencies": {
"search-insights": ">= 1 < 3"
}
},
- "node_modules/@algolia/autocomplete-preset-algolia": {
- "version": "1.17.9",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz",
- "integrity": "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==",
- "license": "MIT",
- "dependencies": {
- "@algolia/autocomplete-shared": "1.17.9"
- },
- "peerDependencies": {
- "@algolia/client-search": ">= 4.9.1 < 6",
- "algoliasearch": ">= 4.9.1 < 6"
- }
- },
"node_modules/@algolia/autocomplete-shared": {
- "version": "1.17.9",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz",
- "integrity": "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==",
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz",
+ "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==",
"license": "MIT",
"peerDependencies": {
"@algolia/client-search": ">= 4.9.1 < 6",
@@ -104,99 +161,99 @@
}
},
"node_modules/@algolia/client-abtesting": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.37.0.tgz",
- "integrity": "sha512-Dp2Zq+x9qQFnuiQhVe91EeaaPxWBhzwQ6QnznZQnH9C1/ei3dvtmAFfFeaTxM6FzfJXDLvVnaQagTYFTQz3R5g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.39.0.tgz",
+ "integrity": "sha512-Vf0ZVe+qo3sHDrCinouJqlg8VoxM4Qo/KxNIqMYybkuctutfnp3kIY9OmESplOQ/9NGBthU9EG+4d5fBibWK/A==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-analytics": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.37.0.tgz",
- "integrity": "sha512-wyXODDOluKogTuZxRII6mtqhAq4+qUR3zIUJEKTiHLe8HMZFxfUEI4NO2qSu04noXZHbv/sRVdQQqzKh12SZuQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.39.0.tgz",
+ "integrity": "sha512-V16ITZxYIwcv1arNce65JZmn94Ft6vKlBZ//gXw8AvIH32glJz1KcbaVAUr9p7PYlGZ/XVHP6LxDgrpNdtwgcA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-common": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.37.0.tgz",
- "integrity": "sha512-GylIFlPvLy9OMgFG8JkonIagv3zF+Dx3H401Uo2KpmfMVBBJiGfAb9oYfXtplpRMZnZPxF5FnkWaI/NpVJMC+g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.39.0.tgz",
+ "integrity": "sha512-UCJTuwySEQeiKPWV3wruhuI/wHbDYenHzgL9pYsvh6r/u5Z+g61ip1iwdAlFp02CnywzI9O7+AQPh2ManYyHmQ==",
"license": "MIT",
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-insights": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.37.0.tgz",
- "integrity": "sha512-T63afO2O69XHKw2+F7mfRoIbmXWGzgpZxgOFAdP3fR4laid7pWBt20P4eJ+Zn23wXS5kC9P2K7Bo3+rVjqnYiw==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.39.0.tgz",
+ "integrity": "sha512-s0ia8M/ZZR+iO2uLNTBrlQdEb6ZMAMcKMHckp5mcoglxrf8gHifL4LmdhGKdAxAn3UIagtqIP0RCnIymHUbm7A==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-personalization": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.37.0.tgz",
- "integrity": "sha512-1zOIXM98O9zD8bYDCJiUJRC/qNUydGHK/zRK+WbLXrW1SqLFRXECsKZa5KoG166+o5q5upk96qguOtE8FTXDWQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.39.0.tgz",
+ "integrity": "sha512-vZPIt7Lw+toNsHZUiPhNIc1Z3vUjDp7nzn6AMOaPC73gEuTq2iLPNvM06CSB6aHePo5eMeJIP5YEKBUQUA/PJA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-query-suggestions": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.37.0.tgz",
- "integrity": "sha512-31Nr2xOLBCYVal+OMZn1rp1H4lPs1914Tfr3a34wU/nsWJ+TB3vWjfkUUuuYhWoWBEArwuRzt3YNLn0F/KRVkg==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.39.0.tgz",
+ "integrity": "sha512-jcPQr3iKTWNVli2NYHPv02aNLwixDjPCpOgMp9CZTvEiPI6Ec4jHX+oFr3LDZagOFY9e1xJhc/JrgMGGW1sHnw==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/client-search": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.37.0.tgz",
- "integrity": "sha512-DAFVUvEg+u7jUs6BZiVz9zdaUebYULPiQ4LM2R4n8Nujzyj7BZzGr2DCd85ip4p/cx7nAZWKM8pLcGtkTRTdsg==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.39.0.tgz",
+ "integrity": "sha512-/IYpF10BpthGZEJQZMhMqV4AqWr5avcWfZm/SIKK1RvUDmzGqLoW/+xeJVX9C8ZnNkIC8hivbIQFaNaRw0BFZQ==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -209,81 +266,81 @@
"license": "MIT"
},
"node_modules/@algolia/ingestion": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.37.0.tgz",
- "integrity": "sha512-pkCepBRRdcdd7dTLbFddnu886NyyxmhgqiRcHHaDunvX03Ij4WzvouWrQq7B7iYBjkMQrLS8wQqSP0REfA4W8g==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.39.0.tgz",
+ "integrity": "sha512-IgSHKUiuecqLfBlXiuCSdRTdsO3/yvpmXrMFz8fAJ8M4QmDtHkOuD769dmybRYqsbYMHivw+lir4BgbRGMtOIQ==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/monitoring": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.37.0.tgz",
- "integrity": "sha512-fNw7pVdyZAAQQCJf1cc/ih4fwrRdQSgKwgor4gchsI/Q/ss9inmC6bl/69jvoRSzgZS9BX4elwHKdo0EfTli3w==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.39.0.tgz",
+ "integrity": "sha512-8Xnd4+609SKC/hqVsuFc4evFBmvA2765/4NcH+Dpr756SKPbL1BY0X8kVxlmM3YBLNqnduSQxHxpDJUK58imCA==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/recommend": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.37.0.tgz",
- "integrity": "sha512-U+FL5gzN2ldx3TYfQO5OAta2TBuIdabEdFwD5UVfWPsZE5nvOKkc/6BBqP54Z/adW/34c5ZrvvZhlhNTZujJXQ==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.39.0.tgz",
+ "integrity": "sha512-D7Ye2Ss/5xqUkQUxKm/VqEJLt5kARd9IMmjdzlxaKhGgNlOemTay0lwBmOVFuJRp7UODjp5c9+K+B8g0ORObIw==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "@algolia/client-common": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/requester-browser-xhr": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.37.0.tgz",
- "integrity": "sha512-Ao8GZo8WgWFABrU7iq+JAftXV0t+UcOtCDL4mzHHZ+rQeTTf1TZssr4d0vIuoqkVNnKt9iyZ7T4lQff4ydcTrw==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.39.0.tgz",
+ "integrity": "sha512-mgPte1ZJqpk9dkVs44J3wKAbHATvHZNlSpzhMdjMLIg/3qTycSZyDiomLiSlxE8CLsxyBAOJWnyKRHfom+Z1rg==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0"
+ "@algolia/client-common": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/requester-fetch": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.37.0.tgz",
- "integrity": "sha512-H7OJOXrFg5dLcGJ22uxx8eiFId0aB9b0UBhoOi4SMSuDBe6vjJJ/LeZyY25zPaSvkXNBN3vAM+ad6M0h6ha3AA==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.39.0.tgz",
+ "integrity": "sha512-LIrCkrxu1WnO3ev1+w6NnZ12JZL/o+2H9w6oWnZAjQZIlA/Ym6M9QHkt+OQ/SwkuoiNkW3DAo+Pi4A2V9FPtqg==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0"
+ "@algolia/client-common": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
}
},
"node_modules/@algolia/requester-node-http": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.37.0.tgz",
- "integrity": "sha512-npZ9aeag4SGTx677eqPL3rkSPlQrnzx/8wNrl1P7GpWq9w/eTmRbOq+wKrJ2r78idlY0MMgmY/mld2tq6dc44g==",
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.39.0.tgz",
+ "integrity": "sha512-6beG+egPwXmvhAg+m0STCj+ZssDcjrLzf4L05aKm2nGglMXSSPz0cH/rM+kVD9krNfldiMctURd4wjojW1fV0w==",
"license": "MIT",
"dependencies": {
- "@algolia/client-common": "5.37.0"
+ "@algolia/client-common": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -303,9 +360,9 @@
}
},
"node_modules/@antfu/utils": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-9.2.0.tgz",
- "integrity": "sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==",
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-9.2.1.tgz",
+ "integrity": "sha512-TMilPqXyii1AsiEii6l6ubRzbo76p6oshUSYPaKsmXDavyMLqjzVDkcp3pHp5ELMUNJHATcEOGxKTTsX9yYhGg==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
@@ -2012,9 +2069,9 @@
}
},
"node_modules/@boa-dev/boa_wasm": {
- "version": "0.20.0",
- "resolved": "https://registry.npmjs.org/@boa-dev/boa_wasm/-/boa_wasm-0.20.0.tgz",
- "integrity": "sha512-wFFmsci6VKViwO95G6q2eu9EwvAXroCb/snUl2OjtKagdr+VBm8ocH8xc98KCwRrcEuuScvBZYNwZlOjJC4h+g==",
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/@boa-dev/boa_wasm/-/boa_wasm-0.21.0.tgz",
+ "integrity": "sha512-uaKTAGyyrapnkW/ujiLa1oPRqx5Fk4f1GvQO0xMSy7yrc4VC+Kq2yDY0nEOMwIEjFhdwERx5UdhozUi+/rOHhQ==",
"license": "Unlicense OR MIT"
},
"node_modules/@braintree/sanitize-url": {
@@ -2229,9 +2286,9 @@
}
},
"node_modules/@csstools/postcss-alpha-function": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.0.tgz",
- "integrity": "sha512-r2L8KNg5Wriq5n8IUQcjzy2Rh37J5YjzP9iOyHZL5fxdWYHB08vqykHQa4wAzN/tXwDuCHnhQDGCtxfS76xn7g==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.1.tgz",
+ "integrity": "sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==",
"funding": [
{
"type": "github",
@@ -2247,7 +2304,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2319,9 +2376,9 @@
}
},
"node_modules/@csstools/postcss-color-function": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.11.tgz",
- "integrity": "sha512-AtH22zLHTLm64HLdpv5EedT/zmYTm1MtdQbQhRZXxEB6iYtS6SrS1jLX3TcmUWMFzpumK/OVylCm3HcLms4slw==",
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.12.tgz",
+ "integrity": "sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==",
"funding": [
{
"type": "github",
@@ -2337,7 +2394,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2348,9 +2405,9 @@
}
},
"node_modules/@csstools/postcss-color-function-display-p3-linear": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.0.tgz",
- "integrity": "sha512-7q+OuUqfowRrP84m/Jl0wv3pfCQyUTCW5MxDIux+/yty5IkUUHOTigCjrC0Fjy3OT0ncGLudHbfLWmP7E1arNA==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.1.tgz",
+ "integrity": "sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==",
"funding": [
{
"type": "github",
@@ -2366,7 +2423,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2377,9 +2434,9 @@
}
},
"node_modules/@csstools/postcss-color-mix-function": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.11.tgz",
- "integrity": "sha512-cQpXBelpTx0YhScZM5Ve0jDCA4RzwFc7oNafzZOGgCHt/GQVYiU8Vevz9QJcwy/W0Pyi/BneY+KMjz23lI9r+Q==",
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.12.tgz",
+ "integrity": "sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==",
"funding": [
{
"type": "github",
@@ -2395,7 +2452,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2406,9 +2463,9 @@
}
},
"node_modules/@csstools/postcss-color-mix-variadic-function-arguments": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.1.tgz",
- "integrity": "sha512-c7hyBtbF+jlHIcUGVdWY06bHICgguV9ypfcELU3eU3W/9fiz2dxM8PqxQk2ndXYTzLnwPvNNqu1yCmQ++N6Dcg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.2.tgz",
+ "integrity": "sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==",
"funding": [
{
"type": "github",
@@ -2424,7 +2481,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2435,9 +2492,37 @@
}
},
"node_modules/@csstools/postcss-content-alt-text": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.7.tgz",
- "integrity": "sha512-cq/zWaEkpcg3RttJ5+GdNwk26NwxY5KgqgtNL777Fdd28AVGHxuBvqmK4Jq4oKhW1NX4M2LbgYAVVN0NZ+/XYQ==",
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.8.tgz",
+ "integrity": "sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^3.0.5",
+ "@csstools/css-tokenizer": "^3.0.4",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
+ "@csstools/utilities": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4"
+ }
+ },
+ "node_modules/@csstools/postcss-contrast-color-function": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-contrast-color-function/-/postcss-contrast-color-function-2.0.12.tgz",
+ "integrity": "sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==",
"funding": [
{
"type": "github",
@@ -2450,9 +2535,10 @@
],
"license": "MIT-0",
"dependencies": {
+ "@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2543,9 +2629,9 @@
}
},
"node_modules/@csstools/postcss-gradients-interpolation-method": {
- "version": "5.0.11",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.11.tgz",
- "integrity": "sha512-8M3mcNTL3cGIJXDnvrJ2oWEcKi3zyw7NeYheFKePUlBmLYm1gkw9Rr/BA7lFONrOPeQA3yeMPldrrws6lqHrug==",
+ "version": "5.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.12.tgz",
+ "integrity": "sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==",
"funding": [
{
"type": "github",
@@ -2561,7 +2647,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2572,9 +2658,9 @@
}
},
"node_modules/@csstools/postcss-hwb-function": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.11.tgz",
- "integrity": "sha512-9meZbsVWTZkWsSBazQips3cHUOT29a/UAwFz0AMEXukvpIGGDR9+GMl3nIckWO5sPImsadu4F5Zy+zjt8QgCdA==",
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.12.tgz",
+ "integrity": "sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==",
"funding": [
{
"type": "github",
@@ -2590,7 +2676,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2601,9 +2687,9 @@
}
},
"node_modules/@csstools/postcss-ic-unit": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.3.tgz",
- "integrity": "sha512-RtYYm2qUIu9vAaHB0cC8rQGlOCQAUgEc2tMr7ewlGXYipBQKjoWmyVArqsk7SEr8N3tErq6P6UOJT3amaVof5Q==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.4.tgz",
+ "integrity": "sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==",
"funding": [
{
"type": "github",
@@ -2616,7 +2702,7 @@
],
"license": "MIT-0",
"dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0",
"postcss-value-parser": "^4.2.0"
},
@@ -2711,9 +2797,9 @@
}
},
"node_modules/@csstools/postcss-light-dark-function": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.10.tgz",
- "integrity": "sha512-g7Lwb294lSoNnyrwcqoooh9fTAp47rRNo+ILg7SLRSMU3K9ePIwRt566sNx+pehiCelv4E1ICaU1EwLQuyF2qw==",
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.11.tgz",
+ "integrity": "sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==",
"funding": [
{
"type": "github",
@@ -2728,7 +2814,7 @@
"dependencies": {
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2962,9 +3048,9 @@
}
},
"node_modules/@csstools/postcss-oklab-function": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.11.tgz",
- "integrity": "sha512-9f03ZGxZ2VmSCrM4SDXlAYP+Xpu4VFzemfQUQFL9OYxAbpvDy0FjDipZ0i8So1pgs8VIbQI0bNjFWgfdpGw8ig==",
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.12.tgz",
+ "integrity": "sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==",
"funding": [
{
"type": "github",
@@ -2980,7 +3066,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -2991,9 +3077,9 @@
}
},
"node_modules/@csstools/postcss-progressive-custom-properties": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.0.tgz",
- "integrity": "sha512-fWCXRasX17N1NCPTCuwC3FJDV+Wc031f16cFuuMEfIsYJ1q5ABCa59W0C6VeMGqjNv6ldf37vvwXXAeaZjD9PA==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.1.tgz",
+ "integrity": "sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==",
"funding": [
{
"type": "github",
@@ -3043,9 +3129,9 @@
}
},
"node_modules/@csstools/postcss-relative-color-syntax": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.11.tgz",
- "integrity": "sha512-oQ5fZvkcBrWR+k6arHXk0F8FlkmD4IxM+rcGDLWrF2f31tWyEM3lSraeWAV0f7BGH6LIrqmyU3+Qo/1acfoJng==",
+ "version": "3.0.12",
+ "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.12.tgz",
+ "integrity": "sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==",
"funding": [
{
"type": "github",
@@ -3061,7 +3147,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -3270,21 +3356,24 @@
}
},
"node_modules/@docsearch/css": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.9.0.tgz",
- "integrity": "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.1.0.tgz",
+ "integrity": "sha512-nuNKGjHj/FQeWgE9t+i83QD/V67QiaAmGY7xS9TVCRUiCqSljOgIKlsLoQZKKVwEG8f+OWKdznzZkJxGZ7d06A==",
"license": "MIT"
},
"node_modules/@docsearch/react": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.9.0.tgz",
- "integrity": "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.1.0.tgz",
+ "integrity": "sha512-4GHI7TT3sJZ2Vs4Kjadv7vAkMrTsJqHvzvxO3JA7UT8iPRKaDottG5o5uNshPWhVVaBYPC35Ukf8bfCotGpjSg==",
"license": "MIT",
"dependencies": {
- "@algolia/autocomplete-core": "1.17.9",
- "@algolia/autocomplete-preset-algolia": "1.17.9",
- "@docsearch/css": "3.9.0",
- "algoliasearch": "^5.14.2"
+ "@ai-sdk/react": "^2.0.30",
+ "@algolia/autocomplete-core": "1.19.2",
+ "@docsearch/css": "4.1.0",
+ "ai": "^5.0.30",
+ "algoliasearch": "^5.28.0",
+ "marked": "^16.3.0",
+ "zod": "^4.1.8"
},
"peerDependencies": {
"@types/react": ">= 16.8.0 < 20.0.0",
@@ -3308,9 +3397,9 @@
}
},
"node_modules/@docusaurus/babel": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.8.1.tgz",
- "integrity": "sha512-3brkJrml8vUbn9aeoZUlJfsI/GqyFcDgQJwQkmBtclJgWDEQBKKeagZfOgx0WfUQhagL1sQLNW0iBdxnI863Uw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.9.1.tgz",
+ "integrity": "sha512-/uoi3oG+wvbVWNBRfPrzrEslOSeLxrQEyWMywK51TLDFTANqIRivzkMusudh5bdDty8fXzCYUT+tg5t697jYqg==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.9",
@@ -3323,28 +3412,28 @@
"@babel/runtime": "^7.25.9",
"@babel/runtime-corejs3": "^7.25.9",
"@babel/traverse": "^7.25.9",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/utils": "3.8.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
"babel-plugin-dynamic-import-node": "^2.3.3",
"fs-extra": "^11.1.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/bundler": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.8.1.tgz",
- "integrity": "sha512-/z4V0FRoQ0GuSLToNjOSGsk6m2lQUG4FRn8goOVoZSRsTrU8YR2aJacX5K3RG18EaX9b+52pN4m1sL3MQZVsQA==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.9.1.tgz",
+ "integrity": "sha512-E1c9DgNmAz4NqbNtiJVp4UgjLtr8O01IgtXD/NDQ4PZaK8895cMiTOgb3k7mN0qX8A3lb8vqyrPJ842+yMpuUg==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.25.9",
- "@docusaurus/babel": "3.8.1",
- "@docusaurus/cssnano-preset": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
+ "@docusaurus/babel": "3.9.1",
+ "@docusaurus/cssnano-preset": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
"babel-loader": "^9.2.1",
"clean-css": "^5.3.3",
"copy-webpack-plugin": "^11.0.0",
@@ -3365,7 +3454,7 @@
"webpackbar": "^6.0.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/faster": "*"
@@ -3377,18 +3466,18 @@
}
},
"node_modules/@docusaurus/core": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.8.1.tgz",
- "integrity": "sha512-ENB01IyQSqI2FLtOzqSI3qxG2B/jP4gQPahl2C3XReiLebcVh5B5cB9KYFvdoOqOWPyr5gXK4sjgTKv7peXCrA==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/babel": "3.8.1",
- "@docusaurus/bundler": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/mdx-loader": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.9.1.tgz",
+ "integrity": "sha512-FWDk1LIGD5UR5Zmm9rCrXRoxZUgbwuP6FBA7rc50DVfzqDOMkeMe3NyJhOsA2dF0zBE3VbHEIMmTjKwTZJwbaA==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/babel": "3.9.1",
+ "@docusaurus/bundler": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/mdx-loader": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"boxen": "^6.2.1",
"chalk": "^4.1.2",
"chokidar": "^3.5.3",
@@ -3422,14 +3511,14 @@
"update-notifier": "^6.0.2",
"webpack": "^5.95.0",
"webpack-bundle-analyzer": "^4.10.2",
- "webpack-dev-server": "^4.15.2",
+ "webpack-dev-server": "^5.2.2",
"webpack-merge": "^6.0.1"
},
"bin": {
"docusaurus": "bin/docusaurus.mjs"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@mdx-js/react": "^3.0.0",
@@ -3438,9 +3527,9 @@
}
},
"node_modules/@docusaurus/cssnano-preset": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.1.tgz",
- "integrity": "sha512-G7WyR2N6SpyUotqhGznERBK+x84uyhfMQM2MmDLs88bw4Flom6TY46HzkRkSEzaP9j80MbTN8naiL1fR17WQug==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.9.1.tgz",
+ "integrity": "sha512-2y7+s7RWQMqBg+9ejeKwvZs7Bdw/hHIVJIodwMXbs2kr+S48AhcmAfdOh6Cwm0unJb0hJUshN0ROwRoQMwl3xg==",
"license": "MIT",
"dependencies": {
"cssnano-preset-advanced": "^6.1.2",
@@ -3449,13 +3538,13 @@
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/eslint-plugin": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/eslint-plugin/-/eslint-plugin-3.8.1.tgz",
- "integrity": "sha512-moiMzNuUpWaIcoEqZP4FzFGk4j8Gg/fYJYc9lpTWZplsy4GswGZw150rPuFcZ1lW65kuKVeGqu/E60JG37AX5Q==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/eslint-plugin/-/eslint-plugin-3.9.1.tgz",
+ "integrity": "sha512-GHOjHgX/x04IO/fw4s0Ea3Y/0hagpiO60uBByPg/A1HxnOdJmczxtA7ykexvyNwHs0UDNtrfok1gc89b4Y61CA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3463,7 +3552,7 @@
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"eslint": ">=6"
@@ -3599,27 +3688,27 @@
}
},
"node_modules/@docusaurus/logger": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.8.1.tgz",
- "integrity": "sha512-2wjeGDhKcExEmjX8k1N/MRDiPKXGF2Pg+df/bDDPnnJWHXnVEZxXj80d6jcxp1Gpnksl0hF8t/ZQw9elqj2+ww==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.9.1.tgz",
+ "integrity": "sha512-C9iFzXwHzwvGlisE4bZx+XQE0JIqlGAYAd5LzpR7fEDgjctu7yL8bE5U4nTNywXKHURDzMt4RJK8V6+stFHVkA==",
"license": "MIT",
"dependencies": {
"chalk": "^4.1.2",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/mdx-loader": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.8.1.tgz",
- "integrity": "sha512-DZRhagSFRcEq1cUtBMo4TKxSNo/W6/s44yhr8X+eoXqCLycFQUylebOMPseHi5tc4fkGJqwqpWJLz6JStU9L4w==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.9.1.tgz",
+ "integrity": "sha512-/1PY8lqry8jCt0qZddJSpc0U2sH6XC27kVJZfpA7o2TiQ3mdBQyH5AVbj/B2m682B1ounE+XjI0LdpOkAQLPoA==",
"license": "MIT",
"dependencies": {
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"@mdx-js/mdx": "^3.0.0",
"@slorber/remark-comment": "^1.0.0",
"escape-html": "^1.0.3",
@@ -3643,7 +3732,7 @@
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3651,12 +3740,12 @@
}
},
"node_modules/@docusaurus/module-type-aliases": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.8.1.tgz",
- "integrity": "sha512-6xhvAJiXzsaq3JdosS7wbRt/PwEPWHr9eM4YNYqVlbgG1hSK3uQDXTVvQktasp3VO6BmfYWPozueLWuj4gB+vg==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.9.1.tgz",
+ "integrity": "sha512-YBce3GbJGGcMbJTyHcnEOMvdXqg41pa5HsrMCGA5Rm4z0h0tHS6YtEldj0mlfQRhCG7Y0VD66t2tb87Aom+11g==",
"license": "MIT",
"dependencies": {
- "@docusaurus/types": "3.8.1",
+ "@docusaurus/types": "3.9.1",
"@types/history": "^4.7.11",
"@types/react": "*",
"@types/react-router-config": "*",
@@ -3670,24 +3759,24 @@
}
},
"node_modules/@docusaurus/plugin-client-redirects": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.8.1.tgz",
- "integrity": "sha512-F+86R7PBn6VNgy/Ux8w3ZRypJGJEzksbejQKlbTC8u6uhBUhfdXWkDp6qdOisIoW0buY5nLqucvZt1zNJzhJhA==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.9.1.tgz",
+ "integrity": "sha512-+1InCGvAnw46H+TnVqxaYlJC0qy9AY5gTMgTx2ZFryjAsImJNs3i1pEYW/iUTVbOdtWRj3E/87E4ehbBIaA1TA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"eta": "^2.2.0",
"fs-extra": "^11.1.1",
"lodash": "^4.17.21",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3695,19 +3784,19 @@
}
},
"node_modules/@docusaurus/plugin-content-blog": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.8.1.tgz",
- "integrity": "sha512-vNTpMmlvNP9n3hGEcgPaXyvTljanAKIUkuG9URQ1DeuDup0OR7Ltvoc8yrmH+iMZJbcQGhUJF+WjHLwuk8HSdw==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/mdx-loader": "3.8.1",
- "@docusaurus/theme-common": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.9.1.tgz",
+ "integrity": "sha512-vT6kIimpJLWvW9iuWzH4u7VpTdsGlmn4yfyhq0/Kb1h4kf9uVouGsTmrD7WgtYBUG1P+TSmQzUUQa+ALBSRTig==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/mdx-loader": "3.9.1",
+ "@docusaurus/theme-common": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"cheerio": "1.0.0-rc.12",
"feed": "^4.2.2",
"fs-extra": "^11.1.1",
@@ -3720,7 +3809,7 @@
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/plugin-content-docs": "*",
@@ -3729,20 +3818,20 @@
}
},
"node_modules/@docusaurus/plugin-content-docs": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.1.tgz",
- "integrity": "sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/mdx-loader": "3.8.1",
- "@docusaurus/module-type-aliases": "3.8.1",
- "@docusaurus/theme-common": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.1.tgz",
+ "integrity": "sha512-DyLk9BIA6I9gPIuia8XIL+XIEbNnExam6AHzRsfrEq4zJr7k/DsWW7oi4aJMepDnL7jMRhpVcdsCxdjb0/A9xg==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/mdx-loader": "3.9.1",
+ "@docusaurus/module-type-aliases": "3.9.1",
+ "@docusaurus/theme-common": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"@types/react-router-config": "^5.0.7",
"combine-promises": "^1.1.0",
"fs-extra": "^11.1.1",
@@ -3754,7 +3843,7 @@
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3762,22 +3851,22 @@
}
},
"node_modules/@docusaurus/plugin-content-pages": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.8.1.tgz",
- "integrity": "sha512-a+V6MS2cIu37E/m7nDJn3dcxpvXb6TvgdNI22vJX8iUTp8eoMoPa0VArEbWvCxMY/xdC26WzNv4wZ6y0iIni/w==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.9.1.tgz",
+ "integrity": "sha512-/1wFzRnXYASI+Nv9ck9IVPIMw0O5BGQ8ZVhDzEwhkL+tl44ycvSnY6PIe6rW2HLxsw61Z3WFwAiU8+xMMtMZpg==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/mdx-loader": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/mdx-loader": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"fs-extra": "^11.1.1",
"tslib": "^2.6.0",
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3785,36 +3874,36 @@
}
},
"node_modules/@docusaurus/plugin-css-cascade-layers": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.8.1.tgz",
- "integrity": "sha512-VQ47xRxfNKjHS5ItzaVXpxeTm7/wJLFMOPo1BkmoMG4Cuz4nuI+Hs62+RMk1OqVog68Swz66xVPK8g9XTrBKRw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.9.1.tgz",
+ "integrity": "sha512-/QyW2gRCk/XE3ttCK/ERIgle8KJ024dBNKMu6U5SmpJvuT2il1n5jR/48Pp/9wEwut8WVml4imNm6X8JsL5A0Q==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/plugin-debug": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.8.1.tgz",
- "integrity": "sha512-nT3lN7TV5bi5hKMB7FK8gCffFTBSsBsAfV84/v293qAmnHOyg1nr9okEw8AiwcO3bl9vije5nsUvP0aRl2lpaw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.9.1.tgz",
+ "integrity": "sha512-qPeAuk0LccC251d7jg2MRhNI+o7niyqa924oEM/AxnZJvIpMa596aAxkRImiAqNN6+gtLE1Hkrz/RHUH2HDGsA==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
"fs-extra": "^11.1.1",
"react-json-view-lite": "^2.3.0",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3822,18 +3911,18 @@
}
},
"node_modules/@docusaurus/plugin-google-analytics": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.8.1.tgz",
- "integrity": "sha512-Hrb/PurOJsmwHAsfMDH6oVpahkEGsx7F8CWMjyP/dw1qjqmdS9rcV1nYCGlM8nOtD3Wk/eaThzUB5TSZsGz+7Q==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.9.1.tgz",
+ "integrity": "sha512-k4Qq2HphqOrIU/CevGPdEO1yJnWUI8m0zOJsYt5NfMJwNsIn/gDD6gv/DKD+hxHndQT5pacsfBd4BWHZVNVroQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3841,19 +3930,19 @@
}
},
"node_modules/@docusaurus/plugin-google-gtag": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.8.1.tgz",
- "integrity": "sha512-tKE8j1cEZCh8KZa4aa80zpSTxsC2/ZYqjx6AAfd8uA8VHZVw79+7OTEP2PoWi0uL5/1Is0LF5Vwxd+1fz5HlKg==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.9.1.tgz",
+ "integrity": "sha512-n9BURBiQyJKI/Ecz35IUjXYwXcgNCSq7/eA07+ZYcDiSyH2p/EjPf8q/QcZG3CyEJPZ/SzGkDHePfcVPahY4Gg==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"@types/gtag.js": "^0.0.12",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3861,18 +3950,18 @@
}
},
"node_modules/@docusaurus/plugin-google-tag-manager": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.8.1.tgz",
- "integrity": "sha512-iqe3XKITBquZq+6UAXdb1vI0fPY5iIOitVjPQ581R1ZKpHr0qe+V6gVOrrcOHixPDD/BUKdYwkxFjpNiEN+vBw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.9.1.tgz",
+ "integrity": "sha512-rZAQZ25ZuXaThBajxzLjXieTDUCMmBzfAA6ThElQ3o7Q+LEpOjCIrwGFau0KLY9HeG6x91+FwwsAM8zeApYDrg==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3880,23 +3969,23 @@
}
},
"node_modules/@docusaurus/plugin-sitemap": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.8.1.tgz",
- "integrity": "sha512-+9YV/7VLbGTq8qNkjiugIelmfUEVkTyLe6X8bWq7K5qPvGXAjno27QAfFq63mYfFFbJc7z+pudL63acprbqGzw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.9.1.tgz",
+ "integrity": "sha512-k/bf5cXDxAJUYTzqatgFJwmZsLUbIgl6S8AdZMKGG2Mv2wcOHt+EQNN9qPyWZ5/9cFj+Q8f8DN+KQheBMYLong==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"fs-extra": "^11.1.1",
"sitemap": "^7.1.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3904,22 +3993,22 @@
}
},
"node_modules/@docusaurus/plugin-svgr": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.8.1.tgz",
- "integrity": "sha512-rW0LWMDsdlsgowVwqiMb/7tANDodpy1wWPwCcamvhY7OECReN3feoFwLjd/U4tKjNY3encj0AJSTxJA+Fpe+Gw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.9.1.tgz",
+ "integrity": "sha512-TeZOXT2PSdTNR1OpDJMkYqFyX7MMhbd4t16hQByXksgZQCXNyw3Dio+KaDJ2Nj+LA4WkOvsk45bWgYG5MAaXSQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"@svgr/core": "8.1.0",
"@svgr/webpack": "^8.1.0",
"tslib": "^2.6.0",
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3927,29 +4016,29 @@
}
},
"node_modules/@docusaurus/preset-classic": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.8.1.tgz",
- "integrity": "sha512-yJSjYNHXD8POMGc2mKQuj3ApPrN+eG0rO1UPgSx7jySpYU+n4WjBikbrA2ue5ad9A7aouEtMWUoiSRXTH/g7KQ==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.9.1.tgz",
+ "integrity": "sha512-ZHga2xsxxsyd0dN1BpLj8S889Eu9eMBuj2suqxdw/vaaXu/FjJ8KEGbcaeo6nHPo8VQcBBnPEdkBtSDm2TfMNw==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/plugin-content-blog": "3.8.1",
- "@docusaurus/plugin-content-docs": "3.8.1",
- "@docusaurus/plugin-content-pages": "3.8.1",
- "@docusaurus/plugin-css-cascade-layers": "3.8.1",
- "@docusaurus/plugin-debug": "3.8.1",
- "@docusaurus/plugin-google-analytics": "3.8.1",
- "@docusaurus/plugin-google-gtag": "3.8.1",
- "@docusaurus/plugin-google-tag-manager": "3.8.1",
- "@docusaurus/plugin-sitemap": "3.8.1",
- "@docusaurus/plugin-svgr": "3.8.1",
- "@docusaurus/theme-classic": "3.8.1",
- "@docusaurus/theme-common": "3.8.1",
- "@docusaurus/theme-search-algolia": "3.8.1",
- "@docusaurus/types": "3.8.1"
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/plugin-content-blog": "3.9.1",
+ "@docusaurus/plugin-content-docs": "3.9.1",
+ "@docusaurus/plugin-content-pages": "3.9.1",
+ "@docusaurus/plugin-css-cascade-layers": "3.9.1",
+ "@docusaurus/plugin-debug": "3.9.1",
+ "@docusaurus/plugin-google-analytics": "3.9.1",
+ "@docusaurus/plugin-google-gtag": "3.9.1",
+ "@docusaurus/plugin-google-tag-manager": "3.9.1",
+ "@docusaurus/plugin-sitemap": "3.9.1",
+ "@docusaurus/plugin-svgr": "3.9.1",
+ "@docusaurus/theme-classic": "3.9.1",
+ "@docusaurus/theme-common": "3.9.1",
+ "@docusaurus/theme-search-algolia": "3.9.1",
+ "@docusaurus/types": "3.9.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3957,27 +4046,26 @@
}
},
"node_modules/@docusaurus/theme-classic": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.8.1.tgz",
- "integrity": "sha512-bqDUCNqXeYypMCsE1VcTXSI1QuO4KXfx8Cvl6rYfY0bhhqN6d2WZlRkyLg/p6pm+DzvanqHOyYlqdPyP0iz+iw==",
- "license": "MIT",
- "dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/mdx-loader": "3.8.1",
- "@docusaurus/module-type-aliases": "3.8.1",
- "@docusaurus/plugin-content-blog": "3.8.1",
- "@docusaurus/plugin-content-docs": "3.8.1",
- "@docusaurus/plugin-content-pages": "3.8.1",
- "@docusaurus/theme-common": "3.8.1",
- "@docusaurus/theme-translations": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.9.1.tgz",
+ "integrity": "sha512-LrAIu/mQ04nG6s1cssC0TMmICD8twFIIn/hJ5Pd9uIPQvtKnyAKEn12RefopAul5KfMo9kixPaqogV5jIJr26w==",
+ "license": "MIT",
+ "dependencies": {
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/mdx-loader": "3.9.1",
+ "@docusaurus/module-type-aliases": "3.9.1",
+ "@docusaurus/plugin-content-blog": "3.9.1",
+ "@docusaurus/plugin-content-docs": "3.9.1",
+ "@docusaurus/plugin-content-pages": "3.9.1",
+ "@docusaurus/theme-common": "3.9.1",
+ "@docusaurus/theme-translations": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
- "copy-text-to-clipboard": "^3.2.0",
"infima": "0.2.0-alpha.45",
"lodash": "^4.17.21",
"nprogress": "^0.2.0",
@@ -3990,7 +4078,7 @@
"utility-types": "^3.10.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -3998,15 +4086,15 @@
}
},
"node_modules/@docusaurus/theme-common": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.8.1.tgz",
- "integrity": "sha512-UswMOyTnPEVRvN5Qzbo+l8k4xrd5fTFu2VPPfD6FcW/6qUtVLmJTQCktbAL3KJ0BVXGm5aJXz/ZrzqFuZERGPw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.9.1.tgz",
+ "integrity": "sha512-j9adi961F+6Ps9d0jcb5BokMcbjXAAJqKkV43eo8nh4YgmDj7KUNDX4EnOh/MjTQeO06oPY5cxp3yUXdW/8Ggw==",
"license": "MIT",
"dependencies": {
- "@docusaurus/mdx-loader": "3.8.1",
- "@docusaurus/module-type-aliases": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
+ "@docusaurus/mdx-loader": "3.9.1",
+ "@docusaurus/module-type-aliases": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
"@types/history": "^4.7.11",
"@types/react": "*",
"@types/react-router-config": "*",
@@ -4017,7 +4105,7 @@
"utility-types": "^3.10.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"@docusaurus/plugin-content-docs": "*",
@@ -4026,43 +4114,49 @@
}
},
"node_modules/@docusaurus/theme-mermaid": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.8.1.tgz",
- "integrity": "sha512-IWYqjyTPjkNnHsFFu9+4YkeXS7PD1xI3Bn2shOhBq+f95mgDfWInkpfBN4aYvx4fTT67Am6cPtohRdwh4Tidtg==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-mermaid/-/theme-mermaid-3.9.1.tgz",
+ "integrity": "sha512-aKMFlQfxueVBPdCdrNSshG12fOkJXSn1sb6EhI/sGn3UpiTEiazJm4QLP6NoF78mqq8O5Ar2Yll+iHWLvCsuZQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/core": "3.8.1",
- "@docusaurus/module-type-aliases": "3.8.1",
- "@docusaurus/theme-common": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/module-type-aliases": "3.9.1",
+ "@docusaurus/theme-common": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
"mermaid": ">=11.6.0",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
+ "@mermaid-js/layout-elk": "^0.1.9",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@mermaid-js/layout-elk": {
+ "optional": true
+ }
}
},
"node_modules/@docusaurus/theme-search-algolia": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.8.1.tgz",
- "integrity": "sha512-NBFH5rZVQRAQM087aYSRKQ9yGEK9eHd+xOxQjqNpxMiV85OhJDD4ZGz6YJIod26Fbooy54UWVdzNU0TFeUUUzQ==",
- "license": "MIT",
- "dependencies": {
- "@docsearch/react": "^3.9.0",
- "@docusaurus/core": "3.8.1",
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/plugin-content-docs": "3.8.1",
- "@docusaurus/theme-common": "3.8.1",
- "@docusaurus/theme-translations": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-validation": "3.8.1",
- "algoliasearch": "^5.17.1",
- "algoliasearch-helper": "^3.22.6",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.1.tgz",
+ "integrity": "sha512-WjM28bzlgfT6nHlEJemkwyGVpvGsZWPireV/w+wZ1Uo64xCZ8lNOb4xwQRukDaLSed3oPBN0gSnu06l5VuCXHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@docsearch/react": "^3.9.0 || ^4.1.0",
+ "@docusaurus/core": "3.9.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/plugin-content-docs": "3.9.1",
+ "@docusaurus/theme-common": "3.9.1",
+ "@docusaurus/theme-translations": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-validation": "3.9.1",
+ "algoliasearch": "^5.37.0",
+ "algoliasearch-helper": "^3.26.0",
"clsx": "^2.0.0",
"eta": "^2.2.0",
"fs-extra": "^11.1.1",
@@ -4071,7 +4165,7 @@
"utility-types": "^3.10.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
},
"peerDependencies": {
"react": "^18.0.0 || ^19.0.0",
@@ -4079,33 +4173,34 @@
}
},
"node_modules/@docusaurus/theme-translations": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.8.1.tgz",
- "integrity": "sha512-OTp6eebuMcf2rJt4bqnvuwmm3NVXfzfYejL+u/Y1qwKhZPrjPoKWfk1CbOP5xH5ZOPkiAsx4dHdQBRJszK3z2g==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.9.1.tgz",
+ "integrity": "sha512-mUQd49BSGKTiM6vP9+JFgRJL28lMIN3PUvXjF3rzuOHMByUZUBNwCt26Z23GkKiSIOrRkjKoaBNTipR/MHdYSQ==",
"license": "MIT",
"dependencies": {
"fs-extra": "^11.1.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/tsconfig": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.8.1.tgz",
- "integrity": "sha512-XBWCcqhRHhkhfolnSolNL+N7gj3HVE3CoZVqnVjfsMzCoOsuQw2iCLxVVHtO+rePUUfouVZHURDgmqIySsF66A==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.9.1.tgz",
+ "integrity": "sha512-stdzM1dNDgRO0OvxeznXlE3N1igUoeHPNJjiKqyffLizgpVgNXJBAWeG6fuoYiCH4udGUBqy2dyM+1+kG2/UPQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@docusaurus/types": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.8.1.tgz",
- "integrity": "sha512-ZPdW5AB+pBjiVrcLuw3dOS6BFlrG0XkS2lDGsj8TizcnREQg3J8cjsgfDviszOk4CweNfwo1AEELJkYaMUuOPg==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.9.1.tgz",
+ "integrity": "sha512-ElekJ29sk39s5LTEZMByY1c2oH9FMtw7KbWFU3BtuQ1TytfIK39HhUivDEJvm5KCLyEnnfUZlvSNDXeyk0vzAA==",
"license": "MIT",
"dependencies": {
"@mdx-js/mdx": "^3.0.0",
"@types/history": "^4.7.11",
+ "@types/mdast": "^4.0.2",
"@types/react": "*",
"commander": "^5.1.0",
"joi": "^17.9.2",
@@ -4134,14 +4229,14 @@
}
},
"node_modules/@docusaurus/utils": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.8.1.tgz",
- "integrity": "sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.9.1.tgz",
+ "integrity": "sha512-YAL4yhhWLl9DXuf5MVig260a6INz4MehrBGFU/CZu8yXmRiYEuQvRFWh9ZsjfAOyaG7za1MNmBVZ4VVAi/CiJA==",
"license": "MIT",
"dependencies": {
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/types": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/types": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
"escape-string-regexp": "^4.0.0",
"execa": "5.1.1",
"file-loader": "^6.2.0",
@@ -4162,31 +4257,31 @@
"webpack": "^5.88.1"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/utils-common": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.8.1.tgz",
- "integrity": "sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.9.1.tgz",
+ "integrity": "sha512-4M1u5Q8Zn2CYL2TJ864M51FV4YlxyGyfC3x+7CLuR6xsyTVNBNU4QMcPgsTHRS9J2+X6Lq7MyH6hiWXyi/sXUQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/types": "3.8.1",
+ "@docusaurus/types": "3.9.1",
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@docusaurus/utils-validation": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.8.1.tgz",
- "integrity": "sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.9.1.tgz",
+ "integrity": "sha512-5bzab5si3E1udrlZuVGR17857Lfwe8iFPoy5AvMP9PXqDfoyIKT7gDQgAmxdRDMurgHaJlyhXEHHdzDKkOxxZQ==",
"license": "MIT",
"dependencies": {
- "@docusaurus/logger": "3.8.1",
- "@docusaurus/utils": "3.8.1",
- "@docusaurus/utils-common": "3.8.1",
+ "@docusaurus/logger": "3.9.1",
+ "@docusaurus/utils": "3.9.1",
+ "@docusaurus/utils-common": "3.9.1",
"fs-extra": "^11.2.0",
"joi": "^17.9.2",
"js-yaml": "^4.1.0",
@@ -4194,13 +4289,13 @@
"tslib": "^2.6.0"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.0"
}
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.8.0.tgz",
- "integrity": "sha512-MJQFqrZgcW0UNYLGOuQpey/oTN59vyWwplvCGZztn1cKz9agZPPYpJB7h2OMmuu7VLqkvEjN8feFZJmxNF9D+Q==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4242,19 +4337,22 @@
}
},
"node_modules/@eslint/config-helpers": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
- "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.0.tgz",
+ "integrity": "sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==",
"dev": true,
"license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.16.0"
+ },
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/core": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
- "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz",
+ "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -4302,9 +4400,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.35.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.35.0.tgz",
- "integrity": "sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==",
+ "version": "9.37.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.37.0.tgz",
+ "integrity": "sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4325,13 +4423,13 @@
}
},
"node_modules/@eslint/plugin-kit": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
- "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz",
+ "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/core": "^0.15.2",
+ "@eslint/core": "^0.16.0",
"levn": "^0.4.1"
},
"engines": {
@@ -4412,9 +4510,9 @@
"license": "MIT"
},
"node_modules/@iconify/utils": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.0.1.tgz",
- "integrity": "sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.0.2.tgz",
+ "integrity": "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==",
"license": "MIT",
"dependencies": {
"@antfu/install-pkg": "^1.1.0",
@@ -4514,15 +4612,128 @@
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.30",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
- "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@jsonjoy.com/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/buffers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.0.0.tgz",
+ "integrity": "sha512-NDigYR3PHqCnQLXYyoLbnEdzMMvzeiCWo1KOut7Q0CoIqg9tUAPKJ1iq/2nFhc5kZtexzutNY0LFjdwWL3Dw3Q==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/codegen": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz",
+ "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/json-pack": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.14.0.tgz",
+ "integrity": "sha512-LpWbYgVnKzphN5S6uss4M25jJ/9+m6q6UJoeN6zTkK4xAGhKsiBRPVeF7OYMWonn5repMQbE5vieRXcMUrKDKw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/base64": "^1.1.2",
+ "@jsonjoy.com/buffers": "^1.0.0",
+ "@jsonjoy.com/codegen": "^1.0.0",
+ "@jsonjoy.com/json-pointer": "^1.0.1",
+ "@jsonjoy.com/util": "^1.9.0",
+ "hyperdyperid": "^1.2.0",
+ "thingies": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/json-pointer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz",
+ "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/codegen": "^1.0.0",
+ "@jsonjoy.com/util": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
+ "node_modules/@jsonjoy.com/util": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz",
+ "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jsonjoy.com/buffers": "^1.0.0",
+ "@jsonjoy.com/codegen": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/@kurkle/color": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
@@ -4656,6 +4867,15 @@
"node": ">= 8"
}
},
+ "node_modules/@opentelemetry/api": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
+ "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
"node_modules/@pnpm/config.env-replace": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz",
@@ -4753,6 +4973,12 @@
"micromark-util-symbol": "^1.0.1"
}
},
+ "node_modules/@standard-schema/spec": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
+ "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
+ "license": "MIT"
+ },
"node_modules/@svgr/babel-plugin-add-jsx-attribute": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz",
@@ -5108,9 +5334,9 @@
}
},
"node_modules/@types/d3-array": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz",
- "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz",
+ "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==",
"license": "MIT"
},
"node_modules/@types/d3-axis": {
@@ -5379,18 +5605,6 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz",
- "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==",
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
"version": "4.19.6",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
"integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
@@ -5514,12 +5728,12 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "24.3.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz",
- "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==",
+ "version": "24.6.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.2.tgz",
+ "integrity": "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang==",
"license": "MIT",
"dependencies": {
- "undici-types": "~7.10.0"
+ "undici-types": "~7.13.0"
}
},
"node_modules/@types/node-forge": {
@@ -5550,9 +5764,9 @@
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "19.1.12",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.12.tgz",
- "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==",
+ "version": "19.2.0",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.0.tgz",
+ "integrity": "sha512-1LOH8xovvsKsCBq1wnT4ntDUdCJKmnEakhsuoUSy6ExlHCkGP2hqnatagYTgFk6oeL0VU31u7SNjunPN+GchtA==",
"license": "MIT",
"dependencies": {
"csstype": "^3.0.2"
@@ -5591,9 +5805,9 @@
}
},
"node_modules/@types/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz",
+ "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==",
"license": "MIT"
},
"node_modules/@types/sax": {
@@ -5613,12 +5827,11 @@
"license": "MIT"
},
"node_modules/@types/send": {
- "version": "0.17.5",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz",
- "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.0.tgz",
+ "integrity": "sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==",
"license": "MIT",
"dependencies": {
- "@types/mime": "^1",
"@types/node": "*"
}
},
@@ -5632,14 +5845,24 @@
}
},
"node_modules/@types/serve-static": {
- "version": "1.15.8",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz",
- "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==",
+ "version": "1.15.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.9.tgz",
+ "integrity": "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==",
"license": "MIT",
"dependencies": {
"@types/http-errors": "*",
"@types/node": "*",
- "@types/send": "*"
+ "@types/send": "<1"
+ }
+ },
+ "node_modules/@types/serve-static/node_modules/@types/send": {
+ "version": "0.17.5",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz",
+ "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
}
},
"node_modules/@types/sockjs": {
@@ -5689,17 +5912,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.42.0.tgz",
- "integrity": "sha512-Aq2dPqsQkxHOLfb2OPv43RnIvfj05nw8v/6n3B2NABIPpHnjQnaLo9QGMTvml+tv4korl/Cjfrb/BYhoL8UUTQ==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.45.0.tgz",
+ "integrity": "sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.42.0",
- "@typescript-eslint/type-utils": "8.42.0",
- "@typescript-eslint/utils": "8.42.0",
- "@typescript-eslint/visitor-keys": "8.42.0",
+ "@typescript-eslint/scope-manager": "8.45.0",
+ "@typescript-eslint/type-utils": "8.45.0",
+ "@typescript-eslint/utils": "8.45.0",
+ "@typescript-eslint/visitor-keys": "8.45.0",
"graphemer": "^1.4.0",
"ignore": "^7.0.0",
"natural-compare": "^1.4.0",
@@ -5713,7 +5936,7 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^8.42.0",
+ "@typescript-eslint/parser": "^8.45.0",
"eslint": "^8.57.0 || ^9.0.0",
"typescript": ">=4.8.4 <6.0.0"
}
@@ -5729,16 +5952,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.42.0.tgz",
- "integrity": "sha512-r1XG74QgShUgXph1BYseJ+KZd17bKQib/yF3SR+demvytiRXrwd12Blnz5eYGm8tXaeRdd4x88MlfwldHoudGg==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.45.0.tgz",
+ "integrity": "sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.42.0",
- "@typescript-eslint/types": "8.42.0",
- "@typescript-eslint/typescript-estree": "8.42.0",
- "@typescript-eslint/visitor-keys": "8.42.0",
+ "@typescript-eslint/scope-manager": "8.45.0",
+ "@typescript-eslint/types": "8.45.0",
+ "@typescript-eslint/typescript-estree": "8.45.0",
+ "@typescript-eslint/visitor-keys": "8.45.0",
"debug": "^4.3.4"
},
"engines": {
@@ -5754,14 +5977,14 @@
}
},
"node_modules/@typescript-eslint/project-service": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.42.0.tgz",
- "integrity": "sha512-vfVpLHAhbPjilrabtOSNcUDmBboQNrJUiNAGoImkZKnMjs2TIcWG33s4Ds0wY3/50aZmTMqJa6PiwkwezaAklg==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.45.0.tgz",
+ "integrity": "sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.42.0",
- "@typescript-eslint/types": "^8.42.0",
+ "@typescript-eslint/tsconfig-utils": "^8.45.0",
+ "@typescript-eslint/types": "^8.45.0",
"debug": "^4.3.4"
},
"engines": {
@@ -5776,14 +5999,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.42.0.tgz",
- "integrity": "sha512-51+x9o78NBAVgQzOPd17DkNTnIzJ8T/O2dmMBLoK9qbY0Gm52XJcdJcCl18ExBMiHo6jPMErUQWUv5RLE51zJw==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.45.0.tgz",
+ "integrity": "sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.42.0",
- "@typescript-eslint/visitor-keys": "8.42.0"
+ "@typescript-eslint/types": "8.45.0",
+ "@typescript-eslint/visitor-keys": "8.45.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5794,9 +6017,9 @@
}
},
"node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.42.0.tgz",
- "integrity": "sha512-kHeFUOdwAJfUmYKjR3CLgZSglGHjbNTi1H8sTYRYV2xX6eNz4RyJ2LIgsDLKf8Yi0/GL1WZAC/DgZBeBft8QAQ==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.45.0.tgz",
+ "integrity": "sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5811,15 +6034,15 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.42.0.tgz",
- "integrity": "sha512-9KChw92sbPTYVFw3JLRH1ockhyR3zqqn9lQXol3/YbI6jVxzWoGcT3AsAW0mu1MY0gYtsXnUGV/AKpkAj5tVlQ==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.45.0.tgz",
+ "integrity": "sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.42.0",
- "@typescript-eslint/typescript-estree": "8.42.0",
- "@typescript-eslint/utils": "8.42.0",
+ "@typescript-eslint/types": "8.45.0",
+ "@typescript-eslint/typescript-estree": "8.45.0",
+ "@typescript-eslint/utils": "8.45.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.1.0"
},
@@ -5836,9 +6059,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.42.0.tgz",
- "integrity": "sha512-LdtAWMiFmbRLNP7JNeY0SqEtJvGMYSzfiWBSmx+VSZ1CH+1zyl8Mmw1TT39OrtsRvIYShjJWzTDMPWZJCpwBlw==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.45.0.tgz",
+ "integrity": "sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5850,16 +6073,16 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.42.0.tgz",
- "integrity": "sha512-ku/uYtT4QXY8sl9EDJETD27o3Ewdi72hcXg1ah/kkUgBvAYHLwj2ofswFFNXS+FL5G+AGkxBtvGt8pFBHKlHsQ==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.45.0.tgz",
+ "integrity": "sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/project-service": "8.42.0",
- "@typescript-eslint/tsconfig-utils": "8.42.0",
- "@typescript-eslint/types": "8.42.0",
- "@typescript-eslint/visitor-keys": "8.42.0",
+ "@typescript-eslint/project-service": "8.45.0",
+ "@typescript-eslint/tsconfig-utils": "8.45.0",
+ "@typescript-eslint/types": "8.45.0",
+ "@typescript-eslint/visitor-keys": "8.45.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -5905,16 +6128,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.42.0.tgz",
- "integrity": "sha512-JnIzu7H3RH5BrKC4NoZqRfmjqCIS1u3hGZltDYJgkVdqAezl4L9d1ZLw+36huCujtSBSAirGINF/S4UxOcR+/g==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.45.0.tgz",
+ "integrity": "sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/scope-manager": "8.42.0",
- "@typescript-eslint/types": "8.42.0",
- "@typescript-eslint/typescript-estree": "8.42.0"
+ "@typescript-eslint/scope-manager": "8.45.0",
+ "@typescript-eslint/types": "8.45.0",
+ "@typescript-eslint/typescript-estree": "8.45.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5929,13 +6152,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.42.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.42.0.tgz",
- "integrity": "sha512-3WbiuzoEowaEn8RSnhJBrxSwX8ULYE9CXaPepS2C2W3NSA5NNIvBaslpBSBElPq0UGr0xVJlXFWOAKIkyylydQ==",
+ "version": "8.45.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.45.0.tgz",
+ "integrity": "sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.42.0",
+ "@typescript-eslint/types": "8.45.0",
"eslint-visitor-keys": "^4.2.1"
},
"engines": {
@@ -5965,6 +6188,15 @@
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
"license": "ISC"
},
+ "node_modules/@vercel/oidc": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.0.1.tgz",
+ "integrity": "sha512-V/YRVrJDqM6VaMBjRUrd6qRMrTKvZjHdVdEmdXsOZMulTa3iK98ijKTc3wldBmst6W5rHpqMoKllKcBAHgN7GQ==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 20"
+ }
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
@@ -6233,6 +6465,24 @@
"node": ">=8"
}
},
+ "node_modules/ai": {
+ "version": "5.0.60",
+ "resolved": "https://registry.npmjs.org/ai/-/ai-5.0.60.tgz",
+ "integrity": "sha512-80U/3kmdBW6g+JkLXpz/P2EwkyEaWlPlYtuLUpx/JYK9F7WZh9NnkYoh1KvUi1Sbpo0NyurBTvX0a2AG9mmbDA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/gateway": "1.0.33",
+ "@ai-sdk/provider": "2.0.0",
+ "@ai-sdk/provider-utils": "3.0.10",
+ "@opentelemetry/api": "1.9.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.25.76 || ^4.1.8"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -6298,25 +6548,25 @@
}
},
"node_modules/algoliasearch": {
- "version": "5.37.0",
- "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.37.0.tgz",
- "integrity": "sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA==",
- "license": "MIT",
- "dependencies": {
- "@algolia/abtesting": "1.3.0",
- "@algolia/client-abtesting": "5.37.0",
- "@algolia/client-analytics": "5.37.0",
- "@algolia/client-common": "5.37.0",
- "@algolia/client-insights": "5.37.0",
- "@algolia/client-personalization": "5.37.0",
- "@algolia/client-query-suggestions": "5.37.0",
- "@algolia/client-search": "5.37.0",
- "@algolia/ingestion": "1.37.0",
- "@algolia/monitoring": "1.37.0",
- "@algolia/recommend": "5.37.0",
- "@algolia/requester-browser-xhr": "5.37.0",
- "@algolia/requester-fetch": "5.37.0",
- "@algolia/requester-node-http": "5.37.0"
+ "version": "5.39.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.39.0.tgz",
+ "integrity": "sha512-DzTfhUxzg9QBNGzU/0kZkxEV72TeA4MmPJ7RVfLnQwHNhhliPo7ynglEWJS791rNlLFoTyrKvkapwr/P3EXV9A==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/abtesting": "1.5.0",
+ "@algolia/client-abtesting": "5.39.0",
+ "@algolia/client-analytics": "5.39.0",
+ "@algolia/client-common": "5.39.0",
+ "@algolia/client-insights": "5.39.0",
+ "@algolia/client-personalization": "5.39.0",
+ "@algolia/client-query-suggestions": "5.39.0",
+ "@algolia/client-search": "5.39.0",
+ "@algolia/ingestion": "1.39.0",
+ "@algolia/monitoring": "1.39.0",
+ "@algolia/recommend": "5.39.0",
+ "@algolia/requester-browser-xhr": "5.39.0",
+ "@algolia/requester-fetch": "5.39.0",
+ "@algolia/requester-node-http": "5.39.0"
},
"engines": {
"node": ">= 14.0.0"
@@ -6602,6 +6852,15 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"license": "MIT"
},
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.8.12",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.12.tgz",
+ "integrity": "sha512-vAPMQdnyKCBtkmQA6FMCBvU9qFIppS3nzyXnEM+Lo2IAhG4Mpjv9cCxMudhgV3YdNNJv6TNqXy97dfRVL2LmaQ==",
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
"node_modules/batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -6750,9 +7009,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.25.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz",
- "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==",
+ "version": "4.26.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz",
+ "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==",
"funding": [
{
"type": "opencollective",
@@ -6769,9 +7028,10 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001737",
- "electron-to-chromium": "^1.5.211",
- "node-releases": "^2.0.19",
+ "baseline-browser-mapping": "^2.8.9",
+ "caniuse-lite": "^1.0.30001746",
+ "electron-to-chromium": "^1.5.227",
+ "node-releases": "^2.0.21",
"update-browserslist-db": "^1.1.3"
},
"bin": {
@@ -6787,6 +7047,21 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"license": "MIT"
},
+ "node_modules/bundle-name": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
+ "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
+ "license": "MIT",
+ "dependencies": {
+ "run-applescript": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -6914,9 +7189,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001741",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz",
- "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==",
+ "version": "1.0.30001747",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001747.tgz",
+ "integrity": "sha512-mzFa2DGIhuc5490Nd/G31xN1pnBnYMadtkyTjefPI7wzypqgCEpeWu9bJr0OnDsyKrW75zA9ZAt7pbQFmwLsQg==",
"funding": [
{
"type": "opencollective",
@@ -7473,18 +7748,6 @@
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
"license": "MIT"
},
- "node_modules/copy-text-to-clipboard": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
- "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/copy-webpack-plugin": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
@@ -7708,9 +7971,9 @@
}
},
"node_modules/css-declaration-sorter": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz",
- "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==",
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.0.tgz",
+ "integrity": "sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==",
"license": "ISC",
"engines": {
"node": "^14 || ^16 || >=18"
@@ -7924,9 +8187,9 @@
}
},
"node_modules/cssdb": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.4.0.tgz",
- "integrity": "sha512-lyATYGyvXwQ8h55WeQeEHXhI+47rl52pXSYkFK/ZrCbAJSgVIaPFjYc3RM8TpRHKk7W3wsAZImmLps+P5VyN9g==",
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.4.2.tgz",
+ "integrity": "sha512-PzjkRkRUS+IHDJohtxkIczlxPPZqRo0nXplsYXOMBRPjcVRjj1W4DfvRgshUYTVuUigU7ptVYkFJQ7abUB0nyg==",
"funding": [
{
"type": "opencollective",
@@ -8608,9 +8871,9 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -8689,16 +8952,32 @@
"node": ">=0.10.0"
}
},
- "node_modules/default-gateway": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
- "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
- "license": "BSD-2-Clause",
+ "node_modules/default-browser": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
+ "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
+ "license": "MIT",
"dependencies": {
- "execa": "^5.0.0"
+ "bundle-name": "^4.1.0",
+ "default-browser-id": "^5.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-browser-id": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
+ "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/defer-to-connect": {
@@ -8901,9 +9180,9 @@
}
},
"node_modules/dompurify": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
- "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz",
+ "integrity": "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
@@ -8990,9 +9269,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.214",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.214.tgz",
- "integrity": "sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==",
+ "version": "1.5.230",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.230.tgz",
+ "integrity": "sha512-A6A6Fd3+gMdaed9wX83CvHYJb4UuapPD5X5SLq72VZJzxHSY0/LUweGXRWmQlh2ln7KV7iw7jnwXK7dlPoOnHQ==",
"license": "ISC"
},
"node_modules/emoji-regex": {
@@ -9061,9 +9340,9 @@
}
},
"node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+ "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
@@ -9177,20 +9456,20 @@
}
},
"node_modules/eslint": {
- "version": "9.35.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.35.0.tgz",
- "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==",
+ "version": "9.37.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.37.0.tgz",
+ "integrity": "sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.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/config-helpers": "^0.4.0",
+ "@eslint/core": "^0.16.0",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.35.0",
- "@eslint/plugin-kit": "^0.3.5",
+ "@eslint/js": "9.37.0",
+ "@eslint/plugin-kit": "^0.4.0",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
@@ -9547,6 +9826,15 @@
"node": ">=0.8.x"
}
},
+ "node_modules/eventsource-parser": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
+ "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/execa": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
@@ -10031,9 +10319,9 @@
}
},
"node_modules/fs-extra": {
- "version": "11.3.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz",
- "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
@@ -10044,18 +10332,6 @@
"node": ">=14.14"
}
},
- "node_modules/fs-monkey": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz",
- "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==",
- "license": "Unlicense"
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "license": "ISC"
- },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -10149,27 +10425,6 @@
"integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==",
"license": "ISC"
},
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -10182,6 +10437,22 @@
"node": ">= 6"
}
},
+ "node_modules/glob-to-regex.js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz",
+ "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/glob-to-regexp": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
@@ -10204,9 +10475,9 @@
}
},
"node_modules/globals": {
- "version": "16.3.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz",
- "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==",
+ "version": "16.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz",
+ "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10665,27 +10936,11 @@
"node_modules/hpack.js/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/html-entities": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz",
- "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/mdevils"
- },
- {
- "type": "patreon",
- "url": "https://patreon.com/mdevils"
- }
- ],
- "license": "MIT"
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
},
"node_modules/html-escaper": {
"version": "2.0.2",
@@ -10932,6 +11187,15 @@
"node": ">=10.17.0"
}
},
+ "node_modules/hyperdyperid": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz",
+ "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.18"
+ }
+ },
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -11029,17 +11293,6 @@
"node": ">=12"
}
},
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -11231,6 +11484,39 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/is-inside-container": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+ "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^3.0.0"
+ },
+ "bin": {
+ "is-inside-container": "cli.js"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-inside-container/node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-installed-globally": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
@@ -11247,10 +11533,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-network-error": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz",
+ "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-npm": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz",
- "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.1.0.tgz",
+ "integrity": "sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==",
"license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
@@ -11490,6 +11788,12 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"license": "MIT"
},
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -11528,9 +11832,9 @@
}
},
"node_modules/katex": {
- "version": "0.16.22",
- "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.22.tgz",
- "integrity": "sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==",
+ "version": "0.16.23",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.23.tgz",
+ "integrity": "sha512-7VlC1hsEEolL9xNO05v9VjrvWZePkCVBJqj8ruICxYjZfHaHbaU53AlP+PODyFIXEnaEIEWi3wJy7FPZ95JAVg==",
"funding": [
"https://opencollective.com/katex",
"https://github.com/sponsors/katex"
@@ -11846,15 +12150,15 @@
}
},
"node_modules/marked": {
- "version": "15.0.12",
- "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz",
- "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==",
+ "version": "16.3.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-16.3.0.tgz",
+ "integrity": "sha512-K3UxuKu6l6bmA5FUwYho8CfJBlsUWAooKtdGgMcERSpF7gcBUrCGsLH7wDaaNOzwq18JzSUDyoEb/YsrqMac3w==",
"license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
}
},
"node_modules/math-intrinsics": {
@@ -12284,15 +12588,21 @@
}
},
"node_modules/memfs": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
- "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
- "license": "Unlicense",
+ "version": "4.48.1",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.48.1.tgz",
+ "integrity": "sha512-vWO+1ROkhOALF1UnT9aNOOflq5oFDlqwTXaPg6duo07fBLxSH0+bcF0TY1lbA1zTNKyGgDxgaDdKx5MaewLX5A==",
+ "license": "Apache-2.0",
"dependencies": {
- "fs-monkey": "^1.0.4"
+ "@jsonjoy.com/json-pack": "^1.11.0",
+ "@jsonjoy.com/util": "^1.9.0",
+ "glob-to-regex.js": "^1.0.1",
+ "thingies": "^2.5.0",
+ "tree-dump": "^1.0.3",
+ "tslib": "^2.0.0"
},
- "engines": {
- "node": ">= 4.0.0"
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
}
},
"node_modules/merge-descriptors": {
@@ -12320,12 +12630,12 @@
}
},
"node_modules/mermaid": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.11.0.tgz",
- "integrity": "sha512-9lb/VNkZqWTRjVgCV+l1N+t4kyi94y+l5xrmBmbbxZYkfRl5hEDaTPMOcaWKCl1McG8nBEaMlWwkcAEEgjhBgg==",
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.0.tgz",
+ "integrity": "sha512-ZudVx73BwrMJfCFmSSJT84y6u5brEoV8DOItdHomNLz32uBjNrelm7mg95X7g+C6UoQH/W6mBLGDEDv73JdxBg==",
"license": "MIT",
"dependencies": {
- "@braintree/sanitize-url": "^7.0.4",
+ "@braintree/sanitize-url": "^7.1.1",
"@iconify/utils": "^3.0.1",
"@mermaid-js/parser": "^0.6.2",
"@types/d3": "^7.4.3",
@@ -12335,12 +12645,12 @@
"d3": "^7.9.0",
"d3-sankey": "^0.12.3",
"dagre-d3-es": "7.0.11",
- "dayjs": "^1.11.13",
+ "dayjs": "^1.11.18",
"dompurify": "^3.2.5",
"katex": "^0.16.22",
"khroma": "^2.1.0",
"lodash-es": "^4.17.21",
- "marked": "^15.0.7",
+ "marked": "^16.2.1",
"roughjs": "^4.6.6",
"stylis": "^4.3.6",
"ts-dedent": "^2.2.0",
@@ -14284,9 +14594,19 @@
}
},
"node_modules/monaco-editor": {
- "version": "0.52.2",
- "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.2.tgz",
- "integrity": "sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==",
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.53.0.tgz",
+ "integrity": "sha512-0WNThgC6CMWNXXBxTbaYYcunj08iB5rnx4/G56UOPeL9UVIUGGHA1GR0EWIh9Ebabj7NpCRawQ5b0hfN1jQmYQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/trusted-types": "^1.0.6"
+ }
+ },
+ "node_modules/monaco-editor/node_modules/@types/trusted-types": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz",
+ "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==",
"license": "MIT",
"peer": true
},
@@ -14393,9 +14713,9 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.20.tgz",
- "integrity": "sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==",
+ "version": "2.0.23",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz",
+ "integrity": "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==",
"license": "MIT"
},
"node_modules/normalize-path": {
@@ -14417,9 +14737,9 @@
}
},
"node_modules/normalize-url": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz",
- "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz",
+ "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==",
"license": "MIT",
"engines": {
"node": ">=14.16"
@@ -14573,15 +14893,6 @@
"node": ">= 0.8"
}
},
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
"node_modules/onetime": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
@@ -14723,16 +15034,20 @@
}
},
"node_modules/p-retry": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
- "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz",
+ "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==",
"license": "MIT",
"dependencies": {
- "@types/retry": "0.12.0",
+ "@types/retry": "0.12.2",
+ "is-network-error": "^1.0.0",
"retry": "^0.13.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=16.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-timeout": {
@@ -14914,15 +15229,6 @@
"node": ">=8"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/path-is-inside": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
@@ -15208,9 +15514,9 @@
}
},
"node_modules/postcss-color-functional-notation": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.11.tgz",
- "integrity": "sha512-zfqoUSaHMko/k2PA9xnaydVTHqYv5vphq5Q2AHcG/dCdv/OkHYWcVWfVTBKZ526uzT8L7NghuvSw3C9PxlKnLg==",
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz",
+ "integrity": "sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==",
"funding": [
{
"type": "github",
@@ -15226,7 +15532,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -15522,9 +15828,9 @@
}
},
"node_modules/postcss-double-position-gradients": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.3.tgz",
- "integrity": "sha512-Dl0Z9sdbMwrPslgOaGBZRGo3TASmmgTcqcUODr82MTYyJk6devXZM6MlQjpQKMJqlLJ6oL1w78U7IXFdPA5+ug==",
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz",
+ "integrity": "sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==",
"funding": [
{
"type": "github",
@@ -15537,7 +15843,7 @@
],
"license": "MIT-0",
"dependencies": {
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0",
"postcss-value-parser": "^4.2.0"
},
@@ -15682,9 +15988,9 @@
}
},
"node_modules/postcss-lab-function": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.11.tgz",
- "integrity": "sha512-BEA4jId8uQe1gyjZZ6Bunb6ZsH2izks+v25AxQJDBtigXCjTLmCPWECwQpLTtcxH589MVxhs/9TAmRC6lUEmXQ==",
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz",
+ "integrity": "sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==",
"funding": [
{
"type": "github",
@@ -15700,7 +16006,7 @@
"@csstools/css-color-parser": "^3.1.0",
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/utilities": "^2.0.0"
},
"engines": {
@@ -16271,9 +16577,9 @@
}
},
"node_modules/postcss-preset-env": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.3.1.tgz",
- "integrity": "sha512-8ZOOWVwQ0iMpfEYkYo+U6W7fE2dJ/tP6dtEFwPJ66eB5JjnFupfYh+y6zo+vWDO72nGhKOVdxwhTjfzcSNRg4Q==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.4.0.tgz",
+ "integrity": "sha512-2kqpOthQ6JhxqQq1FSAAZGe9COQv75Aw8WbsOvQVNJ2nSevc9Yx/IKZGuZ7XJ+iOTtVon7LfO7ELRzg8AZ+sdw==",
"funding": [
{
"type": "github",
@@ -16286,22 +16592,23 @@
],
"license": "MIT-0",
"dependencies": {
- "@csstools/postcss-alpha-function": "^1.0.0",
+ "@csstools/postcss-alpha-function": "^1.0.1",
"@csstools/postcss-cascade-layers": "^5.0.2",
- "@csstools/postcss-color-function": "^4.0.11",
- "@csstools/postcss-color-function-display-p3-linear": "^1.0.0",
- "@csstools/postcss-color-mix-function": "^3.0.11",
- "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.1",
- "@csstools/postcss-content-alt-text": "^2.0.7",
+ "@csstools/postcss-color-function": "^4.0.12",
+ "@csstools/postcss-color-function-display-p3-linear": "^1.0.1",
+ "@csstools/postcss-color-mix-function": "^3.0.12",
+ "@csstools/postcss-color-mix-variadic-function-arguments": "^1.0.2",
+ "@csstools/postcss-content-alt-text": "^2.0.8",
+ "@csstools/postcss-contrast-color-function": "^2.0.12",
"@csstools/postcss-exponential-functions": "^2.0.9",
"@csstools/postcss-font-format-keywords": "^4.0.0",
"@csstools/postcss-gamut-mapping": "^2.0.11",
- "@csstools/postcss-gradients-interpolation-method": "^5.0.11",
- "@csstools/postcss-hwb-function": "^4.0.11",
- "@csstools/postcss-ic-unit": "^4.0.3",
+ "@csstools/postcss-gradients-interpolation-method": "^5.0.12",
+ "@csstools/postcss-hwb-function": "^4.0.12",
+ "@csstools/postcss-ic-unit": "^4.0.4",
"@csstools/postcss-initial": "^2.0.1",
"@csstools/postcss-is-pseudo-class": "^5.0.3",
- "@csstools/postcss-light-dark-function": "^2.0.10",
+ "@csstools/postcss-light-dark-function": "^2.0.11",
"@csstools/postcss-logical-float-and-clear": "^3.0.0",
"@csstools/postcss-logical-overflow": "^2.0.0",
"@csstools/postcss-logical-overscroll-behavior": "^2.0.0",
@@ -16311,10 +16618,10 @@
"@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.5",
"@csstools/postcss-nested-calc": "^4.0.0",
"@csstools/postcss-normalize-display-values": "^4.0.0",
- "@csstools/postcss-oklab-function": "^4.0.11",
- "@csstools/postcss-progressive-custom-properties": "^4.2.0",
+ "@csstools/postcss-oklab-function": "^4.0.12",
+ "@csstools/postcss-progressive-custom-properties": "^4.2.1",
"@csstools/postcss-random-function": "^2.0.1",
- "@csstools/postcss-relative-color-syntax": "^3.0.11",
+ "@csstools/postcss-relative-color-syntax": "^3.0.12",
"@csstools/postcss-scope-pseudo-class": "^4.0.1",
"@csstools/postcss-sign-functions": "^1.1.4",
"@csstools/postcss-stepped-value-functions": "^4.0.9",
@@ -16322,27 +16629,27 @@
"@csstools/postcss-trigonometric-functions": "^4.0.9",
"@csstools/postcss-unset-value": "^4.0.0",
"autoprefixer": "^10.4.21",
- "browserslist": "^4.25.1",
+ "browserslist": "^4.26.0",
"css-blank-pseudo": "^7.0.1",
"css-has-pseudo": "^7.0.3",
"css-prefers-color-scheme": "^10.0.0",
- "cssdb": "^8.4.0",
+ "cssdb": "^8.4.2",
"postcss-attribute-case-insensitive": "^7.0.1",
"postcss-clamp": "^4.1.0",
- "postcss-color-functional-notation": "^7.0.11",
+ "postcss-color-functional-notation": "^7.0.12",
"postcss-color-hex-alpha": "^10.0.0",
"postcss-color-rebeccapurple": "^10.0.0",
"postcss-custom-media": "^11.0.6",
"postcss-custom-properties": "^14.0.6",
"postcss-custom-selectors": "^8.0.5",
"postcss-dir-pseudo-class": "^9.0.1",
- "postcss-double-position-gradients": "^6.0.3",
+ "postcss-double-position-gradients": "^6.0.4",
"postcss-focus-visible": "^10.0.1",
"postcss-focus-within": "^9.0.1",
"postcss-font-variant": "^5.0.0",
"postcss-gap-properties": "^6.0.0",
"postcss-image-set-function": "^7.0.0",
- "postcss-lab-function": "^7.0.11",
+ "postcss-lab-function": "^7.0.12",
"postcss-logical": "^8.1.0",
"postcss-nesting": "^13.0.2",
"postcss-opacity-percentage": "^3.0.0",
@@ -16713,9 +17020,9 @@
}
},
"node_modules/pupa": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz",
- "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.3.0.tgz",
+ "integrity": "sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==",
"license": "MIT",
"dependencies": {
"escape-goat": "^4.0.0"
@@ -16875,9 +17182,9 @@
}
},
"node_modules/react": {
- "version": "19.1.1",
- "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
- "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==",
+ "version": "19.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz",
+ "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -16894,15 +17201,15 @@
}
},
"node_modules/react-dom": {
- "version": "19.1.1",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz",
- "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==",
+ "version": "19.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz",
+ "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==",
"license": "MIT",
"dependencies": {
- "scheduler": "^0.26.0"
+ "scheduler": "^0.27.0"
},
"peerDependencies": {
- "react": "^19.1.1"
+ "react": "^19.2.0"
}
},
"node_modules/react-fast-compare": {
@@ -17127,9 +17434,9 @@
"license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
- "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz",
+ "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==",
"license": "MIT",
"dependencies": {
"regenerate": "^1.4.2"
@@ -17139,17 +17446,17 @@
}
},
"node_modules/regexpu-core": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
- "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz",
+ "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==",
"license": "MIT",
"dependencies": {
"regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.2.0",
+ "regenerate-unicode-properties": "^10.2.2",
"regjsgen": "^0.8.0",
- "regjsparser": "^0.12.0",
+ "regjsparser": "^0.13.0",
"unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.1.0"
+ "unicode-match-property-value-ecmascript": "^2.2.1"
},
"engines": {
"node": ">=4"
@@ -17189,29 +17496,17 @@
"license": "MIT"
},
"node_modules/regjsparser": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
- "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz",
+ "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==",
"license": "BSD-2-Clause",
"dependencies": {
- "jsesc": "~3.0.2"
+ "jsesc": "~3.1.0"
},
"bin": {
"regjsparser": "bin/parser"
}
},
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
- "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/rehype-raw": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
@@ -17586,22 +17881,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/robust-predicates": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
@@ -17638,6 +17917,18 @@
"node": ">=12.0.0"
}
},
+ "node_modules/run-applescript": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
+ "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -17700,9 +17991,9 @@
"license": "ISC"
},
"node_modules/scheduler": {
- "version": "0.26.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
- "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
"license": "MIT"
},
"node_modules/schema-dts": {
@@ -17712,9 +18003,9 @@
"license": "Apache-2.0"
},
"node_modules/schema-utils": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
- "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
+ "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
"license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.9",
@@ -18410,9 +18701,9 @@
}
},
"node_modules/string-width/node_modules/ansi-regex": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
- "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -18422,9 +18713,9 @@
}
},
"node_modules/string-width/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -18610,10 +18901,23 @@
"node": ">= 10"
}
},
+ "node_modules/swr": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.6.tgz",
+ "integrity": "sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw==",
+ "license": "MIT",
+ "dependencies": {
+ "dequal": "^2.0.3",
+ "use-sync-external-store": "^1.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/tapable": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz",
- "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+ "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -18710,6 +19014,34 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"license": "MIT"
},
+ "node_modules/thingies": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz",
+ "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "^2"
+ }
+ },
+ "node_modules/throttleit": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz",
+ "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -18773,6 +19105,22 @@
"node": ">=6"
}
},
+ "node_modules/tree-dump": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz",
+ "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/streamich"
+ },
+ "peerDependencies": {
+ "tslib": "2"
+ }
+ },
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
@@ -18913,9 +19261,9 @@
}
},
"node_modules/typescript": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
- "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"devOptional": true,
"license": "Apache-2.0",
"bin": {
@@ -18933,9 +19281,9 @@
"license": "MIT"
},
"node_modules/undici-types": {
- "version": "7.10.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz",
- "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==",
+ "version": "7.13.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz",
+ "integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==",
"license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
@@ -18970,18 +19318,18 @@
}
},
"node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
- "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz",
+ "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==",
"license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz",
+ "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==",
"license": "MIT",
"engines": {
"node": ">=4"
@@ -19213,9 +19561,9 @@
}
},
"node_modules/update-notifier/node_modules/chalk": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz",
- "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==",
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
"license": "MIT",
"engines": {
"node": "^12.17.0 || ^14.13 || >=16.0.0"
@@ -19299,6 +19647,15 @@
"url": "https://opencollective.com/webpack"
}
},
+ "node_modules/use-sync-external-store": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -19481,9 +19838,9 @@
}
},
"node_modules/webpack": {
- "version": "5.101.3",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz",
- "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==",
+ "version": "5.102.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.0.tgz",
+ "integrity": "sha512-hUtqAR3ZLVEYDEABdBioQCIqSoguHbFn1K7WlPPWSuXmx0031BD73PSE35jKyftdSh4YLDoQNgK4pqBt5Q82MA==",
"license": "MIT",
"dependencies": {
"@types/eslint-scope": "^3.7.7",
@@ -19494,7 +19851,7 @@
"@webassemblyjs/wasm-parser": "^1.14.1",
"acorn": "^8.15.0",
"acorn-import-phases": "^1.0.3",
- "browserslist": "^4.24.0",
+ "browserslist": "^4.24.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.17.3",
"es-module-lexer": "^1.2.1",
@@ -19507,9 +19864,9 @@
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
"schema-utils": "^4.3.2",
- "tapable": "^2.1.1",
+ "tapable": "^2.2.3",
"terser-webpack-plugin": "^5.3.11",
- "watchpack": "^2.4.1",
+ "watchpack": "^2.4.4",
"webpack-sources": "^3.3.3"
},
"bin": {
@@ -19564,44 +19921,50 @@
}
},
"node_modules/webpack-dev-middleware": {
- "version": "5.3.4",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
- "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz",
+ "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==",
"license": "MIT",
"dependencies": {
"colorette": "^2.0.10",
- "memfs": "^3.4.3",
- "mime-types": "^2.1.31",
+ "memfs": "^4.43.1",
+ "mime-types": "^3.0.1",
+ "on-finished": "^2.4.1",
"range-parser": "^1.2.1",
"schema-utils": "^4.0.0"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "webpack": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack": {
+ "optional": true
+ }
}
},
"node_modules/webpack-dev-middleware/node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/webpack-dev-middleware/node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
+ "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
"license": "MIT",
"dependencies": {
- "mime-db": "1.52.0"
+ "mime-db": "^1.54.0"
},
"engines": {
"node": ">= 0.6"
@@ -19617,54 +19980,52 @@
}
},
"node_modules/webpack-dev-server": {
- "version": "4.15.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz",
- "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==",
- "license": "MIT",
- "dependencies": {
- "@types/bonjour": "^3.5.9",
- "@types/connect-history-api-fallback": "^1.3.5",
- "@types/express": "^4.17.13",
- "@types/serve-index": "^1.9.1",
- "@types/serve-static": "^1.13.10",
- "@types/sockjs": "^0.3.33",
- "@types/ws": "^8.5.5",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz",
+ "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/bonjour": "^3.5.13",
+ "@types/connect-history-api-fallback": "^1.5.4",
+ "@types/express": "^4.17.21",
+ "@types/express-serve-static-core": "^4.17.21",
+ "@types/serve-index": "^1.9.4",
+ "@types/serve-static": "^1.15.5",
+ "@types/sockjs": "^0.3.36",
+ "@types/ws": "^8.5.10",
"ansi-html-community": "^0.0.8",
- "bonjour-service": "^1.0.11",
- "chokidar": "^3.5.3",
+ "bonjour-service": "^1.2.1",
+ "chokidar": "^3.6.0",
"colorette": "^2.0.10",
"compression": "^1.7.4",
"connect-history-api-fallback": "^2.0.0",
- "default-gateway": "^6.0.3",
- "express": "^4.17.3",
+ "express": "^4.21.2",
"graceful-fs": "^4.2.6",
- "html-entities": "^2.3.2",
- "http-proxy-middleware": "^2.0.3",
- "ipaddr.js": "^2.0.1",
- "launch-editor": "^2.6.0",
- "open": "^8.0.9",
- "p-retry": "^4.5.0",
- "rimraf": "^3.0.2",
- "schema-utils": "^4.0.0",
- "selfsigned": "^2.1.1",
+ "http-proxy-middleware": "^2.0.9",
+ "ipaddr.js": "^2.1.0",
+ "launch-editor": "^2.6.1",
+ "open": "^10.0.3",
+ "p-retry": "^6.2.0",
+ "schema-utils": "^4.2.0",
+ "selfsigned": "^2.4.1",
"serve-index": "^1.9.1",
"sockjs": "^0.3.24",
"spdy": "^4.0.2",
- "webpack-dev-middleware": "^5.3.4",
- "ws": "^8.13.0"
+ "webpack-dev-middleware": "^7.4.2",
+ "ws": "^8.18.0"
},
"bin": {
"webpack-dev-server": "bin/webpack-dev-server.js"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 18.12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "webpack": "^4.37.0 || ^5.0.0"
+ "webpack": "^5.0.0"
},
"peerDependenciesMeta": {
"webpack": {
@@ -19675,6 +20036,36 @@
}
}
},
+ "node_modules/webpack-dev-server/node_modules/define-lazy-prop": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/webpack-dev-server/node_modules/open": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
+ "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
+ "license": "MIT",
+ "dependencies": {
+ "default-browser": "^5.2.1",
+ "define-lazy-prop": "^3.0.0",
+ "is-inside-container": "^1.0.0",
+ "wsl-utils": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/webpack-dev-server/node_modules/ws": {
"version": "8.18.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
@@ -19921,9 +20312,9 @@
}
},
"node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz",
- "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -19933,9 +20324,9 @@
}
},
"node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -19945,9 +20336,9 @@
}
},
"node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -19959,12 +20350,6 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "license": "ISC"
- },
"node_modules/write-file-atomic": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
@@ -19998,6 +20383,36 @@
}
}
},
+ "node_modules/wsl-utils": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
+ "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-wsl": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/wsl-utils/node_modules/is-wsl": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+ "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-inside-container": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/xdg-basedir": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz",
@@ -20041,6 +20456,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/zod": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.11.tgz",
+ "integrity": "sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
"node_modules/zwitch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
diff --git a/package.json b/package.json
index 36d6612b..7ce23558 100644
--- a/package.json
+++ b/package.json
@@ -27,35 +27,35 @@
"lint": "prettier --check . && tsc && eslint ."
},
"dependencies": {
- "@boa-dev/boa_wasm": "^0.20.0",
- "@docusaurus/core": "^3.8.1",
- "@docusaurus/plugin-content-pages": "^3.8.1",
- "@docusaurus/preset-classic": "^3.8.1",
- "@docusaurus/theme-mermaid": "^3.8.1",
+ "@boa-dev/boa_wasm": "^0.21.0",
+ "@docusaurus/core": "^3.9.1",
+ "@docusaurus/plugin-content-pages": "^3.9.1",
+ "@docusaurus/preset-classic": "^3.9.1",
+ "@docusaurus/theme-mermaid": "^3.9.1",
"@mdx-js/react": "^3.1.1",
"@monaco-editor/react": "^4.7.0",
"chart.js": "^4.5.0",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
- "react": "^19.1.1",
+ "react": "^19.2.0",
"react-chartjs-2": "^5.3.0",
- "react-dom": "^19.1.1"
+ "react-dom": "^19.2.0"
},
"devDependencies": {
- "@docusaurus/eslint-plugin": "^3.8.1",
- "@docusaurus/module-type-aliases": "^3.8.1",
- "@docusaurus/plugin-client-redirects": "^3.8.1",
- "@docusaurus/tsconfig": "^3.8.1",
- "@docusaurus/types": "^3.8.1",
+ "@docusaurus/eslint-plugin": "^3.9.1",
+ "@docusaurus/module-type-aliases": "^3.9.1",
+ "@docusaurus/plugin-client-redirects": "^3.9.1",
+ "@docusaurus/tsconfig": "^3.9.1",
+ "@docusaurus/types": "^3.9.1",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "^9.35.0",
- "@typescript-eslint/eslint-plugin": "^8.42.0",
- "@typescript-eslint/parser": "^8.42.0",
- "eslint": "^9.35.0",
+ "@eslint/js": "^9.37.0",
+ "@typescript-eslint/eslint-plugin": "^8.45.0",
+ "@typescript-eslint/parser": "^8.45.0",
+ "eslint": "^9.37.0",
"eslint-config-prettier": "^10.1.8",
- "globals": "^16.3.0",
+ "globals": "^16.4.0",
"prettier": "3.6.2",
- "typescript": "^5.9.2"
+ "typescript": "^5.9.3"
},
"browserslist": {
"production": [
diff --git a/src/components/conformance/utils.ts b/src/components/conformance/utils.ts
index 33a2d30c..edb97a31 100644
--- a/src/components/conformance/utils.ts
+++ b/src/components/conformance/utils.ts
@@ -31,14 +31,16 @@ export function updateInitialConformanceState(
) {
if (conformanceState) return conformanceState;
const selectedTest = urlState.testPath ? urlState.selectedTest : undefined;
- const tagName = (!urlState.versionTag) && urlState.testPath ? "main" : urlState.versionTag;
+ const tagName =
+ !urlState.versionTag && urlState.testPath ? "main" : urlState.versionTag;
const fetchUrl =
tagName === "main"
? `https://raw.githubusercontent.com/boa-dev/data/main/test262/refs/heads/main/latest.json`
: `https://raw.githubusercontent.com/boa-dev/data/main/test262/refs/tags/${tagName}/latest.json`;
const testPath = urlState.testPath || [];
- if (!tagName && testPath.length == 0 && !selectedTest) return conformanceState;
+ if (!tagName && testPath.length == 0 && !selectedTest)
+ return conformanceState;
return {
version: { tagName, fetchUrl },
testPath: [tagName, ...testPath],