mirror of
https://github.com/EthanShoeDev/fressh.git
synced 2026-01-11 14:22:51 +00:00
add calc getting started to main app
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
"@dylankenneally/react-native-ssh-sftp": "^1.5.20",
|
||||
"@expo/vector-icons": "^15.0.2",
|
||||
"@fressh/assets": "workspace:*",
|
||||
"@fressh/react-native-uniffi-russh": "workspace:*",
|
||||
"@react-native-picker/picker": "2.11.1",
|
||||
"@react-native-segmented-control/segmented-control": "2.5.7",
|
||||
"@react-navigation/bottom-tabs": "^7.4.0",
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
secretsManager,
|
||||
} from '../lib/secrets-manager';
|
||||
import { sshConnectionManager } from '../lib/ssh-connection-manager';
|
||||
|
||||
import { result } from '../lib/test-uniffi-russh';
|
||||
const defaultValues: ConnectionDetails = {
|
||||
host: 'test.rebex.net',
|
||||
port: 22,
|
||||
@@ -119,7 +119,9 @@ export default function Index() {
|
||||
>
|
||||
<View style={styles.header}>
|
||||
<Text style={styles.appName}>fressh</Text>
|
||||
<Text style={styles.appTagline}>A fast, friendly SSH client</Text>
|
||||
<Text style={styles.appTagline}>
|
||||
A fast, friendly SSH client {result}
|
||||
</Text>
|
||||
</View>
|
||||
<View style={styles.card}>
|
||||
<Text style={styles.title}>Connect to SSH Server</Text>
|
||||
|
||||
32
apps/mobile/src/lib/test-uniffi-russh.ts
Normal file
32
apps/mobile/src/lib/test-uniffi-russh.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import {
|
||||
Calculator,
|
||||
type BinaryOperator,
|
||||
SafeAddition,
|
||||
type ComputationResult,
|
||||
} from '@fressh/react-native-uniffi-russh';
|
||||
|
||||
const calculator = new Calculator();
|
||||
|
||||
const addOp = new SafeAddition();
|
||||
|
||||
class SafeMultiply implements BinaryOperator {
|
||||
perform(lhs: bigint, rhs: bigint): bigint {
|
||||
return lhs * rhs;
|
||||
}
|
||||
}
|
||||
|
||||
const multOp = new SafeMultiply();
|
||||
|
||||
// bigints
|
||||
const three = 3n;
|
||||
const seven = 7n;
|
||||
|
||||
// Perform the calculation, and to get an object
|
||||
// representing the computation result.
|
||||
const computation: ComputationResult = calculator
|
||||
.calculate(addOp, three, three)
|
||||
.calculateMore(multOp, seven)
|
||||
.lastResult()!;
|
||||
|
||||
// Unpack the bigint value into a string.
|
||||
export const result = computation.value.toString();
|
||||
@@ -35,6 +35,9 @@
|
||||
build-tools-36-0-0
|
||||
platforms-android-36
|
||||
system-images-android-36-0-Baklava-google-apis-playstore-x86-64
|
||||
# Add NDK + CMake for native builds
|
||||
ndk-26-1-10909125
|
||||
cmake-3-22-1
|
||||
])
|
||||
else if mode == "remote" then
|
||||
(with sdk; [
|
||||
|
||||
@@ -84,3 +84,7 @@ android/generated
|
||||
|
||||
# React Native Nitro Modules
|
||||
nitrogen/
|
||||
|
||||
# From uniffi-bindgen-react-native
|
||||
rust_modules/
|
||||
*.a
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 EthanShoeDev
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
76
packages/react-native-uniffi-russh/android/CMakeLists.txt
Normal file
76
packages/react-native-uniffi-russh/android/CMakeLists.txt
Normal file
@@ -0,0 +1,76 @@
|
||||
# Generated by uniffi-bindgen-react-native
|
||||
cmake_minimum_required(VERSION 3.9.0)
|
||||
project(UniffiRussh)
|
||||
|
||||
set (CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set (CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# Resolve the path to the uniffi-bindgen-react-native package
|
||||
execute_process(
|
||||
COMMAND node -p "require.resolve('uniffi-bindgen-react-native/package.json')"
|
||||
OUTPUT_VARIABLE UNIFFI_BINDGEN_PATH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
# Get the directory; get_filename_component and cmake_path will normalize
|
||||
# paths with Windows path separators.
|
||||
get_filename_component(UNIFFI_BINDGEN_PATH "${UNIFFI_BINDGEN_PATH}" DIRECTORY)
|
||||
|
||||
# Specifies a path to native header files.
|
||||
include_directories(
|
||||
../cpp
|
||||
../cpp/generated
|
||||
|
||||
${UNIFFI_BINDGEN_PATH}/cpp/includes
|
||||
)
|
||||
|
||||
add_library(react-native-uniffi-russh SHARED
|
||||
../cpp/react-native-uniffi-russh.cpp
|
||||
../cpp/generated/foobar.cpp
|
||||
cpp-adapter.cpp
|
||||
)
|
||||
|
||||
# Set C++ compiler flags
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-all")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
||||
|
||||
cmake_path(
|
||||
SET MY_RUST_LIB
|
||||
${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libfoobar.a
|
||||
NORMALIZE
|
||||
)
|
||||
add_library(my_rust_lib STATIC IMPORTED)
|
||||
set_target_properties(my_rust_lib PROPERTIES IMPORTED_LOCATION ${MY_RUST_LIB})
|
||||
|
||||
# Add ReactAndroid libraries, being careful to account for different versions.
|
||||
find_package(ReactAndroid REQUIRED CONFIG)
|
||||
find_library(LOGCAT log)
|
||||
|
||||
# REACTNATIVE_MERGED_SO seems to be only be set in a build.gradle.kt file,
|
||||
# which we don't use. Thus falling back to version number sniffing.
|
||||
if (ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
||||
set(REACTNATIVE_MERGED_SO true)
|
||||
endif()
|
||||
|
||||
# https://github.com/react-native-community/discussions-and-proposals/discussions/816
|
||||
# This if-then-else can be removed once this library does not support version below 0.76
|
||||
if (REACTNATIVE_MERGED_SO)
|
||||
target_link_libraries(react-native-uniffi-russh ReactAndroid::reactnative)
|
||||
else()
|
||||
target_link_libraries(react-native-uniffi-russh
|
||||
ReactAndroid::turbomodulejsijni
|
||||
ReactAndroid::react_nativemodule_core
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(fbjni REQUIRED CONFIG)
|
||||
target_link_libraries(
|
||||
react-native-uniffi-russh
|
||||
fbjni::fbjni
|
||||
ReactAndroid::jsi
|
||||
${LOGCAT}
|
||||
my_rust_lib
|
||||
)
|
||||
@@ -1,7 +1,8 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
|
||||
buildscript {
|
||||
ext.getExtOrDefault = {name ->
|
||||
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['UniffiRussh_' + name]
|
||||
}
|
||||
// Buildscript is evaluated before everything else so we can't use getExtOrDefault
|
||||
def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["DummyLibForAndroid_kotlinVersion"]
|
||||
|
||||
repositories {
|
||||
google()
|
||||
@@ -9,30 +10,83 @@ buildscript {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath "com.android.tools.build:gradle:8.7.2"
|
||||
classpath "com.android.tools.build:gradle:7.2.1"
|
||||
// noinspection DifferentKotlinGradleVersion
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
|
||||
def reactNativeArchitectures() {
|
||||
def value = rootProject.getProperties().get("reactNativeArchitectures")
|
||||
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
|
||||
}
|
||||
|
||||
def isNewArchitectureEnabled() {
|
||||
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
||||
}
|
||||
|
||||
apply plugin: "com.android.library"
|
||||
apply plugin: "kotlin-android"
|
||||
|
||||
apply plugin: "com.facebook.react"
|
||||
if (isNewArchitectureEnabled()) {
|
||||
apply plugin: "com.facebook.react"
|
||||
}
|
||||
|
||||
def getExtOrDefault(name) {
|
||||
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["UniffiRussh_" + name]
|
||||
}
|
||||
|
||||
def getExtOrIntegerDefault(name) {
|
||||
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["UniffiRussh_" + name]).toInteger()
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "com.uniffirussh"
|
||||
def supportsNamespace() {
|
||||
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
||||
def major = parsed[0].toInteger()
|
||||
def minor = parsed[1].toInteger()
|
||||
|
||||
// Namespace support was added in 7.3.0
|
||||
return (major == 7 && minor >= 3) || major >= 8
|
||||
}
|
||||
|
||||
android {
|
||||
if (supportsNamespace()) {
|
||||
namespace "com.uniffirussh"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile "src/main/AndroidManifestNew.xml"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ndkVersion getExtOrDefault("ndkVersion")
|
||||
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
||||
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
||||
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
||||
consumerProguardFiles 'proguard-rules.pro'
|
||||
|
||||
buildFeatures {
|
||||
prefab true
|
||||
}
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments '-DANDROID_STL=c++_shared'
|
||||
abiFilters (*reactNativeArchitectures())
|
||||
}
|
||||
}
|
||||
ndk {
|
||||
abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64"
|
||||
}
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path "CMakeLists.txt"
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
@@ -56,10 +110,12 @@ android {
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs += [
|
||||
"generated/java",
|
||||
"generated/jni"
|
||||
]
|
||||
if (isNewArchitectureEnabled()) {
|
||||
java.srcDirs += [
|
||||
"generated/java",
|
||||
"generated/jni"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -72,6 +128,17 @@ repositories {
|
||||
def kotlin_version = getExtOrDefault("kotlinVersion")
|
||||
|
||||
dependencies {
|
||||
implementation "com.facebook.react:react-android"
|
||||
// For < 0.71, this will be from the local maven repo
|
||||
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
||||
//noinspection GradleDynamicVersion
|
||||
implementation "com.facebook.react:react-native:+"
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
}
|
||||
|
||||
if (isNewArchitectureEnabled()) {
|
||||
react {
|
||||
jsRootDir = file("../src/")
|
||||
libraryName = "UniffiRussh"
|
||||
codegenJavaPackageName = "com.uniffirussh"
|
||||
}
|
||||
}
|
||||
|
||||
63
packages/react-native-uniffi-russh/android/cpp-adapter.cpp
Normal file
63
packages/react-native-uniffi-russh/android/cpp-adapter.cpp
Normal file
@@ -0,0 +1,63 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
#include <jni.h>
|
||||
#include <jsi/jsi.h>
|
||||
#include <ReactCommon/CallInvokerHolder.h>
|
||||
#include "react-native-uniffi-russh.h"
|
||||
|
||||
namespace jsi = facebook::jsi;
|
||||
namespace react = facebook::react;
|
||||
|
||||
// Automated testing checks Java_com_uniffirussh_UniffiRusshModule and uniffirussh
|
||||
// by comparing the whole line here.
|
||||
/*
|
||||
Java_com_uniffirussh_UniffiRusshModule_nativeMultiply(JNIEnv *env, jclass type, jdouble a, jdouble b) {
|
||||
return uniffirussh::multiply(a, b);
|
||||
}
|
||||
*/
|
||||
|
||||
// Installer coming from UniffiRusshModule
|
||||
extern "C"
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_uniffirussh_UniffiRusshModule_nativeInstallRustCrate(
|
||||
JNIEnv *env,
|
||||
jclass type,
|
||||
jlong rtPtr,
|
||||
jobject callInvokerHolderJavaObj
|
||||
) {
|
||||
// https://github.com/realm/realm-js/blob/main/packages/realm/binding/android/src/main/cpp/io_realm_react_RealmReactModule.cpp#L122-L145
|
||||
// React Native uses the fbjni library for handling JNI, which has the concept of "hybrid objects",
|
||||
// which are Java objects containing a pointer to a C++ object. The CallInvokerHolder, which has the
|
||||
// invokeAsync method we want access to, is one such hybrid object.
|
||||
// Rather than reworking our code to use fbjni throughout, this code unpacks the C++ object from the Java
|
||||
// object `callInvokerHolderJavaObj` manually, based on reverse engineering the fbjni code.
|
||||
|
||||
// 1. Get the Java object referred to by the mHybridData field of the Java holder object
|
||||
auto callInvokerHolderClass = env->GetObjectClass(callInvokerHolderJavaObj);
|
||||
auto hybridDataField = env->GetFieldID(callInvokerHolderClass, "mHybridData", "Lcom/facebook/jni/HybridData;");
|
||||
auto hybridDataObj = env->GetObjectField(callInvokerHolderJavaObj, hybridDataField);
|
||||
|
||||
// 2. Get the destructor Java object referred to by the mDestructor field from the myHybridData Java object
|
||||
auto hybridDataClass = env->FindClass("com/facebook/jni/HybridData");
|
||||
auto destructorField =
|
||||
env->GetFieldID(hybridDataClass, "mDestructor", "Lcom/facebook/jni/HybridData$Destructor;");
|
||||
auto destructorObj = env->GetObjectField(hybridDataObj, destructorField);
|
||||
|
||||
// 3. Get the mNativePointer field from the mDestructor Java object
|
||||
auto destructorClass = env->FindClass("com/facebook/jni/HybridData$Destructor");
|
||||
auto nativePointerField = env->GetFieldID(destructorClass, "mNativePointer", "J");
|
||||
auto nativePointerValue = env->GetLongField(destructorObj, nativePointerField);
|
||||
|
||||
// 4. Cast the mNativePointer back to its C++ type
|
||||
auto nativePointer = reinterpret_cast<facebook::react::CallInvokerHolder*>(nativePointerValue);
|
||||
auto jsCallInvoker = nativePointer->getCallInvoker();
|
||||
|
||||
auto runtime = reinterpret_cast<jsi::Runtime *>(rtPtr);
|
||||
return uniffirussh::installRustCrate(*runtime, jsCallInvoker);
|
||||
}
|
||||
|
||||
extern "C"
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_uniffirussh_UniffiRusshModule_nativeCleanupRustCrate(JNIEnv *env, jclass type, jlong rtPtr) {
|
||||
auto runtime = reinterpret_cast<jsi::Runtime *>(rtPtr);
|
||||
return uniffirussh::cleanupRustCrate(*runtime);
|
||||
}
|
||||
@@ -1,2 +1,5 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<!-- Generated by uniffi-bindgen-react-native -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.uniffirussh">
|
||||
</manifest>
|
||||
@@ -0,0 +1,43 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
package com.uniffirussh
|
||||
|
||||
import com.facebook.react.bridge.ReactApplicationContext
|
||||
import com.facebook.react.module.annotations.ReactModule
|
||||
import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder
|
||||
|
||||
@ReactModule(name = UniffiRusshModule.NAME)
|
||||
class UniffiRusshModule(reactContext: ReactApplicationContext) :
|
||||
NativeUniffiRusshSpec(reactContext) {
|
||||
|
||||
override fun getName(): String {
|
||||
return NAME
|
||||
}
|
||||
|
||||
// Two native methods implemented in cpp-adapter.cpp, and ultimately
|
||||
// react-native-uniffi-russh.cpp
|
||||
|
||||
external fun nativeInstallRustCrate(runtimePointer: Long, callInvoker: CallInvokerHolder): Boolean
|
||||
external fun nativeCleanupRustCrate(runtimePointer: Long): Boolean
|
||||
|
||||
override fun installRustCrate(): Boolean {
|
||||
val context = this.reactApplicationContext
|
||||
return nativeInstallRustCrate(
|
||||
context.javaScriptContextHolder!!.get(),
|
||||
context.jsCallInvokerHolder!!
|
||||
)
|
||||
}
|
||||
|
||||
override fun cleanupRustCrate(): Boolean {
|
||||
return nativeCleanupRustCrate(
|
||||
this.reactApplicationContext.javaScriptContextHolder!!.get()
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val NAME = "UniffiRussh"
|
||||
|
||||
init {
|
||||
System.loadLibrary("react-native-uniffi-russh")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
package com.uniffirussh
|
||||
|
||||
import com.facebook.react.TurboReactPackage
|
||||
import com.facebook.react.bridge.NativeModule
|
||||
import com.facebook.react.bridge.ReactApplicationContext
|
||||
import com.facebook.react.module.model.ReactModuleInfo
|
||||
import com.facebook.react.module.model.ReactModuleInfoProvider
|
||||
import java.util.HashMap
|
||||
|
||||
class UniffiRusshPackage : TurboReactPackage() {
|
||||
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
||||
return if (name == UniffiRusshModule.NAME) {
|
||||
UniffiRusshModule(reactContext)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
||||
return ReactModuleInfoProvider {
|
||||
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
||||
moduleInfos[UniffiRusshModule.NAME] = ReactModuleInfo(
|
||||
UniffiRusshModule.NAME,
|
||||
UniffiRusshModule.NAME,
|
||||
false, // canOverrideExistingModule
|
||||
false, // needsEagerInit
|
||||
false, // isCxxModule
|
||||
true // isTurboModule
|
||||
)
|
||||
moduleInfos
|
||||
}
|
||||
}
|
||||
}
|
||||
2965
packages/react-native-uniffi-russh/cpp/generated/foobar.cpp
Normal file
2965
packages/react-native-uniffi-russh/cpp/generated/foobar.cpp
Normal file
File diff suppressed because it is too large
Load Diff
85
packages/react-native-uniffi-russh/cpp/generated/foobar.hpp
Normal file
85
packages/react-native-uniffi-russh/cpp/generated/foobar.hpp
Normal file
@@ -0,0 +1,85 @@
|
||||
// This file was autogenerated by some hot garbage in the `uniffi-bindgen-react-native` crate.
|
||||
// Trust me, you don't want to mess with it!
|
||||
#pragma once
|
||||
#include <jsi/jsi.h>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <ReactCommon/CallInvoker.h>
|
||||
#include "UniffiCallInvoker.h"
|
||||
|
||||
namespace react = facebook::react;
|
||||
namespace jsi = facebook::jsi;
|
||||
|
||||
class NativeFoobar : public jsi::HostObject {
|
||||
private:
|
||||
// For calling back into JS from Rust.
|
||||
std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker;
|
||||
|
||||
protected:
|
||||
std::map<std::string,jsi::Value> props;
|
||||
jsi::Value cpp_uniffi_internal_fn_func_ffi__string_to_byte_length(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_internal_fn_func_ffi__string_to_arraybuffer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_internal_fn_func_ffi__arraybuffer_to_string(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_clone_binaryoperator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_free_binaryoperator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_init_callback_vtable_binaryoperator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_method_binaryoperator_perform(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_clone_calculator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_free_calculator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_constructor_calculator_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_method_calculator_calculate(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_method_calculator_calculate_more(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_method_calculator_last_result(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_clone_safeaddition(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_free_safeaddition(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_constructor_safeaddition_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_method_safeaddition_perform(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_clone_safedivision(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_free_safedivision(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_constructor_safedivision_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_method_safedivision_perform(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_func_safe_addition_operator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_fn_func_safe_division_operator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_func_safe_addition_operator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_func_safe_division_operator(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_method_binaryoperator_perform(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_method_calculator_calculate(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_method_calculator_calculate_more(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_method_calculator_last_result(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_method_safeaddition_perform(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_method_safedivision_perform(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_constructor_calculator_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_constructor_safeaddition_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_foobar_checksum_constructor_safedivision_new(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_ffi_foobar_uniffi_contract_version(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_internal_fn_method_binaryoperator_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_internal_fn_method_calculator_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_internal_fn_method_safeaddition_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
jsi::Value cpp_uniffi_internal_fn_method_safedivision_ffi__bless_pointer(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count);
|
||||
|
||||
public:
|
||||
NativeFoobar(jsi::Runtime &rt, std::shared_ptr<uniffi_runtime::UniffiCallInvoker> callInvoker);
|
||||
virtual ~NativeFoobar();
|
||||
|
||||
/**
|
||||
* The entry point into the crate.
|
||||
*
|
||||
* React Native must call `NativeFoobar.registerModule(rt, callInvoker)` before using
|
||||
* the Javascript interface.
|
||||
*/
|
||||
static void registerModule(jsi::Runtime &rt, std::shared_ptr<react::CallInvoker> callInvoker);
|
||||
|
||||
/**
|
||||
* Some cleanup into the crate goes here.
|
||||
*
|
||||
* Current implementation is empty, however, this is not guaranteed to always be the case.
|
||||
*
|
||||
* Clients should call `NativeFoobar.unregisterModule(rt)` after final use where possible.
|
||||
*/
|
||||
static void unregisterModule(jsi::Runtime &rt);
|
||||
|
||||
virtual jsi::Value get(jsi::Runtime& rt, const jsi::PropNameID& name);
|
||||
virtual void set(jsi::Runtime& rt,const jsi::PropNameID& name,const jsi::Value& value);
|
||||
virtual std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& rt);
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
#include "react-native-uniffi-russh.h"
|
||||
#include "generated/foobar.hpp"
|
||||
|
||||
namespace uniffirussh {
|
||||
using namespace facebook;
|
||||
|
||||
uint8_t installRustCrate(jsi::Runtime &runtime, std::shared_ptr<react::CallInvoker> callInvoker) {
|
||||
NativeFoobar::registerModule(runtime, callInvoker);
|
||||
return true;
|
||||
}
|
||||
|
||||
uint8_t cleanupRustCrate(jsi::Runtime &runtime) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#ifndef UNIFFIRUSSH_H
|
||||
#define UNIFFIRUSSH_H
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
#include <cstdint>
|
||||
#include <jsi/jsi.h>
|
||||
#include <ReactCommon/CallInvoker.h>
|
||||
|
||||
namespace uniffirussh {
|
||||
using namespace facebook;
|
||||
|
||||
uint8_t installRustCrate(jsi::Runtime &runtime, std::shared_ptr<react::CallInvoker> callInvoker);
|
||||
uint8_t cleanupRustCrate(jsi::Runtime &runtime);
|
||||
}
|
||||
|
||||
#endif /* UNIFFIRUSSH_H */
|
||||
@@ -24,6 +24,6 @@ export default defineConfig([
|
||||
},
|
||||
},
|
||||
{
|
||||
ignores: ['node_modules/', 'lib/'],
|
||||
ignores: ['node_modules/', 'lib/', 'src/generated/'],
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "react-native-uniffi-russh",
|
||||
"version": "0.1.0",
|
||||
"name": "@fressh/react-native-uniffi-russh",
|
||||
"description": "Uniffi bindings for russh",
|
||||
"version": "0.0.1",
|
||||
"main": "./lib/module/index.js",
|
||||
"types": "./lib/typescript/src/index.d.ts",
|
||||
"exports": {
|
||||
@@ -33,7 +33,7 @@
|
||||
],
|
||||
"scripts": {
|
||||
"ubrn:ios": "ubrn build ios --and-generate && (cd example/ios && pod install)",
|
||||
"ubrn:android": "ubrn build android --and-generate",
|
||||
"ubrn:android": "ubrn build android --and-generate --release",
|
||||
"ubrn:web": "ubrn build web",
|
||||
"ubrn:checkout": "ubrn checkout",
|
||||
"ubrn:clean": "rm -rfv cpp/ android/CMakeLists.txt android/src/main/java android/*.cpp ios/ src/Native* src/index.*ts* src/generated/",
|
||||
@@ -54,16 +54,10 @@
|
||||
"url": "git+https://github.com/EthanShoeDev/fressh.git"
|
||||
},
|
||||
"author": "EthanShoeDev <13422990+EthanShoeDev@users.noreply.github.com> (https://github.com/EthanShoeDev)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/EthanShoeDev/fressh/issues"
|
||||
},
|
||||
"homepage": "https://github.com/EthanShoeDev/fressh#readme",
|
||||
"publishConfig": {
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/config-conventional": "^19.8.1",
|
||||
"@eslint/compat": "^1.3.2",
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "^9.35.0",
|
||||
@@ -73,7 +67,6 @@
|
||||
"@release-it/conventional-changelog": "^10.0.1",
|
||||
"@types/jest": "^29.5.14",
|
||||
"@types/react": "^19.1.0",
|
||||
"commitlint": "^19.8.1",
|
||||
"del-cli": "^6.0.0",
|
||||
"eslint": "^9.35.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
@@ -91,9 +84,6 @@
|
||||
"react": "*",
|
||||
"react-native": "*"
|
||||
},
|
||||
"workspaces": [
|
||||
"example"
|
||||
],
|
||||
"packageManager": "pnpm@10.15.1",
|
||||
"jest": {
|
||||
"preset": "react-native",
|
||||
@@ -102,30 +92,6 @@
|
||||
"<rootDir>/lib/"
|
||||
]
|
||||
},
|
||||
"commitlint": {
|
||||
"extends": [
|
||||
"@commitlint/config-conventional"
|
||||
]
|
||||
},
|
||||
"release-it": {
|
||||
"git": {
|
||||
"commitMessage": "chore: release ${version}",
|
||||
"tagName": "v${version}"
|
||||
},
|
||||
"npm": {
|
||||
"publish": true
|
||||
},
|
||||
"github": {
|
||||
"release": true
|
||||
},
|
||||
"plugins": {
|
||||
"@release-it/conventional-changelog": {
|
||||
"preset": {
|
||||
"name": "angular"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"prettier": {
|
||||
"quoteProps": "consistent",
|
||||
"singleQuote": true,
|
||||
|
||||
10
packages/react-native-uniffi-russh/src/NativeUniffiRussh.ts
Normal file
10
packages/react-native-uniffi-russh/src/NativeUniffiRussh.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
import type { TurboModule } from 'react-native';
|
||||
import { TurboModuleRegistry } from 'react-native';
|
||||
|
||||
export interface Spec extends TurboModule {
|
||||
installRustCrate(): boolean;
|
||||
cleanupRustCrate(): boolean;
|
||||
}
|
||||
|
||||
export default TurboModuleRegistry.getEnforcing<Spec>('UniffiRussh');
|
||||
306
packages/react-native-uniffi-russh/src/generated/foobar-ffi.ts
Normal file
306
packages/react-native-uniffi-russh/src/generated/foobar-ffi.ts
Normal file
@@ -0,0 +1,306 @@
|
||||
// This file was autogenerated by some hot garbage in the `uniffi-bindgen-react-native` crate.
|
||||
// Trust me, you don't want to mess with it!
|
||||
|
||||
import {
|
||||
type StructuralEquality as UniffiStructuralEquality,
|
||||
type UniffiForeignFuture as RuntimeUniffiForeignFuture,
|
||||
type UniffiRustCallStatus,
|
||||
type UniffiRustArcPtr,
|
||||
type UniffiRustFutureContinuationCallback as RuntimeUniffiRustFutureContinuationCallback,
|
||||
type UniffiResult,
|
||||
} from 'uniffi-bindgen-react-native';
|
||||
|
||||
interface NativeModuleInterface {
|
||||
ubrn_uniffi_internal_fn_func_ffi__string_to_byte_length(
|
||||
string: string,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): number;
|
||||
ubrn_uniffi_internal_fn_func_ffi__string_to_arraybuffer(
|
||||
string: string,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): Uint8Array;
|
||||
ubrn_uniffi_internal_fn_func_ffi__arraybuffer_to_string(
|
||||
buffer: Uint8Array,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): string;
|
||||
ubrn_uniffi_foobar_fn_clone_binaryoperator(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_free_binaryoperator(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): void;
|
||||
ubrn_uniffi_foobar_fn_init_callback_vtable_binaryoperator(
|
||||
vtable: UniffiVTableCallbackInterfaceBinaryOperator
|
||||
): void;
|
||||
ubrn_uniffi_foobar_fn_method_binaryoperator_perform(
|
||||
ptr: bigint,
|
||||
lhs: bigint,
|
||||
rhs: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_clone_calculator(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_free_calculator(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): void;
|
||||
ubrn_uniffi_foobar_fn_constructor_calculator_new(
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_method_calculator_calculate(
|
||||
ptr: bigint,
|
||||
op: bigint,
|
||||
lhs: bigint,
|
||||
rhs: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_method_calculator_calculate_more(
|
||||
ptr: bigint,
|
||||
op: bigint,
|
||||
rhs: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_method_calculator_last_result(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): Uint8Array;
|
||||
ubrn_uniffi_foobar_fn_clone_safeaddition(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_free_safeaddition(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): void;
|
||||
ubrn_uniffi_foobar_fn_constructor_safeaddition_new(
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_method_safeaddition_perform(
|
||||
ptr: bigint,
|
||||
lhs: bigint,
|
||||
rhs: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_clone_safedivision(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_free_safedivision(
|
||||
ptr: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): void;
|
||||
ubrn_uniffi_foobar_fn_constructor_safedivision_new(
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_method_safedivision_perform(
|
||||
ptr: bigint,
|
||||
lhs: bigint,
|
||||
rhs: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_func_safe_addition_operator(
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_fn_func_safe_division_operator(
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): bigint;
|
||||
ubrn_uniffi_foobar_checksum_func_safe_addition_operator(): number;
|
||||
ubrn_uniffi_foobar_checksum_func_safe_division_operator(): number;
|
||||
ubrn_uniffi_foobar_checksum_method_binaryoperator_perform(): number;
|
||||
ubrn_uniffi_foobar_checksum_method_calculator_calculate(): number;
|
||||
ubrn_uniffi_foobar_checksum_method_calculator_calculate_more(): number;
|
||||
ubrn_uniffi_foobar_checksum_method_calculator_last_result(): number;
|
||||
ubrn_uniffi_foobar_checksum_method_safeaddition_perform(): number;
|
||||
ubrn_uniffi_foobar_checksum_method_safedivision_perform(): number;
|
||||
ubrn_uniffi_foobar_checksum_constructor_calculator_new(): number;
|
||||
ubrn_uniffi_foobar_checksum_constructor_safeaddition_new(): number;
|
||||
ubrn_uniffi_foobar_checksum_constructor_safedivision_new(): number;
|
||||
ubrn_ffi_foobar_uniffi_contract_version(): number;
|
||||
ubrn_uniffi_internal_fn_method_binaryoperator_ffi__bless_pointer(
|
||||
pointer: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): UniffiRustArcPtr;
|
||||
ubrn_uniffi_internal_fn_method_calculator_ffi__bless_pointer(
|
||||
pointer: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): UniffiRustArcPtr;
|
||||
ubrn_uniffi_internal_fn_method_safeaddition_ffi__bless_pointer(
|
||||
pointer: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): UniffiRustArcPtr;
|
||||
ubrn_uniffi_internal_fn_method_safedivision_ffi__bless_pointer(
|
||||
pointer: bigint,
|
||||
uniffi_out_err: UniffiRustCallStatus
|
||||
): UniffiRustArcPtr;
|
||||
}
|
||||
|
||||
// Casting globalThis to any allows us to look for `NativeFoobar`
|
||||
// if it was added via JSI.
|
||||
//
|
||||
// We use a getter here rather than simply `globalThis.NativeFoobar` so that
|
||||
// if/when the startup sequence isn't just so, an empty value isn't inadvertantly cached.
|
||||
const getter: () => NativeModuleInterface = () =>
|
||||
(globalThis as any).NativeFoobar;
|
||||
export default getter;
|
||||
|
||||
// Structs and function types for calling back into Typescript from Rust.
|
||||
export type UniffiRustFutureContinuationCallback = (
|
||||
data: bigint,
|
||||
pollResult: number
|
||||
) => void;
|
||||
type UniffiForeignFutureFree = (handle: bigint) => void;
|
||||
type UniffiCallbackInterfaceFree = (handle: bigint) => void;
|
||||
export type UniffiForeignFuture = {
|
||||
handle: bigint;
|
||||
free: UniffiForeignFutureFree;
|
||||
};
|
||||
export type UniffiForeignFutureStructU8 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteU8 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructU8
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructI8 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteI8 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructI8
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructU16 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteU16 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructU16
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructI16 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteI16 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructI16
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructU32 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteU32 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructU32
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructI32 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteI32 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructI32
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructU64 = {
|
||||
returnValue: bigint;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteU64 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructU64
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructI64 = {
|
||||
returnValue: bigint;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteI64 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructI64
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructF32 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteF32 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructF32
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructF64 = {
|
||||
returnValue: number;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteF64 = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructF64
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructPointer = {
|
||||
returnValue: bigint;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompletePointer = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructPointer
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructRustBuffer = {
|
||||
returnValue: Uint8Array;
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteRustBuffer = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructRustBuffer
|
||||
) => void;
|
||||
export type UniffiForeignFutureStructVoid = {
|
||||
callStatus: UniffiRustCallStatus;
|
||||
};
|
||||
export type UniffiForeignFutureCompleteVoid = (
|
||||
callbackData: bigint,
|
||||
result: UniffiForeignFutureStructVoid
|
||||
) => void;
|
||||
type UniffiCallbackInterfaceBinaryOperatorMethod0 = (
|
||||
uniffiHandle: bigint,
|
||||
lhs: bigint,
|
||||
rhs: bigint
|
||||
) => UniffiResult<bigint>;
|
||||
export type UniffiVTableCallbackInterfaceBinaryOperator = {
|
||||
perform: UniffiCallbackInterfaceBinaryOperatorMethod0;
|
||||
uniffiFree: UniffiCallbackInterfaceFree;
|
||||
};
|
||||
|
||||
// UniffiRustFutureContinuationCallback is generated as part of the component interface's
|
||||
// ffi_definitions. However, we need it in the runtime.
|
||||
// We could:
|
||||
// (a) do some complicated template logic to ensure the declaration is not generated here (possible)
|
||||
// (b) import the generated declaration into the runtime (m a y b e) or…
|
||||
// (c) generate the declaration anyway, and use a different declaration in the runtime.
|
||||
//
|
||||
// We chose (c) here as the simplest. In addition, we perform a compile time check that
|
||||
// the two versions of `UniffiRustFutureContinuationCallback` are structurally equivalent.
|
||||
//
|
||||
// If you see the error:
|
||||
// ```
|
||||
// Type 'true' is not assignable to type 'false'.(2322)
|
||||
// ```
|
||||
// Then a new version of uniffi has changed the signature of the callback. Most likely, code in
|
||||
// `typescript/src/async-rust-call.ts` will need to be changed.
|
||||
//
|
||||
// If you see the error:
|
||||
// ```
|
||||
// Cannot find name 'UniffiRustFutureContinuationCallback'. Did you mean 'RuntimeUniffiRustFutureContinuationCallback'?(2552)
|
||||
// ```
|
||||
// then you may not be using callbacks or promises, and uniffi is now not generating Futures and callbacks.
|
||||
// You should not generate this if that is the case.
|
||||
//
|
||||
// ('You' being the bindings generator maintainer).
|
||||
const isRustFutureContinuationCallbackTypeCompatible: UniffiStructuralEquality<
|
||||
RuntimeUniffiRustFutureContinuationCallback,
|
||||
UniffiRustFutureContinuationCallback
|
||||
> = true;
|
||||
const isUniffiForeignFutureTypeCompatible: UniffiStructuralEquality<
|
||||
RuntimeUniffiForeignFuture,
|
||||
UniffiForeignFuture
|
||||
> = true;
|
||||
1271
packages/react-native-uniffi-russh/src/generated/foobar.ts
Normal file
1271
packages/react-native-uniffi-russh/src/generated/foobar.ts
Normal file
File diff suppressed because it is too large
Load Diff
41
packages/react-native-uniffi-russh/src/index.tsx
Normal file
41
packages/react-native-uniffi-russh/src/index.tsx
Normal file
@@ -0,0 +1,41 @@
|
||||
// Generated by uniffi-bindgen-react-native
|
||||
import installer from './NativeUniffiRussh';
|
||||
|
||||
// Register the rust crate with Hermes
|
||||
// - the boolean flag ensures this loads exactly once, even if the JS
|
||||
// code is reloaded (e.g. during development with metro).
|
||||
let rustInstalled = false;
|
||||
if (!rustInstalled) {
|
||||
installer.installRustCrate();
|
||||
rustInstalled = true;
|
||||
}
|
||||
|
||||
// Export the generated bindings to the app.
|
||||
export * from './generated/foobar';
|
||||
|
||||
// Now import the bindings so we can:
|
||||
// - intialize them
|
||||
// - export them as namespaced objects as the default export.
|
||||
import * as foobar from './generated/foobar';
|
||||
|
||||
// Initialize the generated bindings: mostly checksums, but also callbacks.
|
||||
// - the boolean flag ensures this loads exactly once, even if the JS code
|
||||
// is reloaded (e.g. during development with metro).
|
||||
let initialized = false;
|
||||
if (!initialized) {
|
||||
foobar.default.initialize();
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
// This provides parity with the index.web.ts version of this file.
|
||||
// The web version relies on an asynchronous fetch, which this doesn't
|
||||
// need, so we just no-op.
|
||||
export async function uniffiInitAsync() {
|
||||
// NOOP.
|
||||
}
|
||||
|
||||
// Export the crates as individually namespaced objects.
|
||||
export default {
|
||||
foobar,
|
||||
};
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{
|
||||
"extends": "./tsconfig",
|
||||
"exclude": ["example", "lib"]
|
||||
"exclude": ["example", "lib"],
|
||||
"compilerOptions": {
|
||||
"noUnusedParameters": false,
|
||||
"noUnusedLocals": false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
rust:
|
||||
repo: https://github.com/jhugman/uniffi-starter.git
|
||||
branch: jhugman/bump-uniffi-to-0.29
|
||||
manifestPath: rust/foobar/Cargo.toml
|
||||
|
||||
403
pnpm-lock.yaml
generated
403
pnpm-lock.yaml
generated
@@ -44,6 +44,9 @@ importers:
|
||||
'@fressh/assets':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/assets
|
||||
'@fressh/react-native-uniffi-russh':
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/react-native-uniffi-russh
|
||||
'@react-native-picker/picker':
|
||||
specifier: 2.11.1
|
||||
version: 2.11.1(react-native@0.81.4(@babel/core@7.28.3)(@react-native-community/cli@20.0.2(typescript@5.9.2))(@types/react@19.1.12)(react@19.1.0))(react@19.1.0)
|
||||
@@ -238,9 +241,6 @@ importers:
|
||||
specifier: 0.29.3-1
|
||||
version: 0.29.3-1
|
||||
devDependencies:
|
||||
'@commitlint/config-conventional':
|
||||
specifier: ^19.8.1
|
||||
version: 19.8.1
|
||||
'@eslint/compat':
|
||||
specifier: ^1.3.2
|
||||
version: 1.3.2(eslint@9.35.0(jiti@2.5.1))
|
||||
@@ -268,9 +268,6 @@ importers:
|
||||
'@types/react':
|
||||
specifier: ^19.1.0
|
||||
version: 19.1.12
|
||||
commitlint:
|
||||
specifier: ^19.8.1
|
||||
version: 19.8.1(@types/node@24.3.0)(typescript@5.9.2)
|
||||
del-cli:
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0
|
||||
@@ -1064,75 +1061,6 @@ packages:
|
||||
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
|
||||
'@commitlint/cli@19.8.1':
|
||||
resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==}
|
||||
engines: {node: '>=v18'}
|
||||
hasBin: true
|
||||
|
||||
'@commitlint/config-conventional@19.8.1':
|
||||
resolution: {integrity: sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/config-validator@19.8.1':
|
||||
resolution: {integrity: sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/ensure@19.8.1':
|
||||
resolution: {integrity: sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/execute-rule@19.8.1':
|
||||
resolution: {integrity: sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/format@19.8.1':
|
||||
resolution: {integrity: sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/is-ignored@19.8.1':
|
||||
resolution: {integrity: sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/lint@19.8.1':
|
||||
resolution: {integrity: sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/load@19.8.1':
|
||||
resolution: {integrity: sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/message@19.8.1':
|
||||
resolution: {integrity: sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/parse@19.8.1':
|
||||
resolution: {integrity: sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/read@19.8.1':
|
||||
resolution: {integrity: sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/resolve-extends@19.8.1':
|
||||
resolution: {integrity: sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/rules@19.8.1':
|
||||
resolution: {integrity: sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/to-lines@19.8.1':
|
||||
resolution: {integrity: sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/top-level@19.8.1':
|
||||
resolution: {integrity: sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@commitlint/types@19.8.1':
|
||||
resolution: {integrity: sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==}
|
||||
engines: {node: '>=v18'}
|
||||
|
||||
'@conventional-changelog/git-client@1.0.1':
|
||||
resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -2901,9 +2829,6 @@ packages:
|
||||
'@types/babel__traverse@7.28.0':
|
||||
resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
|
||||
|
||||
'@types/conventional-commits-parser@5.0.1':
|
||||
resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==}
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
|
||||
|
||||
@@ -3337,10 +3262,6 @@ packages:
|
||||
resolution: {integrity: sha512-nQvrCBu7K2pSSEtIM0EEF03FVjcczCXInMt3moLNFbjlWx6bZrX72uT6/1uAXDbnzGUAx9gTyDiQ+vrFi663oA==}
|
||||
deprecated: Package no longer supported. Contact support@npmjs.com for more info.
|
||||
|
||||
JSONStream@1.3.5:
|
||||
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
|
||||
hasBin: true
|
||||
|
||||
abbrev@3.0.1:
|
||||
resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==}
|
||||
engines: {node: ^18.17.0 || >=20.5.0}
|
||||
@@ -3979,11 +3900,6 @@ packages:
|
||||
resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
|
||||
commitlint@19.8.1:
|
||||
resolution: {integrity: sha512-j7jojdmHrVOZ16gnjK2nbQuzdwA9TpxS9iNb9Q9QS3ytgt3JZVIGmsNbCuhmnsJWGspotlQ34yH8n1HvIKImiQ==}
|
||||
engines: {node: '>=v18'}
|
||||
hasBin: true
|
||||
|
||||
common-ancestor-path@1.0.1:
|
||||
resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==}
|
||||
|
||||
@@ -4023,10 +3939,6 @@ packages:
|
||||
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
conventional-changelog-angular@7.0.0:
|
||||
resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
|
||||
engines: {node: '>=16'}
|
||||
|
||||
conventional-changelog-angular@8.0.0:
|
||||
resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -4039,10 +3951,6 @@ packages:
|
||||
resolution: {integrity: sha512-8gsBDI5Y3vrKUCxN6Ue8xr6occZ5nsDEc4C7jO/EovFGozx8uttCAyfhRrvoUAWi2WMm3OmYs+0mPJU7kQdYWQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
conventional-changelog-conventionalcommits@7.0.2:
|
||||
resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==}
|
||||
engines: {node: '>=16'}
|
||||
|
||||
conventional-changelog-conventionalcommits@8.0.0:
|
||||
resolution: {integrity: sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -4088,11 +3996,6 @@ packages:
|
||||
resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
conventional-commits-parser@5.0.0:
|
||||
resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==}
|
||||
engines: {node: '>=16'}
|
||||
hasBin: true
|
||||
|
||||
conventional-commits-parser@6.2.0:
|
||||
resolution: {integrity: sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -4116,14 +4019,6 @@ packages:
|
||||
core-js-compat@3.45.1:
|
||||
resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==}
|
||||
|
||||
cosmiconfig-typescript-loader@6.1.0:
|
||||
resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==}
|
||||
engines: {node: '>=v18'}
|
||||
peerDependencies:
|
||||
'@types/node': '*'
|
||||
cosmiconfig: '>=9'
|
||||
typescript: '>=5'
|
||||
|
||||
cosmiconfig@5.2.1:
|
||||
resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -4183,10 +4078,6 @@ packages:
|
||||
damerau-levenshtein@1.0.8:
|
||||
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
|
||||
|
||||
dargs@8.1.0:
|
||||
resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
data-uri-to-buffer@6.0.2:
|
||||
resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
|
||||
engines: {node: '>= 14'}
|
||||
@@ -5159,10 +5050,6 @@ packages:
|
||||
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
find-up@7.0.0:
|
||||
resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
flat-cache@3.2.0:
|
||||
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
|
||||
engines: {node: ^10.12.0 || >=12.0.0}
|
||||
@@ -5300,11 +5187,6 @@ packages:
|
||||
resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==}
|
||||
hasBin: true
|
||||
|
||||
git-raw-commits@4.0.0:
|
||||
resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==}
|
||||
engines: {node: '>=16'}
|
||||
hasBin: true
|
||||
|
||||
git-raw-commits@5.0.0:
|
||||
resolution: {integrity: sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -5349,10 +5231,6 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
deprecated: Glob versions prior to v9 are no longer supported
|
||||
|
||||
global-directory@4.0.1:
|
||||
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
global-dirs@0.1.1:
|
||||
resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -5591,10 +5469,6 @@ packages:
|
||||
ini@1.3.8:
|
||||
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||
|
||||
ini@4.1.1:
|
||||
resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
|
||||
inline-style-prefixer@7.0.1:
|
||||
resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==}
|
||||
|
||||
@@ -5809,10 +5683,6 @@ packages:
|
||||
resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
is-text-path@2.0.0:
|
||||
resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
is-typed-array@1.1.15:
|
||||
resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@@ -6111,10 +5981,6 @@ packages:
|
||||
jsonfile@6.2.0:
|
||||
resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
|
||||
|
||||
jsonparse@1.3.1:
|
||||
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
|
||||
engines: {'0': node >= 0.2.0}
|
||||
|
||||
jstransformer@1.0.0:
|
||||
resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==}
|
||||
|
||||
@@ -6245,13 +6111,6 @@ packages:
|
||||
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
locate-path@7.2.0:
|
||||
resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
lodash.camelcase@4.3.0:
|
||||
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
|
||||
|
||||
lodash.capitalize@4.2.1:
|
||||
resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==}
|
||||
|
||||
@@ -6267,33 +6126,15 @@ packages:
|
||||
lodash.isstring@4.0.1:
|
||||
resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==}
|
||||
|
||||
lodash.kebabcase@4.1.1:
|
||||
resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
|
||||
|
||||
lodash.merge@4.6.2:
|
||||
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||
|
||||
lodash.mergewith@4.6.2:
|
||||
resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==}
|
||||
|
||||
lodash.snakecase@4.1.1:
|
||||
resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
|
||||
|
||||
lodash.startcase@4.4.0:
|
||||
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
|
||||
|
||||
lodash.throttle@4.1.1:
|
||||
resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
|
||||
|
||||
lodash.uniq@4.5.0:
|
||||
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
|
||||
|
||||
lodash.uniqby@4.7.0:
|
||||
resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==}
|
||||
|
||||
lodash.upperfirst@4.3.1:
|
||||
resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
|
||||
|
||||
lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
|
||||
@@ -6416,10 +6257,6 @@ packages:
|
||||
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
|
||||
engines: {node: '>= 0.10.0'}
|
||||
|
||||
meow@12.1.1:
|
||||
resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
|
||||
engines: {node: '>=16.10'}
|
||||
|
||||
meow@13.2.0:
|
||||
resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -6929,10 +6766,6 @@ packages:
|
||||
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
p-limit@4.0.0:
|
||||
resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
p-limit@6.2.0:
|
||||
resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -6945,10 +6778,6 @@ packages:
|
||||
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
p-locate@6.0.0:
|
||||
resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
p-map@4.0.0:
|
||||
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -7027,10 +6856,6 @@ packages:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
path-exists@5.0.0:
|
||||
resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -7950,10 +7775,6 @@ packages:
|
||||
resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
split2@4.2.0:
|
||||
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
|
||||
engines: {node: '>= 10.x'}
|
||||
|
||||
sprintf-js@1.0.3:
|
||||
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
|
||||
|
||||
@@ -8165,10 +7986,6 @@ packages:
|
||||
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
text-extensions@2.4.0:
|
||||
resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
text-table@0.2.0:
|
||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||
|
||||
@@ -8182,9 +7999,6 @@ packages:
|
||||
throat@5.0.0:
|
||||
resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
|
||||
|
||||
through@2.3.8:
|
||||
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||
|
||||
tightrope@0.2.0:
|
||||
resolution: {integrity: sha512-Kw36UHxJEELq2VUqdaSGR2/8cAsPgMtvX8uGVU6Jk26O66PhXec0A5ZnRYs47btbtwPDpXXF66+Fo3vimCM9aQ==}
|
||||
engines: {node: '>=16'}
|
||||
@@ -9931,116 +9745,6 @@ snapshots:
|
||||
'@colors/colors@1.5.0':
|
||||
optional: true
|
||||
|
||||
'@commitlint/cli@19.8.1(@types/node@24.3.0)(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@commitlint/format': 19.8.1
|
||||
'@commitlint/lint': 19.8.1
|
||||
'@commitlint/load': 19.8.1(@types/node@24.3.0)(typescript@5.9.2)
|
||||
'@commitlint/read': 19.8.1
|
||||
'@commitlint/types': 19.8.1
|
||||
tinyexec: 1.0.1
|
||||
yargs: 17.7.2
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- typescript
|
||||
|
||||
'@commitlint/config-conventional@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/types': 19.8.1
|
||||
conventional-changelog-conventionalcommits: 7.0.2
|
||||
|
||||
'@commitlint/config-validator@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/types': 19.8.1
|
||||
ajv: 8.17.1
|
||||
|
||||
'@commitlint/ensure@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/types': 19.8.1
|
||||
lodash.camelcase: 4.3.0
|
||||
lodash.kebabcase: 4.1.1
|
||||
lodash.snakecase: 4.1.1
|
||||
lodash.startcase: 4.4.0
|
||||
lodash.upperfirst: 4.3.1
|
||||
|
||||
'@commitlint/execute-rule@19.8.1': {}
|
||||
|
||||
'@commitlint/format@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/types': 19.8.1
|
||||
chalk: 5.6.2
|
||||
|
||||
'@commitlint/is-ignored@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/types': 19.8.1
|
||||
semver: 7.7.2
|
||||
|
||||
'@commitlint/lint@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/is-ignored': 19.8.1
|
||||
'@commitlint/parse': 19.8.1
|
||||
'@commitlint/rules': 19.8.1
|
||||
'@commitlint/types': 19.8.1
|
||||
|
||||
'@commitlint/load@19.8.1(@types/node@24.3.0)(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@commitlint/config-validator': 19.8.1
|
||||
'@commitlint/execute-rule': 19.8.1
|
||||
'@commitlint/resolve-extends': 19.8.1
|
||||
'@commitlint/types': 19.8.1
|
||||
chalk: 5.6.2
|
||||
cosmiconfig: 9.0.0(typescript@5.9.2)
|
||||
cosmiconfig-typescript-loader: 6.1.0(@types/node@24.3.0)(cosmiconfig@9.0.0(typescript@5.9.2))(typescript@5.9.2)
|
||||
lodash.isplainobject: 4.0.6
|
||||
lodash.merge: 4.6.2
|
||||
lodash.uniq: 4.5.0
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- typescript
|
||||
|
||||
'@commitlint/message@19.8.1': {}
|
||||
|
||||
'@commitlint/parse@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/types': 19.8.1
|
||||
conventional-changelog-angular: 7.0.0
|
||||
conventional-commits-parser: 5.0.0
|
||||
|
||||
'@commitlint/read@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/top-level': 19.8.1
|
||||
'@commitlint/types': 19.8.1
|
||||
git-raw-commits: 4.0.0
|
||||
minimist: 1.2.8
|
||||
tinyexec: 1.0.1
|
||||
|
||||
'@commitlint/resolve-extends@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/config-validator': 19.8.1
|
||||
'@commitlint/types': 19.8.1
|
||||
global-directory: 4.0.1
|
||||
import-meta-resolve: 4.2.0
|
||||
lodash.mergewith: 4.6.2
|
||||
resolve-from: 5.0.0
|
||||
|
||||
'@commitlint/rules@19.8.1':
|
||||
dependencies:
|
||||
'@commitlint/ensure': 19.8.1
|
||||
'@commitlint/message': 19.8.1
|
||||
'@commitlint/to-lines': 19.8.1
|
||||
'@commitlint/types': 19.8.1
|
||||
|
||||
'@commitlint/to-lines@19.8.1': {}
|
||||
|
||||
'@commitlint/top-level@19.8.1':
|
||||
dependencies:
|
||||
find-up: 7.0.0
|
||||
|
||||
'@commitlint/types@19.8.1':
|
||||
dependencies:
|
||||
'@types/conventional-commits-parser': 5.0.1
|
||||
chalk: 5.6.2
|
||||
|
||||
'@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0)':
|
||||
dependencies:
|
||||
'@types/semver': 7.7.1
|
||||
@@ -12227,10 +11931,6 @@ snapshots:
|
||||
dependencies:
|
||||
'@babel/types': 7.28.2
|
||||
|
||||
'@types/conventional-commits-parser@5.0.1':
|
||||
dependencies:
|
||||
'@types/node': 24.3.0
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
dependencies:
|
||||
'@types/ms': 2.1.0
|
||||
@@ -12704,11 +12404,6 @@ snapshots:
|
||||
|
||||
D@1.0.0: {}
|
||||
|
||||
JSONStream@1.3.5:
|
||||
dependencies:
|
||||
jsonparse: 1.3.1
|
||||
through: 2.3.8
|
||||
|
||||
abbrev@3.0.1: {}
|
||||
|
||||
abort-controller@3.0.0:
|
||||
@@ -13527,14 +13222,6 @@ snapshots:
|
||||
|
||||
comment-parser@1.4.1: {}
|
||||
|
||||
commitlint@19.8.1(@types/node@24.3.0)(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@commitlint/cli': 19.8.1(@types/node@24.3.0)(typescript@5.9.2)
|
||||
'@commitlint/types': 19.8.1
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- typescript
|
||||
|
||||
common-ancestor-path@1.0.1: {}
|
||||
|
||||
compare-func@2.0.0:
|
||||
@@ -13587,10 +13274,6 @@ snapshots:
|
||||
|
||||
content-type@1.0.5: {}
|
||||
|
||||
conventional-changelog-angular@7.0.0:
|
||||
dependencies:
|
||||
compare-func: 2.0.0
|
||||
|
||||
conventional-changelog-angular@8.0.0:
|
||||
dependencies:
|
||||
compare-func: 2.0.0
|
||||
@@ -13599,10 +13282,6 @@ snapshots:
|
||||
|
||||
conventional-changelog-codemirror@5.0.0: {}
|
||||
|
||||
conventional-changelog-conventionalcommits@7.0.2:
|
||||
dependencies:
|
||||
compare-func: 2.0.0
|
||||
|
||||
conventional-changelog-conventionalcommits@8.0.0:
|
||||
dependencies:
|
||||
compare-func: 2.0.0
|
||||
@@ -13661,13 +13340,6 @@ snapshots:
|
||||
|
||||
conventional-commits-filter@5.0.0: {}
|
||||
|
||||
conventional-commits-parser@5.0.0:
|
||||
dependencies:
|
||||
JSONStream: 1.3.5
|
||||
is-text-path: 2.0.0
|
||||
meow: 12.1.1
|
||||
split2: 4.2.0
|
||||
|
||||
conventional-commits-parser@6.2.0:
|
||||
dependencies:
|
||||
meow: 13.2.0
|
||||
@@ -13690,13 +13362,6 @@ snapshots:
|
||||
dependencies:
|
||||
browserslist: 4.25.4
|
||||
|
||||
cosmiconfig-typescript-loader@6.1.0(@types/node@24.3.0)(cosmiconfig@9.0.0(typescript@5.9.2))(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@types/node': 24.3.0
|
||||
cosmiconfig: 9.0.0(typescript@5.9.2)
|
||||
jiti: 2.5.1
|
||||
typescript: 5.9.2
|
||||
|
||||
cosmiconfig@5.2.1:
|
||||
dependencies:
|
||||
import-fresh: 2.0.0
|
||||
@@ -13774,8 +13439,6 @@ snapshots:
|
||||
|
||||
damerau-levenshtein@1.0.8: {}
|
||||
|
||||
dargs@8.1.0: {}
|
||||
|
||||
data-uri-to-buffer@6.0.2: {}
|
||||
|
||||
data-view-buffer@1.0.2:
|
||||
@@ -14968,12 +14631,6 @@ snapshots:
|
||||
locate-path: 6.0.0
|
||||
path-exists: 4.0.0
|
||||
|
||||
find-up@7.0.0:
|
||||
dependencies:
|
||||
locate-path: 7.2.0
|
||||
path-exists: 5.0.0
|
||||
unicorn-magic: 0.1.0
|
||||
|
||||
flat-cache@3.2.0:
|
||||
dependencies:
|
||||
flatted: 3.3.3
|
||||
@@ -15128,12 +14785,6 @@ snapshots:
|
||||
nypm: 0.6.1
|
||||
pathe: 2.0.3
|
||||
|
||||
git-raw-commits@4.0.0:
|
||||
dependencies:
|
||||
dargs: 8.1.0
|
||||
meow: 12.1.1
|
||||
split2: 4.2.0
|
||||
|
||||
git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0):
|
||||
dependencies:
|
||||
'@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0)
|
||||
@@ -15197,10 +14848,6 @@ snapshots:
|
||||
minimatch: 5.1.6
|
||||
once: 1.4.0
|
||||
|
||||
global-directory@4.0.1:
|
||||
dependencies:
|
||||
ini: 4.1.1
|
||||
|
||||
global-dirs@0.1.1:
|
||||
dependencies:
|
||||
ini: 1.3.8
|
||||
@@ -15490,8 +15137,6 @@ snapshots:
|
||||
|
||||
ini@1.3.8: {}
|
||||
|
||||
ini@4.1.1: {}
|
||||
|
||||
inline-style-prefixer@7.0.1:
|
||||
dependencies:
|
||||
css-in-js-utils: 3.1.0
|
||||
@@ -15688,10 +15333,6 @@ snapshots:
|
||||
has-symbols: 1.1.0
|
||||
safe-regex-test: 1.1.0
|
||||
|
||||
is-text-path@2.0.0:
|
||||
dependencies:
|
||||
text-extensions: 2.4.0
|
||||
|
||||
is-typed-array@1.1.15:
|
||||
dependencies:
|
||||
which-typed-array: 1.1.19
|
||||
@@ -16184,8 +15825,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
graceful-fs: 4.2.11
|
||||
|
||||
jsonparse@1.3.1: {}
|
||||
|
||||
jstransformer@1.0.0:
|
||||
dependencies:
|
||||
is-promise: 2.2.2
|
||||
@@ -16313,12 +15952,6 @@ snapshots:
|
||||
dependencies:
|
||||
p-locate: 5.0.0
|
||||
|
||||
locate-path@7.2.0:
|
||||
dependencies:
|
||||
p-locate: 6.0.0
|
||||
|
||||
lodash.camelcase@4.3.0: {}
|
||||
|
||||
lodash.capitalize@4.2.1: {}
|
||||
|
||||
lodash.debounce@4.0.8: {}
|
||||
@@ -16329,24 +15962,12 @@ snapshots:
|
||||
|
||||
lodash.isstring@4.0.1: {}
|
||||
|
||||
lodash.kebabcase@4.1.1: {}
|
||||
|
||||
lodash.merge@4.6.2: {}
|
||||
|
||||
lodash.mergewith@4.6.2: {}
|
||||
|
||||
lodash.snakecase@4.1.1: {}
|
||||
|
||||
lodash.startcase@4.4.0: {}
|
||||
|
||||
lodash.throttle@4.1.1: {}
|
||||
|
||||
lodash.uniq@4.5.0: {}
|
||||
|
||||
lodash.uniqby@4.7.0: {}
|
||||
|
||||
lodash.upperfirst@4.3.1: {}
|
||||
|
||||
lodash@4.17.21: {}
|
||||
|
||||
log-symbols@2.2.0:
|
||||
@@ -16543,8 +16164,6 @@ snapshots:
|
||||
|
||||
memorystream@0.3.1: {}
|
||||
|
||||
meow@12.1.1: {}
|
||||
|
||||
meow@13.2.0: {}
|
||||
|
||||
merge-stream@2.0.0: {}
|
||||
@@ -17299,10 +16918,6 @@ snapshots:
|
||||
dependencies:
|
||||
yocto-queue: 0.1.0
|
||||
|
||||
p-limit@4.0.0:
|
||||
dependencies:
|
||||
yocto-queue: 1.2.1
|
||||
|
||||
p-limit@6.2.0:
|
||||
dependencies:
|
||||
yocto-queue: 1.2.1
|
||||
@@ -17315,10 +16930,6 @@ snapshots:
|
||||
dependencies:
|
||||
p-limit: 3.1.0
|
||||
|
||||
p-locate@6.0.0:
|
||||
dependencies:
|
||||
p-limit: 4.0.0
|
||||
|
||||
p-map@4.0.0:
|
||||
dependencies:
|
||||
aggregate-error: 3.1.0
|
||||
@@ -17410,8 +17021,6 @@ snapshots:
|
||||
|
||||
path-exists@4.0.0: {}
|
||||
|
||||
path-exists@5.0.0: {}
|
||||
|
||||
path-is-absolute@1.0.1: {}
|
||||
|
||||
path-key@2.0.1: {}
|
||||
@@ -18559,8 +18168,6 @@ snapshots:
|
||||
|
||||
split-on-first@1.1.0: {}
|
||||
|
||||
split2@4.2.0: {}
|
||||
|
||||
sprintf-js@1.0.3: {}
|
||||
|
||||
stable-hash-x@0.2.0: {}
|
||||
@@ -18807,8 +18414,6 @@ snapshots:
|
||||
glob: 7.2.3
|
||||
minimatch: 3.1.2
|
||||
|
||||
text-extensions@2.4.0: {}
|
||||
|
||||
text-table@0.2.0: {}
|
||||
|
||||
thenify-all@1.6.0:
|
||||
@@ -18821,8 +18426,6 @@ snapshots:
|
||||
|
||||
throat@5.0.0: {}
|
||||
|
||||
through@2.3.8: {}
|
||||
|
||||
tightrope@0.2.0: {}
|
||||
|
||||
tiny-inflate@1.0.3: {}
|
||||
|
||||
Reference in New Issue
Block a user