diff --git a/.clang-format b/.clang-format index 5bf2f83a..fbe35846 100644 --- a/.clang-format +++ b/.clang-format @@ -1,2 +1,5 @@ BasedOnStyle: LLVM -IndentWidth: 4 \ No newline at end of file +# IndentWidth: 4 +# AlignEscapedNewlines: Left +# IndentPPDirectives: BeforeHash +# IndentPPDirectives: AfterHash diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 0f405ca1..744c24be 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -20,9 +20,9 @@ runs: path: | **/node_modules .yarn/install-state.gz - key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }} + # key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }} + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock', 'example/yarn.lock') }}-${{ hashFiles('package.json', 'example/package.json') }} restore-keys: | - ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} ${{ runner.os }}-yarn- - name: Install dependencies diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt index 091319fe..da632394 100644 --- a/android/CMakeLists.txt +++ b/android/CMakeLists.txt @@ -16,7 +16,7 @@ add_definitions( add_library( ${PACKAGE_NAME} SHARED - ../cpp/bindings.cpp + ../cpp/OPSqlite.cpp ../cpp/utils.cpp ../cpp/OPThreadPool.cpp ../cpp/SmartHostObject.cpp diff --git a/android/build.gradle b/android/build.gradle index d36fd855..e447fcb7 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -245,7 +245,7 @@ dependencies { tasks.register('prepareHeaders', Copy) { from('../cpp') - include "**/*.h" + include "**/*.h", "**/*.hpp" into "${project.buildDir}/headers/op-sqlite/op-engineering_op-sqlite/" includeEmptyDirs = false } diff --git a/android/cpp-adapter.cpp b/android/cpp-adapter.cpp index 8feaf771..5912d7b1 100644 --- a/android/cpp-adapter.cpp +++ b/android/cpp-adapter.cpp @@ -1,4 +1,4 @@ -#include "bindings.h" +#include "OPSqlite.hpp" #include "logs.h" #include #include diff --git a/cpp/DBHostObject.cpp b/cpp/DBHostObject.cpp index 85710eea..a8b0fd2c 100644 --- a/cpp/DBHostObject.cpp +++ b/cpp/DBHostObject.cpp @@ -1,13 +1,13 @@ #include "DBHostObject.h" #include "PreparedStatementHostObject.h" #if OP_SQLITE_USE_LIBSQL -#include "libsql/bridge.h" +#include "libsql/bridge.hpp" #else #include "bridge.h" #endif #include "logs.h" -#include "macros.h" -#include "utils.h" +#include "macros.hpp" +#include "utils.hpp" #include #include @@ -19,125 +19,117 @@ namespace react = facebook::react; #ifdef OP_SQLITE_USE_LIBSQL void DBHostObject::flush_pending_reactive_queries( const std::shared_ptr &resolve) { - invoker->invokeAsync([this, resolve]() { - resolve->asObject(rt).asFunction(rt).call(rt, {}); - }); + invoker->invokeAsync( + [this, resolve]() { resolve->asObject(rt).asFunction(rt).call(rt, {}); }); } #else void DBHostObject::flush_pending_reactive_queries( const std::shared_ptr &resolve) { - for (const auto &query_ptr : pending_reactive_queries) { - auto query = query_ptr.get(); - - std::vector results; - std::shared_ptr> metadata = - std::make_shared>(); - - auto status = opsqlite_execute_prepared_statement(db, query->stmt, - &results, metadata); - - invoker->invokeAsync( - [this, - results = std::make_shared>(results), - callback = query->callback, metadata, status = std::move(status)] { - auto jsiResult = - create_result(rt, status, results.get(), metadata); - callback->asObject(rt).asFunction(rt).call(rt, jsiResult); - }); - } + for (const auto &query_ptr : pending_reactive_queries) { + auto query = query_ptr.get(); - pending_reactive_queries.clear(); + std::vector results; + std::shared_ptr> metadata = + std::make_shared>(); - invoker->invokeAsync([this, resolve]() { - resolve->asObject(rt).asFunction(rt).call(rt, {}); - }); + auto status = opsqlite_execute_prepared_statement(db, query->stmt, &results, + metadata); + + invoker->invokeAsync( + [this, results = std::make_shared>(results), + callback = query->callback, metadata, status = std::move(status)] { + auto jsiResult = create_result(rt, status, results.get(), metadata); + callback->asObject(rt).asFunction(rt).call(rt, jsiResult); + }); + } + + pending_reactive_queries.clear(); + + invoker->invokeAsync( + [this, resolve]() { resolve->asObject(rt).asFunction(rt).call(rt, {}); }); } void DBHostObject::on_commit() { - invoker->invokeAsync( - [this] { commit_hook_callback->asObject(rt).asFunction(rt).call(rt); }); + invoker->invokeAsync( + [this] { commit_hook_callback->asObject(rt).asFunction(rt).call(rt); }); } void DBHostObject::on_rollback() { - invoker->invokeAsync([this] { - rollback_hook_callback->asObject(rt).asFunction(rt).call(rt); - }); + invoker->invokeAsync( + [this] { rollback_hook_callback->asObject(rt).asFunction(rt).call(rt); }); } void DBHostObject::on_update(const std::string &table, const std::string &operation, long long row_id) { - if (update_hook_callback != nullptr) { - invoker->invokeAsync( - [this, callback = update_hook_callback, table, operation, row_id] { - auto res = jsi::Object(rt); - res.setProperty(rt, "table", - jsi::String::createFromUtf8(rt, table)); - res.setProperty(rt, "operation", - jsi::String::createFromUtf8(rt, operation)); - res.setProperty(rt, "rowId", - jsi::Value(static_cast(row_id))); - - callback->asObject(rt).asFunction(rt).call(rt, res); - }); - } + if (update_hook_callback != nullptr) { + invoker->invokeAsync( + [this, callback = update_hook_callback, table, operation, row_id] { + auto res = jsi::Object(rt); + res.setProperty(rt, "table", jsi::String::createFromUtf8(rt, table)); + res.setProperty(rt, "operation", + jsi::String::createFromUtf8(rt, operation)); + res.setProperty(rt, "rowId", jsi::Value(static_cast(row_id))); + + callback->asObject(rt).asFunction(rt).call(rt, res); + }); + } - for (const auto &query_ptr : reactive_queries) { - auto query = query_ptr.get(); + for (const auto &query_ptr : reactive_queries) { + auto query = query_ptr.get(); - // The JS environment might have cleared the query while the update was queued - // For now this seems to prevent a EXC_BAD_ACCESS - if (query == nullptr) { - continue; - } + // The JS environment might have cleared the query while the update was + // queued For now this seems to prevent a EXC_BAD_ACCESS + if (query == nullptr) { + continue; + } - - if (query->discriminators.empty()) { - continue; - } + if (query->discriminators.empty()) { + continue; + } - bool shouldFire = false; - - for (const auto &discriminator : query->discriminators) { - // Tables don't match then skip - if (discriminator.table != table) { - continue; - } - - // If no ids are specified, then we should fire - if (discriminator.ids.empty()) { - shouldFire = true; - break; - } - - // If ids are specified, then we should check if the rowId matches - for (const auto &discrimator_id : discriminator.ids) { - if (row_id == discrimator_id) { - shouldFire = true; - break; - } - } + bool shouldFire = false; + + for (const auto &discriminator : query->discriminators) { + // Tables don't match then skip + if (discriminator.table != table) { + continue; + } + + // If no ids are specified, then we should fire + if (discriminator.ids.empty()) { + shouldFire = true; + break; + } + + // If ids are specified, then we should check if the rowId matches + for (const auto &discrimator_id : discriminator.ids) { + if (row_id == discrimator_id) { + shouldFire = true; + break; } + } + } - if (shouldFire) { - pending_reactive_queries.insert(query_ptr); - } + if (shouldFire) { + pending_reactive_queries.insert(query_ptr); } + } } void DBHostObject::auto_register_update_hook() { - if (update_hook_callback == nullptr && reactive_queries.empty() && - is_update_hook_registered) { - opsqlite_deregister_update_hook(db); - is_update_hook_registered = false; - return; - } - - if (is_update_hook_registered) { - return; - } - - opsqlite_register_update_hook(db, this); - is_update_hook_registered = true; + if (update_hook_callback == nullptr && reactive_queries.empty() && + is_update_hook_registered) { + opsqlite_deregister_update_hook(db); + is_update_hook_registered = false; + return; + } + + if (is_update_hook_registered) { + return; + } + + opsqlite_register_update_hook(db, this); + is_update_hook_registered = true; } #endif @@ -153,10 +145,10 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &url, std::string &auth_token, std::shared_ptr invoker) : db_name(url), invoker(std::move(invoker)), rt(rt) { - _thread_pool = std::make_shared(); - db = opsqlite_libsql_open_remote(url, auth_token); + _thread_pool = std::make_shared(); + db = opsqlite_libsql_open_remote(url, auth_token); - create_jsi_functions(); + create_jsi_functions(); } // Sync connection constructor @@ -169,13 +161,13 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &remote_encryption_key) : db_name(db_name), invoker(std::move(invoker)), rt(rt) { - _thread_pool = std::make_shared(); + _thread_pool = std::make_shared(); - db = opsqlite_libsql_open_sync(db_name, path, url, auth_token, - sync_interval, offline, encryption_key, - remote_encryption_key); + db = + opsqlite_libsql_open_sync(db_name, path, url, auth_token, sync_interval, + offline, encryption_key, remote_encryption_key); - create_jsi_functions(); + create_jsi_functions(); } #endif @@ -188,704 +180,504 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path, std::string &encryption_key) : base_path(base_path), invoker(std::move(invoker)), db_name(db_name), rt(rt) { - _thread_pool = std::make_shared(); + _thread_pool = std::make_shared(); #ifdef OP_SQLITE_USE_SQLCIPHER - db = opsqlite_open(db_name, path, crsqlite_path, sqlite_vec_path, - encryption_key); + db = opsqlite_open(db_name, path, crsqlite_path, sqlite_vec_path, + encryption_key); #elif OP_SQLITE_USE_LIBSQL - db = opsqlite_libsql_open(db_name, path, crsqlite_path); + db = opsqlite_libsql_open(db_name, path, crsqlite_path); #else - db = opsqlite_open(db_name, path, crsqlite_path, sqlite_vec_path); + db = opsqlite_open(db_name, path, crsqlite_path, sqlite_vec_path); #endif - create_jsi_functions(); + create_jsi_functions(); }; void DBHostObject::create_jsi_functions() { - function_map["attach"] = HOSTFN("attach") { - std::string secondary_db_path = std::string(base_path); - - auto obj_params = args[0].asObject(rt); - - std::string secondary_db_name = - obj_params.getProperty(rt, "secondaryDbFileName") - .asString(rt) - .utf8(rt); - std::string alias = - obj_params.getProperty(rt, "alias").asString(rt).utf8(rt); - - if (obj_params.hasProperty(rt, "location")) { - std::string location = - obj_params.getProperty(rt, "location").asString(rt).utf8(rt); - secondary_db_path = secondary_db_path + location; - } + function_map["attach"] = HFN(this) { + std::string secondary_db_path = std::string(base_path); + + auto obj_params = args[0].asObject(rt); + + std::string secondary_db_name = + obj_params.getProperty(rt, "secondaryDbFileName").asString(rt).utf8(rt); + std::string alias = + obj_params.getProperty(rt, "alias").asString(rt).utf8(rt); + + if (obj_params.hasProperty(rt, "location")) { + std::string location = + obj_params.getProperty(rt, "location").asString(rt).utf8(rt); + secondary_db_path = secondary_db_path + location; + } #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_attach(db, secondary_db_path, secondary_db_name, alias); + opsqlite_libsql_attach(db, secondary_db_path, secondary_db_name, alias); #else - opsqlite_attach(db, secondary_db_path, secondary_db_name, alias); + opsqlite_attach(db, secondary_db_path, secondary_db_name, alias); #endif - return {}; - }); - - function_map["detach"] = HOSTFN("detach") { + return {}; + }); - if (!args[0].isString()) { - throw std::runtime_error("[op-sqlite] alias must be a strings"); - } + function_map["detach"] = HFN(this) { + if (!args[0].isString()) { + throw std::runtime_error("[op-sqlite] alias must be a strings"); + } - std::string alias = args[0].asString(rt).utf8(rt); + std::string alias = args[0].asString(rt).utf8(rt); #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_detach(db, alias); + opsqlite_libsql_detach(db, alias); #else - opsqlite_detach(db, alias); + opsqlite_detach(db, alias); #endif - return {}; - }); + return {}; + }); - function_map["close"] = HOSTFN("close") { - invalidated = true; + function_map["close"] = HFN(this) { + invalidated = true; #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_close(db); + opsqlite_libsql_close(db); #else - opsqlite_close(db); + opsqlite_close(db); #endif - return {}; - }); + return {}; + }); - function_map["delete"] = HOSTFN("delete") { - invalidated = true; + function_map["delete"] = HFN(this) { + invalidated = true; - std::string path = std::string(base_path); + std::string path = std::string(base_path); - if (count == 1) { - if (!args[1].isString()) { - throw std::runtime_error( - "[op-sqlite][open] database location must be a string"); - } + if (count == 1) { + if (!args[1].isString()) { + throw std::runtime_error( + "[op-sqlite][open] database location must be a string"); + } - std::string location = args[1].asString(rt).utf8(rt); + std::string location = args[1].asString(rt).utf8(rt); - if (!location.empty()) { - if (location == ":memory:") { - path = ":memory:"; - } else if (location.rfind('/', 0) == 0) { - path = location; - } else { - path = path + "/" + location; - } - } + if (!location.empty()) { + if (location == ":memory:") { + path = ":memory:"; + } else if (location.rfind('/', 0) == 0) { + path = location; + } else { + path = path + "/" + location; } + } + } #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_remove(db, db_name, path); + opsqlite_libsql_remove(db, db_name, path); #else - opsqlite_remove(db, db_name, path); + opsqlite_remove(db, db_name, path); #endif - return {}; - }); - - function_map["executeRaw"] = HOSTFN("executeRaw") { - const std::string query = args[0].asString(rt).utf8(rt); - std::vector params = count == 2 && args[1].isObject() - ? to_variant_vec(rt, args[1]) - : std::vector(); + return {}; + }); - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); - auto reject = std::make_shared(rt, args[1]); - - auto task = [this, &rt, query, params, resolve, reject]() { - try { - std::vector> results; + function_map["executeRaw"] = HFN(this) { + const std::string query = args[0].asString(rt).utf8(rt); + const std::vector params = count == 2 && args[1].isObject() + ? to_variant_vec(rt, args[1]) + : std::vector(); + return promisify( + rt, + [this, query, params]() { + std::vector> results; #ifdef OP_SQLITE_USE_LIBSQL - auto status = opsqlite_libsql_execute_raw( - db, query, ¶ms, &results); + auto status = + opsqlite_libsql_execute_raw(db, query, ¶ms, &results); #else - auto status = - opsqlite_execute_raw(db, query, ¶ms, &results); + auto status = opsqlite_execute_raw(db, query, ¶ms, &results); #endif + return std::make_tuple(status, results); + }, + [](jsi::Runtime &rt, std::any prev) { + auto tuple = std::any_cast< + std::tuple>>>( + prev); + + return create_raw_result(rt, std::get<0>(tuple), &std::get<1>(tuple)); + }); + }); - if (invalidated) { - return; - } - - invoker->invokeAsync([&rt, results = std::move(results), - status = std::move(status), resolve, - reject] { - auto jsiResult = - create_raw_result(rt, status, &results); - resolve->asObject(rt).asFunction(rt).call( - rt, std::move(jsiResult)); - }); - } catch (std::runtime_error &e) { - auto what = e.what(); - invoker->invokeAsync([&rt, what, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } catch (std::exception &exc) { - auto what = exc.what(); - invoker->invokeAsync([&rt, what, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - - _thread_pool->queueWork(task); - - return {}; - })); - - return promise; - }); - - function_map["executeSync"] = HOSTFN("executeSync") { - std::string query = args[0].asString(rt).utf8(rt); - std::vector params; + function_map["executeSync"] = HFN(this) { + std::string query = args[0].asString(rt).utf8(rt); + std::vector params; - if (count == 2) { - params = to_variant_vec(rt, args[1]); - } + if (count == 2) { + params = to_variant_vec(rt, args[1]); + } #ifdef OP_SQLITE_USE_LIBSQL - auto status = opsqlite_libsql_execute(db, query, ¶ms); + auto status = opsqlite_libsql_execute(db, query, ¶ms); #else - auto status = opsqlite_execute(db, query, ¶ms); + auto status = opsqlite_execute(db, query, ¶ms); #endif - return create_js_rows(rt, status); - }); + return create_js_rows(rt, status); + }); - function_map["executeRawSync"] = HOSTFN("executeRawSync") { - const std::string query = args[0].asString(rt).utf8(rt); - std::vector params = count == 2 && args[1].isObject() - ? to_variant_vec(rt, args[1]) - : std::vector(); + function_map["executeRawSync"] = HFN(this) { + const std::string query = args[0].asString(rt).utf8(rt); + std::vector params = count == 2 && args[1].isObject() + ? to_variant_vec(rt, args[1]) + : std::vector(); - std::vector> results; + std::vector> results; #ifdef OP_SQLITE_USE_LIBSQL - auto status = opsqlite_libsql_execute_raw(db, query, ¶ms, &results); + auto status = opsqlite_libsql_execute_raw(db, query, ¶ms, &results); #else - auto status = opsqlite_execute_raw(db, query, ¶ms, &results); + auto status = opsqlite_execute_raw(db, query, ¶ms, &results); #endif - return create_raw_result(rt, status, &results); - }); + return create_raw_result(rt, status, &results); + }); - function_map["execute"] = HOSTFN("execute") { - const std::string query = args[0].asString(rt).utf8(rt); - std::vector params = count == 2 && args[1].isObject() - ? to_variant_vec(rt, args[1]) - : std::vector(); - - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, - HOSTFN("executor") { - auto task = [this, &rt, query, params, - resolve = std::make_shared(rt, args[0]), - reject = std::make_shared(rt, args[1])]() { - try { + function_map["execute"] = HFN(this) { + const std::string query = args[0].asString(rt).utf8(rt); + std::vector params = count == 2 && args[1].isObject() + ? to_variant_vec(rt, args[1]) + : std::vector(); + + return promisify( + rt, + [this, query, params]() { #ifdef OP_SQLITE_USE_LIBSQL - auto status = opsqlite_libsql_execute(db, query, ¶ms); + auto status = opsqlite_libsql_execute(db, query, ¶ms); #else - auto status = opsqlite_execute(db, query, ¶ms); + auto status = opsqlite_execute(db, query, ¶ms); #endif - - if (invalidated) { - return; - } - - invoker->invokeAsync( - [&rt, status = std::move(status), resolve, reject] { - auto jsiResult = create_js_rows(rt, status); - resolve->asObject(rt).asFunction(rt).call( - rt, std::move(jsiResult)); - }); - // On Android RN is broken and does not correctly match - // runtime_error to the generic exception We have to - // explicitly catch it - // https://github.com/facebook/react-native/issues/48027 - } catch (std::runtime_error &e) { - auto what = e.what(); - invoker->invokeAsync( - [&rt, what = std::string(what), reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } catch (std::exception &exc) { - auto what = exc.what(); - invoker->invokeAsync( - [&rt, what = std::string(what), reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - - _thread_pool->queueWork(task); - - return {}; - })); - - return promise; - }); - - function_map["executeWithHostObjects"] = HOSTFN("executeWithHostObjects") { - const std::string query = args[0].asString(rt).utf8(rt); - std::vector params; - - if (count == 2) { - const jsi::Value &originalParams = args[1]; - params = to_variant_vec(rt, originalParams); - } - - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); - auto reject = std::make_shared(rt, args[1]); - - auto task = [&rt, this, query, params, resolve, reject]() { - try { - std::vector results; - std::shared_ptr> metadata = - std::make_shared>(); + return status; + }, + [](jsi::Runtime &rt, std::any prev) { + auto status = std::any_cast(prev); + return create_js_rows(rt, status); + }); + }); + + function_map["executeWithHostObjects"] = HFN(this) { + const std::string query = args[0].asString(rt).utf8(rt); + std::vector params = count == 2 && args[1].isObject() + ? to_variant_vec(rt, args[1]) + : std::vector(); + + return promisify( + rt, + [this, query, params]() { + std::vector results; + std::shared_ptr> metadata = + std::make_shared>(); #ifdef OP_SQLITE_USE_LIBSQL - auto status = opsqlite_libsql_execute_with_host_objects( - db, query, ¶ms, &results, metadata); + auto status = opsqlite_libsql_execute_with_host_objects( + db, query, ¶ms, &results, metadata); #else - auto status = opsqlite_execute_host_objects( - db, query, ¶ms, &results, metadata); + auto status = opsqlite_execute_host_objects(db, query, ¶ms, + &results, metadata); #endif + return std::make_tuple(status, results, metadata); + }, + [](jsi::Runtime &rt, std::any prev) { + auto tuple = std::any_cast< + std::tuple, + std::shared_ptr>>>(prev); + auto results = + std::make_shared>(std::get<1>(tuple)); + return create_result(rt, std::get<0>(tuple), results.get(), + std::get<2>(tuple)); + }); + }); - if (invalidated) { - return; - } - - invoker->invokeAsync( - [&rt, - results = - std::make_shared>( - results), - metadata, status = std::move(status), resolve, - reject] { - auto jsiResult = create_result( - rt, status, results.get(), metadata); - resolve->asObject(rt).asFunction(rt).call( - rt, std::move(jsiResult)); - }); - } catch (std::runtime_error &e) { - auto what = e.what(); - invoker->invokeAsync( - [&rt, what = std::string(what), reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } catch (std::exception &exc) { - auto what = exc.what(); - invoker->invokeAsync([&rt, what, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - - _thread_pool->queueWork(task); - - return {}; - })); - - return promise; - }); - - function_map["executeBatch"] = HOSTFN("executeBatch") { - if (count < 1) { - throw std::runtime_error( - "[op-sqlite][executeAsyncBatch] Incorrect parameter count"); - } + function_map["executeBatch"] = HFN(this) { + if (count < 1) { + throw std::runtime_error( + "[op-sqlite][executeAsyncBatch] Incorrect parameter count"); + } - const jsi::Value ¶ms = args[0]; + const jsi::Value ¶ms = args[0]; - if (params.isNull() || params.isUndefined()) { - throw std::runtime_error( - "[op-sqlite][executeAsyncBatch] - An array of SQL " - "commands or parameters is needed"); - } - - const jsi::Array &batchParams = params.asObject(rt).asArray(rt); + if (params.isNull() || params.isUndefined()) { + throw std::runtime_error( + "[op-sqlite][executeAsyncBatch] - An array of SQL " + "commands or parameters is needed"); + } - std::vector commands; - to_batch_arguments(rt, batchParams, &commands); + const jsi::Array &batchParams = params.asObject(rt).asArray(rt); - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); - auto reject = std::make_shared(rt, args[1]); + std::vector commands; + to_batch_arguments(rt, batchParams, &commands); - auto task = [this, &rt, commands, resolve, reject]() { - try { + return promisify( + rt, + [this, commands]() { #ifdef OP_SQLITE_USE_LIBSQL - auto batchResult = - opsqlite_libsql_execute_batch(db, &commands); + auto batchResult = opsqlite_libsql_execute_batch(db, &commands); #else - auto batchResult = opsqlite_execute_batch(db, &commands); + auto batchResult = opsqlite_execute_batch(db, &commands); #endif - - if (invalidated) { - return; - } - - invoker->invokeAsync([&rt, - batchResult = std::move(batchResult), - resolve] { - auto res = jsi::Object(rt); - res.setProperty(rt, "rowsAffected", - jsi::Value(batchResult.affectedRows)); - resolve->asObject(rt).asFunction(rt).call( - rt, std::move(res)); - }); - } catch (std::runtime_error &e) { - auto what = e.what(); - invoker->invokeAsync([&rt, what, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } catch (std::exception &exc) { - auto what = exc.what(); - invoker->invokeAsync([&rt, what, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - _thread_pool->queueWork(task); - - return {}; - })); - - return promise; - }); + return batchResult; + }, + [](jsi::Runtime &rt, std::any prev) { + auto batchResult = std::any_cast(prev); + auto res = jsi::Object(rt); + res.setProperty(rt, "rowsAffected", + jsi::Value(batchResult.affectedRows)); + return res; + }); + }); #ifdef OP_SQLITE_USE_LIBSQL - function_map["sync"] = HOSTFN("sync") { - opsqlite_libsql_sync(db); - return {}; - }); - - function_map["setReservedBytes"] = HOSTFN("setReservedBytes") { - int32_t reserved_bytes = static_cast(args[0].asNumber()); - opsqlite_libsql_set_reserved_bytes(db, reserved_bytes); - return {}; - }); - - function_map["getReservedBytes"] = HOSTFN("getReservedBytes") { - return jsi::Value(opsqlite_libsql_get_reserved_bytes(db)); - }); + function_map["sync"] = HOSTFN("sync") { + opsqlite_libsql_sync(db); + return {}; + }); + + function_map["setReservedBytes"] = HOSTFN("setReservedBytes") { + int32_t reserved_bytes = static_cast(args[0].asNumber()); + opsqlite_libsql_set_reserved_bytes(db, reserved_bytes); + return {}; + }); + + function_map["getReservedBytes"] = HOSTFN("getReservedBytes") { + return jsi::Value(opsqlite_libsql_get_reserved_bytes(db)); + }); #else - function_map["loadFile"] = HOSTFN("loadFile") { - if (count < 1) { - throw std::runtime_error( - "[op-sqlite][loadFile] Incorrect parameter count"); - return {}; - } - - const std::string sqlFileName = args[0].asString(rt).utf8(rt); - - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); - auto reject = std::make_shared(rt, args[1]); - - auto task = [&rt, this, sqlFileName, resolve, reject]() { - try { - const auto result = import_sql_file(db, sqlFileName); - - invoker->invokeAsync([&rt, result, resolve] { - auto res = jsi::Object(rt); - res.setProperty(rt, "rowsAffected", - jsi::Value(result.affectedRows)); - res.setProperty(rt, "commands", - jsi::Value(result.commands)); - resolve->asObject(rt).asFunction(rt).call( - rt, std::move(res)); - }); - } catch (std::runtime_error &e) { - auto what = e.what(); - invoker->invokeAsync( - [&rt, what = std::string(what), reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } catch (std::exception &exc) { - auto what = exc.what(); - invoker->invokeAsync( - [&rt, what = std::string(what), reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromAscii(rt, what)); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - _thread_pool->queueWork(task); - return {}; - })); + function_map["loadFile"] = HFN(this) { + if (count < 1) { + throw std::runtime_error( + "[op-sqlite][loadFile] Incorrect parameter count"); + } - return promise; - }); + const std::string sqlFileName = args[0].asString(rt).utf8(rt); - function_map["updateHook"] = HOSTFN("updateHook") { - auto callback = std::make_shared(rt, args[0]); + return promisify( + rt, [this, sqlFileName]() { return import_sql_file(db, sqlFileName); }, + [](jsi::Runtime &rt, std::any prev) { + auto result = std::any_cast(prev); + auto res = jsi::Object(rt); + res.setProperty(rt, "rowsAffected", jsi::Value(result.affectedRows)); + res.setProperty(rt, "commands", jsi::Value(result.commands)); + return res; + }); + }); - if (callback->isUndefined() || callback->isNull()) { - update_hook_callback = nullptr; - } else { - update_hook_callback = callback; - } + function_map["updateHook"] = HOSTFN("updateHook") { + auto callback = std::make_shared(rt, args[0]); - auto_register_update_hook(); - return {}; - }); + if (callback->isUndefined() || callback->isNull()) { + update_hook_callback = nullptr; + } else { + update_hook_callback = callback; + } - function_map["commitHook"] = HOSTFN("commitHook") { - if (count < 1) { - throw std::runtime_error("[op-sqlite][commitHook] callback needed"); - } + auto_register_update_hook(); + return {}; + }); - auto callback = std::make_shared(rt, args[0]); - if (callback->isUndefined() || callback->isNull()) { - opsqlite_deregister_commit_hook(db); - return {}; - } - commit_hook_callback = callback; - opsqlite_register_commit_hook(db, this); + function_map["commitHook"] = HOSTFN("commitHook") { + if (count < 1) { + throw std::runtime_error("[op-sqlite][commitHook] callback needed"); + } - return {}; - }); + auto callback = std::make_shared(rt, args[0]); + if (callback->isUndefined() || callback->isNull()) { + opsqlite_deregister_commit_hook(db); + return {}; + } + commit_hook_callback = callback; + opsqlite_register_commit_hook(db, this); - function_map["rollbackHook"] = HOSTFN("rollbackHook") { - if (count < 1) { - throw std::runtime_error( - "[op-sqlite][rollbackHook] callback needed"); - } + return {}; + }); - auto callback = std::make_shared(rt, args[0]); + function_map["rollbackHook"] = HOSTFN("rollbackHook") { + if (count < 1) { + throw std::runtime_error("[op-sqlite][rollbackHook] callback needed"); + } - if (callback->isUndefined() || callback->isNull()) { - opsqlite_deregister_rollback_hook(db); - return {}; - } - rollback_hook_callback = callback; + auto callback = std::make_shared(rt, args[0]); - opsqlite_register_rollback_hook(db, this); - return {}; - }); + if (callback->isUndefined() || callback->isNull()) { + opsqlite_deregister_rollback_hook(db); + return {}; + } + rollback_hook_callback = callback; - function_map["loadExtension"] = HOSTFN("loadExtension") { - auto path = args[0].asString(rt).utf8(rt); - std::string entry_point; - if (count > 1 && args[1].isString()) { - entry_point = args[1].asString(rt).utf8(rt); - } + opsqlite_register_rollback_hook(db, this); + return {}; + }); - opsqlite_load_extension(db, path, entry_point); - return {}; - }); + function_map["loadExtension"] = HOSTFN("loadExtension") { + auto path = args[0].asString(rt).utf8(rt); + std::string entry_point; + if (count > 1 && args[1].isString()) { + entry_point = args[1].asString(rt).utf8(rt); + } - function_map["reactiveExecute"] = HOSTFN("reactiveExecute") { - auto query = args[0].asObject(rt); - - const std::string query_str = - query.getProperty(rt, "query").asString(rt).utf8(rt); - auto js_args = query.getProperty(rt, "arguments"); - auto js_discriminators = - query.getProperty(rt, "fireOn").asObject(rt).asArray(rt); - auto variant_args = to_variant_vec(rt, js_args); - - sqlite3_stmt *stmt = opsqlite_prepare_statement(db, query_str); - opsqlite_bind_statement(stmt, &variant_args); - - auto callback = - std::make_shared(query.getProperty(rt, "callback")); - - std::vector discriminators; - - for (size_t i = 0; i < js_discriminators.length(rt); i++) { - auto js_discriminator = - js_discriminators.getValueAtIndex(rt, i).asObject(rt); - std::string table = - js_discriminator.getProperty(rt, "table").asString(rt).utf8(rt); - std::vector ids; - if (js_discriminator.hasProperty(rt, "ids")) { - auto js_ids = js_discriminator.getProperty(rt, "ids") - .asObject(rt) - .asArray(rt); - for (size_t j = 0; j < js_ids.length(rt); j++) { - ids.push_back(static_cast( - js_ids.getValueAtIndex(rt, j).asNumber())); - } - } - discriminators.push_back({table, ids}); + opsqlite_load_extension(db, path, entry_point); + return {}; + }); + + function_map["reactiveExecute"] = HOSTFN("reactiveExecute") { + auto query = args[0].asObject(rt); + + const std::string query_str = + query.getProperty(rt, "query").asString(rt).utf8(rt); + auto js_args = query.getProperty(rt, "arguments"); + auto js_discriminators = + query.getProperty(rt, "fireOn").asObject(rt).asArray(rt); + auto variant_args = to_variant_vec(rt, js_args); + + sqlite3_stmt *stmt = opsqlite_prepare_statement(db, query_str); + opsqlite_bind_statement(stmt, &variant_args); + + auto callback = + std::make_shared(query.getProperty(rt, "callback")); + + std::vector discriminators; + + for (size_t i = 0; i < js_discriminators.length(rt); i++) { + auto js_discriminator = + js_discriminators.getValueAtIndex(rt, i).asObject(rt); + std::string table = + js_discriminator.getProperty(rt, "table").asString(rt).utf8(rt); + std::vector ids; + if (js_discriminator.hasProperty(rt, "ids")) { + auto js_ids = + js_discriminator.getProperty(rt, "ids").asObject(rt).asArray(rt); + for (size_t j = 0; j < js_ids.length(rt); j++) { + ids.push_back( + static_cast(js_ids.getValueAtIndex(rt, j).asNumber())); } + } + discriminators.push_back({table, ids}); + } - std::shared_ptr reactiveQuery = - std::make_shared( - ReactiveQuery{stmt, discriminators, callback}); - - reactive_queries.push_back(reactiveQuery); + std::shared_ptr reactiveQuery = + std::make_shared( + ReactiveQuery{stmt, discriminators, callback}); - auto_register_update_hook(); + reactive_queries.push_back(reactiveQuery); - auto unsubscribe = HOSTFN("unsubscribe") { - auto it = std::find(reactive_queries.begin(), - reactive_queries.end(), reactiveQuery); - if (it != reactive_queries.end()) { - reactive_queries.erase(it); - } - auto_register_update_hook(); - return {}; - }); + auto_register_update_hook(); - return unsubscribe; + auto unsubscribe = HOSTFN("unsubscribe") { + auto it = std::find(reactive_queries.begin(), reactive_queries.end(), + reactiveQuery); + if (it != reactive_queries.end()) { + reactive_queries.erase(it); + } + auto_register_update_hook(); + return {}; }); + + return unsubscribe; + }); #endif - function_map["prepareStatement"] = HOSTFN("prepareStatement") { - auto query = args[0].asString(rt).utf8(rt); + function_map["prepareStatement"] = HOSTFN("prepareStatement") { + auto query = args[0].asString(rt).utf8(rt); #ifdef OP_SQLITE_USE_LIBSQL - libsql_stmt_t statement = opsqlite_libsql_prepare_statement(db, query); + libsql_stmt_t statement = opsqlite_libsql_prepare_statement(db, query); #else - sqlite3_stmt *statement = opsqlite_prepare_statement(db, query); + sqlite3_stmt *statement = opsqlite_prepare_statement(db, query); #endif - auto preparedStatementHostObject = - std::make_shared( - db, db_name, statement, invoker, _thread_pool); - - return jsi::Object::createFromHostObject(rt, - preparedStatementHostObject); - }); - - function_map["getDbPath"] = HOSTFN("getDbPath") { - std::string path = std::string(base_path); - - if (count == 1) { - if (!args[0].isString()) { - throw std::runtime_error( - "[op-sqlite][open] database location must be a string"); - } - - std::string last_path = args[0].asString(rt).utf8(rt); - - if (last_path == ":memory:") { - path = ":memory:"; - } else if (last_path.rfind('/', 0) == 0) { - path = last_path; - } else { - path = path + "/" + last_path; - } - } + auto preparedStatementHostObject = + std::make_shared(db, statement); + + return jsi::Object::createFromHostObject(rt, preparedStatementHostObject); + }); + + function_map["getDbPath"] = HOSTFN("getDbPath") { + std::string path = std::string(base_path); + + if (count == 1) { + if (!args[0].isString()) { + throw std::runtime_error( + "[op-sqlite][open] database location must be a string"); + } + + std::string last_path = args[0].asString(rt).utf8(rt); + + if (last_path == ":memory:") { + path = ":memory:"; + } else if (last_path.rfind('/', 0) == 0) { + path = last_path; + } else { + path = path + "/" + last_path; + } + } - auto result = opsqlite_get_db_path(db_name, path); - return jsi::String::createFromUtf8(rt, result); - }); + auto result = opsqlite_get_db_path(db_name, path); + return jsi::String::createFromUtf8(rt, result); + }); - function_map["flushPendingReactiveQueries"] = - HOSTFN("flushPendingReactiveQueries") { - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); + function_map["flushPendingReactiveQueries"] = + HOSTFN("flushPendingReactiveQueries") { + auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); + auto resolve = std::make_shared(rt, args[0]); - auto task = [&rt, this, resolve]() { - flush_pending_reactive_queries(resolve); - }; + auto task = [&rt, this, resolve]() { + flush_pending_reactive_queries(resolve); + }; - _thread_pool->queueWork(task); + _thread_pool->queueWork(task); - return {}; + return {}; })); return promise; - }); + }); } std::vector DBHostObject::getPropertyNames(jsi::Runtime &_rt) { - std::vector keys; - keys.reserve(function_map.size()); - for (const auto &pair : function_map) { - keys.emplace_back(jsi::PropNameID::forUtf8(_rt, pair.first)); - } - return keys; + std::vector keys; + keys.reserve(function_map.size()); + for (const auto &pair : function_map) { + keys.emplace_back(jsi::PropNameID::forUtf8(_rt, pair.first)); + } + return keys; } jsi::Value DBHostObject::get(jsi::Runtime &_rt, const jsi::PropNameID &propNameID) { - auto name = propNameID.utf8(rt); - if (function_map.count(name) != 1) { - return HOST_STATIC_FN(name.c_str()) { - throw std::runtime_error( - "[op-sqlite] Function " + name + - " not implemented for current backend (libsql or sqlcipher)"); - }); - } + auto name = propNameID.utf8(rt); + if (function_map.count(name) != 1) { + return HOST_STATIC_FN(name.c_str()) { + throw std::runtime_error( + "[op-sqlite] Function " + name + + " not implemented for current backend (libsql or sqlcipher)"); + }); + } - return {rt, function_map[name]}; + return {rt, function_map[name]}; } void DBHostObject::set(jsi::Runtime &_rt, const jsi::PropNameID &name, const jsi::Value &value) { - throw std::runtime_error("You cannot write to this object!"); + throw std::runtime_error("You cannot write to this object!"); } void DBHostObject::invalidate() { - if (invalidated) { - return; - } + if (invalidated) { + return; + } - invalidated = true; - _thread_pool->restartPool(); + invalidated = true; + _thread_pool->restartPool(); #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_close(db); + opsqlite_libsql_close(db); #else - if (db != nullptr) { - opsqlite_close(db); - db = nullptr; - } + if (db != nullptr) { + opsqlite_close(db); + db = nullptr; + } #endif } diff --git a/cpp/DBHostObject.h b/cpp/DBHostObject.h index cc174b7c..0e4da2bf 100644 --- a/cpp/DBHostObject.h +++ b/cpp/DBHostObject.h @@ -1,12 +1,12 @@ #pragma once #include "OPThreadPool.h" -#include "types.h" +#include "types.hpp" #include #include #include #ifdef OP_SQLITE_USE_LIBSQL -#include "libsql/bridge.h" +#include "libsql/bridge.hpp" #else #ifdef __ANDROID__ #include "sqlite3.h" @@ -23,82 +23,80 @@ namespace jsi = facebook::jsi; namespace react = facebook::react; struct PendingReactiveInvocation { - std::string db_name; - std::string table; - std::string rowid; + std::string db_name; + std::string table; + std::string rowid; }; struct TableRowDiscriminator { - std::string table; - std::vector ids; + std::string table; + std::vector ids; }; struct ReactiveQuery { #ifndef OP_SQLITE_USE_LIBSQL - sqlite3_stmt *stmt; + sqlite3_stmt *stmt; #endif - std::vector discriminators; - std::shared_ptr callback; + std::vector discriminators; + std::shared_ptr callback; }; class JSI_EXPORT DBHostObject : public jsi::HostObject { - public: - // Normal constructor shared between all backends - DBHostObject(jsi::Runtime &rt, std::string &base_path, - std::shared_ptr invoker, - std::string &db_name, std::string &path, - std::string &crsqlite_path, std::string &sqlite_vec_path, - std::string &encryption_key); +public: + // Normal constructor shared between all backends + DBHostObject(jsi::Runtime &rt, std::string &base_path, + std::shared_ptr invoker, + std::string &db_name, std::string &path, + std::string &crsqlite_path, std::string &sqlite_vec_path, + std::string &encryption_key); #ifdef OP_SQLITE_USE_LIBSQL - // Constructor for remoteOpen, purely for remote databases - DBHostObject(jsi::Runtime &rt, std::string &url, std::string &auth_token, - std::shared_ptr invoker); + // Constructor for remoteOpen, purely for remote databases + DBHostObject(jsi::Runtime &rt, std::string &url, std::string &auth_token, + std::shared_ptr invoker); - // Constructor for a local database with remote sync - DBHostObject(jsi::Runtime &rt, std::shared_ptr invoker, - std::string &db_name, std::string &path, std::string &url, - std::string &auth_token, int sync_interval, bool offline, - std::string &encryption_key, - std::string &remote_encryption_key); + // Constructor for a local database with remote sync + DBHostObject(jsi::Runtime &rt, std::shared_ptr invoker, + std::string &db_name, std::string &path, std::string &url, + std::string &auth_token, int sync_interval, bool offline, + std::string &encryption_key, std::string &remote_encryption_key); #endif - std::vector getPropertyNames(jsi::Runtime &rt) override; - jsi::Value get(jsi::Runtime &rt, - const jsi::PropNameID &propNameID) override; - void set(jsi::Runtime &rt, const jsi::PropNameID &name, - const jsi::Value &value) override; - void on_update(const std::string &table, const std::string &operation, - long long row_id); - void on_commit(); - void on_rollback(); - void invalidate(); - ~DBHostObject() override; + std::vector getPropertyNames(jsi::Runtime &rt) override; + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propNameID) override; + void set(jsi::Runtime &rt, const jsi::PropNameID &name, + const jsi::Value &value) override; + void on_update(const std::string &table, const std::string &operation, + long long row_id); + void on_commit(); + void on_rollback(); + void invalidate(); + ~DBHostObject() override; - private: - std::set> pending_reactive_queries; - void auto_register_update_hook(); - void create_jsi_functions(); - void - flush_pending_reactive_queries(const std::shared_ptr &resolve); +private: + std::set> pending_reactive_queries; + void auto_register_update_hook(); + void create_jsi_functions(); + void + flush_pending_reactive_queries(const std::shared_ptr &resolve); - std::unordered_map function_map; - std::string base_path; - std::shared_ptr invoker; - std::shared_ptr _thread_pool; - std::string db_name; - std::shared_ptr update_hook_callback; - std::shared_ptr commit_hook_callback; - std::shared_ptr rollback_hook_callback; - jsi::Runtime &rt; - std::vector> reactive_queries; - std::vector pending_reactive_invocations; - bool is_update_hook_registered = false; - bool invalidated = false; + std::unordered_map function_map; + std::string base_path; + std::shared_ptr invoker; + std::shared_ptr _thread_pool; + std::string db_name; + std::shared_ptr update_hook_callback; + std::shared_ptr commit_hook_callback; + std::shared_ptr rollback_hook_callback; + jsi::Runtime &rt; + std::vector> reactive_queries; + std::vector pending_reactive_invocations; + bool is_update_hook_registered = false; + bool invalidated = false; #ifdef OP_SQLITE_USE_LIBSQL - DB db; + DB db; #else - sqlite3 *db; + sqlite3 *db; #endif }; diff --git a/cpp/DumbHostObject.cpp b/cpp/DumbHostObject.cpp index 0f67a917..9b799f26 100644 --- a/cpp/DumbHostObject.cpp +++ b/cpp/DumbHostObject.cpp @@ -1,6 +1,6 @@ #include "DumbHostObject.h" #include "SmartHostObject.h" -#include "utils.h" +#include "utils.hpp" #include namespace opsqlite { diff --git a/cpp/DumbHostObject.h b/cpp/DumbHostObject.h index 5c91d4b3..5781bfa8 100644 --- a/cpp/DumbHostObject.h +++ b/cpp/DumbHostObject.h @@ -1,7 +1,7 @@ #pragma once #include "SmartHostObject.h" -#include "types.h" +#include "types.hpp" #include #include #include @@ -12,25 +12,24 @@ namespace opsqlite { namespace jsi = facebook::jsi; class JSI_EXPORT DumbHostObject : public jsi::HostObject { - public: - DumbHostObject() = default; +public: + DumbHostObject() = default; - explicit DumbHostObject( - std::shared_ptr> metadata); + explicit DumbHostObject( + std::shared_ptr> metadata); - std::vector getPropertyNames(jsi::Runtime &rt) override; + std::vector getPropertyNames(jsi::Runtime &rt) override; - jsi::Value get(jsi::Runtime &rt, - const jsi::PropNameID &propNameID) override; + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propNameID) override; - void set(jsi::Runtime &rt, const jsi::PropNameID &name, - const jsi::Value &value) override; + void set(jsi::Runtime &rt, const jsi::PropNameID &name, + const jsi::Value &value) override; - std::vector values; + std::vector values; - std::shared_ptr> metadata; + std::shared_ptr> metadata; - std::vector> ownValues; + std::vector> ownValues; }; } // namespace opsqlite diff --git a/cpp/OPSqlite.cpp b/cpp/OPSqlite.cpp new file mode 100644 index 00000000..33a86978 --- /dev/null +++ b/cpp/OPSqlite.cpp @@ -0,0 +1,207 @@ +#include "OPSqlite.hpp" +#include "DBHostObject.h" +#include "DumbHostObject.h" +#include "OPThreadPool.h" +#ifdef OP_SQLITE_USE_LIBSQL +#include "libsql/bridge.hpp" +#else +#include "bridge.h" +#endif +#include "logs.h" +#include "macros.hpp" +#include "utils.hpp" +#include +#include +#include +#include + +namespace opsqlite { + +namespace jsi = facebook::jsi; +namespace react = facebook::react; + +std::string _base_path; +std::string _crsqlite_path; +std::string _sqlite_vec_path; +std::vector> dbs; +bool invalidated = false; +std::shared_ptr invoker; + +// React native will try to clean the module on JS context invalidation +// (CodePush/Hot Reload) The clearState function is called +void invalidate() { + // Global flag used by the threads to stop work + invalidated = true; + + for (const auto &db : dbs) { + db->invalidate(); + } + + // Clear our existing vector of shared pointers so they can be garbage + // collected + dbs.clear(); +} + +void install(jsi::Runtime &rt, + const std::shared_ptr &invoker, + const char *base_path, const char *crsqlite_path, + const char *sqlite_vec_path) { + + _base_path = std::string(base_path); + _crsqlite_path = std::string(crsqlite_path); + _sqlite_vec_path = std::string(sqlite_vec_path); + opsqlite::invoker = invoker; + + auto open = HFN0 { + jsi::Object options = args[0].asObject(rt); + std::string name = options.getProperty(rt, "name").asString(rt).utf8(rt); + std::string path = std::string(_base_path); + std::string location; + std::string encryption_key; + + if (options.hasProperty(rt, "location")) { + location = options.getProperty(rt, "location").asString(rt).utf8(rt); + } + + if (options.hasProperty(rt, "encryptionKey")) { + encryption_key = + options.getProperty(rt, "encryptionKey").asString(rt).utf8(rt); + } + +#ifdef OP_SQLITE_USE_SQLCIPHER + if (encryption_key.empty()) { + log_to_console(rt, "Encryption key is missing for SQLCipher"); + } +#endif + + if (!location.empty()) { + if (location == ":memory:") { + path = ":memory:"; + } else if (location.rfind('/', 0) == 0) { + path = location; + } else { + path = path + "/" + location; + } + } + + std::shared_ptr db = std::make_shared( + rt, path, opsqlite::invoker, name, path, _crsqlite_path, + _sqlite_vec_path, encryption_key); + dbs.emplace_back(db); + return jsi::Object::createFromHostObject(rt, db); + }); + + auto is_sqlcipher = HOST_STATIC_FN("isSQLCipher") { +#ifdef OP_SQLITE_USE_SQLCIPHER + return true; +#else + return false; +#endif + }); + + auto is_ios_embedded = HOST_STATIC_FN("isIOSEmbedded") { +#ifdef OP_SQLITE_USE_PHONE_VERSION + return true; +#else + return false; +#endif + }); + + auto is_libsql = HOST_STATIC_FN("isLibsql") { +#ifdef OP_SQLITE_USE_LIBSQL + return true; +#else + return false; +#endif + }); + +#ifdef OP_SQLITE_USE_LIBSQL + auto open_remote = HOST_STATIC_FN("openRemote") { + jsi::Object options = args[0].asObject(rt); + + std::string url = options.getProperty(rt, "url").asString(rt).utf8(rt); + + std::string auth_token = + options.getProperty(rt, "authToken").asString(rt).utf8(rt); + + std::shared_ptr db = + std::make_shared(rt, url, auth_token, invoker); + + return jsi::Object::createFromHostObject(rt, db); + }); + + auto open_sync = HOST_STATIC_FN("openSync") { + jsi::Object options = args[0].asObject(rt); + std::string name = options.getProperty(rt, "name").asString(rt).utf8(rt); + std::string path = std::string(_base_path); + std::string url = options.getProperty(rt, "url").asString(rt).utf8(rt); + std::string auth_token = + options.getProperty(rt, "authToken").asString(rt).utf8(rt); + + int sync_interval = 0; + if (options.hasProperty(rt, "libsqlSyncInterval")) { + sync_interval = static_cast( + options.getProperty(rt, "libsqlSyncInterval").asNumber()); + } + + bool offline = false; + if (options.hasProperty(rt, "libsqlOffline")) { + offline = options.getProperty(rt, "libsqlOffline").asBool(); + } + + std::string encryption_key; + if (options.hasProperty(rt, "encryptionKey")) { + encryption_key = + options.getProperty(rt, "encryptionKey").asString(rt).utf8(rt); + } + + std::string remote_encryption_key; + if (options.hasProperty(rt, "remoteEncryptionKey")) { + remote_encryption_key = + options.getProperty(rt, "remoteEncryptionKey").asString(rt).utf8(rt); + } + + std::string location; + if (options.hasProperty(rt, "location")) { + location = options.getProperty(rt, "location").asString(rt).utf8(rt); + } + if (!location.empty()) { + if (location == ":memory:") { + path = ":memory:"; + } else if (location.rfind("/", 0) == 0) { + path = location; + } else { + path = path + "/" + location; + } + } + + std::shared_ptr db = std::make_shared( + rt, invoker, name, path, url, auth_token, sync_interval, offline, + encryption_key, remote_encryption_key); + return jsi::Object::createFromHostObject(rt, db); + }); +#endif + + jsi::Object module = jsi::Object(rt); + module.setProperty(rt, "open", std::move(open)); + module.setProperty(rt, "isSQLCipher", std::move(is_sqlcipher)); + module.setProperty(rt, "isLibsql", std::move(is_libsql)); + module.setProperty(rt, "isIOSEmbedded", std::move(is_ios_embedded)); +#ifdef OP_SQLITE_USE_LIBSQL + module.setProperty(rt, "openRemote", std::move(open_remote)); + module.setProperty(rt, "openSync", std::move(open_sync)); +#endif + + rt.global().setProperty(rt, "__OPSQLiteProxy", std::move(module)); +} + +void expoUpdatesWorkaround(const char *base_path) { +#ifdef OP_SQLITE_USE_LIBSQL + std::string path = std::string(base_path); + // Open a DB before anything else so that expo-updates does not mess up the + // configuration + opsqlite_libsql_open("__dummy", path, ""); +#endif +} + +} // namespace opsqlite diff --git a/cpp/bindings.h b/cpp/OPSqlite.hpp similarity index 100% rename from cpp/bindings.h rename to cpp/OPSqlite.hpp diff --git a/cpp/OPThreadPool.cpp b/cpp/OPThreadPool.cpp index 323f9054..93a439bc 100644 --- a/cpp/OPThreadPool.cpp +++ b/cpp/OPThreadPool.cpp @@ -3,118 +3,118 @@ namespace opsqlite { ThreadPool::ThreadPool() : done(false) { - // This returns the number of threads supported by the system. If the - // function can't figure out this information, it returns 0. 0 is not good, - // so we create at least 1 - // auto numberOfThreads = std::thread::hardware_concurrency(); - // if (numberOfThreads == 0) { - // numberOfThreads = 1; - // } - - auto numberOfThreads = 1; - for (unsigned i = 0; i < numberOfThreads; ++i) { - // The threads will execute the private member `doWork`. Note that we - // need to pass a reference to the function (namespaced with the class - // name) as the first argument, and the current object as second - // argument - threads.emplace_back(&ThreadPool::doWork, this); - } + // This returns the number of threads supported by the system. If the + // function can't figure out this information, it returns 0. 0 is not good, + // so we create at least 1 + // auto numberOfThreads = std::thread::hardware_concurrency(); + // if (numberOfThreads == 0) { + // numberOfThreads = 1; + // } + + auto numberOfThreads = 1; + for (unsigned i = 0; i < numberOfThreads; ++i) { + // The threads will execute the private member `doWork`. Note that we + // need to pass a reference to the function (namespaced with the class + // name) as the first argument, and the current object as second + // argument + threads.emplace_back(&ThreadPool::doWork, this); + } } // The destructor joins all the threads so the program can exit gracefully. // This will be executed if there is any exception (e.g. creating the threads) ThreadPool::~ThreadPool() { - // So threads know it's time to shut down - done = true; + // So threads know it's time to shut down + done = true; - // Wake up all the threads, so they can finish and be joined - workQueueConditionVariable.notify_all(); + // Wake up all the threads, so they can finish and be joined + workQueueConditionVariable.notify_all(); - for (auto &thread : threads) { - if (thread.joinable()) { - thread.join(); - } + for (auto &thread : threads) { + if (thread.joinable()) { + thread.join(); } + } - threads.clear(); + threads.clear(); } // This function will be called by the server every time there is a request // that needs to be processed by the thread pool void ThreadPool::queueWork(const std::function &task) { - // Grab the mutex - std::lock_guard g(workQueueMutex); + // Grab the mutex + std::lock_guard g(workQueueMutex); - // Push the request to the queue - workQueue.push(task); + // Push the request to the queue + workQueue.push(task); - // Notify one thread that there are requests to process - workQueueConditionVariable.notify_one(); + // Notify one thread that there are requests to process + workQueueConditionVariable.notify_one(); } // Function used by the threads to grab work from the queue void ThreadPool::doWork() { - // Loop while the queue is not destructing - while (!done) { - std::function task; - - // Create a scope, so we don't lock the queue for longer than necessary - { - std::unique_lock g(workQueueMutex); - workQueueConditionVariable.wait(g, [&] { - // Only wake up if there are elements in the queue or the - // program is shutting down - return !workQueue.empty() || done; - }); - - // If we are shutting down exit without trying to process more work - if (done) { - break; - } - - task = workQueue.front(); - workQueue.pop(); - } - ++busy; - task(); - --busy; + // Loop while the queue is not destructing + while (!done) { + std::function task; + + // Create a scope, so we don't lock the queue for longer than necessary + { + std::unique_lock g(workQueueMutex); + workQueueConditionVariable.wait(g, [&] { + // Only wake up if there are elements in the queue or the + // program is shutting down + return !workQueue.empty() || done; + }); + + // If we are shutting down exit without trying to process more work + if (done) { + break; + } + + task = workQueue.front(); + workQueue.pop(); } + ++busy; + task(); + --busy; + } } void ThreadPool::waitFinished() { - std::unique_lock g(workQueueMutex); - workQueueConditionVariable.wait( - g, [&] { return workQueue.empty() && (busy == 0); }); + std::unique_lock g(workQueueMutex); + workQueueConditionVariable.wait( + g, [&] { return workQueue.empty() && (busy == 0); }); } void ThreadPool::restartPool() { - // So threads know it's time to shut down - done = true; + // So threads know it's time to shut down + done = true; - // Wake up all the threads, so they can finish and be joined - workQueueConditionVariable.notify_all(); + // Wake up all the threads, so they can finish and be joined + workQueueConditionVariable.notify_all(); - for (auto &thread : threads) { - if (thread.joinable()) { - thread.join(); - } + for (auto &thread : threads) { + if (thread.joinable()) { + thread.join(); } + } - threads.clear(); + threads.clear(); - auto numberOfThreads = std::thread::hardware_concurrency(); - if (numberOfThreads == 0) { - numberOfThreads = 1; - } + auto numberOfThreads = std::thread::hardware_concurrency(); + if (numberOfThreads == 0) { + numberOfThreads = 1; + } - for (unsigned i = 0; i < numberOfThreads; ++i) { - // The threads will execute the private member `doWork`. Note that we - // need to pass a reference to the function (namespaced with the class - // name) as the first argument, and the current object as second - // argument - threads.emplace_back(&ThreadPool::doWork, this); - } + for (unsigned i = 0; i < numberOfThreads; ++i) { + // The threads will execute the private member `doWork`. Note that we + // need to pass a reference to the function (namespaced with the class + // name) as the first argument, and the current object as second + // argument + threads.emplace_back(&ThreadPool::doWork, this); + } - done = false; + done = false; } } // namespace opsqlite diff --git a/cpp/OPThreadPool.h b/cpp/OPThreadPool.h index 846f3f34..9405681d 100644 --- a/cpp/OPThreadPool.h +++ b/cpp/OPThreadPool.h @@ -11,34 +11,34 @@ namespace opsqlite { class ThreadPool { - public: - ThreadPool(); - ~ThreadPool(); - void queueWork(const std::function &task); - void waitFinished(); - void restartPool(); - - private: - unsigned int busy{}; - // This condition variable is used for the threads to wait until there is - // work to do - std::condition_variable_any workQueueConditionVariable; - - // We store the threads in a vector, so we can later stop them gracefully - std::vector threads; - - // Mutex to protect workQueue - std::mutex workQueueMutex; - - // Queue of requests waiting to be processed - std::queue> workQueue; - - // This will be set to true when the thread pool is shutting down. This - // tells the threads to stop looping and finish - bool done; - - // Function used by the threads to grab work from the queue - void doWork(); +public: + ThreadPool(); + ~ThreadPool(); + void queueWork(const std::function &task); + void waitFinished(); + void restartPool(); + +private: + unsigned int busy{}; + // This condition variable is used for the threads to wait until there is + // work to do + std::condition_variable_any workQueueConditionVariable; + + // We store the threads in a vector, so we can later stop them gracefully + std::vector threads; + + // Mutex to protect workQueue + std::mutex workQueueMutex; + + // Queue of requests waiting to be processed + std::queue> workQueue; + + // This will be set to true when the thread pool is shutting down. This + // tells the threads to stop looping and finish + bool done; + + // Function used by the threads to grab work from the queue + void doWork(); }; } // namespace opsqlite \ No newline at end of file diff --git a/cpp/PreparedStatementHostObject.cpp b/cpp/PreparedStatementHostObject.cpp index e797f167..78611caa 100644 --- a/cpp/PreparedStatementHostObject.cpp +++ b/cpp/PreparedStatementHostObject.cpp @@ -1,11 +1,11 @@ #include "PreparedStatementHostObject.h" #if OP_SQLITE_USE_LIBSQL -#include "libsql/bridge.h" +#include "libsql/bridge.hpp" #else #include "bridge.h" #endif -#include "macros.h" -#include "utils.h" +#include "macros.hpp" +#include "utils.hpp" namespace opsqlite { @@ -13,161 +13,112 @@ namespace jsi = facebook::jsi; std::vector PreparedStatementHostObject::getPropertyNames(jsi::Runtime &rt) { - std::vector keys; + std::vector keys; - return keys; + return keys; } jsi::Value PreparedStatementHostObject::get(jsi::Runtime &rt, const jsi::PropNameID &propNameID) { - auto name = propNameID.utf8(rt); + auto name = propNameID.utf8(rt); - if (name == "bind") { - return HOSTFN("bind") { - if (_stmt == nullptr) { - throw std::runtime_error("statement has been freed"); - } + if (name == "bind") { + return HFN(this) { + if (_stmt == nullptr) { + throw std::runtime_error("statement has been freed"); + } - const jsi::Value &js_params = args[0]; - std::vector params = to_variant_vec(rt, js_params); + const jsi::Value &js_params = args[0]; + std::vector params = to_variant_vec(rt, js_params); - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor( - rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); - auto reject = std::make_shared(rt, args[1]); - auto task = [&rt, this, resolve, reject, - invoker = this->_js_call_invoker, params]() { - try { + return promisify( + rt, + [this, params]() { #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_bind_statement(_stmt, ¶ms); + opsqlite_libsql_bind_statement(_stmt, ¶ms); #else - opsqlite_bind_statement(_stmt, ¶ms); + opsqlite_bind_statement(_stmt, ¶ms); #endif - invoker->invokeAsync([&rt, resolve] { - resolve->asObject(rt).asFunction(rt).call(rt, {}); - }); - } catch (const std::runtime_error &e) { - invoker->invokeAsync([&rt, e, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromUtf8(rt, e.what())); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } catch (const std::exception &e) { - invoker->invokeAsync([&rt, e, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, jsi::String::createFromUtf8(rt, e.what())); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - - _thread_pool->queueWork(task); - - return {}; - })); - return promise; - }); - } - - if (name == "bindSync") { - return HOSTFN("bindSync") { - if (_stmt == nullptr) { - throw std::runtime_error("statement has been freed"); - } - - const jsi::Value &js_params = args[0]; - std::vector params = to_variant_vec(rt, js_params); - try { + return nullptr; + }, + [](jsi::Runtime &rt, std::any result) { + return jsi::Value::undefined; + }); + }); + } + + if (name == "bindSync") { + return HOSTFN("bindSync") { + if (_stmt == nullptr) { + throw std::runtime_error("statement has been freed"); + } + + const jsi::Value &js_params = args[0]; + std::vector params = to_variant_vec(rt, js_params); + try { #ifdef OP_SQLITE_USE_LIBSQL - opsqlite_libsql_bind_statement(_stmt, ¶ms); + opsqlite_libsql_bind_statement(_stmt, ¶ms); #else - opsqlite_bind_statement(_stmt, ¶ms); + opsqlite_bind_statement(_stmt, ¶ms); #endif - } catch (const std::runtime_error &e) { - throw std::runtime_error(e.what()); - } catch (const std::exception &e) { - throw std::runtime_error(e.what()); - } - return {}; - }); - } - - if (name == "execute") { - return HOSTFN("execute") { - if (_stmt == nullptr) { - throw std::runtime_error("statement has been freed"); - } - - auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { - auto resolve = std::make_shared(rt, args[0]); - auto reject = std::make_shared(rt, args[1]); - - auto task = [&rt, this, resolve, reject, - invoker = this->_js_call_invoker]() { - std::vector results; - std::shared_ptr> metadata = - std::make_shared>(); - try { + } catch (const std::runtime_error &e) { + throw std::runtime_error(e.what()); + } catch (const std::exception &e) { + throw std::runtime_error(e.what()); + } + return {}; + }); + } + + if (name == "execute") { + return HOSTFN("execute") { + if (_stmt == nullptr) { + throw std::runtime_error("statement has been freed"); + } + + return promisify( + rt, + [this]() { + std::vector results; + auto metadata = std::make_shared>(); #ifdef OP_SQLITE_USE_LIBSQL - auto status = - opsqlite_libsql_execute_prepared_statement( - _db, _stmt, &results, metadata); + auto status = opsqlite_libsql_execute_prepared_statement( + _db, _stmt, &results, metadata); #else - auto status = opsqlite_execute_prepared_statement( - _db, _stmt, &results, metadata); + auto status = opsqlite_execute_prepared_statement( + _db, _stmt, &results, metadata); #endif - invoker->invokeAsync( - [&rt, status = std::move(status), - results = - std::make_shared>( - results), - metadata, resolve] { - auto jsiResult = create_result( - rt, status, results.get(), metadata); - resolve->asObject(rt).asFunction(rt).call( - rt, std::move(jsiResult)); - }); - } catch (std::exception &exc) { - invoker->invokeAsync([&rt, &exc, reject] { - auto errorCtr = - rt.global().getPropertyAsFunction(rt, "Error"); - auto error = errorCtr.callAsConstructor( - rt, - jsi::String::createFromUtf8(rt, exc.what())); - reject->asObject(rt).asFunction(rt).call(rt, error); - }); - } - }; - - _thread_pool->queueWork(task); - - return {}; - })); - - return promise; - }); - } - - return {}; + return std::make_tuple(results, *metadata, status); + }, + [](jsi::Runtime &rt, std::any result) { + auto tuple = std::any_cast< + std::tuple, + std::vector, BridgeResult>>(result); + const auto &results = std::get<0>(tuple); + const auto &metadata = std::get<1>(tuple); + BridgeResult status = std::get<2>(tuple); + auto results_ptr = + std::make_shared>(results); + auto metadata_ptr = + std::make_shared>(metadata); + return create_result(rt, status, results_ptr.get(), metadata_ptr); + }); + }); + } + return {}; } PreparedStatementHostObject::~PreparedStatementHostObject() { #ifdef OP_SQLITE_USE_LIBSQL - if (_stmt != nullptr) { - libsql_free_stmt(_stmt); - _stmt = nullptr; - } + if (_stmt != nullptr) { + libsql_free_stmt(_stmt); + _stmt = nullptr; + } #else - if (_stmt != nullptr) { - // sqlite3_finalize(_stmt); - _stmt = nullptr; - } + if (_stmt != nullptr) { + // sqlite3_finalize(_stmt); + _stmt = nullptr; + } #endif } diff --git a/cpp/PreparedStatementHostObject.h b/cpp/PreparedStatementHostObject.h index 45ac29cb..c17e9f06 100644 --- a/cpp/PreparedStatementHostObject.h +++ b/cpp/PreparedStatementHostObject.h @@ -5,7 +5,7 @@ #include #ifdef OP_SQLITE_USE_LIBSQL #include "libsql.h" -#include "libsql/bridge.h" +#include "libsql/bridge.hpp" #else #ifdef __ANDROID__ #include "sqlite3.h" @@ -22,42 +22,30 @@ namespace jsi = facebook::jsi; namespace react = facebook::react; class PreparedStatementHostObject : public jsi::HostObject { - public: +public: #ifdef OP_SQLITE_USE_LIBSQL - PreparedStatementHostObject( - DB const &db, std::string name, libsql_stmt_t stmt, - std::shared_ptr js_call_invoker, - std::shared_ptr thread_pool) - : _db(db), _name(std::move(name)), _stmt(stmt), - _js_call_invoker(js_call_invoker), _thread_pool(thread_pool) {}; + PreparedStatementHostObject( + DB const &db, libsql_stmt_t stmt) + : _db(db), _stmt(stmt) {}; #else - PreparedStatementHostObject( - sqlite3 *db, std::string name, sqlite3_stmt *stmt, - std::shared_ptr js_call_invoker, - std::shared_ptr thread_pool) - : _db(db), _name(std::move(name)), _stmt(stmt), - _js_call_invoker(std::move(js_call_invoker)), - _thread_pool(std::move(thread_pool)) {}; + PreparedStatementHostObject(sqlite3 *db, sqlite3_stmt *stmt) + : _db(db), _stmt(stmt) {}; #endif - ~PreparedStatementHostObject() override; + ~PreparedStatementHostObject() override; - std::vector getPropertyNames(jsi::Runtime &rt) override; + std::vector getPropertyNames(jsi::Runtime &rt) override; - jsi::Value get(jsi::Runtime &rt, - const jsi::PropNameID &propNameID) override; + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propNameID) override; - private: - std::string _name; +private: #ifdef OP_SQLITE_USE_LIBSQL - DB _db; - libsql_stmt_t _stmt; + DB _db; + libsql_stmt_t _stmt; #else - sqlite3 *_db; - // This shouldn't be de-allocated until sqlite3_finalize is called on it - sqlite3_stmt *_stmt; + sqlite3 *_db; + // This shouldn't be de-allocated until sqlite3_finalize is called on it + sqlite3_stmt *_stmt; #endif - std::shared_ptr _js_call_invoker; - std::shared_ptr _thread_pool; }; } // namespace opsqlite diff --git a/cpp/SmartHostObject.cpp b/cpp/SmartHostObject.cpp index dcb87afa..b56e385c 100644 --- a/cpp/SmartHostObject.cpp +++ b/cpp/SmartHostObject.cpp @@ -1,5 +1,5 @@ #include "SmartHostObject.h" -#include "utils.h" +#include "utils.hpp" namespace opsqlite { diff --git a/cpp/SmartHostObject.h b/cpp/SmartHostObject.h index abaf20ce..dd1151a9 100644 --- a/cpp/SmartHostObject.h +++ b/cpp/SmartHostObject.h @@ -1,6 +1,6 @@ #pragma once -#include "types.h" +#include "types.hpp" #include #include #include @@ -10,15 +10,14 @@ namespace opsqlite { namespace jsi = facebook::jsi; class JSI_EXPORT SmartHostObject : public jsi::HostObject { - public: - SmartHostObject() = default; +public: + SmartHostObject() = default; - std::vector getPropertyNames(jsi::Runtime &rt) override; + std::vector getPropertyNames(jsi::Runtime &rt) override; - jsi::Value get(jsi::Runtime &rt, - const jsi::PropNameID &propNameID) override; + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propNameID) override; - std::vector> fields; + std::vector> fields; }; } // namespace opsqlite diff --git a/cpp/bindings.cpp b/cpp/bindings.cpp deleted file mode 100644 index 5e1c1de2..00000000 --- a/cpp/bindings.cpp +++ /dev/null @@ -1,202 +0,0 @@ -#include "bindings.h" -#include "DBHostObject.h" -#include "DumbHostObject.h" -#include "OPThreadPool.h" -#ifdef OP_SQLITE_USE_LIBSQL -#include "libsql/bridge.h" -#else -#include "bridge.h" -#endif -#include "logs.h" -#include "macros.h" -#include "utils.h" -#include -#include -#include -#include - -namespace opsqlite { - -namespace jsi = facebook::jsi; - -std::string _base_path; -std::string _crsqlite_path; -std::string _sqlite_vec_path; -std::vector> dbs; - -// React native will try to clean the module on JS context invalidation -// (CodePush/Hot Reload) The clearState function is called -void invalidate() { - for (const auto &db : dbs) { - db->invalidate(); - } - - // Clear our existing vector of shared pointers so they can be garbage - // collected - dbs.clear(); -} - -void install(jsi::Runtime &rt, - const std::shared_ptr &invoker, - const char *base_path, const char *crsqlite_path, - const char *sqlite_vec_path) { - _base_path = std::string(base_path); - _crsqlite_path = std::string(crsqlite_path); - _sqlite_vec_path = std::string(sqlite_vec_path); - - auto open = HOST_STATIC_FN("open") { - jsi::Object options = args[0].asObject(rt); - std::string name = - options.getProperty(rt, "name").asString(rt).utf8(rt); - std::string path = std::string(_base_path); - std::string location; - std::string encryption_key; - - if (options.hasProperty(rt, "location")) { - location = - options.getProperty(rt, "location").asString(rt).utf8(rt); - } - - if (options.hasProperty(rt, "encryptionKey")) { - encryption_key = - options.getProperty(rt, "encryptionKey").asString(rt).utf8(rt); - } - -#ifdef OP_SQLITE_USE_SQLCIPHER - if (encryption_key.empty()) { - log_to_console(rt, "Encryption key is missing for SQLCipher"); - } -#endif - - if (!location.empty()) { - if (location == ":memory:") { - path = ":memory:"; - } else if (location.rfind('/', 0) == 0) { - path = location; - } else { - path = path + "/" + location; - } - } - - std::shared_ptr db = std::make_shared( - rt, path, invoker, name, path, _crsqlite_path, _sqlite_vec_path, - encryption_key); - dbs.emplace_back(db); - return jsi::Object::createFromHostObject(rt, db); - }); - - auto is_sqlcipher = HOST_STATIC_FN("isSQLCipher") { -#ifdef OP_SQLITE_USE_SQLCIPHER - return true; -#else - return false; -#endif - }); - - auto is_ios_embedded = HOST_STATIC_FN("isIOSEmbedded") { -#ifdef OP_SQLITE_USE_PHONE_VERSION - return true; -#else - return false; -#endif - }); - - auto is_libsql = HOST_STATIC_FN("isLibsql") { -#ifdef OP_SQLITE_USE_LIBSQL - return true; -#else - return false; -#endif - }); - -#ifdef OP_SQLITE_USE_LIBSQL - auto open_remote = HOST_STATIC_FN("openRemote") { - jsi::Object options = args[0].asObject(rt); - - std::string url = options.getProperty(rt, "url").asString(rt).utf8(rt); - - std::string auth_token = - options.getProperty(rt, "authToken").asString(rt).utf8(rt); - - std::shared_ptr db = std::make_shared( - rt, url, auth_token, invoker); - - return jsi::Object::createFromHostObject(rt, db); - }); - - auto open_sync = HOST_STATIC_FN("openSync") { - jsi::Object options = args[0].asObject(rt); - std::string name = - options.getProperty(rt, "name").asString(rt).utf8(rt); - std::string path = std::string(_base_path); - std::string url = options.getProperty(rt, "url").asString(rt).utf8(rt); - std::string auth_token = - options.getProperty(rt, "authToken").asString(rt).utf8(rt); - - int sync_interval = 0; - if (options.hasProperty(rt, "libsqlSyncInterval")) { - sync_interval = static_cast( - options.getProperty(rt, "libsqlSyncInterval").asNumber()); - } - - bool offline = false; - if (options.hasProperty(rt, "libsqlOffline")) { - offline = options.getProperty(rt, "libsqlOffline").asBool(); - } - - std::string encryption_key; - if (options.hasProperty(rt, "encryptionKey")) { - encryption_key = - options.getProperty(rt, "encryptionKey").asString(rt).utf8(rt); - } - - std::string remote_encryption_key; - if (options.hasProperty(rt, "remoteEncryptionKey")) { - remote_encryption_key = - options.getProperty(rt, "remoteEncryptionKey").asString(rt).utf8(rt); - } - - std::string location; - if (options.hasProperty(rt, "location")) { - location = - options.getProperty(rt, "location").asString(rt).utf8(rt); - } - if (!location.empty()) { - if (location == ":memory:") { - path = ":memory:"; - } else if (location.rfind("/", 0) == 0) { - path = location; - } else { - path = path + "/" + location; - } - } - - std::shared_ptr db = std::make_shared( - rt, invoker, name, path, url, auth_token, sync_interval, offline, encryption_key, remote_encryption_key); - return jsi::Object::createFromHostObject(rt, db); - }); -#endif - - jsi::Object module = jsi::Object(rt); - module.setProperty(rt, "open", std::move(open)); - module.setProperty(rt, "isSQLCipher", std::move(is_sqlcipher)); - module.setProperty(rt, "isLibsql", std::move(is_libsql)); - module.setProperty(rt, "isIOSEmbedded", std::move(is_ios_embedded)); -#ifdef OP_SQLITE_USE_LIBSQL - module.setProperty(rt, "openRemote", std::move(open_remote)); - module.setProperty(rt, "openSync", std::move(open_sync)); -#endif - - rt.global().setProperty(rt, "__OPSQLiteProxy", std::move(module)); -} - -void expoUpdatesWorkaround(const char *base_path) { -#ifdef OP_SQLITE_USE_LIBSQL - std::string path = std::string(base_path); - // Open a DB before anything else so that expo-updates does not mess up the - // configuration - opsqlite_libsql_open("__dummy", path, ""); -#endif -} - -} // namespace opsqlite diff --git a/cpp/bridge.cpp b/cpp/bridge.cpp index a8d85054..f298505f 100644 --- a/cpp/bridge.cpp +++ b/cpp/bridge.cpp @@ -7,7 +7,7 @@ #include "DumbHostObject.h" #include "SmartHostObject.h" #include "logs.h" -#include "utils.h" +#include "utils.hpp" #include #include #include @@ -25,42 +25,38 @@ namespace opsqlite { inline void opsqlite_bind_statement(sqlite3_stmt *statement, const std::vector *values) { - sqlite3_clear_bindings(statement); - - size_t size = values->size(); - - for (int ii = 0; ii < size; ii++) { - int stmt_index = ii + 1; - JSVariant value = values->at(ii); - - std::visit( - [&](auto &&v) { - using T = std::decay_t; - - if constexpr (std::is_same_v) { - sqlite3_bind_int(statement, stmt_index, - static_cast(v)); - } else if constexpr (std::is_same_v) { - sqlite3_bind_int(statement, stmt_index, v); - } else if constexpr (std::is_same_v) { - sqlite3_bind_double(statement, stmt_index, - static_cast(v)); - } else if constexpr (std::is_same_v) { - sqlite3_bind_double(statement, stmt_index, v); - } else if constexpr (std::is_same_v) { - sqlite3_bind_text(statement, stmt_index, v.c_str(), - static_cast(v.length()), - SQLITE_TRANSIENT); - } else if constexpr (std::is_same_v) { - sqlite3_bind_blob(statement, stmt_index, v.data.get(), - static_cast(v.size), - SQLITE_TRANSIENT); - } else { - sqlite3_bind_null(statement, stmt_index); - } - }, - value); - } + sqlite3_clear_bindings(statement); + + size_t size = values->size(); + + for (int ii = 0; ii < size; ii++) { + int stmt_index = ii + 1; + JSVariant value = values->at(ii); + + std::visit( + [&](auto &&v) { + using T = std::decay_t; + + if constexpr (std::is_same_v) { + sqlite3_bind_int(statement, stmt_index, static_cast(v)); + } else if constexpr (std::is_same_v) { + sqlite3_bind_int(statement, stmt_index, v); + } else if constexpr (std::is_same_v) { + sqlite3_bind_double(statement, stmt_index, static_cast(v)); + } else if constexpr (std::is_same_v) { + sqlite3_bind_double(statement, stmt_index, v); + } else if constexpr (std::is_same_v) { + sqlite3_bind_text(statement, stmt_index, v.c_str(), + static_cast(v.length()), SQLITE_TRANSIENT); + } else if constexpr (std::is_same_v) { + sqlite3_bind_blob(statement, stmt_index, v.data.get(), + static_cast(v.size), SQLITE_TRANSIENT); + } else { + sqlite3_bind_null(statement, stmt_index); + } + }, + value); + } } /// Returns the completely formed db path, but it also creates any sub-folders @@ -68,18 +64,18 @@ inline void opsqlite_bind_statement(sqlite3_stmt *statement, std::string opsqlite_get_db_path(std::string const &db_name, std::string const &location) { - if (location == ":memory:") { - return location; - } + if (location == ":memory:") { + return location; + } - // Will return false if the directory already exists, no need to check - std::filesystem::create_directories(location); + // Will return false if the directory already exists, no need to check + std::filesystem::create_directories(location); - if (!location.empty() && location.back() != '/') { - return location + "/" + db_name; - } + if (!location.empty() && location.back() != '/') { + return location + "/" + db_name; + } - return location + db_name; + return location + db_name; } #ifdef OP_SQLITE_USE_SQLCIPHER @@ -92,369 +88,386 @@ sqlite3 *opsqlite_open(std::string const &name, std::string const &path, [[maybe_unused]] std::string const &crsqlite_path, [[maybe_unused]] std::string const &sqlite_vec_path) { #endif - std::string final_path = opsqlite_get_db_path(name, path); - char *errMsg; - sqlite3 *db; + std::string final_path = opsqlite_get_db_path(name, path); + char *errMsg; + sqlite3 *db; - int flags = - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX; + int flags = + SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FULLMUTEX; - int status = sqlite3_open_v2(final_path.c_str(), &db, flags, nullptr); + int status = sqlite3_open_v2(final_path.c_str(), &db, flags, nullptr); - if (status != SQLITE_OK) { - throw std::runtime_error(sqlite3_errmsg(db)); - } + if (status != SQLITE_OK) { + throw std::runtime_error(sqlite3_errmsg(db)); + } #ifdef OP_SQLITE_USE_SQLCIPHER - if (!encryption_key.empty()) { - opsqlite_execute(db, "PRAGMA key = '" + encryption_key + "'", nullptr); - } + if (!encryption_key.empty()) { + opsqlite_execute(db, "PRAGMA key = '" + encryption_key + "'", nullptr); + } #endif #ifndef OP_SQLITE_USE_PHONE_VERSION - sqlite3_enable_load_extension(db, 1); + sqlite3_enable_load_extension(db, 1); #endif #ifdef OP_SQLITE_USE_CRSQLITE - const char *crsqliteEntryPoint = "sqlite3_crsqlite_init"; + const char *crsqliteEntryPoint = "sqlite3_crsqlite_init"; - sqlite3_load_extension(db, crsqlite_path.c_str(), crsqliteEntryPoint, - &errMsg); + sqlite3_load_extension(db, crsqlite_path.c_str(), crsqliteEntryPoint, + &errMsg); - if (errMsg != nullptr) { - throw std::runtime_error(errMsg); - } + if (errMsg != nullptr) { + throw std::runtime_error(errMsg); + } #endif #ifdef OP_SQLITE_USE_SQLITE_VEC - const char *vec_entry_point = "sqlite3_vec_init"; + const char *vec_entry_point = "sqlite3_vec_init"; - sqlite3_load_extension(db, sqlite_vec_path.c_str(), vec_entry_point, - &errMsg); + sqlite3_load_extension(db, sqlite_vec_path.c_str(), vec_entry_point, &errMsg); - if (errMsg != nullptr) { - throw std::runtime_error(errMsg); - } + if (errMsg != nullptr) { + throw std::runtime_error(errMsg); + } #endif - TOKENIZER_LIST + TOKENIZER_LIST - return db; + return db; +} + +void create_dirs_if_needed(const std::string &path) { + if (path == ":memory:") { + return; + } + + // Extract directory part from path (exclude filename) + std::filesystem::path fs_path(path); + auto dir = fs_path.parent_path(); + if (!dir.empty()) { + std::filesystem::create_directories(dir); + } } void opsqlite_close(sqlite3 *db) { #ifdef OP_SQLITE_USE_CRSQLITE - opsqlite_execute(db, "select crsql_finalize();", nullptr); + opsqlite_execute(db, "select crsql_finalize();", nullptr); #endif - sqlite3_close_v2(db); + sqlite3_close_v2(db); } void opsqlite_attach(sqlite3 *db, std::string const &doc_path, std::string const &secondary_db_name, std::string const &alias) { - auto secondary_db_path = opsqlite_get_db_path(secondary_db_name, doc_path); - auto statement = "ATTACH DATABASE '" + secondary_db_path + "' AS " + alias; + auto secondary_db_path = opsqlite_get_db_path(secondary_db_name, doc_path); + auto statement = "ATTACH DATABASE '" + secondary_db_path + "' AS " + alias; - opsqlite_execute(db, statement, nullptr); + opsqlite_execute(db, statement, nullptr); } void opsqlite_detach(sqlite3 *db, std::string const &alias) { - std::string statement = "DETACH DATABASE " + alias; - opsqlite_execute(db, statement, nullptr); + std::string statement = "DETACH DATABASE " + alias; + opsqlite_execute(db, statement, nullptr); } void opsqlite_remove(sqlite3 *db, std::string const &name, std::string const &doc_path) { - opsqlite_close(db); + opsqlite_close(db); - std::string db_path = opsqlite_get_db_path(name, doc_path); + std::string db_path = opsqlite_get_db_path(name, doc_path); - if (!file_exists(db_path)) { - throw std::runtime_error("op-sqlite: db file not found:" + db_path); - } + if (!file_exists(db_path)) { + throw std::runtime_error("op-sqlite: db file not found:" + db_path); + } + + remove(db_path.c_str()); +} + +void opsqlite_remove_v2(sqlite3 *db, std::string const &path) { + opsqlite_close(db); - remove(db_path.c_str()); + if (!file_exists(path)) { + throw std::runtime_error("[op-sqlite] db file not found: " + path); + } + + remove(path.c_str()); } BridgeResult opsqlite_execute_prepared_statement( sqlite3 *db, sqlite3_stmt *statement, std::vector *results, std::shared_ptr> &metadatas) { - const char *errorMessage; + const char *errorMessage; - bool isConsuming = true; - bool isFailed = false; + bool isConsuming = true; + bool isFailed = false; - int result = SQLITE_OK; + int result = SQLITE_OK; - int i, count, column_type; - std::string column_name, column_declared_type; + int i, count, column_type; + std::string column_name, column_declared_type; - while (isConsuming) { - result = sqlite3_step(statement); - - switch (result) { - case SQLITE_ROW: { - i = 0; - DumbHostObject row = DumbHostObject(metadatas); - - count = sqlite3_column_count(statement); - - while (i < count) { - column_type = sqlite3_column_type(statement, i); - - switch (column_type) { - case SQLITE_INTEGER: { - /** - * Warning this will loose precision because JS can - * only represent Integers up to 53 bits - */ - double column_value = sqlite3_column_double(statement, i); - row.values.emplace_back(column_value); - break; - } - - case SQLITE_FLOAT: { - double column_value = sqlite3_column_double(statement, i); - row.values.emplace_back(column_value); - break; - } - - case SQLITE_TEXT: { - const char *column_value = reinterpret_cast( - sqlite3_column_text(statement, i)); - int byteLen = sqlite3_column_bytes(statement, i); - // Specify length too; in case string contains NULL in the - // middle - row.values.emplace_back(std::string(column_value, byteLen)); - break; - } - - case SQLITE_BLOB: { - int blob_size = sqlite3_column_bytes(statement, i); - const void *blob = sqlite3_column_blob(statement, i); - auto *data = new uint8_t[blob_size]; - // You cannot share raw memory between native and JS - // always copy the data - memcpy(data, blob, blob_size); - row.values.emplace_back( - ArrayBuffer{.data = std::shared_ptr{data}, - .size = static_cast(blob_size)}); - break; - } - - case SQLITE_NULL: - // Intentionally left blank - - default: - row.values.emplace_back(nullptr); - break; - } - i++; - } - - results->emplace_back(row); + while (isConsuming) { + result = sqlite3_step(statement); - break; + switch (result) { + case SQLITE_ROW: { + i = 0; + DumbHostObject row = DumbHostObject(metadatas); + + count = sqlite3_column_count(statement); + + while (i < count) { + column_type = sqlite3_column_type(statement, i); + + switch (column_type) { + case SQLITE_INTEGER: { + /** + * Warning this will loose precision because JS can + * only represent Integers up to 53 bits + */ + double column_value = sqlite3_column_double(statement, i); + row.values.emplace_back(column_value); + break; } - case SQLITE_DONE: - if (metadatas != nullptr) { - i = 0; - count = sqlite3_column_count(statement); - - while (i < count) { - column_name = sqlite3_column_name(statement, i); - const char *type = sqlite3_column_decltype(statement, i); - auto metadata = SmartHostObject(); - metadata.fields.emplace_back("name", column_name); - metadata.fields.emplace_back("index", i); - metadata.fields.emplace_back( - "type", type == nullptr ? "UNKNOWN" : type); - - metadatas->emplace_back(metadata); - i++; - } - } - isConsuming = false; - break; + case SQLITE_FLOAT: { + double column_value = sqlite3_column_double(statement, i); + row.values.emplace_back(column_value); + break; + } + + case SQLITE_TEXT: { + const char *column_value = + reinterpret_cast(sqlite3_column_text(statement, i)); + int byteLen = sqlite3_column_bytes(statement, i); + // Specify length too; in case string contains NULL in the + // middle + row.values.emplace_back(std::string(column_value, byteLen)); + break; + } + + case SQLITE_BLOB: { + int blob_size = sqlite3_column_bytes(statement, i); + const void *blob = sqlite3_column_blob(statement, i); + auto *data = new uint8_t[blob_size]; + // You cannot share raw memory between native and JS + // always copy the data + memcpy(data, blob, blob_size); + row.values.emplace_back( + ArrayBuffer{.data = std::shared_ptr{data}, + .size = static_cast(blob_size)}); + break; + } + + case SQLITE_NULL: + // Intentionally left blank default: - errorMessage = sqlite3_errmsg(db); - isFailed = true; - isConsuming = false; + row.values.emplace_back(nullptr); + break; } + i++; + } + + results->emplace_back(row); + + break; } - sqlite3_reset(statement); + case SQLITE_DONE: + if (metadatas != nullptr) { + i = 0; + count = sqlite3_column_count(statement); + + while (i < count) { + column_name = sqlite3_column_name(statement, i); + const char *type = sqlite3_column_decltype(statement, i); + auto metadata = SmartHostObject(); + metadata.fields.emplace_back("name", column_name); + metadata.fields.emplace_back("index", i); + metadata.fields.emplace_back("type", + type == nullptr ? "UNKNOWN" : type); + + metadatas->emplace_back(metadata); + i++; + } + } + isConsuming = false; + break; - if (isFailed) { - throw std::runtime_error( - "[op-sqlite] SQLite code: " + std::to_string(result) + - " execution error: " + std::string(errorMessage)); + default: + errorMessage = sqlite3_errmsg(db); + isFailed = true; + isConsuming = false; } + } + + sqlite3_reset(statement); + + if (isFailed) { + throw std::runtime_error( + "[op-sqlite] SQLite code: " + std::to_string(result) + + " execution error: " + std::string(errorMessage)); + } - int changedRowCount = sqlite3_changes(db); - long long latestInsertRowId = sqlite3_last_insert_rowid(db); + int changedRowCount = sqlite3_changes(db); + long long latestInsertRowId = sqlite3_last_insert_rowid(db); - return {.affectedRows = changedRowCount, - .insertId = static_cast(latestInsertRowId)}; + return {.affectedRows = changedRowCount, + .insertId = static_cast(latestInsertRowId)}; } sqlite3_stmt *opsqlite_prepare_statement(sqlite3 *db, std::string const &query) { - sqlite3_stmt *statement; + sqlite3_stmt *statement; - const char *queryStr = query.c_str(); + const char *queryStr = query.c_str(); - int statementStatus = - sqlite3_prepare_v2(db, queryStr, -1, &statement, nullptr); + int statementStatus = + sqlite3_prepare_v2(db, queryStr, -1, &statement, nullptr); - if (statementStatus == SQLITE_ERROR) { - const char *message = sqlite3_errmsg(db); - throw std::runtime_error("[op-sqlite] SQL prepare statement error: " + - std::string(message)); - } + if (statementStatus == SQLITE_ERROR) { + const char *message = sqlite3_errmsg(db); + throw std::runtime_error("[op-sqlite] SQL prepare statement error: " + + std::string(message)); + } - return statement; + return statement; } BridgeResult opsqlite_execute(sqlite3 *db, std::string const &query, const std::vector *params) { - sqlite3_stmt *statement; - const char *errorMessage = nullptr; - const char *remainingStatement = nullptr; - bool has_failed = false; - int status, current_column, column_count, column_type; - std::string column_name, column_declared_type; - std::vector column_names; - std::vector> rows; - rows.reserve(20); - std::vector row; - - do { - const char *query_str = - remainingStatement == nullptr ? query.c_str() : remainingStatement; - - status = sqlite3_prepare_v2(db, query_str, -1, &statement, - &remainingStatement); - - if (status != SQLITE_OK) { - errorMessage = sqlite3_errmsg(db); - throw std::runtime_error("[op-sqlite] sqlite query error: " + - std::string(errorMessage)); - } + sqlite3_stmt *statement; + const char *errorMessage = nullptr; + const char *remainingStatement = nullptr; + bool has_failed = false; + int status, current_column, column_count, column_type; + std::string column_name, column_declared_type; + std::vector column_names; + std::vector> rows; + rows.reserve(20); + std::vector row; + + do { + const char *query_str = + remainingStatement == nullptr ? query.c_str() : remainingStatement; + + status = + sqlite3_prepare_v2(db, query_str, -1, &statement, &remainingStatement); - // The statement did not fail to parse but there is nothing to do, just - // skip to the end - if (statement == nullptr) { - continue; - } + if (status != SQLITE_OK) { + errorMessage = sqlite3_errmsg(db); + throw std::runtime_error("[op-sqlite] sqlite query error: " + + std::string(errorMessage)); + } - if (params != nullptr && !params->empty()) { - opsqlite_bind_statement(statement, params); - } + // The statement did not fail to parse but there is nothing to do, just + // skip to the end + if (statement == nullptr) { + continue; + } - column_count = sqlite3_column_count(statement); - column_names.reserve(column_count); - bool is_consuming_rows = true; - double double_value; - const char *string_value; + if (params != nullptr && !params->empty()) { + opsqlite_bind_statement(statement, params); + } - // Do a first pass to get the column names - for (int i = 0; i < column_count; i++) { - column_name = sqlite3_column_name(statement, i); - column_names.emplace_back(column_name); - } + column_count = sqlite3_column_count(statement); + column_names.reserve(column_count); + bool is_consuming_rows = true; + double double_value; + const char *string_value; + + // Do a first pass to get the column names + for (int i = 0; i < column_count; i++) { + column_name = sqlite3_column_name(statement, i); + column_names.emplace_back(column_name); + } + + while (is_consuming_rows) { + status = sqlite3_step(statement); - while (is_consuming_rows) { - status = sqlite3_step(statement); - - switch (status) { - case SQLITE_ROW: - current_column = 0; - row = std::vector(); - row.reserve(column_count); - - while (current_column < column_count) { - column_type = - sqlite3_column_type(statement, current_column); - - switch (column_type) { - - case SQLITE_INTEGER: - // intentional fallthrough - case SQLITE_FLOAT: { - double_value = - sqlite3_column_double(statement, current_column); - row.emplace_back(double_value); - break; - } - - case SQLITE_TEXT: { - string_value = reinterpret_cast( - sqlite3_column_text(statement, current_column)); - int len = - sqlite3_column_bytes(statement, current_column); - // Specify length too; in case string contains NULL in - // the middle - row.emplace_back(std::string(string_value, len)); - break; - } - - case SQLITE_BLOB: { - int blob_size = - sqlite3_column_bytes(statement, current_column); - const void *blob = - sqlite3_column_blob(statement, current_column); - auto *data = new uint8_t[blob_size]; - memcpy(data, blob, blob_size); - row.emplace_back(ArrayBuffer{ - .data = std::shared_ptr{data}, + switch (status) { + case SQLITE_ROW: + current_column = 0; + row = std::vector(); + row.reserve(column_count); + + while (current_column < column_count) { + column_type = sqlite3_column_type(statement, current_column); + + switch (column_type) { + + case SQLITE_INTEGER: + // intentional fallthrough + case SQLITE_FLOAT: { + double_value = sqlite3_column_double(statement, current_column); + row.emplace_back(double_value); + break; + } + + case SQLITE_TEXT: { + string_value = reinterpret_cast( + sqlite3_column_text(statement, current_column)); + int len = sqlite3_column_bytes(statement, current_column); + // Specify length too; in case string contains NULL in + // the middle + row.emplace_back(std::string(string_value, len)); + break; + } + + case SQLITE_BLOB: { + int blob_size = sqlite3_column_bytes(statement, current_column); + const void *blob = sqlite3_column_blob(statement, current_column); + auto *data = new uint8_t[blob_size]; + memcpy(data, blob, blob_size); + row.emplace_back( + ArrayBuffer{.data = std::shared_ptr{data}, .size = static_cast(blob_size)}); - break; - } - - case SQLITE_NULL: - // Intentionally left blank to switch to default case - default: - row.emplace_back(nullptr); - break; - } - - current_column++; - } - - rows.emplace_back(std::move(row)); - break; - - case SQLITE_DONE: - is_consuming_rows = false; - break; - - default: - has_failed = true; - is_consuming_rows = false; - } + break; + } + + case SQLITE_NULL: + // Intentionally left blank to switch to default case + default: + row.emplace_back(nullptr); + break; + } + + current_column++; } - sqlite3_finalize(statement); - } while (remainingStatement != nullptr && - strcmp(remainingStatement, "") != 0 && !has_failed); + rows.emplace_back(std::move(row)); + break; + + case SQLITE_DONE: + is_consuming_rows = false; + break; - if (has_failed) { - const char *message = sqlite3_errmsg(db); - throw std::runtime_error("[op-sqlite] statement execution error: " + - std::string(message)); + default: + has_failed = true; + is_consuming_rows = false; + } } - int changedRowCount = sqlite3_changes(db); - long long latestInsertRowId = sqlite3_last_insert_rowid(db); - return {.affectedRows = changedRowCount, - .insertId = static_cast(latestInsertRowId), - .rows = std::move(rows), - .column_names = std::move(column_names)}; + sqlite3_finalize(statement); + } while (remainingStatement != nullptr && + strcmp(remainingStatement, "") != 0 && !has_failed); + + if (has_failed) { + const char *message = sqlite3_errmsg(db); + throw std::runtime_error("[op-sqlite] statement execution error: " + + std::string(message)); + } + + int changedRowCount = sqlite3_changes(db); + long long latestInsertRowId = sqlite3_last_insert_rowid(db); + return {.affectedRows = changedRowCount, + .insertId = static_cast(latestInsertRowId), + .rows = std::move(rows), + .column_names = std::move(column_names)}; } BridgeResult opsqlite_execute_host_objects( @@ -462,162 +475,157 @@ BridgeResult opsqlite_execute_host_objects( std::vector *results, std::shared_ptr> &metadatas) { - sqlite3_stmt *statement; - const char *errorMessage; - const char *remainingStatement = nullptr; + sqlite3_stmt *statement; + const char *errorMessage; + const char *remainingStatement = nullptr; + + bool isConsuming = true; + bool isFailed = false; - bool isConsuming = true; - bool isFailed = false; + int result = SQLITE_OK; - int result = SQLITE_OK; + do { + const char *queryStr = + remainingStatement == nullptr ? query.c_str() : remainingStatement; - do { - const char *queryStr = - remainingStatement == nullptr ? query.c_str() : remainingStatement; + int statementStatus = + sqlite3_prepare_v2(db, queryStr, -1, &statement, &remainingStatement); + + if (statementStatus != SQLITE_OK) { + const char *message = sqlite3_errmsg(db); + throw std::runtime_error( + "[op-sqlite] SQL statement error on opsqlite_execute:\n" + + std::to_string(statementStatus) + " description:\n" + + std::string(message)); + } - int statementStatus = sqlite3_prepare_v2(db, queryStr, -1, &statement, - &remainingStatement); + // The statement did not fail to parse but there is nothing to do, just + // skip to the end + if (statement == nullptr) { + continue; + } - if (statementStatus != SQLITE_OK) { - const char *message = sqlite3_errmsg(db); - throw std::runtime_error( - "[op-sqlite] SQL statement error on opsqlite_execute:\n" + - std::to_string(statementStatus) + " description:\n" + - std::string(message)); - } + if (params != nullptr && !params->empty()) { + opsqlite_bind_statement(statement, params); + } - // The statement did not fail to parse but there is nothing to do, just - // skip to the end - if (statement == nullptr) { - continue; - } + int i, count, column_type; + std::string column_name, column_declared_type; - if (params != nullptr && !params->empty()) { - opsqlite_bind_statement(statement, params); + while (isConsuming) { + result = sqlite3_step(statement); + + switch (result) { + case SQLITE_ROW: { + if (results == nullptr) { + break; } - int i, count, column_type; - std::string column_name, column_declared_type; - - while (isConsuming) { - result = sqlite3_step(statement); - - switch (result) { - case SQLITE_ROW: { - if (results == nullptr) { - break; - } - - i = 0; - DumbHostObject row = DumbHostObject(metadatas); - - count = sqlite3_column_count(statement); - - while (i < count) { - column_type = sqlite3_column_type(statement, i); - - switch (column_type) { - case SQLITE_INTEGER: { - /** - * Warning this will loose precision because JS can - * only represent Integers up to 53 bits - */ - double column_value = - sqlite3_column_double(statement, i); - row.values.emplace_back(column_value); - break; - } - - case SQLITE_FLOAT: { - double column_value = - sqlite3_column_double(statement, i); - row.values.emplace_back(column_value); - break; - } - - case SQLITE_TEXT: { - const char *column_value = - reinterpret_cast( - sqlite3_column_text(statement, i)); - int byteLen = sqlite3_column_bytes(statement, i); - // Specify length too; in case string contains NULL in - // the middle - row.values.emplace_back( - std::string(column_value, byteLen)); - break; - } - - case SQLITE_BLOB: { - int blob_size = sqlite3_column_bytes(statement, i); - const void *blob = sqlite3_column_blob(statement, i); - auto *data = new uint8_t[blob_size]; - // You cannot share raw memory between native and JS - // always copy the data - memcpy(data, blob, blob_size); - row.values.emplace_back(ArrayBuffer{ - .data = std::shared_ptr{data}, + i = 0; + DumbHostObject row = DumbHostObject(metadatas); + + count = sqlite3_column_count(statement); + + while (i < count) { + column_type = sqlite3_column_type(statement, i); + + switch (column_type) { + case SQLITE_INTEGER: { + /** + * Warning this will loose precision because JS can + * only represent Integers up to 53 bits + */ + double column_value = sqlite3_column_double(statement, i); + row.values.emplace_back(column_value); + break; + } + + case SQLITE_FLOAT: { + double column_value = sqlite3_column_double(statement, i); + row.values.emplace_back(column_value); + break; + } + + case SQLITE_TEXT: { + const char *column_value = reinterpret_cast( + sqlite3_column_text(statement, i)); + int byteLen = sqlite3_column_bytes(statement, i); + // Specify length too; in case string contains NULL in + // the middle + row.values.emplace_back(std::string(column_value, byteLen)); + break; + } + + case SQLITE_BLOB: { + int blob_size = sqlite3_column_bytes(statement, i); + const void *blob = sqlite3_column_blob(statement, i); + auto *data = new uint8_t[blob_size]; + // You cannot share raw memory between native and JS + // always copy the data + memcpy(data, blob, blob_size); + row.values.emplace_back( + ArrayBuffer{.data = std::shared_ptr{data}, .size = static_cast(blob_size)}); - break; - } - - case SQLITE_NULL: - // Intentionally left blank - - default: - row.values.emplace_back(nullptr); - break; - } - i++; - } - - results->emplace_back(row); - break; - } - - case SQLITE_DONE: - if (metadatas != nullptr) { - i = 0; - count = sqlite3_column_count(statement); - - while (i < count) { - column_name = sqlite3_column_name(statement, i); - const char *type = - sqlite3_column_decltype(statement, i); - auto metadata = SmartHostObject(); - metadata.fields.emplace_back("name", column_name); - metadata.fields.emplace_back("index", i); - metadata.fields.emplace_back( - "type", type == nullptr ? "UNKNOWN" : type); - - metadatas->push_back(metadata); - i++; - } - } - isConsuming = false; - break; - - default: - errorMessage = sqlite3_errmsg(db); - isFailed = true; - isConsuming = false; - } + break; + } + + case SQLITE_NULL: + // Intentionally left blank + + default: + row.values.emplace_back(nullptr); + break; + } + i++; } - sqlite3_finalize(statement); - } while (remainingStatement != nullptr && - strcmp(remainingStatement, "") != 0 && !isFailed); + results->emplace_back(row); + break; + } + + case SQLITE_DONE: + if (metadatas != nullptr) { + i = 0; + count = sqlite3_column_count(statement); - if (isFailed) { - throw std::runtime_error( - "[op-sqlite] SQLite error code: " + std::to_string(result) + - ", description: " + std::string(errorMessage)); + while (i < count) { + column_name = sqlite3_column_name(statement, i); + const char *type = sqlite3_column_decltype(statement, i); + auto metadata = SmartHostObject(); + metadata.fields.emplace_back("name", column_name); + metadata.fields.emplace_back("index", i); + metadata.fields.emplace_back("type", + type == nullptr ? "UNKNOWN" : type); + + metadatas->push_back(metadata); + i++; + } + } + isConsuming = false; + break; + + default: + errorMessage = sqlite3_errmsg(db); + isFailed = true; + isConsuming = false; + } } - int changedRowCount = sqlite3_changes(db); - long long latestInsertRowId = sqlite3_last_insert_rowid(db); + sqlite3_finalize(statement); + } while (remainingStatement != nullptr && + strcmp(remainingStatement, "") != 0 && !isFailed); - return {.affectedRows = changedRowCount, - .insertId = static_cast(latestInsertRowId)}; + if (isFailed) { + throw std::runtime_error( + "[op-sqlite] SQLite error code: " + std::to_string(result) + + ", description: " + std::string(errorMessage)); + } + + int changedRowCount = sqlite3_changes(db); + long long latestInsertRowId = sqlite3_last_insert_rowid(db); + + return {.affectedRows = changedRowCount, + .insertId = static_cast(latestInsertRowId)}; } /// Executes returning data in raw arrays, a small performance optimization @@ -626,245 +634,243 @@ BridgeResult opsqlite_execute_raw(sqlite3 *db, std::string const &query, const std::vector *params, std::vector> *results) { - sqlite3_stmt *statement; - const char *errorMessage; - const char *remainingStatement = nullptr; + sqlite3_stmt *statement; + const char *errorMessage; + const char *remainingStatement = nullptr; - bool isConsuming = true; - bool isFailed = false; + bool isConsuming = true; + bool isFailed = false; - int step = SQLITE_OK; + int step = SQLITE_OK; - do { - const char *queryStr = - remainingStatement == nullptr ? query.c_str() : remainingStatement; + do { + const char *queryStr = + remainingStatement == nullptr ? query.c_str() : remainingStatement; - int statementStatus = sqlite3_prepare_v2(db, queryStr, -1, &statement, - &remainingStatement); + int statementStatus = + sqlite3_prepare_v2(db, queryStr, -1, &statement, &remainingStatement); - if (statementStatus != SQLITE_OK) { - const char *message = sqlite3_errmsg(db); - throw std::runtime_error("[op-sqlite] SQL statement error:" + - std::to_string(statementStatus) + - " description:" + std::string(message)); - } + if (statementStatus != SQLITE_OK) { + const char *message = sqlite3_errmsg(db); + throw std::runtime_error( + "[op-sqlite] SQL statement error:" + std::to_string(statementStatus) + + " description:" + std::string(message)); + } - // The statement did not fail to parse but there is nothing to do, just - // skip to the end - if (statement == nullptr) { - continue; - } + // The statement did not fail to parse but there is nothing to do, just + // skip to the end + if (statement == nullptr) { + continue; + } - if (params != nullptr && !params->empty()) { - opsqlite_bind_statement(statement, params); + if (params != nullptr && !params->empty()) { + opsqlite_bind_statement(statement, params); + } + + int i, column_type; + std::string column_name, column_declared_type; + + int column_count = sqlite3_column_count(statement); + + while (isConsuming) { + step = sqlite3_step(statement); + + switch (step) { + case SQLITE_ROW: { + if (results == nullptr) { + break; } - int i, column_type; - std::string column_name, column_declared_type; - - int column_count = sqlite3_column_count(statement); - - while (isConsuming) { - step = sqlite3_step(statement); - - switch (step) { - case SQLITE_ROW: { - if (results == nullptr) { - break; - } - - std::vector row; - row.reserve(column_count); - - i = 0; - - while (i < column_count) { - column_type = sqlite3_column_type(statement, i); - - switch (column_type) { - case SQLITE_INTEGER: - case SQLITE_FLOAT: { - double column_value = - sqlite3_column_double(statement, i); - row.emplace_back(column_value); - break; - } - - case SQLITE_TEXT: { - const char *column_value = - reinterpret_cast( - sqlite3_column_text(statement, i)); - int byteLen = sqlite3_column_bytes(statement, i); - // Specify length too; in case string contains NULL in - // the middle - row.emplace_back(std::string(column_value, byteLen)); - break; - } - - case SQLITE_BLOB: { - int blob_size = sqlite3_column_bytes(statement, i); - const void *blob = sqlite3_column_blob(statement, i); - auto *data = new uint8_t[blob_size]; - memcpy(data, blob, blob_size); - row.emplace_back(ArrayBuffer{ - .data = std::shared_ptr{data}, + std::vector row; + row.reserve(column_count); + + i = 0; + + while (i < column_count) { + column_type = sqlite3_column_type(statement, i); + + switch (column_type) { + case SQLITE_INTEGER: + case SQLITE_FLOAT: { + double column_value = sqlite3_column_double(statement, i); + row.emplace_back(column_value); + break; + } + + case SQLITE_TEXT: { + const char *column_value = reinterpret_cast( + sqlite3_column_text(statement, i)); + int byteLen = sqlite3_column_bytes(statement, i); + // Specify length too; in case string contains NULL in + // the middle + row.emplace_back(std::string(column_value, byteLen)); + break; + } + + case SQLITE_BLOB: { + int blob_size = sqlite3_column_bytes(statement, i); + const void *blob = sqlite3_column_blob(statement, i); + auto *data = new uint8_t[blob_size]; + memcpy(data, blob, blob_size); + row.emplace_back( + ArrayBuffer{.data = std::shared_ptr{data}, .size = static_cast(blob_size)}); - break; - } - - case SQLITE_NULL: - // intentional fallthrough - default: - row.emplace_back(nullptr); - break; - } - i++; - } - - results->emplace_back(row); - - break; - } - - case SQLITE_DONE: - isConsuming = false; - break; - - default: - errorMessage = sqlite3_errmsg(db); - isFailed = true; - isConsuming = false; - } + break; + } + + case SQLITE_NULL: + // intentional fallthrough + default: + row.emplace_back(nullptr); + break; + } + i++; } - sqlite3_finalize(statement); - } while (remainingStatement != nullptr && - strcmp(remainingStatement, "") != 0 && !isFailed); + results->emplace_back(row); - if (isFailed) { - throw std::runtime_error( - "[op-sqlite] SQLite error code: " + std::to_string(step) + - ", description: " + std::string(errorMessage)); + break; + } + + case SQLITE_DONE: + isConsuming = false; + break; + + default: + errorMessage = sqlite3_errmsg(db); + isFailed = true; + isConsuming = false; + } } - int changedRowCount = sqlite3_changes(db); - long long latestInsertRowId = sqlite3_last_insert_rowid(db); + sqlite3_finalize(statement); + } while (remainingStatement != nullptr && + strcmp(remainingStatement, "") != 0 && !isFailed); + + if (isFailed) { + throw std::runtime_error( + "[op-sqlite] SQLite error code: " + std::to_string(step) + + ", description: " + std::string(errorMessage)); + } + + int changedRowCount = sqlite3_changes(db); + long long latestInsertRowId = sqlite3_last_insert_rowid(db); - return {.affectedRows = changedRowCount, - .insertId = static_cast(latestInsertRowId)}; + return {.affectedRows = changedRowCount, + .insertId = static_cast(latestInsertRowId)}; } std::string operation_to_string(int operation_type) { - switch (operation_type) { - case SQLITE_INSERT: - return "INSERT"; + switch (operation_type) { + case SQLITE_INSERT: + return "INSERT"; - case SQLITE_DELETE: - return "DELETE"; + case SQLITE_DELETE: + return "DELETE"; - case SQLITE_UPDATE: - return "UPDATE"; + case SQLITE_UPDATE: + return "UPDATE"; - default: - throw std::runtime_error("Unknown SQLite operation on hook"); - } + default: + throw std::runtime_error("Unknown SQLite operation on hook"); + } } void update_callback(void *db_host_object_ptr, int operation_type, [[maybe_unused]] char const *database, char const *table, sqlite3_int64 row_id) { - auto db_host_object = reinterpret_cast(db_host_object_ptr); - db_host_object->on_update(std::string(table), - operation_to_string(operation_type), row_id); + auto db_host_object = reinterpret_cast(db_host_object_ptr); + db_host_object->on_update(std::string(table), + operation_to_string(operation_type), row_id); } void opsqlite_register_update_hook(sqlite3 *db, void *db_host_object) { - sqlite3_update_hook(db, &update_callback, (void *)db_host_object); + sqlite3_update_hook(db, &update_callback, (void *)db_host_object); } void opsqlite_deregister_update_hook(sqlite3 *db) { - sqlite3_update_hook(db, nullptr, nullptr); + sqlite3_update_hook(db, nullptr, nullptr); } int commit_callback(void *db_host_object_ptr) { - auto db_host_object = reinterpret_cast(db_host_object_ptr); - db_host_object->on_commit(); - return 0; + auto db_host_object = reinterpret_cast(db_host_object_ptr); + db_host_object->on_commit(); + return 0; } void opsqlite_register_commit_hook(sqlite3 *db, void *db_host_object_ptr) { - sqlite3_commit_hook(db, &commit_callback, db_host_object_ptr); + sqlite3_commit_hook(db, &commit_callback, db_host_object_ptr); } void opsqlite_deregister_commit_hook(sqlite3 *db) { - sqlite3_commit_hook(db, nullptr, nullptr); + sqlite3_commit_hook(db, nullptr, nullptr); } void rollback_callback(void *db_host_object_ptr) { - auto db_host_object = reinterpret_cast(db_host_object_ptr); - db_host_object->on_rollback(); + auto db_host_object = reinterpret_cast(db_host_object_ptr); + db_host_object->on_rollback(); } void opsqlite_register_rollback_hook(sqlite3 *db, void *db_host_object_ptr) { - sqlite3_rollback_hook(db, &rollback_callback, db_host_object_ptr); + sqlite3_rollback_hook(db, &rollback_callback, db_host_object_ptr); } void opsqlite_deregister_rollback_hook(sqlite3 *db) { - sqlite3_rollback_hook(db, nullptr, nullptr); + sqlite3_rollback_hook(db, nullptr, nullptr); } void opsqlite_load_extension(sqlite3 *db, std::string &path, std::string &entry_point) { #ifdef OP_SQLITE_USE_PHONE_VERSION - throw std::runtime_error("[op-sqlite] Embedded version of SQLite does not " - "support loading extensions"); + throw std::runtime_error("[op-sqlite] Embedded version of SQLite does not " + "support loading extensions"); #else - int status = 0; - status = sqlite3_enable_load_extension(db, 1); + int status = 0; + status = sqlite3_enable_load_extension(db, 1); - if (status != SQLITE_OK) { - throw std::runtime_error("Could not enable extension loading"); - } + if (status != SQLITE_OK) { + throw std::runtime_error("Could not enable extension loading"); + } - const char *entry_point_cstr = nullptr; - if (!entry_point.empty()) { - entry_point_cstr = entry_point.c_str(); - } + const char *entry_point_cstr = nullptr; + if (!entry_point.empty()) { + entry_point_cstr = entry_point.c_str(); + } - char *error_message; + char *error_message; - status = sqlite3_load_extension(db, path.c_str(), entry_point_cstr, - &error_message); - if (status != SQLITE_OK) { - throw std::runtime_error(error_message); - } + status = sqlite3_load_extension(db, path.c_str(), entry_point_cstr, + &error_message); + if (status != SQLITE_OK) { + throw std::runtime_error(error_message); + } #endif } BatchResult opsqlite_execute_batch(sqlite3 *db, const std::vector *commands) { - size_t commandCount = commands->size(); - if (commandCount <= 0) { - throw std::runtime_error("No SQL commands provided"); - } - - int affectedRows = 0; - // opsqlite_execute(db, "BEGIN EXCLUSIVE TRANSACTION", nullptr); - for (int i = 0; i < commandCount; i++) { - const auto &command = commands->at(i); - // We do not provide a datastructure to receive query data because we - // don't need/want to handle this results in a batch execution - // There is also no need to commit/catch this transaction, this is done - // in the JS code - auto result = opsqlite_execute(db, command.sql, &command.params); - affectedRows += result.affectedRows; - } - - return BatchResult{ - .affectedRows = affectedRows, - .commands = static_cast(commandCount), - }; + size_t commandCount = commands->size(); + if (commandCount <= 0) { + throw std::runtime_error("No SQL commands provided"); + } + + int affectedRows = 0; + // opsqlite_execute(db, "BEGIN EXCLUSIVE TRANSACTION", nullptr); + for (int i = 0; i < commandCount; i++) { + const auto &command = commands->at(i); + // We do not provide a datastructure to receive query data because we + // don't need/want to handle this results in a batch execution + // There is also no need to commit/catch this transaction, this is done + // in the JS code + auto result = opsqlite_execute(db, command.sql, &command.params); + affectedRows += result.affectedRows; + } + + return BatchResult{ + .affectedRows = affectedRows, + .commands = static_cast(commandCount), + }; } } // namespace opsqlite diff --git a/cpp/bridge.h b/cpp/bridge.h index 611d18e6..bdc6bc8c 100644 --- a/cpp/bridge.h +++ b/cpp/bridge.h @@ -2,8 +2,8 @@ #include "DumbHostObject.h" #include "SmartHostObject.h" -#include "types.h" -#include "utils.h" +#include "types.hpp" +#include "utils.hpp" #ifdef __ANDROID__ #include "sqlite3.h" #else diff --git a/cpp/libsql/bridge.cpp b/cpp/libsql/bridge.cpp index 88ac06db..fdd9a5d1 100644 --- a/cpp/libsql/bridge.cpp +++ b/cpp/libsql/bridge.cpp @@ -1,9 +1,9 @@ -#include "bridge.h" +#include "bridge.hpp" #include "DumbHostObject.h" #include "SmartHostObject.h" #include "libsql.h" #include "logs.h" -#include "utils.h" +#include "utils.hpp" #include #include #include diff --git a/cpp/libsql/bridge.h b/cpp/libsql/bridge.hpp similarity index 97% rename from cpp/libsql/bridge.h rename to cpp/libsql/bridge.hpp index 74c05305..cbe55eed 100644 --- a/cpp/libsql/bridge.h +++ b/cpp/libsql/bridge.hpp @@ -3,8 +3,8 @@ #include "DumbHostObject.h" #include "SmartHostObject.h" #include "libsql.h" -#include "types.h" -#include "utils.h" +#include "types.hpp" +#include "utils.hpp" #include #define LIBSQL_INT 1 @@ -25,8 +25,8 @@ typedef std::function CommitCallback; typedef std::function RollbackCallback; struct DB { - libsql_database_t db; - libsql_connection_t c; + libsql_database_t db; + libsql_connection_t c; }; std::string opsqlite_get_db_path(std::string const &name, diff --git a/cpp/macros.h b/cpp/macros.h deleted file mode 100644 index 8a636260..00000000 --- a/cpp/macros.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#define HOSTFN(name) \ -jsi::Function::createFromHostFunction( \ -rt, \ -jsi::PropNameID::forAscii(rt, name), \ -0, \ -[=, this](jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) -> jsi::Value - -#define HOST_STATIC_FN(name) \ -jsi::Function::createFromHostFunction( \ -rt, \ -jsi::PropNameID::forAscii(rt, name), \ -0, \ -[=](jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) -> jsi::Value diff --git a/cpp/macros.hpp b/cpp/macros.hpp new file mode 100644 index 00000000..f2392c84 --- /dev/null +++ b/cpp/macros.hpp @@ -0,0 +1,21 @@ +#pragma once + +#define HOSTFN(name) \ +jsi::Function::createFromHostFunction( \ +rt, \ +jsi::PropNameID::forAscii(rt, name), \ +0, \ +[=, this](jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) -> jsi::Value + +#define HOST_STATIC_FN(name) \ +jsi::Function::createFromHostFunction( \ +rt, \ +jsi::PropNameID::forAscii(rt, name), \ +0, \ +[=](jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) -> jsi::Value + +// Do not unroll into multi lines to avoid Xcode reporting the wrong lines +#define HFN0 jsi::Function::createFromHostFunction(rt, jsi::PropNameID::forAscii(rt, ""), 0, [](jsi::Runtime &rt, const jsi::Value &that, const jsi::Value *args, size_t count) -> jsi::Value +#define HFN(c1) jsi::Function::createFromHostFunction(rt, jsi::PropNameID::forAscii(rt, ""), 0, [c1](jsi::Runtime &rt, const jsi::Value &that, const jsi::Value *args, size_t count) -> jsi::Value +#define HFN2(c1, c2) jsi::Function::createFromHostFunction(rt, jsi::PropNameID::forAscii(rt, ""), 0, [c1, c2](jsi::Runtime &rt, const jsi::Value &that, const jsi::Value *args, size_t count) -> jsi::Value +#define HFN3(c1, c2, c3) jsi::Function::createFromHostFunction(rt, jsi::PropNameID::forAscii(rt, ""), 0, [c1, c2, c3](jsi::Runtime &rt, const jsi::Value &that, const jsi::Value *args, size_t count) -> jsi::Value diff --git a/cpp/types.h b/cpp/types.h deleted file mode 100644 index d13509ee..00000000 --- a/cpp/types.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -struct ArrayBuffer { - std::shared_ptr data; - size_t size; -}; - -using JSVariant = std::variant; - -struct BridgeResult { - std::string message; - int affectedRows; - double insertId; - std::vector> rows; - std::vector column_names; -}; - -struct BatchResult { - std::string message; - int affectedRows; - int commands; -}; - -struct BatchArguments { - std::string sql; - std::vector params; -}; diff --git a/cpp/types.hpp b/cpp/types.hpp new file mode 100644 index 00000000..54907eb6 --- /dev/null +++ b/cpp/types.hpp @@ -0,0 +1,42 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + +namespace opsqlite { + +extern std::shared_ptr invoker; +extern bool invalidated; + +struct ArrayBuffer { + std::shared_ptr data; + size_t size; +}; + +using JSVariant = std::variant; + +struct BridgeResult { + std::string message; + int affectedRows; + double insertId; + std::vector> rows; + std::vector column_names; +}; + +struct BatchResult { + std::string message; + int affectedRows; + int commands; +}; + +struct BatchArguments { + std::string sql; + std::vector params; +}; + +} // namespace opsqlite diff --git a/cpp/utils.cpp b/cpp/utils.cpp index b1b0ced2..d3e49ed2 100644 --- a/cpp/utils.cpp +++ b/cpp/utils.cpp @@ -1,327 +1,392 @@ -#include "utils.h" +#include "utils.hpp" #include "SmartHostObject.h" +#include "types.hpp" #ifndef OP_SQLITE_USE_LIBSQL #include "bridge.h" #endif +#include "OPThreadPool.h" #include #include +#include namespace opsqlite { namespace jsi = facebook::jsi; +namespace react = facebook::react; -inline jsi::Value to_jsi(jsi::Runtime &rt, const JSVariant &value) { - if (std::holds_alternative(value)) { - return std::get(value); - } else if (std::holds_alternative(value)) { - return jsi::Value(std::get(value)); - } else if (std::holds_alternative(value)) { - return jsi::Value(static_cast(std::get(value))); - } else if (std::holds_alternative(value)) { - return jsi::Value(std::get(value)); - } else if (std::holds_alternative(value)) { - auto str = std::get(value); - return jsi::String::createFromUtf8(rt, str); - } else if (std::holds_alternative(value)) { - auto jsBuffer = std::get(value); - jsi::Function array_buffer_ctor = - rt.global().getPropertyAsFunction(rt, "ArrayBuffer"); - jsi::Object o = - array_buffer_ctor.callAsConstructor(rt, (int)jsBuffer.size) - .getObject(rt); - jsi::ArrayBuffer buf = o.getArrayBuffer(rt); - memcpy(buf.data(rt), jsBuffer.data.get(), jsBuffer.size); - return o; - } +auto __thread_pool = std::make_shared(); - return jsi::Value::null(); - - // I wanted to use the visitor pattern here but on the ArrayBuffer case it - // is somehow throwing a pointer exception Somehow the v.size or - // v.data.get() is loosing the data when called from the lambda I'm guessing - // the I created the shared pointer wrong and the memory is being freed - // before the lambda is called - // return std::visit( - // [&](auto &&v) -> jsi::Value { - // using T = std::decay_t; - // if constexpr (std::is_same_v) { - // return jsi::Value(v); - // } else if constexpr (std::is_same_v) { - // return jsi::Value(v); - // } else if constexpr (std::is_same_v) { - // return jsi::Value( - // static_cast(v)); // JSI doesn't support long long - // } else if constexpr (std::is_same_v) { - // return jsi::Value(v); - // } else if constexpr (std::is_same_v) { - // return jsi::String::createFromUtf8(rt, v); - // } else if constexpr (std::is_same_v) { - // static jsi::Function buffer_constructor = - // rt.global().getPropertyAsFunction(rt, "ArrayBuffer"); - // jsi::Object o = - // buffer_constructor.callAsConstructor(rt, - // static_cast(v.size)) - // .getObject(rt); - // jsi::ArrayBuffer buf = o.getArrayBuffer(rt); - // memcpy(buf.data(rt), v.data.get(), v.size); - // return o; - // } else { - // return jsi::Value::null(); - // } - // }, - // value); +inline jsi::Value to_jsi(jsi::Runtime &rt, const JSVariant &value) { + if (std::holds_alternative(value)) { + return std::get(value); + } else if (std::holds_alternative(value)) { + return jsi::Value(std::get(value)); + } else if (std::holds_alternative(value)) { + return jsi::Value(static_cast(std::get(value))); + } else if (std::holds_alternative(value)) { + return jsi::Value(std::get(value)); + } else if (std::holds_alternative(value)) { + auto str = std::get(value); + return jsi::String::createFromUtf8(rt, str); + } else if (std::holds_alternative(value)) { + auto jsBuffer = std::get(value); + jsi::Function array_buffer_ctor = + rt.global().getPropertyAsFunction(rt, "ArrayBuffer"); + jsi::Object o = array_buffer_ctor.callAsConstructor(rt, (int)jsBuffer.size) + .getObject(rt); + jsi::ArrayBuffer buf = o.getArrayBuffer(rt); + memcpy(buf.data(rt), jsBuffer.data.get(), jsBuffer.size); + return o; + } + + return jsi::Value::null(); + + // I wanted to use the visitor pattern here but on the ArrayBuffer case it + // is somehow throwing a pointer exception Somehow the v.size or + // v.data.get() is loosing the data when called from the lambda I'm guessing + // the I created the shared pointer wrong and the memory is being freed + // before the lambda is called + // return std::visit( + // [&](auto &&v) -> jsi::Value { + // using T = std::decay_t; + // if constexpr (std::is_same_v) { + // return jsi::Value(v); + // } else if constexpr (std::is_same_v) { + // return jsi::Value(v); + // } else if constexpr (std::is_same_v) { + // return jsi::Value( + // static_cast(v)); // JSI doesn't support long long + // } else if constexpr (std::is_same_v) { + // return jsi::Value(v); + // } else if constexpr (std::is_same_v) { + // return jsi::String::createFromUtf8(rt, v); + // } else if constexpr (std::is_same_v) { + // static jsi::Function buffer_constructor = + // rt.global().getPropertyAsFunction(rt, "ArrayBuffer"); + // jsi::Object o = + // buffer_constructor.callAsConstructor(rt, + // static_cast(v.size)) + // .getObject(rt); + // jsi::ArrayBuffer buf = o.getArrayBuffer(rt); + // memcpy(buf.data(rt), v.data.get(), v.size); + // return o; + // } else { + // return jsi::Value::null(); + // } + // }, + // value); } inline JSVariant to_variant(jsi::Runtime &rt, const jsi::Value &value) { - if (value.isNull() || value.isUndefined()) { - return JSVariant(nullptr); - } else if (value.isBool()) { - return JSVariant(value.getBool()); - } else if (value.isNumber()) { - double doubleVal = value.asNumber(); - int intVal = (int)doubleVal; - long long longVal = (long)doubleVal; - if (intVal == doubleVal) { - return JSVariant(intVal); - } else if (longVal == doubleVal) { - return JSVariant(longVal); - } else { - return JSVariant(doubleVal); - } - } else if (value.isString()) { - std::string strVal = value.asString(rt).utf8(rt); - return JSVariant(strVal); - } else if (value.isObject()) { - auto obj = value.asObject(rt); - - if (!obj.isArrayBuffer(rt)) { - throw std::runtime_error( - "Object is not an ArrayBuffer, cannot bind to SQLite"); - } + if (value.isNull() || value.isUndefined()) { + return JSVariant(nullptr); + } else if (value.isBool()) { + return JSVariant(value.getBool()); + } else if (value.isNumber()) { + double doubleVal = value.asNumber(); + int intVal = (int)doubleVal; + long long longVal = (long)doubleVal; + if (intVal == doubleVal) { + return JSVariant(intVal); + } else if (longVal == doubleVal) { + return JSVariant(longVal); + } else { + return JSVariant(doubleVal); + } + } else if (value.isString()) { + std::string strVal = value.asString(rt).utf8(rt); + return JSVariant(strVal); + } else if (value.isObject()) { + auto obj = value.asObject(rt); + + if (!obj.isArrayBuffer(rt)) { + throw std::runtime_error( + "Object is not an ArrayBuffer, cannot bind to SQLite"); + } - auto buffer = obj.getArrayBuffer(rt); - uint8_t *data = new uint8_t[buffer.size(rt)]; - memcpy(data, buffer.data(rt), buffer.size(rt)); + auto buffer = obj.getArrayBuffer(rt); + uint8_t *data = new uint8_t[buffer.size(rt)]; + memcpy(data, buffer.data(rt), buffer.size(rt)); - return JSVariant(ArrayBuffer{.data = std::shared_ptr{data}, - .size = buffer.size(rt)}); - } + return JSVariant(ArrayBuffer{.data = std::shared_ptr{data}, + .size = buffer.size(rt)}); + } - throw std::runtime_error("Cannot convert JSI value to C++ Variant value"); + throw std::runtime_error("Cannot convert JSI value to C++ Variant value"); } std::vector to_string_vec(jsi::Runtime &rt, jsi::Value const &xs) { - jsi::Array values = xs.asObject(rt).asArray(rt); - std::vector res; - for (int ii = 0; ii < values.length(rt); ii++) { - std::string value = - values.getValueAtIndex(rt, ii).asString(rt).utf8(rt); - res.emplace_back(value); - } - return res; + jsi::Array values = xs.asObject(rt).asArray(rt); + std::vector res; + for (int ii = 0; ii < values.length(rt); ii++) { + std::string value = values.getValueAtIndex(rt, ii).asString(rt).utf8(rt); + res.emplace_back(value); + } + return res; } std::vector to_int_vec(jsi::Runtime &rt, jsi::Value const &xs) { - jsi::Array values = xs.asObject(rt).asArray(rt); - std::vector res; - for (int ii = 0; ii < values.length(rt); ii++) { - int value = static_cast(values.getValueAtIndex(rt, ii).asNumber()); - res.emplace_back(value); - } - return res; + jsi::Array values = xs.asObject(rt).asArray(rt); + std::vector res; + for (int ii = 0; ii < values.length(rt); ii++) { + int value = static_cast(values.getValueAtIndex(rt, ii).asNumber()); + res.emplace_back(value); + } + return res; } std::vector to_variant_vec(jsi::Runtime &rt, jsi::Value const &xs) { - std::vector res; - jsi::Array values = xs.asObject(rt).asArray(rt); + std::vector res; + jsi::Array values = xs.asObject(rt).asArray(rt); - for (int ii = 0; ii < values.length(rt); ii++) { - jsi::Value value = values.getValueAtIndex(rt, ii); - res.emplace_back(to_variant(rt, value)); - } + for (int ii = 0; ii < values.length(rt); ii++) { + jsi::Value value = values.getValueAtIndex(rt, ii); + res.emplace_back(to_variant(rt, value)); + } - return res; + return res; } jsi::Value create_js_rows(jsi::Runtime &rt, const BridgeResult &status) { - jsi::Object res = jsi::Object(rt); - - res.setProperty(rt, "rowsAffected", status.affectedRows); - if (status.affectedRows > 0 && status.insertId != 0) { - res.setProperty(rt, "insertId", jsi::Value(status.insertId)); - } - - size_t row_count = status.rows.size(); - auto rows = jsi::Array(rt, row_count); - - if (row_count > 0) { - for (int i = 0; i < row_count; i++) { - auto row = jsi::Array(rt, status.column_names.size()); - std::vector native_row = status.rows[i]; - for (int j = 0; j < native_row.size(); j++) { - auto value = to_jsi(rt, native_row[j]); - row.setValueAtIndex(rt, j, value); - } - rows.setValueAtIndex(rt, i, row); - } + jsi::Object res = jsi::Object(rt); + + res.setProperty(rt, "rowsAffected", status.affectedRows); + if (status.affectedRows > 0 && status.insertId != 0) { + res.setProperty(rt, "insertId", jsi::Value(status.insertId)); + } + + size_t row_count = status.rows.size(); + size_t column_count = status.column_names.size(); + + std::vector column_prop_ids; + column_prop_ids.reserve(column_count); + for (size_t i = 0; i < column_count; i++) { + column_prop_ids.emplace_back( + jsi::PropNameID::forUtf8(rt, status.column_names[i])); + } + + auto rows = jsi::Array(rt, row_count); + for (int i = 0; i < row_count; i++) { + auto row = jsi::Object(rt); + for (int j = 0; j < column_count; j++) { + row.setProperty(rt, column_prop_ids[j], to_jsi(rt, status.rows[i][j])); } - res.setProperty(rt, "rawRows", rows); + rows.setValueAtIndex(rt, i, std::move(row)); + } + res.setProperty(rt, "rows", std::move(rows)); - size_t column_count = status.column_names.size(); - auto column_array = jsi::Array(rt, column_count); - for (int i = 0; i < column_count; i++) { - auto column = status.column_names.at(i); - column_array.setValueAtIndex(rt, i, to_jsi(rt, column)); - } - res.setProperty(rt, "columnNames", std::move(column_array)); - return res; + return res; } jsi::Value create_result(jsi::Runtime &rt, const BridgeResult &status, std::vector *results, std::shared_ptr> metadata) { - jsi::Object res = jsi::Object(rt); - - res.setProperty(rt, "rowsAffected", status.affectedRows); - if (status.affectedRows > 0 && status.insertId != 0) { - res.setProperty(rt, "insertId", jsi::Value(status.insertId)); - } - - size_t rowCount = results->size(); - - auto array = jsi::Array(rt, rowCount); - for (int i = 0; i < rowCount; i++) { - auto obj = results->at(i); - array.setValueAtIndex(rt, i, - jsi::Object::createFromHostObject( - rt, std::make_shared(obj))); - } - res.setProperty(rt, "rows", std::move(array)); - - size_t column_count = metadata->size(); - auto column_array = jsi::Array(rt, column_count); - for (int i = 0; i < column_count; i++) { - auto column = metadata->at(i); - column_array.setValueAtIndex( - rt, i, - jsi::Object::createFromHostObject( - rt, std::make_shared(column))); - } - res.setProperty(rt, "metadata", std::move(column_array)); - - return std::move(res); + jsi::Object res = jsi::Object(rt); + + res.setProperty(rt, "rowsAffected", status.affectedRows); + if (status.affectedRows > 0 && status.insertId != 0) { + res.setProperty(rt, "insertId", jsi::Value(status.insertId)); + } + + size_t rowCount = results->size(); + + auto array = jsi::Array(rt, rowCount); + for (int i = 0; i < rowCount; i++) { + auto obj = results->at(i); + array.setValueAtIndex(rt, i, + jsi::Object::createFromHostObject( + rt, std::make_shared(obj))); + } + res.setProperty(rt, "rows", std::move(array)); + + size_t column_count = metadata->size(); + auto column_array = jsi::Array(rt, column_count); + for (int i = 0; i < column_count; i++) { + auto column = metadata->at(i); + column_array.setValueAtIndex( + rt, i, + jsi::Object::createFromHostObject( + rt, std::make_shared(column))); + } + res.setProperty(rt, "metadata", std::move(column_array)); + + return std::move(res); } jsi::Value create_raw_result(jsi::Runtime &rt, const BridgeResult &status, const std::vector> *results) { - size_t row_count = results->size(); - jsi::Array res = jsi::Array(rt, row_count); - for (int i = 0; i < row_count; i++) { - auto row = results->at(i); - auto array = jsi::Array(rt, row.size()); - for (int j = 0; j < row.size(); j++) { - array.setValueAtIndex(rt, j, to_jsi(rt, row[j])); - } - res.setValueAtIndex(rt, i, array); + size_t row_count = results->size(); + jsi::Array res = jsi::Array(rt, row_count); + for (int i = 0; i < row_count; i++) { + auto row = results->at(i); + auto array = jsi::Array(rt, row.size()); + for (int j = 0; j < row.size(); j++) { + array.setValueAtIndex(rt, j, to_jsi(rt, row[j])); } - return res; + res.setValueAtIndex(rt, i, array); + } + return res; } void to_batch_arguments(jsi::Runtime &rt, jsi::Array const &tuples, std::vector *commands) { - for (int i = 0; i < tuples.length(rt); i++) { - const jsi::Array &tuple = - tuples.getValueAtIndex(rt, i).asObject(rt).asArray(rt); - const size_t length = tuple.length(rt); - if (length == 0) { - continue; - } + for (int i = 0; i < tuples.length(rt); i++) { + const jsi::Array &tuple = + tuples.getValueAtIndex(rt, i).asObject(rt).asArray(rt); + const size_t length = tuple.length(rt); + if (length == 0) { + continue; + } - const std::string query = - tuple.getValueAtIndex(rt, 0).asString(rt).utf8(rt); - if (length == 1) { - commands->push_back({query}); - continue; - } + const std::string query = + tuple.getValueAtIndex(rt, 0).asString(rt).utf8(rt); + if (length == 1) { + commands->push_back({query}); + continue; + } - const jsi::Value &tuple_params = tuple.getValueAtIndex(rt, 1); - - if (!tuple_params.isUndefined() && - tuple_params.asObject(rt).isArray(rt) && - tuple_params.asObject(rt).asArray(rt).length(rt) > 0 && - tuple_params.asObject(rt) - .asArray(rt) - .getValueAtIndex(rt, 0) - .isObject()) { - // The params for this tuple is an array itself - // The query should repeat for each element in the array - const jsi::Array ¶ms_array = - tuple_params.asObject(rt).asArray(rt); - for (int x = 0; x < params_array.length(rt); x++) { - const jsi::Value &p = params_array.getValueAtIndex(rt, x); - auto params = std::vector(to_variant_vec(rt, p)); - commands->push_back({query, params}); - } - } else { - auto params = - std::vector(to_variant_vec(rt, tuple_params)); - commands->push_back({query, params}); - } + const jsi::Value &tuple_params = tuple.getValueAtIndex(rt, 1); + + if (!tuple_params.isUndefined() && tuple_params.asObject(rt).isArray(rt) && + tuple_params.asObject(rt).asArray(rt).length(rt) > 0 && + tuple_params.asObject(rt) + .asArray(rt) + .getValueAtIndex(rt, 0) + .isObject()) { + // The params for this tuple is an array itself + // The query should repeat for each element in the array + const jsi::Array ¶ms_array = tuple_params.asObject(rt).asArray(rt); + for (int x = 0; x < params_array.length(rt); x++) { + const jsi::Value &p = params_array.getValueAtIndex(rt, x); + auto params = std::vector(to_variant_vec(rt, p)); + commands->push_back({query, params}); + } + } else { + auto params = std::vector(to_variant_vec(rt, tuple_params)); + commands->push_back({query, params}); } + } } #ifndef OP_SQLITE_USE_LIBSQL BatchResult import_sql_file(sqlite3 *db, std::string path) { - std::string line; - std::ifstream sqFile(path); - if (!sqFile.is_open()) { - throw std::runtime_error("Could not open file: " + path); - } - - try { - int affectedRows = 0; - int commands = 0; - opsqlite_execute(db, "BEGIN EXCLUSIVE TRANSACTION", nullptr); - while (std::getline(sqFile, line, '\n')) { - if (!line.empty()) { - try { - auto result = opsqlite_execute(db, line, nullptr); - affectedRows += result.affectedRows; - commands++; - } catch (std::exception &exc) { - opsqlite_execute(db, "ROLLBACK", nullptr); - sqFile.close(); - throw exc; - } - } + std::string line; + std::ifstream sqFile(path); + if (!sqFile.is_open()) { + throw std::runtime_error("Could not open file: " + path); + } + + try { + int affectedRows = 0; + int commands = 0; + opsqlite_execute(db, "BEGIN EXCLUSIVE TRANSACTION", nullptr); + while (std::getline(sqFile, line, '\n')) { + if (!line.empty()) { + try { + auto result = opsqlite_execute(db, line, nullptr); + affectedRows += result.affectedRows; + commands++; + } catch (std::exception &exc) { + opsqlite_execute(db, "ROLLBACK", nullptr); + sqFile.close(); + throw exc; } - sqFile.close(); - opsqlite_execute(db, "COMMIT", nullptr); - return {"", affectedRows, commands}; - } catch (std::exception &exc) { - sqFile.close(); - opsqlite_execute(db, "ROLLBACK", nullptr); - throw exc; + } } + sqFile.close(); + opsqlite_execute(db, "COMMIT", nullptr); + return {"", affectedRows, commands}; + } catch (std::exception &exc) { + sqFile.close(); + opsqlite_execute(db, "ROLLBACK", nullptr); + throw exc; + } } #endif bool folder_exists(const std::string &name) { - struct stat buffer; - return (stat(name.c_str(), &buffer) == 0); + struct stat buffer; + return (stat(name.c_str(), &buffer) == 0); } bool file_exists(const std::string &path) { - struct stat buffer; - return (stat(path.c_str(), &buffer) == 0); + struct stat buffer; + return (stat(path.c_str(), &buffer) == 0); } void log_to_console(jsi::Runtime &runtime, const std::string &message) { - auto console = runtime.global().getPropertyAsObject(runtime, "console"); - auto log = console.getPropertyAsFunction(runtime, "log"); - log.call(runtime, jsi::String::createFromUtf8(runtime, message)); + auto console = runtime.global().getPropertyAsObject(runtime, "console"); + auto log = console.getPropertyAsFunction(runtime, "log"); + log.call(runtime, jsi::String::createFromUtf8(runtime, message)); +} + +inline jsi::Function host_fn(jsi::Runtime &rt, jsi::HostFunctionType lambda) { + return jsi::Function::createFromHostFunction( + rt, jsi::PropNameID::forAscii(rt, ""), 0, std::move(lambda)); +}; + +jsi::Value +promisify(jsi::Runtime &rt, std::function lambda, + std::function + resolve_callback) { + auto promise_constructor = rt.global().getPropertyAsFunction(rt, "Promise"); + + auto executor = host_fn(rt, [lambda = std::move(lambda), + resolve_callback = std::move(resolve_callback)]( + jsi::Runtime &rt, const jsi::Value &thiz, + const jsi::Value *args, size_t count) { + auto resolve = std::make_shared(rt, args[0]); + auto reject = std::make_shared(rt, args[1]); + + auto task = [lambda = lambda, resolve_callback = resolve_callback, + resolve = std::move(resolve), reject = std::move(reject)]() { + try { + std::any result = lambda(); + + if (opsqlite::invalidated) { + return; + } + + opsqlite::invoker->invokeAsync( + [result = std::move(result), resolve = resolve, + resolve_callback = resolve_callback](jsi::Runtime &rt) { + auto jsi_result = resolve_callback(rt, result); + resolve->asObject(rt).asFunction(rt).call(rt, jsi_result); + }); + } catch (std::runtime_error &e) { + // On Android RN is broken and does not correctly match + // runtime_error to the generic exception We have to + // explicitly catch it + // https://github.com/facebook/react-native/issues/48027 + auto what = e.what(); + opsqlite::invoker->invokeAsync( + [what = std::string(what), reject = reject](jsi::Runtime &rt) { + auto errorCtr = rt.global().getPropertyAsFunction(rt, "Error"); + auto error = errorCtr.callAsConstructor( + rt, jsi::String::createFromAscii(rt, what)); + reject->asObject(rt).asFunction(rt).call(rt, error); + }); + } catch (std::exception &exc) { + auto what = exc.what(); + opsqlite::invoker->invokeAsync( + [what = std::string(what), reject = reject](jsi::Runtime &rt) { + auto errorCtr = rt.global().getPropertyAsFunction(rt, "Error"); + auto error = errorCtr.callAsConstructor( + rt, jsi::String::createFromAscii(rt, what)); + reject->asObject(rt).asFunction(rt).call(rt, error); + }); + } + }; + + __thread_pool->queueWork(task); + + return jsi::Value(nullptr); + }); + + auto promise = promise_constructor.callAsConstructor(rt, executor); + return promise; } } // namespace opsqlite diff --git a/cpp/utils.h b/cpp/utils.hpp similarity index 80% rename from cpp/utils.h rename to cpp/utils.hpp index 938216e9..e11ba680 100644 --- a/cpp/utils.h +++ b/cpp/utils.hpp @@ -2,19 +2,21 @@ #include "DumbHostObject.h" #include "SmartHostObject.h" -#include "types.h" +#include "types.hpp" #include #ifdef __ANDROID__ #include "sqlite3.h" #else #include #endif +#include #include #include namespace opsqlite { namespace jsi = facebook::jsi; +namespace react = facebook::react; jsi::Value to_jsi(jsi::Runtime &rt, const JSVariant &value); @@ -48,4 +50,10 @@ bool file_exists(const std::string &path); void log_to_console(jsi::Runtime &rt, const std::string &message); +jsi::Function host_fn(jsi::Runtime &rt, jsi::HostFunctionType lambda); +jsi::Value +promisify(jsi::Runtime &rt, std::function lambda, + std::function + resolve_callback); + } // namespace opsqlite diff --git a/example/.bundle/config b/example/.bundle/config deleted file mode 100644 index 848943bb..00000000 --- a/example/.bundle/config +++ /dev/null @@ -1,2 +0,0 @@ -BUNDLE_PATH: "vendor/bundle" -BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/example/Gemfile.lock b/example/Gemfile.lock index 3956c510..51503738 100644 --- a/example/Gemfile.lock +++ b/example/Gemfile.lock @@ -1,24 +1,28 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.7) + CFPropertyList (3.0.8) + activesupport (7.2.3) base64 - nkf - rexml - activesupport (7.0.8.1) - concurrent-ruby (~> 1.0, >= 1.0.2) + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - tzinfo (~> 2.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) - base64 (0.2.0) - benchmark (0.4.0) - bigdecimal (3.1.5) + base64 (0.3.0) + benchmark (0.5.0) + bigdecimal (3.3.1) claide (1.1.0) cocoapods (1.15.2) addressable (~> 2.8) @@ -58,31 +62,44 @@ GEM netrc (~> 0.11) cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.3) + connection_pool (2.5.4) + drb (2.2.3) escape (0.0.4) - ethon (0.16.0) + ethon (0.15.0) ffi (>= 1.15.0) - ffi (1.17.1) + ffi (1.17.2) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86-linux-gnu) + ffi (1.17.2-x86-linux-musl) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.14.4) + httpclient (2.9.0) + mutex_m + i18n (1.14.7) concurrent-ruby (~> 1.0) - json (2.9.1) + json (2.16.0) logger (1.7.0) - minitest (5.22.3) + minitest (5.26.2) molinillo (0.8.0) - mutex_m (0.2.0) + mutex_m (0.3.0) nanaimo (0.3.0) nap (1.1.0) netrc (0.11.0) - nkf (0.2.0) public_suffix (4.0.7) - rexml (3.4.1) + rexml (3.4.4) ruby-macho (2.5.1) - typhoeus (1.4.1) - ethon (>= 0.9.0) + securerandom (0.4.1) + typhoeus (1.5.0) + ethon (>= 0.9.0, < 0.16.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) xcodeproj (1.25.1) @@ -94,7 +111,17 @@ GEM rexml (>= 3.3.6, < 4.0) PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin ruby + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES activesupport (>= 6.1.7.5, != 7.1.0) @@ -107,7 +134,7 @@ DEPENDENCIES xcodeproj (< 1.26.0) RUBY VERSION - ruby 3.3.1p55 + ruby 3.3.0p0 BUNDLED WITH - 2.5.9 + 2.7.2 diff --git a/example/android/app/src/main/kotlin/com/op/sqlite/example/MainApplication.kt b/example/android/app/src/main/kotlin/com/op/sqlite/example/MainApplication.kt index d877bde7..2cae8d27 100644 --- a/example/android/app/src/main/kotlin/com/op/sqlite/example/MainApplication.kt +++ b/example/android/app/src/main/kotlin/com/op/sqlite/example/MainApplication.kt @@ -13,21 +13,17 @@ import com.facebook.react.soloader.OpenSourceMergedSoMapping import com.facebook.soloader.SoLoader class MainApplication : Application(), ReactApplication { + override val reactHost: ReactHost by lazy { + getDefaultReactHost( + context = applicationContext, + packageList = + PackageList(this).packages.apply { + // Packages that cannot be autolinked yet can be added manually here, for example: + // add(MyReactNativePackage()) + }, + ) + } - override val reactNativeHost: ReactNativeHost = - object : DefaultReactNativeHost(this) { - override fun getPackages(): List = PackageList(this).packages.apply {} - - override fun getJSMainModuleName(): String = "index" - - override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG - - override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED - override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED - } - - override val reactHost: ReactHost - get() = getDefaultReactHost(applicationContext, reactNativeHost) override fun onCreate() { super.onCreate() diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index 37f853b1..2a84e188 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/example/index.js b/example/index.js index fb9073a2..ef707c25 100644 --- a/example/index.js +++ b/example/index.js @@ -2,8 +2,4 @@ import {AppRegistry} from 'react-native'; import App from './src/App'; import {name as appName} from './app.json'; -global.process.cwd = () => 'sxsx'; -global.process.env = {NODE_ENV: 'production'}; -global.location = {}; - AppRegistry.registerComponent(appName, () => App); diff --git a/example/ios/OPSQLiteExample.xcodeproj/project.pbxproj b/example/ios/OPSQLiteExample.xcodeproj/project.pbxproj index 905f0c58..e72d2304 100644 --- a/example/ios/OPSQLiteExample.xcodeproj/project.pbxproj +++ b/example/ios/OPSQLiteExample.xcodeproj/project.pbxproj @@ -448,6 +448,7 @@ REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; + SWIFT_ENABLE_EXPLICIT_MODULES = NO; USE_HERMES = true; }; name = Debug; @@ -532,11 +533,13 @@ "$(OTHER_CFLAGS)", "-DFOLLY_NO_CONFIG", "-DFOLLY_MOBILE=1", + "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_USE_LIBCPP=1", ); OTHER_LDFLAGS = "$(inherited)"; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; + SWIFT_ENABLE_EXPLICIT_MODULES = NO; USE_HERMES = true; VALIDATE_PRODUCT = YES; }; diff --git a/example/ios/OPSQLiteExample/Info.plist b/example/ios/OPSQLiteExample/Info.plist index 4fd117d9..bce5a746 100644 --- a/example/ios/OPSQLiteExample/Info.plist +++ b/example/ios/OPSQLiteExample/Info.plist @@ -2,6 +2,8 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion en CFBundleDisplayName diff --git a/example/ios/Podfile b/example/ios/Podfile index a3d0d1ea..f9171bf7 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -10,7 +10,6 @@ require Pod::Executable.execute_command('node', ['-p', platform :ios, min_ios_version_supported prepare_react_native_project! - linkage = ENV['USE_FRAMEWORKS'] if linkage != nil Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 211428e7..a8e92492 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,11 +1,8 @@ PODS: - - FBLazyVector (0.81.0) - - GCDWebServer (3.5.4): - - GCDWebServer/Core (= 3.5.4) - - GCDWebServer/Core (3.5.4) - - hermes-engine (0.81.0): - - hermes-engine/Pre-built (= 0.81.0) - - hermes-engine/Pre-built (0.81.0) + - FBLazyVector (0.82.1) + - hermes-engine (0.82.1): + - hermes-engine/Pre-built (= 0.82.1) + - hermes-engine/Pre-built (0.82.1) - op-sqlite (0.0.0): - hermes-engine - RCTRequired @@ -28,31 +25,53 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - RCTDeprecation (0.81.0) - - RCTRequired (0.81.0) - - RCTTypeSafety (0.81.0): - - FBLazyVector (= 0.81.0) - - RCTRequired (= 0.81.0) - - React-Core (= 0.81.0) - - React (0.81.0): - - React-Core (= 0.81.0) - - React-Core/DevSupport (= 0.81.0) - - React-Core/RCTWebSocket (= 0.81.0) - - React-RCTActionSheet (= 0.81.0) - - React-RCTAnimation (= 0.81.0) - - React-RCTBlob (= 0.81.0) - - React-RCTImage (= 0.81.0) - - React-RCTLinking (= 0.81.0) - - React-RCTNetwork (= 0.81.0) - - React-RCTSettings (= 0.81.0) - - React-RCTText (= 0.81.0) - - React-RCTVibration (= 0.81.0) - - React-callinvoker (0.81.0) - - React-Core (0.81.0): + - OpServer (0.1.4): + - hermes-engine + - RCTRequired + - RCTTypeSafety + - React-Core + - React-Core-prebuilt + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-jsi + - React-NativeModulesApple + - React-RCTFabric + - React-renderercss + - React-rendererdebug + - React-utils + - ReactCodegen + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - ReactNativeDependencies + - Yoga + - RCTDeprecation (0.82.1) + - RCTRequired (0.82.1) + - RCTTypeSafety (0.82.1): + - FBLazyVector (= 0.82.1) + - RCTRequired (= 0.82.1) + - React-Core (= 0.82.1) + - React (0.82.1): + - React-Core (= 0.82.1) + - React-Core/DevSupport (= 0.82.1) + - React-Core/RCTWebSocket (= 0.82.1) + - React-RCTActionSheet (= 0.82.1) + - React-RCTAnimation (= 0.82.1) + - React-RCTBlob (= 0.82.1) + - React-RCTImage (= 0.82.1) + - React-RCTLinking (= 0.82.1) + - React-RCTNetwork (= 0.82.1) + - React-RCTSettings (= 0.82.1) + - React-RCTText (= 0.82.1) + - React-RCTVibration (= 0.82.1) + - React-callinvoker (0.82.1) + - React-Core (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt - - React-Core/Default (= 0.81.0) + - React-Core/Default (= 0.82.1) - React-cxxreact - React-featureflags - React-hermes @@ -67,9 +86,9 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core-prebuilt (0.81.0): + - React-Core-prebuilt (0.82.1): - ReactNativeDependencies - - React-Core/CoreModulesHeaders (0.81.0): + - React-Core/CoreModulesHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -88,7 +107,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/Default (0.81.0): + - React-Core/Default (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -106,12 +125,12 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/DevSupport (0.81.0): + - React-Core/DevSupport (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt - - React-Core/Default (= 0.81.0) - - React-Core/RCTWebSocket (= 0.81.0) + - React-Core/Default (= 0.82.1) + - React-Core/RCTWebSocket (= 0.82.1) - React-cxxreact - React-featureflags - React-hermes @@ -126,7 +145,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTActionSheetHeaders (0.81.0): + - React-Core/RCTActionSheetHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -145,7 +164,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTAnimationHeaders (0.81.0): + - React-Core/RCTAnimationHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -164,7 +183,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTBlobHeaders (0.81.0): + - React-Core/RCTBlobHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -183,7 +202,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTImageHeaders (0.81.0): + - React-Core/RCTImageHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -202,7 +221,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTLinkingHeaders (0.81.0): + - React-Core/RCTLinkingHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -221,7 +240,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTNetworkHeaders (0.81.0): + - React-Core/RCTNetworkHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -240,7 +259,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTSettingsHeaders (0.81.0): + - React-Core/RCTSettingsHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -259,7 +278,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTTextHeaders (0.81.0): + - React-Core/RCTTextHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -278,7 +297,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTVibrationHeaders (0.81.0): + - React-Core/RCTVibrationHeaders (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt @@ -297,11 +316,11 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-Core/RCTWebSocket (0.81.0): + - React-Core/RCTWebSocket (0.82.1): - hermes-engine - RCTDeprecation - React-Core-prebuilt - - React-Core/Default (= 0.81.0) + - React-Core/Default (= 0.82.1) - React-cxxreact - React-featureflags - React-hermes @@ -316,37 +335,38 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-CoreModules (0.81.0): - - RCTTypeSafety (= 0.81.0) + - React-CoreModules (0.82.1): + - RCTTypeSafety (= 0.82.1) - React-Core-prebuilt - - React-Core/CoreModulesHeaders (= 0.81.0) - - React-jsi (= 0.81.0) + - React-Core/CoreModulesHeaders (= 0.82.1) + - React-debug + - React-jsi (= 0.82.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-NativeModulesApple - React-RCTBlob - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.81.0) + - React-RCTImage (= 0.82.1) - React-runtimeexecutor - ReactCommon - ReactNativeDependencies - - React-cxxreact (0.81.0): + - React-cxxreact (0.82.1): - hermes-engine - - React-callinvoker (= 0.81.0) + - React-callinvoker (= 0.82.1) - React-Core-prebuilt - - React-debug (= 0.81.0) - - React-jsi (= 0.81.0) + - React-debug (= 0.82.1) + - React-jsi (= 0.82.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-logger (= 0.81.0) - - React-perflogger (= 0.81.0) + - React-logger (= 0.82.1) + - React-perflogger (= 0.82.1) - React-runtimeexecutor - - React-timing (= 0.81.0) + - React-timing (= 0.82.1) - ReactNativeDependencies - - React-debug (0.81.0) - - React-defaultsnativemodule (0.81.0): + - React-debug (0.82.1) + - React-defaultsnativemodule (0.82.1): - hermes-engine - React-Core-prebuilt - React-domnativemodule @@ -356,8 +376,9 @@ PODS: - React-jsiexecutor - React-microtasksnativemodule - React-RCTFBReactNativeSpec + - React-webperformancenativemodule - ReactNativeDependencies - - React-domnativemodule (0.81.0): + - React-domnativemodule (0.82.1): - hermes-engine - React-Core-prebuilt - React-Fabric @@ -371,7 +392,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-Fabric (0.81.0): + - React-Fabric (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -379,23 +400,23 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/animations (= 0.81.0) - - React-Fabric/attributedstring (= 0.81.0) - - React-Fabric/bridging (= 0.81.0) - - React-Fabric/componentregistry (= 0.81.0) - - React-Fabric/componentregistrynative (= 0.81.0) - - React-Fabric/components (= 0.81.0) - - React-Fabric/consistency (= 0.81.0) - - React-Fabric/core (= 0.81.0) - - React-Fabric/dom (= 0.81.0) - - React-Fabric/imagemanager (= 0.81.0) - - React-Fabric/leakchecker (= 0.81.0) - - React-Fabric/mounting (= 0.81.0) - - React-Fabric/observers (= 0.81.0) - - React-Fabric/scheduler (= 0.81.0) - - React-Fabric/telemetry (= 0.81.0) - - React-Fabric/templateprocessor (= 0.81.0) - - React-Fabric/uimanager (= 0.81.0) + - React-Fabric/animations (= 0.82.1) + - React-Fabric/attributedstring (= 0.82.1) + - React-Fabric/bridging (= 0.82.1) + - React-Fabric/componentregistry (= 0.82.1) + - React-Fabric/componentregistrynative (= 0.82.1) + - React-Fabric/components (= 0.82.1) + - React-Fabric/consistency (= 0.82.1) + - React-Fabric/core (= 0.82.1) + - React-Fabric/dom (= 0.82.1) + - React-Fabric/imagemanager (= 0.82.1) + - React-Fabric/leakchecker (= 0.82.1) + - React-Fabric/mounting (= 0.82.1) + - React-Fabric/observers (= 0.82.1) + - React-Fabric/scheduler (= 0.82.1) + - React-Fabric/telemetry (= 0.82.1) + - React-Fabric/templateprocessor (= 0.82.1) + - React-Fabric/uimanager (= 0.82.1) - React-featureflags - React-graphics - React-jsi @@ -407,7 +428,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/animations (0.81.0): + - React-Fabric/animations (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -426,7 +447,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/attributedstring (0.81.0): + - React-Fabric/attributedstring (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -445,7 +466,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/bridging (0.81.0): + - React-Fabric/bridging (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -464,7 +485,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/componentregistry (0.81.0): + - React-Fabric/componentregistry (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -483,7 +504,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/componentregistrynative (0.81.0): + - React-Fabric/componentregistrynative (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -502,7 +523,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components (0.81.0): + - React-Fabric/components (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -510,10 +531,10 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.81.0) - - React-Fabric/components/root (= 0.81.0) - - React-Fabric/components/scrollview (= 0.81.0) - - React-Fabric/components/view (= 0.81.0) + - React-Fabric/components/legacyviewmanagerinterop (= 0.82.1) + - React-Fabric/components/root (= 0.82.1) + - React-Fabric/components/scrollview (= 0.82.1) + - React-Fabric/components/view (= 0.82.1) - React-featureflags - React-graphics - React-jsi @@ -525,7 +546,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/legacyviewmanagerinterop (0.81.0): + - React-Fabric/components/legacyviewmanagerinterop (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -544,7 +565,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/root (0.81.0): + - React-Fabric/components/root (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -563,7 +584,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/scrollview (0.81.0): + - React-Fabric/components/scrollview (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -582,7 +603,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/components/view (0.81.0): + - React-Fabric/components/view (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -603,7 +624,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-Fabric/consistency (0.81.0): + - React-Fabric/consistency (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -622,7 +643,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/core (0.81.0): + - React-Fabric/core (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -641,7 +662,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/dom (0.81.0): + - React-Fabric/dom (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -660,7 +681,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/imagemanager (0.81.0): + - React-Fabric/imagemanager (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -679,7 +700,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/leakchecker (0.81.0): + - React-Fabric/leakchecker (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -698,7 +719,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/mounting (0.81.0): + - React-Fabric/mounting (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -717,7 +738,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/observers (0.81.0): + - React-Fabric/observers (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -725,7 +746,7 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.81.0) + - React-Fabric/observers/events (= 0.82.1) - React-featureflags - React-graphics - React-jsi @@ -737,7 +758,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/observers/events (0.81.0): + - React-Fabric/observers/events (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -756,7 +777,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/scheduler (0.81.0): + - React-Fabric/scheduler (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -770,6 +791,7 @@ PODS: - React-jsi - React-jsiexecutor - React-logger + - React-performancecdpmetrics - React-performancetimeline - React-rendererdebug - React-runtimeexecutor @@ -777,7 +799,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/telemetry (0.81.0): + - React-Fabric/telemetry (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -796,7 +818,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/templateprocessor (0.81.0): + - React-Fabric/templateprocessor (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -815,7 +837,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/uimanager (0.81.0): + - React-Fabric/uimanager (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -823,7 +845,7 @@ PODS: - React-Core-prebuilt - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.81.0) + - React-Fabric/uimanager/consistency (= 0.82.1) - React-featureflags - React-graphics - React-jsi @@ -836,7 +858,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-Fabric/uimanager/consistency (0.81.0): + - React-Fabric/uimanager/consistency (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -856,7 +878,63 @@ PODS: - React-utils - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-FabricComponents (0.81.0): + - React-FabricComponents (0.82.1): + - hermes-engine + - RCTRequired + - RCTTypeSafety + - React-Core + - React-Core-prebuilt + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components (= 0.82.1) + - React-FabricComponents/textlayoutmanager (= 0.82.1) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-RCTFBReactNativeSpec + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - ReactNativeDependencies + - Yoga + - React-FabricComponents/components (0.82.1): + - hermes-engine + - RCTRequired + - RCTTypeSafety + - React-Core + - React-Core-prebuilt + - React-cxxreact + - React-debug + - React-Fabric + - React-FabricComponents/components/inputaccessory (= 0.82.1) + - React-FabricComponents/components/iostextinput (= 0.82.1) + - React-FabricComponents/components/modal (= 0.82.1) + - React-FabricComponents/components/rncore (= 0.82.1) + - React-FabricComponents/components/safeareaview (= 0.82.1) + - React-FabricComponents/components/scrollview (= 0.82.1) + - React-FabricComponents/components/switch (= 0.82.1) + - React-FabricComponents/components/text (= 0.82.1) + - React-FabricComponents/components/textinput (= 0.82.1) + - React-FabricComponents/components/unimplementedview (= 0.82.1) + - React-FabricComponents/components/virtualview (= 0.82.1) + - React-FabricComponents/components/virtualviewexperimental (= 0.82.1) + - React-featureflags + - React-graphics + - React-jsi + - React-jsiexecutor + - React-logger + - React-RCTFBReactNativeSpec + - React-rendererdebug + - React-runtimescheduler + - React-utils + - ReactCommon/turbomodule/core + - ReactNativeDependencies + - Yoga + - React-FabricComponents/components/inputaccessory (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -865,8 +943,6 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.81.0) - - React-FabricComponents/textlayoutmanager (= 0.81.0) - React-featureflags - React-graphics - React-jsi @@ -879,7 +955,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components (0.81.0): + - React-FabricComponents/components/iostextinput (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -888,16 +964,6 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.81.0) - - React-FabricComponents/components/iostextinput (= 0.81.0) - - React-FabricComponents/components/modal (= 0.81.0) - - React-FabricComponents/components/rncore (= 0.81.0) - - React-FabricComponents/components/safeareaview (= 0.81.0) - - React-FabricComponents/components/scrollview (= 0.81.0) - - React-FabricComponents/components/text (= 0.81.0) - - React-FabricComponents/components/textinput (= 0.81.0) - - React-FabricComponents/components/unimplementedview (= 0.81.0) - - React-FabricComponents/components/virtualview (= 0.81.0) - React-featureflags - React-graphics - React-jsi @@ -910,7 +976,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/inputaccessory (0.81.0): + - React-FabricComponents/components/modal (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -931,7 +997,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/iostextinput (0.81.0): + - React-FabricComponents/components/rncore (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -952,7 +1018,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/modal (0.81.0): + - React-FabricComponents/components/safeareaview (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -973,7 +1039,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/rncore (0.81.0): + - React-FabricComponents/components/scrollview (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -994,7 +1060,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/safeareaview (0.81.0): + - React-FabricComponents/components/switch (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1015,7 +1081,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/scrollview (0.81.0): + - React-FabricComponents/components/text (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1036,7 +1102,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/text (0.81.0): + - React-FabricComponents/components/textinput (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1057,7 +1123,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/textinput (0.81.0): + - React-FabricComponents/components/unimplementedview (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1078,7 +1144,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/unimplementedview (0.81.0): + - React-FabricComponents/components/virtualview (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1099,7 +1165,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/components/virtualview (0.81.0): + - React-FabricComponents/components/virtualviewexperimental (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1120,7 +1186,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricComponents/textlayoutmanager (0.81.0): + - React-FabricComponents/textlayoutmanager (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1141,27 +1207,27 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-FabricImage (0.81.0): + - React-FabricImage (0.82.1): - hermes-engine - - RCTRequired (= 0.81.0) - - RCTTypeSafety (= 0.81.0) + - RCTRequired (= 0.82.1) + - RCTTypeSafety (= 0.82.1) - React-Core-prebuilt - React-Fabric - React-featureflags - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.81.0) + - React-jsiexecutor (= 0.82.1) - React-logger - React-rendererdebug - React-utils - ReactCommon - ReactNativeDependencies - Yoga - - React-featureflags (0.81.0): + - React-featureflags (0.82.1): - React-Core-prebuilt - ReactNativeDependencies - - React-featureflagsnativemodule (0.81.0): + - React-featureflagsnativemodule (0.82.1): - hermes-engine - React-Core-prebuilt - React-featureflags @@ -1170,26 +1236,27 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-graphics (0.81.0): + - React-graphics (0.82.1): - hermes-engine - React-Core-prebuilt - React-jsi - React-jsiexecutor - React-utils - ReactNativeDependencies - - React-hermes (0.81.0): + - React-hermes (0.82.1): - hermes-engine - React-Core-prebuilt - - React-cxxreact (= 0.81.0) + - React-cxxreact (= 0.82.1) - React-jsi - - React-jsiexecutor (= 0.81.0) + - React-jsiexecutor (= 0.82.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-perflogger (= 0.81.0) + - React-oscompat + - React-perflogger (= 0.82.1) - React-runtimeexecutor - ReactNativeDependencies - - React-idlecallbacksnativemodule (0.81.0): + - React-idlecallbacksnativemodule (0.82.1): - hermes-engine - React-Core-prebuilt - React-jsi @@ -1199,7 +1266,7 @@ PODS: - React-runtimescheduler - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-ImageManager (0.81.0): + - React-ImageManager (0.82.1): - React-Core-prebuilt - React-Core/Default - React-debug @@ -1208,7 +1275,7 @@ PODS: - React-rendererdebug - React-utils - ReactNativeDependencies - - React-jserrorhandler (0.81.0): + - React-jserrorhandler (0.82.1): - hermes-engine - React-Core-prebuilt - React-cxxreact @@ -1217,22 +1284,23 @@ PODS: - React-jsi - ReactCommon/turbomodule/bridging - ReactNativeDependencies - - React-jsi (0.81.0): + - React-jsi (0.82.1): - hermes-engine - React-Core-prebuilt - ReactNativeDependencies - - React-jsiexecutor (0.81.0): + - React-jsiexecutor (0.82.1): - hermes-engine - React-Core-prebuilt - - React-cxxreact (= 0.81.0) - - React-jsi (= 0.81.0) + - React-cxxreact + - React-debug + - React-jsi - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-perflogger (= 0.81.0) + - React-perflogger - React-runtimeexecutor - ReactNativeDependencies - - React-jsinspector (0.81.0): + - React-jsinspector (0.82.1): - hermes-engine - React-Core-prebuilt - React-featureflags @@ -1240,43 +1308,45 @@ PODS: - React-jsinspectorcdp - React-jsinspectornetwork - React-jsinspectortracing - - React-perflogger (= 0.81.0) + - React-oscompat + - React-perflogger (= 0.82.1) - React-runtimeexecutor - ReactNativeDependencies - - React-jsinspectorcdp (0.81.0): + - React-jsinspectorcdp (0.82.1): - React-Core-prebuilt - ReactNativeDependencies - - React-jsinspectornetwork (0.81.0): + - React-jsinspectornetwork (0.82.1): - React-Core-prebuilt - React-featureflags - React-jsinspectorcdp - React-performancetimeline - React-timing - ReactNativeDependencies - - React-jsinspectortracing (0.81.0): + - React-jsinspectortracing (0.82.1): - React-Core-prebuilt - React-oscompat - React-timing - ReactNativeDependencies - - React-jsitooling (0.81.0): + - React-jsitooling (0.82.1): - React-Core-prebuilt - - React-cxxreact (= 0.81.0) - - React-jsi (= 0.81.0) + - React-cxxreact (= 0.82.1) + - React-debug + - React-jsi (= 0.82.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-runtimeexecutor - ReactNativeDependencies - - React-jsitracing (0.81.0): + - React-jsitracing (0.82.1): - React-jsi - - React-logger (0.81.0): + - React-logger (0.82.1): - React-Core-prebuilt - ReactNativeDependencies - - React-Mapbuffer (0.81.0): + - React-Mapbuffer (0.82.1): - React-Core-prebuilt - React-debug - ReactNativeDependencies - - React-microtasksnativemodule (0.81.0): + - React-microtasksnativemodule (0.82.1): - hermes-engine - React-Core-prebuilt - React-jsi @@ -1284,12 +1354,9 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - ReactNativeDependencies - - react-native-http-bridge-refurbished (1.2.9): - - GCDWebServer - - React - react-native-restart (0.0.27): - React-Core - - react-native-safe-area-context (5.6.1): + - react-native-safe-area-context (5.6.2): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1301,8 +1368,8 @@ PODS: - React-graphics - React-ImageManager - React-jsi - - react-native-safe-area-context/common (= 5.6.1) - - react-native-safe-area-context/fabric (= 5.6.1) + - react-native-safe-area-context/common (= 5.6.2) + - react-native-safe-area-context/fabric (= 5.6.2) - React-NativeModulesApple - React-RCTFabric - React-renderercss @@ -1313,7 +1380,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-safe-area-context/common (5.6.1): + - react-native-safe-area-context/common (5.6.2): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1335,7 +1402,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-safe-area-context/fabric (5.6.1): + - react-native-safe-area-context/fabric (5.6.2): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1358,12 +1425,13 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - React-NativeModulesApple (0.81.0): + - React-NativeModulesApple (0.82.1): - hermes-engine - React-callinvoker - React-Core - React-Core-prebuilt - React-cxxreact + - React-debug - React-featureflags - React-jsi - React-jsinspector @@ -1372,20 +1440,28 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - React-oscompat (0.81.0) - - React-perflogger (0.81.0): + - React-oscompat (0.82.1) + - React-perflogger (0.82.1): - React-Core-prebuilt - ReactNativeDependencies - - React-performancetimeline (0.81.0): + - React-performancecdpmetrics (0.82.1): + - hermes-engine + - React-Core-prebuilt + - React-jsi + - React-performancetimeline + - React-runtimeexecutor + - React-timing + - ReactNativeDependencies + - React-performancetimeline (0.82.1): - React-Core-prebuilt - React-featureflags - React-jsinspectortracing - React-perflogger - React-timing - ReactNativeDependencies - - React-RCTActionSheet (0.81.0): - - React-Core/RCTActionSheetHeaders (= 0.81.0) - - React-RCTAnimation (0.81.0): + - React-RCTActionSheet (0.82.1): + - React-Core/RCTActionSheetHeaders (= 0.82.1) + - React-RCTAnimation (0.82.1): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTAnimationHeaders @@ -1395,7 +1471,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-RCTAppDelegate (0.81.0): + - React-RCTAppDelegate (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1423,7 +1499,7 @@ PODS: - React-utils - ReactCommon - ReactNativeDependencies - - React-RCTBlob (0.81.0): + - React-RCTBlob (0.82.1): - hermes-engine - React-Core-prebuilt - React-Core/RCTBlobHeaders @@ -1436,7 +1512,7 @@ PODS: - React-RCTNetwork - ReactCommon - ReactNativeDependencies - - React-RCTFabric (0.81.0): + - React-RCTFabric (0.82.1): - hermes-engine - React-Core - React-Core-prebuilt @@ -1452,6 +1528,7 @@ PODS: - React-jsinspectorcdp - React-jsinspectornetwork - React-jsinspectortracing + - React-performancecdpmetrics - React-performancetimeline - React-RCTAnimation - React-RCTFBReactNativeSpec @@ -1465,7 +1542,7 @@ PODS: - React-utils - ReactNativeDependencies - Yoga - - React-RCTFBReactNativeSpec (0.81.0): + - React-RCTFBReactNativeSpec (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1473,10 +1550,10 @@ PODS: - React-Core-prebuilt - React-jsi - React-NativeModulesApple - - React-RCTFBReactNativeSpec/components (= 0.81.0) + - React-RCTFBReactNativeSpec/components (= 0.82.1) - ReactCommon - ReactNativeDependencies - - React-RCTFBReactNativeSpec/components (0.81.0): + - React-RCTFBReactNativeSpec/components (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1493,7 +1570,7 @@ PODS: - ReactCommon - ReactNativeDependencies - Yoga - - React-RCTImage (0.81.0): + - React-RCTImage (0.82.1): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTImageHeaders @@ -1503,17 +1580,18 @@ PODS: - React-RCTNetwork - ReactCommon - ReactNativeDependencies - - React-RCTLinking (0.81.0): - - React-Core/RCTLinkingHeaders (= 0.81.0) - - React-jsi (= 0.81.0) + - React-RCTLinking (0.82.1): + - React-Core/RCTLinkingHeaders (= 0.82.1) + - React-jsi (= 0.82.1) - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.81.0) - - React-RCTNetwork (0.81.0): + - ReactCommon/turbomodule/core (= 0.82.1) + - React-RCTNetwork (0.82.1): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTNetworkHeaders + - React-debug - React-featureflags - React-jsi - React-jsinspectorcdp @@ -1522,10 +1600,11 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-RCTRuntime (0.81.0): + - React-RCTRuntime (0.82.1): - hermes-engine - React-Core - React-Core-prebuilt + - React-debug - React-jsi - React-jsinspector - React-jsinspectorcdp @@ -1536,7 +1615,7 @@ PODS: - React-runtimeexecutor - React-RuntimeHermes - ReactNativeDependencies - - React-RCTSettings (0.81.0): + - React-RCTSettings (0.82.1): - RCTTypeSafety - React-Core-prebuilt - React-Core/RCTSettingsHeaders @@ -1545,10 +1624,10 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-RCTText (0.81.0): - - React-Core/RCTTextHeaders (= 0.81.0) + - React-RCTText (0.82.1): + - React-Core/RCTTextHeaders (= 0.82.1) - Yoga - - React-RCTVibration (0.81.0): + - React-RCTVibration (0.82.1): - React-Core-prebuilt - React-Core/RCTVibrationHeaders - React-jsi @@ -1556,15 +1635,15 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - ReactNativeDependencies - - React-rendererconsistency (0.81.0) - - React-renderercss (0.81.0): + - React-rendererconsistency (0.82.1) + - React-renderercss (0.82.1): - React-debug - React-utils - - React-rendererdebug (0.81.0): + - React-rendererdebug (0.82.1): - React-Core-prebuilt - React-debug - ReactNativeDependencies - - React-RuntimeApple (0.81.0): + - React-RuntimeApple (0.82.1): - hermes-engine - React-callinvoker - React-Core-prebuilt @@ -1587,7 +1666,7 @@ PODS: - React-runtimescheduler - React-utils - ReactNativeDependencies - - React-RuntimeCore (0.81.0): + - React-RuntimeCore (0.82.1): - hermes-engine - React-Core-prebuilt - React-cxxreact @@ -1603,14 +1682,14 @@ PODS: - React-runtimescheduler - React-utils - ReactNativeDependencies - - React-runtimeexecutor (0.81.0): + - React-runtimeexecutor (0.82.1): - React-Core-prebuilt - React-debug - React-featureflags - - React-jsi (= 0.81.0) + - React-jsi (= 0.82.1) - React-utils - ReactNativeDependencies - - React-RuntimeHermes (0.81.0): + - React-RuntimeHermes (0.82.1): - hermes-engine - React-Core-prebuilt - React-featureflags @@ -1625,7 +1704,7 @@ PODS: - React-runtimeexecutor - React-utils - ReactNativeDependencies - - React-runtimescheduler (0.81.0): + - React-runtimescheduler (0.82.1): - hermes-engine - React-callinvoker - React-Core-prebuilt @@ -1641,16 +1720,27 @@ PODS: - React-timing - React-utils - ReactNativeDependencies - - React-timing (0.81.0) - - React-utils (0.81.0): + - React-timing (0.82.1): + - React-debug + - React-utils (0.82.1): - hermes-engine - React-Core-prebuilt - React-debug - - React-jsi (= 0.81.0) + - React-jsi (= 0.82.1) - ReactNativeDependencies - - ReactAppDependencyProvider (0.81.0): + - React-webperformancenativemodule (0.82.1): + - hermes-engine + - React-Core-prebuilt + - React-jsi + - React-jsiexecutor + - React-performancetimeline + - React-RCTFBReactNativeSpec + - React-runtimeexecutor + - ReactCommon/turbomodule/core + - ReactNativeDependencies + - ReactAppDependencyProvider (0.82.1): - ReactCodegen - - ReactCodegen (0.81.0): + - ReactCodegen (0.82.1): - hermes-engine - RCTRequired - RCTTypeSafety @@ -1670,49 +1760,50 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - ReactNativeDependencies - - ReactCommon (0.81.0): + - ReactCommon (0.82.1): - React-Core-prebuilt - - ReactCommon/turbomodule (= 0.81.0) + - ReactCommon/turbomodule (= 0.82.1) - ReactNativeDependencies - - ReactCommon/turbomodule (0.81.0): + - ReactCommon/turbomodule (0.82.1): - hermes-engine - - React-callinvoker (= 0.81.0) + - React-callinvoker (= 0.82.1) - React-Core-prebuilt - - React-cxxreact (= 0.81.0) - - React-jsi (= 0.81.0) - - React-logger (= 0.81.0) - - React-perflogger (= 0.81.0) - - ReactCommon/turbomodule/bridging (= 0.81.0) - - ReactCommon/turbomodule/core (= 0.81.0) + - React-cxxreact (= 0.82.1) + - React-jsi (= 0.82.1) + - React-logger (= 0.82.1) + - React-perflogger (= 0.82.1) + - ReactCommon/turbomodule/bridging (= 0.82.1) + - ReactCommon/turbomodule/core (= 0.82.1) - ReactNativeDependencies - - ReactCommon/turbomodule/bridging (0.81.0): + - ReactCommon/turbomodule/bridging (0.82.1): - hermes-engine - - React-callinvoker (= 0.81.0) + - React-callinvoker (= 0.82.1) - React-Core-prebuilt - - React-cxxreact (= 0.81.0) - - React-jsi (= 0.81.0) - - React-logger (= 0.81.0) - - React-perflogger (= 0.81.0) + - React-cxxreact (= 0.82.1) + - React-jsi (= 0.82.1) + - React-logger (= 0.82.1) + - React-perflogger (= 0.82.1) - ReactNativeDependencies - - ReactCommon/turbomodule/core (0.81.0): + - ReactCommon/turbomodule/core (0.82.1): - hermes-engine - - React-callinvoker (= 0.81.0) + - React-callinvoker (= 0.82.1) - React-Core-prebuilt - - React-cxxreact (= 0.81.0) - - React-debug (= 0.81.0) - - React-featureflags (= 0.81.0) - - React-jsi (= 0.81.0) - - React-logger (= 0.81.0) - - React-perflogger (= 0.81.0) - - React-utils (= 0.81.0) + - React-cxxreact (= 0.82.1) + - React-debug (= 0.82.1) + - React-featureflags (= 0.82.1) + - React-jsi (= 0.82.1) + - React-logger (= 0.82.1) + - React-perflogger (= 0.82.1) + - React-utils (= 0.82.1) - ReactNativeDependencies - - ReactNativeDependencies (0.81.0) + - ReactNativeDependencies (0.82.1) - Yoga (0.0.0) DEPENDENCIES: - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - op-sqlite (from `../..`) + - "OpServer (from `../node_modules/@op-engineering/op-server`)" - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) @@ -1747,12 +1838,12 @@ DEPENDENCIES: - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - - react-native-http-bridge-refurbished (from `../node_modules/react-native-http-bridge-refurbished`) - react-native-restart (from `../node_modules/react-native-restart`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-performancecdpmetrics (from `../node_modules/react-native/ReactCommon/react/performance/cdpmetrics`) - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) @@ -1777,24 +1868,23 @@ DEPENDENCIES: - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - React-webperformancenativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/webperformance`) - ReactAppDependencyProvider (from `build/generated/ios`) - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - ReactNativeDependencies (from `../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) -SPEC REPOS: - trunk: - - GCDWebServer - EXTERNAL SOURCES: FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2025-07-07-RNv0.81.0-e0fc67142ec0763c6b6153ca2bf96df815539782 + :tag: hermes-2025-09-01-RNv0.82.0-265ef62ff3eb7289d17e366664ac0da82303e101 op-sqlite: :path: "../.." + OpServer: + :path: "../node_modules/@op-engineering/op-server" RCTDeprecation: :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" RCTRequired: @@ -1861,8 +1951,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon" React-microtasksnativemodule: :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" - react-native-http-bridge-refurbished: - :path: "../node_modules/react-native-http-bridge-refurbished" react-native-restart: :path: "../node_modules/react-native-restart" react-native-safe-area-context: @@ -1873,6 +1961,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/oscompat" React-perflogger: :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-performancecdpmetrics: + :path: "../node_modules/react-native/ReactCommon/react/performance/cdpmetrics" React-performancetimeline: :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" React-RCTActionSheet: @@ -1921,6 +2011,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/react/timing" React-utils: :path: "../node_modules/react-native/ReactCommon/react/utils" + React-webperformancenativemodule: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/webperformance" ReactAppDependencyProvider: :path: build/generated/ios ReactCodegen: @@ -1933,79 +2025,80 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - FBLazyVector: ab4b9b95d08c7d60f758a8ec05e83803eea069b4 - GCDWebServer: 2c156a56c8226e2d5c0c3f208a3621ccffbe3ce4 - hermes-engine: e7491a2038f2618c8cd444ed411a6deb350a3742 - op-sqlite: c2db579560e04cee29ac785b40d798a2ec78a05c - RCTDeprecation: 368edec96c3f4e20f89b5ee10b694e2103b33511 - RCTRequired: b72d606f27bbc2428967eea01da57c33e1e8909e - RCTTypeSafety: c1a121340f401122046012dc32d5f31d63782c3c - React: 1000c0e96d8fb9fbdaf13f7d31d0b09db3cbb4ac - React-callinvoker: 26dc5861f10a25d89d2f5f976bf280c6adcf365d - React-Core: bfd0c56a31d99c7a3e6cad33ec708115fef84f9d - React-Core-prebuilt: bf9b8f4d22972e9a4c1163efd405625ac8b1043e - React-CoreModules: e6944eda15b49da4af28081173aaddf28579998e - React-cxxreact: 2a19c06995834bcd216a0645a599e288d1e7ea97 - React-debug: 87a7f77deb10d7022bee2af6c232ca6903482b1f - React-defaultsnativemodule: 5c0c2f6d1a81f88b96c06ddcf8c5e32da56df3af - React-domnativemodule: 7b06177914832dea63eb6d2684d31f2e16bd4a57 - React-Fabric: c313bc7f590c83207a88659414c83adcce778bc9 - React-FabricComponents: a6b06b4f5079b73cfd68b60c61d07dc0241537bd - React-FabricImage: 47edeaa04cdf3c56768b0a1bd08e3a6d0610e021 - React-featureflags: e52e535c0bef80186634e4ef9bcb0b970f0126b7 - React-featureflagsnativemodule: 0606081060a33d4b6b1923e486d63469a7156f6b - React-graphics: 0bab1a2fb2622f270484e8e8be15e7bcf5de1647 - React-hermes: dc1ca78ca6bb878d39d27f79dbca4c9c4df2d08e - React-idlecallbacksnativemodule: 0114bcd22185525adb0e9a766b8c386f6c500385 - React-ImageManager: fdd8211f77e8985ec576aa0bb2e9690b01c3a6cd - React-jserrorhandler: 1989654508f1a6bafab8d0031752f9ac5329ce89 - React-jsi: 627f8b3e0ab5d683a6ca6bd1e993601022105a22 - React-jsiexecutor: 5a0c67638707ed4d612f59b27e786200c71bc0b1 - React-jsinspector: 48d9234b5e2b10e7f9c40ddbc5f7085ca736519d - React-jsinspectorcdp: 5515fa810ee1f492474bb943ba80ac8655e7d8c0 - React-jsinspectornetwork: dd94df05e52bc0197b271b9018674562609bdd87 - React-jsinspectortracing: 84e59a5e60b681ff2e8f3bd263595612f1136790 - React-jsitooling: 519f66f63353425a1e65ec20b08b0497e4642d8f - React-jsitracing: b9df20c8401d85e4e966287a20e6ad56c08e343c - React-logger: f044501f6f1e2d803ac5768ca2a9198f5fa55df2 - React-Mapbuffer: 79ba3ee7405add8758e3c6d2df9d8e5deb5546ee - React-microtasksnativemodule: d7f49e916033c30e1f64bb6b91e5db6c619df220 - react-native-http-bridge-refurbished: 1bd13b32a8e62abe61bab809c26e2dcf21256ed7 + FBLazyVector: 2e5b5553df729e080483373db6f045201ff4e6db + hermes-engine: 273e30e7fb618279934b0b95ffab60ecedb7acf5 + op-sqlite: 7e1d781318b8f936bd7afe0773cf0d2e0b81780b + OpServer: 63fc523290a5c7c6f98dc7ba5e76cc720d798259 + RCTDeprecation: c6b36da89aa26090c8684d29c2868dcca2cd4554 + RCTRequired: 1413a0844770d00fa1f1bb2da4680adfa8698065 + RCTTypeSafety: 354b4bb344998550c45d054ef66913837948f958 + React: aeece948ccf155182ea86a2395786ed31cf21c61 + React-callinvoker: 53ff54e60e1af74c7a6a7e6d0fe32609c0d4f3bf + React-Core: 35be2751365121ff71b8ba6d780981508aab2541 + React-Core-prebuilt: b25f78bd41b93e6e12bc203a0103eb7b50cf5a10 + React-CoreModules: 531b7c8544be28752cdd0d15913e737965772f91 + React-cxxreact: fdcc451dfc5d634af9d21ab35ee1f073c43e12f3 + React-debug: 44115d578ebabca7bc481d03d01283dd835754dc + React-defaultsnativemodule: 2ebd09968c9091924852bc5e3c0acd56c2dc35b2 + React-domnativemodule: 6ba984e94e95319edc06f0f978e8308c4788f376 + React-Fabric: b5585ee44cc58b3246358215ca06a4ff8598af50 + React-FabricComponents: e6a931b9eeec6a1048d0d47540a7694db77ae9c3 + React-FabricImage: 44a6c62dd9938ce19718679bfc9480a45e753aba + React-featureflags: f3dd6129e698ecb0e34844cac8defcbcd6c627d0 + React-featureflagsnativemodule: 1465e525b0711f81dfa69ee625f414cca889a521 + React-graphics: 20a17090d922bcd8be9e1c34cb1756846340b983 + React-hermes: 6aa47e36f0788549b382fd9d1aa3ed78094e2903 + React-idlecallbacksnativemodule: 73e6f6f4814581467f3070caf3eae4a10a63326b + React-ImageManager: ecec9d135e267d5d7326ededdcdd28818c657b1c + React-jserrorhandler: 9c1c7437c3803037214bdff2df2d8c5f37f12003 + React-jsi: 8aa8adaf9b6b22207be227891f0302252fc13fd5 + React-jsiexecutor: 9477b358543eb939cc3988c10c357f6623a2027e + React-jsinspector: 98943e95b13a98d2055c88034e3a6075aedfdd07 + React-jsinspectorcdp: e204ac18463b8eb55425f8dd07a262dd02f68b64 + React-jsinspectornetwork: 93f15693aa130a24c88b1118e9e0d954232d07fd + React-jsinspectortracing: f565390bb61dd651dd1277603025d9887430bf85 + React-jsitooling: 6e4c9d9850957b539331b9602958cb65ec5b057c + React-jsitracing: a89c407445b0cb1c82b5bde13456fc53100f8fd0 + React-logger: 0645991bbb7690e7b251c77d4f3636f061522cf6 + React-Mapbuffer: b825b19234eb571a071e595c123909f0c15ab8f5 + React-microtasksnativemodule: acf58b8dd297cd84ccff01eeac094c405adcea00 react-native-restart: 0bc732f4461709022a742bb29bcccf6bbc5b4863 - react-native-safe-area-context: 42a1b4f8774b577d03b53de7326e3d5757fe9513 - React-NativeModulesApple: a93cccc5bd37290cf1e2f40cb32718e74df6e8b5 - React-oscompat: eef0d02e3175b37e2c0eb99f69df82ea2f85f943 - React-perflogger: 3e93a5384103e04f176c257ee463ba810254856c - React-performancetimeline: f8c5b33573d0f9ef5cbc9c784b174170189daf15 - React-RCTActionSheet: cbca1a6da03236d19f77092cff407ba65d36be96 - React-RCTAnimation: 700ff3628d94f541d2a95bf871d670182a9d6c69 - React-RCTAppDelegate: b618ea35172483162b8388bbf5d64ad337022295 - React-RCTBlob: 819acc082d783802093d7148f29833ad8e532266 - React-RCTFabric: ca7693a96eb777bbb5519c71421fe05c95aa162d - React-RCTFBReactNativeSpec: 731b4906b07a3f8e035fe3baa81743b2efc5ffb9 - React-RCTImage: 11763641b1ccb785350777faf2d61df19b4e257a - React-RCTLinking: 51c0c53175be34c7be6bbeddfc7bf1d3e43bfb05 - React-RCTNetwork: a9ac24e519bd82a9d60ccb5641a9db0a955e18aa - React-RCTRuntime: 37dbbe9293259c3b02750f739f7401cb63bc20af - React-RCTSettings: 215e19c41441e6098281b8f82a0cc2b0edcbd43b - React-RCTText: 0eb667f7fc4c8d6cfef33e23eeebb6c54021db72 - React-RCTVibration: 0d5c509f53d844b2f507e7072f701874818667a1 - React-rendererconsistency: fa354013731fed7144a19274ffb6bb14c3907060 - React-renderercss: 3dd8e66cc0f67e1f77a952658b6c5bbf723019b4 - React-rendererdebug: 30fafc71f740e3dc9193706dd361487d6907662b - React-RuntimeApple: 719d11c6a3e59ed9073aa771ff13f0a3a8cb706c - React-RuntimeCore: d367af2835d9a087f85be273391658f7ed713a8d - React-runtimeexecutor: cf72adc9cc7a913d9bfb332baa4a990d653a4c63 - React-RuntimeHermes: 73d50ce861d77c3d30822642346ed24388d43fdf - React-runtimescheduler: 41d2386c7e793da684553f10acfb2d4082983650 - React-timing: 29d2d41aecaf56497a5f902592abae6d4930dbb2 - React-utils: faaba29dfb0924833853af0a29b068878a71b795 - ReactAppDependencyProvider: c91900fa724baee992f01c05eeb4c9e01a807f78 - ReactCodegen: 01b282718505566651f65cbf92b139aca408f4e0 - ReactCommon: 18f3e0fba262b222b8d3247e38f9ec9b36817b9c - ReactNativeDependencies: 4ddce14a45bb6fc7c36f2b50b65a6da87ec6835c - Yoga: 355cfee956cde5ae34c4e0cd752ec7096d665f7b + react-native-safe-area-context: 37e680fc4cace3c0030ee46e8987d24f5d3bdab2 + React-NativeModulesApple: b50b7150a4f573d8466c43d8af38d2610fe17d92 + React-oscompat: 2290ac70fe07fbaba8473c4054084029777c5a22 + React-perflogger: d3b6b00d0e8fe2108069d175f6a51ea58f31c76a + React-performancecdpmetrics: b2e220acbffa928cd86f6a4b9eb751ce61b7743b + React-performancetimeline: e0b536c5e1af7035f1d9e7ccf98a0442e0263eeb + React-RCTActionSheet: 6f00e0f2b6bac96d5c6981a57bbd246b006eb7a8 + React-RCTAnimation: 20b50ce45ede991c7d17c243192ec2409e56d3ab + React-RCTAppDelegate: f2a04f87e3603db2cbe3ca861e7ebb5175cd3888 + React-RCTBlob: b4035829627436cfa48d0b5c81d6779be66e183b + React-RCTFabric: a92004a9ef57ef754724f498b01609228b283b17 + React-RCTFBReactNativeSpec: 8af6e3a80397587f82f0c472b553f70444113f7c + React-RCTImage: 8cffa13562462146ef3d4b594a0b06b6160fe39f + React-RCTLinking: 1c0a842a57e2e6826c0176d3bfaef690456129bb + React-RCTNetwork: 02dd6c8ab2ea0492a6c56b2881f8fadaabbda39b + React-RCTRuntime: 49993358fb5650cccba897e022f51271144b7ca0 + React-RCTSettings: f086ea408c81f588c4494529fba934a3268db3cf + React-RCTText: b3dc240bba7522d33d485f94ada1d20c9240e033 + React-RCTVibration: 2ed08e7f7e5419890f389417b0625395bf93b3ac + React-rendererconsistency: eac8ae36e591a373d9c7646ef1a198fcdbb917ba + React-renderercss: 2d583c9beef3fb3903cd7ee318d4cfffd7b00241 + React-rendererdebug: 2452df71dcf90e2f9493e372946d2d4aeecefef4 + React-RuntimeApple: ae9340e69c0d2711f6f93a587803d471d669a1b5 + React-RuntimeCore: 73ed663c4a380b17e245d5d8b34bda6e37798a4f + React-runtimeexecutor: 96b581c9d67175c666111b2f1437fcc323e0ff10 + React-RuntimeHermes: 0e9b1f3420643812318ee08add516bf50e9aaef9 + React-runtimescheduler: 0ebfc762f92e5bf41442b4c0c97746b97eabd96a + React-timing: e9b23dbdb3d1a25b467a2fc741897286bf4b6b17 + React-utils: 3e49c1947804e5ff19a8f870b8918403aefea5b5 + React-webperformancenativemodule: 45d47256d127d5b6f4bd862ea54880f9f01d5896 + ReactAppDependencyProvider: a45ef34bb22dc1c9b2ac1f74167d9a28af961176 + ReactCodegen: d67361f04889d917a17855ae850027ca3279ad49 + ReactCommon: 64a36bfeb15cfc37b8f4fdc9189480192b03a5ee + ReactNativeDependencies: bf28df18cc29efa26b3f96b9c22d8b846047563f + Yoga: 9a5a710cf47e32646c6d4689c74ce4c17f13ccdb -PODFILE CHECKSUM: 6122e992682f69c8f83936c61b0197d2e91e6cee +PODFILE CHECKSUM: 0a17de9416bef66bec075cabc66b2e73dc5f7e87 COCOAPODS: 1.15.2 diff --git a/example/package.json b/example/package.json index cdc152ff..a1b89765 100644 --- a/example/package.json +++ b/example/package.json @@ -15,14 +15,15 @@ "build:ios": "cd ios && xcodebuild -workspace OPSQLiteExample.xcworkspace -scheme debug -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO" }, "dependencies": { + "@op-engineering/op-server": "^0.1.4", "@op-engineering/op-test": "^0.2.4", "chance": "^1.1.9", "clsx": "^2.0.0", "events": "^3.3.0", "nativewind": "^2.0.11", "react": "19.1.1", - "react-native": "0.81.0", - "react-native-safe-area-context": "^5.6.1" + "react-native": "0.82.1", + "react-native-safe-area-context": "^5.6.2" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -31,13 +32,12 @@ "@react-native-community/cli": "^18.0.0", "@react-native-community/cli-platform-android": "18.0.0", "@react-native-community/cli-platform-ios": "18.0.0", - "@react-native/babel-preset": "0.81.0", - "@react-native/metro-config": "0.81.0", - "@react-native/typescript-config": "0.81.0", + "@react-native/babel-preset": "0.82.1", + "@react-native/metro-config": "0.82.1", + "@react-native/typescript-config": "0.82.1", "@types/chance": "^1.1.7", - "@types/react": "^19.0.0", + "@types/react": "^19.1.1", "react-native-builder-bob": "^0.40.13", - "react-native-http-bridge-refurbished": "1.2.9", "react-native-monorepo-config": "^0.1.9", "react-native-restart": "^0.0.27", "tailwindcss": "3.3.2" diff --git a/example/src/App.tsx b/example/src/App.tsx index 3c9357b2..b4cc550b 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -10,6 +10,8 @@ import { allTestsPassed, } from '@op-engineering/op-test'; import './tests'; // import all tests to register them +import {SafeAreaView} from 'react-native-safe-area-context'; +import {StyleSheet} from 'react-native'; export default function App() { const [results, setResults] = useState(null); @@ -51,5 +53,16 @@ export default function App() { // } // }; - return displayResults(results); + return ( + + {displayResults(results)} + + ); } + +const STYLES = StyleSheet.create({ + container: { + height: '100%', + backgroundColor: '#333', + }, +}); diff --git a/example/src/server.ts b/example/src/server.ts index fe8b1003..ed6ce773 100644 --- a/example/src/server.ts +++ b/example/src/server.ts @@ -1,25 +1,30 @@ -import {BridgeServer} from 'react-native-http-bridge-refurbished'; +import {HttpServer} from '@op-engineering/op-server'; let passed: boolean | null = null; -const server = new BridgeServer('http_service', true); +const server = new HttpServer(); server.get('/ping', async (_req, res) => { - res.send(200, 'application/text', 'pong'); + res.statusCode = 200; + res.contentType = 'application/text'; + res.content = 'pong'; + // res.send(200, 'application/text', 'pong'); }); server.get('/results', async (_req, res) => { - res.json({passed}, 200); + res.statusCode = 200; + res.content = JSON.stringify({passed}); + // res.json({passed}, 200); }); server.listen(9000); -console.log('Server listening on port 9000'); +// console.log('Server listening on port 9000'); export function stopServer() { server.stop(); } export function setServerResults(r: boolean) { - console.log('Setting server results to', r); + // console.log('Setting server results to', r); passed = r; } diff --git a/example/src/tests/index.ts b/example/src/tests/index.ts index 15d75c8a..0007b7a3 100644 --- a/example/src/tests/index.ts +++ b/example/src/tests/index.ts @@ -7,7 +7,3 @@ import './queries'; import './reactive'; import './storage'; import './tokenizer'; - -// export function registerTests() { -// queries(); -// } diff --git a/ios/OPSQLite.mm b/ios/OPSQLite.mm index 7e26bd57..a7bacafa 100644 --- a/ios/OPSQLite.mm +++ b/ios/OPSQLite.mm @@ -1,5 +1,5 @@ #import "OPSQLite.h" -#import "../cpp/bindings.h" +#import "../cpp/OPSqlite.hpp" #import #import #import @@ -13,145 +13,143 @@ @implementation OPSQLite RCT_EXPORT_MODULE() + (BOOL)requiresMainQueueSetup { - return YES; + return YES; } - (NSDictionary *)constantsToExport { - NSArray *libraryPaths = NSSearchPathForDirectoriesInDomains( - NSLibraryDirectory, NSUserDomainMask, true); - NSString *libraryPath = [libraryPaths objectAtIndex:0]; - - NSArray *documentPaths = NSSearchPathForDirectoriesInDomains( - NSDocumentDirectory, NSUserDomainMask, true); - NSString *documentPath = [documentPaths objectAtIndex:0]; - return @{ - @"IOS_DOCUMENT_PATH" : documentPath, - @"IOS_LIBRARY_PATH" : libraryPath - }; + NSArray *libraryPaths = NSSearchPathForDirectoriesInDomains( + NSLibraryDirectory, NSUserDomainMask, true); + NSString *libraryPath = [libraryPaths objectAtIndex:0]; + + NSArray *documentPaths = NSSearchPathForDirectoriesInDomains( + NSDocumentDirectory, NSUserDomainMask, true); + NSString *documentPath = [documentPaths objectAtIndex:0]; + return + @{@"IOS_DOCUMENT_PATH" : documentPath, @"IOS_LIBRARY_PATH" : libraryPath}; } - (NSDictionary *)getConstants { - return [self constantsToExport]; + return [self constantsToExport]; } RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(install) { - RCTCxxBridge *cxxBridge = (RCTCxxBridge *)_bridge; - if (cxxBridge == nil) { - return @false; - } - - auto jsiRuntime = (facebook::jsi::Runtime *)cxxBridge.runtime; - if (jsiRuntime == nil) { - return @false; - } - - auto &runtime = *jsiRuntime; - auto callInvoker = _bridge.jsCallInvoker; - - // Get appGroupID value from Info.plist using key "AppGroup" - NSString *appGroupID = - [[NSBundle mainBundle] objectForInfoDictionaryKey:@"OPSQLite_AppGroup"]; - NSString *documentPath; - - if (appGroupID != nil) { - // Get the app groups container storage url - NSFileManager *fileManager = [NSFileManager defaultManager]; - NSURL *storeUrl = [fileManager - containerURLForSecurityApplicationGroupIdentifier:appGroupID]; - - if (storeUrl == nil) { - NSLog(@"OP-SQLite: Invalid AppGroup ID provided (%@). Check the " - @"value of " - @"\"AppGroup\" in your Info.plist file", - appGroupID); - return @false; - } - - documentPath = [storeUrl path]; - } else { - NSArray *paths = NSSearchPathForDirectoriesInDomains( - NSLibraryDirectory, NSUserDomainMask, true); - documentPath = [paths objectAtIndex:0]; - } - - NSBundle *crsqlite_bundle = - [NSBundle bundleWithIdentifier:@"io.vlcn.crsqlite"]; - NSString *crsqlite_path = [crsqlite_bundle pathForResource:@"crsqlite" - ofType:@""]; - NSBundle *libsqlitevec_bundle = - [NSBundle bundleWithIdentifier:@"com.ospfranco.sqlitevec"]; - NSString *sqlite_vec_path = - [libsqlitevec_bundle pathForResource:@"sqlitevec" ofType:@""]; - - if (crsqlite_path == nil) { - crsqlite_path = @""; - } - - if (sqlite_vec_path == nil) { - sqlite_vec_path = @""; + RCTCxxBridge *cxxBridge = (RCTCxxBridge *)_bridge; + if (cxxBridge == nil) { + return @false; + } + + auto jsiRuntime = (facebook::jsi::Runtime *)cxxBridge.runtime; + if (jsiRuntime == nil) { + return @false; + } + + auto &runtime = *jsiRuntime; + auto callInvoker = _bridge.jsCallInvoker; + + // Get appGroupID value from Info.plist using key "AppGroup" + NSString *appGroupID = + [[NSBundle mainBundle] objectForInfoDictionaryKey:@"OPSQLite_AppGroup"]; + NSString *documentPath; + + if (appGroupID != nil) { + // Get the app groups container storage url + NSFileManager *fileManager = [NSFileManager defaultManager]; + NSURL *storeUrl = [fileManager + containerURLForSecurityApplicationGroupIdentifier:appGroupID]; + + if (storeUrl == nil) { + NSLog(@"OP-SQLite: Invalid AppGroup ID provided (%@). Check the " + @"value of " + @"\"AppGroup\" in your Info.plist file", + appGroupID); + return @false; } - opsqlite::install(runtime, callInvoker, [documentPath UTF8String], - [crsqlite_path UTF8String], [sqlite_vec_path UTF8String]); - return @true; + documentPath = [storeUrl path]; + } else { + NSArray *paths = NSSearchPathForDirectoriesInDomains( + NSLibraryDirectory, NSUserDomainMask, true); + documentPath = [paths objectAtIndex:0]; + } + + NSBundle *crsqlite_bundle = + [NSBundle bundleWithIdentifier:@"io.vlcn.crsqlite"]; + NSString *crsqlite_path = [crsqlite_bundle pathForResource:@"crsqlite" + ofType:@""]; + NSBundle *libsqlitevec_bundle = + [NSBundle bundleWithIdentifier:@"com.ospfranco.sqlitevec"]; + NSString *sqlite_vec_path = [libsqlitevec_bundle pathForResource:@"sqlitevec" + ofType:@""]; + + if (crsqlite_path == nil) { + crsqlite_path = @""; + } + + if (sqlite_vec_path == nil) { + sqlite_vec_path = @""; + } + + opsqlite::install(runtime, callInvoker, [documentPath UTF8String], + [crsqlite_path UTF8String], [sqlite_vec_path UTF8String]); + return @true; } RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getDylibPath : ( NSString *)bundleId andResource : (NSString *)resourceName) { - NSBundle *bundle = [NSBundle bundleWithIdentifier:bundleId]; - NSString *path = [bundle pathForResource:resourceName ofType:@""]; - return path; + NSBundle *bundle = [NSBundle bundleWithIdentifier:bundleId]; + NSString *path = [bundle pathForResource:resourceName ofType:@""]; + return path; } RCT_EXPORT_METHOD(moveAssetsDatabase : (NSDictionary *)args resolve : ( RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejectBlock)reject) { - NSString *documentPath = [NSSearchPathForDirectoriesInDomains( - NSLibraryDirectory, NSUserDomainMask, true) objectAtIndex:0]; + NSString *documentPath = [NSSearchPathForDirectoriesInDomains( + NSLibraryDirectory, NSUserDomainMask, true) objectAtIndex:0]; - NSString *filename = args[@"filename"]; - BOOL overwrite = args[@"overwrite"]; + NSString *filename = args[@"filename"]; + BOOL overwrite = args[@"overwrite"]; - NSString *sourcePath = [[NSBundle mainBundle] pathForResource:filename - ofType:nil]; + NSString *sourcePath = [[NSBundle mainBundle] pathForResource:filename + ofType:nil]; - NSString *destinationPath = - [documentPath stringByAppendingPathComponent:filename]; - - NSError *error; - NSFileManager *fileManager = [NSFileManager defaultManager]; - if ([fileManager fileExistsAtPath:destinationPath]) { - if (overwrite) { - [fileManager removeItemAtPath:destinationPath error:&error]; - if (error) { - NSLog(@"Error: %@", error); - resolve(@false); - return; - } - } else { - resolve(@true); - return; - } - } + NSString *destinationPath = + [documentPath stringByAppendingPathComponent:filename]; - [fileManager copyItemAtPath:sourcePath toPath:destinationPath error:&error]; - if (error) { + NSError *error; + NSFileManager *fileManager = [NSFileManager defaultManager]; + if ([fileManager fileExistsAtPath:destinationPath]) { + if (overwrite) { + [fileManager removeItemAtPath:destinationPath error:&error]; + if (error) { NSLog(@"Error: %@", error); resolve(@false); return; + } + } else { + resolve(@true); + return; } - resolve(@true); + } + + [fileManager copyItemAtPath:sourcePath toPath:destinationPath error:&error]; + if (error) { + NSLog(@"Error: %@", error); + resolve(@false); return; + } + resolve(@true); + return; } - (void)invalidate { - opsqlite::invalidate(); + opsqlite::invalidate(); } + (void)expoUpdatesWorkaround { - NSArray *paths = NSSearchPathForDirectoriesInDomains( - NSLibraryDirectory, NSUserDomainMask, true); - NSString *documentPath = [paths objectAtIndex:0]; - opsqlite::expoUpdatesWorkaround([documentPath UTF8String]); + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, + NSUserDomainMask, true); + NSString *documentPath = [paths objectAtIndex:0]; + opsqlite::expoUpdatesWorkaround([documentPath UTF8String]); } @end diff --git a/op-sqlite.podspec b/op-sqlite.podspec index 375cc3ef..9939f1f8 100644 --- a/op-sqlite.podspec +++ b/op-sqlite.podspec @@ -96,7 +96,7 @@ Pod::Spec.new do |s| install_modules_dependencies(s) # Base source files - source_files = Dir.glob("ios/**/*.{h,m,mm}") + Dir.glob("cpp/**/*.{h,cpp,c}") + source_files = Dir.glob("ios/**/*.{h,hpp,m,mm}") + Dir.glob("cpp/**/*.{hpp,h,cpp,c}") # Set the path to the `c_sources` directory based on environment if is_user_app diff --git a/package.json b/package.json index 42f134d6..19d39962 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@op-engineering/op-sqlite", "version": "0.0.0", - "description": "Next generation SQLite for React Native", + "description": "Fastest SQLite for React Native", "main": "./lib/module/index.js", "types": "./lib/typescript/src/index.d.ts", "react-native": "src/index", @@ -48,7 +48,7 @@ "sqlite" ], "repository": "https://github.com/OP-Engineering/op-sqlite", - "author": "Oscar Franco (https://github.com/ospfranco)", + "author": "Oscar Franco (https://github.com/ospfranco)", "license": "MIT", "bugs": { "url": "https://github.com/OP-Engineering/op-sqlite/issues" @@ -59,11 +59,10 @@ }, "devDependencies": { "clang-format": "^1.8.0", - "lefthook": "^1.5.5", "react": "19.1.1", - "react-native": "0.81.0", - "react-native-builder-bob": "^0.40.13", - "typescript": "5.8.3" + "react-native": "0.82.1", + "react-native-builder-bob": "^0.40.15", + "typescript": "5.0.4" }, "peerDependencies": { "react": "*", @@ -110,5 +109,8 @@ "type": "turbo-module", "version": "0.52.1" }, - "packageManager": "yarn@4.3.1" + "packageManager": "yarn@4.11.0", + "dependencies": { + "react-native-safe-area-context": "^5.6.2" + } } diff --git a/src/functions.ts b/src/functions.ts index b2704fe6..6de382a2 100644 --- a/src/functions.ts +++ b/src/functions.ts @@ -180,31 +180,31 @@ function enhanceDB(db: _InternalDB, options: DBParams): DB { return db.executeRaw(query, sanitizedParams as Scalar[]); }, executeSync: (query: string, params?: Scalar[]): QueryResult => { - const sanitizedParams = sanitizeArrayBuffersInArray(params); - - let intermediateResult = sanitizedParams - ? db.executeSync(query, sanitizedParams as Scalar[]) + let res = params + ? db.executeSync(query, sanitizeArrayBuffersInArray(params) as Scalar[]) : db.executeSync(query); - let rows: Record[] = []; - for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) { - let row: Record = {}; - let rawRow = intermediateResult.rawRows![i]!; - for (let j = 0; j < intermediateResult.columnNames!.length; j++) { - let columnName = intermediateResult.columnNames![j]!; - let value = rawRow[j]!; + if (!res.rows) { + let rows: Record[] = []; + for (let i = 0; i < (res.rawRows?.length ?? 0); i++) { + let row: Record = {}; + let rawRow = res.rawRows![i]!; + for (let j = 0; j < res.columnNames!.length; j++) { + let columnName = res.columnNames![j]!; + let value = rawRow[j]!; - row[columnName] = value; + row[columnName] = value; + } + rows.push(row); } - rows.push(row); - } - let res = { - ...intermediateResult, - rows, - }; + delete res.rawRows; - delete res.rawRows; + res = { + ...res, + rows, + }; + } return res; }, @@ -218,32 +218,34 @@ function enhanceDB(db: _InternalDB, options: DBParams): DB { query: string, params?: Scalar[] | undefined ): Promise => { - const sanitizedParams = sanitizeArrayBuffersInArray(params); - - let intermediateResult = await db.execute( - query, - sanitizedParams as Scalar[] - ); - - let rows: Record[] = []; - for (let i = 0; i < (intermediateResult.rawRows?.length ?? 0); i++) { - let row: Record = {}; - let rawRow = intermediateResult.rawRows![i]!; - for (let j = 0; j < intermediateResult.columnNames!.length; j++) { - let columnName = intermediateResult.columnNames![j]!; - let value = rawRow[j]!; - - row[columnName] = value; + let res = params + ? await db.execute( + query, + sanitizeArrayBuffersInArray(params) as Scalar[] + ) + : await db.execute(query); + + if (!res.rows) { + let rows: Record[] = []; + for (let i = 0; i < (res.rawRows?.length ?? 0); i++) { + let row: Record = {}; + let rawRow = res.rawRows![i]!; + for (let j = 0; j < res.columnNames!.length; j++) { + let columnName = res.columnNames![j]!; + let value = rawRow[j]!; + + row[columnName] = value; + } + rows.push(row); } - rows.push(row); - } - let res = { - ...intermediateResult, - rows, - }; + delete res.rawRows; - delete res.rawRows; + res = { + ...res, + rows, + }; + } return res; }, @@ -416,6 +418,13 @@ export const open = (params: { return enhancedDb; }; +export function openV2(params: { path: string; encryptionKey?: string }) { + const db = OPSQLite.openV2(params); + const enhancedDb = enhanceDB(db, params as any); + + return enhancedDb; +} + /** * Moves the database from the assets folder to the default path (check the docs) or to a custom path * It DOES NOT OVERWRITE the database if it already exists in the destination path diff --git a/src/index.ts b/src/index.ts index 3243dcce..6fe3041e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,17 +1,6 @@ import { NativeModules } from 'react-native'; -export { - OPSQLite, - open, - openRemote, - openSync, - moveAssetsDatabase, - getDylibPath, - isSQLCipher, - isLibsql, - isIOSEmbedded, - isIOSEmbeeded, -} from './functions'; +export * from './functions'; export { Storage } from './Storage'; export type { Scalar, diff --git a/src/types.ts b/src/types.ts index f42f82b6..e6c40e9a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -310,6 +310,10 @@ export type OPSQLiteProxy = { location?: string; encryptionKey?: string; }) => _InternalDB; + openV2: (options: { + path: string; + encryptionKey?: string + }) => _InternalDB, openRemote: (options: { url: string; authToken: string }) => _InternalDB; openSync: (options: DBParams) => _InternalDB; isSQLCipher: () => boolean; diff --git a/yarn.lock b/yarn.lock index 4fbbabd5..3b7f3e82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,411 +12,157 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed - languageName: node - linkType: hard - -"@ark/schema@npm:0.46.0": - version: 0.46.0 - resolution: "@ark/schema@npm:0.46.0" - dependencies: - "@ark/util": "npm:0.46.0" - checksum: 10c0/5f9b0256689daa8c39868328ee57c4d091917376cba0b4b0607982d0dcd4f8b9dd840caf5877bf766af8ecc81756f780718077860f0e030c024fc75972e4d041 - languageName: node - linkType: hard - -"@ark/util@npm:0.46.0": - version: 0.46.0 - resolution: "@ark/util@npm:0.46.0" - checksum: 10c0/18fb146510856191ba1924f8ee50aa650b2f8795de7df85301cdd068b4bb9bd6f1548d6f3a8f99e75c3d9036d4c4b6ca245c964ceb4d3fa431ea53653faa2aa8 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2": - version: 7.24.2 - resolution: "@babel/code-frame@npm:7.24.2" +"@ark/schema@npm:0.55.0": + version: 0.55.0 + resolution: "@ark/schema@npm:0.55.0" dependencies: - "@babel/highlight": "npm:^7.24.2" - picocolors: "npm:^1.0.0" - checksum: 10c0/d1d4cba89475ab6aab7a88242e1fd73b15ecb9f30c109b69752956434d10a26a52cbd37727c4eca104b6d45227bd1dfce39a6a6f4a14c9b2f07f871e968cf406 + "@ark/util": "npm:0.55.0" + checksum: 10c0/4f431f2c4e7b0a04521b739e817c2244a04d4b54a27b6d67b79b1161b7114e2e6c11093726c435d191a6661424c4f6c1108dce43fffd8a1f0eadc0b0a567644c languageName: node linkType: hard -"@babel/code-frame@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" - dependencies: - "@babel/highlight": "npm:^7.24.7" - picocolors: "npm:^1.0.0" - checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 +"@ark/util@npm:0.55.0": + version: 0.55.0 + resolution: "@ark/util@npm:0.55.0" + checksum: 10c0/bde305461432be11860995101120ce73fc7a49d0180dc34807555903450b8d7ecf5fccde3ac6ce2ada3381b54f1a4c9016a4b70598d85746610bd122348ede51 languageName: node linkType: hard -"@babel/code-frame@npm:^7.25.9": - version: 7.26.0 - resolution: "@babel/code-frame@npm:7.26.0" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.27.1" js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5": - version: 7.24.1 - resolution: "@babel/compat-data@npm:7.24.1" - checksum: 10c0/8a1935450345c326b14ea632174696566ef9b353bd0d6fb682456c0774342eeee7654877ced410f24a731d386fdcbf980b75083fc764964d6f816b65792af2f5 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.25.2, @babel/compat-data@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/compat-data@npm:7.25.4" - checksum: 10c0/50d79734d584a28c69d6f5b99adfaa064d0f41609a378aef04eb06accc5b44f8520e68549eba3a082478180957b7d5783f1bfb1672e4ae8574e797ce8bae79fa - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/compat-data@npm:7.26.0" - checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": - version: 7.24.4 - resolution: "@babel/core@npm:7.24.4" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.2" - "@babel/generator": "npm:^7.24.4" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.24.4" - "@babel/parser": "npm:^7.24.4" - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10c0/fc136966583e64d6f84f4a676368de6ab4583aa87f867186068655b30ef67f21f8e65a88c6d446a7efd219ad7ffb9185c82e8a90183ee033f6f47b5026641e16 +"@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/compat-data@npm:7.28.5" + checksum: 10c0/702a25de73087b0eba325c1d10979eed7c9b6662677386ba7b5aa6eace0fc0676f78343bae080a0176ae26f58bd5535d73b9d0fbb547fef377692e8b249353a7 languageName: node linkType: hard -"@babel/core@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.25.2": + version: 7.28.5 + resolution: "@babel/core@npm:7.28.5" dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-module-transforms": "npm:^7.25.2" - "@babel/helpers": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.0" - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.2" - "@babel/types": "npm:^7.25.2" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/a425fa40e73cb72b6464063a57c478bc2de9dbcc19c280f1b55a3d88b35d572e87e8594e7d7b4880331addb6faef641bbeb701b91b41b8806cd4deae5d74f401 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.18.7, @babel/generator@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/generator@npm:7.24.4" - dependencies: - "@babel/types": "npm:^7.24.0" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/67a1b2f7cc985aaaa11b01e8ddd4fffa4f285837bc7a209738eb8203aa34bdafeb8507ed75fd883ddbabd641a036ca0a8d984e760f28ad4a9d60bff29d0a60bb - languageName: node - linkType: hard - -"@babel/generator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/generator@npm:7.24.1" - dependencies: - "@babel/types": "npm:^7.24.0" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/f0eea7497657cdf68cfb4b7d181588e1498eefd1f303d73b0d8ca9b21a6db27136a6f5beb8f988b6bdcd4249870826080950450fd310951de42ecf36df274881 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/generator@npm:7.25.6" - dependencies: - "@babel/types": "npm:^7.25.6" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/f89282cce4ddc63654470b98086994d219407d025497f483eb03ba102086e11e2b685b27122f6ff2e1d93b5b5fa0c3a6b7e974fbf2e4a75b685041a746a4291e + checksum: 10c0/535f82238027621da6bdffbdbe896ebad3558b311d6f8abc680637a9859b96edbf929ab010757055381570b29cf66c4a295b5618318d27a4273c0e2033925e72 languageName: node linkType: hard -"@babel/generator@npm:^7.25.9": - version: 7.26.0 - resolution: "@babel/generator@npm:7.26.0" +"@babel/generator@npm:^7.18.7, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/generator@npm:7.28.5" dependencies: - "@babel/parser": "npm:^7.26.0" - "@babel/types": "npm:^7.26.0" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" + "@babel/parser": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/5a80dc364ddda26b334bbbc0f6426cab647381555ef7d0cd32eb284e35b867c012ce6ce7d52a64672ed71383099c99d32765b3d260626527bb0e3470b0f58e45 - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" - dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a - languageName: node - linkType: hard - -"@babel/helper-annotate-as-pure@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" - dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe - languageName: node - linkType: hard - -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/0ed84abf848c79fb1cd4c1ddac12c771d32c1904d87fc3087f33cfdeb0c2e0db4e7892b74b407d9d8d0c000044f3645a7391a781f788da8410c290bb123a1f13 - languageName: node - linkType: hard - -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helper-compilation-targets@npm:7.23.6" - dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-validator-option": "npm:^7.23.5" - browserslist: "npm:^4.22.2" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10c0/ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + checksum: 10c0/9f219fe1d5431b6919f1a5c60db8d5d34fe546c0d8f5a8511b32f847569234ffc8032beb9e7404649a143f54e15224ecb53a3d11b6bb85c3203e573d91fca752 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8, @babel/helper-compilation-targets@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-compilation-targets@npm:7.25.2" +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/compat-data": "npm:^7.25.2" - "@babel/helper-validator-option": "npm:^7.24.8" - browserslist: "npm:^4.23.1" - lru-cache: "npm:^5.1.1" - semver: "npm:^6.3.1" - checksum: 10c0/de10e986b5322c9f807350467dc845ec59df9e596a5926a3b5edbb4710d8e3b8009d4396690e70b88c3844fe8ec4042d61436dd4b92d1f5f75655cf43ab07e99 + "@babel/types": "npm:^7.27.3" + checksum: 10c0/94996ce0a05b7229f956033e6dcd69393db2b0886d0db6aff41e704390402b8cdcca11f61449cb4f86cfd9e61b5ad3a73e4fa661eeed7846b125bd1c33dbc633 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-compilation-targets@npm:7.25.9" +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.25.0, @babel/helper-create-class-features-plugin@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.4" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/a765d9e0482e13cf96642fa8aa28e6f7d4d7d39f37840d6246e5e10a7c47f47c52d52522edd3073f229449d17ec0db6f9b7b5e398bff6bb0b4994d65957a164c - languageName: node - linkType: hard - -"@babel/helper-create-class-features-plugin@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf - languageName: node - linkType: hard - -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": - version: 7.22.15 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - regexpu-core: "npm:^5.3.1" - semver: "npm:^6.3.1" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/8eba4c1b7b94a83e7a82df5c3e504584ff0ba6ab8710a67ecc2c434a7fb841a29c2f5c94d2de51f25446119a1df538fa90b37bd570db22ddd5e7147fe98277c6 + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0, @babel/helper-create-regexp-features-plugin@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" +"@babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - regexpu-core: "npm:^5.3.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-member-expression-to-functions": "npm:^7.28.5" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/85a7e3639c118856fb1113f54fb7e3bf7698171ddfd0cd6fccccd5426b3727bc1434fe7f69090441dcde327feef9de917e00d35e47ab820047057518dd675317 + checksum: 10c0/786a6514efcf4514aaad85beed419b9184d059f4c9a9a95108f320142764999827252a851f7071de19f29424d369616573ecbaa347f1ce23fb12fc6827d9ff56 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.28.5 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - regexpu-core: "npm:^6.1.1" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + regexpu-core: "npm:^6.3.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef - languageName: node - linkType: hard - -"@babel/helper-define-polyfill-provider@npm:^0.6.1": - version: 0.6.1 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.1" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" - lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/210e1c8ac118f7c5a0ef5b42c4267c3db2f59b1ebc666a275d442b86896de4a66ef93539d702870f172f9749cd44c89f53056a5b17e619c3142b12ed4e4e6aae + checksum: 10c0/7af3d604cadecdb2b0d2cedd696507f02a53a58be0523281c2d6766211443b55161dde1e6c0d96ab16ddfd82a2607a2f792390caa24797e9733631f8aa86859f languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.2": - version: 0.6.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" +"@babel/helper-define-polyfill-provider@npm:^0.6.5": + version: 0.6.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + debug: "npm:^4.4.1" lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" + resolve: "npm:^1.22.10" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/f777fe0ee1e467fdaaac059c39ed203bdc94ef2465fb873316e9e1acfc511a276263724b061e3b0af2f6d7ad3ff174f2bb368fde236a860e0f650fda43d7e022 - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 + checksum: 10c0/4886a068d9ca1e70af395340656a9dda33c50502c67eed39ff6451785f370bdfc6e57095b90cb92678adcd4a111ca60909af53d3a741120719c5604346ae409e languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" - dependencies: - "@babel/traverse": "npm:^7.24.8" - "@babel/types": "npm:^7.24.8" - checksum: 10c0/7e14a5acc91f6cd26305a4441b82eb6f616bd70b096a4d2099a968f16b26d50207eec0b9ebfc466fefd62bd91587ac3be878117cdfec819b7151911183cb0e5a +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" +"@babel/helper-member-expression-to-functions@npm:^7.27.1, @babel/helper-member-expression-to-functions@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + "@babel/traverse": "npm:^7.28.5" + "@babel/types": "npm:^7.28.5" + checksum: 10c0/4e6e05fbf4dffd0bc3e55e28fcaab008850be6de5a7013994ce874ec2beb90619cda4744b11607a60f8aae0227694502908add6188ceb1b5223596e765b44814 languageName: node linkType: hard @@ -429,571 +175,243 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15": - version: 7.24.3 - resolution: "@babel/helper-module-imports@npm:7.24.3" +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.24.0" - checksum: 10c0/052c188adcd100f5e8b6ff0c9643ddaabc58b6700d3bbbc26804141ad68375a9f97d9d173658d373d31853019e65f62610239e3295cdd58e573bdcb2fded188d + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/helper-module-transforms@npm:7.28.3" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" - dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-simple-access": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/helper-validator-identifier": "npm:^7.22.20" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.0, @babel/helper-module-transforms@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-module-transforms@npm:7.25.2" +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.2" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/adaa15970ace0aee5934b5a633789b5795b6229c6a9cf3e09a7e80aa33e478675eee807006a862aa9aa517935d81f88a6db8a9f5936e3a2a40ec75f8062bc329 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9": - version: 7.26.0 - resolution: "@babel/helper-module-transforms@npm:7.26.0" +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" - dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c +"@babel/helper-string-parser@npm:^7.18.10, @babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.0 - resolution: "@babel/helper-plugin-utils@npm:7.24.0" - checksum: 10c0/90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da +"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/helper-validator-identifier@npm:7.28.5" + checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-plugin-utils@npm:7.25.9" - checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.28.3 + resolution: "@babel/helper-wrap-function@npm:7.28.3" + dependencies: + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.3" + "@babel/types": "npm:^7.28.2" + checksum: 10c0/aecb8a457efd893dc3c6378ab9221d06197573fb2fe64afabe7923e7732607d59b07f4c5603909877d69bea3ee87025f4b1d8e4f0403ae0a07b14e9ce0bf355a languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/helper-plugin-utils@npm:7.27.1" - checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" + dependencies: + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.4" + checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.24.7, @babel/helper-remap-async-to-generator@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/parser@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-wrap-function": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/0d17b5f7bb6a607edc9cc62fff8056dd9f341bf2f919884f97b99170d143022a5e7ae57922c4891e4fc360ad291e708d2f8cd8989f1d3cd7a17600159984f5a6 + "@babel/types": "npm:^7.28.5" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/5bbe48bf2c79594ac02b490a41ffde7ef5aa22a9a88ad6bcc78432a6ba8a9d638d531d868bd1f104633f1f6bba9905746e15185b8276a3756c42b765d131b1ef languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-wrap-function": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 + checksum: 10c0/844b7c7e9eec6d858262b2f3d5af75d3a6bbd9d3ecc740d95271fbdd84985731674536f5d8ac98f2dc0e8872698b516e406636e4d0cb04b50afe471172095a53 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-replace-supers@npm:7.25.0" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b4b6650ab3d56c39a259367cd97f8df2f21c9cebb3716fea7bca40a150f8847bfb82f481e98927c7c6579b48a977b5a8f77318a1c6aeb497f41ecd6dbc3fdfef + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-replace-supers@npm:7.25.9" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-simple-access@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.18.10, @babel/helper-string-parser@npm:^7.23.4": - version: 7.24.1 - resolution: "@babel/helper-string-parser@npm:7.24.1" - checksum: 10c0/2f9bfcf8d2f9f083785df0501dbab92770111ece2f90d120352fda6dd2a7d47db11b807d111e6f32aa1ba6d763fe2dc6603d153068d672a5d0ad33ca802632b2 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-string-parser@npm:7.24.8" - checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-option@npm:7.25.9" - checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-wrap-function@npm:7.25.0" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.28.3" dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/d54601a98384c191cbc1ff07b03a19e288ef8d5c6bfafe270b2a303d96e7304eb296002921ed464cc1b105a547d1db146eb86b0be617924dee1ba1b379cdc216 + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/3cdc27c4e08a632a58e62c6017369401976edf1cd9ae73fd9f0d6770ddd9accf40b494db15b66bab8db2a8d5dc5bab5ca8c65b19b81fdca955cd8cbbe24daadb languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-wrap-function@npm:7.25.9" +"@babel/plugin-proposal-export-default-from@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.27.1" dependencies: - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6e0756e0692245854028caea113dad2dc11fcdd479891a59d9a614a099e7e321f2bd25a1e3dd6f3b36ba9506a76f072f63adbf676e5ed51e7eeac277612e3db2 languageName: node linkType: hard -"@babel/helpers@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/helpers@npm:7.24.4" - dependencies: - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - checksum: 10c0/747ef62b7fe87de31a2f3c19ff337a86cbb79be2f6c18af63133b614ab5a8f6da5b06ae4b06fb0e71271cb6a27efec6f8b6c9f44c60b8a18777832dc7929e6c5 +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 languageName: node linkType: hard -"@babel/helpers@npm:^7.25.0": - version: 7.25.6 - resolution: "@babel/helpers@npm:7.25.6" +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.6" - checksum: 10c0/448c1cdabccca42fd97a252f73f1e4bcd93776dbf24044f3b4f49b756bf2ece73ee6df05177473bb74ea7456dddd18d6f481e4d96d2cc7839d078900d48c696c + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 languageName: node linkType: hard -"@babel/highlight@npm:^7.24.2": - version: 7.24.2 - resolution: "@babel/highlight@npm:7.24.2" +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/98ce00321daedeed33a4ed9362dc089a70375ff1b3b91228b9f05e6591d387a81a8cba68886e207861b8871efa0bc997ceabdd9c90f6cce3ee1b2f7f941b42db + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde languageName: node linkType: hard -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a - languageName: node - linkType: hard - -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/parser@npm:7.24.4" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/parser@npm:7.24.1" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/d2a8b99aa5f33182b69d5569367403a40e7c027ae3b03a1f81fd8ac9b06ceb85b31f6ee4267fb90726dc2ac99909c6bdaa9cf16c379efab73d8dfe85cee32c50 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/parser@npm:7.25.6" - dependencies: - "@babel/types": "npm:^7.25.6" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/f88a0e895dbb096fd37c4527ea97d12b5fc013720602580a941ac3a339698872f0c911e318c292b184c36b5fbe23b612f05aff9d24071bc847c7b1c21552c41d - languageName: node - linkType: hard - -"@babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0": - version: 7.26.1 - resolution: "@babel/parser@npm:7.26.1" - dependencies: - "@babel/types": "npm:^7.26.0" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/dc7d4e6b7eb667fa0784e7e2c3f6f92ca12ad72242f6d4311995310dae55093f02acdb595b69b0dbbf04cb61ad87156ac03186ff32eacfa35149c655bc22c14b - languageName: node - linkType: hard - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": - version: 7.25.3 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/traverse": "npm:^7.25.3" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/814b4d3f102e7556a5053d1acf57ef601cfcff39a2c81b8cdc6a5c842e3cb9838f5925d1466a5f1e6416e74c9c83586a3c07fbd7fb8610a396c2becdf9ae5790 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9645a1f47b3750acadb1353c02e71cc712d072aafe5ce115ed3a886bc14c5d9200cfb0b5b5e60e813baa549b800cf798f8714019fd246c699053cf68c428e426 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/ed1ce1c90cac46c01825339fd0f2a96fa071b016fb819d8dfaf8e96300eae30e74870cb47e4dc80d4ce2fb287869f102878b4f3b35bc927fec8b1d0d76bcf612 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 10c0/aeb6e7aa363a47f815cf956ea1053c5dd8b786a17799f065c9688ba4b0051fe7565d258bbe9400bfcbfb3114cb9fda66983e10afe4d750bc70ff75403e15dd36 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.13.0 - checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/traverse": "npm:^7.25.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/45988025537a9d4a27b610fd696a18fd9ba9336621a69b4fb40560eeb10c79657f85c92a37f30c7c8fb29c22970eea0b373315795a891f1a05549a6cfe5a6bfe - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 - languageName: node - linkType: hard - -"@babel/plugin-proposal-export-default-from@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6d7ca2d8179d97c38cbcc327129c70103b95797a048c6d244fa8f3eb35b8aebc8122957dc25f20d9923fe6e75f16e2a4d649f1d80a63a9fed2d8b9eda85bd650 - languageName: node - linkType: hard - -"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": - version: 7.21.0-placeholder-for-preset-env.2 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 languageName: node linkType: hard @@ -1001,1953 +419,1092 @@ __metadata: version: 7.14.5 resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 - languageName: node - linkType: hard - -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-default-from@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-syntax-export-default-from@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/10267af3a2bed893acb17b1e1e5e6a3aafcdcb202d54ac295bfa95ac11c66336a9c36cc73b4adc2b10a41a8ecc0c3390808ab16a99c24a76f8c74313ba32be63 - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.12.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-flow@npm:7.24.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/618de04360a96111408abdaafaba2efbaef0d90faad029d50e0281eaad5d7c7bd2ce4420bbac0ee27ad84c2b7bbc3e48f782064f81ed5bc40c398637991004c7 - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.25.9": - version: 7.26.0 - resolution: "@babel/plugin-syntax-flow@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3d5cc1627a67af8be9df8cfe246869f18e7e9e2592f4b6f1c4bcd9bbe4ad27102784a25b31ebdbed23499ecb6fc23aaf7891ccf5ac3f432fd26a27123d1e242b - languageName: node - linkType: hard - -"@babel/plugin-syntax-flow@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-syntax-flow@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4d34ca47044398665cbe0293baea7be230ca4090bc7981ffba5273402a215c95976c6f811c7b32f10b326cc6aab6886f26c29630c429aa45c3f350c5ccdfdbbf - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.24.7": - version: 7.25.6 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/55afa63b1b1355bcc1d85a9ad9d2c78983e27beee38e232d5c1ab59eac39127ce3c3817d6686e3ab1d0aff5edd8e38a6852885c65d3e518accdd183a445ef411 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.25.6 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.6" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0e9359cf2d117476310961dfcfd7204ed692e933707da10d6194153d3996cd2ea5b7635fc90d720dce3612083af89966bb862561064a509c350320dc98644751 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 - languageName: node - linkType: hard - -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.24.7": - version: 7.25.4 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/199919d44c73e5edee9ffd311cf638f88d26a810189e32d338c46c7600441fd5c4a2e431f9be377707cbf318410895304e90b83bf8d9011d205150fa7f260e63 - languageName: node - linkType: hard - -"@babel/plugin-syntax-typescript@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 - languageName: node - linkType: hard - -"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" - "@babel/helper-plugin-utils": "npm:^7.18.6" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/6ac05a54e5582f34ac6d5dc26499e227227ec1c7fa6fc8de1f3d40c275f140d3907f79bbbd49304da2d7008a5ecafb219d0b71d78ee3290ca22020d878041245 - languageName: node - linkType: hard - -"@babel/plugin-transform-arrow-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-generator-functions@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-remap-async-to-generator": "npm:^7.25.0" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/traverse": "npm:^7.25.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/efed6f6be90b25ad77c15a622a0dc0b22dbf5d45599c207ab8fbc4e959aef21f574fa467d9cf872e45de664a46c32334e78dee2332d82f5f27e26249a34a0920 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6 - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" - dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-remap-async-to-generator": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/83c82e243898875af8457972a26ab29baf8a2078768ee9f35141eb3edff0f84b165582a2ff73e90a9e08f5922bf813dbf15a85c1213654385198f4591c0dc45d - languageName: node - linkType: hard - -"@babel/plugin-transform-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" - dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/113e86de4612ae91773ff5cb6b980f01e1da7e26ae6f6012127415d7ae144e74987bc23feb97f63ba4bc699331490ddea36eac004d76a20d5369e4cc6a7f61cd - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoping@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/382931c75a5d0ea560387e76cb57b03461300527e4784efcb2fb62f36c1eb0ab331327b6034def256baa0cad9050925a61f9c0d56261b6afd6a29c3065fb0bd4 - languageName: node - linkType: hard - -"@babel/plugin-transform-block-scoping@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda - languageName: node - linkType: hard - -"@babel/plugin-transform-class-properties@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.4" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.4" - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0b41bc8a5920d3d17c7c06220b601cf43e0a32ac34f05f05cd0cdf08915e4521b1b707cb1e60942b4fc68a5dfac09f0444a8720e0c72ce76fb039e8ec5263115 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 - languageName: node - linkType: hard - -"@babel/plugin-transform-class-static-block@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/b0ade39a3d09dce886f79dbd5907c3d99b48167eddb6b9bbde24a0598129654d7017e611c20494cdbea48b07ac14397cd97ea34e3754bbb2abae4e698128eccb - languageName: node - linkType: hard - -"@babel/plugin-transform-class-static-block@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" - dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.12.0 - checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b - languageName: node - linkType: hard - -"@babel/plugin-transform-classes@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-classes@npm:7.25.4" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.4" - globals: "npm:^11.1.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c68424d9dd64860825111aa4a4ed5caf29494b7a02ddb9c36351d768c41e8e05127d89274795cdfcade032d9d299e6c677418259df58c71e68f1741583dcf467 - languageName: node - linkType: hard - -"@babel/plugin-transform-classes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-classes@npm:7.25.9" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - globals: "npm:^11.1.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d - languageName: node - linkType: hard - -"@babel/plugin-transform-computed-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/template": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/25636dbc1f605c0b8bc60aa58628a916b689473d11551c9864a855142e36742fe62d4a70400ba3b74902338e77fb3d940376c0a0ba154b6b7ec5367175233b49 - languageName: node - linkType: hard - -"@babel/plugin-transform-computed-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/804968c1d5f5072c717505296c1e5d5ec33e90550423de66de82bbcb78157156e8470bbe77a04ab8c710a88a06360a30103cf223ac7eff4829adedd6150de5ce - languageName: node - linkType: hard - -"@babel/plugin-transform-destructuring@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 - languageName: node - linkType: hard - -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/793f14c9494972d294b7e7b97b747f47874b6d57d7804d3443c701becf5db192c9311be6a1835c07664486df1f5c60d33196c36fb7e11a53015e476b4c145b33 - languageName: node - linkType: hard - -"@babel/plugin-transform-dotall-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/75ff7ec1117ac500e77bf20a144411d39c0fdd038f108eec061724123ce6d1bb8d5bd27968e466573ee70014f8be0043361cdb0ef388f8a182d1d97ad67e51b9 - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/1c9b57ddd9b33696e88911d0e7975e1573ebc46219c4b30eb1dc746cbb71aedfac6f6dab7fdfdec54dd58f31468bf6ab56b157661ea4ffe58f906d71f89544c8 - languageName: node - linkType: hard - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" - dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 - languageName: node - linkType: hard - -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/eeda48372efd0a5103cb22dadb13563c975bce18ae85daafbb47d57bb9665d187da9d4fe8d07ac0a6e1288afcfcb73e4e5618bf75ff63fddf9736bfbf225203b - languageName: node - linkType: hard - -"@babel/plugin-transform-dynamic-import@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf - languageName: node - linkType: hard - -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ace3e11c94041b88848552ba8feb39ae4d6cad3696d439ff51445bd2882d8b8775d85a26c2c0edb9b5e38c9e6013cc11b0dea89ec8f93c7d9d7ee95e3645078c - languageName: node - linkType: hard - -"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912 - languageName: node - linkType: hard - -"@babel/plugin-transform-export-namespace-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4e144d7f1c57bc63b4899dbbbdfed0880f2daa75ea9c7251c7997f106e4b390dc362175ab7830f11358cb21f6b972ca10a43a2e56cd789065f7606b082674c0c - languageName: node - linkType: hard - -"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb - languageName: node - linkType: hard - -"@babel/plugin-transform-flow-strip-types@npm:^7.25.2": - version: 7.25.9 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-syntax-flow": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d4b79769a5b8bfc1a0766ed2158417e7efa53cdb5776161f641a642019c0822a1288f2ccd36c16a4bca77c64ccf1bab7e36aa1419adc417606acc6eddc126339 - languageName: node - linkType: hard - -"@babel/plugin-transform-flow-strip-types@npm:^7.26.5": - version: 7.27.1 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - "@babel/plugin-syntax-flow": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c61c43244aacdcd479ad9ba618e1c095a5db7e4eadc3d19249602febc4e97153230273c014933f5fe4e92062fa56dab9bed4bc430197d5b2ffeb2158a4bf6786 - languageName: node - linkType: hard - -"@babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/77629b1173e55d07416f05ba7353caa09d2c2149da2ca26721ab812209b63689d1be45116b68eadc011c49ced59daf5320835b15245eb7ae93ae0c5e8277cfc0 - languageName: node - linkType: hard - -"@babel/plugin-transform-for-of@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-for-of@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe - languageName: node - linkType: hard - -"@babel/plugin-transform-function-name@npm:^7.25.1": - version: 7.25.1 - resolution: "@babel/plugin-transform-function-name@npm:7.25.1" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/traverse": "npm:^7.25.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e74912174d5e33d1418b840443c2e226a7b76cc017c1ed20ee30a566e4f1794d4a123be03180da046241576e8b692731807ba1f52608922acf1cb2cb6957593f - languageName: node - linkType: hard - -"@babel/plugin-transform-function-name@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-function-name@npm:7.25.9" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 - languageName: node - linkType: hard - -"@babel/plugin-transform-json-strings@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/17c72cd5bf3e90e722aabd333559275f3309e3fa0b9cea8c2944ab83ae01502c71a2be05da5101edc02b3fc8df15a8dbb9b861cbfcc8a52bf5e797cf01d3a40a - languageName: node - linkType: hard - -"@babel/plugin-transform-json-strings@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 + checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/plugin-transform-literals@npm:7.25.2" +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0796883217b0885d37e7f6d350773be349e469a812b6bf11ccf862a6edf65103d3e7c849529d65381b441685c12e756751d8c2489a0fd3f8139bb5ef93185f58 + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-literals@npm:7.25.9" +"@babel/plugin-syntax-export-default-from@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b + checksum: 10c0/9aa62f5916950f3e5f91657895f4635b1c77e108e453ef12c30dc7670c3441bdd65cd28be20d6ddc9003ed471cc98465785a14cd76c61f077c1c84264f1f28ca languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" +"@babel/plugin-syntax-flow@npm:^7.12.1, @babel/plugin-syntax-flow@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-flow@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dbe882eb9053931f2ab332c50fc7c2a10ef507d6421bd9831adbb4cb7c9f8e1e5fbac4fbd2e007f6a1bf1df1843547559434012f118084dc0bf42cda3b106272 + checksum: 10c0/4d34ca47044398665cbe0293baea7be230ca4090bc7981ffba5273402a215c95976c6f811c7b32f10b326cc6aab6886f26c29630c429aa45c3f350c5ccdfdbbf languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 + checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e789ae359bdf2d20e90bedef18dfdbd965c9ebae1cee398474a0c349590fda7c8b874e1a2ceee62e47e5e6ec1730e76b0f24e502164357571854271fc12cc684 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6df7de7fce34117ca4b2fa07949b12274c03668cbfe21481c4037b6300796d50ae40f4f170527b61b70a67f26db906747797e30dbd0d9809a441b6e220b5728f + checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" +"@babel/plugin-syntax-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.8" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f1cf552307ebfced20d3907c1dd8be941b277f0364aa655e2b5fee828c84c54065745183104dae86f1f93ea0406db970a463ef7ceaaed897623748e99640e5a7 + checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9" +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-simple-access": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-plugin-utils": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fca6198da71237e4bb1274b3b67a0c81d56013c9535361242b6bfa87d70a9597854aadb45d4d8203369be4a655e158be2a5d20af0040b1f8d1bfc47db3ad7b68 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a + checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" dependencies: - "@babel/helper-module-transforms": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7791d290121db210e4338b94b4a069a1a79e4c7a8d7638d8159a97b281851bbed3048dac87a4ae718ad963005e6c14a5d28e6db2eeb2b04e031cee92fb312f85 + checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.8.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.14.5" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/41a0b0f2d0886318237440aa3b489f6d0305361d8671121777d9ff89f9f6de9d0c02ce93625049061426c8994064ef64deae8b819d1b14c00374a6a2336fb5d9 + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.14.5" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef + "@babel/core": ^7.0.0-0 + checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-new-target@npm:7.24.7" +"@babel/plugin-syntax-typescript@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2540808a35e1a978e537334c43dab439cf24c93e7beb213a2e71902f6710e60e0184316643790c0a6644e7a8021e52f7ab8165e6b3e2d6651be07bdf517b67df + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-new-target@npm:7.25.9" +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" +"@babel/plugin-transform-arrow-functions@npm:^7.24.7, @babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7243c8ff734ed5ef759dd8768773c4b443c12e792727e759a1aec2c7fa2bfdd24f1ecb42e292a7b3d8bd3d7f7b861cf256a8eb4ba144fc9cc463892c303083d9 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4, @babel/plugin-transform-async-generator-functions@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 + checksum: 10c0/739d577e649d7d7b9845dc309e132964327ab3eaea43ad04d04a7dcb977c63f9aa9a423d1ca39baf10939128d02f52e6fda39c834fb9f1753785b1497e72c4dc languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" +"@babel/plugin-transform-async-to-generator@npm:^7.24.7, @babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e18e09ca5a6342645d00ede477731aa6e8714ff357efc9d7cda5934f1703b3b6fb7d3298dce3ce3ba53e9ff1158eab8f1aadc68874cc21a6099d33a1ca457789 + checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" +"@babel/plugin-transform-block-scoping@npm:^7.25.0, @babel/plugin-transform-block-scoping@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9ad64bc003f583030f9da50614b485852f8edac93f8faf5d1cd855201a4852f37c5255ae4daf70dd4375bdd4874e16e39b91f680d4668ec219ba05441ce286eb + checksum: 10c0/6b098887b375c23813ccee7a00179501fc5f709b4ee5a4b2a5c5c9ef3b44cee49e240214b1a9b4ad2bd1911fab3335eac2f0a3c5f014938a1b61bec84cec4845 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" +"@babel/plugin-transform-class-properties@npm:^7.25.4, @babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af + checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" +"@babel/plugin-transform-class-static-block@npm:^7.28.3": + version: 7.28.3 + resolution: "@babel/plugin-transform-class-static-block@npm:7.28.3" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.28.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/770cebb4b4e1872c216b17069db9a13b87dfee747d359dc56d9fcdd66e7544f92dc6ab1861a4e7e0528196aaff2444e4f17dc84efd8eaf162d542b4ba0943869 + "@babel/core": ^7.12.0 + checksum: 10c0/8c922a64f6f5b359f7515c89ef0037bad583b4484dfebc1f6bc1cf13462547aaceb19788827c57ec9a2d62495f34c4b471ca636bf61af00fdaea5e9642c82b60 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-super@npm:7.25.9" +"@babel/plugin-transform-classes@npm:^7.25.4, @babel/plugin-transform-classes@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-classes@npm:7.28.4" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 + checksum: 10c0/76687ed37216ff012c599870dc00183fb716f22e1a02fe9481943664c0e4d0d88c3da347dc3fe290d4728f4d47cd594ffa621d23845e2bb8ab446e586308e066 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" +"@babel/plugin-transform-computed-properties@npm:^7.24.7, @babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1e2f10a018f7d03b3bde6c0b70d063df8d5dd5209861d4467726cf834f5e3d354e2276079dc226aa8e6ece35f5c9b264d64b8229a8bb232829c01e561bcfb07a + checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" +"@babel/plugin-transform-destructuring@npm:^7.24.8, @babel/plugin-transform-destructuring@npm:^7.28.0, @babel/plugin-transform-destructuring@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c + checksum: 10c0/288207f488412b23bb206c7c01ba143714e2506b72a9ec09e993f28366cc8188d121bde714659b3437984a86d2881d9b1b06de3089d5582823ccf2f3b3eaa2c4 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4ffbe1aad7dec7c9aa2bf6ceb4b2f91f96815b2784f2879bde80e46934f59d64a12cb2c6262e40897c4754d77d2c35d8a5cfed63044fdebf94978b1ed3d14b17 + checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/53bf190d6926771545d5184f1f5f3f5144d0f04f170799ad46a43f683a01fab8d5fe4d2196cf246774530990c31fe1f2b9f0def39f0a5ddbb2340b924f5edf01 + "@babel/core": ^7.0.0 + checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-parameters@npm:7.25.9" +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd + checksum: 10c0/3baa706af3112adf2ae0c7ec0dc61b63dd02695eb5582f3c3a2b2d05399c6aa7756f55e7bbbd5412e613a6ba1dd6b6736904074b4d7ebd6b45a1e3f9145e4094 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.4" +"@babel/plugin-transform-exponentiation-operator@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.28.5" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.4" - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7abdb427c3984a2c8a2e9d806297d8509b02f78a3501b7760e544be532446e9df328b876daa8fc38718f3dce7ccc45083016ee7aeaab169b81c142bc18700794 + checksum: 10c0/006566e003c2a8175346cc4b3260fcd9f719b912ceae8a4e930ce02ee3cf0b2841d5c21795ba71790871783d3c0c1c3d22ce441b8819c37975844bfba027d3f7 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c6fa7defb90b1b0ed46f24ff94ff2e77f44c1f478d1090e81712f33cf992dda5ba347016f030082a2f770138bac6f4a9c2c1565e9f767a125901c77dd9c239ba + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" +"@babel/plugin-transform-flow-strip-types@npm:^7.25.2, @babel/plugin-transform-flow-strip-types@npm:^7.26.5": + version: 7.27.1 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-flow": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 + checksum: 10c0/c61c43244aacdcd479ad9ba618e1c095a5db7e4eadc3d19249602febc4e97153230273c014933f5fe4e92062fa56dab9bed4bc430197d5b2ffeb2158a4bf6786 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" +"@babel/plugin-transform-for-of@npm:^7.24.7, @babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/52564b58f3d111dc02d241d5892a4b01512e98dfdf6ef11b0ed62f8b11b0acacccef0fc229b44114fe8d1a57a8b70780b11bdd18b807d3754a781a07d8f57433 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" +"@babel/plugin-transform-function-name@npm:^7.25.1, @babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.7" +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c14a07a9e75723c96f1a0a306b8a8e899ff1c6a0cc3d62bcda79bb1b54e4319127b258651c513a1a47da152cdc22e16525525a30ae5933a2980c7036fd0b4d24 + checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.7" +"@babel/plugin-transform-literals@npm:^7.25.2, @babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fce647db50f90a5291681f0f97865d9dc76981262dff71d6d0332e724b85343de5860c26f9e9a79e448d61e1d70916b07ce91e8c7f2b80dceb4b16aee41794d8 + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ce0e289f6af93d7c4dc6b385512199c5bb138ae61507b4d5117ba88b6a6b5092f704f1bdf80080b7d69b1b8c36649f2a0b250e8198667d4d30c08bbb1546bd99 + checksum: 10c0/fba4faa96d86fa745b0539bb631deee3f2296f0643c087a50ad0fac2e5f0a787fa885e9bdd90ae3e7832803f3c08e7cd3f1e830e7079dbdc023704923589bb23 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.9" +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fc9ee08efc9be7cbd2cc6788bbf92579adf3cab37912481f1b915221be3d22b0613b5b36a721df5f4c0ab65efe8582fcf8673caab83e6e1ce4cc04ceebf57dfa + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-react-jsx@npm:7.25.2" +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/types": "npm:^7.25.2" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8c5b515f38118471197605e02bea54a8a4283010e3c55bad8cfb78de59ad63612b14d40baca63689afdc9d57b147aac4c7794fe5f7736c9e1ed6dd38784be624 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.25.2": - version: 7.25.9 - resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" +"@babel/plugin-transform-modules-commonjs@npm:^7.24.8, @babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-syntax-jsx": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5c9947e8ed141f7606f54da3e05eea1074950c5b8354c39df69cb7f43cb5a83c6c9d7973b24bc3d89341c8611f8ad50830a98ab10d117d850e6bdd8febdce221 + checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.28.5" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-module-transforms": "npm:^7.28.3" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fae517d293d9c93b7b920458c3e4b91cb0400513889af41ba184a5f3acc8bfef27242cc262741bb8f87870df376f1733a0d0f52b966d342e2aaaf5607af8f73d + checksum: 10c0/7e8c0bcff79689702b974f6a0fedb5d0c6eeb5a5e3384deb7028e7cfe92a5242cc80e981e9c1817aad29f2ecc01841753365dd38d877aa0b91737ceec2acfd07 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d2dc2c788fdae9d97217e70d46ba8ca9db0035c398dc3e161552b0c437113719a75c04f201f9c91ddc8d28a1da60d0b0853f616dead98a396abb9c845c44892b + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7, @babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 + "@babel/core": ^7.0.0 + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 languageName: node linkType: hard -"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + "@babel/core": ^7.0.0-0 + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2229de2768615e7f5dc0bbc55bc121b5678fd6d2febd46c74a58e42bb894d74cd5955c805880f4e02d0e1cf94f6886270eda7fafc1be9305a1ec3b9fd1d063f5 + checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" +"@babel/plugin-transform-numeric-separator@npm:^7.24.7, @babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 + checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:^7.24.7": - version: 7.25.9 - resolution: "@babel/plugin-transform-runtime@npm:7.25.9" - dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.6" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - semver: "npm:^6.3.1" +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b + checksum: 10c0/81725c8d6349957899975f3f789b1d4fb050ee8b04468ebfaccd5b59e0bda15cbfdef09aee8b4359f322b6715149d680361f11c1a420c4bdbac095537ecf7a90 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/41b155bdbb3be66618358488bf7731b3b2e8fff2de3dbfd541847720a9debfcec14db06a117abedd03c9cd786db20a79e2a86509a4f19513f6e1b610520905cf + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7, @babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b + checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.24.8, @babel/plugin-transform-optional-chaining@npm:^7.27.1, @babel/plugin-transform-optional-chaining@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/facba1553035f76b0d2930d4ada89a8cd0f45b79579afd35baefbfaf12e3b86096995f4b0c402cf9ee23b3f2ea0a4460c3b1ec0c192d340962c948bb223d4e66 + checksum: 10c0/adf5f70b1f9eb0dd6ff3d159a714683af3c910775653e667bd9f864c3dc2dc9872aba95f6c1e5f2a9675067241942f4fd0d641147ef4bf2bd8bc15f1fa0f2ed5 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-spread@npm:7.25.9" +"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.24.7, @babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5a74ed2ed0a3ab51c3d15fcaf09d9e2fe915823535c7a4d7b019813177d559b69677090e189ec3d5d08b619483eb5ad371fbcfbbff5ace2a76ba33ee566a1109 + checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" +"@babel/plugin-transform-private-property-in-object@npm:^7.24.7, @babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 + checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 languageName: node linkType: hard -"@babel/plugin-transform-strict-mode@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-strict-mode@npm:7.24.7" +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8414b77b2fb3e27aac50d7dfc4a9dbece203a3afa36e4708c88ec1c47c140624312073f2b194edbcfa43a2ef49ff6c6916f157bfb44192e068d94181fe81b88e + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" +"@babel/plugin-transform-react-display-name@npm:^7.24.7, @babel/plugin-transform-react-display-name@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3630f966257bcace122f04d3157416a09d40768c44c3a800855da81146b009187daa21859d1c3b7d13f4e19e8888e60613964b175b2275d451200fb6d8d6cfe6 + checksum: 10c0/f5f86d2ad92be3e962158f344c2e385e23e2dfae7c8c7dc32138fb2cc46f63f5e50386c9f6c6fc16dbf1792c7bb650ad92c18203d0c2c0bd875bc28b0b80ef30 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540 + checksum: 10c0/eb8c4b6a79dc5c49b41e928e2037e1ee0bbfa722e4fd74c0b7c0d11103c82c2c25c434000e1b051d534c7261ab5c92b6d1e85313bf1b26e37db3f051ae217b58 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" +"@babel/plugin-transform-react-jsx-self@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f570a4fbbdc5fd85f48165a97452826560051e3b8efb48c3bb0a0a33ee8485633439e7b71bfe3ef705583a1df43f854f49125bd759abdedc195b2cf7e60012a + checksum: 10c0/00a4f917b70a608f9aca2fb39aabe04a60aa33165a7e0105fd44b3a8531630eb85bf5572e9f242f51e6ad2fa38c2e7e780902176c863556c58b5ba6f6e164031 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" +"@babel/plugin-transform-react-jsx-source@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb + checksum: 10c0/5e67b56c39c4d03e59e03ba80692b24c5a921472079b63af711b1d250fc37c1733a17069b63537f750f3e937ec44a42b1ee6a46cd23b1a0df5163b17f741f7f2 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.25.2 - resolution: "@babel/plugin-transform-typescript@npm:7.25.2" +"@babel/plugin-transform-react-jsx@npm:^7.25.2, @babel/plugin-transform-react-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-jsx@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-create-class-features-plugin": "npm:^7.25.0" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/plugin-syntax-typescript": "npm:^7.24.7" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b3c941da39ee7ecf72df1b78a01d4108160438245f2ab61befe182f51d17fd0034733c6d079b7efad81e03a66438aa3881a671cd68c5eb0fc775df86b88df996 + checksum: 10c0/1a08637c39fc78c9760dd4a3ed363fdbc762994bf83ed7872ad5bda0232fcd0fc557332f2ce36b522c0226dfd9cc8faac6b88eddda535f24825198a689e571af languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.2": - version: 7.25.9 - resolution: "@babel/plugin-transform-typescript@npm:7.25.9" +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-syntax-typescript": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475 + checksum: 10c0/34bc090f4a7e460d82a851971b4d0f32e4bb519bafb927154f4174506283fe02b0f471fc20655c6050a8bf7b748bfa31c7e8f7d688849476d8266623554fbb28 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" +"@babel/plugin-transform-regenerator@npm:^7.24.7, @babel/plugin-transform-regenerator@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.4" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b18e2e66af33471a6971289492beff5c240e56727331db1d34c4338a6a368a82a7ed6d57ec911001b6d65643aed76531e1e7cac93265fb3fb2717f54d845e69 + checksum: 10c0/5ad14647ffaac63c920e28df1b580ee2e932586bbdc71f61ec264398f68a5406c71a7f921de397a41b954a69316c5ab90e5d789ffa2bb34c5e6feb3727cfefb8 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 + "@babel/core": ^7.0.0 + checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/bc57656eb94584d1b74a385d378818ac2b3fca642e3f649fead8da5fb3f9de22f8461185936915dfb33d5a9104e62e7a47828331248b09d28bb2d59e9276de3e + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" +"@babel/plugin-transform-runtime@npm:^7.24.7": + version: 7.28.5 + resolution: "@babel/plugin-transform-runtime@npm:7.28.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c + checksum: 10c0/d20901d179a7044327dec7b37dd4fadbc4c1c0dc1cb6a3dd69e67166b43b06c262dd0f2e70aedf1c0dab42044c0c063468d99019ae1c9290312b6b8802c502f9 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.24.7, @babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.24.7" - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/83f72a345b751566b601dc4d07e9f2c8f1bc0e0c6f7abb56ceb3095b3c9d304de73f85f2f477a09f8cc7edd5e65afd0ff9e376cdbcbea33bc0c28f3705b38fd9 + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" +"@babel/plugin-transform-spread@npm:^7.24.7, @babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f + checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": - version: 7.25.4 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.4" +"@babel/plugin-transform-sticky-regex@npm:^7.24.7, @babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.2" - "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/f65749835a98d8d6242e961f9276bdcdb09020e791d151ccc145acaca9a66f025b2c7cb761104f139180d35eb066a429596ee6edece81f5fd9244e0edb97d7ec + "@babel/core": ^7.0.0-0 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" +"@babel/plugin-transform-strict-mode@npm:^7.24.7": + version: 7.27.1 + resolution: "@babel/plugin-transform-strict-mode@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f + "@babel/core": ^7.0.0-0 + checksum: 10c0/e280406a948da3603daa0aeea01e4ba9797c81ceb3743fa052552fc7a257da29f68ece772d40dc03d9e07579de03a31042d17825b3f9ec1bf16785bbebb11d57 languageName: node linkType: hard -"@babel/preset-env@npm:^7.25.2": - version: 7.25.4 - resolution: "@babel/preset-env@npm:7.25.4" +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: - "@babel/compat-data": "npm:^7.25.4" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-plugin-utils": "npm:^7.24.8" - "@babel/helper-validator-option": "npm:^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.3" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.0" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.7" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.7" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.0" - "@babel/plugin-transform-class-properties": "npm:^7.25.4" - "@babel/plugin-transform-class-static-block": "npm:^7.24.7" - "@babel/plugin-transform-classes": "npm:^7.25.4" - "@babel/plugin-transform-computed-properties": "npm:^7.24.7" - "@babel/plugin-transform-destructuring": "npm:^7.24.8" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.0" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.7" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.7" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.7" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-function-name": "npm:^7.25.1" - "@babel/plugin-transform-json-strings": "npm:^7.24.7" - "@babel/plugin-transform-literals": "npm:^7.25.2" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.7" - "@babel/plugin-transform-modules-amd": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.0" - "@babel/plugin-transform-modules-umd": "npm:^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-new-target": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-object-super": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" - "@babel/plugin-transform-parameters": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.25.4" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" - "@babel/plugin-transform-property-literals": "npm:^7.24.7" - "@babel/plugin-transform-regenerator": "npm:^7.24.7" - "@babel/plugin-transform-reserved-words": "npm:^7.24.7" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.7" - "@babel/plugin-transform-spread": "npm:^7.24.7" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.7" - "@babel/plugin-transform-template-literals": "npm:^7.24.7" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.8" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.7" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.4" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.6" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.37.1" - semver: "npm:^6.3.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ed210a1974b5a1e7f80a933c87253907ec869457cea900bc97892642fa9a690c47627a9bac08a7c9495deb992a2b15f308ffca2741e1876ba47172c96fa27e14 + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 languageName: node linkType: hard -"@babel/preset-env@npm:^7.25.3": - version: 7.26.0 - resolution: "@babel/preset-env@npm:7.26.0" +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/compat-data": "npm:^7.26.0" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" - "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" - "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" - "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9" - "@babel/plugin-transform-block-scoping": "npm:^7.25.9" - "@babel/plugin-transform-class-properties": "npm:^7.25.9" - "@babel/plugin-transform-class-static-block": "npm:^7.26.0" - "@babel/plugin-transform-classes": "npm:^7.25.9" - "@babel/plugin-transform-computed-properties": "npm:^7.25.9" - "@babel/plugin-transform-destructuring": "npm:^7.25.9" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" - "@babel/plugin-transform-for-of": "npm:^7.25.9" - "@babel/plugin-transform-function-name": "npm:^7.25.9" - "@babel/plugin-transform-json-strings": "npm:^7.25.9" - "@babel/plugin-transform-literals": "npm:^7.25.9" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" - "@babel/plugin-transform-modules-amd": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" - "@babel/plugin-transform-modules-umd": "npm:^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-new-target": "npm:^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" - "@babel/plugin-transform-object-super": "npm:^7.25.9" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" - "@babel/plugin-transform-private-methods": "npm:^7.25.9" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" - "@babel/plugin-transform-property-literals": "npm:^7.25.9" - "@babel/plugin-transform-regenerator": "npm:^7.25.9" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" - "@babel/plugin-transform-reserved-words": "npm:^7.25.9" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" - "@babel/plugin-transform-spread": "npm:^7.25.9" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" - "@babel/plugin-transform-template-literals": "npm:^7.25.9" - "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" - "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.6" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.38.1" - semver: "npm:^6.3.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/26e19dc407cfa1c5166be638b4c54239d084fe15d8d7e6306d8c6dc7bc1decc51070a8dcf28352c1a2feeefbe52a06d193a12e302327ad5f529583df75fb7a26 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 languageName: node linkType: hard -"@babel/preset-modules@npm:0.1.6-no-external-plugins": - version: 0.1.6-no-external-plugins - resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" +"@babel/plugin-transform-typescript@npm:^7.25.2, @babel/plugin-transform-typescript@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/plugin-transform-typescript@npm:7.28.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@babel/types": "npm:^7.4.4" - esutils: "npm:^2.0.2" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.28.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" peerDependencies: - "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + "@babel/core": ^7.0.0-0 + checksum: 10c0/09e574ba5462e56452b4ceecae65e53c8e697a2d3559ce5d210bed10ac28a18aa69377e7550c30520eb29b40c417ee61997d5d58112657f22983244b78915a7c languageName: node linkType: hard -"@babel/preset-react@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-react@npm:7.24.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-transform-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx-development": "npm:^7.24.7" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9658b685b25cedaadd0b65c4e663fbc7f57394b5036ddb4c99b1a75b0711fb83292c1c625d605c05b73413fc7a6dc20e532627f6a39b6dc8d4e00415479b054c + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" - "@babel/helper-validator-option": "npm:^7.24.7" - "@babel/plugin-syntax-jsx": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.24.7" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/986bc0978eedb4da33aba8e1e13a3426dd1829515313b7e8f4ba5d8c18aff1663b468939d471814e7acf4045d326ae6cff37239878d169ac3fe53a8fde71f8ee + checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 languageName: node linkType: hard -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a +"@babel/plugin-transform-unicode-regex@npm:^7.24.7, @babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a languageName: node linkType: hard -"@babel/runtime@npm:^7.25.0": - version: 7.25.6 - resolution: "@babel/runtime@npm:7.25.6" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/d6143adf5aa1ce79ed374e33fdfd74fa975055a80bc6e479672ab1eadc4e4bfd7484444e17dd063a1d180e051f3ec62b357c7a2b817e7657687b47313158c3d2 + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 languageName: node linkType: hard -"@babel/runtime@npm:^7.8.4": - version: 7.24.1 - resolution: "@babel/runtime@npm:7.24.1" +"@babel/preset-env@npm:^7.25.2, @babel/preset-env@npm:^7.25.3": + version: 7.28.5 + resolution: "@babel/preset-env@npm:7.28.5" dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/500c6a99ddd84f37c7bc5dbc84777af47b1372b20e879941670451d55484faf18a673c5ebee9ca2b0f36208a729417873b35b1b92e76f811620f6adf7b8cb0f1 + "@babel/compat-data": "npm:^7.28.5" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.28.5" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.28.3" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.28.0" + "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.5" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-class-static-block": "npm:^7.28.3" + "@babel/plugin-transform-classes": "npm:^7.28.4" + "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.5" + "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.0" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.28.5" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.28.5" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-systemjs": "npm:^7.28.5" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.4" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.28.5" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/plugin-transform-private-methods": "npm:^7.27.1" + "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.28.4" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d1b730158de290f1c54ed7db0f4fed3f82db5f868ab0a4cb3fc2ea76ed683b986ae136f6e7eb0b44b91bc9a99039a2559851656b4fd50193af1a815a3e32e524 languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0, @babel/template@npm:^7.3.3": - version: 7.24.0 - resolution: "@babel/template@npm:7.24.0" +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.24.0" - "@babel/types": "npm:^7.24.0" - checksum: 10c0/9d3dd8d22fe1c36bc3bdef6118af1f4b030aaf6d7d2619f5da203efa818a2185d717523486c111de8d99a8649ddf4bbf6b2a7a64962d8411cf6a8fa89f010e54 + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 languageName: node linkType: hard -"@babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/template@npm:7.25.0" +"@babel/preset-react@npm:^7.24.7": + version: 7.28.5 + resolution: "@babel/preset-react@npm:7.28.5" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/4e31afd873215744c016e02b04f43b9fa23205d6d0766fb2e93eb4091c60c1b88897936adb895fb04e3c23de98dfdcbe31bc98daaa1a4e0133f78bb948e1209b + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-transform-react-display-name": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0d785e708ff301f4102bd4738b77e550e32f981e54dfd3de1191b4d68306bbb934d2d465fc78a6bc22fff0a6b3ce3195a53984f52755c4349e7264c7e01e8c7c languageName: node linkType: hard -"@babel/template@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/template@npm:7.25.9" +"@babel/preset-typescript@npm:^7.24.7": + version: 7.28.5 + resolution: "@babel/preset-typescript@npm:7.28.5" dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.28.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b3d55548854c105085dd80f638147aa8295bc186d70492289242d6c857cb03a6c61ec15186440ea10ed4a71cdde7d495f5eb3feda46273f36b0ac926e8409629 languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.1, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.4": - version: 7.25.6 - resolution: "@babel/traverse@npm:7.25.6" - dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.6" - "@babel/parser": "npm:^7.25.6" - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.6" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/964304c6fa46bd705428ba380bf73177eeb481c3f26d82ea3d0661242b59e0dd4329d23886035e9ca9a4ceb565c03a76fd615109830687a27bcd350059d6377e +"@babel/runtime@npm:^7.25.0": + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 languageName: node linkType: hard -"@babel/traverse@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/traverse@npm:7.24.1" +"@babel/template@npm:^7.25.0, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": "npm:^7.24.1" - "@babel/generator": "npm:^7.24.1" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/c087b918f6823776537ba246136c70e7ce0719fc05361ebcbfd16f4e6f2f6f1f8f4f9167f1d9b675f27d12074839605189cc9d689de20b89a85e7c140f23daab + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 languageName: node linkType: hard -"@babel/traverse@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/traverse@npm:7.25.9" +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4, @babel/traverse@npm:^7.28.5": + version: 7.28.5 + resolution: "@babel/traverse@npm:7.28.5" dependencies: - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.5" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.5" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.5" debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 + checksum: 10c0/f6c4a595993ae2b73f2d4cd9c062f2e232174d293edd4abe1d715bd6281da8d99e47c65857e8d0917d9384c65972f4acdebc6749a7c40a8fcc38b3c7fb3e706f languageName: node linkType: hard @@ -2962,35 +1519,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.24.0 - resolution: "@babel/types@npm:7.24.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/777a0bb5dbe038ca4c905fdafb1cdb6bdd10fe9d63ce13eca0bd91909363cbad554a53dc1f902004b78c1dcbc742056f877f2c99eeedff647333b1fadf51235d - languageName: node - linkType: hard - -"@babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/types@npm:7.25.6" - dependencies: - "@babel/helper-string-parser": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/89d45fbee24e27a05dca2d08300a26b905bd384a480448823f6723c72d3a30327c517476389b7280ce8cb9a2c48ef8f47da7f9f6d326faf6f53fd6b68237bdc4 - languageName: node - linkType: hard - -"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/types@npm:7.26.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.2, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.28.5 + resolution: "@babel/types@npm:7.28.5" dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" + checksum: 10c0/a5a483d2100befbf125793640dec26b90b95fd233a94c19573325898a5ce1e52cdfa96e495c7dcc31b5eca5b66ce3e6d4a0f5a4a62daec271455959f208ab08a languageName: node linkType: hard @@ -3010,17 +1545,28 @@ __metadata: languageName: node linkType: hard -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" +"@isaacs/balanced-match@npm:^4.0.1": + version: 4.0.1 + resolution: "@isaacs/balanced-match@npm:4.0.1" + checksum: 10c0/7da011805b259ec5c955f01cee903da72ad97c5e6f01ca96197267d3f33103d5b2f8a1af192140f3aa64526c593c8d098ae366c2b11f7f17645d12387c2fd420 + languageName: node + linkType: hard + +"@isaacs/brace-expansion@npm:^5.0.0": + version: 5.0.0 + resolution: "@isaacs/brace-expansion@npm:5.0.0" + dependencies: + "@isaacs/balanced-match": "npm:^4.0.1" + checksum: 10c0/b4d4812f4be53afc2c5b6c545001ff7a4659af68d4484804e9d514e183d20269bb81def8682c01a22b17c4d6aed14292c8494f7d2ac664e547101c1a905aa977 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 languageName: node linkType: hard @@ -3145,14 +1691,23 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 languageName: node linkType: hard @@ -3163,37 +1718,30 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 - languageName: node - linkType: hard - "@jridgewell/source-map@npm:^0.3.3": - version: 0.3.6 - resolution: "@jridgewell/source-map@npm:0.3.6" + version: 0.3.11 + resolution: "@jridgewell/source-map@npm:0.3.11" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" - checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04 + checksum: 10c0/50a4fdafe0b8f655cb2877e59fe81320272eaa4ccdbe6b9b87f10614b2220399ae3e05c16137a59db1f189523b42c7f88bd097ee991dbd7bc0e01113c583e844 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 languageName: node linkType: hard @@ -3224,25 +1772,35 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.2 - resolution: "@npmcli/agent@npm:2.2.2" +"@npmcli/agent@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/agent@npm:4.0.0" dependencies: agent-base: "npm:^7.1.0" http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" + lru-cache: "npm:^11.2.1" socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + checksum: 10c0/f7b5ce0f3dd42c3f8c6546e8433573d8049f67ef11ec22aa4704bc41483122f68bf97752e06302c455ead667af5cb753e6a09bff06632bc465c1cfd4c4b75a53 languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" +"@npmcli/fs@npm:^5.0.0": + version: 5.0.0 + resolution: "@npmcli/fs@npm:5.0.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e + checksum: 10c0/26e376d780f60ff16e874a0ac9bc3399186846baae0b6e1352286385ac134d900cc5dafaded77f38d77f86898fc923ae1cee9d7399f0275b1aa24878915d722b + languageName: node + linkType: hard + +"@op-engineering/op-server@npm:^0.1.4": + version: 0.1.4 + resolution: "@op-engineering/op-server@npm:0.1.4" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/bee41839969e50357d99ba14fd66c23c562a524c40d9ac009a633831494c24267ddd4bdb236b6435aa64f84f9e59c2ce3d0290082e1b30ad74678431bbce38ee languageName: node linkType: hard @@ -3251,11 +1809,11 @@ __metadata: resolution: "@op-engineering/op-sqlite@workspace:." dependencies: clang-format: "npm:^1.8.0" - lefthook: "npm:^1.5.5" react: "npm:19.1.1" - react-native: "npm:0.81.0" - react-native-builder-bob: "npm:^0.40.13" - typescript: "npm:5.8.3" + react-native: "npm:0.82.1" + react-native-builder-bob: "npm:^0.40.15" + react-native-safe-area-context: "npm:^5.6.2" + typescript: "npm:5.0.4" peerDependencies: react: "*" react-native: "*" @@ -3274,22 +1832,15 @@ __metadata: languageName: node linkType: hard -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@react-native-community/cli-clean@npm:18.0.0": - version: 18.0.0 - resolution: "@react-native-community/cli-clean@npm:18.0.0" +"@react-native-community/cli-clean@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-clean@npm:18.0.1" dependencies: - "@react-native-community/cli-tools": "npm:18.0.0" + "@react-native-community/cli-tools": "npm:18.0.1" chalk: "npm:^4.1.2" execa: "npm:^5.0.0" fast-glob: "npm:^3.3.2" - checksum: 10c0/70ceaeb3c4f3c3481d3831bfa27742b8296f5a1fa67604ad57d5ee34cd84d49498cdadb84dcd03dc566ecbf089702c87b23f92d7049fe2f7ee3bb0791114eeab + checksum: 10c0/8d55007f18ea55fc9c5fe6445ff473aba468f7bf72e2126c07e0c4c3bbd10c8bfc056a10cddd031949af2fe7bb611c540a71f95d58f81fc041ab7e4d37fcfbfc languageName: node linkType: hard @@ -3305,6 +1856,18 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-config-android@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-config-android@npm:18.0.1" + dependencies: + "@react-native-community/cli-tools": "npm:18.0.1" + chalk: "npm:^4.1.2" + fast-glob: "npm:^3.3.2" + fast-xml-parser: "npm:^4.4.1" + checksum: 10c0/f274d550b48888d59bd7440c311b753796addd8e10793ccef8f1ac6d71b22f9e0452201bd74b587ae220cae647bf134fd73389d9f426dfc5f014bd59fe30d499 + languageName: node + linkType: hard + "@react-native-community/cli-config-apple@npm:18.0.0": version: 18.0.0 resolution: "@react-native-community/cli-config-apple@npm:18.0.0" @@ -3317,29 +1880,41 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-config@npm:18.0.0": - version: 18.0.0 - resolution: "@react-native-community/cli-config@npm:18.0.0" +"@react-native-community/cli-config-apple@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-config-apple@npm:18.0.1" dependencies: - "@react-native-community/cli-tools": "npm:18.0.0" + "@react-native-community/cli-tools": "npm:18.0.1" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + fast-glob: "npm:^3.3.2" + checksum: 10c0/772807975c01ec636a493661cb8caa516e2cc04a3f2cacd511a91fe8834520b86df6f3ed35d546955ea455a6c4e055a32c3e841320f7af6efda2531b1ab7cf9c + languageName: node + linkType: hard + +"@react-native-community/cli-config@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-config@npm:18.0.1" + dependencies: + "@react-native-community/cli-tools": "npm:18.0.1" chalk: "npm:^4.1.2" cosmiconfig: "npm:^9.0.0" deepmerge: "npm:^4.3.0" fast-glob: "npm:^3.3.2" joi: "npm:^17.2.1" - checksum: 10c0/fbdb962aff0f40fc6e9c237e8c1c0c66eb940fabf91da1c868e5bb0c0fd441d0028e9840a0e747f37728a9721fc7c5ba90052ad50fe9537c98fc21053da6990a + checksum: 10c0/d080745880c6fa02aeb57a10d732c10d3afee29532e073e06400e691ea801a10d7b6f4c9b6ccb99ed3e22f4967bc7919ad112a496c25f955996db4bc5b4f03d2 languageName: node linkType: hard -"@react-native-community/cli-doctor@npm:18.0.0": - version: 18.0.0 - resolution: "@react-native-community/cli-doctor@npm:18.0.0" +"@react-native-community/cli-doctor@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-doctor@npm:18.0.1" dependencies: - "@react-native-community/cli-config": "npm:18.0.0" - "@react-native-community/cli-platform-android": "npm:18.0.0" - "@react-native-community/cli-platform-apple": "npm:18.0.0" - "@react-native-community/cli-platform-ios": "npm:18.0.0" - "@react-native-community/cli-tools": "npm:18.0.0" + "@react-native-community/cli-config": "npm:18.0.1" + "@react-native-community/cli-platform-android": "npm:18.0.1" + "@react-native-community/cli-platform-apple": "npm:18.0.1" + "@react-native-community/cli-platform-ios": "npm:18.0.1" + "@react-native-community/cli-tools": "npm:18.0.1" chalk: "npm:^4.1.2" command-exists: "npm:^1.2.8" deepmerge: "npm:^4.3.0" @@ -3350,7 +1925,7 @@ __metadata: semver: "npm:^7.5.2" wcwidth: "npm:^1.0.1" yaml: "npm:^2.2.1" - checksum: 10c0/6ca5b7a84cafb348a57c6b0bc694785b09f5e8276722e1d032596157895f99bc2fa845fd31e516d263d0fed3df3137ebc214454cdaf1f0fe821f0004eb830947 + checksum: 10c0/4a554aeb770d6079683805d3d34f0dc1ae6b52e3a0566d77ff670708f71580a3f86f70a78a6062618ed33d7c086d3df48b2b857e18a4f8bf65b9ba38c9b0f636 languageName: node linkType: hard @@ -3367,6 +1942,19 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-android@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-platform-android@npm:18.0.1" + dependencies: + "@react-native-community/cli-config-android": "npm:18.0.1" + "@react-native-community/cli-tools": "npm:18.0.1" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + logkitty: "npm:^0.7.1" + checksum: 10c0/e788c64e5406100f80140e804f8d0c007cf0ddf2835ce0473565db5b07a5a8c983e44accf1493bc7f38003747b6c9aaf5449c2a56051a25b021ff323f8c2d678 + languageName: node + linkType: hard + "@react-native-community/cli-platform-apple@npm:18.0.0": version: 18.0.0 resolution: "@react-native-community/cli-platform-apple@npm:18.0.0" @@ -3380,6 +1968,19 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-apple@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-platform-apple@npm:18.0.1" + dependencies: + "@react-native-community/cli-config-apple": "npm:18.0.1" + "@react-native-community/cli-tools": "npm:18.0.1" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + fast-xml-parser: "npm:^4.4.1" + checksum: 10c0/c5b45eb6b1bfc4ca425617e11c91d181644d3b7ed949b756648809335a8c90327e4c19f89d56b91fca6969af481f34f5a3545867901b7f3fcd8e2d2d17d767bf + languageName: node + linkType: hard + "@react-native-community/cli-platform-ios@npm:18.0.0": version: 18.0.0 resolution: "@react-native-community/cli-platform-ios@npm:18.0.0" @@ -3389,11 +1990,20 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-server-api@npm:18.0.0": - version: 18.0.0 - resolution: "@react-native-community/cli-server-api@npm:18.0.0" +"@react-native-community/cli-platform-ios@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-platform-ios@npm:18.0.1" dependencies: - "@react-native-community/cli-tools": "npm:18.0.0" + "@react-native-community/cli-platform-apple": "npm:18.0.1" + checksum: 10c0/bf5f1b14c2f05f5a7652c2da4bc8e64713519e96c47ccdb2a9d56adc48ba391d4fbeb440f33e349c536a0c0f213f6f443289be14e345407f6f2fecd70f83259a + languageName: node + linkType: hard + +"@react-native-community/cli-server-api@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-server-api@npm:18.0.1" + dependencies: + "@react-native-community/cli-tools": "npm:18.0.1" body-parser: "npm:^1.20.3" compression: "npm:^1.7.1" connect: "npm:^3.6.5" @@ -3403,7 +2013,7 @@ __metadata: pretty-format: "npm:^26.6.2" serve-static: "npm:^1.13.1" ws: "npm:^6.2.3" - checksum: 10c0/1285a03b1788c274b17e267ced4e1604db4445e35f5d4302a308992f312ef08369066b9557e7e73836449b3603b5e74fdc2d62cdc54ad508630d9c83ad7a963e + checksum: 10c0/3d076872a3ce8a190e39d5b205cae1902f0b51093fe1019cae5820262477c6fb2f472160c06349e29e5e4c559cde0eb0182029e28027088b21b4d53d4c64635d languageName: node linkType: hard @@ -3425,25 +2035,43 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-types@npm:18.0.0": - version: 18.0.0 - resolution: "@react-native-community/cli-types@npm:18.0.0" +"@react-native-community/cli-tools@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-tools@npm:18.0.1" + dependencies: + "@vscode/sudo-prompt": "npm:^9.0.0" + appdirsjs: "npm:^1.2.4" + chalk: "npm:^4.1.2" + execa: "npm:^5.0.0" + find-up: "npm:^5.0.0" + launch-editor: "npm:^2.9.1" + mime: "npm:^2.4.1" + ora: "npm:^5.4.1" + prompts: "npm:^2.4.2" + semver: "npm:^7.5.2" + checksum: 10c0/2c29a21ea479daee991c7a82561b2985ac69bb0d34ee428f5be216f9d904b4b4cd33f9e9d90142b1369ab121d2ea127230b5243790fe42ebfcc36a35a6b3caa8 + languageName: node + linkType: hard + +"@react-native-community/cli-types@npm:18.0.1": + version: 18.0.1 + resolution: "@react-native-community/cli-types@npm:18.0.1" dependencies: joi: "npm:^17.2.1" - checksum: 10c0/52b10fa5df8f317ef3a69d4e601d4987183c3071fa7856b2ed0b9ef6fd18ea0925a181a0ab65e1af649f63468fe895290fcd11e6035dc5c5fe021f7995124713 + checksum: 10c0/4752a236f43b42c577965336e29937a8f321b9b01c4817a4a118ea395c87d894a01e489e58f5cc61b55bf82b8bb1473a0a4d54e855f6d92639df5889a7a1cc31 languageName: node linkType: hard "@react-native-community/cli@npm:^18.0.0": - version: 18.0.0 - resolution: "@react-native-community/cli@npm:18.0.0" - dependencies: - "@react-native-community/cli-clean": "npm:18.0.0" - "@react-native-community/cli-config": "npm:18.0.0" - "@react-native-community/cli-doctor": "npm:18.0.0" - "@react-native-community/cli-server-api": "npm:18.0.0" - "@react-native-community/cli-tools": "npm:18.0.0" - "@react-native-community/cli-types": "npm:18.0.0" + version: 18.0.1 + resolution: "@react-native-community/cli@npm:18.0.1" + dependencies: + "@react-native-community/cli-clean": "npm:18.0.1" + "@react-native-community/cli-config": "npm:18.0.1" + "@react-native-community/cli-doctor": "npm:18.0.1" + "@react-native-community/cli-server-api": "npm:18.0.1" + "@react-native-community/cli-tools": "npm:18.0.1" + "@react-native-community/cli-types": "npm:18.0.1" chalk: "npm:^4.1.2" commander: "npm:^9.4.1" deepmerge: "npm:^4.3.0" @@ -3455,30 +2083,30 @@ __metadata: semver: "npm:^7.5.2" bin: rnc-cli: build/bin.js - checksum: 10c0/2dcf0e353add648377fdc9a3426aac90472a7a9f8de67209b77e69e74d584d2e1cb6865f3cb9f29396e184e0c6696e02caf8211f338cb505467aef77bfa29ff1 + checksum: 10c0/75f6fcc09059b1fe09255ca6f7b8e11bb0a82734f0a839b19d033330a702f3f8fefe4dd45a833b6236817051f1f8be440ed601636c693de29e1f934836ddb405 languageName: node linkType: hard -"@react-native/assets-registry@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/assets-registry@npm:0.81.0" - checksum: 10c0/d3693367cf01804f7c6103dd95f9d42624d943cd964b8c2770219a1e46164f216a3aed60c25b85d0bb4d13189ccb13684ac57a2838ba3743cd5846531cc801cb +"@react-native/assets-registry@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/assets-registry@npm:0.82.1" + checksum: 10c0/d11947f7ea0de671bd45029bd72f748d82a22487175e1e199b635871c7ef99ef364da03fd83c75a5ae89687773c66c6b44edc1ddd6543e16829995e7e8aff3a0 languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/babel-plugin-codegen@npm:0.81.0" +"@react-native/babel-plugin-codegen@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/babel-plugin-codegen@npm:0.82.1" dependencies: "@babel/traverse": "npm:^7.25.3" - "@react-native/codegen": "npm:0.81.0" - checksum: 10c0/a540076d95149ddf63ca2f4f085f351ad4d5fb07dcd65394a7c703937ef805e932ce3692dfd1a9778380b843d00d9b2324bd13a8890e86dbcc3c9f7c536961cb + "@react-native/codegen": "npm:0.82.1" + checksum: 10c0/48c220808048cd1f8873fd7619ce62f7daa0b8615c24d5943bcb0ffe50e6e7f506edba0b230576e304fe3d4be353a4d1fc7bdb952077d31d861e2c2b353ad0b7 languageName: node linkType: hard -"@react-native/babel-preset@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/babel-preset@npm:0.81.0" +"@react-native/babel-preset@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/babel-preset@npm:0.82.1" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" @@ -3521,36 +2149,38 @@ __metadata: "@babel/plugin-transform-typescript": "npm:^7.25.2" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" "@babel/template": "npm:^7.25.0" - "@react-native/babel-plugin-codegen": "npm:0.81.0" - babel-plugin-syntax-hermes-parser: "npm:0.29.1" + "@react-native/babel-plugin-codegen": "npm:0.82.1" + babel-plugin-syntax-hermes-parser: "npm:0.32.0" babel-plugin-transform-flow-enums: "npm:^0.0.2" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10c0/9d01984418e55b8f29c5f9964068380d64390c455125fca4685b51785dea414596adb389e39566c63795e8177c6966565b4a5ec767830906b16b7549be1b3e56 + checksum: 10c0/410d5e182c7e2d2b66cb19178fb3a49336d04ef4dd7354eadc9f0d042e25452a738999361577d106756eebee85140266c6d6880ad378fd7f5d88707d36bd0701 languageName: node linkType: hard -"@react-native/codegen@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/codegen@npm:0.81.0" +"@react-native/codegen@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/codegen@npm:0.82.1" dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/parser": "npm:^7.25.3" glob: "npm:^7.1.1" - hermes-parser: "npm:0.29.1" + hermes-parser: "npm:0.32.0" invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" yargs: "npm:^17.6.2" peerDependencies: "@babel/core": "*" - checksum: 10c0/88e28b129fd57d92851b09377e10b4919e12ef6e3e1079327246e0dbf8bc9f4ca46f36559ff8eb03cb38f806f8df89638a27955e041a71b672d52f3e3e682031 + checksum: 10c0/072a1e96c3bb8b16364b9cf48e1ab7726ff6b87fc71ee5be7dfd5d1055060bd053fe5f974a4a8f4832c16c16141087c6769bbd8ca16525168358be6adf5f2083 languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/community-cli-plugin@npm:0.81.0" +"@react-native/community-cli-plugin@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/community-cli-plugin@npm:0.82.1" dependencies: - "@react-native/dev-middleware": "npm:0.81.0" + "@react-native/dev-middleware": "npm:0.82.1" debug: "npm:^4.4.0" invariant: "npm:^2.2.4" metro: "npm:^0.83.1" @@ -3563,23 +2193,36 @@ __metadata: peerDependenciesMeta: "@react-native-community/cli": optional: true - checksum: 10c0/75e6896427bebddea8f5e0b3f59ebab726361420e7570cb584e6a7983766b2630dda22f2f007c7294099ed48f8f74e9a5f78112ab7bc2c20450a4fa9475a63b6 + "@react-native/metro-config": + optional: true + checksum: 10c0/c072a8f91b2ca25b266070de63bbbb174b827690be24953123e10fec7938f5b5c24c6de7bf7fa0bf1dd309a1913348791a417e90528a7bf5f7c2c0af76b106db + languageName: node + linkType: hard + +"@react-native/debugger-frontend@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/debugger-frontend@npm:0.82.1" + checksum: 10c0/3d69e46bf6bd34107f81349f3470e6e69f2dfdc1022f4de9d54ebd943172a0e599a9ca5e3d804f67ff0f9ffbe16f8d75ea1456e528a1d2519e5327fbf6b26573 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/debugger-frontend@npm:0.81.0" - checksum: 10c0/c71998e9d60917d1b1a4ea8d5a1b390c762f41be8fd3a8d49a4138d36c53905361665e54d66929509940aa375eabbb7ba562212a169cf625a009ed8256fa71ec +"@react-native/debugger-shell@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/debugger-shell@npm:0.82.1" + dependencies: + cross-spawn: "npm:^7.0.6" + fb-dotslash: "npm:0.5.8" + checksum: 10c0/0c3050ef96bc6546bfc68e1e5d554788edf3d63f0f5672a99a0c997cbfae626c3162013aebe2bae094e0c624326cb1b635bf3bd4a239e3125544b469d111df77 languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/dev-middleware@npm:0.81.0" +"@react-native/dev-middleware@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/dev-middleware@npm:0.82.1" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.81.0" + "@react-native/debugger-frontend": "npm:0.82.1" + "@react-native/debugger-shell": "npm:0.82.1" chrome-launcher: "npm:^0.15.2" chromium-edge-launcher: "npm:^0.2.0" connect: "npm:^3.6.5" @@ -3589,78 +2232,78 @@ __metadata: open: "npm:^7.0.3" serve-static: "npm:^1.16.2" ws: "npm:^6.2.3" - checksum: 10c0/0dceef9c349e877b360821bcd1e6bd2340f6451ca81982d579daeb04ad650fa7c66ff07ccd5a4d36984b82c5f0ce347edf9aaafa34e8e3d6976e0aaf0232a4a8 + checksum: 10c0/cf3224b214aa22665b1a0509579a25b514e9ac11215457cb1f601090b4e3ca922c72f804a76d3d642dda1ee6e1f3ee10a40620bc487b4e786b34cc955b158e52 languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/gradle-plugin@npm:0.81.0" - checksum: 10c0/bba12c635d7c6048900c8f853f68c5e1bafa6b9ed3dc45126a48402f244c0a76dc0d065bef463c65a820e76884341f21983b4e54751503fc8fdf635dc100b93d +"@react-native/gradle-plugin@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/gradle-plugin@npm:0.82.1" + checksum: 10c0/330471c9116d3382b95e5afa9dd301e4bcea090b799754b3565e241c8823fade1c673270bd94f079b338e1f1c9a3c92ab16a091ae6cfe38b84d89782cc9e1437 languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/js-polyfills@npm:0.81.0" - checksum: 10c0/efdf1df388b5e1991e39c15caf8690eae619ddc24c34293f7e968683513a86b370c81171e655208084d7bdad83a604e1a898ad34e60276a005dcad0df03df3a8 +"@react-native/js-polyfills@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/js-polyfills@npm:0.82.1" + checksum: 10c0/68758e624bd349228ad9f32edeba562e43c7b52fb2630e88725ac6115180ea1ef6ab54b1f6be32379230e3285da55740e57fa1cc95abb41f86ba59d0c6879010 languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/metro-babel-transformer@npm:0.81.0" +"@react-native/metro-babel-transformer@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/metro-babel-transformer@npm:0.82.1" dependencies: "@babel/core": "npm:^7.25.2" - "@react-native/babel-preset": "npm:0.81.0" - hermes-parser: "npm:0.29.1" + "@react-native/babel-preset": "npm:0.82.1" + hermes-parser: "npm:0.32.0" nullthrows: "npm:^1.1.1" peerDependencies: "@babel/core": "*" - checksum: 10c0/67381555e6bde85d0c85e5a8452a632a028b688e6a3e8b5eb7fa6c4362246a4331cc28e82336865449322a1bf3ab3fa6b4e1c113c62b4906815612a4b3563765 + checksum: 10c0/0e007e84275159a75f746932e4b16b04ddc8a40a3ef6666895772d3c4c8b851e4ba8c263dee7467668e3ae7c7badcbfe2d6167caf22eb6cdbe7b997722161914 languageName: node linkType: hard -"@react-native/metro-config@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/metro-config@npm:0.81.0" +"@react-native/metro-config@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/metro-config@npm:0.82.1" dependencies: - "@react-native/js-polyfills": "npm:0.81.0" - "@react-native/metro-babel-transformer": "npm:0.81.0" + "@react-native/js-polyfills": "npm:0.82.1" + "@react-native/metro-babel-transformer": "npm:0.82.1" metro-config: "npm:^0.83.1" metro-runtime: "npm:^0.83.1" - checksum: 10c0/88b3277879efd7374518a14a5beb9bca664bb6b6d4fbe3148178cc096ff331b19caa500a29bee1d291731f86f6989c6d37871da134e882e2a17c37df3fafde34 + checksum: 10c0/218ea7c9fecbc95f697f54952f5cc2cc98e2223d0e4bef44eb07df760cc4d3886535e212e6de758e37c1bea1def50483b535e19d4cafb15f8d8c6b580cd288c8 languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/normalize-colors@npm:0.81.0" - checksum: 10c0/154b35202d4632a7129c8aa3a389ece6fe51d4180db360bf5e322a909e2515e099204ca7f67788d1dfa3775484c1949a4bb0db1757c4a80f4a1abbc5e5af07f0 +"@react-native/normalize-colors@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/normalize-colors@npm:0.82.1" + checksum: 10c0/9c5e84fa6ab6ba1323305ba928c364ae2442d9edea21dda06f2c9267371a509d3799bc06646056c906e078102f6e74dc2aac7a56c83fa5daa43998508701a553 languageName: node linkType: hard -"@react-native/typescript-config@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/typescript-config@npm:0.81.0" - checksum: 10c0/9554590e25ff197bf53b1d220e3ae2a65ce95efedc92c239af02e5105d92d6b5304c26f56857531c4b8c0366d8e21de540432a6b4c9aa863d5649b4af2d6aa13 +"@react-native/typescript-config@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/typescript-config@npm:0.82.1" + checksum: 10c0/9f6c1501bf3961d0da7a4bb13fc3860d3f619e9b5446d3eb4735873ef9cfc316c349e765503deca2331d7c600cf29eaaf30816f6ee98afc1ae43e9f5abc59447 languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.81.0": - version: 0.81.0 - resolution: "@react-native/virtualized-lists@npm:0.81.0" +"@react-native/virtualized-lists@npm:0.82.1": + version: 0.82.1 + resolution: "@react-native/virtualized-lists@npm:0.82.1" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" peerDependencies: - "@types/react": ^19.1.0 + "@types/react": ^19.1.1 react: "*" react-native: "*" peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/06f411cd93b81abbdc24c0b4652bae2f93fa206f76f41be1534ead52b485ac76f837074923aed686b34cfa9a8454df1bd35a936dff4c1ed985abff582d1a6303 + checksum: 10c0/89f454ad43ef4d6ccd94828923dbc28a3ca847e70754d7bf9ea64daea3d6eff53bb87a0a5aa79637e7a26cc293f38c3636f76b8a2a4fabc2ad20727564148b51 languageName: node linkType: hard @@ -3726,11 +2369,11 @@ __metadata: linkType: hard "@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" dependencies: "@babel/types": "npm:^7.0.0" - checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 + checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd languageName: node linkType: hard @@ -3745,11 +2388,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.5 - resolution: "@types/babel__traverse@npm:7.20.5" + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10c0/033abcb2f4c084ad33e30c3efaad82161240f351e3c71b6154ed289946b33b363696c0fbd42502b68e4582a87413c418321f40eb1ea863e34fe525641345e05b + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 languageName: node linkType: hard @@ -3795,20 +2438,20 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 20.12.2 - resolution: "@types/node@npm:20.12.2" + version: 24.10.1 + resolution: "@types/node@npm:24.10.1" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/bb47d115a8f95aadebdd6403fee16d149d6b5568ad53bacc42df34c2d572561e36ba47b05f7f68bada43752d7369b470a90df65b646af7502dfb799a21b4fca7 + undici-types: "npm:~7.16.0" + checksum: 10c0/d6bca7a78f550fbb376f236f92b405d676003a8a09a1b411f55920ef34286ee3ee51f566203920e835478784df52662b5b2af89159d9d319352e9ea21801c002 languageName: node linkType: hard -"@types/react@npm:^19.0.0": - version: 19.1.4 - resolution: "@types/react@npm:19.1.4" +"@types/react@npm:^19.1.1": + version: 19.2.6 + resolution: "@types/react@npm:19.2.6" dependencies: - csstype: "npm:^3.0.2" - checksum: 10c0/501350d4f9cef13c5dd1b1496fa70ebaff52f6fa359b623b51c9d817e5bc4333fa3c8b7a6a4cbc88c643385052d66a243c3ceccfd6926062f917a2dd0535f6b3 + csstype: "npm:^3.2.2" + checksum: 10c0/23b1100f88662ce9f9e4fcca3a2b4ef9fff1ecde24ede2b2dcbd07731e48d6946fd7fd156cd133f5b25321694b0569cd9b8dd30b22c4e076d1cf4c8cdd9a75cb languageName: node linkType: hard @@ -3827,20 +2470,20 @@ __metadata: linkType: hard "@types/yargs@npm:^15.0.0": - version: 15.0.19 - resolution: "@types/yargs@npm:15.0.19" + version: 15.0.20 + resolution: "@types/yargs@npm:15.0.20" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10c0/9fe9b8645304a628006cbba2d1990fb015e2727274d0e3853f321a379a1242d1da2c15d2f56cff0d4313ae94f0383ccf834c3bded9fb3589608aefb3432fcf00 + checksum: 10c0/7578e333b8e3e60e96950fc3d90f75afa5f6612cbaa309813848a5bf198fd39bd6bf8d25f8fde7106c614686e24fd409403cc22166f5571c9fc1148fe147c0f5 languageName: node linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" + version: 17.0.35 + resolution: "@types/yargs@npm:17.0.35" dependencies: "@types/yargs-parser": "npm:*" - checksum: 10c0/2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf + checksum: 10c0/609557826a6b85e73ccf587923f6429850d6dc70e420b455bab4601b670bfadf684b09ae288bccedab042c48ba65f1666133cf375814204b544009f57d6eef63 languageName: node linkType: hard @@ -3851,10 +2494,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 +"abbrev@npm:^4.0.0": + version: 4.0.0 + resolution: "abbrev@npm:4.0.0" + checksum: 10c0/b4cc16935235e80702fc90192e349e32f8ef0ed151ef506aa78c81a7c455ec18375c4125414b99f84b2e055199d66383e787675f0bcd87da7a4dbd59f9eac1d5 languageName: node linkType: hard @@ -3877,28 +2520,19 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.8.2": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" +"acorn@npm:^8.15.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 - languageName: node - linkType: hard - -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec languageName: node linkType: hard -"agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe languageName: node linkType: hard @@ -3944,14 +2578,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.0": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -3976,13 +2603,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - "any-promise@npm:^1.0.0": version: 1.3.0 resolution: "any-promise@npm:1.3.0" @@ -4030,13 +2650,23 @@ __metadata: languageName: node linkType: hard +"arkregex@npm:0.0.3": + version: 0.0.3 + resolution: "arkregex@npm:0.0.3" + dependencies: + "@ark/util": "npm:0.55.0" + checksum: 10c0/287cc2ef50cde2cf20afd7c46dc4f05a54314638cdf1a1716fbd4362a9e05441bf85b75e52d181515c492420c78916374721a9aaa2a84d2074cc25b2b04b11a7 + languageName: node + linkType: hard + "arktype@npm:^2.1.15": - version: 2.1.20 - resolution: "arktype@npm:2.1.20" + version: 2.1.27 + resolution: "arktype@npm:2.1.27" dependencies: - "@ark/schema": "npm:0.46.0" - "@ark/util": "npm:0.46.0" - checksum: 10c0/9200a94616fac1a703ab0c7834fd15ba6f683fd8d909e12c48e5f321ac302c276ce0d6c2736063ca7fda0ff6ded00f1bda08b1155ae20fab0d178ec1238ffcae + "@ark/schema": "npm:0.55.0" + "@ark/util": "npm:0.55.0" + arkregex: "npm:0.0.3" + checksum: 10c0/148b8c802de8a00b28975aca903a806eae390463d046f6108b937eb98682c68c00867837ad426426a9d9c1034b2b32b2800f671d898b44fa11e36a190eb39a0c languageName: node linkType: hard @@ -4061,6 +2691,20 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -4069,9 +2713,9 @@ __metadata: linkType: hard "async@npm:^3.2.3": - version: 3.2.5 - resolution: "async@npm:3.2.5" - checksum: 10c0/1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 + version: 3.2.6 + resolution: "async@npm:3.2.6" + checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 languageName: node linkType: hard @@ -4117,48 +2761,48 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.10 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.10" +"babel-plugin-polyfill-corejs2@npm:^0.4.14": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" dependencies: - "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" + "@babel/compat-data": "npm:^7.27.7" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/910bfb1d809cae49cf43348f9b1e4a5e4c895aa25686fdd2ff8af7b7a996b88ad39597707905d097e08d4e70e14340ac935082ef4e035e77f68741f813f2a80d + checksum: 10c0/d74cba0600a6508e86d220bde7164eb528755d91be58020e5ea92ea7fbb12c9d8d2c29246525485adfe7f68ae02618ec428f9a589cac6cbedf53cc3972ad7fbe languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.6": - version: 0.10.6 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.2" - core-js-compat: "npm:^3.38.0" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/3a69220471b07722c2ae6537310bf26b772514e12b601398082965459c838be70a0ca70b0662f0737070654ff6207673391221d48599abb4a2b27765206d9f79 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.1 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.1" +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/0b55a35a75a261f62477d8d0f0c4a8e3b66f109323ce301d7de6898e168c41224de3bc26a92f48f2c7fcc19dfd1fc60fe71098bfd4f804a0463ff78586892403 + checksum: 10c0/63aa8ed716df6a9277c6ab42b887858fa9f57a70cc1d0ae2b91bdf081e45d4502848cba306fb60b02f59f99b32fd02ff4753b373cac48ccdac9b7d19dd56f06d languageName: node linkType: hard -"babel-plugin-syntax-hermes-parser@npm:0.29.1": - version: 0.29.1 - resolution: "babel-plugin-syntax-hermes-parser@npm:0.29.1" +"babel-plugin-syntax-hermes-parser@npm:0.32.0": + version: 0.32.0 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.32.0" dependencies: - hermes-parser: "npm:0.29.1" - checksum: 10c0/a6d95e4a7079976e477636d18509272a7a185930e143c61d0421a36096e85905563630ac4f0f317518b6db37f50daaefc1828d575b3d5fb090a55e9d39d2534c + hermes-parser: "npm:0.32.0" + checksum: 10c0/2e5aad897d4abd643d33329814ed7adb301047890a8a4325ef140da86e377a1127f1ce6af4064526e5cb603c16d3d3e15784998df4095f1385e7f4e8ca53f03e languageName: node linkType: hard @@ -4181,24 +2825,27 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" dependencies: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 10c0/94a4f81cddf9b051045d08489e4fff7336292016301664c138cfa3d9ffe3fe2ba10a24ad6ae589fd95af1ac72ba0216e1653555c187e694d7b17be0c002bea10 languageName: node linkType: hard @@ -4228,6 +2875,15 @@ __metadata: languageName: node linkType: hard +"baseline-browser-mapping@npm:^2.8.25": + version: 2.8.30 + resolution: "baseline-browser-mapping@npm:2.8.30" + bin: + baseline-browser-mapping: dist/cli.js + checksum: 10c0/724e2a71dc18af1555953278544d60d3677ad1413d19b4c68f0b1d16cb075186035125cad38d93c1ccc2df8dc8520e6d47452b76b265898ad7ac480630f12cae + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.3.0 resolution: "binary-extensions@npm:2.3.0" @@ -4267,34 +2923,25 @@ __metadata: linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 languageName: node linkType: hard "brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.2, braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf languageName: node linkType: hard -"braces@npm:^3.0.3": +"braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -4303,45 +2950,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.20.4, browserslist@npm:^4.22.2": - version: 4.23.0 - resolution: "browserslist@npm:4.23.0" - dependencies: - caniuse-lite: "npm:^1.0.30001587" - electron-to-chromium: "npm:^1.4.668" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" - bin: - browserslist: cli.js - checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943 - languageName: node - linkType: hard - -"browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" - dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" - bin: - browserslist: cli.js - checksum: 10c0/3063bfdf812815346447f4796c8f04601bf5d62003374305fd323c2a463e42776475bcc5309264e39bcf9a8605851e53560695991a623be988138b3ff8c66642 - languageName: node - linkType: hard - -"browserslist@npm:^4.24.0": - version: 4.24.2 - resolution: "browserslist@npm:4.24.2" +"browserslist@npm:^4.20.4, browserslist@npm:^4.24.0, browserslist@npm:^4.28.0": + version: 4.28.0 + resolution: "browserslist@npm:4.28.0" dependencies: - caniuse-lite: "npm:^1.0.30001669" - electron-to-chromium: "npm:^1.5.41" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.1" + baseline-browser-mapping: "npm:^2.8.25" + caniuse-lite: "npm:^1.0.30001754" + electron-to-chromium: "npm:^1.5.249" + node-releases: "npm:^2.0.27" + update-browserslist-db: "npm:^1.1.4" bin: browserslist: cli.js - checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a + checksum: 10c0/4284fd568f7d40a496963083860d488cb2a89fb055b6affd316bebc59441fec938e090b3e62c0ee065eb0bc88cd1bc145f4300a16c75f3f565621c5823715ae1 languageName: node linkType: hard @@ -4378,61 +2998,42 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" +"cacache@npm:^20.0.1": + version: 20.0.3 + resolution: "cacache@npm:20.0.3" dependencies: - "@npmcli/fs": "npm:^3.1.0" + "@npmcli/fs": "npm:^5.0.0" fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" + glob: "npm:^13.0.0" + lru-cache: "npm:^11.1.0" minipass: "npm:^7.0.3" minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc + p-map: "npm:^7.0.2" + ssri: "npm:^13.0.0" + unique-filename: "npm:^5.0.0" + checksum: 10c0/c7da1ca694d20e8f8aedabd21dc11518f809a7d2b59aa76a1fc655db5a9e62379e465c157ddd2afe34b19230808882288effa6911b2de26a088a6d5645123462 languageName: node linkType: hard -"call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" dependencies: - es-define-property: "npm:^1.0.0" es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d - languageName: node - linkType: hard - -"caller-callsite@npm:^2.0.0": - version: 2.0.0 - resolution: "caller-callsite@npm:2.0.0" - dependencies: - callsites: "npm:^2.0.0" - checksum: 10c0/a00ca91280e10ee2321de21dda6c168e427df7a63aeaca027ea45e3e466ac5e1a5054199f6547ba1d5a513d3b6b5933457266daaa47f8857fb532a343ee6b5e1 - languageName: node - linkType: hard - -"caller-path@npm:^2.0.0": - version: 2.0.0 - resolution: "caller-path@npm:2.0.0" - dependencies: - caller-callsite: "npm:^2.0.0" - checksum: 10c0/029b5b2c557d831216305c3218e9ff30fa668be31d58dd08088f74c8eabc8362c303e0908b3a93abb25ba10e3a5bfc9cff5eb7fab6ab9cf820e3b160ccb67581 + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 languageName: node linkType: hard -"callsites@npm:^2.0.0": - version: 2.0.0 - resolution: "callsites@npm:2.0.0" - checksum: 10c0/13bff4fee946e6020b37e76284e95e24aa239c9e34ac4f3451e4c5330fca6f2f962e1d1ab69e4da7940e1fce135107a2b2b98c01d62ea33144350fc89dc5494e +"call-bound@npm:^1.0.2": + version: 1.0.4 + resolution: "call-bound@npm:1.0.4" + dependencies: + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 languageName: node linkType: hard @@ -4471,21 +3072,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001587, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001737 - resolution: "caniuse-lite@npm:1.0.30001737" - checksum: 10c0/9d9cfe3b46fe670d171cee10c5c1b0fb641946fd5d6bea26149f804003d53d82ade7ef5a4a640fb3a0eaec47c7839b57e06a6ddae4f0ad2cd58e1187d31997ce - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 +"caniuse-lite@npm:^1.0.30001754": + version: 1.0.30001756 + resolution: "caniuse-lite@npm:1.0.30001756" + checksum: 10c0/863df07bd8d5139371ce7d4e582f03fef38141726282dcd532421bbd95ea298c7f953a8e1a9790db89ca1816bd8ce3cce638a66361b769dd1f2dc8d4c721d546 languageName: node linkType: hard @@ -4500,9 +3090,9 @@ __metadata: linkType: hard "chance@npm:^1.1.9": - version: 1.1.11 - resolution: "chance@npm:1.1.11" - checksum: 10c0/d17cadeda91f16ab3b2459d39980712428cacf825e3262f923a2bd896ccf40ff6b97967c816d5152e9841af376bc1dbdc1acd9b792d5828b021753fbe334f086 + version: 1.1.13 + resolution: "chance@npm:1.1.13" + checksum: 10c0/0e1523b0ef75061df5771c052e8bf8d5fb7d92e56a58e98e170e4be5f2166cceac2f70dd209e49e0605ea2e376ba99fb5e391987e8610c7037cd2fce19c35e3e languageName: node linkType: hard @@ -4525,10 +3115,10 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 languageName: node linkType: hard @@ -4642,9 +3232,9 @@ __metadata: linkType: hard "clsx@npm:^2.0.0": - version: 2.1.0 - resolution: "clsx@npm:2.1.0" - checksum: 10c0/c09c00ad14f638366ca814097e6cab533dfa1972a358da5b557be487168acbb25b4c1395e89ffa842a8a61ba87a462d2b4885bc9d4f8410b598f3cb339599cdb + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 languageName: node linkType: hard @@ -4732,17 +3322,17 @@ __metadata: linkType: hard "compression@npm:^1.7.1": - version: 1.8.0 - resolution: "compression@npm:1.8.0" + version: 1.8.1 + resolution: "compression@npm:1.8.1" dependencies: bytes: "npm:3.1.2" compressible: "npm:~2.0.18" debug: "npm:2.6.9" negotiator: "npm:~0.6.4" - on-headers: "npm:~1.0.2" + on-headers: "npm:~1.1.0" safe-buffer: "npm:5.2.1" vary: "npm:~1.1.2" - checksum: 10c0/804d3c8430939f4fd88e5128333f311b4035f6425a7f2959d74cfb5c98ef3a3e3e18143208f3f9d0fcae4cd3bcf3d2fbe525e0fcb955e6e146e070936f025a24 + checksum: 10c0/85114b0b91c16594dc8c671cd9b05ef5e465066a60e5a4ed8b4551661303559a896ed17bb72c4234c04064e078f6ca86a34b8690349499a43f6fc4b844475da4 languageName: node linkType: hard @@ -4779,24 +3369,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": - version: 3.38.1 - resolution: "core-js-compat@npm:3.38.1" - dependencies: - browserslist: "npm:^4.23.3" - checksum: 10c0/d8bc8a35591fc5fbf3e376d793f298ec41eb452619c7ef9de4ea59b74be06e9fda799e0dcbf9ba59880dae87e3b41fb191d744ffc988315642a1272bb9442b31 - languageName: node - linkType: hard - -"cosmiconfig@npm:^5.0.5": - version: 5.2.1 - resolution: "cosmiconfig@npm:5.2.1" +"core-js-compat@npm:^3.43.0": + version: 3.47.0 + resolution: "core-js-compat@npm:3.47.0" dependencies: - import-fresh: "npm:^2.0.0" - is-directory: "npm:^0.3.1" - js-yaml: "npm:^3.13.1" - parse-json: "npm:^4.0.0" - checksum: 10c0/ae9ba309cdbb42d0c9d63dad5c1dfa1c56bb8f818cb8633eea14fd2dbdc9f33393b77658ba96fdabda497bc943afed8c3371d1222afe613c518ba676fa624645 + browserslist: "npm:^4.28.0" + checksum: 10c0/71da415899633120db7638dd7b250eee56031f63c4560dcba8eeeafd1168fae171d59b223e3fd2e0aa543a490d64bac7d946764721e2c05897056fdfb22cce33 languageName: node linkType: hard @@ -4817,14 +3395,14 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 languageName: node linkType: hard @@ -4862,17 +3440,17 @@ __metadata: languageName: node linkType: hard -"csstype@npm:^3.0.2": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce languageName: node linkType: hard "dayjs@npm:^1.8.15": - version: 1.11.13 - resolution: "dayjs@npm:1.11.13" - checksum: 10c0/a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7 + version: 1.11.19 + resolution: "dayjs@npm:1.11.19" + checksum: 10c0/7d8a6074a343f821f81ea284d700bd34ea6c7abbe8d93bce7aba818948957c1b7f56131702e5e890a5622cdfc05dcebe8aed0b8313bdc6838a594d7846b0b000 languageName: node linkType: hard @@ -4885,27 +3463,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"debug@npm:^4.4.0": - version: 4.4.1 - resolution: "debug@npm:4.4.1" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 languageName: node linkType: hard @@ -4939,17 +3505,6 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.1.4": - version: 1.1.4 - resolution: "define-data-property@npm:1.1.4" - dependencies: - es-define-property: "npm:^1.0.0" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.0.1" - checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 - languageName: node - linkType: hard - "del@npm:^6.1.1": version: 6.1.1 resolution: "del@npm:6.1.1" @@ -5003,10 +3558,14 @@ __metadata: languageName: node linkType: hard -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 languageName: node linkType: hard @@ -5017,24 +3576,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.668": - version: 1.4.723 - resolution: "electron-to-chromium@npm:1.4.723" - checksum: 10c0/336131ee6433df3f7f453aca872ef218ac8aed3bd1a4e3426ba940683157ece6ab5bf059c92d42d223f9a46b5137904167aa1c4525511fcfdb3b3df24b80575a - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.4": - version: 1.5.18 - resolution: "electron-to-chromium@npm:1.5.18" - checksum: 10c0/2c553c4e7618e887398af0fb7ddd8055beb69d37a810ad73fcea0f3e9027f1fc879ef280151fb6bae8e5b961f5597452eafc1ae5a0adca5bd49211545a34afe7 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.5.41": - version: 1.5.47 - resolution: "electron-to-chromium@npm:1.5.47" - checksum: 10c0/5f8c4a9f0698695960f7bef5242d52b1043020ce50b51fb534409a768847f9bdc9672cb4a6a560eeb8f8b47a04327ae9b31b2cee376cb637b3eb04a4daeaa3b8 +"electron-to-chromium@npm:^1.5.249": + version: 1.5.259 + resolution: "electron-to-chromium@npm:1.5.259" + checksum: 10c0/a6600ff20d513e1acce29cd04af5fcb338295ebe5a13fa9802009464d9c269a4a092218c8ea8c9b85017a1efd75606fe0cdf5f36216979f7c8462af7df2f530d languageName: node linkType: hard @@ -5045,13 +3590,6 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - "encodeurl@npm:~1.0.2": version: 1.0.2 resolution: "encodeurl@npm:1.0.2" @@ -5076,11 +3614,11 @@ __metadata: linkType: hard "end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + checksum: 10c0/b0701c92a10b89afb1cb45bf54a5292c6f008d744eb4382fa559d54775ff31617d1d7bc3ef617575f552e24fad2c7c1a1835948c66b3f3a4be0a6c1f35c883d8 languageName: node linkType: hard @@ -5092,11 +3630,11 @@ __metadata: linkType: hard "envinfo@npm:^7.13.0": - version: 7.14.0 - resolution: "envinfo@npm:7.14.0" + version: 7.20.0 + resolution: "envinfo@npm:7.20.0" bin: envinfo: dist/cli.js - checksum: 10c0/059a031eee101e056bd9cc5cbfe25c2fab433fe1780e86cf0a82d24a000c6931e327da6a8ffb3dce528a24f83f256e7efc0b36813113eff8fdc6839018efe327 + checksum: 10c0/2afa8085f9952d3afe6893098ef9cadc991aa38ed5ed5a0fd953ddb72a7543f425fbf46e8c02c4fa0ecad3c03a93381b0a212f799c2a8db8dc8886d8d7d5dc05 languageName: node linkType: hard @@ -5108,11 +3646,11 @@ __metadata: linkType: hard "error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" + version: 1.3.4 + resolution: "error-ex@npm:1.3.4" dependencies: is-arrayish: "npm:^0.2.1" - checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + checksum: 10c0/b9e34ff4778b8f3b31a8377e1c654456f4c41aeaa3d10a1138c3b7635d8b7b2e03eb2475d46d8ae055c1f180a1063e100bffabf64ea7e7388b37735df5328664 languageName: node linkType: hard @@ -5135,12 +3673,10 @@ __metadata: languageName: node linkType: hard -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c languageName: node linkType: hard @@ -5151,14 +3687,16 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.1.2 - resolution: "escalade@npm:3.1.2" - checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c languageName: node linkType: hard -"escalade@npm:^3.1.2, escalade@npm:^3.2.0": +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 @@ -5172,7 +3710,7 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.3, escape-string-regexp@npm:^1.0.5": +"escape-string-regexp@npm:^1.0.3": version: 1.0.5 resolution: "escape-string-regexp@npm:1.0.5" checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 @@ -5273,9 +3811,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 languageName: node linkType: hard @@ -5286,20 +3824,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - -"fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": +"fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -5331,11 +3856,20 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.19.1 + resolution: "fastq@npm:1.19.1" dependencies: reusify: "npm:^1.0.4" - checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630 + languageName: node + linkType: hard + +"fb-dotslash@npm:0.5.8": + version: 0.5.8 + resolution: "fb-dotslash@npm:0.5.8" + bin: + dotslash: bin/dotslash + checksum: 10c0/6c693ecb8e61cd8571e0ad6a923e0582cf8e481695e906e17c8e31620402e06f8b80d95111a420d2f62349d9bebc2b820bae14c2c54a814e72abdc710dc1d3ed languageName: node linkType: hard @@ -5348,12 +3882,15 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f languageName: node linkType: hard @@ -5408,16 +3945,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 - languageName: node - linkType: hard - "fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -5447,15 +3974,6 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -5498,6 +4016,13 @@ __metadata: languageName: node linkType: hard +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -5512,16 +4037,24 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d languageName: node linkType: hard @@ -5532,6 +4065,16 @@ __metadata: languageName: node linkType: hard +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + "get-stream@npm:^5.0.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -5566,18 +4109,14 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.3.12 - resolution: "glob@npm:10.3.12" +"glob@npm:^13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.6" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.10.2" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711 + minimatch: "npm:^10.1.1" + minipass: "npm:^7.1.2" + path-scurry: "npm:^2.0.0" + checksum: 10c0/8e2f5821f3f7c312dd102e23a15b80c79e0837a9872784293ba2e15ec73b3f3749a49a42a31bfcb4e52c84820a474e92331c2eebf18819d20308f5c33876630a languageName: node linkType: hard @@ -5608,13 +4147,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - "globby@npm:^11.0.1": version: 11.1.0 resolution: "globby@npm:11.1.0" @@ -5629,12 +4161,10 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead languageName: node linkType: hard @@ -5645,13 +4175,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -5659,30 +4182,14 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.2": - version: 1.0.2 - resolution: "has-property-descriptors@npm:1.0.2" - dependencies: - es-define-property: "npm:^1.0.0" - checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 - languageName: node - linkType: hard - -"has-proto@npm:^1.0.1": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 +"has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e languageName: node linkType: hard -"hasown@npm:^2.0.0": +"hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -5691,6 +4198,13 @@ __metadata: languageName: node linkType: hard +"hermes-compiler@npm:0.0.0": + version: 0.0.0 + resolution: "hermes-compiler@npm:0.0.0" + checksum: 10c0/8a653925c3ab65c4ae568a9c51267266c5b5e20c297df101e6f5897b8606f5f23d3af1a7b7d128d23cd7cde933e69c96826f1677fcf7fd23135d24bdc7553a50 + languageName: node + linkType: hard + "hermes-estree@npm:0.28.1": version: 0.28.1 resolution: "hermes-estree@npm:0.28.1" @@ -5698,10 +4212,10 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.29.1": - version: 0.29.1 - resolution: "hermes-estree@npm:0.29.1" - checksum: 10c0/e6b01f79ba708697d61a74b871d5ebae5f863c6d782657d8e2d2256eb838f1eb86ff9c34773a81d9cc69e54be3a5059c686e0ab54a4afba903b40dde92dd0ccb +"hermes-estree@npm:0.32.0": + version: 0.32.0 + resolution: "hermes-estree@npm:0.32.0" + checksum: 10c0/3b67d1fe44336240ef7f9c40ecbf363279ba263d51efe120570c3862cc109e652fc09aebddfe6b73d0f0246610bee130e4064c359f1f4cbf002bdb1d99717ef2 languageName: node linkType: hard @@ -5714,19 +4228,19 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.29.1": - version: 0.29.1 - resolution: "hermes-parser@npm:0.29.1" +"hermes-parser@npm:0.32.0": + version: 0.32.0 + resolution: "hermes-parser@npm:0.32.0" dependencies: - hermes-estree: "npm:0.29.1" - checksum: 10c0/7f40d9bdfb5acaa700f333a24c644b17f5f8d0e823b1e7a9fb6dcf253a54d54716ae63c74effa023688ee4f09013c80188c40d601570fee256a44954e04c2926 + hermes-estree: "npm:0.32.0" + checksum: 10c0/5902d2c5d347c0629fba07a47eaad5569590ac69bc8bfb2e454e08d2dfbe1ebd989d88518dca2cba64061689b5eac5960ae6bd15a4a66600bbf377498a3234b7 languageName: node linkType: hard "http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 languageName: node linkType: hard @@ -5753,17 +4267,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": - version: 7.0.4 - resolution: "https-proxy-agent@npm:7.0.4" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.5": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -5813,40 +4317,30 @@ __metadata: linkType: hard "ignore@npm:^5.2.0": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard "image-size@npm:^1.0.2": - version: 1.1.1 - resolution: "image-size@npm:1.1.1" + version: 1.2.1 + resolution: "image-size@npm:1.2.1" dependencies: queue: "npm:6.0.2" bin: image-size: bin/image-size.js - checksum: 10c0/2660470096d12be82195f7e80fe03274689fbd14184afb78eaf66ade7cd06352518325814f88af4bde4b26647889fe49e573129f6e7ba8f5ff5b85cc7f559000 - languageName: node - linkType: hard - -"import-fresh@npm:^2.0.0": - version: 2.0.0 - resolution: "import-fresh@npm:2.0.0" - dependencies: - caller-path: "npm:^2.0.0" - resolve-from: "npm:^3.0.0" - checksum: 10c0/116c55ee5215a7839062285b60df85dbedde084c02111dc58c1b9d03ff7876627059f4beb16cdc090a3db21fea9022003402aa782139dc8d6302589038030504 + checksum: 10c0/f8b3c19d4476513f1d7e55c3e6db80997b315444743e2040d545cbcaee59be03d2eb40c46be949a8372697b7003fdb0c04925d704390a7f606bc8181e25c0ed4 languageName: node linkType: hard "import-fresh@npm:^3.3.0": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec languageName: node linkType: hard @@ -5890,13 +4384,10 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc +"ip-address@npm:^10.0.1": + version: 10.1.0 + resolution: "ip-address@npm:10.1.0" + checksum: 10c0/0103516cfa93f6433b3bd7333fa876eb21263912329bfa47010af5e16934eeeff86f3d2ae700a3744a137839ddfad62b900c7a445607884a49b5d1e32a3d7566 languageName: node linkType: hard @@ -5926,19 +4417,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" +"is-core-module@npm:^2.16.1": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: - hasown: "npm:^2.0.0" - checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 - languageName: node - linkType: hard - -"is-directory@npm:^0.3.1": - version: 0.3.1 - resolution: "is-directory@npm:0.3.1" - checksum: 10c0/1c39c7d1753b04e9483b89fb88908b8137ab4743b6f481947e97ccf93ecb384a814c8d3f0b95b082b149c5aa19c3e9e4464e2791d95174bce95998c26bb1974b + hasown: "npm:^2.0.2" + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard @@ -6008,13 +4492,6 @@ __metadata: languageName: node linkType: hard -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -6125,19 +4602,6 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.6": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - "jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" @@ -6258,11 +4722,11 @@ __metadata: linkType: hard "jiti@npm:^1.18.2": - version: 1.21.0 - resolution: "jiti@npm:1.21.0" + version: 1.21.7 + resolution: "jiti@npm:1.21.7" bin: jiti: bin/jiti.js - checksum: 10c0/7f361219fe6c7a5e440d5f1dba4ab763a5538d2df8708cdc22561cf25ea3e44b837687931fca7cdd8cdd9f567300e90be989dd1321650045012d8f9ed6aab07f + checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a languageName: node linkType: hard @@ -6287,32 +4751,25 @@ __metadata: linkType: hard "js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" + version: 3.14.2 + resolution: "js-yaml@npm:3.14.2" dependencies: argparse: "npm:^1.0.7" esprima: "npm:^4.0.0" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + checksum: 10c0/3261f25912f5dd76605e5993d0a126c2b6c346311885d3c483706cd722efe34f697ea0331f654ce27c00a42b426e524518ec89d65ed02ea47df8ad26dcc8ce69 languageName: node linkType: hard "js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" + version: 4.1.1 + resolution: "js-yaml@npm:4.1.1" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7 languageName: node linkType: hard @@ -6323,37 +4780,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 - languageName: node - linkType: hard - -"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": - version: 3.0.2 - resolution: "jsesc@npm:3.0.2" - bin: - jsesc: bin/jsesc - checksum: 10c0/ef22148f9e793180b14d8a145ee6f9f60f301abf443288117b4b6c53d0ecd58354898dc506ccbb553a5f7827965cd38bc5fb726575aae93c5e8915e2de8290e1 - languageName: node - linkType: hard - -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" +"jsesc@npm:^3.0.2, jsesc@npm:~3.1.0": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 - languageName: node - linkType: hard - -"json-parse-better-errors@npm:^1.0.1": - version: 1.0.2 - resolution: "json-parse-better-errors@npm:1.0.2" - checksum: 10c0/2f1287a7c833e397c9ddd361a78638e828fc523038bb3441fd4fc144cfd2c6cd4963ffb9e207e648cf7b692600f1e1e524e965c32df5152120910e4903a47dcb + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 languageName: node linkType: hard @@ -6386,15 +4818,15 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" + version: 6.2.0 + resolution: "jsonfile@npm:6.2.0" dependencies: graceful-fs: "npm:^4.1.6" universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + checksum: 10c0/7f4f43b08d1869ded8a6822213d13ae3b99d651151d77efd1557ced0889c466296a7d9684e397bd126acf5eb2cfcb605808c3e681d0fdccd2fe5a04b47e76c0d languageName: node linkType: hard @@ -6413,103 +4845,12 @@ __metadata: linkType: hard "launch-editor@npm:^2.9.1": - version: 2.10.0 - resolution: "launch-editor@npm:2.10.0" - dependencies: - picocolors: "npm:^1.0.0" - shell-quote: "npm:^1.8.1" - checksum: 10c0/8b5a26be6b0da1da039ed2254b837dea0651a6406ea4dc4c9a5b28ea72862f1b12880135c495baf9d8a08997473b44034172506781744cf82e155451a40b7d51 - languageName: node - linkType: hard - -"lefthook-darwin-arm64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-darwin-arm64@npm:1.6.8" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"lefthook-darwin-x64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-darwin-x64@npm:1.6.8" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"lefthook-freebsd-arm64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-freebsd-arm64@npm:1.6.8" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"lefthook-freebsd-x64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-freebsd-x64@npm:1.6.8" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"lefthook-linux-arm64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-linux-arm64@npm:1.6.8" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"lefthook-linux-x64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-linux-x64@npm:1.6.8" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"lefthook-windows-arm64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-windows-arm64@npm:1.6.8" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"lefthook-windows-x64@npm:1.6.8": - version: 1.6.8 - resolution: "lefthook-windows-x64@npm:1.6.8" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"lefthook@npm:^1.5.5": - version: 1.6.8 - resolution: "lefthook@npm:1.6.8" + version: 2.12.0 + resolution: "launch-editor@npm:2.12.0" dependencies: - lefthook-darwin-arm64: "npm:1.6.8" - lefthook-darwin-x64: "npm:1.6.8" - lefthook-freebsd-arm64: "npm:1.6.8" - lefthook-freebsd-x64: "npm:1.6.8" - lefthook-linux-arm64: "npm:1.6.8" - lefthook-linux-x64: "npm:1.6.8" - lefthook-windows-arm64: "npm:1.6.8" - lefthook-windows-x64: "npm:1.6.8" - dependenciesMeta: - lefthook-darwin-arm64: - optional: true - lefthook-darwin-x64: - optional: true - lefthook-freebsd-arm64: - optional: true - lefthook-freebsd-x64: - optional: true - lefthook-linux-arm64: - optional: true - lefthook-linux-x64: - optional: true - lefthook-windows-arm64: - optional: true - lefthook-windows-x64: - optional: true - bin: - lefthook: bin/index.js - checksum: 10c0/cb37bbf2414a3da21e16e09135bcaa6fb892d7bb1ab38d254ed49cda3020ba624a126f4ca29b7762f186b5cf25ac76c16213d23700ca97622b8b48a96e1be311 + picocolors: "npm:^1.1.1" + shell-quote: "npm:^1.8.3" + checksum: 10c0/fac5e7ad90bf185594cad4c831a52419eef50e667c4eddb5b0a58eb5f944e16d947636ee767b9896ffd46a51db34925edd3b854c48efb47f6d767ffd7d904e71 languageName: node linkType: hard @@ -6538,9 +4879,9 @@ __metadata: linkType: hard "lilconfig@npm:^3.0.0": - version: 3.1.1 - resolution: "lilconfig@npm:3.1.1" - checksum: 10c0/311b559794546894e3fe176663427326026c1c644145be9e8041c58e268aa9328799b8dfe7e4dd8c6a4ae305feae95a1c9e007db3569f35b42b6e1bc8274754c + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc languageName: node linkType: hard @@ -6606,7 +4947,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0": +"loose-envify@npm:^1.0.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -6617,10 +4958,10 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.2.0 - resolution: "lru-cache@npm:10.2.0" - checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee +"lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": + version: 11.2.2 + resolution: "lru-cache@npm:11.2.2" + checksum: 10c0/72d7831bbebc85e2bdefe01047ee5584db69d641c48d7a509e86f66f6ee111b30af7ec3bd68a967d47b69a4b1fa8bbf3872630bd06a63b6735e6f0a5f1c8e83d languageName: node linkType: hard @@ -6633,31 +4974,22 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - -"make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" +"make-fetch-happen@npm:^15.0.0": + version: 15.0.3 + resolution: "make-fetch-happen@npm:15.0.3" dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" + "@npmcli/agent": "npm:^4.0.0" + cacache: "npm:^20.0.1" http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" + minipass-fetch: "npm:^5.0.0" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" + negotiator: "npm:^1.0.0" + proc-log: "npm:^6.0.0" promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 + ssri: "npm:^13.0.0" + checksum: 10c0/525f74915660be60b616bcbd267c4a5b59481b073ba125e45c9c3a041bb1a47a2bd0ae79d028eb6f5f95bf9851a4158423f5068539c3093621abb64027e8e461 languageName: node linkType: hard @@ -6671,9 +5003,16 @@ __metadata: linkType: hard "marky@npm:^1.2.2": - version: 1.2.5 - resolution: "marky@npm:1.2.5" - checksum: 10c0/ca8a011f287dab1ac3291df720fc32b366c4cd767347b63722966650405ce71ec6566f71d1e22e1768bf6461a7fd689b9038e7df0fcfb62eacf3a5a6dcac249e + version: 1.3.0 + resolution: "marky@npm:1.3.0" + checksum: 10c0/6619cdb132fdc4f7cd3e2bed6eebf81a38e50ff4b426bbfb354db68731e4adfebf35ebfd7c8e5a6e846cbf9b872588c4f76db25782caee8c1529ec9d483bf98b + languageName: node + linkType: hard + +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f languageName: node linkType: hard @@ -6705,69 +5044,69 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.83.1": - version: 0.83.1 - resolution: "metro-babel-transformer@npm:0.83.1" +"metro-babel-transformer@npm:0.83.3": + version: 0.83.3 + resolution: "metro-babel-transformer@npm:0.83.3" dependencies: "@babel/core": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - hermes-parser: "npm:0.29.1" + hermes-parser: "npm:0.32.0" nullthrows: "npm:^1.1.1" - checksum: 10c0/7e89744812a58fd6b9fa45141f0b34a9c23b895e2d92942415475493de668e4c17d1ec55c9d5be6b0d8c53651c64c2b73bb0ea2a08fdd1fb703b0c7c467de4a2 + checksum: 10c0/b0107f86cdc9ef9419d669b5b3dac22e35b02c67c480563a63d98f5fb50953587938769efc854bfc09c225557790cd6488dbe3fed6f05c2b3f322cfb2e5ff577 languageName: node linkType: hard -"metro-cache-key@npm:0.83.1": - version: 0.83.1 - resolution: "metro-cache-key@npm:0.83.1" +"metro-cache-key@npm:0.83.3": + version: 0.83.3 + resolution: "metro-cache-key@npm:0.83.3" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/16d3541a413a26723880512267f1986052fafa3d71da86edcdf24830236e657e29739153dcb5228e62e2817e2d73129a74eb65dde09d1e1763206a521e3d6b5c + checksum: 10c0/403a2ca5b5bbb31a979effaa31fba0c47e2eb3830428c39c99db58aa0739a6fcc386f5a56c91495c53a4569065f0bda29e3038e9c41ca17af443971395f257dc languageName: node linkType: hard -"metro-cache@npm:0.83.1": - version: 0.83.1 - resolution: "metro-cache@npm:0.83.1" +"metro-cache@npm:0.83.3": + version: 0.83.3 + resolution: "metro-cache@npm:0.83.3" dependencies: exponential-backoff: "npm:^3.1.1" flow-enums-runtime: "npm:^0.0.6" https-proxy-agent: "npm:^7.0.5" - metro-core: "npm:0.83.1" - checksum: 10c0/ddeac25554aec4c19fc7c6fecff8c79af486cc41962ee3e58218a84dafd6d9b1664572f7179bc69a967a01696008bfb10300d4b5e31b6ae3220b69b3b0ef9f11 + metro-core: "npm:0.83.3" + checksum: 10c0/608e85d819092c0b472c9adabb5de58e88355739de71833230626c1af7f3ce5dd1dca9f1ff3a836d995201f717315fd769c4c646a818c1f490ea2ec29417e32a languageName: node linkType: hard -"metro-config@npm:0.83.1, metro-config@npm:^0.83.1": - version: 0.83.1 - resolution: "metro-config@npm:0.83.1" +"metro-config@npm:0.83.3, metro-config@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-config@npm:0.83.3" dependencies: connect: "npm:^3.6.5" - cosmiconfig: "npm:^5.0.5" flow-enums-runtime: "npm:^0.0.6" jest-validate: "npm:^29.7.0" - metro: "npm:0.83.1" - metro-cache: "npm:0.83.1" - metro-core: "npm:0.83.1" - metro-runtime: "npm:0.83.1" - checksum: 10c0/8c5ffe2cb92bf96209b8ee0727c13980594601230a06ec78a56ffca5a9b1a4faa8f59a16db95a0bf2c9c56f35bcf918f22da25aa2192528f4700e7247733326d + metro: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + yaml: "npm:^2.6.1" + checksum: 10c0/c53e4a061cfc776a65cdb5055c0be840055f9741dae25e7d407835988618b15f1407270dbd957c7333d01e9c79eccbf8e6bcb76421b2145bd134b53df459a033 languageName: node linkType: hard -"metro-core@npm:0.83.1, metro-core@npm:^0.83.1": - version: 0.83.1 - resolution: "metro-core@npm:0.83.1" +"metro-core@npm:0.83.3, metro-core@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-core@npm:0.83.3" dependencies: flow-enums-runtime: "npm:^0.0.6" lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.83.1" - checksum: 10c0/c04b7fa05886d8e971e59446d380b21ee7031adc013740fe1ad41fef968235ab78eb5b592fc6e890dbc20192b4bbc83aa0ac93af717855a74b7629af46611291 + metro-resolver: "npm:0.83.3" + checksum: 10c0/d44c1f117c4b27f18abd27110e9536abf3105733e8fccaa522bd0e008248cce0260130517840c4914d7ce5df498f39ecfd43b6046a0f0b1c0f8ada7de38e52c4 languageName: node linkType: hard -"metro-file-map@npm:0.83.1": - version: 0.83.1 - resolution: "metro-file-map@npm:0.83.1" +"metro-file-map@npm:0.83.3": + version: 0.83.3 + resolution: "metro-file-map@npm:0.83.3" dependencies: debug: "npm:^4.4.0" fb-watchman: "npm:^2.0.0" @@ -6778,76 +5117,76 @@ __metadata: micromatch: "npm:^4.0.4" nullthrows: "npm:^1.1.1" walker: "npm:^1.0.7" - checksum: 10c0/970496de8befb9fdcdaa5742f9b895510a2a4ce463a7120d3335cdd49e97462b2d71b66a50477af046fe728ba9366b2a921ce4245b20d704a2ea85639d40ba9d + checksum: 10c0/4bf9c0fcdb5a5c08851f7370d6427fb68a770f156c4eabbddf20bd3583fb25ae428507eaeb8dc525e792db41d048620209750f33735055863abc909cbb6ef71a languageName: node linkType: hard -"metro-minify-terser@npm:0.83.1": - version: 0.83.1 - resolution: "metro-minify-terser@npm:0.83.1" +"metro-minify-terser@npm:0.83.3": + version: 0.83.3 + resolution: "metro-minify-terser@npm:0.83.3" dependencies: flow-enums-runtime: "npm:^0.0.6" terser: "npm:^5.15.0" - checksum: 10c0/43196d7084a4664b6f49a09dfb96f4e54b3aec94191891266c664f66f07be76e8b6f616fd2e0205af3b01dc82a214e4d5f865185fd9534703cd90fb80c065c11 + checksum: 10c0/9158e3199c0ea647776a7ed5c68ec1bb493f5347ac979f1ca75020cf1c39f907bd29983d60f8cb24dca17053d6b5c35f140c6d720fad0bd0fa9728e8c51e95c6 languageName: node linkType: hard -"metro-resolver@npm:0.83.1": - version: 0.83.1 - resolution: "metro-resolver@npm:0.83.1" +"metro-resolver@npm:0.83.3": + version: 0.83.3 + resolution: "metro-resolver@npm:0.83.3" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/33d711834f962d5c1c24c41826604f69628da019e816665619dead52f896a1e41afb7eb78ac7a82a3811e9be69def5909e7fee377dd68992faa4b4f71d73b1be + checksum: 10c0/1d6c030a00b987fbee38e5c632219b2be602e38c9aa9628bb4b591f646e64130d08adb8dcb35076c5c8cc151135557b655f3dee514c0df9f26d3416629eb006b languageName: node linkType: hard -"metro-runtime@npm:0.83.1, metro-runtime@npm:^0.83.1": - version: 0.83.1 - resolution: "metro-runtime@npm:0.83.1" +"metro-runtime@npm:0.83.3, metro-runtime@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-runtime@npm:0.83.3" dependencies: "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/f9d83d2be8c0ee4a9fded075a8154249e94b156fd2968d69b6cf7bfb73ff4a6181af5f786485cc1348bb57b963f2b35f6599d4d186c98de6ff3247f3eac47d74 + checksum: 10c0/1d788483b6c2f13e0ea9ff4564996154754d3de84f683812ac848053eaea9243144adee3e8ffe90789e6c253f7402211d72b1b5ebf09e6c23841bc956a680253 languageName: node linkType: hard -"metro-source-map@npm:0.83.1, metro-source-map@npm:^0.83.1": - version: 0.83.1 - resolution: "metro-source-map@npm:0.83.1" +"metro-source-map@npm:0.83.3, metro-source-map@npm:^0.83.1": + version: 0.83.3 + resolution: "metro-source-map@npm:0.83.3" dependencies: "@babel/traverse": "npm:^7.25.3" "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" "@babel/types": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-symbolicate: "npm:0.83.1" + metro-symbolicate: "npm:0.83.3" nullthrows: "npm:^1.1.1" - ob1: "npm:0.83.1" + ob1: "npm:0.83.3" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - checksum: 10c0/32d4e367ee029c94559883de70fd6d0a3b4bfa26ea1af26012cf3545bf77d68c12deb314b8717ef9678884f7c56693e63c944e636eff5e37dc66018dbc764549 + checksum: 10c0/47e984bde1f8f06348298771f44b5803657c9cfa387df8ff36a359cc72ae3bc0e9c4ea6141345609b183ac8c63dcc997000d3626006e388c24779abb57c6f82c languageName: node linkType: hard -"metro-symbolicate@npm:0.83.1": - version: 0.83.1 - resolution: "metro-symbolicate@npm:0.83.1" +"metro-symbolicate@npm:0.83.3": + version: 0.83.3 + resolution: "metro-symbolicate@npm:0.83.3" dependencies: flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-source-map: "npm:0.83.1" + metro-source-map: "npm:0.83.3" nullthrows: "npm:^1.1.1" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" bin: metro-symbolicate: src/index.js - checksum: 10c0/6993b48ac6d68a3e7d9c7136504b56c6e7f1def20e3d841d2c01773843807f7bdb0f45e0fbf25d0fcb7c7400cb0273de32fb88ecafa79c7b3cfcac5b3fb254f6 + checksum: 10c0/bd3d234c7581466a9a78f952caa25816666753f6b560fe41502727b3e59931ac65225c9909635dc7c25d4dfaf392631366ef3ec5fa8490413385d60f8d900112 languageName: node linkType: hard -"metro-transform-plugins@npm:0.83.1": - version: 0.83.1 - resolution: "metro-transform-plugins@npm:0.83.1" +"metro-transform-plugins@npm:0.83.3": + version: 0.83.3 + resolution: "metro-transform-plugins@npm:0.83.3" dependencies: "@babel/core": "npm:^7.25.2" "@babel/generator": "npm:^7.25.0" @@ -6855,34 +5194,34 @@ __metadata: "@babel/traverse": "npm:^7.25.3" flow-enums-runtime: "npm:^0.0.6" nullthrows: "npm:^1.1.1" - checksum: 10c0/06efcd0a0fd312fecead9679e74c02de27309948bb119404c333c5f22c6ff7c2b081e11b412d65e070ed712059eca6904fe5bbf32c98f1298300f6e1da4fdd5b + checksum: 10c0/df3c6db6a69d4888e1b6aad40d48ffec0c3c3faa38e89c07633432fc107ef12c47d55598904c91aadfe0751c5bcb7ec191f8a5ee70c18d253201150fc617ca37 languageName: node linkType: hard -"metro-transform-worker@npm:0.83.1": - version: 0.83.1 - resolution: "metro-transform-worker@npm:0.83.1" +"metro-transform-worker@npm:0.83.3": + version: 0.83.3 + resolution: "metro-transform-worker@npm:0.83.3" dependencies: "@babel/core": "npm:^7.25.2" "@babel/generator": "npm:^7.25.0" "@babel/parser": "npm:^7.25.3" "@babel/types": "npm:^7.25.2" flow-enums-runtime: "npm:^0.0.6" - metro: "npm:0.83.1" - metro-babel-transformer: "npm:0.83.1" - metro-cache: "npm:0.83.1" - metro-cache-key: "npm:0.83.1" - metro-minify-terser: "npm:0.83.1" - metro-source-map: "npm:0.83.1" - metro-transform-plugins: "npm:0.83.1" + metro: "npm:0.83.3" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-minify-terser: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" nullthrows: "npm:^1.1.1" - checksum: 10c0/b2bcca2664aef4d8dc84ca2ffcf495cf77e4a0d94af1baf41d95226b30440263e75653b02fedff49db329918372a14804e20aed473cf7c7a4104cacf0fa907cd + checksum: 10c0/bea0cbcc7d13cd2b97a2159257b3a53b9ecfb15da18ace82ae05bf2d0ac7cc1806c0bd77ed3b8f4c82c9532773fb99f3938e4b1480e2673f5eda69575ee1d7ef languageName: node linkType: hard -"metro@npm:0.83.1, metro@npm:^0.83.1": - version: 0.83.1 - resolution: "metro@npm:0.83.1" +"metro@npm:0.83.3, metro@npm:^0.83.1": + version: 0.83.3 + resolution: "metro@npm:0.83.3" dependencies: "@babel/code-frame": "npm:^7.24.7" "@babel/core": "npm:^7.25.2" @@ -6899,24 +5238,24 @@ __metadata: error-stack-parser: "npm:^2.0.6" flow-enums-runtime: "npm:^0.0.6" graceful-fs: "npm:^4.2.4" - hermes-parser: "npm:0.29.1" + hermes-parser: "npm:0.32.0" image-size: "npm:^1.0.2" invariant: "npm:^2.2.4" jest-worker: "npm:^29.7.0" jsc-safe-url: "npm:^0.2.2" lodash.throttle: "npm:^4.1.1" - metro-babel-transformer: "npm:0.83.1" - metro-cache: "npm:0.83.1" - metro-cache-key: "npm:0.83.1" - metro-config: "npm:0.83.1" - metro-core: "npm:0.83.1" - metro-file-map: "npm:0.83.1" - metro-resolver: "npm:0.83.1" - metro-runtime: "npm:0.83.1" - metro-source-map: "npm:0.83.1" - metro-symbolicate: "npm:0.83.1" - metro-transform-plugins: "npm:0.83.1" - metro-transform-worker: "npm:0.83.1" + metro-babel-transformer: "npm:0.83.3" + metro-cache: "npm:0.83.3" + metro-cache-key: "npm:0.83.3" + metro-config: "npm:0.83.3" + metro-core: "npm:0.83.3" + metro-file-map: "npm:0.83.3" + metro-resolver: "npm:0.83.3" + metro-runtime: "npm:0.83.3" + metro-source-map: "npm:0.83.3" + metro-symbolicate: "npm:0.83.3" + metro-transform-plugins: "npm:0.83.3" + metro-transform-worker: "npm:0.83.3" mime-types: "npm:^2.1.27" nullthrows: "npm:^1.1.1" serialize-error: "npm:^2.1.0" @@ -6926,21 +5265,11 @@ __metadata: yargs: "npm:^17.6.2" bin: metro: src/cli.js - checksum: 10c0/63681a43f7e6d8f1998b99e94bc41998726e3f5f74ebdfe37e127a38c2cc9b796c1c29407d64660d6f7819a7cfa9cb9881c0620678aa8c068c45e69d86aa3b2c - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + checksum: 10c0/9513c05725c3984ce3b72896c4f7d019ad4fd024a1231b8b84c5c655a0563fc7f26725f28c20c5d3511e3825d64fec3a1e68621f6a6af34d785c5e714ed7da89 languageName: node linkType: hard -"micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -6998,6 +5327,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^10.1.1": + version: 10.1.1 + resolution: "minimatch@npm:10.1.1" + dependencies: + "@isaacs/brace-expansion": "npm:^5.0.0" + checksum: 10c0/c85d44821c71973d636091fddbfbffe62370f5ee3caf0241c5b60c18cd289e916200acb2361b7e987558cd06896d153e25d505db9fc1e43e6b4b6752e2702902 + languageName: node + linkType: hard + "minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -7008,20 +5346,11 @@ __metadata: linkType: hard "minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.1": - version: 9.0.4 - resolution: "minimatch@npm:9.0.4" + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" dependencies: brace-expansion: "npm:^2.0.1" - checksum: 10c0/2c16f21f50e64922864e560ff97c587d15fd491f65d92a677a344e970fe62aafdbeafe648965fa96d33c061b4d0eabfe0213466203dd793367e7f28658cf6414 + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 languageName: node linkType: hard @@ -7034,18 +5363,18 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" +"minipass-fetch@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass-fetch@npm:5.0.0" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" + minizlib: "npm:^3.0.1" dependenciesMeta: encoding: optional: true - checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 + checksum: 10c0/9443aab5feab190972f84b64116e54e58dd87a58e62399cae0a4a7461b80568281039b7c3a38ba96453431ebc799d1e26999e548540156216729a4967cd5ef06 languageName: node linkType: hard @@ -7085,31 +5414,23 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 +"minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"minizlib@npm:^3.0.1, minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -7125,13 +5446,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - "ms@npm:2.1.3, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" @@ -7150,12 +5464,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" +"nanoid@npm:^3.3.11": + version: 3.3.11 + resolution: "nanoid@npm:3.3.11" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b languageName: node linkType: hard @@ -7182,13 +5496,20 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b + languageName: node + linkType: hard + "negotiator@npm:~0.6.4": version: 0.6.4 resolution: "negotiator@npm:0.6.4" @@ -7204,22 +5525,22 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.1.0 - resolution: "node-gyp@npm:10.1.0" + version: 12.1.0 + resolution: "node-gyp@npm:12.1.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" + make-fetch-happen: "npm:^15.0.0" + nopt: "npm:^9.0.0" + proc-log: "npm:^6.0.0" semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" + tar: "npm:^7.5.2" + tinyglobby: "npm:^0.2.12" + which: "npm:^6.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c + checksum: 10c0/f43efea8aaf0beb6b2f6184e533edad779b2ae38062953e21951f46221dd104006cc574154f2ad4a135467a5aae92c49e84ef289311a82e08481c5df0e8dc495 languageName: node linkType: hard @@ -7230,17 +5551,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 +"node-releases@npm:^2.0.27": + version: 2.0.27 + resolution: "node-releases@npm:2.0.27" + checksum: 10c0/f1e6583b7833ea81880627748d28a3a7ff5703d5409328c216ae57befbced10ce2c991bea86434e8ec39003bd017f70481e2e5f8c1f7e0a7663241f81d6e00e2 languageName: node linkType: hard @@ -7251,14 +5565,14 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" +"nopt@npm:^9.0.0": + version: 9.0.0 + resolution: "nopt@npm:9.0.0" dependencies: - abbrev: "npm:^2.0.0" + abbrev: "npm:^4.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff + checksum: 10c0/1822eb6f9b020ef6f7a7516d7b64a8036e09666ea55ac40416c36e4b2b343122c3cff0e2f085675f53de1d2db99a2a89a60ccea1d120bcd6a5347bf6ceb4a7fd languageName: node linkType: hard @@ -7285,12 +5599,12 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.83.1": - version: 0.83.1 - resolution: "ob1@npm:0.83.1" +"ob1@npm:0.83.3": + version: 0.83.3 + resolution: "ob1@npm:0.83.3" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/95b13a29239741b2e177459e25404b26ae096f11ac75711f530eda00503492707930354cb78a3d8ffbc2d6d5c3e55165955b4cb50ad08dfe0ae12f138b37a75a + checksum: 10c0/9231315de39cf0612a01e283c7d7ef31d16618e598de96e44ae1ab3007629296ce1a3d5d02ef60ff22d9fefe33050358c10e7fcba8278861157b89befe13cb3d languageName: node linkType: hard @@ -7308,10 +5622,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 languageName: node linkType: hard @@ -7333,10 +5647,10 @@ __metadata: languageName: node linkType: hard -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 10c0/f649e65c197bf31505a4c0444875db0258e198292f34b884d73c2f751e91792ef96bb5cf89aa0f4fecc2e4dc662461dda606b1274b0e564f539cae5d2f5fc32f +"on-headers@npm:~1.1.0": + version: 1.1.0 + resolution: "on-headers@npm:1.1.0" + checksum: 10c0/2c3b6b0d68ec9adbd561dc2d61c9b14da8ac03d8a2f0fd9e97bdf0600c887d5d97f664ff3be6876cf40cda6e3c587d73a4745e10b426ac50c7664fc5a0dfc0a1 languageName: node linkType: hard @@ -7365,26 +5679,26 @@ __metadata: "@babel/core": "npm:^7.25.2" "@babel/preset-env": "npm:^7.25.3" "@babel/runtime": "npm:^7.25.0" + "@op-engineering/op-server": "npm:^0.1.4" "@op-engineering/op-test": "npm:^0.2.4" "@react-native-community/cli": "npm:^18.0.0" "@react-native-community/cli-platform-android": "npm:18.0.0" "@react-native-community/cli-platform-ios": "npm:18.0.0" - "@react-native/babel-preset": "npm:0.81.0" - "@react-native/metro-config": "npm:0.81.0" - "@react-native/typescript-config": "npm:0.81.0" + "@react-native/babel-preset": "npm:0.82.1" + "@react-native/metro-config": "npm:0.82.1" + "@react-native/typescript-config": "npm:0.82.1" "@types/chance": "npm:^1.1.7" - "@types/react": "npm:^19.0.0" + "@types/react": "npm:^19.1.1" chance: "npm:^1.1.9" clsx: "npm:^2.0.0" events: "npm:^3.3.0" nativewind: "npm:^2.0.11" react: "npm:19.1.1" - react-native: "npm:0.81.0" + react-native: "npm:0.82.1" react-native-builder-bob: "npm:^0.40.13" - react-native-http-bridge-refurbished: "npm:1.2.9" react-native-monorepo-config: "npm:^0.1.9" react-native-restart: "npm:^0.0.27" - react-native-safe-area-context: "npm:^5.6.1" + react-native-safe-area-context: "npm:^5.6.2" tailwindcss: "npm:3.3.2" languageName: unknown linkType: soft @@ -7470,6 +5784,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.4 + resolution: "p-map@npm:7.0.4" + checksum: 10c0/a5030935d3cb2919d7e89454d1ce82141e6f9955413658b8c9403cfe379283770ed3048146b44cde168aa9e8c716505f196d5689db0ae3ce9a71521a2fef3abd + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -7486,16 +5807,6 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^4.0.0": - version: 4.0.0 - resolution: "parse-json@npm:4.0.0" - dependencies: - error-ex: "npm:^1.3.1" - json-parse-better-errors: "npm:^1.0.1" - checksum: 10c0/8d80790b772ccb1bcea4e09e2697555e519d83d04a77c2b4237389b813f82898943a93ffff7d0d2406203bdd0c30dcf95b1661e3a53f83d0e417f053957bef32 - languageName: node - linkType: hard - "parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -7543,13 +5854,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.2": - version: 1.10.2 - resolution: "path-scurry@npm:1.10.2" +"path-scurry@npm:^2.0.0": + version: 2.0.1 + resolution: "path-scurry@npm:2.0.1" dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601 + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10c0/2a16ed0e81fbc43513e245aa5763354e25e787dab0d539581a6c3f0f967461a159ed6236b2559de23aa5b88e7dc32b469b6c47568833dd142a4b24b4f5cd2620 languageName: node linkType: hard @@ -7560,21 +5871,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 - languageName: node - linkType: hard - -"picocolors@npm:^1.0.1": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 - languageName: node - linkType: hard - -"picocolors@npm:^1.1.0": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -7588,6 +5885,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.3": + version: 4.0.3 + resolution: "picomatch@npm:4.0.3" + checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2 + languageName: node + linkType: hard + "pify@npm:^2.3.0": version: 2.3.0 resolution: "pify@npm:2.3.0" @@ -7596,9 +5900,9 @@ __metadata: linkType: hard "pirates@npm:^4.0.1, pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a languageName: node linkType: hard @@ -7652,13 +5956,13 @@ __metadata: linkType: hard "postcss-js@npm:^4.0.1": - version: 4.0.1 - resolution: "postcss-js@npm:4.0.1" + version: 4.1.0 + resolution: "postcss-js@npm:4.1.0" dependencies: camelcase-css: "npm:^2.0.1" peerDependencies: postcss: ^8.4.21 - checksum: 10c0/af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e + checksum: 10c0/a3cf6e725f3e9ecd7209732f8844a0063a1380b718ccbcf93832b6ec2cd7e63ff70dd2fed49eb2483c7482296860a0f7badd3115b5d0fa05ea648eb6d9dfc9c6 languageName: node linkType: hard @@ -7692,23 +5996,23 @@ __metadata: linkType: hard "postcss-nested@npm:^6.0.1": - version: 6.0.1 - resolution: "postcss-nested@npm:6.0.1" + version: 6.2.0 + resolution: "postcss-nested@npm:6.2.0" dependencies: - postcss-selector-parser: "npm:^6.0.11" + postcss-selector-parser: "npm:^6.1.1" peerDependencies: postcss: ^8.2.14 - checksum: 10c0/2a50aa36d5d103c2e471954830489f4c024deed94fa066169101db55171368d5f80b32446b584029e0471feee409293d0b6b1d8ede361f6675ba097e477b3cbd + checksum: 10c0/7f9c3f2d764191a39364cbdcec350f26a312431a569c9ef17408021424726b0d67995ff5288405e3724bb7152a4c92f73c027e580ec91e798800ed3c52e2bc6e languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.6, postcss-selector-parser@npm:^6.0.9": - version: 6.0.16 - resolution: "postcss-selector-parser@npm:6.0.16" +"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.6, postcss-selector-parser@npm:^6.0.9, postcss-selector-parser@npm:^6.1.1": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/0e11657cb3181aaf9ff67c2e59427c4df496b4a1b6a17063fae579813f80af79d444bf38f82eeb8b15b4679653fd3089e66ef0283f9aab01874d885e6cf1d2cf + checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e languageName: node linkType: hard @@ -7720,13 +6024,13 @@ __metadata: linkType: hard "postcss@npm:^8.4.12, postcss@npm:^8.4.23": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" + version: 8.5.6 + resolution: "postcss@npm:8.5.6" dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.2.0" - checksum: 10c0/955407b8f70cf0c14acf35dab3615899a2a60a26718a63c848cf3c29f2467b0533991b985a2b994430d890bd7ec2b1963e36352b0774a19143b5f591540f7c06 + nanoid: "npm:^3.3.11" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/5127cc7c91ed7a133a1b7318012d8bfa112da9ef092dddf369ae699a1f10ebbd89b1b9f25f3228795b84585c72aabd5ced5fc11f2ba467eedf7b081a66fad024 languageName: node linkType: hard @@ -7753,10 +6057,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc +"proc-log@npm:^6.0.0": + version: 6.0.0 + resolution: "proc-log@npm:6.0.0" + checksum: 10c0/40c5e2b4c55e395a3bd72e38cba9c26e58598a1f4844fa6a115716d5231a0919f46aa8e351147035d91583ad39a794593615078c948bc001fe3beb99276be776 languageName: node linkType: hard @@ -7790,12 +6094,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" + version: 3.0.3 + resolution: "pump@npm:3.0.3" dependencies: end-of-stream: "npm:^1.1.0" once: "npm:^1.3.1" - checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + checksum: 10c0/ada5cdf1d813065bbc99aa2c393b8f6beee73b5de2890a8754c9f488d7323ffd2ca5f5a0943b48934e3fcbd97637d0337369c3c631aeb9614915db629f1c75c9 languageName: node linkType: hard @@ -7861,15 +6165,15 @@ __metadata: linkType: hard "react-is@npm:^18.0.0, react-is@npm:^18.1.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 languageName: node linkType: hard -"react-native-builder-bob@npm:^0.40.13": - version: 0.40.13 - resolution: "react-native-builder-bob@npm:0.40.13" +"react-native-builder-bob@npm:^0.40.13, react-native-builder-bob@npm:^0.40.15": + version: 0.40.15 + resolution: "react-native-builder-bob@npm:0.40.15" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-transform-flow-strip-types": "npm:^7.26.5" @@ -7895,28 +6199,17 @@ __metadata: yargs: "npm:^17.5.1" bin: bob: bin/bob - checksum: 10c0/ea1da4db2ab919ba237cf8e090bd80ff6ddb35ba831d224f5c6866059c5a629c8c7a38af3ab327efbb1cf9a5d56c4295ba2cf34719cba1c19f5c0862282341eb - languageName: node - linkType: hard - -"react-native-http-bridge-refurbished@npm:1.2.9": - version: 1.2.9 - resolution: "react-native-http-bridge-refurbished@npm:1.2.9" - dependencies: - react: "npm:18.2.0" - peerDependencies: - react-native: ">=0.72" - checksum: 10c0/50d77f2991a2ff7d38a17b59f1f9943f9637be9abd68ba34cc4fe744bcaa7a69e00e728b74bd5905b84fdc870b701388c85c7f27a9aaff17606521df362c8dbf + checksum: 10c0/93b6d1c6555a1c26cf6f1e1e2500d9b8c91b04074c181d4abeb0491094f40ecf9d404fa125f4748ec7b6ab2a79a11452e3d500149004da3b3dffda329852edcf languageName: node linkType: hard "react-native-monorepo-config@npm:^0.1.8, react-native-monorepo-config@npm:^0.1.9": - version: 0.1.9 - resolution: "react-native-monorepo-config@npm:0.1.9" + version: 0.1.10 + resolution: "react-native-monorepo-config@npm:0.1.10" dependencies: escape-string-regexp: "npm:^5.0.0" fast-glob: "npm:^3.3.3" - checksum: 10c0/7bff1eca0184008d145c7faa2b0556cca786d0afaf46b8ecd1d828aa5ceec3fb940223ee3db5147c16cc607c9785940fe3b4a52ac0d855f2e1d4c97d096a5635 + checksum: 10c0/fa88a725b4fe65443291fba746cccf2a3732defe6c8e1f7aab532b8345feac2b34af7fe17a28a96d30c7b9520f0f99e42962069ef8eb31acc4d33e7aa3b68a83 languageName: node linkType: hard @@ -7930,37 +6223,38 @@ __metadata: languageName: node linkType: hard -"react-native-safe-area-context@npm:^5.6.1": - version: 5.6.1 - resolution: "react-native-safe-area-context@npm:5.6.1" +"react-native-safe-area-context@npm:^5.6.1, react-native-safe-area-context@npm:^5.6.2": + version: 5.6.2 + resolution: "react-native-safe-area-context@npm:5.6.2" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/797ad7d749bd42cbec8e504d969de13e17ed48506c2fd5a639d05d78d88194c21d72b9dc4608e08a2e8edac23341802e7b4661875242dc3bdce3008cfda5bcbe + checksum: 10c0/3c8df21a1dbac83116b9c9bd5d20b7c1bb7649ecef44a111af6fb6b237241f5f4d692189eec30a69f5701b857249257da3621b9e17165460a2bb71faac7b92ae languageName: node linkType: hard -"react-native@npm:0.81.0": - version: 0.81.0 - resolution: "react-native@npm:0.81.0" +"react-native@npm:0.82.1": + version: 0.82.1 + resolution: "react-native@npm:0.82.1" dependencies: "@jest/create-cache-key-function": "npm:^29.7.0" - "@react-native/assets-registry": "npm:0.81.0" - "@react-native/codegen": "npm:0.81.0" - "@react-native/community-cli-plugin": "npm:0.81.0" - "@react-native/gradle-plugin": "npm:0.81.0" - "@react-native/js-polyfills": "npm:0.81.0" - "@react-native/normalize-colors": "npm:0.81.0" - "@react-native/virtualized-lists": "npm:0.81.0" + "@react-native/assets-registry": "npm:0.82.1" + "@react-native/codegen": "npm:0.82.1" + "@react-native/community-cli-plugin": "npm:0.82.1" + "@react-native/gradle-plugin": "npm:0.82.1" + "@react-native/js-polyfills": "npm:0.82.1" + "@react-native/normalize-colors": "npm:0.82.1" + "@react-native/virtualized-lists": "npm:0.82.1" abort-controller: "npm:^3.0.0" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" babel-jest: "npm:^29.7.0" - babel-plugin-syntax-hermes-parser: "npm:0.29.1" + babel-plugin-syntax-hermes-parser: "npm:0.32.0" base64-js: "npm:^1.5.1" commander: "npm:^12.0.0" flow-enums-runtime: "npm:^0.0.6" glob: "npm:^7.1.1" + hermes-compiler: "npm:0.0.0" invariant: "npm:^2.2.4" jest-environment-node: "npm:^29.7.0" memoize-one: "npm:^5.0.0" @@ -7979,30 +6273,21 @@ __metadata: ws: "npm:^6.2.3" yargs: "npm:^17.6.2" peerDependencies: - "@types/react": ^19.1.0 - react: ^19.1.0 + "@types/react": ^19.1.1 + react: ^19.1.1 peerDependenciesMeta: "@types/react": optional: true bin: react-native: cli.js - checksum: 10c0/fb9dddb67046c7efae12175b81a563b4c302390d5879db4e2290321205155a1f6afa7ce9355d7e5af2bfe35b0aa0d5b5c0edb1c0d47b3252939b635043efba45 + checksum: 10c0/131f58417331b90cd09bc191c42903fa55c0d9e76c4cd2916c3f553299736778614ecc9bf685400275eeb16bd00b033ba65fd4f411ba1d6d46efb95bc5e36e35 languageName: node linkType: hard "react-refresh@npm:^0.14.0": - version: 0.14.0 - resolution: "react-refresh@npm:0.14.0" - checksum: 10c0/b8ae07ad153357d77830928a7f1fc2df837aabefee907fa273ba04c7643f3b860e986f1d4b7ada9b721c8d79b8c24b5b911a314a1a2398b105f1b13d19ea2b8d - languageName: node - linkType: hard - -"react@npm:18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/b562d9b569b0cb315e44b48099f7712283d93df36b19a39a67c254c6686479d3980b7f013dc931f4a5a3ae7645eae6386b4aa5eea933baa54ecd0f9acb0902b8 + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: 10c0/875b72ef56b147a131e33f2abd6ec059d1989854b3ff438898e4f9310bfcc73acff709445b7ba843318a953cb9424bcc2c05af2b3d80011cee28f25aef3e2ebb languageName: node linkType: hard @@ -8042,21 +6327,12 @@ __metadata: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.1 - resolution: "regenerate-unicode-properties@npm:10.1.1" - dependencies: - regenerate: "npm:^1.4.2" - checksum: 10c0/89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d - languageName: node - linkType: hard - -"regenerate-unicode-properties@npm:^10.2.0": - version: 10.2.0 - resolution: "regenerate-unicode-properties@npm:10.2.0" +"regenerate-unicode-properties@npm:^10.2.2": + version: 10.2.2 + resolution: "regenerate-unicode-properties@npm:10.2.2" dependencies: regenerate: "npm:^1.4.2" - checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 + checksum: 10c0/66a1d6a1dbacdfc49afd88f20b2319a4c33cee56d245163e4d8f5f283e0f45d1085a78f7f7406dd19ea3a5dd7a7799cd020cd817c97464a7507f9d10fbdce87c languageName: node linkType: hard @@ -8074,47 +6350,17 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 - languageName: node - linkType: hard - -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" - dependencies: - "@babel/runtime": "npm:^7.8.4" - checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 - languageName: node - linkType: hard - -"regexpu-core@npm:^5.3.1": - version: 5.3.2 - resolution: "regexpu-core@npm:5.3.2" - dependencies: - "@babel/regjsgen": "npm:^0.8.0" - regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.1.0" - regjsparser: "npm:^0.9.1" - unicode-match-property-ecmascript: "npm:^2.0.0" - unicode-match-property-value-ecmascript: "npm:^2.1.0" - checksum: 10c0/7945d5ab10c8bbed3ca383d4274687ea825aee4ab93a9c51c6e31e1365edd5ea807f6908f800ba017b66c462944ba68011164e7055207747ab651f8111ef3770 - languageName: node - linkType: hard - -"regexpu-core@npm:^6.1.1": - version: 6.1.1 - resolution: "regexpu-core@npm:6.1.1" +"regexpu-core@npm:^6.3.1": + version: 6.4.0 + resolution: "regexpu-core@npm:6.4.0" dependencies: regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^10.2.0" + regenerate-unicode-properties: "npm:^10.2.2" regjsgen: "npm:^0.8.0" - regjsparser: "npm:^0.11.0" + regjsparser: "npm:^0.13.0" unicode-match-property-ecmascript: "npm:^2.0.0" - unicode-match-property-value-ecmascript: "npm:^2.1.0" - checksum: 10c0/07d49697e20f9b65977535abba4858b7f5171c13f7c366be53ec1886d3d5f69f1b98cc6a6e63cf271adda077c3366a4c851c7473c28bbd69cf5a6b6b008efc3e + unicode-match-property-value-ecmascript: "npm:^2.2.1" + checksum: 10c0/1eed9783c023dd06fb1f3ce4b6e3fdf0bc1e30cb036f30aeb2019b351e5e0b74355b40462282ea5db092c79a79331c374c7e9897e44a5ca4509e9f0b570263de languageName: node linkType: hard @@ -8125,25 +6371,14 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.11.0": - version: 0.11.1 - resolution: "regjsparser@npm:0.11.1" - dependencies: - jsesc: "npm:~3.0.2" - bin: - regjsparser: bin/parser - checksum: 10c0/be4b40981a596b31eacd84ee12cfa474f1d33a6c05f7e995e8ec9d5ad8f1c3fbf7a5b690a05c443e1f312a1c0b16d4ea0b3384596a61d4fda97aa322879bb3cd - languageName: node - linkType: hard - -"regjsparser@npm:^0.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regjsparser@npm:^0.13.0": + version: 0.13.0 + resolution: "regjsparser@npm:0.13.0" dependencies: - jsesc: "npm:~0.5.0" + jsesc: "npm:~3.1.0" bin: regjsparser: bin/parser - checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + checksum: 10c0/4702f85cda09f67747c1b2fb673a0f0e5d1ba39d55f177632265a0be471ba59e3f320623f411649141f752b126b8126eac3ff4c62d317921e430b0472bfc6071 languageName: node linkType: hard @@ -8161,13 +6396,6 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-from@npm:3.0.0" - checksum: 10c0/24affcf8e81f4c62f0dcabc774afe0e19c1f38e34e43daac0ddb409d79435fc3037f612b0cc129178b8c220442c3babd673e88e870d27215c99454566e770ebc - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -8182,29 +6410,29 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.14.2, resolve@npm:^1.22.2": - version: 1.22.8 - resolution: "resolve@npm:1.22.8" +"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.22.10, resolve@npm:^1.22.2": + version: 1.22.11 + resolution: "resolve@npm:1.22.11" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + checksum: 10c0/f657191507530f2cbecb5815b1ee99b20741ea6ee02a59c57028e9ec4c2c8d7681afcc35febbd554ac0ded459db6f2d8153382c53a2f266cee2575e512674409 languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin": - version: 1.22.8 - resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" +"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin": + version: 1.22.11 + resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.16.1" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + checksum: 10c0/ee5b182f2e37cb1165465e58c6abc797fec0a80b5ba3231607beb4677db0c9291ac010c47cf092b6daa2b7f518d69a0e21888e7e2b633f68d501a874212a8c63 languageName: node linkType: hard @@ -8226,9 +6454,9 @@ __metadata: linkType: hard "reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa languageName: node linkType: hard @@ -8282,32 +6510,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.3": - version: 7.6.3 - resolution: "semver@npm:7.6.3" +"semver@npm:^7.1.3, semver@npm:^7.3.5, semver@npm:^7.5.2": + version: 7.7.3 + resolution: "semver@npm:7.7.3" bin: semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf - languageName: node - linkType: hard - -"semver@npm:^7.3.5": - version: 7.6.0 - resolution: "semver@npm:7.6.0" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 - languageName: node - linkType: hard - -"semver@npm:^7.5.2": - version: 7.7.2 - resolution: "semver@npm:7.7.2" - bin: - semver: bin/semver.js - checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + checksum: 10c0/4afe5c986567db82f44c8c6faef8fe9df2a9b1d98098fc1721f57c696c4c21cebd572f297fc21002f81889492345b8470473bc6f4aff5fb032a6ea59ea2bc45e languageName: node linkType: hard @@ -8358,20 +6566,6 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.2.1": - version: 1.2.2 - resolution: "set-function-length@npm:1.2.2" - dependencies: - define-data-property: "npm:^1.1.4" - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-property-descriptors: "npm:^1.0.2" - checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c - languageName: node - linkType: hard - "setprototypeof@npm:1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" @@ -8395,29 +6589,58 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.6.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 10c0/8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a +"shell-quote@npm:^1.6.1, shell-quote@npm:^1.8.3": + version: 1.8.3 + resolution: "shell-quote@npm:1.8.3" + checksum: 10c0/bee87c34e1e986cfb4c30846b8e6327d18874f10b535699866f368ade11ea4ee45433d97bf5eada22c4320c27df79c3a6a7eb1bf3ecfc47f2c997d9e5e2672fd + languageName: node + linkType: hard + +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 languageName: node linkType: hard -"shell-quote@npm:^1.8.1": - version: 1.8.2 - resolution: "shell-quote@npm:1.8.2" - checksum: 10c0/85fdd44f2ad76e723d34eb72c753f04d847ab64e9f1f10677e3f518d0e5b0752a176fd805297b30bb8c3a1556ebe6e77d2288dbd7b7b0110c7e941e9e9c20ce1 +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 languageName: node linkType: hard "side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.7" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 languageName: node linkType: hard @@ -8428,13 +6651,6 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -8468,30 +6684,30 @@ __metadata: linkType: hard "socks-proxy-agent@npm:^8.0.3": - version: 8.0.3 - resolution: "socks-proxy-agent@npm:8.0.3" + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - agent-base: "npm:^7.1.1" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: 10c0/4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d + socks: "npm:^2.8.3" + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 languageName: node linkType: hard -"socks@npm:^2.7.1": - version: 2.8.1 - resolution: "socks@npm:2.8.1" +"socks@npm:^2.8.3": + version: 2.8.7 + resolution: "socks@npm:2.8.7" dependencies: - ip-address: "npm:^9.0.5" + ip-address: "npm:^10.0.1" smart-buffer: "npm:^4.2.0" - checksum: 10c0/ac77b515c260473cc7c4452f09b20939e22510ce3ae48385c516d1d5784374d5cc75be3cb18ff66cc985a7f4f2ef8fef84e984c5ec70aad58355ed59241f40a8 + checksum: 10c0/2805a43a1c4bcf9ebf6e018268d87b32b32b06fbbc1f9282573583acc155860dc361500f89c73bfbb157caa1b4ac78059eac0ef15d1811eb0ca75e0bdadbc9d2 languageName: node linkType: hard -"source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf languageName: node linkType: hard @@ -8519,13 +6735,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -8533,12 +6742,12 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" +"ssri@npm:^13.0.0": + version: 13.0.0 + resolution: "ssri@npm:13.0.0" dependencies: minipass: "npm:^7.0.3" - checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 + checksum: 10c0/405f3a531cd98b013cecb355d63555dca42fd12c7bc6671738aaa9a82882ff41cdf0ef9a2b734ca4f9a760338f114c29d01d9238a65db3ccac27929bd6e6d4b2 languageName: node linkType: hard @@ -8559,11 +6768,11 @@ __metadata: linkType: hard "stacktrace-parser@npm:^0.1.10": - version: 0.1.10 - resolution: "stacktrace-parser@npm:0.1.10" + version: 0.1.11 + resolution: "stacktrace-parser@npm:0.1.11" dependencies: type-fest: "npm:^0.7.1" - checksum: 10c0/f9c9cd55b0642a546e5f0516a87124fc496dcc2c082b96b156ed094c51e423314795cd1839cd4c59026349cf392d3414f54fc42165255602728588a58a9f72d3 + checksum: 10c0/4633d9afe8cd2f6c7fb2cebdee3cc8de7fd5f6f9736645fd08c0f66872a303061ce9cc0ccf46f4216dc94a7941b56e331012398dc0024dc25e46b5eb5d4ff018 languageName: node linkType: hard @@ -8581,7 +6790,7 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -8592,17 +6801,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -8612,15 +6810,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - "strip-ansi@npm:^5.0.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" @@ -8630,12 +6819,12 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 languageName: node linkType: hard @@ -8654,29 +6843,20 @@ __metadata: linkType: hard "sucrase@npm:^3.32.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.2" commander: "npm:^4.0.0" - glob: "npm:^10.3.10" lines-and-columns: "npm:^1.1.6" mz: "npm:^2.7.0" pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" ts-interface-checker: "npm:^0.1.9" bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c languageName: node linkType: hard @@ -8739,31 +6919,30 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.1 - resolution: "tar@npm:6.2.1" +"tar@npm:^7.5.2": + version: 7.5.2 + resolution: "tar@npm:7.5.2" dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/a7d8b801139b52f93a7e34830db0de54c5aa45487c7cb551f6f3d44a112c67f1cb8ffdae856b05fd4f17b1749911f1c26f1e3a23bbe0279e17fd96077f13f467 languageName: node linkType: hard "terser@npm:^5.15.0": - version: 5.30.2 - resolution: "terser@npm:5.30.2" + version: 5.44.1 + resolution: "terser@npm:5.44.1" dependencies: "@jridgewell/source-map": "npm:^0.3.3" - acorn: "npm:^8.8.2" + acorn: "npm:^8.15.0" commander: "npm:^2.20.0" source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/6ad6beee2b8e2fdeb8b5451acfd88802becca7f2556ef2d1891b9ae90512f68d4a0d45558ceaf535f0a7cfaa152d7a7f4832a640ce3dca1ed9c4ef84c68893ee + checksum: 10c0/ee7a76692cb39b1ed22c30ff366c33ff3c977d9bb769575338ff5664676168fcba59192fb5168ef80c7cd901ef5411a1b0351261f5eaa50decf0fc71f63bde75 languageName: node linkType: hard @@ -8803,6 +6982,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12": + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -8864,23 +7053,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.8.3": - version: 5.8.3 - resolution: "typescript@npm:5.8.3" +"typescript@npm:5.0.4": + version: 5.0.4 + resolution: "typescript@npm:5.0.4" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 + checksum: 10c0/2f5bd1cead194905957cb34e220b1d6ff1662399adef8ec1864f74620922d860ee35b6e50eafb3b636ea6fd437195e454e1146cb630a4236b5095ed7617395c2 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.8.3#optional!builtin": - version: 5.8.3 - resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=379a07" +"typescript@patch:typescript@npm%3A5.0.4#optional!builtin": + version: 5.0.4 + resolution: "typescript@patch:typescript@npm%3A5.0.4#optional!builtin::version=5.0.4&hash=b5f058" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/92ea03509e06598948559ddcdd8a4ae5a7ab475766d5589f1b796f5731b3d631a4c7ddfb86a3bd44d58d10102b132cd4b4994dda9b63e6273c66d77d6a271dbd + checksum: 10c0/c3f7b80577bddf6fab202a7925131ac733bfc414aec298c2404afcddc7a6f242cfa8395cf2d48192265052e11a7577c27f6e5fac8d8fe6a6602023c83d6b3292 languageName: node linkType: hard @@ -8891,17 +7080,17 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a languageName: node linkType: hard "unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" - checksum: 10c0/0fe812641bcfa3ae433025178a64afb5d9afebc21a922dafa7cba971deebb5e4a37350423890750132a85c936c290fb988146d0b1bd86838ad4897f4fc5bd0de + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 10c0/f83bc492fdbe662860795ef37a85910944df7310cac91bd778f1c19ebc911e8b9cde84e703de631e5a2fcca3905e39896f8fc5fc6a44ddaf7f4aff1cda24f381 languageName: node linkType: hard @@ -8915,35 +7104,35 @@ __metadata: languageName: node linkType: hard -"unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.1.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" - checksum: 10c0/f5b9499b9e0ffdc6027b744d528f17ec27dd7c15da03254ed06851feec47e0531f20d410910c8a49af4a6a190f4978413794c8d75ce112950b56d583b5d5c7f2 +"unicode-match-property-value-ecmascript@npm:^2.2.1": + version: 2.2.1 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" + checksum: 10c0/93acd1ad9496b600e5379d1aaca154cf551c5d6d4a0aefaf0984fc2e6288e99220adbeb82c935cde461457fb6af0264a1774b8dfd4d9a9e31548df3352a4194d languageName: node linkType: hard "unicode-property-aliases-ecmascript@npm:^2.0.0": - version: 2.1.0 - resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" - checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + version: 2.2.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.2.0" + checksum: 10c0/b338529831c988ac696f2bdbcd4579d1c5cc844b24eda7269973c457fa81989bdb49a366af37a448eb1a60f1dae89559ea2a5854db2797e972a0162eee0778c6 languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" +"unique-filename@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-filename@npm:5.0.0" dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + unique-slug: "npm:^6.0.0" + checksum: 10c0/afb897e9cf4c2fb622ea716f7c2bb462001928fc5f437972213afdf1cc32101a230c0f1e9d96fc91ee5185eca0f2feb34127145874975f347be52eb91d6ccc2c languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" +"unique-slug@npm:^6.0.0": + version: 6.0.0 + resolution: "unique-slug@npm:6.0.0" dependencies: imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + checksum: 10c0/da7ade4cb04eb33ad0499861f82fe95ce9c7c878b7139dc54d140ecfb6a6541c18a5c8dac16188b8b379fe62c0c1f1b710814baac910cde5f4fec06212126c6a languageName: node linkType: hard @@ -8968,54 +7157,26 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.13": - version: 1.0.13 - resolution: "update-browserslist-db@npm:1.0.13" - dependencies: - escalade: "npm:^3.1.1" - picocolors: "npm:^1.0.0" - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.1.0": - version: 1.1.0 - resolution: "update-browserslist-db@npm:1.1.0" - dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" +"update-browserslist-db@npm:^1.1.4": + version: 1.1.4 + resolution: "update-browserslist-db@npm:1.1.4" dependencies: escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 + checksum: 10c0/db0c9aaecf1258a6acda5e937fc27a7996ccca7a7580a1b4aa8bba6a9b0e283e5e65c49ebbd74ec29288ef083f1b88d4da13e3d4d326c1e5fc55bf72d7390702 languageName: node linkType: hard "use-sync-external-store@npm:^1.1.0": - version: 1.2.0 - resolution: "use-sync-external-store@npm:1.2.0" + version: 1.6.0 + resolution: "use-sync-external-store@npm:1.6.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/ac4814e5592524f242921157e791b022efe36e451fe0d4fd4d204322d5433a4fc300d63b0ade5185f8e0735ded044c70bcf6d2352db0f74d097a238cebd2da02 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/35e1179f872a53227bdf8a827f7911da4c37c0f4091c29b76b1e32473d1670ebe7bcd880b808b7549ba9a5605c233350f800ffab963ee4a4ee346ee983b6019b languageName: node linkType: hard @@ -9090,25 +7251,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" +"which@npm:^6.0.0": + version: 6.0.0 + resolution: "which@npm:6.0.0" dependencies: isexe: "npm:^3.1.1" bin: node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + checksum: 10c0/fe9d6463fe44a76232bb6e3b3181922c87510a5b250a98f1e43a69c99c079b3f42ddeca7e03d3e5f2241bf2d334f5a7657cfa868b97c109f3870625842f4cc15 languageName: node linkType: hard @@ -9123,14 +7273,14 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da languageName: node linkType: hard @@ -9160,22 +7310,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7": - version: 7.5.9 - resolution: "ws@npm:7.5.9" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/aec4ef4eb65821a7dde7b44790f8699cfafb7978c9b080f6d7a98a7f8fc0ce674c027073a78574c94786ba7112cc90fa2cc94fc224ceba4d4b1030cff9662494 - languageName: node - linkType: hard - -"ws@npm:^7.5.10": +"ws@npm:^7, ws@npm:^7.5.10": version: 7.5.10 resolution: "ws@npm:7.5.10" peerDependencies: @@ -9218,21 +7353,19 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.1": - version: 2.8.0 - resolution: "yaml@npm:2.8.0" - bin: - yaml: bin.mjs - checksum: 10c0/f6f7310cf7264a8107e72c1376f4de37389945d2fb4656f8060eca83f01d2d703f9d1b925dd8f39852a57034fafefde6225409ddd9f22aebfda16c6141b71858 +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 languageName: node linkType: hard -"yaml@npm:^2.3.4": - version: 2.4.1 - resolution: "yaml@npm:2.4.1" +"yaml@npm:^2.2.1, yaml@npm:^2.3.4, yaml@npm:^2.6.1": + version: 2.8.1 + resolution: "yaml@npm:2.8.1" bin: yaml: bin.mjs - checksum: 10c0/816057dbaea16a7dfb0b868ace930f143dece96bbb4c4fbb6f38aa389166f897240d9fa535dbfd6b1b0d9442416f4abcc698e63f82394d0c67b329aa6c2be576 + checksum: 10c0/7c587be00d9303d2ae1566e03bc5bc7fe978ba0d9bf39cc418c3139d37929dfcb93a230d9749f2cb578b6aa5d9ebebc322415e4b653cb83acd8bc0bc321707f3 languageName: node linkType: hard