From 3904a081db15480a2cee54d64de4e83061071217 Mon Sep 17 00:00:00 2001 From: Will Cory Date: Mon, 2 Dec 2024 14:33:28 -0800 Subject: [PATCH 1/2] :bug: Changeset (#1501) ## Description _Concise description of proposed changes_ ## Testing Explain the quality checks that have been done on the code changes ## Additional Information - [ ] I read the [contributing docs](../docs/contributing.md) (if this is your first contribution) Your ENS/address: From 8e20d921cf1c573bebefbfffd77267c95dd8a09c Mon Sep 17 00:00:00 2001 From: William Cory Date: Mon, 11 Nov 2024 11:29:52 +0700 Subject: [PATCH 2/2] :monocle_face: Chore: Add rust --- .cargo/config.toml | 2 + .gitignore | 12 + Cargo.lock | 271 +++++ Cargo.toml | 9 + nx.json | 253 +++-- package.json | 7 +- packages/my_rust_node_lib/Cargo.toml | 19 + packages/my_rust_node_lib/build.rs | 5 + packages/my_rust_node_lib/index.d.ts | 6 + packages/my_rust_node_lib/index.js | 264 +++++ .../npm/darwin-arm64/README.md | 3 + .../npm/darwin-arm64/package.json | 17 + .../my_rust_node_lib/npm/darwin-x64/README.md | 3 + .../npm/darwin-x64/package.json | 17 + .../npm/freebsd-x64/README.md | 3 + .../npm/freebsd-x64/package.json | 17 + .../npm/linux-arm-gnueabihf/README.md | 3 + .../npm/linux-arm-gnueabihf/package.json | 17 + .../npm/linux-arm64-gnu/README.md | 3 + .../npm/linux-arm64-gnu/package.json | 20 + .../npm/linux-arm64-musl/README.md | 3 + .../npm/linux-arm64-musl/package.json | 20 + .../npm/linux-x64-musl/README.md | 3 + .../npm/linux-x64-musl/package.json | 20 + .../npm/wasm32-wasi/README.md | 3 + .../npm/wasm32-wasi/package.json | 22 + .../npm/win32-arm64-msvc/README.md | 3 + .../npm/win32-arm64-msvc/package.json | 17 + .../npm/win32-ia32-msvc/README.md | 3 + .../npm/win32-ia32-msvc/package.json | 17 + packages/my_rust_node_lib/package.json | 25 + packages/my_rust_node_lib/project.json | 45 + packages/my_rust_node_lib/src/lib.rs | 7 + pnpm-lock.yaml | 1002 ++++++++++++++++- 34 files changed, 2017 insertions(+), 124 deletions(-) create mode 100644 .cargo/config.toml create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 packages/my_rust_node_lib/Cargo.toml create mode 100644 packages/my_rust_node_lib/build.rs create mode 100644 packages/my_rust_node_lib/index.d.ts create mode 100644 packages/my_rust_node_lib/index.js create mode 100644 packages/my_rust_node_lib/npm/darwin-arm64/README.md create mode 100644 packages/my_rust_node_lib/npm/darwin-arm64/package.json create mode 100644 packages/my_rust_node_lib/npm/darwin-x64/README.md create mode 100644 packages/my_rust_node_lib/npm/darwin-x64/package.json create mode 100644 packages/my_rust_node_lib/npm/freebsd-x64/README.md create mode 100644 packages/my_rust_node_lib/npm/freebsd-x64/package.json create mode 100644 packages/my_rust_node_lib/npm/linux-arm-gnueabihf/README.md create mode 100644 packages/my_rust_node_lib/npm/linux-arm-gnueabihf/package.json create mode 100644 packages/my_rust_node_lib/npm/linux-arm64-gnu/README.md create mode 100644 packages/my_rust_node_lib/npm/linux-arm64-gnu/package.json create mode 100644 packages/my_rust_node_lib/npm/linux-arm64-musl/README.md create mode 100644 packages/my_rust_node_lib/npm/linux-arm64-musl/package.json create mode 100644 packages/my_rust_node_lib/npm/linux-x64-musl/README.md create mode 100644 packages/my_rust_node_lib/npm/linux-x64-musl/package.json create mode 100644 packages/my_rust_node_lib/npm/wasm32-wasi/README.md create mode 100644 packages/my_rust_node_lib/npm/wasm32-wasi/package.json create mode 100644 packages/my_rust_node_lib/npm/win32-arm64-msvc/README.md create mode 100644 packages/my_rust_node_lib/npm/win32-arm64-msvc/package.json create mode 100644 packages/my_rust_node_lib/npm/win32-ia32-msvc/README.md create mode 100644 packages/my_rust_node_lib/npm/win32-ia32-msvc/package.json create mode 100644 packages/my_rust_node_lib/package.json create mode 100644 packages/my_rust_node_lib/project.json create mode 100644 packages/my_rust_node_lib/src/lib.rs diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000000..dd033b868c --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,2 @@ +[build] +target-dir = 'dist/target' diff --git a/.gitignore b/.gitignore index 70960fb274..34f5a5409e 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,15 @@ Thumbs.db /target _ .direnv + +*.node + +/target/ +**/*.rs.bk +debug/ +**/*.pdb +*.o +*.so +*.dylib +*.dll +*.rlib \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..bddedbfe57 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,271 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "ctor" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if", + "windows-targets", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "my_rust_node_lib" +version = "0.1.0" +dependencies = [ + "napi", + "napi-build", + "napi-derive", +] + +[[package]] +name = "napi" +version = "2.16.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "214f07a80874bb96a8433b3cdfc84980d56c7b02e1a0d7ba4ba0db5cef785e2b" +dependencies = [ + "bitflags", + "ctor", + "napi-derive", + "napi-sys", + "once_cell", +] + +[[package]] +name = "napi-build" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a" + +[[package]] +name = "napi-derive" +version = "2.16.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17435f7a00bfdab20b0c27d9c56f58f6499e418252253081bfff448099da31d1" +dependencies = [ + "cfg-if", + "convert_case", + "napi-derive-backend", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "napi-derive-backend" +version = "1.0.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "967c485e00f0bf3b1bdbe510a38a4606919cf1d34d9a37ad41f25a81aa077abe" +dependencies = [ + "convert_case", + "once_cell", + "proc-macro2", + "quote", + "regex", + "semver", + "syn", +] + +[[package]] +name = "napi-sys" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3" +dependencies = [ + "libloading", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "proc-macro2" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + +[[package]] +name = "syn" +version = "2.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000000..d04dea0ba3 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ + +[workspace] +resolver = '2' +members = [ + 'packages/my_rust_node_lib', +] + +[profile.release] +lto = true diff --git a/nx.json b/nx.json index 58c80fd83e..206b788fc1 100644 --- a/nx.json +++ b/nx.json @@ -1,120 +1,137 @@ { - "defaultProject": "@tevm/example-vite", - "cacheDirectory": ".nx", - "targetDefaults": { - "lint:check": { - "inputs": ["default"], - "cache": true - }, - "lint:package": { - "inputs": ["default"], - "dependsOn": ["build:dist", "build:types", "^build:dist", "^build:types"], - "cache": true - }, - "lint:deps": { - "inputs": ["default"], - "cache": true - }, - "format:check": { - "inputs": ["default"], - "cache": true - }, - "test": { - "inputs": ["testFiles", "outputsDist"], - "dependsOn": ["^build:dist", "pretest"] - }, - "test:run": { - "inputs": ["testFiles", "outputsDist"], - "dependsOn": ["^build:dist", "pretest"], - "cache": true - }, - "test:watch": { - "inputs": ["testFiles", "outputsDist"], - "dependsOn": ["^build:dist"] - }, - "test:coverage": { - "inputs": ["testFiles", "outputsDist"], - "dependsOn": ["^build:dist"], - "outputs": ["{projectRoot}/coverage"], - "cache": true - }, - "typecheck": { - "inputs": ["production", "outputsDts"], - "dependsOn": ["^build:types"], - "cache": true - }, - "build:types": { - "inputs": ["production", "outputsDts"], - "dependsOn": ["^build:types", "^build:dist"], - "outputs": [ - "{projectRoot}/dist/**/*.d.ts", - "{projectRoot}/dist/**/*.d.cts", - "{projectRoot}/dist/**/*.d.mts", - "{projectRoot}/types/**/*" - ], - "cache": true - }, - "build:app": { - "inputs": ["production", "outputsDist"], - "dependsOn": ["^build:dist", "^build:types"], - "outputs": ["{projectRoot}/dist"], - "cache": true - }, - "build:dist": { - "inputs": ["production", "outputsDist"], - "dependsOn": ["^build:dist"], - "outputs": ["{projectRoot}/dist/**/*.js", "{projectRoot}/dist/**/*.cjs", "{projectRoot}/dist/**/*.mjs"], - "cache": true - }, - "generate:docs": { - "inputs": ["production", "outputsDts"], - "outputs": ["{projectRoot}/docs"], - "dependsOn": ["^build:types"], - "cache": true - }, - "dev": { - "dependsOn": ["^build:dist", "^build:types", "predev"] - }, - "dev:run": { - "dependsOn": ["^build:dist", "^build:types", "predev"], - "cache": true - }, - "e2e": { - "cache": true - } - }, - "defaultBase": "main", - "$schema": "./node_modules/nx/schemas/nx-schema.json", - "namedInputs": { - "buildConfigs": ["{projectRoot}/tsconfig.*?.json", "{projectRoot}/tsup.config.ts"], - "default": [ - "{projectRoot}/*.json", - "{projectRoot}/*.js", - "{projectRoot}/*.ts", - "{projectRoot}/src/**/*", - "sharedGlobals" - ], - "testFiles": ["{projectRoot}/src/**/*", "{projectRoot}/vitest.config.ts"], - "sharedGlobals": [ - "{workspaceRoot}/nx.json", - "{workspaceRoot}/bun.lockb", - "{workspaceRoot}/configs/**/*", - "{workspaceRoot}/lib/**/*" - ], - "productionSrc": ["{projectRoot}/src/**/*", "!{projectRoot}/src/**/*.spec.ts"], - "productionContracts": ["{projectRoot}/contracts/**/*"], - "production": ["default", "buildConfigs", "sharedGlobals", "productionSrc", "productionContracts"], - "outputsDist": [ - { - "dependentTasksOutputFiles": "**/*" - } - ], - "outputsDts": [ - { - "dependentTasksOutputFiles": "**/*" - } - ], - "testing": ["configsWorkspace", "default"] - }, - "nxCloudAccessToken": "MDdkNmQwZWEtOGYwNy00ZjhkLWI5NGMtNjBiNGExY2Q5MzI2fHJlYWQ=" + "defaultProject": "@tevm/example-vite", + "cacheDirectory": ".nx", + "targetDefaults": { + "lint:check": { + "inputs": ["default"], + "cache": true + }, + "lint:package": { + "inputs": ["default"], + "dependsOn": ["build:dist", "build:types", "^build:dist", "^build:types"], + "cache": true + }, + "lint:deps": { + "inputs": ["default"], + "cache": true + }, + "format:check": { + "inputs": ["default"], + "cache": true + }, + "test": { + "inputs": ["testFiles", "outputsDist"], + "dependsOn": ["^build:dist", "pretest"] + }, + "test:run": { + "inputs": ["testFiles", "outputsDist"], + "dependsOn": ["^build:dist", "pretest"], + "cache": true + }, + "test:watch": { + "inputs": ["testFiles", "outputsDist"], + "dependsOn": ["^build:dist"] + }, + "test:coverage": { + "inputs": ["testFiles", "outputsDist"], + "dependsOn": ["^build:dist"], + "outputs": ["{projectRoot}/coverage"], + "cache": true + }, + "typecheck": { + "inputs": ["production", "outputsDts"], + "dependsOn": ["^build:types"], + "cache": true + }, + "build:types": { + "inputs": ["production", "outputsDts"], + "dependsOn": ["^build:types", "^build:dist"], + "outputs": [ + "{projectRoot}/dist/**/*.d.ts", + "{projectRoot}/dist/**/*.d.cts", + "{projectRoot}/dist/**/*.d.mts", + "{projectRoot}/types/**/*" + ], + "cache": true + }, + "build:app": { + "inputs": ["production", "outputsDist"], + "dependsOn": ["^build:dist", "^build:types"], + "outputs": ["{projectRoot}/dist"], + "cache": true + }, + "build:dist": { + "inputs": ["production", "outputsDist"], + "dependsOn": ["^build:dist"], + "outputs": [ + "{projectRoot}/dist/**/*.js", + "{projectRoot}/dist/**/*.cjs", + "{projectRoot}/dist/**/*.mjs" + ], + "cache": true + }, + "generate:docs": { + "inputs": ["production", "outputsDts"], + "outputs": ["{projectRoot}/docs"], + "dependsOn": ["^build:types"], + "cache": true + }, + "dev": { + "dependsOn": ["^build:dist", "^build:types", "predev"] + }, + "dev:run": { + "dependsOn": ["^build:dist", "^build:types", "predev"], + "cache": true + }, + "e2e": { + "cache": true + } + }, + "defaultBase": "main", + "$schema": "./node_modules/nx/schemas/nx-schema.json", + "namedInputs": { + "buildConfigs": [ + "{projectRoot}/tsconfig.*?.json", + "{projectRoot}/tsup.config.ts" + ], + "default": [ + "{projectRoot}/*.json", + "{projectRoot}/*.js", + "{projectRoot}/*.ts", + "{projectRoot}/src/**/*", + "sharedGlobals" + ], + "testFiles": ["{projectRoot}/src/**/*", "{projectRoot}/vitest.config.ts"], + "sharedGlobals": [ + "{workspaceRoot}/nx.json", + "{workspaceRoot}/bun.lockb", + "{workspaceRoot}/configs/**/*", + "{workspaceRoot}/lib/**/*" + ], + "productionSrc": [ + "{projectRoot}/src/**/*", + "!{projectRoot}/src/**/*.spec.ts" + ], + "productionContracts": ["{projectRoot}/contracts/**/*"], + "production": [ + "default", + "buildConfigs", + "sharedGlobals", + "productionSrc", + "productionContracts" + ], + "outputsDist": [ + { + "dependentTasksOutputFiles": "**/*" + } + ], + "outputsDts": [ + { + "dependentTasksOutputFiles": "**/*" + } + ], + "testing": ["configsWorkspace", "default"] + }, + "nxCloudAccessToken": "MDdkNmQwZWEtOGYwNy00ZjhkLWI5NGMtNjBiNGExY2Q5MzI2fHJlYWQ=", + "plugins": ["@monodon/rust"] } diff --git a/package.json b/package.json index c7696969fc..ee0c844e12 100644 --- a/package.json +++ b/package.json @@ -44,12 +44,16 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.8", "@effect/codemod": "^0.0.16", + "@monodon/rust": "^2.1.0", + "@napi-rs/cli": "3.0.0-alpha.63", + "@napi-rs/wasm-runtime": "^0.2.4", "@vitest/coverage-v8": "^2.1.1", "@vitest/ui": "^2.1.1", "bun-types": "^1.1.29", "concurrently": "^9.0.1", "depcheck": "^1.4.7", "dotenv": "^16.4.5", + "emnapi": "^1.1.0", "gitmoji-cli": "^9.4.0", "jscodeshift": "^17.0.0", "nx": "19.8.2", @@ -65,5 +69,6 @@ }, "engines": { "node": ">=18" - } + }, + "dependencies": {} } diff --git a/packages/my_rust_node_lib/Cargo.toml b/packages/my_rust_node_lib/Cargo.toml new file mode 100644 index 0000000000..d92a7a6dd5 --- /dev/null +++ b/packages/my_rust_node_lib/Cargo.toml @@ -0,0 +1,19 @@ + +[package] +name = 'my_rust_node_lib' +version = '0.1.0' +edition = '2021' + +[dependencies] +napi = { version = '2.10.2', default-features = false, features = [ + 'napi4', +] } +napi-derive = '2.9.3' + +[lib] +crate-type = [ + 'cdylib', +] + +[build-dependencies] +napi-build = '2.0.1' diff --git a/packages/my_rust_node_lib/build.rs b/packages/my_rust_node_lib/build.rs new file mode 100644 index 0000000000..9fc2367889 --- /dev/null +++ b/packages/my_rust_node_lib/build.rs @@ -0,0 +1,5 @@ +extern crate napi_build; + +fn main() { + napi_build::setup(); +} diff --git a/packages/my_rust_node_lib/index.d.ts b/packages/my_rust_node_lib/index.d.ts new file mode 100644 index 0000000000..a3bfc63a7b --- /dev/null +++ b/packages/my_rust_node_lib/index.d.ts @@ -0,0 +1,6 @@ +/* tslint:disable */ +/* eslint-disable */ + +/* auto-generated by NAPI-RS */ + +export function sum(a: number, b: number): number; diff --git a/packages/my_rust_node_lib/index.js b/packages/my_rust_node_lib/index.js new file mode 100644 index 0000000000..c117893057 --- /dev/null +++ b/packages/my_rust_node_lib/index.js @@ -0,0 +1,264 @@ +const { existsSync, readFileSync } = require("fs"); +const { join } = require("path"); + +const { platform, arch } = process; + +let nativeBinding = null; +let localFileExisted = false; +let loadError = null; + +function isMusl() { + // For Node 10 + if (!process.report || typeof process.report.getReport !== "function") { + try { + const lddPath = require("child_process") + .execSync("which ldd") + .toString() + .trim(); + return readFileSync(lddPath, "utf8").includes("musl"); + } catch (e) { + return true; + } + } else { + const { glibcVersionRuntime } = process.report.getReport().header; + return !glibcVersionRuntime; + } +} + +switch (platform) { + case "android": + switch (arch) { + case "arm64": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.android-arm64.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.android-arm64.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-android-arm64"); + } + } catch (e) { + loadError = e; + } + break; + case "arm": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.android-arm-eabi.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.android-arm-eabi.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-android-arm-eabi"); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on Android ${arch}`); + } + break; + case "win32": + switch (arch) { + case "x64": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.win32-x64-msvc.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.win32-x64-msvc.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-win32-x64-msvc"); + } + } catch (e) { + loadError = e; + } + break; + case "ia32": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.win32-ia32-msvc.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.win32-ia32-msvc.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-win32-ia32-msvc"); + } + } catch (e) { + loadError = e; + } + break; + case "arm64": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.win32-arm64-msvc.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.win32-arm64-msvc.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-win32-arm64-msvc"); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on Windows: ${arch}`); + } + break; + case "darwin": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.darwin-universal.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.darwin-universal.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-darwin-universal"); + } + break; + } catch {} + switch (arch) { + case "x64": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.darwin-x64.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.darwin-x64.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-darwin-x64"); + } + } catch (e) { + loadError = e; + } + break; + case "arm64": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.darwin-arm64.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.darwin-arm64.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-darwin-arm64"); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on macOS: ${arch}`); + } + break; + case "freebsd": + if (arch !== "x64") { + throw new Error(`Unsupported architecture on FreeBSD: ${arch}`); + } + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.freebsd-x64.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.freebsd-x64.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-freebsd-x64"); + } + } catch (e) { + loadError = e; + } + break; + case "linux": + switch (arch) { + case "x64": + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.linux-x64-musl.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.linux-x64-musl.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-linux-x64-musl"); + } + } catch (e) { + loadError = e; + } + } else { + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.linux-x64-gnu.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.linux-x64-gnu.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-linux-x64-gnu"); + } + } catch (e) { + loadError = e; + } + } + break; + case "arm64": + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.linux-arm64-musl.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.linux-arm64-musl.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-linux-arm64-musl"); + } + } catch (e) { + loadError = e; + } + } else { + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.linux-arm64-gnu.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.linux-arm64-gnu.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-linux-arm64-gnu"); + } + } catch (e) { + loadError = e; + } + } + break; + case "arm": + localFileExisted = existsSync( + join(__dirname, "my_rust_node_lib.linux-arm-gnueabihf.node") + ); + try { + if (localFileExisted) { + nativeBinding = require("./my_rust_node_lib.linux-arm-gnueabihf.node"); + } else { + nativeBinding = require("@tevm/my-rust-node-lib-linux-arm-gnueabihf"); + } + } catch (e) { + loadError = e; + } + break; + default: + throw new Error(`Unsupported architecture on Linux: ${arch}`); + } + break; + default: + throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); +} + +if (!nativeBinding) { + if (loadError) { + throw loadError; + } + throw new Error(`Failed to load native binding`); +} + +const { sum } = nativeBinding; + +module.exports.sum = sum; diff --git a/packages/my_rust_node_lib/npm/darwin-arm64/README.md b/packages/my_rust_node_lib/npm/darwin-arm64/README.md new file mode 100644 index 0000000000..435d755e4f --- /dev/null +++ b/packages/my_rust_node_lib/npm/darwin-arm64/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-darwin-arm64` + +This is the **aarch64-apple-darwin** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/darwin-arm64/package.json b/packages/my_rust_node_lib/npm/darwin-arm64/package.json new file mode 100644 index 0000000000..e3368cb185 --- /dev/null +++ b/packages/my_rust_node_lib/npm/darwin-arm64/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tevm/my-rust-node-lib-darwin-arm64", + "version": "0.0.0", + "cpu": [ + "arm64" + ], + "main": "my_rust_node_lib.darwin-arm64.node", + "files": [ + "my_rust_node_lib.darwin-arm64.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "darwin" + ] +} diff --git a/packages/my_rust_node_lib/npm/darwin-x64/README.md b/packages/my_rust_node_lib/npm/darwin-x64/README.md new file mode 100644 index 0000000000..9deb13c61b --- /dev/null +++ b/packages/my_rust_node_lib/npm/darwin-x64/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-darwin-x64` + +This is the **x86_64-apple-darwin** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/darwin-x64/package.json b/packages/my_rust_node_lib/npm/darwin-x64/package.json new file mode 100644 index 0000000000..f505084fcf --- /dev/null +++ b/packages/my_rust_node_lib/npm/darwin-x64/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tevm/my-rust-node-lib-darwin-x64", + "version": "0.0.0", + "cpu": [ + "x64" + ], + "main": "my_rust_node_lib.darwin-x64.node", + "files": [ + "my_rust_node_lib.darwin-x64.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "darwin" + ] +} diff --git a/packages/my_rust_node_lib/npm/freebsd-x64/README.md b/packages/my_rust_node_lib/npm/freebsd-x64/README.md new file mode 100644 index 0000000000..7b14266fa5 --- /dev/null +++ b/packages/my_rust_node_lib/npm/freebsd-x64/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-freebsd-x64` + +This is the **x86_64-unknown-freebsd** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/freebsd-x64/package.json b/packages/my_rust_node_lib/npm/freebsd-x64/package.json new file mode 100644 index 0000000000..69d38c6601 --- /dev/null +++ b/packages/my_rust_node_lib/npm/freebsd-x64/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tevm/my-rust-node-lib-freebsd-x64", + "version": "0.0.0", + "cpu": [ + "x64" + ], + "main": "my_rust_node_lib.freebsd-x64.node", + "files": [ + "my_rust_node_lib.freebsd-x64.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "freebsd" + ] +} diff --git a/packages/my_rust_node_lib/npm/linux-arm-gnueabihf/README.md b/packages/my_rust_node_lib/npm/linux-arm-gnueabihf/README.md new file mode 100644 index 0000000000..e75a78ab03 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-arm-gnueabihf/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-linux-arm-gnueabihf` + +This is the **armv7-unknown-linux-gnueabihf** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/linux-arm-gnueabihf/package.json b/packages/my_rust_node_lib/npm/linux-arm-gnueabihf/package.json new file mode 100644 index 0000000000..b52f3d71f4 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-arm-gnueabihf/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tevm/my-rust-node-lib-linux-arm-gnueabihf", + "version": "0.0.0", + "cpu": [ + "arm" + ], + "main": "my_rust_node_lib.linux-arm-gnueabihf.node", + "files": [ + "my_rust_node_lib.linux-arm-gnueabihf.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "linux" + ] +} diff --git a/packages/my_rust_node_lib/npm/linux-arm64-gnu/README.md b/packages/my_rust_node_lib/npm/linux-arm64-gnu/README.md new file mode 100644 index 0000000000..ee9c6bbd45 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-arm64-gnu/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-linux-arm64-gnu` + +This is the **aarch64-unknown-linux-gnu** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/linux-arm64-gnu/package.json b/packages/my_rust_node_lib/npm/linux-arm64-gnu/package.json new file mode 100644 index 0000000000..d7e8338839 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-arm64-gnu/package.json @@ -0,0 +1,20 @@ +{ + "name": "@tevm/my-rust-node-lib-linux-arm64-gnu", + "version": "0.0.0", + "cpu": [ + "arm64" + ], + "main": "my_rust_node_lib.linux-arm64-gnu.node", + "files": [ + "my_rust_node_lib.linux-arm64-gnu.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "linux" + ], + "libc": [ + "glibc" + ] +} diff --git a/packages/my_rust_node_lib/npm/linux-arm64-musl/README.md b/packages/my_rust_node_lib/npm/linux-arm64-musl/README.md new file mode 100644 index 0000000000..216503b1f4 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-arm64-musl/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-linux-arm64-musl` + +This is the **aarch64-unknown-linux-musl** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/linux-arm64-musl/package.json b/packages/my_rust_node_lib/npm/linux-arm64-musl/package.json new file mode 100644 index 0000000000..6f1132b892 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-arm64-musl/package.json @@ -0,0 +1,20 @@ +{ + "name": "@tevm/my-rust-node-lib-linux-arm64-musl", + "version": "0.0.0", + "cpu": [ + "arm64" + ], + "main": "my_rust_node_lib.linux-arm64-musl.node", + "files": [ + "my_rust_node_lib.linux-arm64-musl.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ] +} diff --git a/packages/my_rust_node_lib/npm/linux-x64-musl/README.md b/packages/my_rust_node_lib/npm/linux-x64-musl/README.md new file mode 100644 index 0000000000..69bb54ab6c --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-x64-musl/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-linux-x64-musl` + +This is the **x86_64-unknown-linux-musl** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/linux-x64-musl/package.json b/packages/my_rust_node_lib/npm/linux-x64-musl/package.json new file mode 100644 index 0000000000..4f1b717984 --- /dev/null +++ b/packages/my_rust_node_lib/npm/linux-x64-musl/package.json @@ -0,0 +1,20 @@ +{ + "name": "@tevm/my-rust-node-lib-linux-x64-musl", + "version": "0.0.0", + "cpu": [ + "x64" + ], + "main": "my_rust_node_lib.linux-x64-musl.node", + "files": [ + "my_rust_node_lib.linux-x64-musl.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "linux" + ], + "libc": [ + "musl" + ] +} diff --git a/packages/my_rust_node_lib/npm/wasm32-wasi/README.md b/packages/my_rust_node_lib/npm/wasm32-wasi/README.md new file mode 100644 index 0000000000..ba17d63125 --- /dev/null +++ b/packages/my_rust_node_lib/npm/wasm32-wasi/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-wasm32-wasi` + +This is the **wasm32-wasip1-threads** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/wasm32-wasi/package.json b/packages/my_rust_node_lib/npm/wasm32-wasi/package.json new file mode 100644 index 0000000000..17d3c2b321 --- /dev/null +++ b/packages/my_rust_node_lib/npm/wasm32-wasi/package.json @@ -0,0 +1,22 @@ +{ + "name": "@tevm/my-rust-node-lib-wasm32-wasi", + "version": "0.0.0", + "cpu": [ + "wasm32" + ], + "main": "my_rust_node_lib.wasi.cjs", + "files": [ + "my_rust_node_lib.wasm32-wasi.wasm", + "my_rust_node_lib.wasi.cjs", + "my_rust_node_lib.wasi-browser.js", + "wasi-worker.mjs", + "wasi-worker-browser.mjs" + ], + "engines": { + "node": ">=14.0.0" + }, + "browser": "my_rust_node_lib.wasi-browser.js", + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.5" + } +} diff --git a/packages/my_rust_node_lib/npm/win32-arm64-msvc/README.md b/packages/my_rust_node_lib/npm/win32-arm64-msvc/README.md new file mode 100644 index 0000000000..4e0afa5bb5 --- /dev/null +++ b/packages/my_rust_node_lib/npm/win32-arm64-msvc/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-win32-arm64-msvc` + +This is the **aarch64-pc-windows-msvc** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/win32-arm64-msvc/package.json b/packages/my_rust_node_lib/npm/win32-arm64-msvc/package.json new file mode 100644 index 0000000000..bed49064eb --- /dev/null +++ b/packages/my_rust_node_lib/npm/win32-arm64-msvc/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tevm/my-rust-node-lib-win32-arm64-msvc", + "version": "0.0.0", + "cpu": [ + "arm64" + ], + "main": "my_rust_node_lib.win32-arm64-msvc.node", + "files": [ + "my_rust_node_lib.win32-arm64-msvc.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "win32" + ] +} diff --git a/packages/my_rust_node_lib/npm/win32-ia32-msvc/README.md b/packages/my_rust_node_lib/npm/win32-ia32-msvc/README.md new file mode 100644 index 0000000000..be4f0b110d --- /dev/null +++ b/packages/my_rust_node_lib/npm/win32-ia32-msvc/README.md @@ -0,0 +1,3 @@ +# `@tevm/my-rust-node-lib-win32-ia32-msvc` + +This is the **i686-pc-windows-msvc** binary for `@tevm/my-rust-node-lib` diff --git a/packages/my_rust_node_lib/npm/win32-ia32-msvc/package.json b/packages/my_rust_node_lib/npm/win32-ia32-msvc/package.json new file mode 100644 index 0000000000..641aa5e676 --- /dev/null +++ b/packages/my_rust_node_lib/npm/win32-ia32-msvc/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tevm/my-rust-node-lib-win32-ia32-msvc", + "version": "0.0.0", + "cpu": [ + "ia32" + ], + "main": "my_rust_node_lib.win32-ia32-msvc.node", + "files": [ + "my_rust_node_lib.win32-ia32-msvc.node" + ], + "engines": { + "node": ">= 10" + }, + "os": [ + "win32" + ] +} diff --git a/packages/my_rust_node_lib/package.json b/packages/my_rust_node_lib/package.json new file mode 100644 index 0000000000..690008822a --- /dev/null +++ b/packages/my_rust_node_lib/package.json @@ -0,0 +1,25 @@ +{ + "name": "@tevm/my-rust-node-lib", + "version": "0.0.0", + "main": "index.js", + "types": "index.d.ts", + "napi": { + "binaryName": "my_rust_node_lib", + "packageName": "@tevm/my-rust-node-lib", + "targets": [ + "aarch64-apple-darwin", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "aarch64-pc-windows-msvc", + "armv7-unknown-linux-gnueabihf", + "x86_64-unknown-linux-musl", + "x86_64-unknown-freebsd", + "x86_64-apple-darwin", + "i686-pc-windows-msvc", + "wasm32-wasip1-threads" + ] + }, + "engines": { + "node": ">= 10" + } +} diff --git a/packages/my_rust_node_lib/project.json b/packages/my_rust_node_lib/project.json new file mode 100644 index 0000000000..eef12d744a --- /dev/null +++ b/packages/my_rust_node_lib/project.json @@ -0,0 +1,45 @@ +{ + "name": "my_rust_node_lib", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "projectType": "library", + "sourceRoot": "packages/my_rust_node_lib/src", + "tags": [], + "targets": { + "build": { + "cache": true, + "outputs": ["{workspaceRoot}/packages/my_rust_node_lib"], + "executor": "@monodon/rust:napi", + "options": { + "dist": "packages/my_rust_node_lib", + "jsFile": "index.js" + }, + "configurations": { + "production": { + "dist": "dist/my_rust_node_lib", + "release": true + } + } + }, + "test": { + "cache": true, + "executor": "@monodon/rust:test", + "outputs": ["{options.target-dir}"], + "options": { + "target-dir": "dist/target/my_rust_node_lib" + }, + "configurations": { + "production": { + "release": true + } + } + }, + "lint": { + "cache": true, + "executor": "@monodon/rust:lint", + "outputs": ["{options.target-dir}"], + "options": { + "target-dir": "dist/target/my_rust_node_lib" + } + } + } +} diff --git a/packages/my_rust_node_lib/src/lib.rs b/packages/my_rust_node_lib/src/lib.rs new file mode 100644 index 0000000000..0ee2a9fc4e --- /dev/null +++ b/packages/my_rust_node_lib/src/lib.rs @@ -0,0 +1,7 @@ +#[macro_use] +extern crate napi_derive; + +#[napi] +pub fn sum(a: i32, b: i32) -> i32 { + a + b +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 94b1494010..939a68d913 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,15 @@ importers: '@effect/codemod': specifier: ^0.0.16 version: 0.0.16(@babel/preset-env@7.25.4(@babel/core@7.25.2)) + '@monodon/rust': + specifier: ^2.1.0 + version: 2.1.0(@napi-rs/cli@3.0.0-alpha.63(@emnapi/runtime@1.2.0)(emnapi@1.3.1(node-addon-api@7.1.1)))(@swc/core@1.7.28(@swc/helpers@0.5.13)) + '@napi-rs/cli': + specifier: 3.0.0-alpha.63 + version: 3.0.0-alpha.63(@emnapi/runtime@1.2.0)(emnapi@1.3.1(node-addon-api@7.1.1)) + '@napi-rs/wasm-runtime': + specifier: ^0.2.4 + version: 0.2.4 '@vitest/coverage-v8': specifier: ^2.1.1 version: 2.1.1(vitest@2.1.1(@types/node@22.7.3)(@vitest/ui@2.1.1)(terser@5.34.0)) @@ -41,6 +50,9 @@ importers: dotenv: specifier: ^16.4.5 version: 16.4.5 + emnapi: + specifier: ^1.1.0 + version: 1.3.1(node-addon-api@7.1.1) gitmoji-cli: specifier: ^9.4.0 version: 9.4.0 @@ -982,7 +994,7 @@ importers: version: 0.2.0 forge-std: specifier: github:foundry-rs/forge-std - version: https://codeload.github.com/foundry-rs/forge-std/tar.gz/1de6eecf821de7fe2c908cc48d3ab3dced20717f + version: https://codeload.github.com/foundry-rs/forge-std/tar.gz/0e7097750918380d84dd3cfdef595bee74dabb70 react-helmet: specifier: ^6.1.0 version: 6.1.0(react@18.3.1) @@ -1855,6 +1867,8 @@ importers: specifier: workspace:^ version: link:../../configs/tsupconfig + packages/my_rust_node_lib: {} + packages/node: dependencies: '@tevm/address': @@ -4443,10 +4457,66 @@ packages: peerDependencies: ink: '>=5' + '@inquirer/checkbox@3.0.1': + resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} + engines: {node: '>=18'} + + '@inquirer/confirm@4.0.1': + resolution: {integrity: sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==} + engines: {node: '>=18'} + + '@inquirer/core@9.2.1': + resolution: {integrity: sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==} + engines: {node: '>=18'} + + '@inquirer/editor@3.0.1': + resolution: {integrity: sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==} + engines: {node: '>=18'} + + '@inquirer/expand@3.0.1': + resolution: {integrity: sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==} + engines: {node: '>=18'} + '@inquirer/figures@1.0.6': resolution: {integrity: sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==} engines: {node: '>=18'} + '@inquirer/figures@1.0.7': + resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==} + engines: {node: '>=18'} + + '@inquirer/input@3.0.1': + resolution: {integrity: sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==} + engines: {node: '>=18'} + + '@inquirer/number@2.0.1': + resolution: {integrity: sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==} + engines: {node: '>=18'} + + '@inquirer/password@3.0.1': + resolution: {integrity: sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==} + engines: {node: '>=18'} + + '@inquirer/prompts@6.0.1': + resolution: {integrity: sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==} + engines: {node: '>=18'} + + '@inquirer/rawlist@3.0.1': + resolution: {integrity: sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==} + engines: {node: '>=18'} + + '@inquirer/search@2.0.1': + resolution: {integrity: sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==} + engines: {node: '>=18'} + + '@inquirer/select@3.0.1': + resolution: {integrity: sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==} + engines: {node: '>=18'} + + '@inquirer/type@2.0.0': + resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} + engines: {node: '>=18'} + '@ioredis/commands@1.2.0': resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} @@ -4541,6 +4611,9 @@ packages: resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} engines: {node: '>= 0.4'} + '@ltd/j-toml@1.38.0': + resolution: {integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -4643,6 +4716,11 @@ packages: resolution: {integrity: sha512-/u663aUaB6+Xe75i3Mt/1cCljm41HDYIsna5oBrwGvgkY2zH7/9k9Zjd706cxoAbxN7QgLSVAReUiGnuxCuXrQ==} engines: {node: '>=16.0.0'} + '@monodon/rust@2.1.0': + resolution: {integrity: sha512-ZapUazGs6MS1gnNBQPOX3hFSBI/zh6C3MD7oHqhYYDjuCLWgwkFoQUjOwciR6lEhEBfHywCh3lnHwOT+aQBEuw==} + peerDependencies: + '@napi-rs/cli': ^3.0.0-alpha.55 + '@motionone/animation@10.18.0': resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==} @@ -4668,9 +4746,330 @@ packages: resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==} deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion + '@napi-rs/cli@3.0.0-alpha.63': + resolution: {integrity: sha512-kccKMymb6IyS1nEfGHBYNq6aAXwGd3iVvQ6Wx7Wu4ewjO+6i5c6oSgLb75rd4qXL/KtskZp/AOlw7TB5XslTmA==} + engines: {node: '>= 16'} + hasBin: true + peerDependencies: + '@emnapi/runtime': ^1.1.0 + emnapi: ^1.1.0 + peerDependenciesMeta: + '@emnapi/runtime': + optional: true + emnapi: + optional: true + + '@napi-rs/cross-toolchain@0.0.16': + resolution: {integrity: sha512-jwdjHT5L0m9MH0CmzDwPp0ckn/UO7afHCsPeo7NugHUvYgvlgS7SWhdMVgIgJW2HHqhcW/2nhaLLGpAU1c7QRQ==} + peerDependencies: + '@napi-rs/cross-toolchain-arm64-target-aarch64': ^0.0.16 + '@napi-rs/cross-toolchain-arm64-target-armv7': ^0.0.16 + '@napi-rs/cross-toolchain-arm64-target-x86_64': ^0.0.16 + '@napi-rs/cross-toolchain-x64-target-aarch64': ^0.0.16 + '@napi-rs/cross-toolchain-x64-target-armv7': ^0.0.16 + '@napi-rs/cross-toolchain-x64-target-x86_64': ^0.0.16 + peerDependenciesMeta: + '@napi-rs/cross-toolchain-arm64-target-aarch64': + optional: true + '@napi-rs/cross-toolchain-arm64-target-armv7': + optional: true + '@napi-rs/cross-toolchain-arm64-target-x86_64': + optional: true + '@napi-rs/cross-toolchain-x64-target-aarch64': + optional: true + '@napi-rs/cross-toolchain-x64-target-armv7': + optional: true + '@napi-rs/cross-toolchain-x64-target-x86_64': + optional: true + + '@napi-rs/lzma-android-arm-eabi@1.4.1': + resolution: {integrity: sha512-yenreSpZ9IrqppJOiWDqWMmja7XtSgio9LhtxYwgdILmy/OJTe/mlTYv+FhJBf7hIV9Razu5eBuEa3zKri81IA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/lzma-android-arm64@1.4.1': + resolution: {integrity: sha512-piutVBz5B1TNxXeEjub0n/IKI6dMaXPPRbVSXuc4gnZgzcihNDUh68vcLZgYd+IMiACZvBxvx2O3t5nthtph3A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/lzma-darwin-arm64@1.4.1': + resolution: {integrity: sha512-sDfOhQQFqV8lGbpgJN9DqNLBPR7QOfYjcWUv8FOGPaVP1LPJDnrc5uCpRWWEa2zIKmTiO8P9xzIl0TDzrYmghg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/lzma-darwin-x64@1.4.1': + resolution: {integrity: sha512-S5/RbC6EP4QkYy2xhxbfm48ZD9FkysfpWY4Slve0nj5RGGsHvcJBg2Pi69jrTPB/zLKz2SUa0i+RfUt9zvZNaw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/lzma-freebsd-x64@1.4.1': + resolution: {integrity: sha512-4AFnq6aZnclwameSBkDWu5Ftb8y4GwvVXeQXJKbN7hf7O5GG/8QpQB1R1NJw2QORUhpKwjAQUpbkTyhL2GFWWw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/lzma-linux-arm-gnueabihf@1.4.1': + resolution: {integrity: sha512-j5rL1YRIm6rWmmGAvN6DPX6QuRjvFGB93xJ7DTRB47GXW4zHekXae6ivowjJ95vT4Iz4hSWkZbuwAy95eFrWRA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/lzma-linux-arm64-gnu@1.4.1': + resolution: {integrity: sha512-1XdFGKyTS9m+VrRQYs9uz+ToHf4Jwm0ejHU48k9lT9MPl8jSqzKdVtFzZBPzronHteSynBfKmUq0+HeWmjrsOQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/lzma-linux-arm64-musl@1.4.1': + resolution: {integrity: sha512-9d09tYS0/rBwIk1QTcO2hMZEB/ZpsG2+uFW5am1RHElSWMclObirB1An7b6AMDJcRvcomkOg2GZ9COzrvHKwEA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/lzma-linux-ppc64-gnu@1.4.1': + resolution: {integrity: sha512-UzEkmsgoJ3IOGIRb6kBzNiw+ThUpiighop7dVYfSqlF5juGzwf7YewC57RGn4FoJCvadOCrSm5VikAcgrwVgAw==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + + '@napi-rs/lzma-linux-riscv64-gnu@1.4.1': + resolution: {integrity: sha512-9dUKlZ1PdwxTaFF+j3oc+xjlk9nqFwo1NWWOH30uwjl4Rm5Gkv+Fx0pHrzu4kR/iVA+oyQqa9/2uDYnGSTijBA==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] + + '@napi-rs/lzma-linux-s390x-gnu@1.4.1': + resolution: {integrity: sha512-MOVXUWJSLLCJDCCAlGa39sh7nv9XjvXzCf7QJus7rD8Ciz0mpXNXF9mg0ji7/MZ7pZlKPlXjXDnpVCfFdSEaFQ==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + + '@napi-rs/lzma-linux-x64-gnu@1.4.1': + resolution: {integrity: sha512-Sxu7aJxU1sDbUTqjqLVDV3DCOAlbsFKvmuCN/S5uXBJd1IF2wJ9jK3NbFzfqTAo5Hudx8Y7kOb6+3K+fYPI1KQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/lzma-linux-x64-musl@1.4.1': + resolution: {integrity: sha512-4I3BeKBQJSE5gF2/VTEv7wCLLjhapeutbCGpZPmDiLHZ74rm9edmNXAlKpdjADQ4YDLJ2GIBzttvwLXkJ9U+cw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/lzma-wasm32-wasi@1.4.1': + resolution: {integrity: sha512-s32HdKqQWbohf6DGWpG9YMODaBdbKJ++JpNr6Ii7821sKf4h/o+p8IRFTOaWdmdJdllEWlRirnd5crA29VivJQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@napi-rs/lzma-win32-arm64-msvc@1.4.1': + resolution: {integrity: sha512-ISz+v7ML5mKnjEZ7Kk4Z1BIn411r/fz3tDy9j5yDnwQI0MgTsUQFrIQElGUpULWYs2aYc6EZ9PhECbLBfSjh7A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/lzma-win32-ia32-msvc@1.4.1': + resolution: {integrity: sha512-3WKuCpZBrd7Jrw+h1jSu5XAsRWepMJu0sYuRoA4Y4Cwfu9gI7p5Z5Bc510nfjg7M7xvdpkI4UoW2WY7kBFRYrQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/lzma-win32-x64-msvc@1.4.1': + resolution: {integrity: sha512-0ixRo5z1zFXdh62hlrTV+QCTKHK0te5NHKaExOluhtcc6AdpMmpslvM9JhUxNHI+zM46w/DmmcvcOtqsaTmHgg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/lzma@1.4.1': + resolution: {integrity: sha512-5f8K9NHjwHjZKGm3SS+7CFxXQhz8rbg2umBm/9g0xQRXBdYEI31N5z1ACuk9bmBQOusXAq9CArGfs/ZQso2rUA==} + engines: {node: '>= 10'} + + '@napi-rs/tar-android-arm-eabi@0.1.4': + resolution: {integrity: sha512-LMSysWp5AmZj1NOCB2jshc9KCvp4gm7vm0Cra5U2crMvlj/fwGrvv6+EzSw49y8wCkNEcQ8QaGq5NBQKiLogSg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/tar-android-arm64@0.1.4': + resolution: {integrity: sha512-A/2rl8xr7F5yOtHVARROoSwjRRDNL1RlXCsg/K+RE5/V9iPBojsJsLpFPilp7InF6bi+z7aYn+yWCD6wSwfF4A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/tar-darwin-arm64@0.1.4': + resolution: {integrity: sha512-mnGBswBRtxDqUwXUZx+f9Uuy2uPssxuvcWFTYgUSZqlS2pg/XIWZdHZhbqWqKGpjpZrYcr+42roytbWlZ+epMA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/tar-darwin-x64@0.1.4': + resolution: {integrity: sha512-I81Fvl/cfnFVBET49xywNd57dXLJPO7jqrjD9Z2bKeXA0v0Zt1cwV1IOOTihFZXJv7kgu6EfNB7oumoLOTqq5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/tar-freebsd-x64@0.1.4': + resolution: {integrity: sha512-p5OFr3MqidZHkt9bHV2FgeS6k06g+s0GR2kvj/wm2mIxr7u3/sj3+RTr7GHz5DQq08T7uH85HhsrGYWN3vxmSg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/tar-linux-arm-gnueabihf@0.1.4': + resolution: {integrity: sha512-POp2zb/Yuw6taEmrTlEoQI5S+2HmgfV1VtqGQZgRmCa85NlWLDsR6vbW9euu/6NbLj3ld15cCeJC2oJkv9k/xg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/tar-linux-arm64-gnu@0.1.4': + resolution: {integrity: sha512-TV+2AppSgJx5U9nk1C9bh1afWcBVnnANJ4SmtqUF6ediHcDS2rLebeI8BGljfnX9F149qbT9gOGN+R8tofpCsg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/tar-linux-arm64-musl@0.1.4': + resolution: {integrity: sha512-UFBvKpYmuQRbgmXuSSPb8mRjq4JRZLYJhqwrWWnlfQP13xK2WB7mL2GhewBgynSH4YKDm6biKhK6U5RrSWEDgw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/tar-linux-ppc64-gnu@0.1.4': + resolution: {integrity: sha512-HT+h6Wv51SKXqks8UBF+KVuNJ09fM1GyO+SvCnDB5MF66tGiI2C6/MSX69zf1ZeqjACds1K/UwKiZCmE76/j9A==} + engines: {node: '>= 10'} + cpu: [ppc64] + os: [linux] + + '@napi-rs/tar-linux-s390x-gnu@0.1.4': + resolution: {integrity: sha512-SJ+HSr281Y6cgJrQ4nkYbXaTHAmTLv/FZm5k9ZRA6Khml//ZoWi7CiT8dnPeD4QxYwCzAFA4aYMUOQJM/mk2/w==} + engines: {node: '>= 10'} + cpu: [s390x] + os: [linux] + + '@napi-rs/tar-linux-x64-gnu@0.1.4': + resolution: {integrity: sha512-LrF0lRFiFOkO40jfgTdF8dRTvYOLV52fdZ/YnJuBodNcxqEl9rChO3v5Uag//sy0me85FjqtobQNRQP8Nd80dA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/tar-linux-x64-musl@0.1.4': + resolution: {integrity: sha512-etGUWbs+Tk1PtzgyWrVzXa2fQrHNKSc/whHm+4x1Num8Oz+wGdjCDTUktYxAVy33PKZhdblVxxE83QXxkgjneQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/tar-wasm32-wasi@0.1.4': + resolution: {integrity: sha512-mANkm93AKy+OspkOBAC5WI64SopXT0VawdTjpeGW1OgyUSJWdUB5rhs3I7B/HW1bi5tsUoZOZQe3rVgYdfzA6g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@napi-rs/tar-win32-arm64-msvc@0.1.4': + resolution: {integrity: sha512-/5/gp6WR9b36CysJDe8AdyjNeje+NqCniYJz/AZc+UvpKwG8MG9nS6TMpJ9IgrQacJXvc4lWXxYyn6uuPQVvaQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/tar-win32-ia32-msvc@0.1.4': + resolution: {integrity: sha512-HnQi0op9BqJqPekKXhEAI1TWkLtavxKDBDGXNhUSm2//jriMeRykahUcKoUUxr1UGrmtxpc5dx0cThBt13paEw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/tar-win32-x64-msvc@0.1.4': + resolution: {integrity: sha512-vy2ebEXerblni6XOgi3a27+CnI6PdQ9Phy/ru5HM4bVd/oulAJohmynAmBAB1AmXg1NLbAEWu43nATEDp5O2hA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/tar@0.1.4': + resolution: {integrity: sha512-hDsvmMZY8tl2CcLfjnTeE1o5W1eGTSL+ZIX8YEybtcJwA+Cc8SNHb7l6JqMnGcjOrWBZbHt8tzTN+W7qHS5Wmg==} + engines: {node: '>= 10'} + '@napi-rs/wasm-runtime@0.2.4': resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + '@napi-rs/wasm-tools-android-arm-eabi@0.0.2': + resolution: {integrity: sha512-/b+UU3suXjW4P0DzHRNdrnebQtFKcQf/YMeZJH+xUlKgvwli5kbmWjx8Wqqz0VETVkUTuPqJMBDIVLyc+14FGw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/wasm-tools-android-arm64@0.0.2': + resolution: {integrity: sha512-j57GbDflwJdZtT8pZj5fOV4JAP+LdKN+wzsUYs+QRUoBqpWbbUANudolqfw63bkS9sD4z7fbCuz8iwtJqzxTVA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/wasm-tools-darwin-arm64@0.0.2': + resolution: {integrity: sha512-P2ChgWgVuv9GwmbxN89R84KzIImoTqXINteEixUvmkdnhyFiR+I8deNs89Yed+5w8QLC6MEfrtRqLP9YI+NoQA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/wasm-tools-darwin-x64@0.0.2': + resolution: {integrity: sha512-T/kQQ0gt8+wau1Z821PKVAD76QhmwVoLs2CT7Z9tTBs2pJvwSCP0C/kQiQAHcJIMi7A2E9Ab/Mez0BERy50EFA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/wasm-tools-freebsd-x64@0.0.2': + resolution: {integrity: sha512-GnnHu+r5sfzuxC/1J5UMF/h3BOZnHb3NQZ5hmbCfZYCKzpzRxrAJhzRunlbRN+v0x8M/49dztVTYR3s7K4ooAw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@napi-rs/wasm-tools-linux-arm64-gnu@0.0.2': + resolution: {integrity: sha512-KnZdLT0OnKb1CG2kdt3/WvM43vr9i+FEwXCvSOVC/6Tsifz7ynhMg7LAVESILd03HubzQJfg9nbRsk0bQ+IOwg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/wasm-tools-linux-arm64-musl@0.0.2': + resolution: {integrity: sha512-HkpZOID2U8P6pWqK3mqZ8bxU5xcuT3iA2fO+jrxn78h006iYgfNmdc5JaVhHnHazMmk32xKhSV4iV0VUh8UWDg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/wasm-tools-linux-x64-gnu@0.0.2': + resolution: {integrity: sha512-YksJWBCyOalB9ogtP9+/dZKP+vR6+h7BmzMXaXMT71WW/GvIsifMVgv+DY/FRSNJQupp5Y+ugjqVAOUOc/G65g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/wasm-tools-linux-x64-musl@0.0.2': + resolution: {integrity: sha512-sPtRxPMdw05KdTcxgSPMmSXG2+PiK3vJ/l2+g9hvjnnKtvslJN2Hr7j8zgzuoKRAUFPaJVe6+D2xVh5cpdqhww==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/wasm-tools-wasm32-wasi@0.0.2': + resolution: {integrity: sha512-muRvZK7AIuo88G2AxYx3gA59rHMQgoN004saQkBvXnz3K/DVHKfTZ6TtUebss8zI3dURU6xExL8drxFWYxjEbQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@napi-rs/wasm-tools-win32-arm64-msvc@0.0.2': + resolution: {integrity: sha512-Cn13WQ+tpFqdVwx0DIWKbsI9auFyzVZV4F5UNOUeDt6GgOL+NndgJul0Pc9bSU6fi03AylMPfF/nTCaDWO2Wgw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/wasm-tools-win32-ia32-msvc@0.0.2': + resolution: {integrity: sha512-xsg5DkIQi82a8rcx6246Y3XC8TIqHamY+/C6sIlPLaZEuHctDkMECAw0AANwRf5vN//D2oo2oljOuoYtB1GOKw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@napi-rs/wasm-tools-win32-x64-msvc@0.0.2': + resolution: {integrity: sha512-yHigltEt33eq8bappvKsIliz4MxfMPn1M+NWbIFRWN+IS1Z57mhmc1osuk+IRXrSlq0Tom0R6MYN1jpkZKz81Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/wasm-tools@0.0.2': + resolution: {integrity: sha512-kBvDQCP5BLw2TxTENXLp3Of7vVEx0uyIye824JHE4dduzzOHVgSoOFVhVqAT3Fx/hLV445RVWfEqQbXMg4w/Mw==} + engines: {node: '>= 10'} + '@next/env@14.2.13': resolution: {integrity: sha512-s3lh6K8cbW1h5Nga7NNeXrbe0+2jIIYK9YaA9T7IufDWnZpozdFUp6Hf0d5rNWUKu4fEuSX2rCKlGjCrtylfDw==} @@ -4874,6 +5273,11 @@ packages: resolution: {integrity: sha512-WvGvFjCy/dSpviLJE8YKcSqpTVpX78UFUhYGgd0OxNlnz0I52HDsZekVWJnyCuU0NDGH6BNmS77R79zj+WzxvQ==} hasBin: true + '@nx/devkit@20.0.12': + resolution: {integrity: sha512-HsaDoAmzLPE2vHal2eNYvH7x6NCfHjUblm8WDD12Q/uCdTBvDTZqd7P+bukEH+2FhY89Dn/1fy59vKkA+rcB/g==} + peerDependencies: + nx: '>= 19 <= 21' + '@nx/nx-darwin-arm64@19.8.2': resolution: {integrity: sha512-O06sOObpaF3UQrx6R5s0kFOrhrk/N20rKhOMaD5Qxw6lmVr6TGGH1epGpD8ES7ZPS+p7FUtU9/FPHwY02BZfBg==} engines: {node: '>= 10'} @@ -4934,6 +5338,58 @@ packages: cpu: [x64] os: [win32] + '@octokit/auth-token@5.1.1': + resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} + engines: {node: '>= 18'} + + '@octokit/core@6.1.2': + resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} + engines: {node: '>= 18'} + + '@octokit/endpoint@10.1.1': + resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} + engines: {node: '>= 18'} + + '@octokit/graphql@8.1.1': + resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} + engines: {node: '>= 18'} + + '@octokit/openapi-types@22.2.0': + resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} + + '@octokit/plugin-paginate-rest@11.3.5': + resolution: {integrity: sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-request-log@5.3.1': + resolution: {integrity: sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-rest-endpoint-methods@13.2.6': + resolution: {integrity: sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/request-error@6.1.5': + resolution: {integrity: sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==} + engines: {node: '>= 18'} + + '@octokit/request@9.1.3': + resolution: {integrity: sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==} + engines: {node: '>= 18'} + + '@octokit/rest@21.0.2': + resolution: {integrity: sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ==} + engines: {node: '>= 18'} + + '@octokit/types@13.6.1': + resolution: {integrity: sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==} + '@openzeppelin/contracts@4.9.6': resolution: {integrity: sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==} @@ -6421,6 +6877,9 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} @@ -6526,6 +6985,9 @@ packages: '@types/vscode@1.93.0': resolution: {integrity: sha512-kUK6jAHSR5zY8ps42xuW89NLcBpw1kOabah7yv38J8MyiYuOHxLQBi0e7zeXbQgVefDy/mZZetqEFC+Fl5eIEQ==} + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} @@ -7266,6 +7728,9 @@ packages: async-mutex@0.2.6: resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -7412,6 +7877,9 @@ packages: bcryptjs@2.4.3: resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} + before-after-hook@3.0.2: + resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -7844,6 +8312,11 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + clipanion@3.2.1: + resolution: {integrity: sha512-dYFdjLb7y1ajfxQopN05mylEpK9ZX0sO1/RfMXdfmwjlIsPkbh4p7A682x++zFPLDCo1x3p82dtljHf5cW2LKA==} + peerDependencies: + typanion: '*' + clipboardy@3.0.0: resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7929,6 +8402,9 @@ packages: colorette@1.4.0: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -8484,6 +8960,11 @@ packages: effect@3.8.4: resolution: {integrity: sha512-rOZ1XAi+Fb+fAHoUJ5FnJPSPZEBxVbCl5QWtOWFTgOeFHx0QpbK3pezWvq9OIxQPdwvSkPOw926qrs4xdD9dLA==} + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + electron-to-chromium@1.4.633: resolution: {integrity: sha512-7BvxzXrHFliyQ1oZc6NRMjyEaKOO1Ma1NY98sFZofogWlm+klLWSgrDw7EhatiMgi4R4NV+iWxDdxuIKXtPbOw==} @@ -8499,6 +8980,14 @@ packages: emmet@2.4.11: resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} + emnapi@1.3.1: + resolution: {integrity: sha512-8rnw2VLJmHAXBSyhtrL9O5aW1VdbXA1ovRslp0IyTwnM62Fz83jQIo+VaIObgzdo6r1A98J9AHEq4KTqIR67Aw==} + peerDependencies: + node-addon-api: '>= 6.1.0' + peerDependenciesMeta: + node-addon-api: + optional: true + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -8925,6 +9414,9 @@ packages: file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + filename-regex@2.0.1: resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} engines: {node: '>=0.10.0'} @@ -9030,9 +9522,9 @@ packages: resolution: {integrity: sha512-W8+hV/qnShs4pZSIcHfYvKi7ds1FjNVW14XG5fMkkTBzbUGJh5BxbTc3KZZy7nWbPpaHLGnRszMZNZlLvi6qww==} hasBin: true - forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/1de6eecf821de7fe2c908cc48d3ab3dced20717f: - resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/1de6eecf821de7fe2c908cc48d3ab3dced20717f} - version: 1.9.3 + forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/0e7097750918380d84dd3cfdef595bee74dabb70: + resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/0e7097750918380d84dd3cfdef595bee74dabb70} + version: 1.9.4 form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -10044,6 +10536,11 @@ packages: resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} engines: {node: 20 || >=22} + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true + jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10337,6 +10834,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -12491,6 +12991,11 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -13273,6 +13778,9 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} @@ -13390,6 +13898,9 @@ packages: tweetnacl@1.0.3: resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + typanion@3.14.0: + resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} + type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -13600,6 +14111,9 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universal-user-agent@7.0.2: + resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -14183,6 +14697,9 @@ packages: resolution: {integrity: sha512-dIyKWUumPFsGohdndZjDXRFaokUT/kQS+SavbbiXVAvA/eN4riX5QNdB6AhXQx37zNxluxQkuixZUgJ8adKjOg==} hasBin: true + wasm-sjlj@1.0.5: + resolution: {integrity: sha512-Z/MHJeOkAvJJVWnGX3/YZGYldGaawZbYHX4ldYG9kLhcdB8H31F5x66M7Zc4BP/7pg0aLsusQj1629m2B3Rilg==} + watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -14505,6 +15022,10 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + yoga-wasm-web@0.3.3: resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} @@ -16915,8 +17436,104 @@ snapshots: figures: 6.1.0 ink: 5.0.1(@types/react@18.3.9)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + '@inquirer/checkbox@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + + '@inquirer/confirm@4.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/core@9.2.1': + dependencies: + '@inquirer/figures': 1.0.7 + '@inquirer/type': 2.0.0 + '@types/mute-stream': 0.0.4 + '@types/node': 22.7.3 + '@types/wrap-ansi': 3.0.0 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 1.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + + '@inquirer/editor@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + external-editor: 3.1.0 + + '@inquirer/expand@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.2 + '@inquirer/figures@1.0.6': {} + '@inquirer/figures@1.0.7': {} + + '@inquirer/input@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/number@2.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + + '@inquirer/password@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + + '@inquirer/prompts@6.0.1': + dependencies: + '@inquirer/checkbox': 3.0.1 + '@inquirer/confirm': 4.0.1 + '@inquirer/editor': 3.0.1 + '@inquirer/expand': 3.0.1 + '@inquirer/input': 3.0.1 + '@inquirer/number': 2.0.1 + '@inquirer/password': 3.0.1 + '@inquirer/rawlist': 3.0.1 + '@inquirer/search': 2.0.1 + '@inquirer/select': 3.0.1 + + '@inquirer/rawlist@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.2 + + '@inquirer/search@2.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 2.0.0 + yoctocolors-cjs: 2.1.2 + + '@inquirer/select@3.0.1': + dependencies: + '@inquirer/core': 9.2.1 + '@inquirer/figures': 1.0.7 + '@inquirer/type': 2.0.0 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + + '@inquirer/type@2.0.0': + dependencies: + mute-stream: 1.0.0 + '@ioredis/commands@1.2.0': optional: true @@ -17030,6 +17647,8 @@ snapshots: dependencies: call-bind: 1.0.7 + '@ltd/j-toml@1.38.0': {} + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.25.6 @@ -17252,6 +17871,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@monodon/rust@2.1.0(@napi-rs/cli@3.0.0-alpha.63(@emnapi/runtime@1.2.0)(emnapi@1.3.1(node-addon-api@7.1.1)))(@swc/core@1.7.28(@swc/helpers@0.5.13))': + dependencies: + '@ltd/j-toml': 1.38.0 + '@napi-rs/cli': 3.0.0-alpha.63(@emnapi/runtime@1.2.0)(emnapi@1.3.1(node-addon-api@7.1.1)) + '@nx/devkit': 20.0.12(nx@19.8.2(@swc/core@1.7.28(@swc/helpers@0.5.13))) + chalk: 4.1.2 + npm-run-path: 4.0.1 + nx: 19.8.2(@swc/core@1.7.28(@swc/helpers@0.5.13)) + semver: 7.5.4 + tslib: 2.7.0 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + '@motionone/animation@10.18.0': dependencies: '@motionone/easing': 10.18.0 @@ -17297,12 +17931,246 @@ snapshots: '@motionone/dom': 10.18.0 tslib: 2.7.0 + '@napi-rs/cli@3.0.0-alpha.63(@emnapi/runtime@1.2.0)(emnapi@1.3.1(node-addon-api@7.1.1))': + dependencies: + '@inquirer/prompts': 6.0.1 + '@napi-rs/cross-toolchain': 0.0.16 + '@napi-rs/wasm-tools': 0.0.2 + '@octokit/rest': 21.0.2 + clipanion: 3.2.1(typanion@3.14.0) + colorette: 2.0.20 + debug: 4.3.7(supports-color@8.1.1) + js-yaml: 4.1.0 + lodash-es: 4.17.21 + semver: 7.6.3 + toml: 3.0.0 + typanion: 3.14.0 + wasm-sjlj: 1.0.5 + optionalDependencies: + '@emnapi/runtime': 1.2.0 + emnapi: 1.3.1(node-addon-api@7.1.1) + transitivePeerDependencies: + - '@napi-rs/cross-toolchain-arm64-target-aarch64' + - '@napi-rs/cross-toolchain-arm64-target-armv7' + - '@napi-rs/cross-toolchain-arm64-target-x86_64' + - '@napi-rs/cross-toolchain-x64-target-aarch64' + - '@napi-rs/cross-toolchain-x64-target-armv7' + - '@napi-rs/cross-toolchain-x64-target-x86_64' + - supports-color + + '@napi-rs/cross-toolchain@0.0.16': + dependencies: + '@napi-rs/lzma': 1.4.1 + '@napi-rs/tar': 0.1.4 + debug: 4.3.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@napi-rs/lzma-android-arm-eabi@1.4.1': + optional: true + + '@napi-rs/lzma-android-arm64@1.4.1': + optional: true + + '@napi-rs/lzma-darwin-arm64@1.4.1': + optional: true + + '@napi-rs/lzma-darwin-x64@1.4.1': + optional: true + + '@napi-rs/lzma-freebsd-x64@1.4.1': + optional: true + + '@napi-rs/lzma-linux-arm-gnueabihf@1.4.1': + optional: true + + '@napi-rs/lzma-linux-arm64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-arm64-musl@1.4.1': + optional: true + + '@napi-rs/lzma-linux-ppc64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-riscv64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-s390x-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-x64-gnu@1.4.1': + optional: true + + '@napi-rs/lzma-linux-x64-musl@1.4.1': + optional: true + + '@napi-rs/lzma-wasm32-wasi@1.4.1': + dependencies: + '@napi-rs/wasm-runtime': 0.2.4 + optional: true + + '@napi-rs/lzma-win32-arm64-msvc@1.4.1': + optional: true + + '@napi-rs/lzma-win32-ia32-msvc@1.4.1': + optional: true + + '@napi-rs/lzma-win32-x64-msvc@1.4.1': + optional: true + + '@napi-rs/lzma@1.4.1': + optionalDependencies: + '@napi-rs/lzma-android-arm-eabi': 1.4.1 + '@napi-rs/lzma-android-arm64': 1.4.1 + '@napi-rs/lzma-darwin-arm64': 1.4.1 + '@napi-rs/lzma-darwin-x64': 1.4.1 + '@napi-rs/lzma-freebsd-x64': 1.4.1 + '@napi-rs/lzma-linux-arm-gnueabihf': 1.4.1 + '@napi-rs/lzma-linux-arm64-gnu': 1.4.1 + '@napi-rs/lzma-linux-arm64-musl': 1.4.1 + '@napi-rs/lzma-linux-ppc64-gnu': 1.4.1 + '@napi-rs/lzma-linux-riscv64-gnu': 1.4.1 + '@napi-rs/lzma-linux-s390x-gnu': 1.4.1 + '@napi-rs/lzma-linux-x64-gnu': 1.4.1 + '@napi-rs/lzma-linux-x64-musl': 1.4.1 + '@napi-rs/lzma-wasm32-wasi': 1.4.1 + '@napi-rs/lzma-win32-arm64-msvc': 1.4.1 + '@napi-rs/lzma-win32-ia32-msvc': 1.4.1 + '@napi-rs/lzma-win32-x64-msvc': 1.4.1 + + '@napi-rs/tar-android-arm-eabi@0.1.4': + optional: true + + '@napi-rs/tar-android-arm64@0.1.4': + optional: true + + '@napi-rs/tar-darwin-arm64@0.1.4': + optional: true + + '@napi-rs/tar-darwin-x64@0.1.4': + optional: true + + '@napi-rs/tar-freebsd-x64@0.1.4': + optional: true + + '@napi-rs/tar-linux-arm-gnueabihf@0.1.4': + optional: true + + '@napi-rs/tar-linux-arm64-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-arm64-musl@0.1.4': + optional: true + + '@napi-rs/tar-linux-ppc64-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-s390x-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-x64-gnu@0.1.4': + optional: true + + '@napi-rs/tar-linux-x64-musl@0.1.4': + optional: true + + '@napi-rs/tar-wasm32-wasi@0.1.4': + dependencies: + '@napi-rs/wasm-runtime': 0.2.4 + optional: true + + '@napi-rs/tar-win32-arm64-msvc@0.1.4': + optional: true + + '@napi-rs/tar-win32-ia32-msvc@0.1.4': + optional: true + + '@napi-rs/tar-win32-x64-msvc@0.1.4': + optional: true + + '@napi-rs/tar@0.1.4': + optionalDependencies: + '@napi-rs/tar-android-arm-eabi': 0.1.4 + '@napi-rs/tar-android-arm64': 0.1.4 + '@napi-rs/tar-darwin-arm64': 0.1.4 + '@napi-rs/tar-darwin-x64': 0.1.4 + '@napi-rs/tar-freebsd-x64': 0.1.4 + '@napi-rs/tar-linux-arm-gnueabihf': 0.1.4 + '@napi-rs/tar-linux-arm64-gnu': 0.1.4 + '@napi-rs/tar-linux-arm64-musl': 0.1.4 + '@napi-rs/tar-linux-ppc64-gnu': 0.1.4 + '@napi-rs/tar-linux-s390x-gnu': 0.1.4 + '@napi-rs/tar-linux-x64-gnu': 0.1.4 + '@napi-rs/tar-linux-x64-musl': 0.1.4 + '@napi-rs/tar-wasm32-wasi': 0.1.4 + '@napi-rs/tar-win32-arm64-msvc': 0.1.4 + '@napi-rs/tar-win32-ia32-msvc': 0.1.4 + '@napi-rs/tar-win32-x64-msvc': 0.1.4 + '@napi-rs/wasm-runtime@0.2.4': dependencies: '@emnapi/core': 1.2.0 '@emnapi/runtime': 1.2.0 '@tybys/wasm-util': 0.9.0 + '@napi-rs/wasm-tools-android-arm-eabi@0.0.2': + optional: true + + '@napi-rs/wasm-tools-android-arm64@0.0.2': + optional: true + + '@napi-rs/wasm-tools-darwin-arm64@0.0.2': + optional: true + + '@napi-rs/wasm-tools-darwin-x64@0.0.2': + optional: true + + '@napi-rs/wasm-tools-freebsd-x64@0.0.2': + optional: true + + '@napi-rs/wasm-tools-linux-arm64-gnu@0.0.2': + optional: true + + '@napi-rs/wasm-tools-linux-arm64-musl@0.0.2': + optional: true + + '@napi-rs/wasm-tools-linux-x64-gnu@0.0.2': + optional: true + + '@napi-rs/wasm-tools-linux-x64-musl@0.0.2': + optional: true + + '@napi-rs/wasm-tools-wasm32-wasi@0.0.2': + dependencies: + '@napi-rs/wasm-runtime': 0.2.4 + optional: true + + '@napi-rs/wasm-tools-win32-arm64-msvc@0.0.2': + optional: true + + '@napi-rs/wasm-tools-win32-ia32-msvc@0.0.2': + optional: true + + '@napi-rs/wasm-tools-win32-x64-msvc@0.0.2': + optional: true + + '@napi-rs/wasm-tools@0.0.2': + optionalDependencies: + '@napi-rs/wasm-tools-android-arm-eabi': 0.0.2 + '@napi-rs/wasm-tools-android-arm64': 0.0.2 + '@napi-rs/wasm-tools-darwin-arm64': 0.0.2 + '@napi-rs/wasm-tools-darwin-x64': 0.0.2 + '@napi-rs/wasm-tools-freebsd-x64': 0.0.2 + '@napi-rs/wasm-tools-linux-arm64-gnu': 0.0.2 + '@napi-rs/wasm-tools-linux-arm64-musl': 0.0.2 + '@napi-rs/wasm-tools-linux-x64-gnu': 0.0.2 + '@napi-rs/wasm-tools-linux-x64-musl': 0.0.2 + '@napi-rs/wasm-tools-wasm32-wasi': 0.0.2 + '@napi-rs/wasm-tools-win32-arm64-msvc': 0.0.2 + '@napi-rs/wasm-tools-win32-ia32-msvc': 0.0.2 + '@napi-rs/wasm-tools-win32-x64-msvc': 0.0.2 + '@next/env@14.2.13': {} '@next/swc-darwin-arm64@14.2.13': @@ -17461,6 +18329,18 @@ snapshots: - '@swc/core' - debug + '@nx/devkit@20.0.12(nx@19.8.2(@swc/core@1.7.28(@swc/helpers@0.5.13)))': + dependencies: + ejs: 3.1.10 + enquirer: 2.3.6 + ignore: 5.3.2 + minimatch: 9.0.3 + nx: 19.8.2(@swc/core@1.7.28(@swc/helpers@0.5.13)) + semver: 7.6.3 + tmp: 0.2.3 + tslib: 2.7.0 + yargs-parser: 21.1.1 + '@nx/nx-darwin-arm64@19.8.2': optional: true @@ -17491,6 +18371,67 @@ snapshots: '@nx/nx-win32-x64-msvc@19.8.2': optional: true + '@octokit/auth-token@5.1.1': {} + + '@octokit/core@6.1.2': + dependencies: + '@octokit/auth-token': 5.1.1 + '@octokit/graphql': 8.1.1 + '@octokit/request': 9.1.3 + '@octokit/request-error': 6.1.5 + '@octokit/types': 13.6.1 + before-after-hook: 3.0.2 + universal-user-agent: 7.0.2 + + '@octokit/endpoint@10.1.1': + dependencies: + '@octokit/types': 13.6.1 + universal-user-agent: 7.0.2 + + '@octokit/graphql@8.1.1': + dependencies: + '@octokit/request': 9.1.3 + '@octokit/types': 13.6.1 + universal-user-agent: 7.0.2 + + '@octokit/openapi-types@22.2.0': {} + + '@octokit/plugin-paginate-rest@11.3.5(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.6.1 + + '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + + '@octokit/plugin-rest-endpoint-methods@13.2.6(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.6.1 + + '@octokit/request-error@6.1.5': + dependencies: + '@octokit/types': 13.6.1 + + '@octokit/request@9.1.3': + dependencies: + '@octokit/endpoint': 10.1.1 + '@octokit/request-error': 6.1.5 + '@octokit/types': 13.6.1 + universal-user-agent: 7.0.2 + + '@octokit/rest@21.0.2': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/plugin-paginate-rest': 11.3.5(@octokit/core@6.1.2) + '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.2) + '@octokit/plugin-rest-endpoint-methods': 13.2.6(@octokit/core@6.1.2) + + '@octokit/types@13.6.1': + dependencies: + '@octokit/openapi-types': 22.2.0 + '@openzeppelin/contracts@4.9.6': {} '@openzeppelin/contracts@5.0.2': {} @@ -19277,6 +20218,10 @@ snapshots: '@types/ms@0.7.34': {} + '@types/mute-stream@0.0.4': + dependencies: + '@types/node': 22.7.3 + '@types/nlcst@2.0.3': dependencies: '@types/unist': 3.0.3 @@ -19386,6 +20331,8 @@ snapshots: '@types/vscode@1.93.0': {} + '@types/wrap-ansi@3.0.0': {} + '@types/ws@8.5.10': dependencies: '@types/node': 22.7.3 @@ -20918,6 +21865,8 @@ snapshots: dependencies: tslib: 2.7.0 + async@3.2.6: {} + asynckit@0.4.0: {} atob@2.1.2: {} @@ -21169,6 +22118,8 @@ snapshots: bcryptjs@2.4.3: {} + before-after-hook@3.0.2: {} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -21741,6 +22692,10 @@ snapshots: client-only@0.0.1: {} + clipanion@3.2.1(typanion@3.14.0): + dependencies: + typanion: 3.14.0 + clipboardy@3.0.0: dependencies: arch: 2.2.0 @@ -21841,6 +22796,8 @@ snapshots: colorette@1.4.0: {} + colorette@2.0.20: {} + colors@1.4.0: {} combined-stream@1.0.8: @@ -22376,6 +23333,10 @@ snapshots: effect@3.8.4: {} + ejs@3.1.10: + dependencies: + jake: 10.9.2 + electron-to-chromium@1.4.633: {} electron-to-chromium@1.5.29: {} @@ -22405,6 +23366,10 @@ snapshots: '@emmetio/abbreviation': 2.3.3 '@emmetio/css-abbreviation': 2.1.8 + emnapi@1.3.1(node-addon-api@7.1.1): + optionalDependencies: + node-addon-api: 7.1.1 + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -23054,6 +24019,10 @@ snapshots: file-uri-to-path@1.0.0: optional: true + filelist@1.0.4: + dependencies: + minimatch: 5.1.6 + filename-regex@2.0.1: optional: true @@ -23179,7 +24148,7 @@ snapshots: transitivePeerDependencies: - debug - forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/1de6eecf821de7fe2c908cc48d3ab3dced20717f: {} + forge-std@https://codeload.github.com/foundry-rs/forge-std/tar.gz/0e7097750918380d84dd3cfdef595bee74dabb70: {} form-data@4.0.0: dependencies: @@ -24417,6 +25386,13 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 + jake@10.9.2: + dependencies: + async: 3.2.6 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -24794,6 +25770,8 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash-es@4.17.21: {} + lodash.debounce@4.0.8: {} lodash.defaults@4.2.0: @@ -27727,6 +28705,10 @@ snapshots: semver@6.3.1: {} + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + semver@7.6.3: {} send@0.19.0: @@ -28696,6 +29678,8 @@ snapshots: toidentifier@1.0.1: {} + toml@3.0.0: {} + totalist@3.0.1: {} tr46@0.0.3: {} @@ -28813,6 +29797,8 @@ snapshots: tweetnacl@1.0.3: {} + typanion@3.14.0: {} + type-detect@4.0.8: {} type-detect@4.1.0: {} @@ -29009,6 +29995,8 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + universal-user-agent@7.0.2: {} + universalify@0.1.2: {} universalify@2.0.1: {} @@ -29735,6 +30723,8 @@ snapshots: transitivePeerDependencies: - debug + wasm-sjlj@1.0.5: {} + watchpack@2.4.0: dependencies: glob-to-regexp: 0.4.1 @@ -30071,6 +31061,8 @@ snapshots: yocto-queue@1.1.1: {} + yoctocolors-cjs@2.1.2: {} + yoga-wasm-web@0.3.3: {} zod-to-json-schema@3.23.3(zod@3.23.8):