From 0c04da2cf56a6dbbfd121d73701ff3699fa43f38 Mon Sep 17 00:00:00 2001 From: CCherry07 <2405693142@qq.com> Date: Wed, 3 Jul 2024 17:17:42 +0800 Subject: [PATCH 1/2] feat: url --- Cargo.lock | 40 + packages/url/.gitignore | 197 + packages/url/Cargo.lock | 3365 +++++++++++++++++ packages/url/Cargo.toml | 18 + packages/url/npm/darwin-arm64/README.md | 3 + packages/url/npm/darwin-arm64/package.json | 18 + packages/url/npm/darwin-x64/README.md | 3 + packages/url/npm/darwin-x64/package.json | 18 + packages/url/npm/linux-arm64-gnu/README.md | 3 + packages/url/npm/linux-arm64-gnu/package.json | 21 + packages/url/npm/linux-arm64-musl/README.md | 3 + .../url/npm/linux-arm64-musl/package.json | 21 + packages/url/npm/linux-x64-gnu/README.md | 3 + packages/url/npm/linux-x64-gnu/package.json | 21 + packages/url/npm/linux-x64-musl/README.md | 3 + packages/url/npm/linux-x64-musl/package.json | 18 + packages/url/npm/win32-arm64-msvc/README.md | 3 + .../url/npm/win32-arm64-msvc/package.json | 18 + packages/url/npm/win32-ia32-msvc/README.md | 3 + packages/url/npm/win32-ia32-msvc/package.json | 18 + packages/url/npm/win32-x64-msvc/README.md | 3 + packages/url/npm/win32-x64-msvc/package.json | 18 + packages/url/package.json | 42 + packages/url/playground/README.md | 37 + packages/url/playground/farm.config.ts | 14 + packages/url/playground/index.html | 14 + packages/url/playground/index.js | 1 + packages/url/playground/package.json | 27 + packages/url/playground/public/favicon.ico | Bin 0 -> 6142 bytes packages/url/playground/src/assets/logo.png | Bin 0 -> 30290 bytes packages/url/playground/src/assets/react.svg | 1 + packages/url/playground/src/index.css | 69 + packages/url/playground/src/index.tsx | 10 + packages/url/playground/src/main.css | 42 + packages/url/playground/src/main.tsx | 32 + packages/url/playground/src/typings.d.ts | 3 + packages/url/playground/tsconfig.json | 25 + packages/url/playground/tsconfig.node.json | 11 + packages/url/pnpm-lock.yaml | 1746 +++++++++ packages/url/pnpm-workspace.yaml | 3 + packages/url/rust-toolchain.toml | 3 + packages/url/rustfmt.toml | 2 + packages/url/scripts/index.d.ts | 2 + packages/url/scripts/index.js | 124 + packages/url/scripts/watch.sh | 3 + packages/url/src/lib.rs | 152 + 46 files changed, 6181 insertions(+) create mode 100644 packages/url/.gitignore create mode 100644 packages/url/Cargo.lock create mode 100644 packages/url/Cargo.toml create mode 100644 packages/url/npm/darwin-arm64/README.md create mode 100644 packages/url/npm/darwin-arm64/package.json create mode 100644 packages/url/npm/darwin-x64/README.md create mode 100644 packages/url/npm/darwin-x64/package.json create mode 100644 packages/url/npm/linux-arm64-gnu/README.md create mode 100644 packages/url/npm/linux-arm64-gnu/package.json create mode 100644 packages/url/npm/linux-arm64-musl/README.md create mode 100644 packages/url/npm/linux-arm64-musl/package.json create mode 100644 packages/url/npm/linux-x64-gnu/README.md create mode 100644 packages/url/npm/linux-x64-gnu/package.json create mode 100644 packages/url/npm/linux-x64-musl/README.md create mode 100644 packages/url/npm/linux-x64-musl/package.json create mode 100644 packages/url/npm/win32-arm64-msvc/README.md create mode 100644 packages/url/npm/win32-arm64-msvc/package.json create mode 100644 packages/url/npm/win32-ia32-msvc/README.md create mode 100644 packages/url/npm/win32-ia32-msvc/package.json create mode 100644 packages/url/npm/win32-x64-msvc/README.md create mode 100644 packages/url/npm/win32-x64-msvc/package.json create mode 100644 packages/url/package.json create mode 100644 packages/url/playground/README.md create mode 100644 packages/url/playground/farm.config.ts create mode 100644 packages/url/playground/index.html create mode 100644 packages/url/playground/index.js create mode 100644 packages/url/playground/package.json create mode 100644 packages/url/playground/public/favicon.ico create mode 100644 packages/url/playground/src/assets/logo.png create mode 100644 packages/url/playground/src/assets/react.svg create mode 100644 packages/url/playground/src/index.css create mode 100644 packages/url/playground/src/index.tsx create mode 100644 packages/url/playground/src/main.css create mode 100644 packages/url/playground/src/main.tsx create mode 100644 packages/url/playground/src/typings.d.ts create mode 100644 packages/url/playground/tsconfig.json create mode 100644 packages/url/playground/tsconfig.node.json create mode 100644 packages/url/pnpm-lock.yaml create mode 100644 packages/url/pnpm-workspace.yaml create mode 100644 packages/url/rust-toolchain.toml create mode 100644 packages/url/rustfmt.toml create mode 100644 packages/url/scripts/index.d.ts create mode 100644 packages/url/scripts/index.js create mode 100644 packages/url/scripts/watch.sh create mode 100644 packages/url/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 57f5047..3e26dab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -593,6 +593,21 @@ dependencies = [ "serde", ] +[[package]] +name = "farmfe_plugin_url" +version = "0.0.0" +dependencies = [ + "base64 0.22.1", + "farmfe_core", + "farmfe_macro_plugin", + "farmfe_toolkit", + "farmfe_toolkit_plugin_types", + "farmfe_utils", + "lazy_static", + "mime_guess", + "serde", +] + [[package]] name = "farmfe_plugin_virtual" version = "0.0.1" @@ -1122,6 +1137,22 @@ dependencies = [ "syn 2.0.68", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3140,6 +3171,15 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" version = "0.3.15" diff --git a/packages/url/.gitignore b/packages/url/.gitignore new file mode 100644 index 0000000..50e4f22 --- /dev/null +++ b/packages/url/.gitignore @@ -0,0 +1,197 @@ +# Created by https://www.toptal.com/developers/gitignore/api/node +# Edit at https://www.toptal.com/developers/gitignore?templates=node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# Next.js build output +.next + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# End of https://www.toptal.com/developers/gitignore/api/node + +# Created by https://www.toptal.com/developers/gitignore/api/macos +# Edit at https://www.toptal.com/developers/gitignore?templates=macos + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +# End of https://www.toptal.com/developers/gitignore/api/macos + +# Created by https://www.toptal.com/developers/gitignore/api/windows +# Edit at https://www.toptal.com/developers/gitignore?templates=windows + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# End of https://www.toptal.com/developers/gitignore/api/windows + +#Added by cargo + +/target +# Cargo.lock + +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +*.farm diff --git a/packages/url/Cargo.lock b/packages/url/Cargo.lock new file mode 100644 index 0000000..fcee5fc --- /dev/null +++ b/packages/url/Cargo.lock @@ -0,0 +1,3365 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "serde", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +dependencies = [ + "backtrace", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ast_node" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab31376d309dd3bfc9cfb3c11c93ce0e0741bbe0354b20e7f8c60b044730b79" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "backtrace" +version = "0.3.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64-simd" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5" +dependencies = [ + "simd-abstraction", +] + +[[package]] +name = "better_scoped_tls" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de" +dependencies = [ + "scoped-tls", +] + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "browserslist-rs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "405bbd46590a441abe5db3e5c8af005aa42e640803fecb51912703e93e4ce8d3" +dependencies = [ + "ahash 0.8.11", + "anyhow", + "chrono", + "either", + "indexmap", + "itertools 0.12.1", + "nom", + "once_cell", + "quote", + "serde", + "serde_json", + "string_cache", + "string_cache_codegen", + "thiserror", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive 0.6.12", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41502630fe304ce54cbb2f8389e017784dee2b0328147779fcbe43b9db06d35d" +dependencies = [ + "bytecheck_derive 0.7.0", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytecheck_derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda88c587085bc07dc201ab9df871bd9baa5e07f7754b745e4d7194b43ac1eda" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "cc" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2755ff20a1d93490d26ba33a6f092a38a508398a5320df5d4b3014fcccce9410" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-targets", +] + +[[package]] +name = "const_format" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "debugid" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" +dependencies = [ + "serde", + "uuid", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "enhanced-magic-string" +version = "0.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28941685318c3ab497f802f6dab956c80e1b373852f890fc373d8df18a7a31a6" +dependencies = [ + "base64 0.22.1", + "farmfe_utils", + "parking_lot", + "regex", + "sourcemap", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "farmfe_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff6b96a717ec5cc1957be237464805730fb0e02ec5bf2128b632868bcc9f939" +dependencies = [ + "blake2", + "bytecheck 0.7.0", + "dashmap", + "downcast-rs", + "enhanced-magic-string", + "farmfe_macro_cache_item", + "farmfe_utils", + "heck", + "hex", + "parking_lot", + "petgraph", + "ptr_meta", + "rayon", + "regex", + "relative-path", + "rkyv", + "rkyv_dyn", + "rkyv_typename", + "serde", + "serde_json", + "swc_common", + "swc_css_ast", + "swc_css_prefixer", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_html_ast", + "thiserror", + "wax", +] + +[[package]] +name = "farmfe_macro_cache_item" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61782617a57f8fa265ce3b4111763d703d457fef83c06341d2eed55cbc06297" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "farmfe_macro_plugin" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055ed906d281675468dc70294716c6af0b6b904f09fdd7b111865cc72b4f4933" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "farmfe_plugin_url" +version = "0.0.0" +dependencies = [ + "base64 0.22.1", + "farmfe_core", + "farmfe_macro_plugin", + "farmfe_toolkit", + "farmfe_toolkit_plugin_types", + "farmfe_utils", + "lazy_static", + "mime_guess", + "serde", +] + +[[package]] +name = "farmfe_testing_helpers" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bca67bbb540ffefa589a8418290e4683aa899df29c384ca8a9b1784a3d55e35" +dependencies = [ + "farmfe_core", +] + +[[package]] +name = "farmfe_toolkit" +version = "0.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520fd81fc989549a8657f98800713e28b6f4b33f2af35550ebe118dac37b8c08" +dependencies = [ + "anyhow", + "farmfe_core", + "farmfe_testing_helpers", + "farmfe_toolkit_plugin_types", + "farmfe_utils", + "lazy_static", + "preset_env_base", + "sourcemap", + "swc_atoms", + "swc_css_codegen", + "swc_css_minifier", + "swc_css_modules", + "swc_css_parser", + "swc_css_prefixer", + "swc_css_visit", + "swc_ecma_codegen", + "swc_ecma_minifier", + "swc_ecma_parser", + "swc_ecma_preset_env", + "swc_ecma_transforms", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_error_reporters", + "swc_html_codegen", + "swc_html_minifier", + "swc_html_parser", + "swc_html_visit", +] + +[[package]] +name = "farmfe_toolkit_plugin_types" +version = "0.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5042f6aed304fd15ae19ee6875b5c199e3974f349dc4d5ab9b68c57b11331e5e" +dependencies = [ + "farmfe_core", + "lazy_static", + "libloading", +] + +[[package]] +name = "farmfe_utils" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "264c2449b7c5b34e1b02b87781c961321730fce02eba189d2a06e95fe3e31489" +dependencies = [ + "base64 0.21.7", + "pathdiff", + "sha2", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "from_variant" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc9cc75639b041067353b9bce2450d6847e547276c6fbe4487d7407980e07db" +dependencies = [ + "proc-macro2", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "ghost" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0e085ded9f1267c32176b40921b9754c474f7dd96f7e808d4a982e48aa1e854" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hstr" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96274be293b8877e61974a607105d09c84caebe9620b47774aa8a6b942042dd4" +dependencies = [ + "hashbrown 0.14.5", + "new_debug_unreachable", + "once_cell", + "phf", + "rustc-hash", + "triomphe", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "inventory" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4" +dependencies = [ + "ctor", + "ghost", + "inventory-impl", +] + +[[package]] +name = "inventory-impl" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "is-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a85abdc13717906baccb5a1e435556ce0df215f242892f721dff62bf25288f" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "is_ci" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lexical" +version = "6.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6" +dependencies = [ + "lexical-core", +] + +[[package]] +name = "lexical-core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +dependencies = [ + "lexical-parse-integer", + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-parse-integer" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "lexical-util" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lexical-write-float" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +dependencies = [ + "lexical-util", + "lexical-write-integer", + "static_assertions", +] + +[[package]] +name = "lexical-write-integer" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +dependencies = [ + "lexical-util", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "miette" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c90329e44f9208b55f45711f9558cec15d7ef8295cc65ecd6d4188ae8edc58c" +dependencies = [ + "atty", + "backtrace", + "miette-derive 4.7.1", + "once_cell", + "owo-colors", + "supports-color", + "supports-hyperlinks", + "supports-unicode", + "terminal_size", + "textwrap", + "thiserror", + "unicode-width", +] + +[[package]] +name = "miette" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" +dependencies = [ + "miette-derive 5.10.0", + "once_cell", + "thiserror", + "unicode-width", +] + +[[package]] +name = "miette-derive" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b5bc45b761bcf1b5e6e6c4128cd93b84c218721a8d9b894aa0aff4ed180174c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "miette-derive" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "normpath" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a9da8c9922c35a1033d76f7272dfc2e7ee20392083d75aeea6ced23c6266578" +dependencies = [ + "winapi", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.9", + "libc", +] + +[[package]] +name = "object" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "outref" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4" + +[[package]] +name = "owo-colors" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "backtrace", + "cfg-if", + "libc", + "petgraph", + "redox_syscall", + "smallvec", + "thread-id", + "windows-targets", +] + +[[package]] +name = "path-clean" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pori" +version = "0.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a63d338dec139f56dacc692ca63ad35a6be6a797442479b55acd611d79e906" +dependencies = [ + "nom", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "preset_env_base" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08ccd15679953ae0d5fa716af78b58c0bfdc69a0534bfe9ea423abd1eaaf527b" +dependencies = [ + "ahash 0.8.11", + "anyhow", + "browserslist-rs", + "dashmap", + "from_variant", + "once_cell", + "semver 1.0.23", + "serde", + "st-map", + "tracing", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "radix_fmt" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck 0.6.12", +] + +[[package]] +name = "rkyv" +version = "0.7.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +dependencies = [ + "bitvec", + "bytecheck 0.6.12", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rkyv_dyn" +version = "0.7.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7087f1bf1fdffcf7391cd0755df81c47f8a87fe863bab93f99d9f6bbf16b40b7" +dependencies = [ + "inventory", + "lazy_static", + "ptr_meta", + "rkyv", + "rkyv_dyn_derive", + "rkyv_typename", +] + +[[package]] +name = "rkyv_dyn_derive" +version = "0.7.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f21d9c9cfb6d952b4baf89f1ffcfaccd56e0f8c81510f5a7b04de2c034bad18" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rkyv_typename" +version = "0.7.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f3b496694520c6001309c86ab52cf126d084778eb8a372b6bed1400f0562b8" +dependencies = [ + "rkyv_typename_derive", +] + +[[package]] +name = "rkyv_typename_derive" +version = "0.7.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05589f3fceeb5ad55f3a68b6ac56274feeb3c1b8215b4734d2562b78134a3551" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "ryu-js" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "serde" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "serde_json" +version = "1.0.118" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "simd-abstraction" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987" +dependencies = [ + "outref", +] + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smartstring" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" +dependencies = [ + "autocfg", + "static_assertions", + "version_check", +] + +[[package]] +name = "smawk" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "sourcemap" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "208d40b9e8cad9f93613778ea295ed8f3c2b1824217c6cfc7219d3f6f45b96d4" +dependencies = [ + "base64-simd", + "bitvec", + "data-encoding", + "debugid", + "if_chain", + "rustc-hash", + "rustc_version", + "serde", + "serde_json", + "unicode-id-start", + "url", +] + +[[package]] +name = "st-map" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a8a5c4e5cc839409346495370b2df67489cafd7fa83616d0547a9697a6a89a1" +dependencies = [ + "arrayvec", + "static-map-macro", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stacker" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "winapi", +] + +[[package]] +name = "static-map-macro" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf483ea7e0e3a03d1b91687895814425149ad77facd3e2b6839dde26da98454" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "string_enum" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e383308aebc257e7d7920224fa055c632478d92744eca77f99be8fa1545b90" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "supports-color" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ba6faf2ca7ee42fdd458f4347ae0a9bd6bcc445ad7cb57ad82b383f18870d6f" +dependencies = [ + "atty", + "is_ci", +] + +[[package]] +name = "supports-hyperlinks" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "590b34f7c5f01ecc9d78dba4b3f445f31df750a67621cf31626f3b7441ce6406" +dependencies = [ + "atty", +] + +[[package]] +name = "supports-unicode" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8b945e45b417b125a8ec51f1b7df2f8df7920367700d1f98aedd21e5735f8b2" +dependencies = [ + "atty", +] + +[[package]] +name = "swc_atoms" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6567e4e67485b3e7662b486f1565bdae54bd5b9d6b16b2ba1a9babb1e42125" +dependencies = [ + "bytecheck 0.6.12", + "hstr", + "once_cell", + "rkyv", + "rustc-hash", + "serde", +] + +[[package]] +name = "swc_cached" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83406221c501860fce9c27444f44125eafe9e598b8b81be7563d7036784cd05c" +dependencies = [ + "ahash 0.8.11", + "anyhow", + "dashmap", + "once_cell", + "regex", + "serde", +] + +[[package]] +name = "swc_common" +version = "0.33.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2f9706038906e66f3919028f9f7a37f3ed552f1b85578e93f4468742e2da438" +dependencies = [ + "ast_node", + "better_scoped_tls", + "bytecheck 0.6.12", + "cfg-if", + "either", + "from_variant", + "new_debug_unreachable", + "num-bigint", + "once_cell", + "parking_lot", + "rkyv", + "rustc-hash", + "serde", + "siphasher", + "sourcemap", + "swc_atoms", + "swc_eq_ignore_macros", + "swc_visit", + "tracing", + "unicode-width", + "url", +] + +[[package]] +name = "swc_config" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b67e115ab136fe0eb03558bb0508ca7782eeb446a96d165508c48617e3fd94" +dependencies = [ + "anyhow", + "indexmap", + "serde", + "serde_json", + "sourcemap", + "swc_cached", + "swc_config_macro", +] + +[[package]] +name = "swc_config_macro" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c5f56139042c1a95b54f5ca48baa0e0172d369bcc9d3d473dad1de36bae8399" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "swc_css_ast" +version = "0.140.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be69b267990e9727881125d39b3a2b8204bb2f85b9ece2ad3e212a1fe5c79bea" +dependencies = [ + "is-macro", + "rkyv", + "string_enum", + "swc_atoms", + "swc_common", +] + +[[package]] +name = "swc_css_codegen" +version = "0.151.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc65d732bd6fd1757a14dc4636b762d9224fc83f1f978b6a5840b843a3964bde" +dependencies = [ + "auto_impl", + "bitflags", + "rustc-hash", + "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_codegen_macros", + "swc_css_utils", +] + +[[package]] +name = "swc_css_codegen_macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de2ece8c7dbdde85aa1bcc9764c5f41f7450d8bf1312eac2375b8dc0ecbc13d7" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "swc_css_minifier" +version = "0.116.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bee9bb889f46af0e7426ace32cc2150d4e56f1a3376377d9ed51101bea29d35" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_utils", + "swc_css_visit", +] + +[[package]] +name = "swc_css_modules" +version = "0.29.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b20af192df5adddac04293b5072cc00befa2d6818a9fc90ac6f5c2c49e82dd1c" +dependencies = [ + "rustc-hash", + "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_codegen", + "swc_css_parser", + "swc_css_visit", +] + +[[package]] +name = "swc_css_parser" +version = "0.150.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "174995d62f066e4a4091c03ce9d35233cf8a2e23d729c2041cd5c2b3e2af2d1e" +dependencies = [ + "lexical", + "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", +] + +[[package]] +name = "swc_css_prefixer" +version = "0.153.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12416e97bced06666368f3cf7801abacb1a8962c9a4b9b2924faa4f45dc512aa" +dependencies = [ + "once_cell", + "preset_env_base", + "serde", + "serde_json", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_utils", + "swc_css_visit", +] + +[[package]] +name = "swc_css_utils" +version = "0.137.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a890e543134dc78ac46d0ffce3028d37b639f8854f25aaef67178111459ba021" +dependencies = [ + "once_cell", + "serde", + "serde_json", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_visit", +] + +[[package]] +name = "swc_css_visit" +version = "0.139.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f0f267339cff49928e87b68ba453e85808eb11d660c720b3eb9c1c8510ad7a" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_visit", +] + +[[package]] +name = "swc_ecma_ast" +version = "0.112.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1d5c33c22ad50e8e34b3080a6fb133316d2eaa7d00400fc5018151f5ca44c5a" +dependencies = [ + "bitflags", + "bytecheck 0.6.12", + "is-macro", + "num-bigint", + "phf", + "rkyv", + "scoped-tls", + "serde", + "string_enum", + "swc_atoms", + "swc_common", + "unicode-id-start", +] + +[[package]] +name = "swc_ecma_codegen" +version = "0.148.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "154d03dc43e4033b668bc5021bd67088ff27f0d8da054348b5cd4e6fe94e7f26" +dependencies = [ + "memchr", + "num-bigint", + "once_cell", + "rustc-hash", + "serde", + "sourcemap", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_codegen_macros", + "tracing", +] + +[[package]] +name = "swc_ecma_codegen_macros" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090e409af49c8d1a3c13b3aab1ed09dd4eda982207eb3e63c2ad342f072b49c8" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "swc_ecma_compat_bugfixes" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f5396aca4707f5bb34bee83160864209a45b7117ea76932daedcb9109541f40" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_compat_es2015", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_common" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b06844b66a86b8f3bad66888500fd8fe1e4ac09612c5ae0946ca3f77b81f6b0" +dependencies = [ + "swc_common", + "swc_ecma_ast", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", +] + +[[package]] +name = "swc_ecma_compat_es2015" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4f406983b4800c4326370bbb52e66e4981cefc348f2d9233cf76aac352b4831" +dependencies = [ + "arrayvec", + "indexmap", + "is-macro", + "serde", + "serde_derive", + "smallvec", + "swc_atoms", + "swc_common", + "swc_config", + "swc_ecma_ast", + "swc_ecma_compat_common", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2016" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75e868ae64fe2625c8aae1f929bae734500ae336d37731f6d4bdf66b8e3b8d3" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2017" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceca63fdd1fe640f2f2957d26c6380cf2199aa71c9183f2e24f8fa2f8c373c6b" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2018" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cced4ec764d3bda35ef5451a260dc747e5ce1f179372aa09ff77bb57c42cfb0c" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_compat_common", + "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2019" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a984708b06d662df1c10c2fc06bf98562c6ea3bb93c0e4d5491ee8e61c08e00" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2020" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d4b23ada85bf580f4e1639e54ab237c566a7c319c6e2d1f8010ae5323d0d1ba" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_compat_es2022", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2021" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab566642dff583a16b7b188cf9effc6ae603ea2172769f7a3e7fc1aaf41b67b3" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es2022" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75a3b535284aa37b89b608544508a12ac9770193eec5b2a3c015e94d32f32cfd" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_compat_common", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_compat_es3" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3678f2454374d8aefe0997fa32089dd2c3f06d20ecaa0d1fa30c0d3e9871c79b" +dependencies = [ + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_loader" +version = "0.45.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c68f934bd2c51f29c4ad0bcae09924e9dc30d7ce0680367d45b42d40338a67" +dependencies = [ + "anyhow", + "dashmap", + "normpath", + "once_cell", + "path-clean", + "pathdiff", + "serde", + "serde_json", + "swc_atoms", + "swc_common", + "tracing", +] + +[[package]] +name = "swc_ecma_minifier" +version = "0.192.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1feab97d24c9931c5e88dca7730e6a6d4c7689ced9ba05814d9092651b3534db" +dependencies = [ + "arrayvec", + "indexmap", + "num-bigint", + "num_cpus", + "once_cell", + "parking_lot", + "radix_fmt", + "regex", + "rustc-hash", + "ryu-js", + "serde", + "serde_json", + "swc_atoms", + "swc_common", + "swc_config", + "swc_ecma_ast", + "swc_ecma_codegen", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_transforms_optimization", + "swc_ecma_usage_analyzer", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_timer", + "tracing", +] + +[[package]] +name = "swc_ecma_parser" +version = "0.143.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b7faa481ac015b330f1c4bc8df2c9947242020e23ccdb10bc7a8ef84342509" +dependencies = [ + "either", + "new_debug_unreachable", + "num-bigint", + "num-traits", + "phf", + "serde", + "smallvec", + "smartstring", + "stacker", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "tracing", + "typed-arena", +] + +[[package]] +name = "swc_ecma_preset_env" +version = "0.206.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2aa9bc1a840a90aea05cf3668f2ee523b049767955783785800cb46ae0d835d" +dependencies = [ + "anyhow", + "dashmap", + "indexmap", + "once_cell", + "preset_env_base", + "rustc-hash", + "semver 1.0.23", + "serde", + "serde_json", + "st-map", + "string_enum", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_transforms" +version = "0.229.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eb90c2d122976f3e32bf41a2bf710f01e51ef34ef50108992b185cc1cc53e28" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_compat", + "swc_ecma_transforms_module", + "swc_ecma_transforms_optimization", + "swc_ecma_transforms_proposal", + "swc_ecma_transforms_react", + "swc_ecma_transforms_typescript", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_transforms_base" +version = "0.137.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "660badfe2eed8b6213ec9dcd71aa0786f8fb46ffa012e0313bcba1fe4a9a5c73" +dependencies = [ + "better_scoped_tls", + "bitflags", + "indexmap", + "once_cell", + "phf", + "rayon", + "rustc-hash", + "serde", + "smallvec", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_utils", + "swc_ecma_visit", + "tracing", +] + +[[package]] +name = "swc_ecma_transforms_classes" +version = "0.126.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47af84e64f0216f110839f5552a615d07ed74b45757927f29482700966ab4e97" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_transforms_compat" +version = "0.163.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed183e0eb761a1eddd9ef2232612bcd6790a9fb8b6dd1885b2a9ea0a2f93752c" +dependencies = [ + "arrayvec", + "indexmap", + "is-macro", + "num-bigint", + "rayon", + "serde", + "smallvec", + "swc_atoms", + "swc_common", + "swc_config", + "swc_ecma_ast", + "swc_ecma_compat_bugfixes", + "swc_ecma_compat_common", + "swc_ecma_compat_es2015", + "swc_ecma_compat_es2016", + "swc_ecma_compat_es2017", + "swc_ecma_compat_es2018", + "swc_ecma_compat_es2019", + "swc_ecma_compat_es2020", + "swc_ecma_compat_es2021", + "swc_ecma_compat_es2022", + "swc_ecma_compat_es3", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_trace_macro", + "tracing", +] + +[[package]] +name = "swc_ecma_transforms_macros" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500a1dadad1e0e41e417d633b3d6d5de677c9e0d3159b94ba3348436cdb15aab" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "swc_ecma_transforms_module" +version = "0.180.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "914cbfb4d9e9aa4b0a5a63c01fb4c2edfa8d7486bec0b891a5e15a94615453a2" +dependencies = [ + "Inflector", + "anyhow", + "bitflags", + "indexmap", + "is-macro", + "path-clean", + "pathdiff", + "regex", + "serde", + "swc_atoms", + "swc_cached", + "swc_common", + "swc_ecma_ast", + "swc_ecma_loader", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", + "tracing", +] + +[[package]] +name = "swc_ecma_transforms_optimization" +version = "0.198.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73e8de92a02fbd61965c723669f9d425dc1544831507abd78d9fca24c3974324" +dependencies = [ + "dashmap", + "indexmap", + "once_cell", + "petgraph", + "rayon", + "rustc-hash", + "serde_json", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_fast_graph", + "tracing", +] + +[[package]] +name = "swc_ecma_transforms_proposal" +version = "0.171.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00e0cc7d9cfb3935354a43455116636b001d34d103304883b90837cd87f048c" +dependencies = [ + "either", + "rustc-hash", + "serde", + "smallvec", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_transforms_react" +version = "0.183.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2570aa788b03d38404558d4822c7b88a35a930a47cf2417cc7732a032015e43d" +dependencies = [ + "base64 0.21.7", + "dashmap", + "indexmap", + "once_cell", + "rayon", + "serde", + "sha-1", + "string_enum", + "swc_atoms", + "swc_common", + "swc_config", + "swc_ecma_ast", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_transforms_macros", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_transforms_typescript" +version = "0.188.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4aa805d31f534cf230ea43282c1d58e580da2c470e3a95cb9f06f5039e5377" +dependencies = [ + "ryu-js", + "serde", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_transforms_react", + "swc_ecma_utils", + "swc_ecma_visit", +] + +[[package]] +name = "swc_ecma_usage_analyzer" +version = "0.23.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b82af8ae5c6e5c1c1bdef70d5fb3ef16917985031f8688a7342c10a2123cfa6b" +dependencies = [ + "indexmap", + "rustc-hash", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_utils", + "swc_ecma_visit", + "swc_timer", + "tracing", +] + +[[package]] +name = "swc_ecma_utils" +version = "0.127.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d40abfc4f3a7bfdf54d11ac705cc9dd0836c48bf085b359143b4d40b50cb31" +dependencies = [ + "indexmap", + "num_cpus", + "once_cell", + "rayon", + "rustc-hash", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_visit", + "tracing", + "unicode-id", +] + +[[package]] +name = "swc_ecma_visit" +version = "0.98.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93692bdcdbb63db8f5e10fea5d202b5487cb27eb443aec424f4335c88f9864af" +dependencies = [ + "num-bigint", + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_visit", + "tracing", +] + +[[package]] +name = "swc_eq_ignore_macros" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "695a1d8b461033d32429b5befbf0ad4d7a2c4d6ba9cd5ba4e0645c615839e8e4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "swc_error_reporters" +version = "0.17.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3329e73f159a3d38d4cd5f606a0918eeff39f5bbdbdafd9b6fecb290d2e9a32d" +dependencies = [ + "anyhow", + "miette 4.7.1", + "once_cell", + "parking_lot", + "swc_common", +] + +[[package]] +name = "swc_fast_graph" +version = "0.21.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3fdd64bc3d161d6c1ea9a8ae5779e4ba132afc67e7b8ece5420bfc9c6e1275d" +dependencies = [ + "indexmap", + "petgraph", + "rustc-hash", + "swc_common", +] + +[[package]] +name = "swc_html_ast" +version = "0.33.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59957df8048be691db04e6e358b29c6ff1274cd60ee2b4c2141e1d90b598d24e" +dependencies = [ + "is-macro", + "rkyv", + "string_enum", + "swc_atoms", + "swc_common", +] + +[[package]] +name = "swc_html_codegen" +version = "0.42.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c28899c6d01596124686dae5d139412488f4066d013a6c5691e497f5e9a98f" +dependencies = [ + "auto_impl", + "bitflags", + "rustc-hash", + "swc_atoms", + "swc_common", + "swc_html_ast", + "swc_html_codegen_macros", + "swc_html_utils", +] + +[[package]] +name = "swc_html_codegen_macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e593a6cbb3a49230fbab3171d4493f7d0fb1e20a34d9a9f9e972550690408ba8" +dependencies = [ + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "swc_html_minifier" +version = "0.134.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5af88c374e34ec7c5c488ade3de1530c7f5f224df3af4e1db4d114e542016cd4" +dependencies = [ + "once_cell", + "serde", + "serde_json", + "swc_atoms", + "swc_cached", + "swc_common", + "swc_css_ast", + "swc_css_codegen", + "swc_css_minifier", + "swc_css_parser", + "swc_ecma_ast", + "swc_ecma_codegen", + "swc_ecma_minifier", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_visit", + "swc_html_ast", + "swc_html_codegen", + "swc_html_parser", + "swc_html_utils", + "swc_html_visit", +] + +[[package]] +name = "swc_html_parser" +version = "0.39.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06cda5fcfd7c979a473be215cb7263e13bb7707bec46d0b6fbf364d203eea2d" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_html_ast", + "swc_html_utils", +] + +[[package]] +name = "swc_html_utils" +version = "0.18.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "406d1fcf69915a6726065060a9e85e7f36d66239708901d9bd0ad4d4b4e935a8" +dependencies = [ + "once_cell", + "serde", + "serde_json", + "swc_atoms", + "swc_common", +] + +[[package]] +name = "swc_html_visit" +version = "0.33.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cffd11c6331e830a6f954597edd612d9393b6a4edb6e88004e5d7e84ee73b570" +dependencies = [ + "serde", + "swc_atoms", + "swc_common", + "swc_html_ast", + "swc_visit", +] + +[[package]] +name = "swc_macros_common" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91745f3561057493d2da768437c427c0e979dff7396507ae02f16c981c4a8466" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "swc_timer" +version = "0.21.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c05c13aecc7a128f86273004f57b5964a6e8828a90e542f362deaed7985504f" +dependencies = [ + "tracing", +] + +[[package]] +name = "swc_trace_macro" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff9719b6085dd2824fd61938a881937be14b08f95e2d27c64c825a9f65e052ba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "swc_visit" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043d11fe683dcb934583ead49405c0896a5af5face522e4682c16971ef7871b9" +dependencies = [ + "either", + "swc_visit_macros", +] + +[[package]] +name = "swc_visit_macros" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae9ef18ff8daffa999f729db056d2821cd2f790f3a11e46422d19f46bb193e7" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "swc_macros_common", + "syn 2.0.68", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tardar" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900c942f83b6a8b9998cc8f74ad3ffa24b7ff3c4279ea1c1c52d95dced9f3516" +dependencies = [ + "miette 5.10.0", + "vec1", +] + +[[package]] +name = "terminal_size" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "textwrap" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "thread-id" +version = "4.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "triomphe" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" +dependencies = [ + "serde", + "stable_deref_trait", +] + +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-id" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f" + +[[package]] +name = "unicode-id-start" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8f73150333cb58412db36f2aca8f2875b013049705cc77b94ded70a1ab1f5da" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "uuid" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" + +[[package]] +name = "vec1" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab68b56840f69efb0fefbe3ab6661499217ffdc58e2eef7c3f6f69835386322" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.68", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "wax" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d12a78aa0bab22d2f26ed1a96df7ab58e8a93506a3e20adb47c51a93b4e1357" +dependencies = [ + "const_format", + "itertools 0.11.0", + "miette 5.10.0", + "nom", + "pori", + "regex", + "tardar", + "thiserror", + "walkdir", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.68", +] diff --git a/packages/url/Cargo.toml b/packages/url/Cargo.toml new file mode 100644 index 0000000..5d4a0fe --- /dev/null +++ b/packages/url/Cargo.toml @@ -0,0 +1,18 @@ +[package] +edition = "2021" +name = "farmfe_plugin_url" +version = "0.0.0" + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +farmfe_core = { version = "*" } +farmfe_toolkit_plugin_types = { version = "*" } +farmfe_macro_plugin = { version = "*" } +serde = { version = "1.0.197", features = ["derive"] } +farmfe_toolkit = "0.0.8" +base64 = "0.22.1" +mime_guess = "2.0.5" +lazy_static = "1.5.0" +farmfe_utils = "0.1.4" diff --git a/packages/url/npm/darwin-arm64/README.md b/packages/url/npm/darwin-arm64/README.md new file mode 100644 index 0000000..5ec5fe5 --- /dev/null +++ b/packages/url/npm/darwin-arm64/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-darwin-arm64` + +This is the **aarch64-apple-darwin** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/darwin-arm64/package.json b/packages/url/npm/darwin-arm64/package.json new file mode 100644 index 0000000..e309c85 --- /dev/null +++ b/packages/url/npm/darwin-arm64/package.json @@ -0,0 +1,18 @@ +{ + "name": "farmfe-plugin-url-darwin-arm64", + "version": "0.1.2", + "os": [ + "darwin" + ], + "cpu": [ + "arm64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + } +} diff --git a/packages/url/npm/darwin-x64/README.md b/packages/url/npm/darwin-x64/README.md new file mode 100644 index 0000000..d5b190a --- /dev/null +++ b/packages/url/npm/darwin-x64/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-darwin-x64` + +This is the **x86_64-apple-darwin** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/darwin-x64/package.json b/packages/url/npm/darwin-x64/package.json new file mode 100644 index 0000000..c6b40c4 --- /dev/null +++ b/packages/url/npm/darwin-x64/package.json @@ -0,0 +1,18 @@ +{ + "name": "farmfe-plugin-url-darwin-x64", + "version": "0.0.0", + "os": [ + "darwin" + ], + "cpu": [ + "x64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + } +} diff --git a/packages/url/npm/linux-arm64-gnu/README.md b/packages/url/npm/linux-arm64-gnu/README.md new file mode 100644 index 0000000..8bc8141 --- /dev/null +++ b/packages/url/npm/linux-arm64-gnu/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-linux-arm64-gnu` + +This is the **aarch64-unknown-linux-gnu** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/linux-arm64-gnu/package.json b/packages/url/npm/linux-arm64-gnu/package.json new file mode 100644 index 0000000..4acccb5 --- /dev/null +++ b/packages/url/npm/linux-arm64-gnu/package.json @@ -0,0 +1,21 @@ +{ + "name": "farmfe-plugin-url-linux-arm64-gnu", + "version": "0.0.0", + "os": [ + "linux" + ], + "cpu": [ + "arm64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "libc": [ + "glibc" + ] +} diff --git a/packages/url/npm/linux-arm64-musl/README.md b/packages/url/npm/linux-arm64-musl/README.md new file mode 100644 index 0000000..4026a01 --- /dev/null +++ b/packages/url/npm/linux-arm64-musl/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-linux-arm64-musl` + +This is the **aarch64-unknown-linux-musl** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/linux-arm64-musl/package.json b/packages/url/npm/linux-arm64-musl/package.json new file mode 100644 index 0000000..5754093 --- /dev/null +++ b/packages/url/npm/linux-arm64-musl/package.json @@ -0,0 +1,21 @@ +{ + "name": "farmfe-plugin-url-linux-arm64-musl", + "version": "0.0.0", + "os": [ + "linux" + ], + "cpu": [ + "arm64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "libc": [ + "glibc" + ] +} diff --git a/packages/url/npm/linux-x64-gnu/README.md b/packages/url/npm/linux-x64-gnu/README.md new file mode 100644 index 0000000..0a88d18 --- /dev/null +++ b/packages/url/npm/linux-x64-gnu/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-linux-x64-gnu` + +This is the **x86_64-unknown-linux-gnu** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/linux-x64-gnu/package.json b/packages/url/npm/linux-x64-gnu/package.json new file mode 100644 index 0000000..991dd9c --- /dev/null +++ b/packages/url/npm/linux-x64-gnu/package.json @@ -0,0 +1,21 @@ +{ + "name": "farmfe-plugin-url-linux-x64-gnu", + "version": "0.0.0", + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "libc": [ + "glibc" + ] +} diff --git a/packages/url/npm/linux-x64-musl/README.md b/packages/url/npm/linux-x64-musl/README.md new file mode 100644 index 0000000..354ddbb --- /dev/null +++ b/packages/url/npm/linux-x64-musl/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-linux-x64-musl` + +This is the **x86_64-unknown-linux-musl** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/linux-x64-musl/package.json b/packages/url/npm/linux-x64-musl/package.json new file mode 100644 index 0000000..d9c001c --- /dev/null +++ b/packages/url/npm/linux-x64-musl/package.json @@ -0,0 +1,18 @@ +{ + "name": "farmfe-plugin-url-linux-x64-musl", + "version": "0.0.0", + "os": [ + "linux" + ], + "cpu": [ + "x64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + } +} diff --git a/packages/url/npm/win32-arm64-msvc/README.md b/packages/url/npm/win32-arm64-msvc/README.md new file mode 100644 index 0000000..8003d21 --- /dev/null +++ b/packages/url/npm/win32-arm64-msvc/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-win32-arm64-msvc` + +This is the aarch64-pc-windows-msvc binary for `farmfe-plugin-url` diff --git a/packages/url/npm/win32-arm64-msvc/package.json b/packages/url/npm/win32-arm64-msvc/package.json new file mode 100644 index 0000000..e6a1f73 --- /dev/null +++ b/packages/url/npm/win32-arm64-msvc/package.json @@ -0,0 +1,18 @@ +{ + "name": "farmfe-plugin-url-win32-arm64-msvc", + "version": "0.0.0", + "os": [ + "win32" + ], + "cpu": [ + "arm64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + } +} diff --git a/packages/url/npm/win32-ia32-msvc/README.md b/packages/url/npm/win32-ia32-msvc/README.md new file mode 100644 index 0000000..e8af6a7 --- /dev/null +++ b/packages/url/npm/win32-ia32-msvc/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-win32-ia32-msvc` + +This is the i686-pc-windows-msvc binary for `farmfe-plugin-url` diff --git a/packages/url/npm/win32-ia32-msvc/package.json b/packages/url/npm/win32-ia32-msvc/package.json new file mode 100644 index 0000000..cc448e7 --- /dev/null +++ b/packages/url/npm/win32-ia32-msvc/package.json @@ -0,0 +1,18 @@ +{ + "name": "farmfe-plugin-url-win32-ia32-msvc", + "version": "0.0.0", + "os": [ + "win32" + ], + "cpu": [ + "ia32" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + } +} diff --git a/packages/url/npm/win32-x64-msvc/README.md b/packages/url/npm/win32-x64-msvc/README.md new file mode 100644 index 0000000..90830b7 --- /dev/null +++ b/packages/url/npm/win32-x64-msvc/README.md @@ -0,0 +1,3 @@ +# `farmfe-plugin-url-win32-x64-msvc` + +This is the **x86_64-pc-windows-msvc** binary for `farmfe-plugin-url` diff --git a/packages/url/npm/win32-x64-msvc/package.json b/packages/url/npm/win32-x64-msvc/package.json new file mode 100644 index 0000000..bfef267 --- /dev/null +++ b/packages/url/npm/win32-x64-msvc/package.json @@ -0,0 +1,18 @@ +{ + "name": "farmfe-plugin-url-win32-x64-msvc", + "version": "0.0.0", + "os": [ + "win32" + ], + "cpu": [ + "x64" + ], + "main": "index.farm", + "files": [ + "index.farm" + ], + "license": "MIT", + "engines": { + "node": ">= 10" + } +} diff --git a/packages/url/package.json b/packages/url/package.json new file mode 100644 index 0000000..cfc2c11 --- /dev/null +++ b/packages/url/package.json @@ -0,0 +1,42 @@ +{ + "name": "farmfe-plugin-url", + "version": "0.0.0", + "main": "scripts/index.js", + "types": "scripts/index.d.ts", + "type": "module", + "license": "MIT", + "devDependencies": { + "@farmfe/plugin-tools": "latest" + }, + "napi": { + "name": "farmfe_plugin_url", + "triples": { + "additional": [ + "aarch64-apple-darwin", + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "x86_64-unknown-linux-musl", + "i686-pc-windows-msvc", + "aarch64-pc-windows-msvc" + ] + } + }, + "exports": { + ".": { + "import": "./scripts/index.js", + "require": "./scripts/index.js", + "types": "./scripts/index.d.ts" + }, + "./package.json": "./package.json" + }, + "scripts": { + "dev": "cargo watch -w src -s 'scripts/watch.sh'", + "bump": "npx changeset version", + "play": "cd playground && farm", + "build": "farm-plugin-tools build --platform --cargo-name farmfe_plugin_url -p farmfe_plugin_url --release", + "prepublishOnly": "farm-plugin-tools prepublish" + }, + "files": [ + "scripts" + ] +} diff --git a/packages/url/playground/README.md b/packages/url/playground/README.md new file mode 100644 index 0000000..5802e85 --- /dev/null +++ b/packages/url/playground/README.md @@ -0,0 +1,37 @@ +# Farm + React + +This template should help you start developing using React and TypeScript in Farm. + +## Setup + +Install the dependencies: + +```bash +pnpm install +``` + +## Get Started + +Start the dev server: + +```bash +pnpm start +``` + +Build the app for production: + +```bash +pnpm build +``` + +Preview the Production build product: + +```bash +pnpm preview +``` + +Clear persistent cache local files + +```bash +pnpm clean +``` diff --git a/packages/url/playground/farm.config.ts b/packages/url/playground/farm.config.ts new file mode 100644 index 0000000..472c01c --- /dev/null +++ b/packages/url/playground/farm.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from "@farmfe/core"; + +export default defineConfig({ + compilation: { + input: { + index: "./index.html", + }, + persistentCache: false, + progress: false, + }, + plugins: [ + ["@farmfe/plugin-react", { runtime: "automatic" }], + ], +}); diff --git a/packages/url/playground/index.html b/packages/url/playground/index.html new file mode 100644 index 0000000..8ea851d --- /dev/null +++ b/packages/url/playground/index.html @@ -0,0 +1,14 @@ + + + + + + + + Farm + React + TS + + +
+ + + diff --git a/packages/url/playground/index.js b/packages/url/playground/index.js new file mode 100644 index 0000000..065718f --- /dev/null +++ b/packages/url/playground/index.js @@ -0,0 +1 @@ +console.log("lib") diff --git a/packages/url/playground/package.json b/packages/url/playground/package.json new file mode 100644 index 0000000..b1d272e --- /dev/null +++ b/packages/url/playground/package.json @@ -0,0 +1,27 @@ +{ + "name": "playground", + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "farm start", + "start": "farm start", + "build": "farm build", + "preview": "farm preview", + "clean": "farm clean" + }, + "dependencies": { + "clsx": "^1.2.1", + "react": "18", + "react-dom": "18", + "farmfe-plugin-url": "workspace:*" + }, + "devDependencies": { + "@farmfe/cli": "^1.0.0", + "@farmfe/core": "^1.0.24", + "@farmfe/plugin-react": "^1.0.1", + "@types/react": "18", + "core-js": "^3.36.1", + "@types/react-dom": "18", + "react-refresh": "^0.14.0" + } +} diff --git a/packages/url/playground/public/favicon.ico b/packages/url/playground/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9f8f76bb439fdcd521a87a6fbc2b51bda2184431 GIT binary patch literal 6142 zcmb_giB1$j5bYHNQDis4i$ei1ib3(d6F`U>SHjbCV!I?#!_>nVaz^b%#6H~^3Ka^+wJe)-#>L@rsw#g zsUT^MiVc&4Zp)StE3j11eX4kyw-L150{sm76LcJO0#rbFgJmk(ZHd&t+Bdgyk`4pD1O6>*Ew`aMg!iw9br8T|BVBsP2_Qr2d$fTxHBJ?I~I| zfoB=?yu)*6%#J8ut`$Y3@@IgCqc#Qp38?m$EfP^u;fK}$@hUZ}oHJ&Rx ze`e5f9hCX^$65;&Yj|hN|$T+2O7i z_A*Zt)3|gi^u!YJeDub*h8nYuJgwzB%XnIbs5;f@VH%#V{K5{+@k|6AG(yWi`G(N8 z6O^-|BVtz+zW_o^(Y^znInYodtglJ~ZfuZtJp>5TtI#~|dE@!RyB+74d%bI)D~EGr zcm}`*+e4gTeKs9Wb`N~)@X(5FdE%9Q2faM6>}ra8BK+zBa%?*rTJ-9Ds!_CbR;2%> z#PJ^Xyzrjxj-@-^$}dSo%=mOo>fqO zMYU&46oLBewuBFN1VXG_c^4qZTM|e6G+IJwtq&yMW6GfvVurXJomqS2A%h8=W(2Nt=5nEVu4Ha*<4s4+JcPu}t- zbfaC)9jk76*lWk#Ks$3GFE*81gRa(iQyHM2Zc&DM&OXNbx_T>GE_qm0oAXr*y_TuN z4|lEPnP*1w)~`77mc3<=g}R(6hw|Jdbu*<0GF)%hz&`}N4QlUx*lR-jW$S7eULri& z=A8R3(ga>Ka{u2|WP_)+RW~hRjadMl0Ih@e$8@m=Jn68*Q-<=?wbtb6Wg*mx$g>`m ht*EsA_%yaSK#|&3X-(RCq$8|_z$cC%=Hgz;{0A1P2cZA} literal 0 HcmV?d00001 diff --git a/packages/url/playground/src/assets/logo.png b/packages/url/playground/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2ff91f361811557cb48e620bf5e62c0966b7ad GIT binary patch literal 30290 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 literal 0 HcmV?d00001 diff --git a/packages/url/playground/src/assets/react.svg b/packages/url/playground/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/packages/url/playground/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/url/playground/src/index.css b/packages/url/playground/src/index.css new file mode 100644 index 0000000..6cc4daf --- /dev/null +++ b/packages/url/playground/src/index.css @@ -0,0 +1,69 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #9f1a8f; + text-decoration: inherit; +} +a:hover { + color: #9f1a8f; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #9f1a8f; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #9F1A8F; + } + button { + background-color: #f9f9f9; + } +} diff --git a/packages/url/playground/src/index.tsx b/packages/url/playground/src/index.tsx new file mode 100644 index 0000000..06a4dd2 --- /dev/null +++ b/packages/url/playground/src/index.tsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import { Main } from './main'; +import './index.css' + + +const container = document.querySelector('#root'); +const root = createRoot(container); + +root.render(
); diff --git a/packages/url/playground/src/main.css b/packages/url/playground/src/main.css new file mode 100644 index 0000000..ff29d41 --- /dev/null +++ b/packages/url/playground/src/main.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #9F1A8Faa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/packages/url/playground/src/main.tsx b/packages/url/playground/src/main.tsx new file mode 100644 index 0000000..67c183c --- /dev/null +++ b/packages/url/playground/src/main.tsx @@ -0,0 +1,32 @@ +import React, { useState } from "react"; +import "./main.css"; +import reactLogo from "./assets/react.svg"; +import FarmLogo from "./assets/logo.png"; +export function Main() { + const [count, setCount] = useState(0); + console.log("rendering Main component") + return ( + <> + +

Farm + React

+
+ +

+ Edit src/main.tsx and save to test HMR +

+
+

+ Click on the Farm and React logos to learn more +

+ + ); +} diff --git a/packages/url/playground/src/typings.d.ts b/packages/url/playground/src/typings.d.ts new file mode 100644 index 0000000..fa0a2da --- /dev/null +++ b/packages/url/playground/src/typings.d.ts @@ -0,0 +1,3 @@ +declare module '*.svg'; +declare module '*.png'; +declare module '*.css'; diff --git a/packages/url/playground/tsconfig.json b/packages/url/playground/tsconfig.json new file mode 100644 index 0000000..7a7611e --- /dev/null +++ b/packages/url/playground/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} \ No newline at end of file diff --git a/packages/url/playground/tsconfig.node.json b/packages/url/playground/tsconfig.node.json new file mode 100644 index 0000000..8d42325 --- /dev/null +++ b/packages/url/playground/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["farm.config.ts"] +} diff --git a/packages/url/pnpm-lock.yaml b/packages/url/pnpm-lock.yaml new file mode 100644 index 0000000..0d10ccd --- /dev/null +++ b/packages/url/pnpm-lock.yaml @@ -0,0 +1,1746 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@farmfe/plugin-tools': + specifier: latest + version: 0.1.1 + + playground: + dependencies: + clsx: + specifier: ^1.2.1 + version: 1.2.1 + farmfe-plugin-url: + specifier: workspace:* + version: link:.. + react: + specifier: '18' + version: 18.3.1 + react-dom: + specifier: '18' + version: 18.3.1(react@18.3.1) + devDependencies: + '@farmfe/cli': + specifier: ^1.0.0 + version: 1.0.2 + '@farmfe/core': + specifier: ^1.0.22 + version: 1.2.4 + '@farmfe/plugin-react': + specifier: ^1.0.1 + version: 1.1.0 + '@types/react': + specifier: '18' + version: 18.3.3 + '@types/react-dom': + specifier: '18' + version: 18.3.0 + core-js: + specifier: ^3.36.1 + version: 3.37.1 + react-refresh: + specifier: ^0.14.0 + version: 0.14.2 + +packages: + + /@farmfe/cli@1.0.2: + resolution: {integrity: sha512-ZZRmXOSLkA7kWzmj6IVSH5U4NimNzFSa9hI0rRlPbgNwsfBIooUfthMjMZPnMwnFD9SIxLurlMJkwKyb4wpDKQ==} + engines: {node: '>= 16'} + hasBin: true + dependencies: + cac: 6.7.14 + cross-spawn: 7.0.3 + inquirer: 9.3.1 + walkdir: 0.4.1 + dev: true + + /@farmfe/core-darwin-arm64@1.2.4: + resolution: {integrity: sha512-KPFeiIf6bbBCeWoPJ2VQH/3AGMZS/dR9nLlA+yXon+dUOwX9uVSDSmAIEcHKdUyJ8N8Y+1o2mF0uS0bSIz9YHA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-darwin-x64@1.2.4: + resolution: {integrity: sha512-KbIY1VWXDAviR2e8+YsRqAChEqQZXQJOJK/yVICY0S0mWsxXQAwP3FvwifpqSLTUZb97v2evTUtJGGkTr27FZA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-linux-arm64-gnu@1.2.4: + resolution: {integrity: sha512-oN5H/5cvwqZ4pfyGiySzkEu9ZO/pLgfBymDZw9+h8z7rEKoGvjzc/kvdgGLPKn4XR14hqZlyPP1C7BbBbkdS3g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-linux-arm64-musl@1.2.4: + resolution: {integrity: sha512-L9XhlrKnocFvv7c6kLSiC/EHIwhIkVCdoQ9UbcT126Tj1EIEb9HwydkAFI0Fpxt4zpixE4xpZ8DdBve2z2EheA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-linux-x64-gnu@1.2.4: + resolution: {integrity: sha512-/WHOM7ToTWCETJ8sfv+qFmHisqntx8xQ8AfRGaPVMBSF8Jce0ww9CziIk6solMvNdFVFqZu2P4lC8eLz/IX5uw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-linux-x64-musl@1.2.4: + resolution: {integrity: sha512-N+W1sqbKO4RC1qk08qO6wilchy0AVVOr2qt8PYDkn3czzsEquY35cgPgclLh9yXW0Cl5cizi4Spnc+U5/xO0ow==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-win32-arm64-msvc@1.2.4: + resolution: {integrity: sha512-LX5lKqTRhqM2qTHbEUlUg0EXOXtyjz2Y1/SsEYZ3GyOJVPAtVA9dnqYezldarLoV/yNj9DzeE0oiijGjlOEcZA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-win32-ia32-msvc@1.2.4: + resolution: {integrity: sha512-XcJ1PqOJ8LzWNCJlJN1lDgn+h9EUZa/Hj3Szw8Mg05sa5DEPzvH6ViYi19GkDUNtzLgfjl3IX/Iq81GqXZKC+g==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core-win32-x64-msvc@1.2.4: + resolution: {integrity: sha512-tQrYeRNoDipNsuzU7fpXs8ytRnT6R2qvKYxwaBsmbM7372DzQZSUxSwXHgz1GvEuuvndLcpvErxzXFtOJ9+5XQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@farmfe/core@1.2.4: + resolution: {integrity: sha512-EyTU+ZskXAtsAiwuHkN9q9TPc/MwohASzn3eDjgIBAFFNOKtei2Gd0QD/F12H03JsUhcEOsvGbxQMZTrzBVnXQ==} + engines: {node: '>=16.15.1'} + dependencies: + '@farmfe/runtime': 0.11.2 + '@farmfe/runtime-plugin-hmr': 3.5.2 + '@farmfe/runtime-plugin-import-meta': 0.2.0 + '@farmfe/utils': 0.1.0 + '@koa/cors': 5.0.0 + '@swc/helpers': 0.5.11 + chokidar: 3.6.0 + deepmerge: 4.3.1 + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + execa: 7.2.0 + farm-browserslist-generator: 1.0.0 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + is-plain-object: 5.0.0 + koa: 2.15.3 + koa-compress: 5.1.1 + koa-proxies: 0.12.4(koa@2.15.3) + koa-static: 5.0.0 + lodash.debounce: 4.0.8 + loglevel: 1.9.1 + mime-types: 2.1.35 + open: 9.1.0 + slashes: 3.0.12 + ws: 8.17.1 + zod: 3.23.8 + zod-validation-error: 1.5.0(zod@3.23.8) + optionalDependencies: + '@farmfe/core-darwin-arm64': 1.2.4 + '@farmfe/core-darwin-x64': 1.2.4 + '@farmfe/core-linux-arm64-gnu': 1.2.4 + '@farmfe/core-linux-arm64-musl': 1.2.4 + '@farmfe/core-linux-x64-gnu': 1.2.4 + '@farmfe/core-linux-x64-musl': 1.2.4 + '@farmfe/core-win32-arm64-msvc': 1.2.4 + '@farmfe/core-win32-ia32-msvc': 1.2.4 + '@farmfe/core-win32-x64-msvc': 1.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + + /@farmfe/plugin-react-darwin-arm64@1.1.0: + resolution: {integrity: sha512-FU6+b7h3Nxk9cAQlFW8unShd//U9GdwceVImF+Vy2DTzTsmJpLlhDpa6je/k+vt0wQwc+w8YkMAFpOYZkFq10w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-darwin-x64@1.1.0: + resolution: {integrity: sha512-Z1Joj8+YnoR1V/sUUtrMCo61+gGJkgJyCwups4zp3GdhA/hqzClGGdZ/vqWnmr6tJbBsOlv8zXK8v4wlZDi4cg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-linux-arm64-gnu@1.1.0: + resolution: {integrity: sha512-5VKQB3cssbIF1jrziWjC1cP5x/FpMtGZa7cK9jFn2eS0oGpDwSTKI41erdSv0+xRa9Ya4DLUjQ9xCnguVxxrfw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-linux-arm64-musl@1.1.0: + resolution: {integrity: sha512-FPBikgThprfQylLEKtM04N843u6WRlS+Fdbu1QwbiT1MDsjAdk9ULLPP3KIj/D9gBsX7efle7F312WJGwpBkqA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-linux-x64-gnu@1.1.0: + resolution: {integrity: sha512-Bu9Rcwgp/ifm+i0iDwO9zQ5MFksE8zBGqQZvGpRmlB5W9zFe5iMhnqGgs7cvcq/BcHmj4gdymSLToh7dkcGJrg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-linux-x64-musl@1.1.0: + resolution: {integrity: sha512-vDElYVNwKLvFVdNUkF2BlslZuZxZCgcZqZfujmaOd2E4BMUpiU8iXOl3jaH1BWjF/WTQKtUyWkfoWA33BXlIhg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-win32-arm64-msvc@1.1.0: + resolution: {integrity: sha512-O/SpDYilcRTq9XBdZCvB7sxJt/FbdpW7UkTquFMdUebaQihRrHVQGW+WALEmqCPAgU3OJnIOZPYPO4BYUhLYew==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-win32-ia32-msvc@1.1.0: + resolution: {integrity: sha512-w4O1/lkGy8hWGCJ8geg64mzs0YFsAzWns8HXsOUKMKZq8IvPrx+oGWuEA+BunQSwpdzOcbVe7KYOvbB2k7MCSQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react-win32-x64-msvc@1.1.0: + resolution: {integrity: sha512-bzgQnfa1CcC/mnwWYwgQ437zDOEJ69zT5bkzNrfg/r/pSFBaj4WI/JC3SlPWygwFuJRhuh8Zt4TN85wV02dwkg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@farmfe/plugin-react@1.1.0: + resolution: {integrity: sha512-fvRYXILkODP3D/DY3O+ltB2sbX9AvT1DzYMabM0eGWjkOf4m9APnvGH1euFc2G1IOXOaXYN1VL45cKfyBhTgcw==} + optionalDependencies: + '@farmfe/plugin-react-darwin-arm64': 1.1.0 + '@farmfe/plugin-react-darwin-x64': 1.1.0 + '@farmfe/plugin-react-linux-arm64-gnu': 1.1.0 + '@farmfe/plugin-react-linux-arm64-musl': 1.1.0 + '@farmfe/plugin-react-linux-x64-gnu': 1.1.0 + '@farmfe/plugin-react-linux-x64-musl': 1.1.0 + '@farmfe/plugin-react-win32-arm64-msvc': 1.1.0 + '@farmfe/plugin-react-win32-ia32-msvc': 1.1.0 + '@farmfe/plugin-react-win32-x64-msvc': 1.1.0 + dev: true + + /@farmfe/plugin-tools@0.1.1: + resolution: {integrity: sha512-7ox1VgCI5AWFrIUQVLEYGdqCSGNBJYRC0Yhu5sK0a/sR/OSaZa97MdiKA80LkM6UgK+dDFy49rPre10U/M7yww==} + hasBin: true + dependencies: + '@farmfe/utils': 0.1.0 + '@napi-rs/cli': 2.18.3 + cac: 6.7.14 + dev: true + + /@farmfe/runtime-plugin-hmr@3.5.2: + resolution: {integrity: sha512-d2zvBfLtBj0iNxhaRtcLIqnNRUspQLOQTiRZ228rtGtqfZ6CPa6l6d8T530+uaWKR8KD5Rf55ZCglQrkakuPZA==} + dependencies: + core-js: 3.37.1 + dev: true + + /@farmfe/runtime-plugin-import-meta@0.2.0: + resolution: {integrity: sha512-3RXUzeKDmuGiOY7k6OThNok6Dj/Nl2pK62fC7/227O6WEfvWleVxLzXkqLZrMBv1OZNem/cloftMMjYDP/+q8Q==} + dependencies: + core-js: 3.37.1 + dev: true + + /@farmfe/runtime@0.11.2: + resolution: {integrity: sha512-oRcB9437RpCG4+wxc2oZyeqorj2nL/AfBXrUJmUg22em2R3YtlSoBSE4aSp/DG6xqn+buqpHgvW6Rts/WsDZgQ==} + dependencies: + core-js: 3.37.1 + dev: true + + /@farmfe/utils@0.1.0: + resolution: {integrity: sha512-neNJQGqV7XL4XifG1uHOBFSFLy2yx1/DVZNRA7nfeEAXEksVZTwWA+fZrYEaI0w7Sw6K/9NYn9Jgpn+NAT0mcg==} + dev: true + + /@inquirer/figures@1.0.3: + resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==} + engines: {node: '>=18'} + dev: true + + /@koa/cors@5.0.0: + resolution: {integrity: sha512-x/iUDjcS90W69PryLDIMgFyV21YLTnG9zOpPXS7Bkt2b8AsY3zZsIpOLBkYr9fBcF3HbkKaER5hOBZLfpLgYNw==} + engines: {node: '>= 14.0.0'} + dependencies: + vary: 1.1.2 + dev: true + + /@mdn/browser-compat-data@5.5.35: + resolution: {integrity: sha512-APtxt3S+a64EcXpG7E3a0bLx+CPqEcgN45FY/GEmbBBgX51AGIPkkYFy0JQDuOR0MFCozjo50q5Im74jflrkiQ==} + dev: true + + /@napi-rs/cli@2.18.3: + resolution: {integrity: sha512-L0f4kP0dyG8W5Qtc7MtP73VvLLrOLyRcUEBzknIfu8Jk4Jfhrsx1ItMHgyalYqMSslWdY3ojEfAaU5sx1VyeQQ==} + engines: {node: '>= 10'} + hasBin: true + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@swc/helpers@0.5.11: + resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} + dependencies: + tslib: 2.6.3 + dev: true + + /@types/object-path@0.11.4: + resolution: {integrity: sha512-4tgJ1Z3elF/tOMpA8JLVuR9spt9Ynsf7+JjqsQ2IqtiPJtcLoHoXcT6qU4E10cPFqyXX5HDm9QwIzZhBSkLxsw==} + dev: true + + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + dev: true + + /@types/react-dom@18.3.0: + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + dependencies: + '@types/react': 18.3.3 + dev: true + + /@types/react@18.3.3: + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + dev: true + + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@types/ua-parser-js@0.7.39: + resolution: {integrity: sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==} + dev: true + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + dev: true + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.52 + dev: true + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + dev: true + + /browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001638 + electron-to-chromium: 1.4.815 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: true + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cache-content-type@1.0.1: + resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} + engines: {node: '>= 6.0.0'} + dependencies: + mime-types: 2.1.35 + ylru: 1.4.0 + dev: true + + /caniuse-lite@1.0.30001638: + resolution: {integrity: sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==} + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: true + + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + dev: false + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true + + /cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + dev: true + + /core-js@3.37.1: + resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} + requiresBuild: true + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-equal@1.0.1: + resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + dev: true + + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.4.815: + resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /farm-browserslist-generator@1.0.0: + resolution: {integrity: sha512-UGd1eWtSLOqxl0tlexRwpsy1JbHdO39iCDZKzdr7khBKYFXL5PDjjcyj1xelt5YUnLNB2vPAb8P+uD8IqRnBJQ==} + engines: {node: '>=16.15.1', npm: '>=7.0.0', pnpm: '>=3.2.0', yarn: '>=1.13'} + dependencies: + '@mdn/browser-compat-data': 5.5.35 + '@types/object-path': 0.11.4 + '@types/semver': 7.5.8 + '@types/ua-parser-js': 0.7.39 + browserslist: 4.23.1 + caniuse-lite: 1.0.30001638 + isbot: 3.8.0 + object-path: 0.11.8 + semver: 7.6.2 + ua-parser-js: 1.0.38 + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /http-assert@1.5.0: + resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} + engines: {node: '>= 0.8'} + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + dev: true + + /http-errors@1.4.0: + resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} + engines: {node: '>= 0.6'} + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + dev: true + + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + + /http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + dev: true + + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.6 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: true + + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /inquirer@9.3.1: + resolution: {integrity: sha512-A5IdVr1I04XqPlwrGgTJMKmzRg5ropqNpSeqo0vj1ZmluSCNSFaPZz4eazdPrhVcZfej7fCEYvD2NYa1KjkTJA==} + engines: {node: '>=18'} + dependencies: + '@inquirer/figures': 1.0.3 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + external-editor: 3.1.0 + mute-stream: 1.0.0 + ora: 5.4.1 + picocolors: 1.0.1 + run-async: 3.0.0 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: true + + /isbot@3.8.0: + resolution: {integrity: sha512-vne1mzQUTR+qsMLeCBL9+/tgnDXRyc2pygLGl/WsgA+EZKIiB5Ehu0CiVTHIIk30zhJ24uGz4M5Ppse37aR0Hg==} + engines: {node: '>=12'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keygrip@1.1.0: + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} + dependencies: + tsscmp: 1.0.6 + dev: true + + /koa-compose@4.1.0: + resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} + dev: true + + /koa-compress@5.1.1: + resolution: {integrity: sha512-UgMIN7ZoEP2DuoSQmD6CYvFSLt0NReGlc2qSY4bO4Oq0L56OiD9pDG41Kj/zFmVY/A3Wvmn4BqKcfq5H30LGIg==} + engines: {node: '>= 12'} + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + http-errors: 1.8.1 + koa-is-json: 1.0.0 + dev: true + + /koa-convert@2.0.0: + resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} + engines: {node: '>= 10'} + dependencies: + co: 4.6.0 + koa-compose: 4.1.0 + dev: true + + /koa-is-json@1.0.0: + resolution: {integrity: sha512-+97CtHAlWDx0ndt0J8y3P12EWLwTLMXIfMnYDev3wOTwH/RpBGMlfn4bDXlMEg1u73K6XRE9BbUp+5ZAYoRYWw==} + dev: true + + /koa-proxies@0.12.4(koa@2.15.3): + resolution: {integrity: sha512-xxrEtN0e7s7/gNRoOMUltCbuIaCWqTQUTZNWQqet/8MoxSW0hG422lx2Al9FfYO3nCeA+b5c5/YmILRzavivDA==} + peerDependencies: + koa: '>=2' + dependencies: + http-proxy: 1.18.1 + koa: 2.15.3 + path-match: 1.2.4 + uuid: 8.3.2 + transitivePeerDependencies: + - debug + dev: true + + /koa-send@5.0.1: + resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==} + engines: {node: '>= 8'} + dependencies: + debug: 4.3.5 + http-errors: 1.8.1 + resolve-path: 1.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /koa-static@5.0.0: + resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==} + engines: {node: '>= 7.6.0'} + dependencies: + debug: 3.2.7 + koa-send: 5.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /koa@2.15.3: + resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==} + engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} + dependencies: + accepts: 1.3.8 + cache-content-type: 1.0.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookies: 0.9.1 + debug: 4.3.5 + delegates: 1.0.0 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 1.8.1 + is-generator-function: 1.0.10 + koa-compose: 4.1.0 + koa-convert: 2.0.0 + on-finished: 2.4.1 + only: 0.0.2 + parseurl: 1.3.3 + statuses: 1.5.0 + type-is: 1.6.18 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + dev: true + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /object-path@0.11.8: + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} + dev: true + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /only@0.0.2: + resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} + dev: true + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-match@1.2.4: + resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.8.0 + dev: true + + /path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + dependencies: + isarray: 0.0.1 + dev: true + + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + dev: false + + /react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + dev: true + + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-path@1.4.0: + resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} + engines: {node: '>= 0.8'} + dependencies: + http-errors: 1.6.3 + path-is-absolute: 1.0.1 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + + /run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /slashes@3.0.12: + resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} + dev: true + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + dev: true + + /tsscmp@1.0.6: + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /ua-parser-js@1.0.38: + resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /update-browserslist-db@1.0.16(browserslist@4.23.1): + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /walkdir@0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /ylru@1.4.0: + resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} + engines: {node: '>= 4.0.0'} + dev: true + + /zod-validation-error@1.5.0(zod@3.23.8): + resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==} + engines: {node: '>=16.0.0'} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.23.8 + dev: true + + /zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + dev: true diff --git a/packages/url/pnpm-workspace.yaml b/packages/url/pnpm-workspace.yaml new file mode 100644 index 0000000..bf93c07 --- /dev/null +++ b/packages/url/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - '.' + - playground diff --git a/packages/url/rust-toolchain.toml b/packages/url/rust-toolchain.toml new file mode 100644 index 0000000..17ee4d1 --- /dev/null +++ b/packages/url/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "nightly-2023-11-04" +components = ["clippy", "rustfmt", "rust-src", "rustc-dev"] diff --git a/packages/url/rustfmt.toml b/packages/url/rustfmt.toml new file mode 100644 index 0000000..cab5731 --- /dev/null +++ b/packages/url/rustfmt.toml @@ -0,0 +1,2 @@ +tab_spaces = 2 +edition = "2021" diff --git a/packages/url/scripts/index.d.ts b/packages/url/scripts/index.d.ts new file mode 100644 index 0000000..ab26c1b --- /dev/null +++ b/packages/url/scripts/index.d.ts @@ -0,0 +1,2 @@ +const binPath: string; +export default binPath; diff --git a/packages/url/scripts/index.js b/packages/url/scripts/index.js new file mode 100644 index 0000000..927eba5 --- /dev/null +++ b/packages/url/scripts/index.js @@ -0,0 +1,124 @@ +import { existsSync, readFileSync } from 'fs'; +import { createRequire } from 'module'; +import { dirname, join } from 'path'; +import { fileURLToPath } from 'url'; + +const { platform, arch } = process; +const currentDir = dirname(fileURLToPath(import.meta.url)); + +let binPath = null; + +const require = createRequire(import.meta.url); + +function isMusl() { + // For Node 10 + if (!process.report || typeof process.report.getReport !== 'function') { + try { + return readFileSync('/usr/bin/ldd', 'utf8').includes('musl'); + } catch (e) { + return true; + } + } else { + const { glibcVersionRuntime } = process.report.getReport().header; + return !glibcVersionRuntime; + } +} + +switch (platform) { + case 'win32': + switch (arch) { + case 'x64': + if (existsSync(join(currentDir, '../npm/win32-x64-msvc/index.farm'))) { + binPath = join(currentDir, '../npm/win32-x64-msvc/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-win32-x64-msvc'); + } + + break; + case 'ia32': + if (existsSync(join(currentDir, '../npm/win32-ia32-msvc/index.farm'))) { + binPath = join(currentDir, '../npm/win32-ia32-msvc/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-win32-ia32-msvc'); + } + + break; + case 'arm64': + if (existsSync(join(currentDir, '../npm/win32-arm64-msvc/index.farm'))) { + binPath = join(currentDir, '../npm/win32-arm64-msvc/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-win32-arm64-msvc'); + } + + break; + default: + throw new Error(`Unsupported architecture on Windows: ${arch}`); + } + break; + case 'darwin': + switch (arch) { + case 'x64': + if (existsSync(join(currentDir, '../npm/darwin-x64/index.farm'))) { + binPath = join(currentDir, '../npm/darwin-x64/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-darwin-x64'); + } + break; + case 'arm64': + if (existsSync(join(currentDir, '../npm/darwin-arm64/index.farm'))) { + binPath = join(currentDir, '../npm/darwin-arm64/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-darwin-arm64'); + } + break; + default: + throw new Error(`Unsupported architecture on macOS: ${arch}`); + } + break; + case 'linux': + switch (arch) { + case 'x64': + if (isMusl()) { + if (existsSync(join(currentDir, '../npm/linux-x64-musl/index.farm'))) { + binPath = join(currentDir, '../npm/linux-x64-musl/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-linux-x64-musl'); + } + } else { + if (existsSync(join(currentDir, '../npm/linux-x64-gnu/index.farm'))) { + binPath = join(currentDir, '../npm/linux-x64-gnu/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-linux-x64-gnu'); + } + } + + break; + + case 'arm64': + if (isMusl()) { + if ( + existsSync(join(currentDir, '../npm/linux-arm64-musl/index.farm')) + ) { + binPath = join(currentDir, '../npm/linux-arm64-musl/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-linux-arm64-musl'); + } + } else { + if ( + existsSync(join(currentDir, '../npm/linux-arm64-gnu/index.farm')) + ) { + binPath = join(currentDir, '../npm/linux-arm64-gnu/index.farm'); + } else { + binPath = require.resolve('farmfe-plugin-url-linux-arm64-gnu'); + } + } + break; + default: + throw new Error(`Unsupported architecture on Linux: ${arch}`); + } + break; + default: + throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`); +} + +export default binPath; diff --git a/packages/url/scripts/watch.sh b/packages/url/scripts/watch.sh new file mode 100644 index 0000000..255a484 --- /dev/null +++ b/packages/url/scripts/watch.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +npm run build diff --git a/packages/url/src/lib.rs b/packages/url/src/lib.rs new file mode 100644 index 0000000..74aa1ab --- /dev/null +++ b/packages/url/src/lib.rs @@ -0,0 +1,152 @@ +#![feature(path_file_prefix)] +#![deny(clippy::all)] + +use std::{ + collections::HashMap, + fs::{copy, create_dir_all}, + io, + path::Path, + sync::{Arc, Mutex}, +}; + +use base64::{engine::general_purpose, Engine}; +use farmfe_core::{ + config::{config_regex::ConfigRegex, Config}, + module::ModuleType, + plugin::{Plugin, PluginLoadHookResult}, + serde_json, +}; + +use farmfe_macro_plugin::farm_plugin; +use farmfe_toolkit::{ + common::PathFilter, + fs::{read_file_raw, transform_output_filename}, +}; +use farmfe_utils::relative; +use mime_guess::{from_path, mime::IMAGE}; +use std::fs::metadata; + +fn copy_file, Q: AsRef>(src: P, dst: Q) -> io::Result<()> { + if let Some(parent) = dst.as_ref().parent() { + create_dir_all(parent)?; + } + copy(src, dst)?; + Ok(()) +} + +#[farm_plugin] +pub struct FarmfePluginUrl { + options: Options, + copies: Arc>>, +} + +#[derive(Debug, serde::Deserialize, Default, Clone)] +pub struct Options { + pub limit: Option, + pub public_path: Option, + pub emit_files: Option, + pub file_name: Option, + pub dest_dir: Option, + pub source_dir: Option, + pub include: Option>, + pub exclude: Option>, +} + +pub fn get_file_size(file_path: &str) -> u64 { + match metadata(file_path) { + Ok(metadata) => metadata.len(), + Err(_e) => 0, + } +} + +impl FarmfePluginUrl { + fn new(_config: &Config, options: String) -> Self { + let options: Options = serde_json::from_str(&options).unwrap(); + let copies = Arc::new(Mutex::new(HashMap::new())); + Self { options, copies } + } +} + +impl Plugin for FarmfePluginUrl { + fn name(&self) -> &str { + "FarmfePluginUrl" + } + + fn load( + &self, + param: &farmfe_core::plugin::PluginLoadHookParam, + _context: &std::sync::Arc, + _hook_context: &farmfe_core::plugin::PluginHookContext, + ) -> farmfe_core::error::Result> { + let options: Options = self.options.clone(); + let include = options.include.unwrap_or(vec![]); + let exclude = options.exclude.unwrap_or(vec![]); + let filter = PathFilter::new(&include, &exclude); + if !filter.execute(¶m.module_id) { + return Ok(None); + } + let mut res = String::new(); + let limit = options.limit.unwrap_or(14 * 1024); + let raw_bytes = read_file_raw(param.resolved_path).unwrap_or(vec![]); + let public_path = options.public_path.unwrap_or("".to_string()); + if get_file_size(param.resolved_path) > limit { + let file_path = Path::new(param.resolved_path); + let ext: &str = file_path.extension().and_then(|s| s.to_str()).unwrap(); + let filename = file_path.file_prefix().and_then(|s| s.to_str()).unwrap(); + let mut filename_config = options.file_name.unwrap_or("[hash][extname]".to_string()); + let relative_dir = { + let dir_name = Path::new(¶m.resolved_path) + .parent() + .unwrap() + .to_string_lossy() + .to_string(); + if let Some(source_dir) = options.source_dir { + format!("./{}", relative(&source_dir, &dir_name)) + } else { + dir_name + } + }; + + if filename_config.contains("[dirname]") { + filename_config = filename_config.replace("[dirname]", &relative_dir); + } + + let output_file_name = transform_output_filename(filename_config, filename, &raw_bytes, ext); + res = format!("{}{}", &public_path, &output_file_name); + { + let mut copies = self.copies.lock().unwrap(); + copies.insert(param.resolved_path.to_owned(), output_file_name); + } + } else { + let mime_type = from_path(¶m.resolved_path).first_or_octet_stream(); + if mime_type.type_() == IMAGE { + let file_base64 = general_purpose::STANDARD.encode(raw_bytes); + res = format!("data:{};base64,{}", mime_type.to_string(), file_base64); + } + } + Ok(Some(PluginLoadHookResult { + content: format!("export default \"{}\"", res), + module_type: ModuleType::Js, + source_map: None, + })) + } + + fn finalize_resources( + &self, + _param: &mut farmfe_core::plugin::PluginFinalizeResourcesHookParams, + _context: &Arc, + ) -> farmfe_core::error::Result> { + if self.options.emit_files.unwrap_or(false) { + let copies = self.copies.lock().unwrap(); + let dest_dir = &self.options.dest_dir.clone().unwrap_or("".to_string()); + let base_dir = Path::new(dest_dir); + for (key, value) in copies.iter() { + let base_dir = base_dir.join(Path::new(value)); + let _ = copy_file(key, base_dir); + } + Ok(None) + } else { + Ok(None) + } + } +} From 708e3997b29f384fd59fd1367219076d347410d6 Mon Sep 17 00:00:00 2001 From: CCherry07 <2405693142@qq.com> Date: Thu, 4 Jul 2024 02:08:41 +0800 Subject: [PATCH 2/2] feat: url --- packages/url/README.md | 120 ++ packages/url/package.json | 2 +- packages/url/playground/farm.config.ts | 5 +- packages/url/playground/index.html | 2 +- packages/url/playground/package.json | 7 +- packages/url/playground/src/assets/logo.png | Bin 30290 -> 52789 bytes packages/url/pnpm-lock.yaml | 2135 +++++++++++-------- packages/url/src/lib.rs | 60 +- 8 files changed, 1361 insertions(+), 970 deletions(-) create mode 100644 packages/url/README.md diff --git a/packages/url/README.md b/packages/url/README.md new file mode 100644 index 0000000..f991e48 --- /dev/null +++ b/packages/url/README.md @@ -0,0 +1,120 @@ +# @farmfe/plugin-url + +🍣 A farm plugin which imports files as data-URIs or ES Modules. + +## Requirements + +This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v18.0.0+) and farm v1.0.0+. + +## Install + +Using npm: + +```console +npm install @farmfe/plugin-url --save-dev +``` + +## Usage + +Create a `farm.config.js` [configuration file](https://www.farmfe.org/docs/config/configuring-farm) and import the plugin: + +```typescript +import { defineConfig } from '@farmfe/core'; + +export default defineConfig({ + plugins: [ + [ + '@farmfe/plugin-url', + {}, + ], + ], +}); +``` + +With an accompanying file `src/index.js`, the local `image.svg` file would now be importable as seen below: + +```js +// src/index.js +import svg from './image.svg'; +console.log(`svg contents: ${svg}`); +``` + +## Options + +### `exclude` + +Type: `String` | `Array[...String]`
+Default: `null` + +A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files in the build the plugin should _ignore_. By default no files are ignored. + +### `include` + +Type: `String` | `Array[...String]`
+Default: `[".*\.svg$",".*\.png$",".*\.jp(e)?g$", ".*\.gif$", ".*\.webp$",]` + +A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files in the build the plugin should operate on. By default .svg, .png, .jpg, .jpeg, .gif and .webp files are targeted. + +### `limit` + +Type: `Number`
+Default: `14336` (14kb) + +The file size limit for inline files. If a file exceeds this limit, it will be copied to the destination folder and the hashed filename will be provided instead. If `limit` is set to `0` all files will be copied. + +### `publicPath` + +Type: `String`
+Default: (empty string) + +A string which will be added in front of filenames when they are not inlined but are copied. + +### `emitFiles` + +Type: `Boolean`
+Default: `true` + +If `false`, will prevent files being emitted by this plugin. This is useful for when you are using Rollup to emit both a client-side and server-side bundle. + +### `fileName` + +Type: `String`
+Default: `'[hash][extname]'` + +If `emitFiles` is `true`, this option can be used to rename the emitted files. It accepts the following string replacements: + +- `[hash]` - The hash value of the file's contents +- `[name]` - The name of the imported file (without its file extension) +- `[extname]` - The extension of the imported file (including the leading `.`) +- `[dirname]` - The parent directory name of the imported file (including trailing `/`) + +### sourceDir + +Type: `String`
+Default: (empty string) + +When using the `[dirname]` replacement in `fileName`, use this directory as the source directory from which to create the file path rather than the parent directory of the imported file. For example: + +_src/path/to/file.js_ + +```js +import png from './image.png'; +``` + +_rollup.config.js_ + +```js +url({ + fileName: '[dirname][hash][extname]', + sourceDir: path.join(__dirname, 'src') +}); +``` + +Emitted File: `path/to/image.png` + +### `destDir` + +Type: `String`
+Default: (empty string) + +The destination dir to copy assets, usually used to rebase the assets according to HTML files. diff --git a/packages/url/package.json b/packages/url/package.json index cfc2c11..655ed7d 100644 --- a/packages/url/package.json +++ b/packages/url/package.json @@ -32,7 +32,7 @@ "scripts": { "dev": "cargo watch -w src -s 'scripts/watch.sh'", "bump": "npx changeset version", - "play": "cd playground && farm", + "play": "cd playground && pnpm dev", "build": "farm-plugin-tools build --platform --cargo-name farmfe_plugin_url -p farmfe_plugin_url --release", "prepublishOnly": "farm-plugin-tools prepublish" }, diff --git a/packages/url/playground/farm.config.ts b/packages/url/playground/farm.config.ts index 472c01c..d675a42 100644 --- a/packages/url/playground/farm.config.ts +++ b/packages/url/playground/farm.config.ts @@ -1,5 +1,5 @@ import { defineConfig } from "@farmfe/core"; - +import { resolve } from "path" export default defineConfig({ compilation: { input: { @@ -10,5 +10,8 @@ export default defineConfig({ }, plugins: [ ["@farmfe/plugin-react", { runtime: "automatic" }], + [ + "farmfe-plugin-url", { limit: 10 * 1024, public_path: "output/", emit_files: true, dest_dir: resolve(__dirname, "./dist/assets") } + ] ], }); diff --git a/packages/url/playground/index.html b/packages/url/playground/index.html index 8ea851d..9d43228 100644 --- a/packages/url/playground/index.html +++ b/packages/url/playground/index.html @@ -9,6 +9,6 @@
- + diff --git a/packages/url/playground/package.json b/packages/url/playground/package.json index b1d272e..7c83213 100644 --- a/packages/url/playground/package.json +++ b/packages/url/playground/package.json @@ -10,18 +10,19 @@ "clean": "farm clean" }, "dependencies": { + "@types/node": "^20.14.9", "clsx": "^1.2.1", + "farmfe-plugin-url": "workspace:*", "react": "18", - "react-dom": "18", - "farmfe-plugin-url": "workspace:*" + "react-dom": "18" }, "devDependencies": { "@farmfe/cli": "^1.0.0", "@farmfe/core": "^1.0.24", "@farmfe/plugin-react": "^1.0.1", "@types/react": "18", - "core-js": "^3.36.1", "@types/react-dom": "18", + "core-js": "^3.36.1", "react-refresh": "^0.14.0" } } diff --git a/packages/url/playground/src/assets/logo.png b/packages/url/playground/src/assets/logo.png index 4f2ff91f361811557cb48e620bf5e62c0966b7ad..67112a5ca48fb28d87cf4a76e5eef3f12c6587ff 100644 GIT binary patch literal 52789 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 z z&*;OW&+L-}jL5mZ_aqNb#ry_-EM)5YWVqvpmgW9~^zZFxBZk~gHq3WJ%NR?6vtFS8 zw;Jn$(xdgYWAhE(s^*O+)(x3FVx^z3!NzVa44?cwp!m*G?d4%l`%57WWS zbQh}N@$ke!KCu^=JJMHx3)B0aFtWe*%XH(+kJsmb0@7<@-a#f^YEPmegX5JfZ8~W%Mdj z1O=%V>d!%=UktM&yl{8xJ%c~GblxeR#5yoBS#bVJYVj8YU-)pyK7Ff9J7KVk&e>r@ zOctu-q+$ks|HRyeZhT*vs5M+cE5-8^y}dt5MxTYa&roa?x-U?gJuKKt(9{?p(lNFa z_c?MK^NTa8?QD638rfJGA(IhXTke_5PT%Zb7JF}RsD7C=Iwq&GsH~`Rmxp+FZpKuL z_Rl=A?;q9FHp9V~2Ogeg;%EmPXfJi|V#XrTJ!6#SbB*4ZA9@1AHG~f>Ba)niu-#*Q zJ2QE86xwH(g%1WyW-_P?q_!(+7z}L-$O%CbyL-M^dz_O|*hATBu5f+QJO9W%QfKxIFC>k2+?@e%Iza zcWb8?eYOLwCDWCs1wI5@YSR>=L*h_X)lCPg#1+{oHU$_Jcx}jBn1Xz9LP5*DD^yeZ{_*NwD5ZXR z$v{0|UqVQn*>m0@oZ+=tSfVFK4VVqayKJy(u~Ij3OZM(v2&2UGLF5!NkNS(QT}LrD zu5>no(AY}bPtuieM&Z{&qTqPUVD-gYvto_*)vpwHG#Wsd+oK-ix#jvUz~FH|JT3pe zy*!hx%i^hy^K3(M%zcvASOupWvV_40g$HH$zk!4E|CABaI>(iLT!&w|SSw-h`K1-Z zD_W2Umsw}e45$OfMZFsS9eOFUk9)Fh4o-eo2waB!FnXXWPH)=FYrO38kBD6hEY<}^ z>0KULOVpI=afep7yMkr-xIE|yQ@0y^9)lawbp0xy@d;I_+F3f&a0$d>KisYP8<)jQ zp4vVB^%pyn%VO^s8}-n0FZM5`d=&G0y!}@E;FtV^|2DIhpid-Pf(4%grdlDhl0mST zxRYJ>rSSLterMYXr70Y#^CqG3mk#x&fA|r{f6qIj&UO!EG^P#CrjIy+55nIY7fdOi zEo?Ths5ZeUS6{3S*?H}+#hUG`BYn(z=Q0`@pp3h`m#}dc#85ju)y_FeO5MYR^t=rm z)rLmi`>FTJ$Avr+X^(j|@<{~BsEfox4IkUiS`@)9SH;~ZqzNRn*Pi$^?sA_$nVeuo zSI07tP~H9DXI7F0E}a~2PSI3CM-A9EU36mKu)T`S7;MklfI z=kc0ozZSE+-Bjj3%UbjV;fxd*BWoED$CczR66qtbijLG z^n|RQ&)bs__56@^WF4$W$7-OeOz#7ZMCJ3pj`E6*C*}h!ooG|sm;2#td~|$&*68Or ztuP6aZ0~b$B!YOV6ecxVku&>l%m#!`3jB=hZ6Qs{+90H6DfLdh3$hDNXBzm37w|v1 z#irgo%>VX02&_-9Gr1AYt#)SkY=UuE6<2Sy=3hY;46rM;59D-snd3~PM-K>ferfzW zOM~VeG*>moy&R%4mH_+?WCQ#2@r9^~$>6U%$s}oOlF4r8h-CF`EPf^xKasT(B#GW< z;9?o_sZwzf{YZblMfHj#LZ=}oP*xamTTl?(IGF(YhZ|YfKd+{%hYv~cmDZMvM96`( z_tia?=m0}`6Mh|V#kJ>XPlMhLu9$*Ujv7b_gjZvYii{tEH8PlPy{u-T7QmPaLQ$V< z1+Jyr#~f-9caHE*YdC&4U}nI!QP10k&F|9?FXZT$gDrx?k7e)tSD76YnS@%!ZDS3f z?tKA9kjv{n@Vm_a9?!YluX&OKOD|BRwYPADM@>dE1D7+Wcp-~D-U6)i47_AEVCz0ihQbTN9FGO&4+MfCzvdY|o%NDt4YRx;>+1jFyq;8PZJvlf=XuqTy}hF+ zr4vB6Lw444u%)YH5(yo@a&RsZ`R=sK9m%goD!3y*FFld3`|UTUP#IIrV+!hL!y-Vh z&TU9CL@27jlL;^{PsE$kN{{;Uj+zGp^whta$tUND;#^i6J_Ml_*=yT+$XTEzS%r2K z;v5~|YjC3BO^fuiePCS8=wnW{QoDI@O{`gbrQ5Tq#7Qzu1;Q|nX+draAlC%$tkO-; zy3M+O2hC%?C)3=TTj3iqiG1Fg``0B$k#;5G(Mtv3n+ZTk+veg@27i~$9^WPuS>dc_ zfSo6~WBsGpJR3D@JRm)0(I<=!xmoRiS}lcEE|*UMs5{0EtzR|##Bm*wmKp*#KPWA* z%8-1jxrj&9JTf(vlJ6h-D@Il%Ev4L!RZMAG01?5 zNF%wSu&?F1aF&^G`s(E;A6tI#K$3oY?H~m;hU(#YXgetKks=z*87raz*N`w0f^s*| z|MTrOvoogJ94QSwzQcT(FMmTX=GQ1!FhBd~2;Kf!Y&CMY%02E9&_n;v1{Ku|KJt-C z(VxRQRKri?gBm6={j1>K@>wqlsj%dqEmDDN|KyLfXdB-}8j&A=*^p%7v5MEmDnsgVa^7D%8ycH@Ey0B6d} z0Uw^b%}`g0gtyn#a*@-@2xrbgH~AI@XqWA!vocimgxsf-+Gk~s^pGa)=u_|I-wH2D zer&}bQ2qqcO`$k{?qP}C1w+`!eY`(I60UxtoI0r~%U_bsvNE11n`lrr$cc@bRFO&q zeZ*W<7GjQa6Y7Hx)WXx9lXPnmeQxJ3Mvn%*ulIyP13e_Tr#i8FyH3sVQ1k0OEyTe( z`^N>9%4a8AdUns71<>b)@!vRs=*^@t|6~qZ_vv)S$c0(`@NS~XzfBmU2JArXhjLRB zDla?PmqmK|h{kTpPYh`vZAu zX)d_K(!wM3ym7GG(O(OvwwEw`H0!&llAFrt*1QyW;0NPZ`}c$^E9IJ3nINCoHvFfXx9W~v|k0(Y-pYUlVs)-zx+KsR5YYE^7W9&`iJRG`tU#Ws_ zAOO{%?u0oz8GLyflZL?+JhK4lOv3hQToV?F9DD;r1wQIL>aLkr;C0L6`Ki@w5k!9w zlQrGRkB8*H)R0D*p7WKO>(yh0kZNFXKVNw!h%RB&ppnN5a#k=utvP=`pTx2(Xlfb5 zB8hQEXUdXZRE7rmC;&G>+!a0eetb&zKrA>r1RxY{>1Db$T&9{q3Z zMxM!vX)xhuM9jU@kNN3-aA8abeJcQnoq$m?vH9_Jc1@uSiwEF|vNOH!RoN{cUt$G| zv#1J4vTy%|zI}_n>o3p;1{wzh08RXPncks`Ju)Q3C!DOZk}QXaF00#@QFHPU5NYVS zgM4jyIa4X3{PR0{6{xc1ef5K1g-XT23e`Q33$@Y*_2ox&BVIHA#nI0yl~N^K6R|o1 z{^vO;;#usrL`RLU)}x0)(1g4bGqp)L{8NlA?4R_6*w3{L*1dO zlys!x0$WdxEw1tx9!+%v$yhe0hvi~zUUNLV^%0Ctn46TwUx)eAYe1F!*NzR8^C`xz zkd0waL;T}NSsE&vNSfR+p>}0L-HN#;ZevvNVQ}T@7)Y8N7f`6x(jE3^Z)EOtD}N(b z+BaJfrBxMO9ZrKexziGjLQpcP)$9q|Zz;biIaEEhfh)rZ;7W~Dz1}pJ=1pz^JO+W~ zWA$WGp)G!GcfdoBNC5&)=3q@Qu8Rg>cl^`}|7utkG8gZYaQ>SuXMgPHU&wWo#N_3U zT*hpCeDT#Vvi2;Gbt=_ >$8nP?D|{sHwk4ll@N@7|lb^C{254}Iba=OiPn?1!KrdtS}dPBn8Zj2dgvRs<-= z3P8xY@lr(wSY#yLl$)mL`x%v6TKo7}Xi(oEH*MD5{y-K^v}m{Yy*ya& znN{3@aJYrXGIXd#dWy4aZQ!f84Jrw-(9{V+YNerJLxBTP~N5_yib_vlEhp zbZ!bQ8zV}PO2ZsLuIUERjnkRW6w!3kULA|bZ z|HbMWW|x5;HW9)3NchXXe?UqC+&xA`55zj@U%8R9-MT-zrDS-gIQn!kII8{win2h8 z8F1bs%ZkxmHdty1U!t=saPM5kGaGR*-o(KDc&jlVCM?SzOTrrLWoKfry-b(tgcg z9K>ZB!vaKj)x);1I31V+YLt2o`%0DLg0BLp_F_OImy3%3gK3~X){RhnFu%V61@2E&Q)EU4UtgQ|B7s6Y{$56=raZle78_^v7?Q^ z2tBR-eADpJumX;giRuDAQZ;w~unV|WV<1$fGh>6xp4h?u+=x;HEg-H>gy{x<>12I( zM(xT5LcNPXj}#S?{aIbat0zM1%RuO*n{#~Mup01fYe19-O616#Q>GuuYZsiz{+RYF zeY}yFR^aJy1e62*fL)qidMIn)I9Dr6#cNIjk07I3wq zZVLQfgz&S3Eu8!Y&%>DOmAQLqS1^(*Y?TeDCw{5ZHTO2qq=0M_LLv8r$bvyMUPi7O zdWQ&8#hqpL^&v$3(${;8M34K;hL2QZqIK&O>W-q)BIS*q#8$74{cE0PxjqidGl%V-WE5WshIw6bZ)~f<2vDSF_3kofdciYb=pO|03)Xujoi{eteZNz zJ|FmvXuu%h0`(vSCB`mVHaM67&ICDYbT^Eq1shN`=loL0pjFCMBKOU5x1rzjii z;$jZNA1pA0j%pQ zA5&4BB%r*;&He5RP`LgBBR~oCB+n_z;#yf}jNVU~6P&rXaHbA^Y%IlDSa-zj_Hudr zFG|1Xt=cR`YcApU_eZ}RX>DNNVk06!#goVxuYOntOk{vU{-`xask^GgC*6%&*~_v% zB?K5`b0)ID0FPBd&qThPnw-6Ew1u`nKwG|p7VW!r-^KW2^%FRXZ=Ifuanp2zPDk{@ z;cJ)CLhGoA<3O7b)YLGOIr1dw&$_@zzAXD_R_kM+KvCw<1Qe~;YGRQ| z=3y=2+uRpaMG)&k52alt@_oAR18bw3-gZ%VNw()+qJH`zOPTe>L2%;&WMd9cAPLw- zO+ye*Ruyi94A2W;il8@q6$ns*E&^6z^Swjxdm#H*EdDf{ESYVglpd0ajN~%dSi0jG zpjp{+jDoOKFC5P;-FQNshl$$HypLJRHR4rT%Z5XMQ1Eoe5ETg9`~s`V;K8Y}SKKT7 zUmUkgjKhJ6`HupA;jtAsfBIZ;`Q*l`9E0FF-Pbhf_dooUt;p3tIswH>x=Iu)D%lTo z1mLl(TM;|!!H5q7#GQETqDHSW=oncC<<(a~U4^atHoIvn>lg>6WBnPVCkvBfS?>vx z)BOY0|FcYR#E*o!=f0{Cozf3qep1SL$=THA4r0eMo zMiFlS_eT5{E=1??;j+-Uv-L_e^Dh>zEvoc?On3c5JfpF#W|Lv`dKjDMnmAR`~8 zb}Vvp<5?)8V2q%ECsz5*NP$`0HKOB(_~84Wn{)cXbK;{T@LOH;`K`;Nr7{8fi zGsrxkUa>JXxY7bpcN!`4gCK#9-0}bci1E5z!go42f&X;4>Xa;@%dZcqpHBq_FD3! zAt}hDE%U*x3y@966Ra}ERbq$uCf}#w$`K+Q+?J2!qi`Hd+cFVx3YM3}pN*(qK7mEN~Qc(>TKBLgDZo64Hwubj>{x_2l6JWLnGYQoQ$jx&ugOcyg^S^TKm&y95N_N(Xt4dF!fkT= z5I93yht5A(-wer6JLk$O=dy5SttQ)yHaDT( z4A66kMY+n$3XeVafVWrFc*{d`_~G_LVd)cI5*49A`3o6#tv55rq9?&w$LT)Wrr!J9 zp!ee-=#y5$X{+of{1rSoUz$B*WJAk)!QnEz!c{PG0@0SR6)|POr{GQ!_vv|{_LCb0B06}Q^UJK(+W5rEyH=ir+2hxBdfEBpae5^9O zET0^IE3j=2{zbVpAacM8E@b>U%wG4>+0e;S8AyHCJ;@ndFyP(NM}PM-Wtx%_)7$-ro15Rn~T zlJk^|&t>0RIfbM19s&o5ax$)G6ILo$zp1h|5`%#0w*lGUB59J;T=P-gHr+TQg>3^5 zwGqZ+QNckd`-Pfum3q9nTAyw3yZoL+a^dgsQ1^$Mg)oRPp9Mz)#`aeP9#kRnHs9I6 z``;gH9GIs6943Q5uR2*QJ$k=?`$qiuzs;b}|Ea|Pwt)Ym?mrIv$ASMi@E-^M(xc2)E0>u7p^s2J-~@d3u9?^HZ?;jl4n#Y9hdWL~Dew_j8V% zhP?U95^)BWyV_ZZS^yE)D*9i4@oQ1Q7mQ%LV&*`QfQ)^xW!hH8Nt<*_@usF0kBL?` zB~Eir9Ebvq7pFC~+d%otGe4L&)TKf5z4{V3V1D_&anYQ3Mob)7E(qsX+x3X(bf=`W zb8RCm5u42nF3la({GU@p&|W?{SW1~YXD zxoz1{QkM7Kri+rHefA)j4$j+lB*e8S_~Le2$mfkXe$H4H<^os z+0fj~!(P#|Ew$Q)QFG-ipfbDAN)V)yJ4jWFa4pzw~D4Pif=7+)5 zw9*o`dbemtcdzd5@qmDgEpUMIPY;gbOmphN?2XoQWz3(wFa znCa&20alNoT-SJGRka=Bbh7yB0cfg#^aGi&!-%!X8scS`hSHUql)XJDU%u1=?tAT} z7VdhEAV39rZo7O!9FfJ44$HA$Jpx(V#8cXtuVU7-I|x`W1G59Au??G+Sqa<@&cDJ! z0#x+G5bk9Nf>L$yNpJ>=r?1B@bVD5FTmq)RfGiQ*lcG|WOIKPM?wFNyaj$YJsazJY zh@9}a7*2;(7U9Vbu>JJaIEW4wew_svC+PslP70-jmAE4c=$sOnB9Br7-V5ef_@m+ z^q0pTwibusGj2OkAl8C~_ZWER5OM*~b(j@74NgK9a*Du24wY}8{gszN9Pt)h8sM;NbWO|{;uhoh z;j`dl;;;5$WZV~7qP52CYu zmR*tQ$kYO=uAIaYZqN;R##vu^5FQWZu4An=gBtwgxNm+9$yyWe)r6o|M4AdBC&f9A zg7R4cD>Yn0JHxO50_qc3^A}&^zWU{9FtuMnV@LFWn5yv3kAT=J>+#Hc zA_!Q%eqyd|+C>b5ng*S%IM3Udjt^=w5Ie&H47gR82m1&dW}D1+LoizU&8fBmj* zl|T!Q46tLEL&eL!aj>#v2_EdasWJl23Itf2cb^|jy7?xQ%a4|em$#jaiH{Hq+)Q;m z?dwvv&Ez=%XIckhu@zX-!My-z zX1akaZP8G;@#%kh(6T?eW!y&EP|L=*{&(xK3W>Yy}fX~;jfXi#a zq`x(*hsMDZoxnO)z*rikY+Ao^-h96zxqZ9^uhb&%yv}w@ zS&p|#T4WyFvaP^@FP|1EydcwSH~+8$I&l=<@owx-fv>zWgfV-JM;Y~zSd}6; zxOW3#lk7howl^Mu&Whq}J3+g{Y$)D<#a~zr223^CfJce}9uzC8OP`h8oOQ|*t6BFB zAg&we5COg;+TTw7LU%#=;wi9$`^P|6d%&fW`cdN_pFS3;3PX2B9Gt_-6s*rd=2!9} zz!4D%Y|Zmrq#aA=?%QBr+~2G1PEdhWP*A+8KzG&!P_(=i#yb>QsCp20r3mnYm;JXN z=Vn;|nrj_U+W>3r7~L$|V<7(-YoEB{PF4k*MPMJc&76#HC$nsdm%&2Zc%ft5{OVY! z;c6|G3_g$@yuk1R^&Rtk_zSXG>kHnzygBy*9%Fm?32=aU1-Pyekjv3c@XVdo&tHTT zFarBtmmU)<2?-5=%F@{a^@B_sGYo)LW*^`V&gJP)Ik&xdnlsX|zx?5=VnpHE>{1;Q zAyC!o%vm;e*B|!ZNR9SYD<5|*XxejyKTAKwS=T<+enJYJfP*0yaJ^nr4J-BR*d|cR zS`h^=uvEtGtD?FO0!q*SMig-Tyug!tLc^oDG9a{xX>&FJ3RbvzG=GEXTM=o0biENjaR_DK!u=;sq#jPWJ_ps1z_v{apqA7 z<~*?b^G6_9^(=SZbw4l~ygBsFD;|u==x8;#fQJb#XgRNk5y7%(2-im%7=wuB72Uz> z0!q_B&5kf?EfJ-S|D2AgVrYPqd{~$ZlS0z9MSq zlb;;@;!Sfu85(85v;BMvz%tSjySU1ctYq+E5Wtkorz9}i0JF;`PG)lp7%V|KM8ODe zROBcgyAAGueH&u20?lr{56%f6PctMz+;|d9@a0oCUW682mTCdfo)szXn~zRbMsUIr zVs|*Iwqp5C@9cv6bCYFRlz__PIa$^vPs(JH*p^Emm7F`T9A9M?l8u)ihRDun1_%5u z-+$%j#p&!LfTc7E;)wv~3~;%9W{d$tPzvg_1_M^h2Vx*t*;6)Pm5h6w<32fz5*0 zN9LCMtl&35)V&NMvaZx8NQtD$UF^o8!t0c3}|vX$;KON5NLQ zzywj+dtc*gNyV_Yn7N{nZW+?v3w7OCbMCp$R#o?B=Wsp%yG6k3txiRUGh#8@vEt-f zHu!97tIKDo1Uf~+Nvdb3P2LR9BA1aKmj|*hMw)afg@Cb&fEmf5$bgtOjEU;Cn zN1}7jJ$Ctr)n$R^!A|fAK7P{`3b$on5X)c-1mx6#b>_H<)iKsVA8Qa`Mk7J1K6Nn+ z6=N>Q%w|UqT|dQ&G%_&#JGL@p4#9#IFc#UMUM@Z+V?8yzg;!y(?1$`eetTz6aL-%> z0rb>oq;Xu3KI#vJiBC<@2G5?7fl`(%P-tKF^_!3ryzz2TbQb54$eyZZcK}?u_5;EM zBYGGvVwlxxHT;*S?}yFIj2;8y;JqI(uPo4tTPMH)k9+s4;)cQ4e+N^r>t+u-xtMgd zecD$R4sbW)oQ500uK#4l#zqaYT?L*=W>Ct+;BL^DW)Oorka+-@&oY?b$0vhXLq%z! zg=)31mYB`Nu@dk;Q1T!%0Aw*+iJ+yXTPN8476T*T-mJ)o+)8jGs09Q}h!7r|1Id*E zjI)j-qUE+*ut%nM<^?c2P#`AN znjZlM-1?O&?!6TIq?QeMI57b?EC#2Y!7Aj92IdEi5DYNTdhIb$gn#~P-8w4Tya+p| zzCC@2Ez-a~1OnIq?PpK$nt(g|juGOzl5ann?b>kuX+~zsRBqI^K{24|YIUD@7y#E+ z&Z=Ohf)3sgqnF#qQgg`FH#Qk<;MiclB?A@L0p^mldG$H*7q>w+h~8H7`R}0_Kq~do zG9cVb)r(k+z9Xoq6Kt&?EI!Z_$z<4nd-5@rQ=|49m*l2zUSeQ%d}&fmjW*EY&}EcE z+yg>uL`#Ke2kmB?Y9FS>wALTzRl{EWv0bBS3QS}a$cyLIfqkaEvYBQ+n0B|K-hdRy zj_aquldinF51~#kNrMgyUVSqZBLDX5n|@VkO^#07dv!3GtT^Dq$H9U{pXVMk>nw&j zZ>1xG8-ajTs@*2ivMq+0sV$X(ZU{D;&+hnHwXlL=6?*Oo)>d*HIF|?DJ$_N#MI8KQ ztoX}E#Zks`V4eUo73ylX!N@q6wG5=x`6VQYx&%?;$dwCNQRyHa4fudK<7z){Ejm~Y zs@mMLc`_^68^mDtf!O6bR3zEnd;zem66?clL@P=;G7jPh_f<6;2dGTa`QNi}IbRP@ zF{8OR3}!dSUTwVk5IB$Zo8!6<@)ll}z)AFRfxt&b{&uQ5ClpU|t0GEFi2&y#R(jTvEj+DbO>2_E)Mz#j$V4ds&De287J6#;JYOKFtp-}ZeKfcZ z)`E^1Xw^*CuFb%J-H;VD&M7B)ww}p2%8|?quRv%&wL;!{Vm<|;7vyK;8j3-?UiKE- z)?EQmeHju{4>-ZnelK6otw;OF#fRU629$zYkBJV>WHEj~2saVHU4+hKyK27qx$4>8 z>!*w|5L?IwI&N>X8^=vfpb`UPo^k6kC9g~lV465G=4x)M>SH|bt;^b zAi>lqYokGoIT163BEh|H{7Uqy@k&t`?4qIaATE{x7-XhGKnBo_--Tu^LvrCj%2pPe zfV2UM}+R^;_&+o}yz* z&Hvo{+{0=((LB%;A6fuA98eZCRe<8AvBP|uV$S|E7M_2SMPvrD00G<(k5q`>&>5>* zx=0-0?PY=SVwkba0dJO*4((-8gtY;VY@6MvT>G+q)firIrTqE(PqAbKcg~1h(>%iPJJ+^%b>x8@Pl55=F01bf4<%I&pdEInRy|YJxt9SP(DFLaOi7ZUN2IvM?NmiX0(;bI*zd&o-41 zPg*H03vb};dqBB1V5~K~*E0~RrbgS-KNFlGssr6P0e16#M@CuoS#mdY#u{LAxr177 zoiIRr_68Vm`(2R}wvh9G{oZ|I3NP&Q>C|oW=6dyb9Up`9>KW4zOh)lP&pZXb#%|en ztOgeh#jS501XOzqXMq_Ntc&>KQT2jg*AxdIMvdd#;8&yA{4CAC6 z7Qh7OUKZ&CQD!ds6vVw}MQ1VqE-STM^e%`h&ls@ zeaXCd1N!ZusFgWG-3D=GqgJ23UdZzNKX1J8vpn8mu(<>rD7^SSc(WLbya!X_?HVVZ zQWfrSm};ibY*&ro+D~4PY&tGw=6I00PF24;cB*U85Q(AXtG~5m$uO?fARxfXYd>jJ zbnqQe&m6}X#(<>qbqM=JFd&wze?D58oQ| z-7MyFAXvqU;YliwQo;K48JJn+S?svmZ-G^U0G0E0=8$dU4LVpZ)IpG-gjL5I0cX$H z|LeQI_3UYmhT+Y*>Ikh=t1r@BQ1~3076&h(1&P^GtBA&=bw#-1bX(88ESLOLREP%v`;)}pOS*1 zy&G}!!R*3qb&-Mg?%^ZqZmfB05Ws~1mLkBp(8I_dD{o{87_^VI$;c$Tpe%9Svqe9$ z7+S>ynAQT~_Dl}Fbb8nb!#znnN8CkPn`Rvf&$YL~K7CEbydaKwP3$X#vNI-qudUcKk6b3yFWcm416BfNt;?zdL*``N0=V-6j zj>BM78R5@PgH?cl_H>)Pr2Ks`z`uGHZ0q79;waf;M*>slp3pwmBUX>iZg6gbs&3Ah z9R)Pni4@+Ty^p}D0V>qnP`9o<3C^|xy1ATVs+oFOdp#d=m^%m1C&E3rf1JzVDvD>C zz@4ZuCk19;+y$IhtvrkuURRHf8h8YzX9;W;0bl^}D*4G^*Pgbr%d#$RIsfVyEFGLd zs94J^07nq#S;~zdN_$Tw16mqm0SRzP383Vg5RVc0W-Wic3FtF!iNMLVB_bMoK{}e{QTm^%_|0cS{+*u=d$)nI04%ZgU@$jM(Q^X~ zSXHM$HFIk1WMQb~KnvkP>!h1s7ODjEKtAfBV8in__`iI0bY4UwNSKU{~z?DUr37A{`)Bd%Mp*4r%p;s*JV5WtdfI?elUF zc)qQ!isB5hhfPp-SKs@wu1}Y4Ow1Rw7K=k&WihX@2#&T^#>S8U)@r^N6Lj$U0k-!g zW+n@i4QgYI7N=Y(1a?f-)(RM7sa_mdK%I^SyK^v^R9ZS%1uDH!4dU%gwomkFZ(VH` z)3S3+lq?tCTjfby;H=g(58dRmO?8%;IK3e@_3^E=75^OFN;7`@>xabh)t%vGPD3fM{)9b*qQ8F9%~0EV>n?K_sZyS69Pe{EArs zf}Irg08$Hww@*fHzN-QU(*dNFvA@dDteV&Ga)ioqFV=kqh{a)1^G;!YOAY%Qnz8PkAOPu`oWh$-5}uR>EW$7-(9A$ zHF`UrA@5{gQVv*jK!k$Srt;xSVKBI@1D4#B{Jgm4b`U#%aila8BKYIei`r)oSyH|| z1Gx|Y=MXC@cx3;Oda+^OkhB7an({=Gwzl+0=zHiINOFjvET#- zTt5xA#zq5JlT)G=tMs!K`2a}s6u%u))(ql|fKImKtv{|u__RV{xp6f>t(MXR52!Wb z5niOm)qVPW#T{H-*3T)$dxsR+veIw-c1%XV*{1?m&V{YE?^u$g_Mlpr2{O#UfBWpq z;A*;oP}NSU7R34bfpl=*^Q)?ILSTfAr|dKx*<+Ma^`iRsJ!fc6bT&9H^D!i~v|pS<`V558*A1%oxnpe{4qTgzP0F_54YW!^Ifn609Q5!j`g3L|jh_R^)>?|&Gj1$+`?OM`P%QER-mj# zv5xA;bJbn~BZ8*|S%H210;j-fTZ2NGknq`a&(1;u>5Lo)1U{_K#k9B#)&M7z%W*~~ zl)D-iDlkHn>egZ9Z{PnNQx#BK!{9quRWFu7wvinjtprzh3pJx*SCVYo#Y`-Kg6&Go z135vjI_-~&5}-~yno6jM@tBz8ydpZmdbr;-4y#xjRDaCJ!y5(yJh@GVh7^fa#Jq)> z_Fq`#+GpI{v=4<%!)92nzcUr#GRG@ie5@fl*ILyJyN6)}())r#`XE`yHd77B5Q7a| zA;2BNig_&d>NyHA7Yvpbyly@;!Q%uQ5T5#+muC+6B{IZmA0`!Oj7BkL`dvx$T%U9*o!s z2-q72vlAWMr-As&t1NydwRY_8D-8Jlv}e&jG*k#@&gm6^JXuhV&3T;IUw?PsgsCSC@WfyG=i`hL zV8M~~!aT8RosKs1G9Uj!Y~g((93hsbxRG#!5Cl%%`VB)f3u5u6G=b3(X`}r$G-Kdt z3AR`~Yjf)ZC_xNz&f+-uN_g0QZ}hnK2Shfo1v7cxKEd12qw^T9LeRapqqI-MI;jP7 zmGe&VtaZW02&7ruP7lO7V_g7Z8}PE;o?wC=?xSUG(b^|Q&b%=kok)Mef1=mKa+pFuLQi7F<~Y+$*m&B9AHvB%^2+Cz0=@(AXV_Cw0Tk{ z2w^P|b=#eX!0&yZA>y`pOnd9jVwYFo4FGlm1E6DA*F@P(cmL{z z7U+Y8K|$<0CMOa!1rjh#=@|*RTjNj?N9@6k=?+Kx~7kTfAR8SF8iHTAkbdU z{q?WYIB4+EpSp5pZ%z+jj1(wQlt;4ZeG|LmX=U;>RQWiz~Mphry|giUT95AOJi9n#A- z0vuND%tc$`K3dO3vRO=NgVD`;&4}Etx8p_v%sI{VKwN&GhlW`%h8G7GmO-rmMI7N) zZw3OU+gEwYak1EO+=Cgr+Fez%!!V2>V9H=N0WlZ@w!>+;tui`ab7#>}AlgTNgzO3g zYs&}QzW0*&muIz)Oo$OHBBcH3yzvP1AX9sWw+_f)?~wNSaUZd`EI+mQL{&qdJkD7F z{pM<$FT>yB_SH1>i~H;kM1K5e84m zHPMjaAWw^^wA;K$4Tv{T$u~}UvJh)H5rIF`lC0M5HP^;DYk%P28w@SRrl^wFn{?8? zYy%p5kUQa8(@qgYE(l;u5{l2gTM4Os|G)xsIl=?m!qhP=8;?-!Bje4ZfBpUQFah?F z68@rwQ3ipw#b!vu_t`CiVQzCQYp%&%d`1yRMTD@bfv&$l{i#~uy1c9NSXOJLTk#3dBc1H?KgX2zHyCAg6RoFFj7 z61w~-SdM*0Z^~SQxP>z*faNV_pdNJaC#B*S?yUWw5WpRTp<&-227Rj8q1}ANGw;%C zy@wC@%jxg^k2fAzNm$gr2W2fXen`c-6-T*!{=Ta5ywCptTXlJQyHemP2jzm80l<@G zqP?Z!l$?>W38VX~fBE|}ukw(6)<6LRrDK09V_XbJ2J)MC2E^K_V{!l%0&nJV^Pj=l zz}0~@j4v?s$qDfDAFTDUj6V70YJd&vB?lB01LhtNrv24?_*I@A399+*ad5%V)fZiB z@BUD?p~MyHRuweX3lNqTCdxq`joPQKeKs@B{nqq6@EEvwBCtmeWE221P*JhyQvr;@ zE=S_XB0wt>T5ccD$UckV==lf1zkTc%;C$FH%-oT888&X33|KQr zRr=Y}(EC8Z1cR_zGc1;HRbZUJw|_jv^<+nsfv-jvvO@q?5)jb2RtHf4y78E}26;b0 z>WEtRBAeDd4$MX$gpvuGyYwS)7f>V*+AqEOBCnXoSoVQ3)D2ap;fb{X18%%35_~K{ zd$FW#Mm5^k7=(r_hP!ju;Z3!V4J5NSn)htlA%F&RzFJw`Em5t;2a0!qjAe*m@DlRC zvcv{=JO4D}07QvkvF>plTXZ;p7FdW}iV>t^y4c3Yky~G4y6%I*rO=_he`?J_IQzgl zIB@BVNc)7`erVmS1OZD|uoAlJ0gZDH2gR!AhB@@W;vfq?-v0HSXTSk2O2tx(hj^_- z)R%GA=bmFZ&wz@xS4<76h1lH%AkH7~V#PFpTDeK;;F<+Tc^SYP)E>excFk9dtKzdK z)E0ovdDFe>cGoldj#Rylxk22`av1wvv{fv8;^oxk<6SgM-E06%KrDvRd9<~_!CDrI1jB{0e7 zkHrW}ao$z@;6YqH?pnh3gZADBaXvf0d*I-oU?ck(E8 z1g}p5113Ojd=#@yRZ_BedL2W?Yt3*UyZI6rC%4Z_bTI7PWimQB*HrqrsBV=m+5jh= z0P|g++Z%T5wD<4I;bOp<#M}YS$olHjP7nfy4`AhVFt31djEe@G0y>ljA{@jE zN11`C!cOdpg^^VY1_WES9ekvPsdiXyW&ind1hfPK7z!PH*;1DSR@*!C$v^3CC`>u) zL2WQ*1>7d>$K%0AL1|-PI@o=J5r`;1*J0h^4UHR+z`-VgQ?U+>V|IWhP#E`w_)yLT zNbXmqV?GFrB?&fn$@oE$t!&G&s>Rx zx7#uV&Qe zzGD|pL2Q?_aSlMSDha5ApqBdrEKy%Znc|RKEWy*>c}7_x(gKH=`$T00;S^L zUwH$9Y9mOsLI>BD2?EqIOYNXroO?fcsDo8s3hJ8%yZjE9cloh%r}Upg*(H-8!KKs3 zSi!uELv`D1xwX~&?f2$b*omMh*6tAyP?e&Rv|&Cu%H!K+hPzWZEx?^!+&S-f?gO!f zv!-T5)qb3|WSOgpi(C79dq$T{I8(Vk&QOGaj3A)UN_$VUKrG?D+ak-)zoPd4RBw0~ z`38^;>qCXb02LUI6bWv|3eGTsF)x4%h#?a&`T&anP&-@}R2HdIQYtu0*uLWY{TH5g zfYyJsm&1THXdzkjaS>lJc{+wfOSTE({q`=u1HR=tQkw0~7%@+PyFny4!@!9%{=wxV z+Si;y4FlCPvJEkjs&Hmuab(R$l+;gn;~l%=wk=5SwE3)AR-7d$5d>8Cx8<1Imj$vI z1i>9@(aMD2&Lo)Hg=DaMOXAJhEFs#DF-^=mFzV<8&Y}ZqMXY#le{@<@PF5WWZ3o0# z<(V;(al`5J{ftKmXu^DLAOcdr`sJp)Q4Gdwqlak~U8K=GnR@QTZ#t4fbc+xzy_Uo(PVK55G} z?=b*~vxx1Z+v|+c_Z_Lx80TjNW|s^M`AB$L?ge zfMQ-x)jfB1??~-yU%1$)!9s9B_VFkVCU1h5g6=*Frmo8v0K8(qmZgLisL7y`$3+U~tM&>IFHoL* z4BQ*UD=}+8rU>CZ5bV@yhgtASLvK23jCH7ET(ti>@rv$>`TU0&yw5ZPGvdSq9|os; z@GXQ;Rex}c0@&pq zx_cQ|hf$R;%W1OFV&C~F6blgB8>rL%<~8oh^Z7Bbw7=t(0p2{Mqs&PxUS;goi6RKq z7L`y7EX@mT{PSvhO&2^YZb7fILEdHu&=%cR#3d_veGbX(*b=naRuB5Bw!5+7WYTwd&2Bt z2aB&b5|Z@=q>AVh0bW(FtCRZI4eKs-mTt#)fBJ+Nj5r?{d<-X+c;<^&=bt`inq3>8 z5{n;9#ojWA41wT2umrmOJlNuhg>QNsLthI5c+un6UrJ-N z0Y7!kVliWmi&T4w*|8+ptvv4fyR0a-iYW@FZ4>SQP+urm8w0|9M~9kZ5FB29;tk>E zaqFMar)9UZRaya)wH24IIdJrT?(={mdUc9fMO4p$99s-_e z&PV}M7B!zeG+)K0EeG|1m?o$C96Q#)caX_ait}h@c&O>aXFm|t6lHxV-7wWH#`?GK z{L)|dt82iX4lFKQ=;h|dSeCbhPUT#Foe@f4C+>KJmh+J#*x{@iy_YVY{gJXS^il@!=s^{+DH%{(O%p8k5WpQ3 zxbiGm9f-^HI{5mna0Wjq7z`LJ8aRhrG|<@@07llCPiC^{T-h1fD%;|K;^81 z-1`=~uRY9YvjFDnj)8L*5ZwI@%adi&DQ<99SY?Ws)K&a5 zE1`LKtmwjQ{XV2wF%9mOiWfsYd<}?+K(vTJO?#ozqCpFZv)Vs^NU83 zA#1~#uftH`Rhjp1P1pIZ zs`xEcc5?gxL>CY9WYz(fTCgB>Q>e$(4l1MFVK-h9ZJfI#w{sobxR!JaN*Xhise9Bb zu~JUs)=6jG&j_;On?X_gx*N)%x*R(S2 z))g>5ceX){Vnw{$DpT4A`VRP*3yZ$<6FX+&`de|1`gkfgz21-R1NRfB3vZ4uz7@;u zhW6D!qhjqZ^UQ%5unpc?hdSB-M-STpP~*e%OvSVaixwn3{_1-960wW78_Hb!#G@`0B1hQ$g38Fwp747vWe}w-RmK=KM;fDwCSE31Zw~ZRLi7< zn@>k4=-$wePsXt+IZXjq#pt`@U8lmeGZhGK z4&pYtJQkmx2KmtmFhMqR!x{j1GcFToJo^+rbjZHR$pzc*0t*1Op8es#@o*-gBIBbI zP7}tagxm;N>~Vn$#HSBzaGv4W3<|(Y09=~eFIkIqJ0(D-B;kvU5Erv zX;|cDtjdFB!D8lF0@VXtr~u$Rm#$q1vrb>43ul6&*=gWoMq2^2i&BBKzx=a`p0H7KHCFP z>h3)q7F+?4wLSLnnWff*T-CYt%acqH;2>gG1UM6MydNyXqo6k#(t3~!bO-r>fG`o@ zS*wAfvqHQKy!$Gb<#6FADG&))o&wjwH3Hh_C`Q?my9r+4EhV>gXZJURFa!Lo#P1ND6C*l9+Ju2M}x~{7aSsHlpDAEA`jk7Bx4| zt@6@4Y;4vL(8Z~3(*B1sGRAevIQWG(`H<^n^0^p6o%RJIX{vB^w3R%s+|X$-CuA2&0q|-H-;zVs++J9faO?LEiYdhFP?Oks15HARHP+#YQK&Mg`s^j z0oTXq0G^p+yz8h}%M8T&rC))EgXk34?xt55p|Zey8QjCrzNtS7mHOL|v6g)7G-P4G-%TSm2tx_Qe4I;;kvs@$VU0 z#wI>`2UfoJaS~PS+CO*G4~J4MhOY~xIjCOjm4g>4FdfhHGQgp!GCV+%2yn(E9i-;T zVr~biEdYP*Uk6JEOUfq^tUz2lmP`^CW&HYsKJhV?$sm;#ZfJmu_9BfnV#@rgkBq4> zrigW<268GZjmLT=Z*s=!IB3SYP4MqPB^2J(P#OB-r4|oPN9{7u>_Dm*ql=**0Rg;P zhIwN?!=Jm(l>ylxR`uski_Q4neJy|&>$3(+U>Ja5E3iD#)f{Gc303FNuAQ_64+uMd zs>#+2npq_ncQWA0lVJBA1Y^nEIGx3HYdj(C%V(r zhDtNSZ3+(CSC!!H$DwnJKJ>@cuvo-j-fxv_mJ`ARv_yjm81hvR8!azTd|rK4tDKSr zsI)F=%)YUARz`HrurY^Be8HhOG+lUEweqp{TcgG^+Dm{tR$ z3Di=#>IMOLixAFvF~7r+V7BF8(O3Rd0HJczJzLWeU&I4IoLx7A%2do6SQD0@coXt;i`McTM|Ll^o0Y)@186`T4J)av$M|ygY!J>_PC^1B`=QxFxZQ mb?_eUGLv+F?Y+2S17|OA8)E4J!65u=ShMPi28N)Nv;Keim|_6{ diff --git a/packages/url/pnpm-lock.yaml b/packages/url/pnpm-lock.yaml index 0d10ccd..ee3564b 100644 --- a/packages/url/pnpm-lock.yaml +++ b/packages/url/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -14,6 +14,9 @@ importers: playground: dependencies: + '@types/node': + specifier: ^20.14.9 + version: 20.14.9 clsx: specifier: ^1.2.1 version: 1.2.1 @@ -31,7 +34,7 @@ importers: specifier: ^1.0.0 version: 1.0.2 '@farmfe/core': - specifier: ^1.0.22 + specifier: ^1.0.24 version: 1.2.4 '@farmfe/plugin-react': specifier: ^1.0.1 @@ -51,600 +54,345 @@ importers: packages: - /@farmfe/cli@1.0.2: + '@farmfe/cli@1.0.2': resolution: {integrity: sha512-ZZRmXOSLkA7kWzmj6IVSH5U4NimNzFSa9hI0rRlPbgNwsfBIooUfthMjMZPnMwnFD9SIxLurlMJkwKyb4wpDKQ==} engines: {node: '>= 16'} hasBin: true - dependencies: - cac: 6.7.14 - cross-spawn: 7.0.3 - inquirer: 9.3.1 - walkdir: 0.4.1 - dev: true - /@farmfe/core-darwin-arm64@1.2.4: + '@farmfe/core-darwin-arm64@1.2.4': resolution: {integrity: sha512-KPFeiIf6bbBCeWoPJ2VQH/3AGMZS/dR9nLlA+yXon+dUOwX9uVSDSmAIEcHKdUyJ8N8Y+1o2mF0uS0bSIz9YHA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-darwin-x64@1.2.4: + '@farmfe/core-darwin-x64@1.2.4': resolution: {integrity: sha512-KbIY1VWXDAviR2e8+YsRqAChEqQZXQJOJK/yVICY0S0mWsxXQAwP3FvwifpqSLTUZb97v2evTUtJGGkTr27FZA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-linux-arm64-gnu@1.2.4: + '@farmfe/core-linux-arm64-gnu@1.2.4': resolution: {integrity: sha512-oN5H/5cvwqZ4pfyGiySzkEu9ZO/pLgfBymDZw9+h8z7rEKoGvjzc/kvdgGLPKn4XR14hqZlyPP1C7BbBbkdS3g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-linux-arm64-musl@1.2.4: + '@farmfe/core-linux-arm64-musl@1.2.4': resolution: {integrity: sha512-L9XhlrKnocFvv7c6kLSiC/EHIwhIkVCdoQ9UbcT126Tj1EIEb9HwydkAFI0Fpxt4zpixE4xpZ8DdBve2z2EheA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-linux-x64-gnu@1.2.4: + '@farmfe/core-linux-x64-gnu@1.2.4': resolution: {integrity: sha512-/WHOM7ToTWCETJ8sfv+qFmHisqntx8xQ8AfRGaPVMBSF8Jce0ww9CziIk6solMvNdFVFqZu2P4lC8eLz/IX5uw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-linux-x64-musl@1.2.4: + '@farmfe/core-linux-x64-musl@1.2.4': resolution: {integrity: sha512-N+W1sqbKO4RC1qk08qO6wilchy0AVVOr2qt8PYDkn3czzsEquY35cgPgclLh9yXW0Cl5cizi4Spnc+U5/xO0ow==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-win32-arm64-msvc@1.2.4: + '@farmfe/core-win32-arm64-msvc@1.2.4': resolution: {integrity: sha512-LX5lKqTRhqM2qTHbEUlUg0EXOXtyjz2Y1/SsEYZ3GyOJVPAtVA9dnqYezldarLoV/yNj9DzeE0oiijGjlOEcZA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-win32-ia32-msvc@1.2.4: + '@farmfe/core-win32-ia32-msvc@1.2.4': resolution: {integrity: sha512-XcJ1PqOJ8LzWNCJlJN1lDgn+h9EUZa/Hj3Szw8Mg05sa5DEPzvH6ViYi19GkDUNtzLgfjl3IX/Iq81GqXZKC+g==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@farmfe/core-win32-x64-msvc@1.2.4: + '@farmfe/core-win32-x64-msvc@1.2.4': resolution: {integrity: sha512-tQrYeRNoDipNsuzU7fpXs8ytRnT6R2qvKYxwaBsmbM7372DzQZSUxSwXHgz1GvEuuvndLcpvErxzXFtOJ9+5XQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@farmfe/core@1.2.4: + '@farmfe/core@1.2.4': resolution: {integrity: sha512-EyTU+ZskXAtsAiwuHkN9q9TPc/MwohASzn3eDjgIBAFFNOKtei2Gd0QD/F12H03JsUhcEOsvGbxQMZTrzBVnXQ==} engines: {node: '>=16.15.1'} - dependencies: - '@farmfe/runtime': 0.11.2 - '@farmfe/runtime-plugin-hmr': 3.5.2 - '@farmfe/runtime-plugin-import-meta': 0.2.0 - '@farmfe/utils': 0.1.0 - '@koa/cors': 5.0.0 - '@swc/helpers': 0.5.11 - chokidar: 3.6.0 - deepmerge: 4.3.1 - dotenv: 16.4.5 - dotenv-expand: 10.0.0 - execa: 7.2.0 - farm-browserslist-generator: 1.0.0 - fast-glob: 3.3.2 - fs-extra: 11.2.0 - is-plain-object: 5.0.0 - koa: 2.15.3 - koa-compress: 5.1.1 - koa-proxies: 0.12.4(koa@2.15.3) - koa-static: 5.0.0 - lodash.debounce: 4.0.8 - loglevel: 1.9.1 - mime-types: 2.1.35 - open: 9.1.0 - slashes: 3.0.12 - ws: 8.17.1 - zod: 3.23.8 - zod-validation-error: 1.5.0(zod@3.23.8) - optionalDependencies: - '@farmfe/core-darwin-arm64': 1.2.4 - '@farmfe/core-darwin-x64': 1.2.4 - '@farmfe/core-linux-arm64-gnu': 1.2.4 - '@farmfe/core-linux-arm64-musl': 1.2.4 - '@farmfe/core-linux-x64-gnu': 1.2.4 - '@farmfe/core-linux-x64-musl': 1.2.4 - '@farmfe/core-win32-arm64-msvc': 1.2.4 - '@farmfe/core-win32-ia32-msvc': 1.2.4 - '@farmfe/core-win32-x64-msvc': 1.2.4 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - dev: true - /@farmfe/plugin-react-darwin-arm64@1.1.0: + '@farmfe/plugin-react-darwin-arm64@1.1.0': resolution: {integrity: sha512-FU6+b7h3Nxk9cAQlFW8unShd//U9GdwceVImF+Vy2DTzTsmJpLlhDpa6je/k+vt0wQwc+w8YkMAFpOYZkFq10w==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-darwin-x64@1.1.0: + '@farmfe/plugin-react-darwin-x64@1.1.0': resolution: {integrity: sha512-Z1Joj8+YnoR1V/sUUtrMCo61+gGJkgJyCwups4zp3GdhA/hqzClGGdZ/vqWnmr6tJbBsOlv8zXK8v4wlZDi4cg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-linux-arm64-gnu@1.1.0: + '@farmfe/plugin-react-linux-arm64-gnu@1.1.0': resolution: {integrity: sha512-5VKQB3cssbIF1jrziWjC1cP5x/FpMtGZa7cK9jFn2eS0oGpDwSTKI41erdSv0+xRa9Ya4DLUjQ9xCnguVxxrfw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-linux-arm64-musl@1.1.0: + '@farmfe/plugin-react-linux-arm64-musl@1.1.0': resolution: {integrity: sha512-FPBikgThprfQylLEKtM04N843u6WRlS+Fdbu1QwbiT1MDsjAdk9ULLPP3KIj/D9gBsX7efle7F312WJGwpBkqA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-linux-x64-gnu@1.1.0: + '@farmfe/plugin-react-linux-x64-gnu@1.1.0': resolution: {integrity: sha512-Bu9Rcwgp/ifm+i0iDwO9zQ5MFksE8zBGqQZvGpRmlB5W9zFe5iMhnqGgs7cvcq/BcHmj4gdymSLToh7dkcGJrg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-linux-x64-musl@1.1.0: + '@farmfe/plugin-react-linux-x64-musl@1.1.0': resolution: {integrity: sha512-vDElYVNwKLvFVdNUkF2BlslZuZxZCgcZqZfujmaOd2E4BMUpiU8iXOl3jaH1BWjF/WTQKtUyWkfoWA33BXlIhg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-win32-arm64-msvc@1.1.0: + '@farmfe/plugin-react-win32-arm64-msvc@1.1.0': resolution: {integrity: sha512-O/SpDYilcRTq9XBdZCvB7sxJt/FbdpW7UkTquFMdUebaQihRrHVQGW+WALEmqCPAgU3OJnIOZPYPO4BYUhLYew==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-win32-ia32-msvc@1.1.0: + '@farmfe/plugin-react-win32-ia32-msvc@1.1.0': resolution: {integrity: sha512-w4O1/lkGy8hWGCJ8geg64mzs0YFsAzWns8HXsOUKMKZq8IvPrx+oGWuEA+BunQSwpdzOcbVe7KYOvbB2k7MCSQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react-win32-x64-msvc@1.1.0: + '@farmfe/plugin-react-win32-x64-msvc@1.1.0': resolution: {integrity: sha512-bzgQnfa1CcC/mnwWYwgQ437zDOEJ69zT5bkzNrfg/r/pSFBaj4WI/JC3SlPWygwFuJRhuh8Zt4TN85wV02dwkg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@farmfe/plugin-react@1.1.0: + '@farmfe/plugin-react@1.1.0': resolution: {integrity: sha512-fvRYXILkODP3D/DY3O+ltB2sbX9AvT1DzYMabM0eGWjkOf4m9APnvGH1euFc2G1IOXOaXYN1VL45cKfyBhTgcw==} - optionalDependencies: - '@farmfe/plugin-react-darwin-arm64': 1.1.0 - '@farmfe/plugin-react-darwin-x64': 1.1.0 - '@farmfe/plugin-react-linux-arm64-gnu': 1.1.0 - '@farmfe/plugin-react-linux-arm64-musl': 1.1.0 - '@farmfe/plugin-react-linux-x64-gnu': 1.1.0 - '@farmfe/plugin-react-linux-x64-musl': 1.1.0 - '@farmfe/plugin-react-win32-arm64-msvc': 1.1.0 - '@farmfe/plugin-react-win32-ia32-msvc': 1.1.0 - '@farmfe/plugin-react-win32-x64-msvc': 1.1.0 - dev: true - /@farmfe/plugin-tools@0.1.1: + '@farmfe/plugin-tools@0.1.1': resolution: {integrity: sha512-7ox1VgCI5AWFrIUQVLEYGdqCSGNBJYRC0Yhu5sK0a/sR/OSaZa97MdiKA80LkM6UgK+dDFy49rPre10U/M7yww==} hasBin: true - dependencies: - '@farmfe/utils': 0.1.0 - '@napi-rs/cli': 2.18.3 - cac: 6.7.14 - dev: true - /@farmfe/runtime-plugin-hmr@3.5.2: + '@farmfe/runtime-plugin-hmr@3.5.2': resolution: {integrity: sha512-d2zvBfLtBj0iNxhaRtcLIqnNRUspQLOQTiRZ228rtGtqfZ6CPa6l6d8T530+uaWKR8KD5Rf55ZCglQrkakuPZA==} - dependencies: - core-js: 3.37.1 - dev: true - /@farmfe/runtime-plugin-import-meta@0.2.0: + '@farmfe/runtime-plugin-import-meta@0.2.0': resolution: {integrity: sha512-3RXUzeKDmuGiOY7k6OThNok6Dj/Nl2pK62fC7/227O6WEfvWleVxLzXkqLZrMBv1OZNem/cloftMMjYDP/+q8Q==} - dependencies: - core-js: 3.37.1 - dev: true - /@farmfe/runtime@0.11.2: + '@farmfe/runtime@0.11.2': resolution: {integrity: sha512-oRcB9437RpCG4+wxc2oZyeqorj2nL/AfBXrUJmUg22em2R3YtlSoBSE4aSp/DG6xqn+buqpHgvW6Rts/WsDZgQ==} - dependencies: - core-js: 3.37.1 - dev: true - /@farmfe/utils@0.1.0: + '@farmfe/utils@0.1.0': resolution: {integrity: sha512-neNJQGqV7XL4XifG1uHOBFSFLy2yx1/DVZNRA7nfeEAXEksVZTwWA+fZrYEaI0w7Sw6K/9NYn9Jgpn+NAT0mcg==} - dev: true - /@inquirer/figures@1.0.3: + '@inquirer/figures@1.0.3': resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==} engines: {node: '>=18'} - dev: true - /@koa/cors@5.0.0: + '@koa/cors@5.0.0': resolution: {integrity: sha512-x/iUDjcS90W69PryLDIMgFyV21YLTnG9zOpPXS7Bkt2b8AsY3zZsIpOLBkYr9fBcF3HbkKaER5hOBZLfpLgYNw==} engines: {node: '>= 14.0.0'} - dependencies: - vary: 1.1.2 - dev: true - /@mdn/browser-compat-data@5.5.35: + '@mdn/browser-compat-data@5.5.35': resolution: {integrity: sha512-APtxt3S+a64EcXpG7E3a0bLx+CPqEcgN45FY/GEmbBBgX51AGIPkkYFy0JQDuOR0MFCozjo50q5Im74jflrkiQ==} - dev: true - /@napi-rs/cli@2.18.3: + '@napi-rs/cli@2.18.3': resolution: {integrity: sha512-L0f4kP0dyG8W5Qtc7MtP73VvLLrOLyRcUEBzknIfu8Jk4Jfhrsx1ItMHgyalYqMSslWdY3ojEfAaU5sx1VyeQQ==} engines: {node: '>= 10'} hasBin: true - dev: true - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - /@swc/helpers@0.5.11: + '@swc/helpers@0.5.11': resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} - dependencies: - tslib: 2.6.3 - dev: true - /@types/object-path@0.11.4: + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} + + '@types/object-path@0.11.4': resolution: {integrity: sha512-4tgJ1Z3elF/tOMpA8JLVuR9spt9Ynsf7+JjqsQ2IqtiPJtcLoHoXcT6qU4E10cPFqyXX5HDm9QwIzZhBSkLxsw==} - dev: true - /@types/prop-types@15.7.12: + '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - dev: true - /@types/react-dom@18.3.0: + '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - dependencies: - '@types/react': 18.3.3 - dev: true - /@types/react@18.3.3: + '@types/react@18.3.3': resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} - dependencies: - '@types/prop-types': 15.7.12 - csstype: 3.1.3 - dev: true - /@types/semver@7.5.8: + '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - /@types/ua-parser-js@0.7.39: + '@types/ua-parser-js@0.7.39': resolution: {integrity: sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==} - dev: true - /accepts@1.3.8: + accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: true - /ansi-escapes@4.3.2: + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /base64-js@1.5.1: + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - /big-integer@1.6.52: + big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} - dev: true - /binary-extensions@2.3.0: + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: true - /bl@4.1.0: + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /bplist-parser@0.2.0: + bplist-parser@0.2.0: resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} engines: {node: '>= 5.10.0'} - dependencies: - big-integer: 1.6.52 - dev: true - /braces@3.0.3: + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.1.1 - dev: true - /browserslist@4.23.1: + browserslist@4.23.1: resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - dependencies: - caniuse-lite: 1.0.30001638 - electron-to-chromium: 1.4.815 - node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.1) - dev: true - /buffer@5.7.1: + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /bundle-name@3.0.0: + bundle-name@3.0.0: resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} engines: {node: '>=12'} - dependencies: - run-applescript: 5.0.0 - dev: true - /bytes@3.1.2: + bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - dev: true - /cac@6.7.14: + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true - /cache-content-type@1.0.1: + cache-content-type@1.0.1: resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} engines: {node: '>= 6.0.0'} - dependencies: - mime-types: 2.1.35 - ylru: 1.4.0 - dev: true - /caniuse-lite@1.0.30001638: + caniuse-lite@1.0.30001638: resolution: {integrity: sha512-5SuJUJ7cZnhPpeLHaH0c/HPAnAHZvS6ElWyHK9GSIbVOQABLzowiI2pjmpvZ1WEbkyz46iFd4UXlOHR5SqgfMQ==} - dev: true - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chardet@0.7.0: + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true - /chokidar@3.6.0: + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /cli-cursor@3.1.0: + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - /cli-spinners@2.9.2: + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - dev: true - /cli-width@4.1.0: + cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} - dev: true - /clone@1.0.4: + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true - /clsx@1.2.1: + clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} - dev: false - /co@4.6.0: + co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /compressible@2.0.18: + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: true - /content-disposition@0.5.4: + content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: true - /content-type@1.0.5: + content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - dev: true - /cookies@0.9.1: + cookies@0.9.1: resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - keygrip: 1.1.0 - dev: true - /core-js@3.37.1: + core-js@3.37.1: resolution: {integrity: sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==} - requiresBuild: true - dev: true - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - /csstype@3.1.3: + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: true - /debug@3.2.7: + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.3 - dev: true - /debug@4.3.5: + debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: @@ -652,187 +400,103 @@ packages: peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - dev: true - /deep-equal@1.0.1: + deep-equal@1.0.1: resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} - dev: true - /deepmerge@4.3.1: + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - dev: true - /default-browser-id@3.0.0: + default-browser-id@3.0.0: resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} engines: {node: '>=12'} - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - dev: true - /default-browser@4.0.0: + default-browser@4.0.0: resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} engines: {node: '>=14.16'} - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - dev: true - /defaults@1.0.4: + defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - /define-lazy-prop@3.0.0: + define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - dev: true - /delegates@1.0.0: + delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: true - /depd@1.1.2: + depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - dev: true - /depd@2.0.0: + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: true - /destroy@1.2.0: + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true - /dotenv-expand@10.0.0: + dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} - dev: true - /dotenv@16.4.5: + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dev: true - /ee-first@1.1.1: + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true - /electron-to-chromium@1.4.815: + electron-to-chromium@1.4.815: resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} - dev: true - /emoji-regex@8.0.0: + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - /encodeurl@1.0.2: + encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - dev: true - /escalade@3.1.2: + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - dev: true - /escape-html@1.0.3: + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true - /eventemitter3@4.0.7: + eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true - /execa@5.1.1: + execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true - /execa@7.2.0: + execa@7.2.0: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: true - /external-editor@3.1.0: + external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - /farm-browserslist-generator@1.0.0: + farm-browserslist-generator@1.0.0: resolution: {integrity: sha512-UGd1eWtSLOqxl0tlexRwpsy1JbHdO39iCDZKzdr7khBKYFXL5PDjjcyj1xelt5YUnLNB2vPAb8P+uD8IqRnBJQ==} engines: {node: '>=16.15.1', npm: '>=7.0.0', pnpm: '>=3.2.0', yarn: '>=1.13'} - dependencies: - '@mdn/browser-compat-data': 5.5.35 - '@types/object-path': 0.11.4 - '@types/semver': 7.5.8 - '@types/ua-parser-js': 0.7.39 - browserslist: 4.23.1 - caniuse-lite: 1.0.30001638 - isbot: 3.8.0 - object-path: 0.11.8 - semver: 7.6.2 - ua-parser-js: 1.0.38 - dev: true - /fast-glob@3.3.2: + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.7 - dev: true - /fastq@1.17.1: + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - dev: true - /fill-range@7.1.1: + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /follow-redirects@1.15.6: + follow-redirects@1.15.6: resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: @@ -840,881 +504,533 @@ packages: peerDependenciesMeta: debug: optional: true - dev: true - /fresh@0.5.2: + fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - dev: true - /fs-extra@11.2.0: + fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - /fsevents@2.3.3: + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /get-stream@6.0.1: + get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - dev: true - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /has-symbols@1.0.3: + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: true - /has-tostringtag@1.0.2: + has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /http-assert@1.5.0: + http-assert@1.5.0: resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} engines: {node: '>= 0.8'} - dependencies: - deep-equal: 1.0.1 - http-errors: 1.8.1 - dev: true - /http-errors@1.4.0: + http-errors@1.4.0: resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} engines: {node: '>= 0.6'} - dependencies: - inherits: 2.0.1 - statuses: 1.5.0 - dev: true - /http-errors@1.6.3: + http-errors@1.6.3: resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - dev: true - /http-errors@1.8.1: + http-errors@1.8.1: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - dev: true - /http-proxy@1.18.1: + http-proxy@1.18.1: resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.6 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: true - /human-signals@2.1.0: + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - dev: true - /human-signals@4.3.1: + human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} - dev: true - /iconv-lite@0.4.24: + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - /ieee754@1.2.1: + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - /inherits@2.0.1: + inherits@2.0.1: resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} - dev: true - /inherits@2.0.3: + inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - dev: true - /inherits@2.0.4: + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - /inquirer@9.3.1: + inquirer@9.3.1: resolution: {integrity: sha512-A5IdVr1I04XqPlwrGgTJMKmzRg5ropqNpSeqo0vj1ZmluSCNSFaPZz4eazdPrhVcZfej7fCEYvD2NYa1KjkTJA==} engines: {node: '>=18'} - dependencies: - '@inquirer/figures': 1.0.3 - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - external-editor: 3.1.0 - mute-stream: 1.0.0 - ora: 5.4.1 - picocolors: 1.0.1 - run-async: 3.0.0 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: true - /is-binary-path@2.1.0: + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.3.0 - dev: true - /is-docker@2.2.1: + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true - dev: true - /is-docker@3.0.0: + is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - dev: true - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true - /is-fullwidth-code-point@3.0.0: + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true - /is-generator-function@1.0.10: + is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - dev: true - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-inside-container@1.0.0: + is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} hasBin: true - dependencies: - is-docker: 3.0.0 - dev: true - /is-interactive@1.0.0: + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /is-plain-object@5.0.0: + is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} - dev: true - /is-stream@2.0.1: + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - dev: true - /is-stream@3.0.0: + is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /is-unicode-supported@0.1.0: + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true - /is-wsl@2.2.0: + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - /isarray@0.0.1: + isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: true - /isbot@3.8.0: + isbot@3.8.0: resolution: {integrity: sha512-vne1mzQUTR+qsMLeCBL9+/tgnDXRyc2pygLGl/WsgA+EZKIiB5Ehu0CiVTHIIk30zhJ24uGz4M5Ppse37aR0Hg==} engines: {node: '>=12'} - dev: true - /isexe@2.0.0: + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false - /jsonfile@6.1.0: + jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /keygrip@1.1.0: + keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} engines: {node: '>= 0.6'} - dependencies: - tsscmp: 1.0.6 - dev: true - /koa-compose@4.1.0: + koa-compose@4.1.0: resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} - dev: true - /koa-compress@5.1.1: + koa-compress@5.1.1: resolution: {integrity: sha512-UgMIN7ZoEP2DuoSQmD6CYvFSLt0NReGlc2qSY4bO4Oq0L56OiD9pDG41Kj/zFmVY/A3Wvmn4BqKcfq5H30LGIg==} engines: {node: '>= 12'} - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - http-errors: 1.8.1 - koa-is-json: 1.0.0 - dev: true - /koa-convert@2.0.0: + koa-convert@2.0.0: resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} engines: {node: '>= 10'} - dependencies: - co: 4.6.0 - koa-compose: 4.1.0 - dev: true - /koa-is-json@1.0.0: + koa-is-json@1.0.0: resolution: {integrity: sha512-+97CtHAlWDx0ndt0J8y3P12EWLwTLMXIfMnYDev3wOTwH/RpBGMlfn4bDXlMEg1u73K6XRE9BbUp+5ZAYoRYWw==} - dev: true - /koa-proxies@0.12.4(koa@2.15.3): + koa-proxies@0.12.4: resolution: {integrity: sha512-xxrEtN0e7s7/gNRoOMUltCbuIaCWqTQUTZNWQqet/8MoxSW0hG422lx2Al9FfYO3nCeA+b5c5/YmILRzavivDA==} peerDependencies: koa: '>=2' - dependencies: - http-proxy: 1.18.1 - koa: 2.15.3 - path-match: 1.2.4 - uuid: 8.3.2 - transitivePeerDependencies: - - debug - dev: true - /koa-send@5.0.1: + koa-send@5.0.1: resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==} engines: {node: '>= 8'} - dependencies: - debug: 4.3.5 - http-errors: 1.8.1 - resolve-path: 1.4.0 - transitivePeerDependencies: - - supports-color - dev: true - /koa-static@5.0.0: + koa-static@5.0.0: resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==} engines: {node: '>= 7.6.0'} - dependencies: - debug: 3.2.7 - koa-send: 5.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /koa@2.15.3: + koa@2.15.3: resolution: {integrity: sha512-j/8tY9j5t+GVMLeioLaxweJiKUayFhlGqNTzf2ZGwL0ZCQijd2RLHK0SLW5Tsko8YyyqCZC2cojIb0/s62qTAg==} engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} - dependencies: - accepts: 1.3.8 - cache-content-type: 1.0.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookies: 0.9.1 - debug: 4.3.5 - delegates: 1.0.0 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - fresh: 0.5.2 - http-assert: 1.5.0 - http-errors: 1.8.1 - is-generator-function: 1.0.10 - koa-compose: 4.1.0 - koa-convert: 2.0.0 - on-finished: 2.4.1 - only: 0.0.2 - parseurl: 1.3.3 - statuses: 1.5.0 - type-is: 1.6.18 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /lodash.debounce@4.0.8: + lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true - /log-symbols@4.1.0: + log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - /loglevel@1.9.1: + loglevel@1.9.1: resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} engines: {node: '>= 0.6.0'} - dev: true - /loose-envify@1.4.0: + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - dependencies: - js-tokens: 4.0.0 - dev: false - /media-typer@0.3.0: + media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - dev: true - /merge-stream@2.0.0: + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - /merge2@1.4.1: + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true - /micromatch@4.0.7: + micromatch@4.0.7: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - dev: true - /mime-types@2.1.35: + mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: true - /mimic-fn@2.1.0: + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true - /mimic-fn@4.0.0: + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: true - /ms@2.1.2: + ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - /ms@2.1.3: + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - /mute-stream@1.0.0: + mute-stream@1.0.0: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /negotiator@0.6.3: + negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - dev: true - /node-releases@2.0.14: + node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: true - /normalize-path@3.0.0: + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true - /npm-run-path@4.0.1: + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - /npm-run-path@5.3.0: + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - /object-path@0.11.8: + object-path@0.11.8: resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} engines: {node: '>= 10.12.0'} - dev: true - /on-finished@2.4.1: + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - /onetime@5.1.2: + onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - /onetime@6.0.0: + onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - /only@0.0.2: + only@0.0.2: resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} - dev: true - /open@9.1.0: + open@9.1.0: resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} engines: {node: '>=14.16'} - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - dev: true - /ora@5.4.1: + ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - /os-tmpdir@1.0.2: + os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - dev: true - /parseurl@1.3.3: + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: true - /path-is-absolute@1.0.1: + path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - dev: true - /path-key@3.1.1: + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true - /path-key@4.0.0: + path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: true - /path-match@1.2.4: + path-match@1.2.4: resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==} - dependencies: - http-errors: 1.4.0 - path-to-regexp: 1.8.0 - dev: true - /path-to-regexp@1.8.0: + path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - dependencies: - isarray: 0.0.1 - dev: true - /picocolors@1.0.1: + picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - dev: true - /picomatch@2.3.1: + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /queue-microtask@1.2.3: + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - /react-dom@18.3.1(react@18.3.1): + react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: react: ^18.3.1 - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 - dev: false - /react-refresh@0.14.2: + react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - dev: true - /react@18.3.1: + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - dev: false - /readable-stream@3.6.2: + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - /readdirp@3.6.0: + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /requires-port@1.0.0: + requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true - /resolve-path@1.4.0: + resolve-path@1.4.0: resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} engines: {node: '>= 0.8'} - dependencies: - http-errors: 1.6.3 - path-is-absolute: 1.0.1 - dev: true - /restore-cursor@3.1.0: + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - /reusify@1.0.4: + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - /run-applescript@5.0.0: + run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} engines: {node: '>=12'} - dependencies: - execa: 5.1.1 - dev: true - /run-async@3.0.0: + run-async@3.0.0: resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} - dev: true - /run-parallel@1.2.0: + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - /rxjs@7.8.1: + rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - dependencies: - tslib: 2.6.3 - dev: true - /safe-buffer@5.2.1: + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - /safer-buffer@2.1.2: + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - /scheduler@0.23.2: + scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - dependencies: - loose-envify: 1.4.0 - dev: false - /semver@7.6.2: + semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - dev: true - /setprototypeof@1.1.0: + setprototypeof@1.1.0: resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - dev: true - /setprototypeof@1.2.0: + setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true - /shebang-command@2.0.0: + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: + shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true - /signal-exit@3.0.7: + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - /slashes@3.0.12: + slashes@3.0.12: resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} - dev: true - /statuses@1.5.0: + statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} - dev: true - /string-width@4.2.3: + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - /string_decoder@1.3.0: + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - /strip-ansi@6.0.1: + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - /strip-final-newline@2.0.0: + strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - dev: true - /strip-final-newline@3.0.0: + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /titleize@3.0.0: + titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} - dev: true - /tmp@0.0.33: + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /toidentifier@1.0.1: + toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - dev: true - /tslib@2.6.3: + tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - dev: true - /tsscmp@1.0.6: + tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - dev: true - /type-fest@0.21.3: + type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - dev: true - /type-is@1.6.18: + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: true - /ua-parser-js@1.0.38: + ua-parser-js@1.0.38: resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} - dev: true - /universalify@2.0.1: + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - dev: true - /untildify@4.0.0: + untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} - dev: true - /update-browserslist-db@1.0.16(browserslist@4.23.1): + update-browserslist-db@1.0.16: resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.1 - escalade: 3.1.2 - picocolors: 1.0.1 - dev: true - /util-deprecate@1.0.2: + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - /uuid@8.3.2: + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - dev: true - /vary@1.1.2: + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - dev: true - /walkdir@0.4.1: + walkdir@0.4.1: resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} engines: {node: '>=6.0.0'} - dev: true - /wcwidth@1.0.1: + wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - /which@2.0.2: + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /wrap-ansi@6.2.0: + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /ws@8.17.1: + ws@8.17.1: resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} peerDependencies: @@ -1725,22 +1041,949 @@ packages: optional: true utf-8-validate: optional: true - dev: true - /ylru@1.4.0: + ylru@1.4.0: resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} engines: {node: '>= 4.0.0'} - dev: true - /zod-validation-error@1.5.0(zod@3.23.8): + zod-validation-error@1.5.0: resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==} engines: {node: '>=16.0.0'} peerDependencies: zod: ^3.18.0 + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + +snapshots: + + '@farmfe/cli@1.0.2': + dependencies: + cac: 6.7.14 + cross-spawn: 7.0.3 + inquirer: 9.3.1 + walkdir: 0.4.1 + + '@farmfe/core-darwin-arm64@1.2.4': + optional: true + + '@farmfe/core-darwin-x64@1.2.4': + optional: true + + '@farmfe/core-linux-arm64-gnu@1.2.4': + optional: true + + '@farmfe/core-linux-arm64-musl@1.2.4': + optional: true + + '@farmfe/core-linux-x64-gnu@1.2.4': + optional: true + + '@farmfe/core-linux-x64-musl@1.2.4': + optional: true + + '@farmfe/core-win32-arm64-msvc@1.2.4': + optional: true + + '@farmfe/core-win32-ia32-msvc@1.2.4': + optional: true + + '@farmfe/core-win32-x64-msvc@1.2.4': + optional: true + + '@farmfe/core@1.2.4': dependencies: + '@farmfe/runtime': 0.11.2 + '@farmfe/runtime-plugin-hmr': 3.5.2 + '@farmfe/runtime-plugin-import-meta': 0.2.0 + '@farmfe/utils': 0.1.0 + '@koa/cors': 5.0.0 + '@swc/helpers': 0.5.11 + chokidar: 3.6.0 + deepmerge: 4.3.1 + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + execa: 7.2.0 + farm-browserslist-generator: 1.0.0 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + is-plain-object: 5.0.0 + koa: 2.15.3 + koa-compress: 5.1.1 + koa-proxies: 0.12.4(koa@2.15.3) + koa-static: 5.0.0 + lodash.debounce: 4.0.8 + loglevel: 1.9.1 + mime-types: 2.1.35 + open: 9.1.0 + slashes: 3.0.12 + ws: 8.17.1 zod: 3.23.8 - dev: true + zod-validation-error: 1.5.0(zod@3.23.8) + optionalDependencies: + '@farmfe/core-darwin-arm64': 1.2.4 + '@farmfe/core-darwin-x64': 1.2.4 + '@farmfe/core-linux-arm64-gnu': 1.2.4 + '@farmfe/core-linux-arm64-musl': 1.2.4 + '@farmfe/core-linux-x64-gnu': 1.2.4 + '@farmfe/core-linux-x64-musl': 1.2.4 + '@farmfe/core-win32-arm64-msvc': 1.2.4 + '@farmfe/core-win32-ia32-msvc': 1.2.4 + '@farmfe/core-win32-x64-msvc': 1.2.4 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate - /zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - dev: true + '@farmfe/plugin-react-darwin-arm64@1.1.0': + optional: true + + '@farmfe/plugin-react-darwin-x64@1.1.0': + optional: true + + '@farmfe/plugin-react-linux-arm64-gnu@1.1.0': + optional: true + + '@farmfe/plugin-react-linux-arm64-musl@1.1.0': + optional: true + + '@farmfe/plugin-react-linux-x64-gnu@1.1.0': + optional: true + + '@farmfe/plugin-react-linux-x64-musl@1.1.0': + optional: true + + '@farmfe/plugin-react-win32-arm64-msvc@1.1.0': + optional: true + + '@farmfe/plugin-react-win32-ia32-msvc@1.1.0': + optional: true + + '@farmfe/plugin-react-win32-x64-msvc@1.1.0': + optional: true + + '@farmfe/plugin-react@1.1.0': + optionalDependencies: + '@farmfe/plugin-react-darwin-arm64': 1.1.0 + '@farmfe/plugin-react-darwin-x64': 1.1.0 + '@farmfe/plugin-react-linux-arm64-gnu': 1.1.0 + '@farmfe/plugin-react-linux-arm64-musl': 1.1.0 + '@farmfe/plugin-react-linux-x64-gnu': 1.1.0 + '@farmfe/plugin-react-linux-x64-musl': 1.1.0 + '@farmfe/plugin-react-win32-arm64-msvc': 1.1.0 + '@farmfe/plugin-react-win32-ia32-msvc': 1.1.0 + '@farmfe/plugin-react-win32-x64-msvc': 1.1.0 + + '@farmfe/plugin-tools@0.1.1': + dependencies: + '@farmfe/utils': 0.1.0 + '@napi-rs/cli': 2.18.3 + cac: 6.7.14 + + '@farmfe/runtime-plugin-hmr@3.5.2': + dependencies: + core-js: 3.37.1 + + '@farmfe/runtime-plugin-import-meta@0.2.0': + dependencies: + core-js: 3.37.1 + + '@farmfe/runtime@0.11.2': + dependencies: + core-js: 3.37.1 + + '@farmfe/utils@0.1.0': {} + + '@inquirer/figures@1.0.3': {} + + '@koa/cors@5.0.0': + dependencies: + vary: 1.1.2 + + '@mdn/browser-compat-data@5.5.35': {} + + '@napi-rs/cli@2.18.3': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@swc/helpers@0.5.11': + dependencies: + tslib: 2.6.3 + + '@types/node@20.14.9': + dependencies: + undici-types: 5.26.5 + + '@types/object-path@0.11.4': {} + + '@types/prop-types@15.7.12': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.3 + + '@types/react@18.3.3': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@types/semver@7.5.8': {} + + '@types/ua-parser-js@0.7.39': {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + base64-js@1.5.1: {} + + big-integer@1.6.52: {} + + binary-extensions@2.3.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bplist-parser@0.2.0: + dependencies: + big-integer: 1.6.52 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.1: + dependencies: + caniuse-lite: 1.0.30001638 + electron-to-chromium: 1.4.815 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bundle-name@3.0.0: + dependencies: + run-applescript: 5.0.0 + + bytes@3.1.2: {} + + cac@6.7.14: {} + + cache-content-type@1.0.1: + dependencies: + mime-types: 2.1.35 + ylru: 1.4.0 + + caniuse-lite@1.0.30001638: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chardet@0.7.0: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + cli-width@4.1.0: {} + + clone@1.0.4: {} + + clsx@1.2.1: {} + + co@4.6.0: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.52.0 + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + cookies@0.9.1: + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + + core-js@3.37.1: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.1.3: {} + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.5: + dependencies: + ms: 2.1.2 + + deep-equal@1.0.1: {} + + deepmerge@4.3.1: {} + + default-browser-id@3.0.0: + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + + default-browser@4.0.0: + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-lazy-prop@3.0.0: {} + + delegates@1.0.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + destroy@1.2.0: {} + + dotenv-expand@10.0.0: {} + + dotenv@16.4.5: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.4.815: {} + + emoji-regex@8.0.0: {} + + encodeurl@1.0.2: {} + + escalade@3.1.2: {} + + escape-html@1.0.3: {} + + eventemitter3@4.0.7: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@7.2.0: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + farm-browserslist-generator@1.0.0: + dependencies: + '@mdn/browser-compat-data': 5.5.35 + '@types/object-path': 0.11.4 + '@types/semver': 7.5.8 + '@types/ua-parser-js': 0.7.39 + browserslist: 4.23.1 + caniuse-lite: 1.0.30001638 + isbot: 3.8.0 + object-path: 0.11.8 + semver: 7.6.2 + ua-parser-js: 1.0.38 + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + follow-redirects@1.15.6: {} + + fresh@0.5.2: {} + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + get-stream@6.0.1: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + http-assert@1.5.0: + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + + http-errors@1.4.0: + dependencies: + inherits: 2.0.1 + statuses: 1.5.0 + + http-errors@1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.6 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + human-signals@2.1.0: {} + + human-signals@4.3.1: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + inherits@2.0.1: {} + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + inquirer@9.3.1: + dependencies: + '@inquirer/figures': 1.0.3 + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + external-editor: 3.1.0 + mute-stream: 1.0.0 + ora: 5.4.1 + picocolors: 1.0.1 + run-async: 3.0.0 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-docker@2.2.1: {} + + is-docker@3.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@1.0.0: {} + + is-number@7.0.0: {} + + is-plain-object@5.0.0: {} + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-unicode-supported@0.1.0: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@0.0.1: {} + + isbot@3.8.0: {} + + isexe@2.0.0: {} + + js-tokens@4.0.0: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + keygrip@1.1.0: + dependencies: + tsscmp: 1.0.6 + + koa-compose@4.1.0: {} + + koa-compress@5.1.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + http-errors: 1.8.1 + koa-is-json: 1.0.0 + + koa-convert@2.0.0: + dependencies: + co: 4.6.0 + koa-compose: 4.1.0 + + koa-is-json@1.0.0: {} + + koa-proxies@0.12.4(koa@2.15.3): + dependencies: + http-proxy: 1.18.1 + koa: 2.15.3 + path-match: 1.2.4 + uuid: 8.3.2 + transitivePeerDependencies: + - debug + + koa-send@5.0.1: + dependencies: + debug: 4.3.5 + http-errors: 1.8.1 + resolve-path: 1.4.0 + transitivePeerDependencies: + - supports-color + + koa-static@5.0.0: + dependencies: + debug: 3.2.7 + koa-send: 5.0.1 + transitivePeerDependencies: + - supports-color + + koa@2.15.3: + dependencies: + accepts: 1.3.8 + cache-content-type: 1.0.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookies: 0.9.1 + debug: 4.3.5 + delegates: 1.0.0 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 1.8.1 + is-generator-function: 1.0.10 + koa-compose: 4.1.0 + koa-convert: 2.0.0 + on-finished: 2.4.1 + only: 0.0.2 + parseurl: 1.3.3 + statuses: 1.5.0 + type-is: 1.6.18 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + lodash.debounce@4.0.8: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + loglevel@1.9.1: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + media-typer@0.3.0: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + mute-stream@1.0.0: {} + + negotiator@0.6.3: {} + + node-releases@2.0.14: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + object-path@0.11.8: {} + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + only@0.0.2: {} + + open@9.1.0: + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + os-tmpdir@1.0.2: {} + + parseurl@1.3.3: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-match@1.2.4: + dependencies: + http-errors: 1.4.0 + path-to-regexp: 1.8.0 + + path-to-regexp@1.8.0: + dependencies: + isarray: 0.0.1 + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-refresh@0.14.2: {} + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + requires-port@1.0.0: {} + + resolve-path@1.4.0: + dependencies: + http-errors: 1.6.3 + path-is-absolute: 1.0.1 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.0.4: {} + + run-applescript@5.0.0: + dependencies: + execa: 5.1.1 + + run-async@3.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.1: + dependencies: + tslib: 2.6.3 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + semver@7.6.2: {} + + setprototypeof@1.1.0: {} + + setprototypeof@1.2.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + slashes@3.0.12: {} + + statuses@1.5.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + titleize@3.0.0: {} + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + tslib@2.6.3: {} + + tsscmp@1.0.6: {} + + type-fest@0.21.3: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + ua-parser-js@1.0.38: {} + + undici-types@5.26.5: {} + + universalify@2.0.1: {} + + untildify@4.0.0: {} + + update-browserslist-db@1.0.16(browserslist@4.23.1): + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + + util-deprecate@1.0.2: {} + + uuid@8.3.2: {} + + vary@1.1.2: {} + + walkdir@0.4.1: {} + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + ws@8.17.1: {} + + ylru@1.4.0: {} + + zod-validation-error@1.5.0(zod@3.23.8): + dependencies: + zod: 3.23.8 + + zod@3.23.8: {} diff --git a/packages/url/src/lib.rs b/packages/url/src/lib.rs index 74aa1ab..3184806 100644 --- a/packages/url/src/lib.rs +++ b/packages/url/src/lib.rs @@ -11,9 +11,11 @@ use std::{ use base64::{engine::general_purpose, Engine}; use farmfe_core::{ - config::{config_regex::ConfigRegex, Config}, + config::{config_regex::ConfigRegex, Config, Mode}, + context::EmitFileParams, module::ModuleType, plugin::{Plugin, PluginLoadHookResult}, + resource::ResourceType, serde_json, }; @@ -41,6 +43,7 @@ pub struct FarmfePluginUrl { } #[derive(Debug, serde::Deserialize, Default, Clone)] +#[serde(rename_all = "camelCase")] pub struct Options { pub limit: Option, pub public_path: Option, @@ -61,7 +64,19 @@ pub fn get_file_size(file_path: &str) -> u64 { impl FarmfePluginUrl { fn new(_config: &Config, options: String) -> Self { - let options: Options = serde_json::from_str(&options).unwrap(); + let mut options: Options = serde_json::from_str(&options).unwrap(); + let include = [ + r".*\.svg$", + r".*\.png$", + r".*\.jp(e)?g$", + r".*\.gif$", + r".*\.webp$", + ] + .map(|o| ConfigRegex::new(o)) + .to_vec(); + if options.include.is_none() { + options.include = Some(include); + } let copies = Arc::new(Mutex::new(HashMap::new())); Self { options, copies } } @@ -75,12 +90,13 @@ impl Plugin for FarmfePluginUrl { fn load( &self, param: &farmfe_core::plugin::PluginLoadHookParam, - _context: &std::sync::Arc, + context: &std::sync::Arc, _hook_context: &farmfe_core::plugin::PluginHookContext, ) -> farmfe_core::error::Result> { let options: Options = self.options.clone(); let include = options.include.unwrap_or(vec![]); let exclude = options.exclude.unwrap_or(vec![]); + let filter = PathFilter::new(&include, &exclude); if !filter.execute(¶m.module_id) { return Ok(None); @@ -93,13 +109,14 @@ impl Plugin for FarmfePluginUrl { let file_path = Path::new(param.resolved_path); let ext: &str = file_path.extension().and_then(|s| s.to_str()).unwrap(); let filename = file_path.file_prefix().and_then(|s| s.to_str()).unwrap(); - let mut filename_config = options.file_name.unwrap_or("[hash][extname]".to_string()); + let mut filename_config = options.file_name.unwrap_or("[hash].[ext]".to_string()); let relative_dir = { - let dir_name = Path::new(¶m.resolved_path) + let dir_name = Path::new(param.resolved_path) .parent() - .unwrap() + .and_then(|p| p.file_name()) + .unwrap_or_else(|| std::ffi::OsStr::new("")) .to_string_lossy() - .to_string(); + .into_owned(); if let Some(source_dir) = options.source_dir { format!("./{}", relative(&source_dir, &dir_name)) } else { @@ -113,6 +130,13 @@ impl Plugin for FarmfePluginUrl { let output_file_name = transform_output_filename(filename_config, filename, &raw_bytes, ext); res = format!("{}{}", &public_path, &output_file_name); + let content = read_file_raw(param.resolved_path).unwrap(); + context.emit_file(EmitFileParams { + resolved_path: param.module_id.clone(), + name: res.clone(), + content, + resource_type: ResourceType::Asset(ext.to_string()), + }); { let mut copies = self.copies.lock().unwrap(); copies.insert(param.resolved_path.to_owned(), output_file_name); @@ -134,19 +158,19 @@ impl Plugin for FarmfePluginUrl { fn finalize_resources( &self, _param: &mut farmfe_core::plugin::PluginFinalizeResourcesHookParams, - _context: &Arc, + context: &Arc, ) -> farmfe_core::error::Result> { - if self.options.emit_files.unwrap_or(false) { - let copies = self.copies.lock().unwrap(); - let dest_dir = &self.options.dest_dir.clone().unwrap_or("".to_string()); - let base_dir = Path::new(dest_dir); - for (key, value) in copies.iter() { - let base_dir = base_dir.join(Path::new(value)); - let _ = copy_file(key, base_dir); + if matches!(context.config.mode, Mode::Production) { + if self.options.emit_files.unwrap_or(false) { + let copies = self.copies.lock().unwrap(); + let dest_dir = &self.options.dest_dir.clone().unwrap_or("".to_string()); + let base_dir = Path::new(dest_dir); + for (key, value) in copies.iter() { + let base_dir = base_dir.join(Path::new(value)); + let _ = copy_file(key, base_dir); + } } - Ok(None) - } else { - Ok(None) } + Ok(None) } }