From 46f2d7e9c5bbc16619dec1a71287c285d9f5ba1b Mon Sep 17 00:00:00 2001 From: Valerii Smirnov Date: Sun, 10 Nov 2024 22:21:23 +0100 Subject: [PATCH] Preparation to align SWC plugin with `@preact/signals-react-transform` output (#195) * unified regex with babel origin * transformHooks implemented * make 'all' transform to behave only on Component level * working version * refactor and start code for new option * refactor * wip * simplification * test support of context aware transforms * removed duplicate changeset * removed useless overhead * started to tests agains original * small fix * wip * temporary tests turn off * fixed tests --- .changeset/nine-olives-own.md | 7 + apps/transformer-playground/package.json | 6 +- packages/react/package.json | 7 +- packages/react/src/babel.ts | 5 +- packages/react/swc/src/lib.rs | 521 +++-- packages/react/swc/src/utils.rs | 155 +- packages/react/test/babel/index.test.tsx | 1777 ++++++++------- packages/utils/package.json | 8 +- pnpm-lock.yaml | 2599 ++++++++++++++++------ 9 files changed, 3295 insertions(+), 1790 deletions(-) create mode 100644 .changeset/nine-olives-own.md diff --git a/.changeset/nine-olives-own.md b/.changeset/nine-olives-own.md new file mode 100644 index 00000000..1ab7e9ca --- /dev/null +++ b/.changeset/nine-olives-own.md @@ -0,0 +1,7 @@ +--- +"transformer-playground": patch +"@preact-signals/safe-react": patch +"@preact-signals/utils": patch +--- + +Updated babel version to remove browserlist warnings diff --git a/apps/transformer-playground/package.json b/apps/transformer-playground/package.json index 2c9d206f..efbf7c40 100644 --- a/apps/transformer-playground/package.json +++ b/apps/transformer-playground/package.json @@ -10,9 +10,9 @@ "preview": "vite preview" }, "dependencies": { - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/preset-env": "^7.24.6", - "@babel/standalone": "^7.24.3", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/standalone": "^7.25.9", "@monaco-editor/react": "^4.6.0", "@preact-signals/safe-react": "workspace:*", "@preact-signals/utils": "workspace:*", diff --git a/packages/react/package.json b/packages/react/package.json index 465874cc..a3490a28 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -115,8 +115,8 @@ "lint": "check-export-map" }, "dependencies": { - "@babel/helper-module-imports": "7.24.3", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-module-imports": "7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", "@preact/signals-core": "^1.6.0", "debug": "^4.3.4", "hotscript": "^1.0.13", @@ -131,7 +131,8 @@ "@swc/core": "~1.4.0" }, "devDependencies": { - "@babel/traverse": "^7.24.5", + "@babel/traverse": "^7.25.9", + "@preact/signals-react-transform": "^0.4.0", "@rollup/plugin-replace": "^5.0.5", "@rollup/plugin-typescript": "^11.1.6", "@swc/core": "~1.4.0", diff --git a/packages/react/src/babel.ts b/packages/react/src/babel.ts index 9d58a5e4..e7ac6aeb 100644 --- a/packages/react/src/babel.ts +++ b/packages/react/src/babel.ts @@ -415,7 +415,10 @@ export interface PluginOptions { * @default "@preact-signals/safe-react/tracking" */ importSource?: string; - experimental?: {}; + experimental?: { + // apliable only to swc plugin + addHookUsageFlag?: boolean; + }; } function log( diff --git a/packages/react/swc/src/lib.rs b/packages/react/swc/src/lib.rs index d975afa5..d252af5e 100644 --- a/packages/react/swc/src/lib.rs +++ b/packages/react/swc/src/lib.rs @@ -11,8 +11,6 @@ use std::{ }; use regex::Regex; -use serde::Deserialize; -use serde_json; use std::path::PathBuf; use swc_core::{ common::comments::Comments, @@ -30,13 +28,6 @@ use swc_core::{ }, }; -fn get_import_source(str: &str) -> Str { - Str { - span: DUMMY_SP, - value: Atom::new(str), - raw: None, - } -} fn is_track_signals_directive(string: &str) -> bool { // https://github.com/preactjs/signals/blob/e04671469e9272de356109170b2e429db49db2f0/packages/react-transform/src/index.ts#L18 static RE: Lazy = Lazy::new(|| Regex::new(r#"(\s|^)@useSignals(\s|$)"#).unwrap()); @@ -48,35 +39,127 @@ fn is_no_track_signals_directive(string: &str) -> bool { RE.is_match(string) } -fn get_default_import_source() -> Str { - get_import_source("@preact-signals/safe-react/tracking") + +trait StrExt { + fn from_str(str: &str) -> Str; + fn signals_default_source() -> Str; } -fn get_named_import_ident() -> Ident { - Ident { - span: DUMMY_SP, - sym: "useSignals".into(), - optional: false, +impl StrExt for Str { + fn from_str(str: &str) -> Str { + Str { + span: DUMMY_SP, + value: Atom::new(str), + raw: None, + } + } + fn signals_default_source() -> Str { + Str::from_str("@preact-signals/safe-react/tracking") } } - -#[derive(PartialEq, Eq, Deserialize)] -#[serde(rename_all = "kebab-case")] -enum TransformMode { - Manual, - /** - * all options affects only components - */ - All, - Auto, +trait IdentExt { + fn use_signals() -> Ident; } +impl IdentExt for Ident { + fn use_signals() -> Ident { + Ident { + span: DUMMY_SP, + sym: "useSignals".into(), + optional: false, + } + } +} + +mod options { + use serde::Deserialize; + + #[derive(PartialEq, Eq, Deserialize, Default)] + #[serde(rename_all = "kebab-case")] + pub enum TransformMode { + Manual, + /** + * all options affects only components + */ + #[default] + All, + Auto, + } + + #[derive(Deserialize)] + #[serde(rename_all = "camelCase")] + pub struct PreactSignalsPluginExperimental { + #[serde(default)] + pub add_hook_usage_flag: bool, + } + impl Default for PreactSignalsPluginExperimental { + fn default() -> Self { + Self { + add_hook_usage_flag: false, + } + } + } + fn default_import_source() -> String { + "@preact-signals/safe-react/tracking".into() + } + fn default_transform_hooks() -> bool { + true + } -#[derive(Deserialize)] -#[serde(rename_all = "camelCase")] -struct PreactSignalsPluginOptions { - mode: Option, - import_source: Option, - transform_hooks: Option, + #[derive(Deserialize)] + #[serde(rename_all = "camelCase")] + pub struct PreactSignalsPluginOptions { + #[serde(default)] + pub mode: TransformMode, + #[serde(default = "default_import_source")] + pub import_source: String, + #[serde(default = "default_transform_hooks")] + pub transform_hooks: bool, + #[serde(default)] + pub experimental: PreactSignalsPluginExperimental, + } + + impl Default for PreactSignalsPluginOptions { + fn default() -> Self { + PreactSignalsPluginOptions { + mode: TransformMode::default(), + import_source: default_import_source(), + transform_hooks: default_transform_hooks(), + experimental: PreactSignalsPluginExperimental::default(), + } + } + } + impl PreactSignalsPluginOptions { + pub fn auto_hooks() -> PreactSignalsPluginOptions { + PreactSignalsPluginOptions { + mode: TransformMode::Auto, + import_source: default_import_source(), + transform_hooks: true, + experimental: PreactSignalsPluginExperimental::default(), + } + } + pub fn auto_hooks_and_hook_usage_flag() -> PreactSignalsPluginOptions { + PreactSignalsPluginOptions { + mode: TransformMode::Auto, + import_source: default_import_source(), + transform_hooks: true, + experimental: PreactSignalsPluginExperimental { + add_hook_usage_flag: true, + }, + } + } + + pub fn auto_hooks_context_flags() -> PreactSignalsPluginOptions { + PreactSignalsPluginOptions { + mode: TransformMode::Auto, + import_source: default_import_source(), + transform_hooks: true, + experimental: PreactSignalsPluginExperimental { + add_hook_usage_flag: true, + }, + } + } + } } +use options::{PreactSignalsPluginOptions, TransformMode}; pub struct SignalsTransformVisitor where @@ -89,8 +172,8 @@ where ignore_span: Option, file_trackable_name: Option, transform_hooks: bool, + add_context_to_hooks: bool, } - impl SignalsTransformVisitor where C: Comments + Debug, @@ -106,50 +189,45 @@ where file_trackable_name: Option, ) -> Self { SignalsTransformVisitor { - comments: comments, + comments, file_trackable_name, - mode: options.mode.unwrap_or(TransformMode::All), + mode: options.mode, import_use_signals: None, - use_signals_import_source: options - .import_source - .map(|it| get_import_source(it.as_str())) - .unwrap_or(get_default_import_source()), - transform_hooks: options.transform_hooks.unwrap_or(true), + use_signals_import_source: Str::from_str(options.import_source.as_str()), + transform_hooks: options.transform_hooks, ignore_span: None, + add_context_to_hooks: options.experimental.add_hook_usage_flag, } } fn from_default(comments: C, file_trackable_name: Option) -> Self { - SignalsTransformVisitor { - comments: comments, + SignalsTransformVisitor::from_options( + PreactSignalsPluginOptions::default(), + comments, file_trackable_name, - mode: TransformMode::All, - import_use_signals: None, - use_signals_import_source: get_default_import_source(), - transform_hooks: true, - ignore_span: None, - } + ) } - fn process_var_decl( - &mut self, - n: &mut VarDecl, - additional_spans: Option<&[Option]>, - transform: T, - ) where - T: FnOnce(&mut SignalsTransformVisitor, &mut FunctionLike), - { + fn process_var_decl(&mut self, n: &mut VarDecl, additional_spans: Option<&[&Span]>) { if let Some(first) = n.decls.as_mut_slice().take_first_mut() && let Some(init) = &mut first.init && let child_span = init.unwrap_parens().get_span().clone() && let Some(mut component) = extract_fn_from_expr(init.unwrap_parens_mut()) - && let defaults_spans = [Some(child_span), Some(n.span)] - && let spans = [additional_spans.unwrap_or(&[]), &defaults_spans].concat() - && match component.get_fn_ident() { - None => self.should_track(&spans, &first.name, &component, false), - Some(ident) => self.should_track(&spans, &ident, &component, false), + && let defaults_spans = &[&child_span, &n.span] + && let spans = if let Some(extra_spans) = additional_spans { + [defaults_spans, extra_spans].concat() + } else { + defaults_spans.to_vec() + } + && let Some(trackable) = match component.get_fn_ident() { + None => { + self.should_track_option_ident(&spans, Some(&first.name), &component, false) + } + Some(ident) => { + self.should_track_option_ident(&spans, Some(&ident), &component, false) + } } { - transform(self, &mut component) + self.track(trackable, &mut component); } } } @@ -194,94 +272,99 @@ where None => ShouldTrack::Auto, } } -fn should_track_by_comments(comments: &C, spans: &[Option]) -> ShouldTrack -where - C: Comments + Debug, -{ - spans - .into_iter() - .filter_map(|it| match it { - Some(span) => match should_track_by_comment(comments, span) { - ShouldTrack::Auto => None, - it => Some(it), - }, - None => None, - }) - .reduce(|acc, it| match (acc, it) { - (ShouldTrack::OptIn, ShouldTrack::OptOut) => ShouldTrack::OptOut, - (ShouldTrack::OptOut, ShouldTrack::OptIn) => ShouldTrack::OptOut, - (_, it) => it, - }) - .unwrap_or(ShouldTrack::Auto) -} impl SignalsTransformVisitor where C: Comments + Debug, { - fn should_track_auto( - &self, - ident: Option<&I>, - component: &Comp, - is_default_export: bool, - ) -> bool + fn is_trackable(&self, ident: Option<&I>, is_default_export: bool) -> Option where - Comp: Detectable, I: MaybeComponentName, { - let should_track_by_name = || { - if is_default_export && ident.is_none() { - self.file_trackable_name.to_owned() - } else { - ident.and_then(|it| it.is_trackable()) - } - }; - // [TODO]: distinguish trackbables to support @preact/signals-react/runtime - match self.mode { - TransformMode::Manual => false, - TransformMode::Auto => match should_track_by_name() { - Some(Trackable::Hook) if self.transform_hooks => component.has_dot_value(), - Some(Trackable::Component) => component.has_jsx() && component.has_dot_value(), - _ => false, - }, - TransformMode::All => match should_track_by_name() { - Some(Trackable::Hook) if self.transform_hooks => component.has_dot_value(), - Some(Trackable::Component) => component.has_jsx(), - _ => false, - }, + if is_default_export && ident.is_none() { + self.file_trackable_name.to_owned() + } else { + ident.and_then(|it| it.is_trackable()) } } #[inline] fn should_track_option_ident( &self, - comment_spans: &[Option], + comment_spans: &[&Span], ident: Option<&I>, component: &Comp, is_default_export: bool, - ) -> bool + ) -> Option where Comp: Detectable, I: MaybeComponentName, { - match should_track_by_comments(&self.comments, comment_spans) { - ShouldTrack::Auto => self.should_track_auto(ident, component, is_default_export), - ShouldTrack::OptIn => true, - ShouldTrack::OptOut => false, + let comments: &C = &self.comments; + let should_track = comment_spans + .into_iter() + .filter_map(|span| match should_track_by_comment(comments, span) { + ShouldTrack::Auto => None, + it => Some(it), + }) + .reduce(|acc, it| match (acc, it) { + (ShouldTrack::OptIn, ShouldTrack::OptOut) => ShouldTrack::OptOut, + (ShouldTrack::OptOut, ShouldTrack::OptIn) => ShouldTrack::OptOut, + (_, it) => it, + }) + .unwrap_or(ShouldTrack::Auto); + + match should_track { + ShouldTrack::Auto => { + let this = &self; + match this.mode { + TransformMode::Manual => None, + TransformMode::Auto => match this.is_trackable(ident, is_default_export) { + Some(Trackable::Hook) + if this.transform_hooks && component.has_dot_value() => + { + Some(Trackable::Hook) + } + Some(Trackable::Component) + if component.has_jsx() && component.has_dot_value() => + { + Some(Trackable::Component) + } + _ => None, + }, + TransformMode::All => match this.is_trackable(ident, is_default_export) { + Some(Trackable::Hook) + if this.transform_hooks && component.has_dot_value() => + { + Some(Trackable::Hook) + } + Some(Trackable::Component) if component.has_jsx() => { + Some(Trackable::Component) + } + _ => None, + }, + } + } + ShouldTrack::OptIn => Some( + self.is_trackable(ident, is_default_export) + .unwrap_or(Trackable::Unknown), + ), + ShouldTrack::OptOut => None, } } - fn should_track( - &self, - comment_spans: &[Option], - ident: &I, - component: &Comp, - is_default_export: bool, - ) -> bool + + #[inline] + fn track(&mut self, trackable: Trackable, wrappable: &mut TWrappable) where - Comp: Detectable, - I: MaybeComponentName, + TWrappable: SignalWrappable, { - self.should_track_option_ident(comment_spans, Some(ident), component, is_default_export) + wrappable.wrap_with_use_signals( + self.get_import_use_signals(), + match self.add_context_to_hooks { + false => None, + true => Some(trackable), + }, + ) } } impl VisitMut for SignalsTransformVisitor @@ -297,9 +380,7 @@ where .unwrap_or(true); if should_process { - self.process_var_decl(n, None, |mut_self, it| { - it.wrap_with_use_signals(mut_self.get_import_use_signals()) - }) + self.process_var_decl::>(n, None) } n.visit_mut_children_with(self); @@ -310,10 +391,9 @@ where span, decl: Decl::Var(ref mut var_decl), } => { - self.process_var_decl( + self.process_var_decl::>( var_decl.deref_mut(), - Some(&[Some(*span)]), - |mut_self, it| it.wrap_with_use_signals(mut_self.get_import_use_signals()), + Some(&[&span]), ); let old_span = self.ignore_span; self.ignore_span = Some(var_decl.span.clone()); @@ -324,16 +404,14 @@ where span, decl: Decl::Fn(ref mut fn_declr), } => { - if self.should_track( - &[Some(span.clone()), Some(fn_declr.function.span)], - &fn_declr.ident, + self.should_track_option_ident( + &[&span, &fn_declr.function.span], + Some(&fn_declr.ident), fn_declr, false, - ) { - fn_declr - .function - .wrap_with_use_signals(self.get_import_use_signals()) - } + ) + .inspect(|trackable| self.track(trackable.clone(), &mut *fn_declr.function)); + let old_span = self.ignore_span; self.ignore_span = Some(fn_declr.function.span.clone()); n.visit_mut_children_with(self); @@ -348,15 +426,13 @@ where span, decl: DefaultDecl::Fn(ref mut fn_expr), } => { - if self.should_track_option_ident( - &[Some(span.clone()), Some(fn_expr.function.span)], + if let Some(trackable) = self.should_track_option_ident( + &[&span, &fn_expr.function.span], fn_expr.ident.as_ref(), fn_expr, true, ) { - fn_expr - .function - .wrap_with_use_signals(self.get_import_use_signals()) + self.track(trackable, &mut *fn_expr.function); } let old_span = self.ignore_span; self.ignore_span = Some(fn_expr.function.span.clone()); @@ -367,77 +443,78 @@ where } } fn visit_mut_export_default_expr(&mut self, n: &mut ExportDefaultExpr) { - match n { - ExportDefaultExpr { span, ref mut expr } => { - let child_span = expr.unwrap_parens().get_span().clone(); - if let Some(mut component) = extract_fn_from_expr(expr.unwrap_parens_mut()) - && let spans = [Some(span.clone()), Some(child_span), Some(n.span)] - && self.should_track_option_ident( - &spans, - component.get_fn_ident().as_ref(), - &component, - true, - ) - { - component.wrap_with_use_signals(self.get_import_use_signals()); - } + let ExportDefaultExpr { ref mut expr, span } = n; + let child_span = expr.unwrap_parens().get_span().clone(); - n.visit_mut_children_with(self); - // let old_span = self.ignore_span; - // self.ignore_span = Some(child_span); - // self.ignore_span = old_span - } + if let Some(mut component) = extract_fn_from_expr(expr.unwrap_parens_mut()) { + self.should_track_option_ident( + &[&span, &child_span], + component.get_fn_ident().as_ref(), + &component, + true, + ) + .inspect(|trackable| self.track(trackable.clone(), &mut component)); } + + n.visit_mut_children_with(self); + // let old_span = self.ignore_span; + // self.ignore_span = Some(child_span); + // self.ignore_span = old_span } fn visit_mut_fn_decl(&mut self, n: &mut FnDecl) { if match self.ignore_span { Some(span) => !span.eq(&n.function.span), None => true, - } && self.should_track(&[Some(n.function.span)], &n.ident, n, false) + } && let Some(trackable) = + self.should_track_option_ident(&[&n.function.span], Some(&n.ident), n, false) { - n.function - .wrap_with_use_signals(self.get_import_use_signals()) + self.track(trackable, &mut *n.function) } n.visit_mut_children_with(self); } fn visit_mut_assign_expr(&mut self, n: &mut AssignExpr) { if let Some(mut component) = extract_fn_from_expr(n.right.borrow_mut()) - && match component.get_fn_ident() { - None => self.should_track(&[Some(n.span)], &n.left, &component, false), - Some(ident) => self.should_track(&[Some(n.span)], &ident, &component, false), + && let Some(trackable) = match component.get_fn_ident() { + None => { + self.should_track_option_ident(&[&n.span], Some(&n.left), &component, false) + } + Some(ident) => { + self.should_track_option_ident(&[&n.span], Some(&ident), &component, false) + } } { - component.wrap_with_use_signals(self.get_import_use_signals()) + self.track(trackable, &mut component); } n.visit_mut_children_with(self); } fn visit_mut_key_value_prop(&mut self, n: &mut KeyValueProp) { if let Some(mut component) = extract_fn_from_expr(&mut n.value) - && self.should_track( - &[Some(*n.key.get_span())], - &component - .get_fn_ident() - .map_or(n.key.clone(), |it| PropName::Ident(it)), + && let Some(trackable) = self.should_track_option_ident( + &[n.key.get_span()], + Some( + &component + .get_fn_ident() + .map_or(n.key.clone(), |it| PropName::Ident(it)), + ), &component, false, ) { - component.wrap_with_use_signals(self.get_import_use_signals()) + self.track(trackable, &mut component); } n.visit_mut_children_with(self); } fn visit_mut_method_prop(&mut self, n: &mut MethodProp) { - if self.should_track( - &[n.function.span.into(), n.key.get_span().clone().into()], - &n.key, + if let Some(trackable) = self.should_track_option_ident( + &[&n.function.span, n.key.get_span()], + Some(&n.key), n.function.deref(), false, ) { - n.function - .wrap_with_use_signals(self.get_import_use_signals()) + self.track(trackable, &mut *n.function); } n.visit_mut_children_with(self); @@ -453,7 +530,7 @@ where add_import( ident.clone(), self.use_signals_import_source.clone(), - get_named_import_ident().into(), + Some(Ident::use_signals()), ) .into(), ), @@ -471,7 +548,7 @@ where add_require( ident.clone(), self.use_signals_import_source.clone(), - get_named_import_ident().into(), + Some(Ident::use_signals()), ), ) } @@ -507,6 +584,7 @@ pub fn process_transform(program: Program, _metadata: TransformPluginProgramMeta .and_then(|it| it.is_trackable()) }); + use serde_json; match data { Some(data) => { let options = serde_json::from_str::(data.as_str()) @@ -895,7 +973,7 @@ const Beb = { const _ = { ['Aboba']() { - return
+ return
} } "#, @@ -1033,11 +1111,7 @@ const Bebe = ()=>{ test_inline!( get_syntax(), |tester| as_folder(SignalsTransformVisitor::from_options( - PreactSignalsPluginOptions { - import_source: None, - mode: Some(TransformMode::All), - transform_hooks: Some(true) - }, + PreactSignalsPluginOptions::auto_hooks(), tester.comments.clone(), None )), @@ -1054,7 +1128,7 @@ const useAboba = () => a.value import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; -const useAboba = () => { +const useAboba = () => { var _effect = _useSignals(); try { return a.value @@ -1067,11 +1141,7 @@ const useAboba = () => { test_inline!( get_syntax(), |tester| as_folder(SignalsTransformVisitor::from_options( - PreactSignalsPluginOptions { - import_source: None, - mode: Some(TransformMode::Auto), - transform_hooks: Some(true) - }, + PreactSignalsPluginOptions::auto_hooks(), tester.comments.clone(), None )), @@ -1089,7 +1159,7 @@ const useAboba = () => { import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; -const useAboba = () => { +const useAboba = () => { var _effect = _useSignals(); try { const counter = useSignal(0) @@ -1097,5 +1167,64 @@ const useAboba = () => { } finally{ _effect.f() } +} +"# +); + +test_inline!( + get_syntax(), + |tester| as_folder(SignalsTransformVisitor::from_options( + PreactSignalsPluginOptions::auto_hooks_and_hook_usage_flag(), + tester.comments.clone(), + None + )), + hook_code_auto_with_ctx, + r#" +'use strict'; + +const useAboba = () => { + const counter = useSignal(0) + console.log(counter.value) +} + +// [TODO]: fix inline comments +/** + * @useSignals + */ +const unknown = () => undefined + +const Component = () => { + a.value + return <> +} +"#, + r#" +'use strict'; + +import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; + +const useAboba = () => { + var _effect = _useSignals(2); + try { + const counter = useSignal(0) + console.log(counter.value) + } finally{ + _effect.f() + } +} +const unknown = ()=>{ + _useSignals(); + return undefined; +}; + +const Component = ()=>{ + var _effect = _useSignals(1); + try { + a.value; + return <>; + } finally{ + _effect.f(); + } + }; "# ); diff --git a/packages/react/swc/src/utils.rs b/packages/react/swc/src/utils.rs index e2772633..02901433 100644 --- a/packages/react/swc/src/utils.rs +++ b/packages/react/swc/src/utils.rs @@ -48,7 +48,9 @@ fn is_hook_name(name: &str) -> bool { pub enum Trackable { Hook, Component, + Unknown, } + pub trait MaybeComponentName { fn is_trackable(&self) -> Option; } @@ -165,62 +167,94 @@ pub enum FunctionLike<'a> { Arrow(&'a mut ArrowExpr), Fn(&'a mut FnExpr), } -pub fn wrap_with_use_signals(n: &Vec, use_signals_ident: Ident) -> Vec { - let mut new_stmts = Vec::new(); +pub fn wrap_with_use_signals( + n: &Vec, + use_signals_ident: Ident, + trackable: Option, +) -> Vec { let signal_effect_ident = private_ident!("_effect"); - new_stmts.push(Stmt::Decl(Decl::Var(Box::new(VarDecl { + let (wrap_in_try_finally, hook_arg) = match trackable { + Some(Trackable::Component) => (true, Some(1_f64)), + Some(Trackable::Hook) => (true, Some(2_f64)), + Some(Trackable::Unknown) => (false, None), + None => (true, None), + }; + let hook_call = Expr::Call(CallExpr { span: DUMMY_SP, - kind: VarDeclKind::Var, - declare: false, - decls: vec![VarDeclarator { - definite: false, + callee: Callee::Expr(Box::new(Expr::Ident(use_signals_ident))), + args: match hook_arg { + Some(value) => vec![ExprOrSpread { + spread: None, + expr: Box::new(Expr::Lit(Lit::Num(Number { + span: DUMMY_SP, + value: value, + raw: None, + }))), + }], + None => vec![], + }, + type_args: None, + }); + if !wrap_in_try_finally { + let mut res = Vec::with_capacity(n.capacity() + 1); + res.push(Stmt::Expr(ExprStmt { span: DUMMY_SP, - init: Some(Box::new(Expr::Call(CallExpr { - span: DUMMY_SP, - callee: Callee::Expr(Box::new(Expr::Ident(use_signals_ident))), - args: vec![], - type_args: None, - }))), - name: Pat::Ident(BindingIdent { - id: signal_effect_ident.clone(), - type_ann: None, - }), - }], - })))); - new_stmts.push(Stmt::Try(Box::new(TryStmt { - span: DUMMY_SP, - block: BlockStmt { + expr: Box::new(hook_call), + })); + + n.iter().for_each(|it| res.push(it.clone())); + + return res; + } + + return vec![ + Stmt::Decl(Decl::Var(Box::new(VarDecl { span: DUMMY_SP, - stmts: n.to_vec(), - }, - handler: None, - finalizer: Some(BlockStmt { + kind: VarDeclKind::Var, + declare: false, + decls: vec![VarDeclarator { + definite: false, + span: DUMMY_SP, + init: Some(Box::new(hook_call)), + name: Pat::Ident(BindingIdent { + id: signal_effect_ident.clone(), + type_ann: None, + }), + }], + }))), + Stmt::Try(Box::new(TryStmt { span: DUMMY_SP, - stmts: vec![Stmt::Expr(ExprStmt { + block: BlockStmt { + span: DUMMY_SP, + stmts: n.to_vec(), + }, + handler: None, + finalizer: Some(BlockStmt { span: DUMMY_SP, - expr: Box::new(Expr::Call(CallExpr { - args: vec![], + stmts: vec![Stmt::Expr(ExprStmt { span: DUMMY_SP, - type_args: None, - callee: Callee::Expr(Box::new(Expr::Member(MemberExpr { + expr: Box::new(Expr::Call(CallExpr { + args: vec![], span: DUMMY_SP, - prop: MemberProp::Ident(Ident { + type_args: None, + callee: Callee::Expr(Box::new(Expr::Member(MemberExpr { span: DUMMY_SP, - sym: Atom::from("f"), - optional: false, - }), - obj: Box::new(Expr::Ident(signal_effect_ident)), - }))), - })), - })], - }), - }))); - - new_stmts + prop: MemberProp::Ident(Ident { + span: DUMMY_SP, + sym: Atom::from("f"), + optional: false, + }), + obj: Box::new(Expr::Ident(signal_effect_ident)), + }))), + })), + })], + }), + })), + ]; } pub trait SignalWrappable { - fn wrap_with_use_signals(&mut self, import_use_signals: Ident); + fn wrap_with_use_signals(&mut self, import_use_signals: Ident, arg: Option); } impl<'a> FunctionLike<'a> { @@ -236,30 +270,27 @@ impl<'a> FunctionLike<'a> { } impl SignalWrappable for Function { - fn wrap_with_use_signals(&mut self, import_use_signals: Ident) { + fn wrap_with_use_signals(&mut self, import_use_signals: Ident, arg: Option) { if let Some(body) = &mut self.body { - body.stmts = wrap_with_use_signals(&body.stmts, import_use_signals); + body.stmts = wrap_with_use_signals(&body.stmts, import_use_signals, arg); } } } -impl SignalWrappable for FnExpr { - fn wrap_with_use_signals(&mut self, import_use_signals: Ident) { - self.function.wrap_with_use_signals(import_use_signals); - } -} -impl SignalWrappable for ArrowExpr { - fn wrap_with_use_signals(&mut self, import_use_signals: Ident) { - let mut block = self.body.to_block(); - let wrapped_body = wrap_with_use_signals(&block.stmts, import_use_signals); - block.stmts = wrapped_body; - self.body = Box::new(BlockStmtOrExpr::BlockStmt(block.to_owned())); - } -} impl<'a> SignalWrappable for FunctionLike<'a> { - fn wrap_with_use_signals(&mut self, import_use_signals: Ident) { + fn wrap_with_use_signals(&mut self, import_use_signals: Ident, arg: Option) { match self { - FunctionLike::Arrow(arrow_expr) => arrow_expr.wrap_with_use_signals(import_use_signals), - FunctionLike::Fn(fn_expr) => fn_expr.wrap_with_use_signals(import_use_signals), + FunctionLike::Arrow(arrow_expr) => { + let this = &mut *arrow_expr; + let mut block = this.body.to_block(); + let wrapped_body = wrap_with_use_signals(&block.stmts, import_use_signals, arg); + block.stmts = wrapped_body; + this.body = Box::new(BlockStmtOrExpr::BlockStmt(block.to_owned())); + } + FunctionLike::Fn(fn_expr) => { + fn_expr + .function + .wrap_with_use_signals(import_use_signals, arg); + } } } } diff --git a/packages/react/test/babel/index.test.tsx b/packages/react/test/babel/index.test.tsx index 6867736e..1bd26464 100644 --- a/packages/react/test/babel/index.test.tsx +++ b/packages/react/test/babel/index.test.tsx @@ -1,841 +1,936 @@ -import { parse, transform, traverse } from "@babel/core"; -import type { Visitor } from "@babel/core"; -import type { Scope } from "@babel/traverse"; -import prettier from "prettier"; -import path from "node:path"; -import signalsTransform, { PluginOptions } from "../../src/babel"; -import { - CommentKind, - GeneratedCode, - assignmentComp, - objAssignComp, - declarationComp, - exportDefaultComp, - exportNamedComp, - objectPropertyComp, - variableComp, - objMethodComp, -} from "./helpers"; -import * as swcCore from "@swc/core"; -import { expect, it, describe, vi, ExpectStatic } from "vitest"; -import { beforeAll } from "vitest"; -import { afterAll } from "vitest"; - -// To help interactively debug a specific test case, add the test ids of the -// test cases you want to debug to the `debugTestIds` array, e.g. (["258", -// "259"]). Set to true to debug all tests. -const DEBUG_TEST_IDS: string[] | true = []; - -const removeComments = (code: string) => - code.replace(/\/\*[\s\S]*?\*\//g, "").trim(); - -const format = (code: string) => prettier.format(code, { parser: "babel" }); - -const getSwcConfig = ( - usePlugin: false | PluginOptions, - filename: string | undefined, - isCJS: boolean -) => - ({ - jsc: { - experimental: usePlugin - ? { - plugins: [[path.resolve(__dirname, "../../swc"), usePlugin]], - } - : undefined, - preserveAllComments: true, - target: "esnext", - minify: { - format: { - comments: false, - }, - }, - parser: { - syntax: "ecmascript", - jsx: true, - }, - }, - ...(filename ? { filename } : {}), - isModule: !isCJS, - }) satisfies swcCore.Options; - -function transformCode( - code: string, - options: TransformerTestOptions, - filename?: string, - isCJS?: boolean -) { - if (options.type === "babel") { - return ( - transform(code, { - filename, - plugins: [ - [signalsTransform, options.options], - "@babel/plugin-syntax-jsx", - ], - sourceType: isCJS ? "script" : "module", - })?.code ?? "" - ); - } - - return swcCore - .transform(code, getSwcConfig(options.options, filename, !!isCJS)) - - .then((it) => it.code); -} -type TransformerTestOptions = - | { - type: "babel"; - options: PluginOptions; - } - | { - type: "swc"; - options: PluginOptions; - }; -const TransformerTestOptions = { - makeBabel: (options: PluginOptions): TransformerTestOptions => - TransformerTestOptions.make("babel", options), - make: ( - type: "babel" | "swc", - options: PluginOptions - ): TransformerTestOptions => ({ - type, - options, - }), - makeFromMode: ( - type: "babel" | "swc", - mode: PluginOptions["mode"], - options?: Omit - ) => ({ - type, - options: { ...options, mode }, - }), -}; - -const toThenable = (value: T | Promise): PromiseLike => { - if (value instanceof Promise) return value; - return { - then(cb) { - if (!cb) { - return this; - } - const res = cb(value); - // @ts-expect-error - return res instanceof Promise ? res : toThenable(res); - }, - }; -}; - -async function runTest( - expect: ExpectStatic, - input: string, - expected: string, - options: TransformerTestOptions, - isCJS: boolean, - compareWithoutComments: boolean, - filename?: string -) { - expect( - await toThenable(transformCode(input, options, filename, isCJS)) - .then((it) => (compareWithoutComments ? removeComments(it) : it)) - .then(format) - ).to.equal( - await toThenable( - options.type === "swc" - ? swcCore - .transform(expected, getSwcConfig(false, filename, !!isCJS)) - .then((it) => it.code) - : expected - ) - .then((it) => (compareWithoutComments ? removeComments(it) : it)) - .then(format) - ); -} - -interface TestCaseConfig { - /** Whether to use components whose body contains valid code auto mode would transform (true) or not (false) */ - useValidAutoMode: boolean; - /** Whether to assert that the plugin transforms the code (true) or not (false) */ - expectTransformed: boolean; - /** What kind of opt-in or opt-out to include if any */ - comment?: CommentKind; - compareWithoutComments?: true; - /** Options to pass to the babel plugin */ - options: TransformerTestOptions; -} - -let testCount = 0; -const getTestId = () => (testCount++).toString().padStart(3, "0"); - -async function runTestCases( - config: TestCaseConfig, - testCases: GeneratedCode[] -) { - testCases = ( - await Promise.all( - testCases.map(async (t) => ({ - ...t, - input: await format(t.input), - transformed: await format(t.transformed), - })) - ) - ).sort((a, b) => (a.name < b.name ? -1 : 1)); - - for (const testCase of testCases) { - let testId = getTestId(); - - // Only run tests in debugTestIds - if ( - Array.isArray(DEBUG_TEST_IDS) && - DEBUG_TEST_IDS.length > 0 && - !DEBUG_TEST_IDS.includes(testId) - ) { - continue; - } - - it(`(${testId}) ${testCase.name}`, async ({ expect }) => { - if (DEBUG_TEST_IDS === true || DEBUG_TEST_IDS.includes(testId)) { - console.log("input :", testCase.input.replace(/\s+/g, " ")); // eslint-disable-line no-console - debugger; // eslint-disable-line no-debugger - } - - const input = testCase.input; - let expected = ""; - if (config.expectTransformed) { - expected += - 'import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";\n'; - expected += testCase.transformed; - } else { - expected = input; - } - - const filename = config.useValidAutoMode - ? "/path/to/Component.js" - : "C:\\path\\to\\lowercase.js"; - - await runTest( - expect, - input, - expected, - config.options, - false, - !!config.compareWithoutComments, - filename - ); - }); - } -} - -function runGeneratedTestCases(config: TestCaseConfig) { - const codeConfig = { auto: config.useValidAutoMode, comment: config.comment }; - - // e.g. function C() {} - describe("function components", async () => { - await runTestCases(config, declarationComp(codeConfig)); - }); - - // e.g. const C = () => {}; - describe("variable declared components", async () => { - await runTestCases(config, variableComp(codeConfig)); - }); - - // for now, inline comments are out of scope - if (config.comment !== undefined) { - // e.g. const C = () => {}; - describe("variable declared components (inline comment)", async () => { - await runTestCases( - config, - variableComp({ - ...codeConfig, - comment: undefined, - inlineComment: config.comment, - }) - ); - }); - } - - describe("object method components", async () => { - await runTestCases(config, objMethodComp(codeConfig)); - }); - - // e.g. C = () => {}; - describe("assigned to variable components", async () => { - await runTestCases(config, assignmentComp(codeConfig)); - }); - - // e.g. obj.C = () => {}; - describe("assigned to object property components", async () => { - await runTestCases(config, objAssignComp(codeConfig)); - }); - - // e.g. const obj = { C: () => {} }; - describe("object property components", async () => { - await runTestCases(config, objectPropertyComp(codeConfig)); - }); - - // e.g. export default () => {}; - describe(`default exported components`, async () => { - await runTestCases(config, exportDefaultComp(codeConfig)); - }); - - // e.g. export function C() {} - describe("named exported components", async () => { - await runTestCases(config, exportNamedComp(codeConfig)); - }); -} - -beforeAll(() => { - console.time("all tests"); -}); -afterAll(() => { - console.timeEnd("all tests"); -}); -for (const parser of ["swc", "babel"] as const) { - describe.concurrent(`React Signals ${parser} Transform`, () => { - describe.concurrent("auto mode transforms", () => { - runGeneratedTestCases({ - useValidAutoMode: true, - expectTransformed: true, - options: TransformerTestOptions.makeFromMode(parser, "auto"), - }); - }); - - describe.concurrent("auto mode doesn't transform", () => { - // TODO: figure out what to do with the following - /*it("useEffect callbacks that use signals", async ({ expect }) => { - const inputCode = ` - function App() { - useEffect(() => { - signal.value = Hi; - }, []); - return
Hello World
; - } - `; - - const expectedOutput = inputCode; - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "auto"), - false, - false - ); - }); */ - - runGeneratedTestCases({ - useValidAutoMode: false, - expectTransformed: false, - options: TransformerTestOptions.makeFromMode(parser, "auto"), - }); - }); - - describe.concurrent("auto mode supports opting out of transforming", () => { - it("opt-out comment overrides opt-in comment", async () => { - const inputCode = ` - /** - * @noUseSignals - * @useSignals - */ - function MyComponent() { - return
{signal.value}
; - }; - `; - const expectedOutput = inputCode; - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "auto"), - false, - true - ); - }); - - runGeneratedTestCases({ - useValidAutoMode: true, - expectTransformed: false, - comment: "opt-out", - options: TransformerTestOptions.makeFromMode(parser, "auto"), - }); - }); - - describe.concurrent("auto mode supports opting into transformation", () => { - runGeneratedTestCases({ - useValidAutoMode: false, - expectTransformed: true, - comment: "opt-in", - compareWithoutComments: true, - options: TransformerTestOptions.makeFromMode(parser, "auto"), - }); - }); - - describe.concurrent( - "manual mode doesn't transform anything by default", - () => { - it("useEffect callbacks that use signals", async ({ expect }) => { - const inputCode = ` - function App() { - useEffect(() => { - signal.value = Hi; - }, []); - return
Hello World
; - } - `; - - const expectedOutput = inputCode; - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "manual"), - false, - false - ); - }); - - runGeneratedTestCases({ - useValidAutoMode: true, - expectTransformed: false, - options: TransformerTestOptions.makeFromMode(parser, "manual"), - }); - } - ); - - describe.concurrent("manual mode opts into transforming", () => { - // TODO: Should throw an error - it("opt-out comment overrides opt-in comment", async () => { - const inputCode = ` - /** - * @noUseSignals - * @useSignals - */ - function MyComponent() { - return
{signal.value}
; - }; - `; - - const expectedOutput = inputCode; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "auto"), - false, - true - ); - }); - - runGeneratedTestCases({ - useValidAutoMode: true, - expectTransformed: true, - comment: "opt-in", - compareWithoutComments: true, - options: TransformerTestOptions.makeFromMode(parser, "manual"), - }); - }); - - describe.concurrent("imports before directives", () => { - const inputCode = ` - 'use client'; - 'use strict'; - - const MyComponent = () => { - signal.value; - return
Hello World
; - }; - `; - it("esm", async ({ expect }) => { - const expectedOutput = ` - 'use client'; - 'use strict'; - - import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; - const MyComponent = () => { - var _effect = _useSignals(); - try { - signal.value; - return
Hello World
; - } finally { - _effect.f(); - } - } - `; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("cjs", async ({ expect }) => { - const expectedOutput = ` - 'use client'; - 'use strict'; - - var _useSignals = require("@preact-signals/safe-react/tracking").useSignals; - const MyComponent = () => { - var _effect = _useSignals(); - try { - signal.value; - return
Hello World
; - } finally { - _effect.f(); - } - }; - `; - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - true, - false - ); - }); - }); - }); - - describe.concurrent("all mode transformations " + parser, () => { - it("skips transforming arrow function component with leading opt-out JSDoc comment before variable declaration", async ({ - expect, - }) => { - const inputCode = ` - /** @noUseSignals */ - const MyComponent = () => { - return
{signal.value}
; - }; - `; - - const expectedOutput = inputCode; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("skips transforming function declaration components with leading opt-out JSDoc comment", async ({ - expect, - }) => { - const inputCode = ` - /** @noUseSignals */ - function MyComponent() { - return
{signal.value}
; - } - `; - - const expectedOutput = inputCode; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("transforms function declaration component that doesn't use signals", async ({ - expect, - }) => { - const inputCode = ` - function MyComponent() { - return
Hello World
; - } - `; - - const expectedOutput = ` - import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; - function MyComponent() { - var _effect = _useSignals(); - try { - return
Hello World
; - } finally { - _effect.f(); - } - } - `; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("transforms arrow function component with return statement that doesn't use signals", async ({ - expect, - }) => { - const inputCode = ` - const MyComponent = () => { - return
Hello World
; - }; - `; - - const expectedOutput = ` - import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; - const MyComponent = () => { - var _effect = _useSignals(); - try { - return
Hello World
; - } finally { - _effect.f(); - } - }; - `; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("transforms function declaration component that uses signals", async ({ - expect, - }) => { - const inputCode = ` - function MyComponent() { - signal.value; - return
Hello World
; - } - `; - - const expectedOutput = ` - import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; - function MyComponent() { - var _effect = _useSignals(); - try { - signal.value; - return
Hello World
; - } finally { - _effect.f(); - } - } - `; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("transforms arrow function component with return statement that uses signals", async ({ - expect, - }) => { - const inputCode = ` - const MyComponent = () => { - signal.value; - return
Hello World
; - }; - `; - - const expectedOutput = ` - import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; - const MyComponent = () => { - var _effect = _useSignals(); - try { - signal.value; - return
Hello World
; - } finally { - _effect.f(); - } - }; - `; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - false, - false - ); - }); - - it("transforms commonjs module exports", async ({ expect }) => { - const inputCode = ` - require('preact'); - const MyComponent = () => { - signal.value; - return
Hello World
; - } - `; - - const expectedOutput = ` - var _useSignals = require("@preact-signals/safe-react/tracking").useSignals - require('preact'); - const MyComponent = () => { - var _effect = _useSignals(); - try { - signal.value; - return
Hello World
; - } finally { - _effect.f(); - } - }; - `; - - await runTest( - expect, - inputCode, - expectedOutput, - TransformerTestOptions.makeFromMode(parser, "all"), - true, - false - ); - }); - }); - - // noTryFinally option removed for now - - describe("importSource option", () => { - it("imports useSignals from custom source", async ({ expect }) => { - const inputCode = ` - const MyComponent = () => { - signal.value; - return
Hello World
; - }; - `; - - const expectedOutput = ` - import { useSignals as _useSignals } from "custom-source"; - const MyComponent = () => { - var _effect = _useSignals(); - try { - signal.value; - return
Hello World
; - } finally { - _effect.f(); - } - }; - `; - - await runTest( - expect, - inputCode, - expectedOutput, - { - type: parser, - options: { - importSource: "custom-source", - }, - }, - false, - false - ); - }); - }); -} - -describe("React Signals Babel Transform", () => { - // hook tests removed for now - // TODO: Figure out what to do with the following - - describe("scope tracking", () => { - interface VisitorState { - programScope?: Scope; - } - - const programScopeVisitor: Visitor = { - Program: { - exit(path, state) { - state.programScope = path.scope; - }, - }, - }; - - function getRootScope(code: string) { - const signalsPluginConfig: any[] = [signalsTransform]; - const result = transform(code, { - ast: true, - plugins: [signalsPluginConfig, "@babel/plugin-syntax-jsx"], - }); - if (!result) { - throw new Error("Could not transform code"); - } - - const state: VisitorState = {}; - // @ts-expect-error I dont know why this is erroring - traverse(result.ast, programScopeVisitor, undefined, state); - - const scope = state.programScope; - if (!scope) { - throw new Error("Could not find program scope"); - } - - return scope; - } - - it("adds newly inserted import declarations and usages to program scope", () => { - const scope = getRootScope(` - const MyComponent = () => { - signal.value; - return
Hello World
; - }; - `); - - const signalsBinding = scope.bindings["_useSignals"]; - expect(signalsBinding).to.exist; - expect(signalsBinding.kind).toEqual("module"); - expect(signalsBinding.referenced).toBeTruthy(); - }); - }); - - it("must transform components wrapped with HOCs", async () => { - const inputCode = ` - import {forwardRef} from "react"; - - const Component = forwardRef(() =>
); - `; - - const expectedOutput = ` - import {forwardRef} from 'react' - import { useSignals as _useSignals } from "custom-source"; - const Component = forwardRef(() => { - var _effect = _useSignals(); - try { - return
; - } finally { - _effect.f(); - } - }); - `; - - await runTest( - expect, - inputCode, - expectedOutput, - { - type: "babel", - options: { - importSource: "custom-source", - mode: "all", - }, - }, - false, - false - ); - }); -}); +import { transform, traverse } from "@babel/core"; +import type { Visitor } from "@babel/core"; +import type { Scope } from "@babel/traverse"; +import prettier from "prettier"; +import path from "node:path"; +import signalsTransform, { PluginOptions } from "../../src/babel"; +import { + CommentKind, + GeneratedCode, + assignmentComp, + objAssignComp, + declarationComp, + exportDefaultComp, + exportNamedComp, + objectPropertyComp, + variableComp, + objMethodComp, +} from "./helpers"; +import * as swcCore from "@swc/core"; +import { expect, it, describe, vi, ExpectStatic } from "vitest"; +import { beforeAll } from "vitest"; +import { afterAll } from "vitest"; +import { memo } from "radash"; +// @ts-ignore +import referenceSignalsTransform from "@preact/signals-react-transform"; + +// To help interactively debug a specific test case, add the test ids of the +// test cases you want to debug to the `debugTestIds` array, e.g. (["258", +// "259"]). Set to true to debug all tests. +const DEBUG_TEST_IDS: string[] | true = []; + +const removeComments = (code: string) => + code.replace(/\/\*[\s\S]*?\*\//g, "").trim(); + +const format = memo( + (code: string) => prettier.format(code, { parser: "babel" }), + { + ttl: 20_000, + }, +); + +const getSwcConfig = ( + usePlugin: false | PluginOptions, + filename: string | undefined, + isCJS: boolean, +) => + ({ + jsc: { + experimental: usePlugin + ? { + plugins: [[path.resolve(__dirname, "../../swc"), usePlugin]], + } + : undefined, + preserveAllComments: true, + target: "esnext", + minify: { + format: { + comments: false, + }, + }, + parser: { + syntax: "ecmascript", + jsx: true, + }, + }, + ...(filename ? { filename } : {}), + isModule: !isCJS, + }) satisfies swcCore.Options; + +function transformCode( + code: string, + options: TransformerTestOptions, + filename?: string, + isCJS?: boolean, +) { + if (options.type === "babel") { + return ( + transform(code, { + filename, + plugins: [ + [signalsTransform, options.options], + "@babel/plugin-syntax-jsx", + ], + sourceType: isCJS ? "script" : "module", + })?.code ?? "" + ); + } + + return swcCore + .transform(code, getSwcConfig(options.options, filename, !!isCJS)) + .then((it) => it.code); +} +type TransformerTestOptions = + | { + type: "babel"; + options: PluginOptions; + } + | { + type: "swc"; + options: PluginOptions; + }; +const TransformerTestOptions = { + makeBabel: (options: PluginOptions): TransformerTestOptions => + TransformerTestOptions.make("babel", options), + make: ( + type: "babel" | "swc", + options: PluginOptions, + ): TransformerTestOptions => ({ + type, + options, + }), + makeFromMode: ( + type: "babel" | "swc", + mode: PluginOptions["mode"], + referenceMode: boolean, + ) => { + if (!referenceMode) { + return TransformerTestOptions.make(type, { mode }); + } + + if (type === "babel") + throw new Error("babel is incompatible with reference mode"); + + return TransformerTestOptions.make("swc", { + mode, + importSource: "@preact/signals-react/runtime", + experimental: { + addHookUsageFlag: true, + }, + }); + }, +}; + +const toThenable = (value: T | Promise): PromiseLike => { + if (value instanceof Promise) return value; + return { + then(cb) { + if (!cb) { + return this; + } + const res = cb(value); + // @ts-expect-error + return res instanceof Promise ? res : toThenable(res); + }, + }; +}; + +async function runTest( + expect: ExpectStatic, + input: string, + expected: string, + options: TransformerTestOptions, + isCJS: boolean, + compareWithoutComments: boolean, + filename?: string, +) { + expect( + await toThenable(transformCode(input, options, filename, isCJS)) + .then((it) => (compareWithoutComments ? removeComments(it) : it)) + .then(format), + ).to.equal( + await toThenable( + options.type === "swc" + ? swcCore + .transform(expected, getSwcConfig(false, filename, !!isCJS)) + .then((it) => it.code) + : expected, + ) + .then((it) => (compareWithoutComments ? removeComments(it) : it)) + .then(format), + ); +} + +interface TestCaseConfig { + /** Whether to use components whose body contains valid code auto mode would transform (true) or not (false) */ + useValidAutoMode: boolean; + /** Whether to assert that the plugin transforms the code (true) or not (false) */ + expectTransformed: boolean; + // tests agains reference `@preact/signals-react-transform` + testAgainstReferencePlugin: boolean; + /** What kind of opt-in or opt-out to include if any */ + comment?: CommentKind; + compareWithoutComments?: true; + /** Options to pass to the babel plugin */ + options: TransformerTestOptions; +} + +let testCount = 0; +const getTestId = () => (testCount++).toString().padStart(3, "0"); + +async function runTestCases( + config: TestCaseConfig, + testCases: GeneratedCode[], +) { + testCases = ( + await Promise.all( + testCases.map(async (t) => { + return { + ...t, + input: await format(t.input), + transformed: await format(t.transformed), + }; + }), + ) + ).sort((a, b) => (a.name < b.name ? -1 : 1)); + + for (const testCase of testCases) { + let testId = getTestId(); + + // Only run tests in debugTestIds + if ( + Array.isArray(DEBUG_TEST_IDS) && + DEBUG_TEST_IDS.length > 0 && + !DEBUG_TEST_IDS.includes(testId) + ) { + continue; + } + + it(`(${testId}) ${testCase.name}`, async ({ expect }) => { + if (DEBUG_TEST_IDS === true || DEBUG_TEST_IDS.includes(testId)) { + console.log("input :", testCase.input.replace(/\s+/g, " ")); // eslint-disable-line no-console + debugger; // eslint-disable-line no-debugger + } + + const input = testCase.input; + const filename = config.useValidAutoMode + ? "/path/to/Component.js" + : "C:\\path\\to\\lowercase.js"; + + // testId === "473" && console.log(filename); + let expected = ""; + if (config.expectTransformed && config.testAgainstReferencePlugin) { + expected = transform(input, { + filename, + plugins: [ + [referenceSignalsTransform, config.options], + "@babel/plugin-syntax-jsx", + ], + sourceType: "module", + })!.code!; + } else if (config.expectTransformed) { + expected += + 'import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";\n'; + expected += testCase.transformed; + } else { + expected = input; + } + + await runTest( + expect, + input, + expected, + config.options, + false, + !!config.compareWithoutComments, + filename, + ); + }); + } +} + +function runGeneratedTestCases(config: TestCaseConfig) { + const codeConfig = { + auto: config.useValidAutoMode, + comment: config.comment, + }; + + // e.g. function C() {} + describe("function components", async () => { + await runTestCases(config, declarationComp(codeConfig)); + }); + + // e.g. const C = () => {}; + describe("variable declared components", async () => { + await runTestCases(config, variableComp(codeConfig)); + }); + + // for now, inline comments are out of scope + if (config.comment !== undefined) { + // e.g. const C = () => {}; + describe("variable declared components (inline comment)", async () => { + await runTestCases( + config, + variableComp({ + ...codeConfig, + comment: undefined, + inlineComment: config.comment, + }), + ); + }); + } + + describe("object method components", async () => { + await runTestCases(config, objMethodComp(codeConfig)); + }); + + // e.g. C = () => {}; + describe("assigned to variable components", async () => { + await runTestCases(config, assignmentComp(codeConfig)); + }); + + // e.g. obj.C = () => {}; + describe("assigned to object property components", async () => { + await runTestCases(config, objAssignComp(codeConfig)); + }); + + // e.g. const obj = { C: () => {} }; + describe("object property components", async () => { + await runTestCases(config, objectPropertyComp(codeConfig)); + }); + + // e.g. export default () => {}; + describe(`default exported components`, async () => { + await runTestCases(config, exportDefaultComp(codeConfig)); + }); + + // e.g. export function C() {} + describe("named exported components", async () => { + await runTestCases(config, exportNamedComp(codeConfig)); + }); +} + +beforeAll(() => { + console.time("all tests"); +}); +afterAll(() => { + console.timeEnd("all tests"); +}); +for (const parser of ["swc", "babel"] as const) { + const againsReferencePluginOptions = + parser === "swc" + ? [ + // [TODO]: get it back after to satisfy original plugin + // true, + false, + ] + : [false]; + describe.concurrent(`React Signals ${parser} Transform`, () => { + for (const testAgainstReferencePlugin of againsReferencePluginOptions) { + // console.log({ + // testAgainstReferencePlugin, + // parser, + // }); + describe.concurrent( + "test agains reference: " + testAgainstReferencePlugin, + () => { + describe.concurrent("auto mode transforms", () => { + runGeneratedTestCases({ + useValidAutoMode: true, + expectTransformed: true, + options: TransformerTestOptions.makeFromMode( + parser, + "auto", + testAgainstReferencePlugin, + ), + testAgainstReferencePlugin, + }); + }); + + describe.concurrent("auto mode doesn't transform", () => { + // TODO: figure out what to do with the following + /*it("useEffect callbacks that use signals", async ({ expect }) => { + const inputCode = ` + function App() { + useEffect(() => { + signal.value = Hi; + }, []); + return
Hello World
; + } + `; + + const expectedOutput = inputCode; + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "auto"), + false, + false + ); + }); */ + + runGeneratedTestCases({ + useValidAutoMode: false, + expectTransformed: false, + options: TransformerTestOptions.makeFromMode( + parser, + "auto", + testAgainstReferencePlugin, + ), + testAgainstReferencePlugin, + }); + }); + + describe.concurrent( + "auto mode supports opting out of transforming", + () => { + it("opt-out comment overrides opt-in comment", async () => { + const inputCode = ` + /** + * @noUseSignals + * @useSignals + */ + function MyComponent() { + return
{signal.value}
; + }; + `; + const expectedOutput = inputCode; + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode( + parser, + "auto", + testAgainstReferencePlugin, + ), + false, + true, + ); + }); + + runGeneratedTestCases({ + useValidAutoMode: true, + expectTransformed: false, + comment: "opt-out", + options: TransformerTestOptions.makeFromMode( + parser, + "auto", + testAgainstReferencePlugin, + ), + testAgainstReferencePlugin, + }); + }, + ); + + describe.concurrent( + "auto mode supports opting into transformation", + () => { + runGeneratedTestCases({ + useValidAutoMode: false, + expectTransformed: true, + comment: "opt-in", + compareWithoutComments: true, + options: TransformerTestOptions.makeFromMode( + parser, + "auto", + testAgainstReferencePlugin, + ), + testAgainstReferencePlugin, + }); + }, + ); + + describe.concurrent( + "manual mode doesn't transform anything by default", + () => { + it("useEffect callbacks that use signals", async ({ expect }) => { + const inputCode = ` + function App() { + useEffect(() => { + signal.value = Hi; + }, []); + return
Hello World
; + } + `; + + const expectedOutput = inputCode; + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "manual", false), + false, + false, + ); + }); + + runGeneratedTestCases({ + useValidAutoMode: true, + expectTransformed: false, + options: TransformerTestOptions.makeFromMode( + parser, + "manual", + testAgainstReferencePlugin, + ), + testAgainstReferencePlugin, + }); + }, + ); + + describe.concurrent("manual mode opts into transforming", () => { + // TODO: Should throw an error + it("opt-out comment overrides opt-in comment", async () => { + const inputCode = ` + /** + * @noUseSignals + * @useSignals + */ + function MyComponent() { + return
{signal.value}
; + }; + `; + + const expectedOutput = inputCode; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "auto", false), + false, + true, + ); + }); + + runGeneratedTestCases({ + useValidAutoMode: true, + expectTransformed: true, + comment: "opt-in", + compareWithoutComments: true, + options: TransformerTestOptions.makeFromMode( + parser, + "manual", + testAgainstReferencePlugin, + ), + testAgainstReferencePlugin, + }); + }); + }, + ); + } + + describe.concurrent("imports before directives", () => { + const inputCode = ` + 'use client'; + 'use strict'; + + const MyComponent = () => { + signal.value; + return
Hello World
; + }; + `; + it("esm", async ({ expect }) => { + const expectedOutput = ` + 'use client'; + 'use strict'; + + import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; + const MyComponent = () => { + var _effect = _useSignals(); + try { + signal.value; + return
Hello World
; + } finally { + _effect.f(); + } + } + `; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("cjs", async ({ expect }) => { + const expectedOutput = ` + 'use client'; + 'use strict'; + + var _useSignals = require("@preact-signals/safe-react/tracking").useSignals; + const MyComponent = () => { + var _effect = _useSignals(); + try { + signal.value; + return
Hello World
; + } finally { + _effect.f(); + } + }; + `; + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + true, + false, + ); + }); + }); + }); + + describe.concurrent("all mode transformations " + parser, () => { + it("skips transforming arrow function component with leading opt-out JSDoc comment before variable declaration", async ({ + expect, + }) => { + const inputCode = ` + /** @noUseSignals */ + const MyComponent = () => { + return
{signal.value}
; + }; + `; + + const expectedOutput = inputCode; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("skips transforming function declaration components with leading opt-out JSDoc comment", async ({ + expect, + }) => { + const inputCode = ` + /** @noUseSignals */ + function MyComponent() { + return
{signal.value}
; + } + `; + + const expectedOutput = inputCode; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("transforms function declaration component that doesn't use signals", async ({ + expect, + }) => { + const inputCode = ` + function MyComponent() { + return
Hello World
; + } + `; + + const expectedOutput = ` + import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; + function MyComponent() { + var _effect = _useSignals(); + try { + return
Hello World
; + } finally { + _effect.f(); + } + } + `; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("transforms arrow function component with return statement that doesn't use signals", async ({ + expect, + }) => { + const inputCode = ` + const MyComponent = () => { + return
Hello World
; + }; + `; + + const expectedOutput = ` + import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; + const MyComponent = () => { + var _effect = _useSignals(); + try { + return
Hello World
; + } finally { + _effect.f(); + } + }; + `; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("transforms function declaration component that uses signals", async ({ + expect, + }) => { + const inputCode = ` + function MyComponent() { + signal.value; + return
Hello World
; + } + `; + + const expectedOutput = ` + import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; + function MyComponent() { + var _effect = _useSignals(); + try { + signal.value; + return
Hello World
; + } finally { + _effect.f(); + } + } + `; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("transforms arrow function component with return statement that uses signals", async ({ + expect, + }) => { + const inputCode = ` + const MyComponent = () => { + signal.value; + return
Hello World
; + }; + `; + + const expectedOutput = ` + import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking"; + const MyComponent = () => { + var _effect = _useSignals(); + try { + signal.value; + return
Hello World
; + } finally { + _effect.f(); + } + }; + `; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + false, + false, + ); + }); + + it("transforms commonjs module exports", async ({ expect }) => { + const inputCode = ` + require('preact'); + const MyComponent = () => { + signal.value; + return
Hello World
; + } + `; + + const expectedOutput = ` + var _useSignals = require("@preact-signals/safe-react/tracking").useSignals + require('preact'); + const MyComponent = () => { + var _effect = _useSignals(); + try { + signal.value; + return
Hello World
; + } finally { + _effect.f(); + } + }; + `; + + await runTest( + expect, + inputCode, + expectedOutput, + TransformerTestOptions.makeFromMode(parser, "all", false), + true, + false, + ); + }); + }); + + // noTryFinally option removed for now + + describe("importSource option", () => { + it("imports useSignals from custom source", async ({ expect }) => { + const inputCode = ` + const MyComponent = () => { + signal.value; + return
Hello World
; + }; + `; + + const expectedOutput = ` + import { useSignals as _useSignals } from "custom-source"; + const MyComponent = () => { + var _effect = _useSignals(); + try { + signal.value; + return
Hello World
; + } finally { + _effect.f(); + } + }; + `; + + await runTest( + expect, + inputCode, + expectedOutput, + { + type: parser, + options: { + importSource: "custom-source", + }, + }, + false, + false, + ); + }); + }); +} + +describe("React Signals Babel Transform", () => { + // hook tests removed for now + // TODO: Figure out what to do with the following + + describe("scope tracking", () => { + interface VisitorState { + programScope?: Scope; + } + + const programScopeVisitor: Visitor = { + Program: { + exit(path, state) { + state.programScope = path.scope; + }, + }, + }; + + function getRootScope(code: string) { + const signalsPluginConfig: any[] = [signalsTransform]; + const result = transform(code, { + ast: true, + plugins: [signalsPluginConfig, "@babel/plugin-syntax-jsx"], + }); + if (!result) { + throw new Error("Could not transform code"); + } + + const state: VisitorState = {}; + // @ts-expect-error I dont know why this is erroring + traverse(result.ast, programScopeVisitor, undefined, state); + + const scope = state.programScope; + if (!scope) { + throw new Error("Could not find program scope"); + } + + return scope; + } + + it("adds newly inserted import declarations and usages to program scope", () => { + const scope = getRootScope(` + const MyComponent = () => { + signal.value; + return
Hello World
; + }; + `); + + const signalsBinding = scope.bindings["_useSignals"]; + expect(signalsBinding).to.exist; + expect(signalsBinding.kind).toEqual("module"); + expect(signalsBinding.referenced).toBeTruthy(); + }); + }); + + it("must transform components wrapped with HOCs", async () => { + const inputCode = ` + import {forwardRef} from "react"; + + const Component = forwardRef(() =>
); + `; + + const expectedOutput = ` + import {forwardRef} from 'react' + import { useSignals as _useSignals } from "custom-source"; + const Component = forwardRef(() => { + var _effect = _useSignals(); + try { + return
; + } finally { + _effect.f(); + } + }); + `; + + await runTest( + expect, + inputCode, + expectedOutput, + { + type: "babel", + options: { + importSource: "custom-source", + mode: "all", + }, + }, + false, + false, + ); + }); +}); diff --git a/packages/utils/package.json b/packages/utils/package.json index ea4c89c9..6daebe34 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -160,16 +160,16 @@ } }, "dependencies": { - "@babel/core": "^7.24.0", - "@babel/helper-module-imports": "7.24.3", - "@babel/traverse": "^7.24.5", + "@babel/core": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/traverse": "^7.25.9", "@preact-signals/unified-signals": "workspace:*", "assert": "^2.1.0", "react-fast-hoc": "0.3.2", "type-fest": "^3.13.1" }, "devDependencies": { - "@babel/preset-env": "^7.24.6", + "@babel/preset-env": "^7.25.9", "@preact-signals/unified-signals": "workspace:*", "@preact/signals-react": "^1.3.6", "@rollup/plugin-replace": "^5.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e0470e6..53dded42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -109,7 +109,7 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.8.2 - version: 2.8.2(@babel/core@7.24.6)(preact@10.21.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) + version: 2.8.2(@babel/core@7.26.0)(preact@10.21.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -148,14 +148,14 @@ importers: version: 18.2.0(react@18.2.0) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.24.6)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) + version: 1.2.0(@babel/core@7.26.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) zod: specifier: ^3.23.4 version: 3.23.4 devDependencies: '@babel/plugin-syntax-jsx': specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.6) + version: 7.24.1(@babel/core@7.26.0) '@t3-oss/env-core': specifier: ^0.7.1 version: 0.7.1(typescript@5.4.5)(zod@3.23.4) @@ -193,14 +193,14 @@ importers: apps/transformer-playground: dependencies: '@babel/plugin-syntax-jsx': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.6) + specifier: ^7.25.9 + version: 7.25.9(@babel/core@7.24.6) '@babel/preset-env': - specifier: ^7.24.6 - version: 7.24.6(@babel/core@7.24.6) + specifier: ^7.25.9 + version: 7.26.0(@babel/core@7.24.6) '@babel/standalone': - specifier: ^7.24.3 - version: 7.24.3 + specifier: ^7.25.9 + version: 7.26.2 '@monaco-editor/react': specifier: ^4.6.0 version: 4.6.0(monaco-editor@0.47.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -285,7 +285,7 @@ importers: dependencies: '@preact-signals/safe-react': specifier: '*' - version: 0.6.1(@babel/core@7.24.6)(@swc/helpers@0.5.5)(react@18.2.0) + version: 0.6.1(@babel/core@7.26.0)(@swc/helpers@0.5.5)(react@18.2.0) '@preact-signals/utils': specifier: workspace:* version: link:../utils @@ -328,7 +328,7 @@ importers: dependencies: '@preact-signals/safe-react': specifier: '*' - version: 0.6.1(@babel/core@7.24.6)(@swc/helpers@0.5.5)(react@18.2.0) + version: 0.6.1(@babel/core@7.26.0)(@swc/helpers@0.5.5)(react@18.2.0) '@preact-signals/unified-signals': specifier: workspace:* version: link:../unified-signals @@ -397,11 +397,11 @@ importers: specifier: ^7.0.0 version: 7.24.6 '@babel/helper-module-imports': - specifier: 7.24.3 - version: 7.24.3 + specifier: 7.25.9 + version: 7.25.9 '@babel/helper-plugin-utils': - specifier: ^7.22.5 - version: 7.24.6 + specifier: ^7.25.9 + version: 7.25.9 '@preact/signals-core': specifier: ^1.6.0 version: 1.6.0 @@ -423,8 +423,11 @@ importers: version: 1.4.16(@swc/helpers@0.5.5) devDependencies: '@babel/traverse': - specifier: ^7.24.5 - version: 7.24.6 + specifier: ^7.25.9 + version: 7.25.9 + '@preact/signals-react-transform': + specifier: ^0.4.0 + version: 0.4.0(@babel/core@7.24.6)(react@18.2.0) '@rollup/plugin-replace': specifier: ^5.0.5 version: 5.0.5(rollup@4.17.1) @@ -505,7 +508,7 @@ importers: dependencies: '@preact-signals/safe-react': specifier: '*' - version: 0.6.1(@babel/core@7.24.6)(@swc/helpers@0.5.5)(react@18.2.0) + version: 0.6.1(@babel/core@7.26.0)(@swc/helpers@0.5.5)(react@18.2.0) '@preact/signals': specifier: '>=1.1.0' version: 1.2.1(preact@10.21.0) @@ -544,17 +547,17 @@ importers: packages/utils: dependencies: '@babel/core': - specifier: ^7.24.0 - version: 7.24.6 + specifier: ^7.25.9 + version: 7.26.0 '@babel/helper-module-imports': - specifier: 7.24.3 - version: 7.24.3 + specifier: ^7.25.9 + version: 7.25.9 '@babel/traverse': - specifier: ^7.24.5 - version: 7.24.6 + specifier: ^7.25.9 + version: 7.25.9 '@preact-signals/safe-react': specifier: '>=0.5.1' - version: 0.6.1(@babel/core@7.24.6)(@swc/helpers@0.5.5)(react@18.2.0) + version: 0.6.1(@babel/core@7.26.0)(@swc/helpers@0.5.5)(react@18.2.0) '@preact-signals/unified-signals': specifier: workspace:* version: link:../unified-signals @@ -575,8 +578,8 @@ importers: version: 3.13.1 devDependencies: '@babel/preset-env': - specifier: ^7.24.6 - version: 7.24.6(@babel/core@7.24.6) + specifier: ^7.25.9 + version: 7.26.0(@babel/core@7.26.0) '@preact/signals-react': specifier: ^1.3.6 version: 1.3.6(react@18.2.0) @@ -627,7 +630,7 @@ importers: version: 18.2.0(react@18.2.0) react-native-reanimated: specifier: ^3.15.0 - version: 3.15.0(@babel/core@7.24.6)(react-native@0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0))(react@18.2.0) + version: 3.15.0(@babel/core@7.26.0)(react-native@0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0))(react@18.2.0) rollup: specifier: ^4.17.1 version: 4.17.1 @@ -645,7 +648,7 @@ importers: version: 4.0.1(typedoc@0.25.8(typescript@5.4.5)) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.24.6)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) + version: 1.2.0(@babel/core@7.26.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) zx: specifier: ^8.1.2 version: 8.1.2 @@ -671,42 +674,78 @@ packages: resolution: {integrity: sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==} engines: {node: '>=6.9.0'} + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + '@babel/compat-data@7.24.6': resolution: {integrity: sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.26.2': + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + engines: {node: '>=6.9.0'} + '@babel/core@7.24.6': resolution: {integrity: sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==} engines: {node: '>=6.9.0'} + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.24.6': resolution: {integrity: sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==} engines: {node: '>=6.9.0'} + '@babel/generator@7.26.2': + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.24.6': resolution: {integrity: sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==} engines: {node: '>=6.9.0'} - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.6': - resolution: {integrity: sha512-+wnfqc5uHiMYtvRX7qu80Toef8BXeh4HHR1SPeonGb1SKPniNEd4a/nlaJJMv/OIEYvIVavvo0yR7u10Gqz0Iw==} + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + resolution: {integrity: sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==} engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.24.6': resolution: {integrity: sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.24.6': resolution: {integrity: sha512-djsosdPJVZE6Vsw3kk7IPRWethP94WHGOhQTc67SNXE0ZzMhHgALw8iGmYS0TD1bbMM0VDROy43od7/hN6WYcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.24.6': resolution: {integrity: sha512-C875lFBIWWwyv6MHZUG9HmRrlTDgOsLWZfYR0nW69gaKJNe0/Mpxx5r0EID2ZdHQkdUmQo2t0uNckTL08/1BgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.25.9': + resolution: {integrity: sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-define-polyfill-provider@0.5.0': resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: @@ -717,6 +756,11 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/helper-environment-visitor@7.24.6': resolution: {integrity: sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==} engines: {node: '>=6.9.0'} @@ -725,24 +769,20 @@ packages: resolution: {integrity: sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==} engines: {node: '>=6.9.0'} - '@babel/helper-hoist-variables@7.24.6': - resolution: {integrity: sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==} - engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.24.6': resolution: {integrity: sha512-OTsCufZTxDUsv2/eDXanw/mUZHWOxSbEmC3pP8cgjcy5rgeVPWWMStnv274DV60JtHxTk0adT0QrCzC4M9NWGg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.22.15': - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.3': - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + '@babel/helper-module-imports@7.22.15': + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.6': - resolution: {integrity: sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==} + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} engines: {node: '>=6.9.0'} '@babel/helper-module-transforms@7.24.6': @@ -751,16 +791,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.24.6': resolution: {integrity: sha512-3SFDJRbx7KuPRl8XDUr8O7GAEB8iGyWPjLKJh/ywP/Iy9WOmEfMrsWbaZpvBu2HSYn4KQygIsz0O7m8y10ncMA==} engines: {node: '>=6.9.0'} + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.24.6': resolution: {integrity: sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.24.7': - resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} engines: {node: '>=6.9.0'} '@babel/helper-remap-async-to-generator@7.24.6': @@ -769,20 +819,40 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.24.6': resolution: {integrity: sha512-mRhfPwDqDpba8o1F8ESxsEkJMQkUF8ZIWrAc0FtWhxnjfextxMWxr22RtFizxxSYLjVHDeMgVsRq8BBZR2ikJQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.25.9': + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-simple-access@7.24.6': resolution: {integrity: sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==} engines: {node: '>=6.9.0'} + '@babel/helper-simple-access@7.25.9': + resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==} + engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.24.6': resolution: {integrity: sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q==} engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + '@babel/helper-split-export-declaration@7.24.6': resolution: {integrity: sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==} engines: {node: '>=6.9.0'} @@ -791,22 +861,42 @@ packages: resolution: {integrity: sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.6': resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.24.6': resolution: {integrity: sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.24.6': resolution: {integrity: sha512-f1JLrlw/jbiNfxvdrfBgio/gRBk3yTAEJWirpAkiJG2Hb22E7cEYKHWo0dFPTv/niPovzIdPdEDetrv6tC6gPQ==} engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.25.9': + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.24.6': resolution: {integrity: sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.6': resolution: {integrity: sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==} engines: {node: '>=6.9.0'} @@ -816,26 +906,37 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.6': - resolution: {integrity: sha512-bYndrJ6Ph6Ar+GaB5VAc0JPoP80bQCm4qon6JEzXfRl5QZyQ8Ur1K6k7htxWmPA5z+k7JQvaMUrtXlqclWYzKw==} + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.6': - resolution: {integrity: sha512-iVuhb6poq5ikqRq2XWU6OQ+R5o9wF+r/or9CeUyovgptz0UlnK4/seOQ1Istu/XybYjAhQv1FRSSfHHufIku5Q==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.6': - resolution: {integrity: sha512-c8TER5xMDYzzFcGqOEp9l4hvB7dcbhcGjcLVwxWfe4P5DOafdwjsBJZKsmv+o3aXh7NhopvayQIovHrh2zSRUQ==} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.6': - resolution: {integrity: sha512-z8zEjYmwBUHN/pCF3NuWBhHQjJCrd33qAi8MgANfMrAvn72k2cImT8VjK9LJFu4ysOLJqhfkYYb3MvwANRUNZQ==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -906,17 +1007,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-dynamic-import@7.8.3': resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: @@ -928,47 +1018,33 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-flow@7.23.3': resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.24.6': - resolution: {integrity: sha512-BE6o2BogJKJImTmGpkmOic4V0hlRRxVtzqxiSPa8TIFxyhi4EFjHm08nq1M4STK4RytuLMgnSz0/wfflvGFNOg==} + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.24.6': - resolution: {integrity: sha512-D+CfsVZousPXIdudSII7RGy52+dYRtbyKAZcvtQKq/NpsivyMVduepzcLqG5pMBugtMdedxdC8Ramdpcne9ZWQ==} + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.24.1': resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1003,12 +1079,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.23.3': resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} @@ -1027,8 +1097,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.24.6': - resolution: {integrity: sha512-VEP2o4iR2DqQU6KPgizTW2mnMx6BG5b5O9iQdrW9HesLkv8GIA8x2daXBQxw1MrsIkFQGA/iJ204CKoQ8UcnAA==} + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1039,8 +1115,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.24.6': - resolution: {integrity: sha512-XNW7jolYHW9CwORrZgA/97tL/k05qe/HL0z/qqJq1mdWhwwCM6D4BJBV7wAz9HgFziN5dTOG31znkVIzwxv+vw==} + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.25.9': + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1051,14 +1133,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoping@7.25.9': + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-properties@7.24.6': resolution: {integrity: sha512-j6dZ0Z2Z2slWLR3kt9aOmSIrBvnntWjMDN/TVcMPxhXMLmJVqX605CBRlcGI4b32GMbfifTEsdEjGjiE+j/c3A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.24.6': - resolution: {integrity: sha512-1QSRfoPI9RoLRa8Mnakc6v3e0gJxiZQTYrMfLn+mD0sz5+ndSzwymp2hDcYJTyT0MOn0yuWzj8phlIvO72gTHA==} + '@babel/plugin-transform-class-properties@7.25.9': + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 @@ -1069,44 +1163,68 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-classes@7.25.9': + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.24.6': resolution: {integrity: sha512-cRzPobcfRP0ZtuIEkA8QzghoUpSB3X3qSH5W2+FzG+VjWbJXExtx0nbRqwumdBN1x/ot2SlTNQLfBCnPdzp6kg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-destructuring@7.24.6': resolution: {integrity: sha512-YLW6AE5LQpk5npNXL7i/O+U9CE4XsBCuRPgyjl1EICZYKmcitV+ayuuUGMJm2lC1WWjXYszeTnIxF/dq/GhIZQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.24.6': - resolution: {integrity: sha512-rCXPnSEKvkm/EjzOtLoGvKseK+dS4kZwx1HexO3BtRtgL0fQ34awHn34aeSHuXtZY2F8a1X8xqBBPRtOxDVmcA==} + '@babel/plugin-transform-destructuring@7.25.9': + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-keys@7.24.6': - resolution: {integrity: sha512-/8Odwp/aVkZwPFJMllSbawhDAO3UJi65foB00HYnK/uXvvCPm0TAXSByjz1mpRmp0q6oX2SIxpkUOpPFHk7FLA==} + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dynamic-import@7.24.6': - resolution: {integrity: sha512-vpq8SSLRTBLOHUZHSnBqVo0AKX3PBaoPs2vVzYVWslXDTDIpwAcCDtfhUcHSQQoYoUvcFPTdC8TZYXu9ZnLT/w==} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.24.6': - resolution: {integrity: sha512-EemYpHtmz0lHE7hxxxYEuTYOOBZ43WkDgZ4arQ4r+VX9QHuNZC+WH3wUWmRNvR8ECpTRne29aZV6XO22qpOtdA==} + '@babel/plugin-transform-exponentiation-operator@7.25.9': + resolution: {integrity: sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.24.6': - resolution: {integrity: sha512-inXaTM1SVrIxCkIJ5gqWiozHfFMStuGbGJAxZFBoHcRRdDP0ySLb3jH6JOwmfiinPwyMZqMBX+7NBDCO4z0NSA==} + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1117,8 +1235,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-for-of@7.24.6': - resolution: {integrity: sha512-n3Sf72TnqK4nw/jziSqEl1qaWPbCRw2CziHH+jdRYvw4J6yeCzsj4jdw8hIntOEeDGTmHVe2w4MVL44PN0GMzg==} + '@babel/plugin-transform-for-of@7.25.9': + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1129,8 +1247,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.24.6': - resolution: {integrity: sha512-Uvgd9p2gUnzYJxVdBLcU0KurF8aVhkmVyMKW4MIY1/BByvs3EBpv45q01o7pRTVmTvtQq5zDlytP3dcUgm7v9w==} + '@babel/plugin-transform-function-name@7.25.9': + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1141,20 +1265,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.24.6': - resolution: {integrity: sha512-EKaWvnezBCMkRIHxMJSIIylzhqK09YpiJtDbr2wsXTwnO0TxyjMUkaw4RlFIZMIS0iDj0KyIg7H7XCguHu/YDA==} + '@babel/plugin-transform-literals@7.25.9': + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.24.6': - resolution: {integrity: sha512-9g8iV146szUo5GWgXpRbq/GALTnY+WnNuRTuRHWWFfWGbP9ukRL0aO/jpu9dmOPikclkxnNsjY8/gsWl6bmZJQ==} + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-amd@7.24.6': - resolution: {integrity: sha512-eAGogjZgcwqAxhyFgqghvoHRr+EYRQPFjUXrTYKBRb5qPnAVxOOglaxc4/byHqjvq/bqO2F3/CGwTHsgKJYHhQ==} + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1165,14 +1295,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.24.6': - resolution: {integrity: sha512-xg1Z0J5JVYxtpX954XqaaAT6NpAY6LtZXvYFCJmGFJWwtlz2EmJoR8LycFRGNE8dBKizGWkGQZGegtkV8y8s+w==} + '@babel/plugin-transform-modules-commonjs@7.25.9': + resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-umd@7.24.6': - resolution: {integrity: sha512-esRCC/KsSEUvrSjv5rFYnjZI6qv4R1e/iHQrqwbZIoRJqk7xCvEUiN7L1XrmW5QSmQe3n1XD88wbgDTWLbVSyg==} + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1183,8 +1319,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-new-target@7.24.6': - resolution: {integrity: sha512-f8liz9JG2Va8A4J5ZBuaSdwfPqN6axfWRK+y66fjKYbwf9VBLuq4WxtinhJhvp1w6lamKUwLG0slK2RxqFgvHA==} + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1195,26 +1337,32 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.24.6': - resolution: {integrity: sha512-6voawq8T25Jvvnc4/rXcWZQKKxUNZcKMS8ZNrjxQqoRFernJJKjE3s18Qo6VFaatG5aiX5JV1oPD7DbJhn0a4Q==} + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.24.6': - resolution: {integrity: sha512-OKmi5wiMoRW5Smttne7BwHM8s/fb5JFs+bVGNSeHWzwZkWXWValR1M30jyXo1s/RaqgwwhEC62u4rFH/FBcBPg==} + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.24.6': - resolution: {integrity: sha512-N/C76ihFKlZgKfdkEYKtaRUtXZAgK7sOY4h2qrbVbVTXPrKGIi8aww5WGe/+Wmg8onn8sr2ut6FXlsbu/j6JHg==} + '@babel/plugin-transform-object-super@7.25.9': + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.24.6': - resolution: {integrity: sha512-L5pZ+b3O1mSzJ71HmxSCmTVd03VOT2GXOigug6vDYJzE5awLI7P1g0wFcdmGuwSDSrQ0L2rDOe/hHws8J1rv3w==} + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1225,26 +1373,50 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-parameters@7.24.6': resolution: {integrity: sha512-ST7guE8vLV+vI70wmAxuZpIKzVjvFX9Qs8bl5w6tN/6gOypPWUmMQL2p7LJz5E63vEGrDhAiYetniJFyBH1RkA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-parameters@7.25.9': + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-methods@7.24.6': resolution: {integrity: sha512-T9LtDI0BgwXOzyXrvgLTT8DFjCC/XgWLjflczTLXyvxbnSR/gpv0hbmzlHE/kmh9nOvlygbamLKRo6Op4yB6aw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-methods@7.25.9': + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-property-in-object@7.24.6': resolution: {integrity: sha512-Qu/ypFxCY5NkAnEhCF86Mvg3NSabKsh/TPpBVswEdkGl7+FbsYHy1ziRqJpwGH4thBdQHh8zx+z7vMYmcJ7iaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.24.6': - resolution: {integrity: sha512-oARaglxhRsN18OYsnPTpb8TcKQWDYNsPNmTnx5++WOAsUJ0cSC/FZVlIJCKvPbU4yn/UXsS0551CFKJhN0CaMw==} + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1279,14 +1451,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.24.6': - resolution: {integrity: sha512-SMDxO95I8WXRtXhTAc8t/NFQUT7VYbIWwJCJgEli9ml4MhqUMh4S6hxgH6SmAC3eAQNWCDJFxcFeEt9w2sDdXg==} + '@babel/plugin-transform-regenerator@7.25.9': + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-reserved-words@7.24.6': - resolution: {integrity: sha512-DcrgFXRRlK64dGE0ZFBPD5egM2uM8mgfrvTMOSB2yKzOtjpGegVYkzh3s1zZg1bBck3nkXiaOamJUqK3Syk+4A==} + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1303,26 +1481,50 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-spread@7.24.6': resolution: {integrity: sha512-h/2j7oIUDjS+ULsIrNZ6/TKG97FgmEk1PXryk/HQq6op4XUUUwif2f69fJrzK0wza2zjCS1xhXmouACaWV5uPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-spread@7.25.9': + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-sticky-regex@7.24.6': resolution: {integrity: sha512-fN8OcTLfGmYv7FnDrsjodYBo1DhPL3Pze/9mIIE2MGCT1KgADYIOD7rEglpLHZj8PZlC/JFX5WcD+85FLAQusw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-template-literals@7.24.6': resolution: {integrity: sha512-BJbEqJIcKwrqUP+KfUIkxz3q8VzXe2R8Wv8TaNgO1cx+nNavxn/2+H8kp9tgFSOL6wYPPEgFvU6IKS4qoGqhmg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typeof-symbol@7.24.6': - resolution: {integrity: sha512-IshCXQ+G9JIFJI7bUpxTE/oA2lgVLAIK8q1KdJNoPXOpvRaNjMySGuvLfBw/Xi2/1lLo953uE8hyYSDW3TSYig==} + '@babel/plugin-transform-template-literals@7.25.9': + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.25.9': + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1339,14 +1541,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.24.6': - resolution: {integrity: sha512-bKl3xxcPbkQQo5eX9LjjDpU2xYHeEeNQbOhj0iPvetSzA+Tu9q/o5lujF4Sek60CM6MgYvOS/DJuwGbiEYAnLw==} + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.24.6': - resolution: {integrity: sha512-8EIgImzVUxy15cZiPii9GvLZwsy7Vxc+8meSlR3cXFmBIl5W5Tn9LGBf7CDKkHj4uVfNXCJB8RsVfnmY61iedA==} + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1357,14 +1559,20 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.24.6': - resolution: {integrity: sha512-quiMsb28oXWIDK0gXLALOJRXLgICLiulqdZGOaPPd0vRT7fQp74NtdADAVu+D8s00C+0Xs0MxVP0VKF/sZEUgw==} + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/preset-env@7.24.6': - resolution: {integrity: sha512-CrxEAvN7VxfjOG8JNF2Y/eMqMJbZPZ185amwGUBp8D9USK90xQmv7dLdFSa+VbD7fdIqcy/Mfv7WtzG8+/qxKg==} + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1399,22 +1607,30 @@ packages: resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} engines: {node: '>=6.9.0'} - '@babel/standalone@7.24.3': - resolution: {integrity: sha512-PbObiI21Z/1DoJLr6DKsdmyp7uUIuw6zv5zIMorH98rOBE/TehkjK7xqXiwJmbCqi7deVbIksDerZ9Ds9hRLGw==} + '@babel/standalone@7.26.2': + resolution: {integrity: sha512-i2VbegsRfwa9yq3xmfDX3tG2yh9K0cCqwpSyVG2nPxifh0EOnucAZUeO/g4lW2Zfg03aPJNtPfxQbDHzXc7H+w==} engines: {node: '>=6.9.0'} '@babel/template@7.24.6': resolution: {integrity: sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.24.6': - resolution: {integrity: sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} engines: {node: '>=6.9.0'} '@babel/types@7.24.6': resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + engines: {node: '>=6.9.0'} + '@changesets/apply-release-plan@6.1.4': resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} @@ -1987,6 +2203,15 @@ packages: '@preact/signals-core@1.6.0': resolution: {integrity: sha512-O/XGxwP85h1F7+ouqTMOIZ3+V1whfaV9ToIVcuyGriD4JkSD00cQo54BKdqjvBJxbenvp7ynfqRHEwI6e+NIhw==} + '@preact/signals-core@1.8.0': + resolution: {integrity: sha512-OBvUsRZqNmjzCZXWLxkZfhcgT+Fk8DDcT/8vD6a1xhDemodyy87UJRJfASMuSD8FaAIeGgGm85ydXhm7lr4fyA==} + + '@preact/signals-react-transform@0.4.0': + resolution: {integrity: sha512-ZH8u5VrFPMmxggjAr7Rl9OLi3yvyDGi4lGQulftkszuiJB15jVy/MMraIfNvWKf2RfjtHLvp3K6Jk19xO/j7Tw==} + peerDependencies: + '@babel/core': ^7.0.0 + react: ^16.14.0 || 17.x || 18.x + '@preact/signals-react@1.3.4': resolution: {integrity: sha512-+MIGr7ZXpRwGhk9VrK4sT5SGQSzzNCgNHuPRJ1so4rwj/DY0Ks1//2ie0sMyPhWjO7NDA91Mp4ph1Nzo3hDHhA==} peerDependencies: @@ -2002,6 +2227,11 @@ packages: peerDependencies: react: ^16.14.0 || 17.x || 18.x + '@preact/signals-react@2.2.0': + resolution: {integrity: sha512-EPYlhXqqcOUxz2gTQGt4rtK6X7Jr04517DcJVZ4I5a7Gxy39haK24uFeVWtiU/tnEReRFcxpQN6poYra1jf68A==} + peerDependencies: + react: ^16.14.0 || 17.x || 18.x + '@preact/signals@1.2.1': resolution: {integrity: sha512-hRPvp1C2ooDzOHqfnhdpHgoIFDbYFAXLhoid3+jSItuPPD/J0r/UsiWKv/8ZO/oEhjRaP0M5niuRYsWqmY2GEA==} peerDependencies: @@ -2910,8 +3140,8 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-corejs3@0.10.4: - resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -2990,6 +3220,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -3068,6 +3303,9 @@ packages: caniuse-lite@1.0.30001603: resolution: {integrity: sha512-iL2iSS0eDILMb9n5yKQoTBim9jMZ0Yrk8g0N9K7UzYyWnfIKzXBZD5ngpM37ZcL/cv0Mli8XtVMRYMQAfFpi5Q==} + caniuse-lite@1.0.30001679: + resolution: {integrity: sha512-j2YqID/YwpLnKzCmBOS4tlZdWprXm3ZmQLBH9ZBXFOhoxLA46fwyBvx6toCBWBmnuwUY/qB3kEU6gFx8qgCroA==} + chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -3221,6 +3459,9 @@ packages: core-js-compat@3.36.1: resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -3482,6 +3723,9 @@ packages: electron-to-chromium@1.4.722: resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==} + electron-to-chromium@1.5.55: + resolution: {integrity: sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3553,6 +3797,10 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -4336,6 +4584,11 @@ packages: engines: {node: '>=4'} hasBin: true + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -4793,6 +5046,9 @@ packages: node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-stream-zip@1.15.0: resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} engines: {node: '>=0.12.0'} @@ -5016,6 +5272,9 @@ packages: picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -5318,6 +5577,10 @@ packages: resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} @@ -5335,6 +5598,17 @@ packages: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} + regexpu-core@6.1.1: + resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.11.2: + resolution: {integrity: sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==} + hasBin: true + regjsparser@0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true @@ -6068,6 +6342,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -6431,8 +6711,16 @@ snapshots: '@babel/highlight': 7.24.6 picocolors: 1.0.0 + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.0.0 + '@babel/compat-data@7.24.6': {} + '@babel/compat-data@7.26.2': {} + '@babel/core@7.24.6': dependencies: '@ampproject/remapping': 2.2.1 @@ -6443,7 +6731,7 @@ snapshots: '@babel/helpers': 7.24.6 '@babel/parser': 7.24.6 '@babel/template': 7.24.6 - '@babel/traverse': 7.24.6 + '@babel/traverse': 7.25.9 '@babel/types': 7.24.6 convert-source-map: 2.0.0 debug: 4.3.4 @@ -6453,6 +6741,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.24.6': dependencies: '@babel/types': 7.24.6 @@ -6460,13 +6768,28 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + '@babel/generator@7.26.2': + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + '@babel/helper-annotate-as-pure@7.24.6': dependencies: '@babel/types': 7.24.6 - '@babel/helper-builder-binary-assignment-operator-visitor@7.24.6': + '@babel/helper-annotate-as-pure@7.25.9': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.26.0 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color '@babel/helper-compilation-targets@7.24.6': dependencies: @@ -6476,33 +6799,88 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.24.6(@babel/core@7.24.6)': + '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/core': 7.24.6 + '@babel/compat-data': 7.26.2 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.6 '@babel/helper-environment-visitor': 7.24.6 '@babel/helper-function-name': 7.24.6 '@babel/helper-member-expression-to-functions': 7.24.6 '@babel/helper-optimise-call-expression': 7.24.6 - '@babel/helper-replace-supers': 7.24.6(@babel/core@7.24.6) + '@babel/helper-replace-supers': 7.24.6(@babel/core@7.26.0) '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 '@babel/helper-split-export-declaration': 7.24.6 semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.24.6(@babel/core@7.24.6)': + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-annotate-as-pure': 7.24.6 - regexpu-core: 5.3.2 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.24.6) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.25.9 semver: 6.3.1 + transitivePeerDependencies: + - supports-color - '@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.6)': + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - debug: 4.3.4 - lodash.debounce: 4.0.8 + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.25.9 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.24.6(@babel/core@7.24.6)': + dependencies: + '@babel/core': 7.24.6 + '@babel/helper-annotate-as-pure': 7.24.6 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.24.6 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.24.6)': + dependencies: + '@babel/core': 7.24.6 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.1.1 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.1.1 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.4 + lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: - supports-color @@ -6510,8 +6888,41 @@ snapshots: '@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.6)': + dependencies: + '@babel/core': 7.24.6 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -6525,86 +6936,192 @@ snapshots: '@babel/template': 7.24.6 '@babel/types': 7.24.6 - '@babel/helper-hoist-variables@7.24.6': - dependencies: - '@babel/types': 7.24.6 - '@babel/helper-member-expression-to-functions@7.24.6': dependencies: '@babel/types': 7.24.6 - '@babel/helper-module-imports@7.22.15': + '@babel/helper-member-expression-to-functions@7.25.9': dependencies: - '@babel/types': 7.24.6 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color - '@babel/helper-module-imports@7.24.3': + '@babel/helper-module-imports@7.22.15': dependencies: '@babel/types': 7.24.6 - '@babel/helper-module-imports@7.24.6': + '@babel/helper-module-imports@7.25.9': dependencies: - '@babel/types': 7.24.6 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color '@babel/helper-module-transforms@7.24.6(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-module-imports': 7.24.6 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-simple-access': 7.24.6 + '@babel/helper-split-export-declaration': 7.24.6 + '@babel/helper-validator-identifier': 7.24.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-environment-visitor': 7.24.6 + '@babel/helper-module-imports': 7.25.9 '@babel/helper-simple-access': 7.24.6 '@babel/helper-split-export-declaration': 7.24.6 '@babel/helper-validator-identifier': 7.24.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.24.6)': + dependencies: + '@babel/core': 7.24.6 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color '@babel/helper-optimise-call-expression@7.24.6': dependencies: '@babel/types': 7.24.6 + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.26.0 + '@babel/helper-plugin-utils@7.24.6': {} - '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-plugin-utils@7.25.9': {} - '@babel/helper-remap-async-to-generator@7.24.6(@babel/core@7.24.6)': + '@babel/helper-remap-async-to-generator@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.6 '@babel/helper-environment-visitor': 7.24.6 '@babel/helper-wrap-function': 7.24.6 - '@babel/helper-replace-supers@7.24.6(@babel/core@7.24.6)': + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-environment-visitor': 7.24.6 '@babel/helper-member-expression-to-functions': 7.24.6 '@babel/helper-optimise-call-expression': 7.24.6 + '@babel/helper-replace-supers@7.25.9(@babel/core@7.24.6)': + dependencies: + '@babel/core': 7.24.6 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + '@babel/helper-simple-access@7.24.6': dependencies: '@babel/types': 7.24.6 + '@babel/helper-simple-access@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + '@babel/helper-skip-transparent-expression-wrappers@7.24.6': dependencies: '@babel/types': 7.24.6 + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + '@babel/helper-split-export-declaration@7.24.6': dependencies: '@babel/types': 7.24.6 '@babel/helper-string-parser@7.24.6': {} + '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-validator-identifier@7.24.6': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-option@7.24.6': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helper-wrap-function@7.24.6': dependencies: '@babel/helper-function-name': 7.24.6 '@babel/template': 7.24.6 '@babel/types': 7.24.6 + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + '@babel/helpers@7.24.6': dependencies: '@babel/template': 7.24.6 '@babel/types': 7.24.6 + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + '@babel/highlight@7.24.6': dependencies: '@babel/helper-validator-identifier': 7.24.6 @@ -6616,666 +7133,1286 @@ snapshots: dependencies: '@babel/types': 7.24.6 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.6(@babel/core@7.24.6)': + '@babel/parser@7.26.2': + dependencies: + '@babel/types': 7.26.0 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 - '@babel/plugin-transform-optional-chaining': 7.24.6(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.24.6) + transitivePeerDependencies: + - supports-color - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.6)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.6)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.24.6)': + '@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.26.0) - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.6)': + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.6)': + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.6)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.26.0)': dependencies: '@babel/compat-data': 7.24.6 - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.26.0) - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.6)': + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.6)': + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.6) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.6)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.6)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-flow@7.23.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.6)': + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.24.6)': + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.6)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-assertions@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.24.6) + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-import-attributes@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-async-to-generator@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.24.6(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.24.6) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.6)': + '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-block-scoping@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.6)': + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-class-properties@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.6)': + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.24.6 + '@babel/helper-compilation-targets': 7.24.6 + '@babel/helper-environment-visitor': 7.24.6 + '@babel/helper-function-name': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.24.6(@babel/core@7.26.0) + '@babel/helper-split-export-declaration': 7.24.6 + globals: 11.12.0 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.24.6) + '@babel/traverse': 7.25.9 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.25.9 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.24.6 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.6)': + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + + '@babel/plugin-transform-destructuring@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.6)': + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.6)': + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.6)': + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.6)': + '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.6)': + '@babel/plugin-transform-exponentiation-operator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-arrow-functions@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.26.0) + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-async-generator-functions@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-function-name@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.24.6 + '@babel/helper-function-name': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-remap-async-to-generator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.6) + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-async-to-generator@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-module-imports': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-remap-async-to-generator': 7.24.6(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-literals@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-block-scoped-functions@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-block-scoping@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-class-properties@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-class-static-block@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.6) + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.24.6 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-classes@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-function-name': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-replace-supers': 7.24.6(@babel/core@7.24.6) - '@babel/helper-split-export-declaration': 7.24.6 - globals: 11.12.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-computed-properties@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/template': 7.24.6 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-destructuring@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-dotall-regex@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-duplicate-keys@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-named-capturing-groups-regex@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-dynamic-import@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.6) + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-exponentiation-operator@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-export-namespace-from@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.24.6)': + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-for-of@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-nullish-coalescing-operator@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-transform-function-name@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-function-name': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-json-strings@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-literals@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-logical-assignment-operators@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-member-expression-literals@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.24.6) - '@babel/plugin-transform-modules-amd@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-module-transforms': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-module-transforms': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-simple-access': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.24.6) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-modules-systemjs@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-hoist-variables': 7.24.6 - '@babel/helper-module-transforms': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-identifier': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-modules-umd@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-module-transforms': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-named-capturing-groups-regex@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-new-target@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-optional-chaining@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-numeric-separator@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-object-rest-spread@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-parameters@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-object-super@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-replace-supers': 7.24.6(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-optional-catch-binding@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-optional-chaining@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-private-methods@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-parameters@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-private-methods@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-private-property-in-object@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-private-property-in-object@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.6) + '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.24.6)': + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.6)': + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.6)': + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.6) + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) '@babel/types': 7.24.6 + transitivePeerDependencies: + - supports-color - '@babel/plugin-transform-regenerator@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 regenerator-transform: 0.15.2 - '@babel/plugin-transform-reserved-words@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-runtime@7.23.9(@babel/core@7.24.6)': + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.7 - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.6) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.6) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-runtime@7.23.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.26.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-shorthand-properties@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-shorthand-properties@7.24.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-spread@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-spread@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 - '@babel/plugin-transform-sticky-regex@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-template-literals@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-template-literals@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-typeof-symbol@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-typescript@7.21.3(@babel/core@7.24.6)': + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typescript@7.21.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.6) + '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.26.0) - '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.6)': + '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.6) + '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-unicode-property-regex@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-regex@7.24.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-unicode-regex@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-unicode-sets-regex@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-create-regexp-features-plugin': 7.24.6(@babel/core@7.24.6) - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.24.6) + '@babel/helper-plugin-utils': 7.25.9 - '@babel/preset-env@7.24.6(@babel/core@7.24.6)': + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': dependencies: - '@babel/compat-data': 7.24.6 + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/preset-env@7.26.0(@babel/core@7.24.6)': + dependencies: + '@babel/compat-data': 7.26.2 '@babel/core': 7.24.6 - '@babel/helper-compilation-targets': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-option': 7.24.6 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.6(@babel/core@7.24.6) + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.24.6) '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.6) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.6) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.6) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.6) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-import-assertions': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-syntax-import-attributes': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.6) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.6) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.6) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.6) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.6) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.24.6) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.24.6) '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-async-generator-functions': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-async-to-generator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-block-scoped-functions': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-block-scoping': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-class-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-class-static-block': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-computed-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-destructuring': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-dotall-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-duplicate-keys': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-dynamic-import': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-exponentiation-operator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-export-namespace-from': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-for-of': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-function-name': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-json-strings': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-literals': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-logical-assignment-operators': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-member-expression-literals': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-modules-amd': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-modules-systemjs': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-modules-umd': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-new-target': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-numeric-separator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-object-rest-spread': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-object-super': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-optional-catch-binding': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-optional-chaining': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-private-methods': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-property-literals': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-regenerator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-reserved-words': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-spread': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-sticky-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-template-literals': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-typeof-symbol': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-unicode-escapes': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-unicode-property-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-unicode-sets-regex': 7.24.6(@babel/core@7.24.6) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.24.6) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.24.6) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.24.6) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.24.6) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.6) babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.6) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.6) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.24.6) babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.6) - core-js-compat: 3.36.1 + core-js-compat: 3.39.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.26.0) + core-js-compat: 3.39.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-flow@7.23.3(@babel/core@7.24.6)': + '@babel/preset-flow@7.23.3(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-option': 7.24.6 - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.6) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.26.0) '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.6)': dependencies: '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.25.9 '@babel/types': 7.24.6 esutils: 2.0.3 - '@babel/preset-typescript@7.23.3(@babel/core@7.24.6)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.24.6 + esutils: 2.0.3 + + '@babel/preset-typescript@7.23.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-option': 7.24.6 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.6) - '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.6) + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color - '@babel/register@7.23.7(@babel/core@7.24.6)': + '@babel/register@7.23.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -7288,7 +8425,7 @@ snapshots: dependencies: regenerator-runtime: 0.13.11 - '@babel/standalone@7.24.3': {} + '@babel/standalone@7.26.2': {} '@babel/template@7.24.6': dependencies: @@ -7296,16 +8433,19 @@ snapshots: '@babel/parser': 7.24.6 '@babel/types': 7.24.6 - '@babel/traverse@7.24.6': + '@babel/template@7.25.9': dependencies: - '@babel/code-frame': 7.24.6 - '@babel/generator': 7.24.6 - '@babel/helper-environment-visitor': 7.24.6 - '@babel/helper-function-name': 7.24.6 - '@babel/helper-hoist-variables': 7.24.6 - '@babel/helper-split-export-declaration': 7.24.6 - '@babel/parser': 7.24.6 - '@babel/types': 7.24.6 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + + '@babel/traverse@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -7317,6 +8457,11 @@ snapshots: '@babel/helper-validator-identifier': 7.24.6 to-fast-properties: 2.0.0 + '@babel/types@7.26.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@changesets/apply-release-plan@6.1.4': dependencies: '@babel/runtime': 7.22.6 @@ -7821,9 +8966,9 @@ snapshots: '@polka/url@1.0.0-next.24': {} - '@preact-signals/safe-react@0.6.1(@babel/core@7.24.6)(@swc/helpers@0.5.5)(react@18.2.0)': + '@preact-signals/safe-react@0.6.1(@babel/core@7.26.0)(@swc/helpers@0.5.5)(react@18.2.0)': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.6 '@preact/signals-core': 1.6.0 @@ -7838,14 +8983,14 @@ snapshots: - '@swc/helpers' - supports-color - '@preact/preset-vite@2.8.2(@babel/core@7.24.6)(preact@10.21.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1))': + '@preact/preset-vite@2.8.2(@babel/core@7.26.0)(preact@10.21.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1))': dependencies: - '@babel/core': 7.24.6 - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.24.6) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.26.0) '@prefresh/vite': 2.4.1(preact@10.21.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.24.6) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.26.0) debug: 4.3.4 kolorist: 1.8.0 magic-string: 0.30.5 @@ -7860,6 +9005,20 @@ snapshots: '@preact/signals-core@1.6.0': {} + '@preact/signals-core@1.8.0': {} + + '@preact/signals-react-transform@0.4.0(@babel/core@7.24.6)(react@18.2.0)': + dependencies: + '@babel/core': 7.24.6 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@preact/signals-react': 2.2.0(react@18.2.0) + debug: 4.3.4 + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + transitivePeerDependencies: + - supports-color + '@preact/signals-react@1.3.4(react@18.2.0)': dependencies: '@preact/signals-core': 1.6.0 @@ -7878,6 +9037,12 @@ snapshots: react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) + '@preact/signals-react@2.2.0(react@18.2.0)': + dependencies: + '@preact/signals-core': 1.8.0 + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + '@preact/signals@1.2.1(preact@10.21.0)': dependencies: '@preact/signals-core': 1.6.0 @@ -7893,7 +9058,7 @@ snapshots: '@prefresh/vite@2.4.1(preact@10.21.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1))': dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@prefresh/babel-plugin': 0.5.0 '@prefresh/core': 1.5.1(preact@10.21.0) '@prefresh/utils': 1.2.0 @@ -8074,80 +9239,80 @@ snapshots: '@react-native/assets-registry@0.73.1': {} - '@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.24.6(@babel/core@7.24.6))': + '@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: - '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + '@react-native/codegen': 0.73.3(@babel/preset-env@7.26.0(@babel/core@7.26.0)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.73.21(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))': - dependencies: - '@babel/core': 7.24.6 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.6) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.24.6) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.6) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.6) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.24.6) - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.6) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.6) - '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-async-to-generator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-block-scoping': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-computed-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-destructuring': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.6) - '@babel/plugin-transform-function-name': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-literals': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-named-capturing-groups-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-private-methods': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.24.6) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.24.6) - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.6) - '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.6) - '@babel/plugin-transform-runtime': 7.23.9(@babel/core@7.24.6) - '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-spread': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-sticky-regex': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.24.6) - '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.24.6) + '@react-native/babel-preset@0.73.21(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.26.0) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.26.0) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.26.0) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.26.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.26.0) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.23.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.26.0) '@babel/template': 7.24.6 - '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.6) + '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.26.0) react-refresh: 0.14.2 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/codegen@0.73.3(@babel/preset-env@7.24.6(@babel/core@7.24.6))': + '@react-native/codegen@0.73.3(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: '@babel/parser': 7.24.6 - '@babel/preset-env': 7.24.6(@babel/core@7.24.6) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) flow-parser: 0.206.0 glob: 7.2.3 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + jscodeshift: 0.14.0(@babel/preset-env@7.26.0(@babel/core@7.26.0)) mkdirp: 0.5.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.73.16(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))': + '@react-native/community-cli-plugin@0.73.16(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: '@react-native-community/cli-server-api': 12.3.2 '@react-native-community/cli-tools': 12.3.2 '@react-native/dev-middleware': 0.73.7 - '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) chalk: 4.1.2 execa: 5.1.1 metro: 0.80.6 @@ -8185,10 +9350,10 @@ snapshots: '@react-native/js-polyfills@0.73.1': {} - '@react-native/metro-babel-transformer@0.73.15(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))': + '@react-native/metro-babel-transformer@0.73.15(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))': dependencies: - '@babel/core': 7.24.6 - '@react-native/babel-preset': 0.73.21(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + '@babel/core': 7.26.0 + '@react-native/babel-preset': 0.73.21(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) hermes-parser: 0.15.0 nullthrows: 1.1.1 transitivePeerDependencies: @@ -8197,11 +9362,11 @@ snapshots: '@react-native/normalize-colors@0.73.2': {} - '@react-native/virtualized-lists@0.73.4(react-native@0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0))': + '@react-native/virtualized-lists@0.73.4(react-native@0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0))': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react-native: 0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0) + react-native: 0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0) '@remix-run/router@1.11.0': {} @@ -9051,39 +10216,56 @@ snapshots: b4a@1.6.4: {} - babel-core@7.0.0-bridge.0(@babel/core@7.24.6): + babel-core@7.0.0-bridge.0(@babel/core@7.26.0): dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.6): dependencies: - '@babel/compat-data': 7.24.6 + '@babel/compat-data': 7.26.2 '@babel/core': 7.24.6 '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.6) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.6): + babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.26.0): dependencies: - '@babel/core': 7.24.6 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.6) - core-js-compat: 3.36.1 + '@babel/compat-data': 7.26.2 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.26.0) + semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.6): + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.24.6): dependencies: '@babel/core': 7.24.6 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.6) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.6) + core-js-compat: 3.39.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) + core-js-compat: 3.39.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.26.0) core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.6): + babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.26.0): dependencies: - '@babel/core': 7.24.6 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.6) + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -9094,15 +10276,22 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.6): + babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.26.0): dependencies: - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.6) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.26.0) transitivePeerDependencies: - '@babel/core' - babel-plugin-transform-hook-names@1.0.2(@babel/core@7.24.6): + babel-plugin-transform-hook-names@1.0.2(@babel/core@7.26.0): dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 balanced-match@1.0.2: {} @@ -9157,6 +10346,13 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) + browserslist@4.24.2: + dependencies: + caniuse-lite: 1.0.30001679 + electron-to-chromium: 1.5.55 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -9225,6 +10421,8 @@ snapshots: caniuse-lite@1.0.30001603: {} + caniuse-lite@1.0.30001679: {} + chai@4.4.1: dependencies: assertion-error: 1.1.0 @@ -9417,7 +10615,11 @@ snapshots: core-js-compat@3.36.1: dependencies: - browserslist: 4.23.0 + browserslist: 4.24.2 + + core-js-compat@3.39.0: + dependencies: + browserslist: 4.24.2 core-util-is@1.0.3: {} @@ -9686,6 +10888,8 @@ snapshots: electron-to-chromium@1.4.722: {} + electron-to-chromium@1.5.55: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -9844,6 +11048,8 @@ snapshots: escalade@3.1.1: {} + escalade@3.2.0: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -10688,19 +11894,19 @@ snapshots: jsc-safe-url@0.2.4: {} - jscodeshift@0.14.0(@babel/preset-env@7.24.6(@babel/core@7.24.6)): + jscodeshift@0.14.0(@babel/preset-env@7.26.0(@babel/core@7.26.0)): dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/parser': 7.24.6 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.6) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.6) - '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.6) - '@babel/preset-env': 7.24.6(@babel/core@7.24.6) - '@babel/preset-flow': 7.23.3(@babel/core@7.24.6) - '@babel/preset-typescript': 7.23.3(@babel/core@7.24.6) - '@babel/register': 7.23.7(@babel/core@7.24.6) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.6) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-flow': 7.23.3(@babel/core@7.26.0) + '@babel/preset-typescript': 7.23.3(@babel/core@7.26.0) + '@babel/register': 7.23.7(@babel/core@7.26.0) + babel-core: 7.0.0-bridge.0(@babel/core@7.26.0) chalk: 4.1.2 flow-parser: 0.206.0 graceful-fs: 4.2.11 @@ -10745,6 +11951,8 @@ snapshots: jsesc@2.5.2: {} + jsesc@3.0.2: {} + json-buffer@3.0.1: {} json-parse-better-errors@1.0.2: {} @@ -10941,7 +12149,7 @@ snapshots: metro-babel-transformer@0.80.6: dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 hermes-parser: 0.19.1 nullthrows: 1.1.1 transitivePeerDependencies: @@ -11003,7 +12211,7 @@ snapshots: metro-source-map@0.80.6: dependencies: - '@babel/traverse': 7.24.6 + '@babel/traverse': 7.25.9 '@babel/types': 7.24.6 invariant: 2.2.4 metro-symbolicate: 0.80.6 @@ -11027,17 +12235,17 @@ snapshots: metro-transform-plugins@0.80.6: dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/generator': 7.24.6 '@babel/template': 7.24.6 - '@babel/traverse': 7.24.6 + '@babel/traverse': 7.25.9 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color metro-transform-worker@0.80.6: dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/generator': 7.24.6 '@babel/parser': 7.24.6 '@babel/types': 7.24.6 @@ -11058,11 +12266,11 @@ snapshots: metro@0.80.6: dependencies: '@babel/code-frame': 7.24.6 - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 '@babel/generator': 7.24.6 '@babel/parser': 7.24.6 '@babel/template': 7.24.6 - '@babel/traverse': 7.24.6 + '@babel/traverse': 7.25.9 '@babel/types': 7.24.6 accepts: 1.3.8 chalk: 4.1.2 @@ -11256,6 +12464,8 @@ snapshots: node-releases@2.0.14: {} + node-releases@2.0.18: {} + node-stream-zip@1.15.0: {} normalize-package-data@2.5.0: @@ -11478,6 +12688,8 @@ snapshots: picocolors@1.0.0: {} + picocolors@1.1.1: {} + picomatch@2.3.1: {} pify@2.3.0: {} @@ -11701,36 +12913,38 @@ snapshots: react-is@18.2.0: {} - react-native-reanimated@3.15.0(@babel/core@7.24.6)(react-native@0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0))(react@18.2.0): - dependencies: - '@babel/core': 7.24.6 - '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-class-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-optional-chaining': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-template-literals': 7.24.6(@babel/core@7.24.6) - '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.24.6) - '@babel/preset-typescript': 7.23.3(@babel/core@7.24.6) + react-native-reanimated@3.15.0(@babel/core@7.26.0)(react-native@0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0))(react@18.2.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.24.6(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.26.0) + '@babel/preset-typescript': 7.23.3(@babel/core@7.26.0) convert-source-map: 2.0.0 invariant: 2.2.4 react: 18.2.0 - react-native: 0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0) + react-native: 0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0) + transitivePeerDependencies: + - supports-color - react-native@0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0): + react-native@0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native-community/cli': 12.3.2 '@react-native-community/cli-platform-android': 12.3.2 '@react-native-community/cli-platform-ios': 12.3.2 '@react-native/assets-registry': 0.73.1 - '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.6(@babel/core@7.24.6)) - '@react-native/community-cli-plugin': 0.73.16(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6)) + '@react-native/codegen': 0.73.3(@babel/preset-env@7.26.0(@babel/core@7.26.0)) + '@react-native/community-cli-plugin': 0.73.16(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0)) '@react-native/gradle-plugin': 0.73.4 '@react-native/js-polyfills': 0.73.1 '@react-native/normalize-colors': 0.73.2 - '@react-native/virtualized-lists': 0.73.4(react-native@0.73.4(@babel/core@7.24.6)(@babel/preset-env@7.24.6(@babel/core@7.24.6))(react@18.2.0)) + '@react-native/virtualized-lists': 0.73.4(react-native@0.73.4(@babel/core@7.26.0)(@babel/preset-env@7.26.0(@babel/core@7.26.0))(react@18.2.0)) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -11861,6 +13075,10 @@ snapshots: dependencies: regenerate: 1.4.2 + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + regenerate@1.4.2: {} regenerator-runtime@0.13.11: {} @@ -11884,6 +13102,21 @@ snapshots: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 + regexpu-core@6.1.1: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.11.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + regjsgen@0.8.0: {} + + regjsparser@0.11.2: + dependencies: + jsesc: 3.0.2 + regjsparser@0.9.1: dependencies: jsesc: 0.5.0 @@ -12626,6 +13859,12 @@ snapshots: escalade: 3.1.1 picocolors: 1.0.0 + update-browserslist-db@1.1.1(browserslist@4.24.2): + dependencies: + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -12677,9 +13916,9 @@ snapshots: - supports-color - terser - vite-plugin-babel@1.2.0(@babel/core@7.24.6)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)): + vite-plugin-babel@1.2.0(@babel/core@7.26.0)(vite@5.2.11(@types/node@20.12.12)(terser@5.27.1)): dependencies: - '@babel/core': 7.24.6 + '@babel/core': 7.26.0 vite: 5.2.11(@types/node@20.12.12)(terser@5.27.1) vite@5.2.11(@types/node@20.12.12)(terser@5.27.1):