diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee892cb..297f28d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,15 +77,12 @@ jobs: key: ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }} restore-keys: | ${{ runner.os }}-turborepo-android- - - name: Check turborepo cache for Android run: | TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:android').cache.status") - if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then echo "turbo_cache_hit=1" >> $GITHUB_ENV fi - - name: Install JDK if: env.turbo_cache_hit != 1 uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 @@ -97,7 +94,6 @@ jobs: if: env.turbo_cache_hit != 1 run: | /bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null" - - name: Cache Gradle if: env.turbo_cache_hit != 1 uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 @@ -108,18 +104,16 @@ jobs: key: ${{ runner.os }}-gradle-${{ hashFiles('example/android/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - - name: Build example for Android env: JAVA_OPTS: "-XX:MaxHeapSize=6g" run: | yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" - build-ios: runs-on: macos-latest env: - XCODE_VERSION: 16.3 + XCODE_VERSION: 16.4 TURBO_CACHE_DIR: .turbo/ios RCT_USE_RN_DEP: 1 RCT_USE_PREBUILT_RNCORE: 1 @@ -138,15 +132,12 @@ jobs: key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('yarn.lock') }} restore-keys: | ${{ runner.os }}-turborepo-ios- - - name: Check turborepo cache for iOS run: | TURBO_CACHE_STATUS=$(node -p "($(yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" --dry=json)).tasks.find(t => t.task === 'build:ios').cache.status") - if [[ $TURBO_CACHE_STATUS == "HIT" ]]; then echo "turbo_cache_hit=1" >> $GITHUB_ENV fi - - name: Use appropriate Xcode version if: env.turbo_cache_hit != 1 uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 @@ -160,7 +151,6 @@ jobs: bundle install bundle exec pod repo update --verbose bundle exec pod install --project-directory=ios - - name: Build example for iOS run: | yarn turbo run build:ios --cache-dir="${{ env.TURBO_CACHE_DIR }}" diff --git a/README.md b/README.md index fc53c8c..903044a 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ OR ```sh yarn add react-native-svg-render ``` + ## Usage ```js @@ -23,6 +24,8 @@ import { SvgUrlView } from 'react-native-svg-render'; />; ``` +`SvgUrlView` renders remote SVGs asynchronously on both platforms while keeping a native cache and offering built-in placeholders and skeleton shimmers. Android now mirrors the iOS UX by supporting `showSkeleton`, `placeholder`, and `failedPlaceholder` props (with local or remote assets), and both platforms keep their loaders off the main thread. + iOS Setup To use react-native-svg-render on iOS, follow these steps: @@ -65,6 +68,8 @@ pod install Rebuild your project in Xcode. +**iOS quirks.** The loader now strips the `clip-path` definition that SVGKit mishandles (such as the JSMO logo used in the example) before parsing, so clipped artboards render correctly on iOS without extra workarounds. + ## Example podfile: @@ -147,6 +152,11 @@ target 'AFService' do end ``` +## Android updates + +- `SvgUrlView` now honours `showSkeleton`, `placeholder`, and `failedPlaceholder` on Android with remote/local assets, matching iOS. +- Networking, decoding, and caching stay off the UI thread thanks to Kotlin coroutines, so Android mirrors the iOS experience. + ## Props | Prop | Type | Description | Default | Platform Support | @@ -155,9 +165,9 @@ end | `width` | `number` | Width of the rendered SVG | `undefined` | iOS + Android | | `height` | `number` | Height of the rendered SVG | `undefined` | iOS + Android | | `style` | `ViewStyle` | Custom container styles | `undefined` | iOS + Android | -| `showSkeleton` | `boolean` | Show skeleton shimmer while loading | `true` | iOS only (Android support coming soon) | -| `placeholder` | `string` | Local/remote placeholder while loading | `undefined` | iOS only (Android support coming soon) | -| `failedPlaceholder` | `string` | Local/remote placeholder if the SVG fails | `undefined` | iOS only (Android support coming soon) | +| `showSkeleton` | `boolean` | Show skeleton shimmer while loading | `true` | iOS + Android | +| `placeholder` | `string` | Local/remote placeholder while loading | `undefined` | iOS + Android | +| `failedPlaceholder` | `string` | Local/remote placeholder if the SVG fails | `undefined` | iOS + Android | diff --git a/android/src/main/java/com/svgurl/SvgUrlView.kt b/android/src/main/java/com/svgurl/SvgUrlView.kt index 1e795b8..ed6dacd 100644 --- a/android/src/main/java/com/svgurl/SvgUrlView.kt +++ b/android/src/main/java/com/svgurl/SvgUrlView.kt @@ -1,12 +1,17 @@ package com.svgurl +import android.animation.ValueAnimator import android.content.Context +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.graphics.Color import android.graphics.drawable.PictureDrawable import androidx.appcompat.widget.AppCompatImageView import com.caverock.androidsvg.SVG import kotlinx.coroutines.* import java.io.File import java.io.FileOutputStream +import java.net.HttpURLConnection import java.net.URL import java.security.MessageDigest import android.util.LruCache @@ -35,9 +40,14 @@ class SvgUrlView(context: Context) : AppCompatImageView(context) { } private var currentJob: Job? = null + private val bitmapScope = CoroutineScope(SupervisorJob() + Dispatchers.IO) + private var placeholderJob: Job? = null + private var failedPlaceholderJob: Job? = null fun setUrl(url: String) { currentJob?.cancel() + isSvgLoaded = false + lastLoadFailed = false currentJob = CoroutineScope(Dispatchers.IO).launch { try { // Memory cache first @@ -46,6 +56,7 @@ class SvgUrlView(context: Context) : AppCompatImageView(context) { setLayerType(LAYER_TYPE_SOFTWARE, null) scaleType = ScaleType.FIT_CENTER setImageDrawable(cached) + stopSkeleton() } return@launch } @@ -67,11 +78,19 @@ class SvgUrlView(context: Context) : AppCompatImageView(context) { setLayerType(LAYER_TYPE_SOFTWARE, null) scaleType = ScaleType.FIT_CENTER setImageDrawable(drawable) + isSvgLoaded = true + stopSkeleton() } } catch (e: Exception) { e.printStackTrace() + withContext(Dispatchers.Main) { + showFailurePlaceholder() + stopSkeleton() + } } } + updatePlaceholderIfNeeded() + startSkeleton() } fun setWidthProp(width: Int) { @@ -89,9 +108,119 @@ class SvgUrlView(context: Context) : AppCompatImageView(context) { override fun onDetachedFromWindow() { super.onDetachedFromWindow() currentJob?.cancel() + placeholderJob?.cancel() + failedPlaceholderJob?.cancel() + bitmapScope.cancel() + stopSkeleton() + } + + public fun setShowSkeleton(show: Boolean) { + showSkeleton = show + if (showSkeleton && !isSvgLoaded) { + startSkeleton() + } else { + stopSkeleton() + } + } + + public fun setPlaceholder(uri: String?) { + placeholderJob?.cancel() + placeholderUri = uri + placeholderBitmap = null + if (uri == null) { + updatePlaceholderIfNeeded() + return + } + placeholderJob = bitmapScope.launch { + val bmp = decodeBitmap(uri) + withContext(Dispatchers.Main) { + if (placeholderUri != uri) return@withContext + placeholderBitmap = bmp + updatePlaceholderIfNeeded() + } + } + } + + public fun setFailedPlaceholder(uri: String?) { + failedPlaceholderJob?.cancel() + failedPlaceholderUri = uri + failedPlaceholderBitmap = null + if (uri == null) return + failedPlaceholderJob = bitmapScope.launch { + val bmp = decodeBitmap(uri) + withContext(Dispatchers.Main) { + if (failedPlaceholderUri != uri) return@withContext + failedPlaceholderBitmap = bmp + if (!isSvgLoaded && lastLoadFailed) { + showFailurePlaceholder() + } + } + } + } + + private fun updatePlaceholderIfNeeded() { + if (isSvgLoaded) return + placeholderBitmap?.let { + setLayerType(LAYER_TYPE_SOFTWARE, null) + scaleType = ScaleType.FIT_CENTER + setImageBitmap(it) + } + } + + private fun showFailurePlaceholder() { + lastLoadFailed = true + setLayerType(LAYER_TYPE_SOFTWARE, null) + scaleType = ScaleType.FIT_CENTER + failedPlaceholderBitmap?.let { + setImageBitmap(it) + } ?: setImageDrawable(null) + } + + private fun startSkeleton() { + if (!showSkeleton) return + if (skeletonAnimator?.isRunning == true) return + skeletonAnimator = ValueAnimator.ofArgb( + Color.parseColor("#dddbdb"), + Color.parseColor("#cfcfcf"), + Color.parseColor("#e2e2e2") + ).apply { + duration = 900 + repeatMode = ValueAnimator.REVERSE + repeatCount = ValueAnimator.INFINITE + addUpdateListener { setBackgroundColor(it.animatedValue as Int) } + start() + } + } + + private fun stopSkeleton() { + skeletonAnimator?.cancel() + skeletonAnimator = null + setBackgroundColor(Color.TRANSPARENT) + } + + private suspend fun decodeBitmap(uri: String): Bitmap? { + return try { + if (uri.startsWith("http")) { + val connection = URL(uri).openConnection() as HttpURLConnection + connection.connect() + val bitmap = connection.inputStream.use { BitmapFactory.decodeStream(it) } + connection.disconnect() + bitmap + } else { + val resId = resources.getIdentifier(uri, "drawable", context.packageName) + if (resId != 0) BitmapFactory.decodeResource(resources, resId) else null + } + } catch (e: Exception) { + null + } } - public fun setShowSkeleton(show: Boolean) { } -public fun setPlaceholder(uri: String?) { } -public fun setFailedPlaceholder(uri: String?) { } + private var placeholderUri: String? = null + private var failedPlaceholderUri: String? = null + private var placeholderBitmap: Bitmap? = null + private var failedPlaceholderBitmap: Bitmap? = null + private var showSkeleton = true + private var isSvgLoaded = false + private var lastLoadFailed = false + private var skeletonAnimator: ValueAnimator? = null } diff --git a/example/ios/Podfile b/example/ios/Podfile index cff7ee2..13310cc 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -26,8 +26,8 @@ target 'SvgUrlExample' do ) # ✅ SVGKit (direct from GitHub - latest stable) - pod 'SVGKit', :git => 'https://github.com/SVGKit/SVGKit.git', :branch => '3.x' - pod 'CocoaLumberjack/Swift', '~> 3.8.0' + pod 'SVGKit', '3.0.0' + pod 'CocoaLumberjack/Swift', '3.8.0' post_install do |installer| # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 react_native_post_install( diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 2929187..c3a0d8f 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,9 +1,9 @@ PODS: - boost (1.84.0) - - CocoaLumberjack (3.8.5): - - CocoaLumberjack/Core (= 3.8.5) - - CocoaLumberjack/Core (3.8.5) - - CocoaLumberjack/Swift (3.8.5): + - CocoaLumberjack (3.8.0): + - CocoaLumberjack/Core (= 3.8.0) + - CocoaLumberjack/Core (3.8.0) + - CocoaLumberjack/Swift (3.8.0): - CocoaLumberjack/Core - DoubleConversion (1.1.6) - fast_float (8.0.0) @@ -2346,10 +2346,11 @@ PODS: - React-utils (= 0.81.1) - SocketRocket - SocketRocket (0.7.1) - - SVGKit (3.1.1): + - SVGKit (3.0.0): - CocoaLumberjack (~> 3.0) - - SvgUrl (0.1.0): + - SvgUrl (0.0.6): - boost + - CocoaLumberjack (~> 3.7) - DoubleConversion - fast_float - fmt @@ -2375,12 +2376,13 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - SocketRocket + - SVGKit - Yoga - Yoga (0.0.0) DEPENDENCIES: - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - - CocoaLumberjack/Swift (~> 3.8.0) + - CocoaLumberjack/Swift (= 3.8.0) - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) @@ -2453,7 +2455,7 @@ DEPENDENCIES: - ReactCodegen (from `build/generated/ios`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - SocketRocket (~> 0.7.1) - - SVGKit (from `https://github.com/SVGKit/SVGKit.git`, branch `3.x`) + - SVGKit (= 3.0.0) - SvgUrl (from `../..`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) @@ -2461,6 +2463,7 @@ SPEC REPOS: trunk: - CocoaLumberjack - SocketRocket + - SVGKit EXTERNAL SOURCES: boost: @@ -2606,22 +2609,14 @@ EXTERNAL SOURCES: :path: build/generated/ios ReactCommon: :path: "../node_modules/react-native/ReactCommon" - SVGKit: - :branch: 3.x - :git: https://github.com/SVGKit/SVGKit.git SvgUrl: :path: "../.." Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" -CHECKOUT OPTIONS: - SVGKit: - :commit: 771fd1e9d8b33bc8f5c74ca7d4868131944cb6b8 - :git: https://github.com/SVGKit/SVGKit.git - SPEC CHECKSUMS: boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 - CocoaLumberjack: 6a459bc897d6d80bd1b8c78482ec7ad05dffc3f0 + CocoaLumberjack: 78abfb691154e2a9df8ded4350d504ee19d90732 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 FBLazyVector: b8f1312d48447cca7b4abc21ed155db14742bd03 @@ -2693,10 +2688,10 @@ SPEC CHECKSUMS: ReactCodegen: 3baedb0c33f963250c866151b825a3c5194b12f1 ReactCommon: e897f9a1b4afab370cfefaaf5fb3c80371bc3937 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - SVGKit: 3f02ad9c8227831e508e2e37ecc4005d2f0496a5 - SvgUrl: 913398c307a4765e0ee71b2dbd2f79ac75604739 + SVGKit: 1ad7513f8c74d9652f94ed64ddecda1a23864dea + SvgUrl: e319f02c0737fed142405857eaacf066146c7b2e Yoga: 11c9686a21e2cd82a094a723649d9f4507200fb0 -PODFILE CHECKSUM: edefacbb44cd32855b3ff0347df3b55ca9ad9021 +PODFILE CHECKSUM: 5d02f4fbed71ff19ba7fcac266c4c8c2325a986d -COCOAPODS: 1.16.2 +COCOAPODS: 1.15.2 diff --git a/example/ios/SvgUrlExample.xcodeproj/project.pbxproj b/example/ios/SvgUrlExample.xcodeproj/project.pbxproj index 53d9153..4343602 100644 --- a/example/ios/SvgUrlExample.xcodeproj/project.pbxproj +++ b/example/ios/SvgUrlExample.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 0C80B921A6F3F58F76C31292 /* libPods-SvgUrlExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-SvgUrlExample.a */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 535DFD7624AC7F07CC0CCC88 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; }; 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; + A35FF3C501D2AB4EA2213365 /* libPods-SvgUrlExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A14515F46A647E5023DC8BF0 /* libPods-SvgUrlExample.a */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -19,11 +19,11 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SvgUrlExample/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = SvgUrlExample/Info.plist; sourceTree = ""; }; 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = SvgUrlExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 3B4392A12AC88292D35C810B /* Pods-SvgUrlExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SvgUrlExample.debug.xcconfig"; path = "Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample.debug.xcconfig"; sourceTree = ""; }; - 5709B34CF0A7D63546082F79 /* Pods-SvgUrlExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SvgUrlExample.release.xcconfig"; path = "Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample.release.xcconfig"; sourceTree = ""; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-SvgUrlExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SvgUrlExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5BBBD154899B29BABFD8C14D /* Pods-SvgUrlExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SvgUrlExample.debug.xcconfig"; path = "Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample.debug.xcconfig"; sourceTree = ""; }; 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = SvgUrlExample/AppDelegate.swift; sourceTree = ""; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = SvgUrlExample/LaunchScreen.storyboard; sourceTree = ""; }; + A14515F46A647E5023DC8BF0 /* libPods-SvgUrlExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SvgUrlExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A43F515EB811D4FA9DA7EB92 /* Pods-SvgUrlExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SvgUrlExample.release.xcconfig"; path = "Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -32,7 +32,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0C80B921A6F3F58F76C31292 /* libPods-SvgUrlExample.a in Frameworks */, + A35FF3C501D2AB4EA2213365 /* libPods-SvgUrlExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -55,7 +55,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 5DCACB8F33CDC322A6C60F78 /* libPods-SvgUrlExample.a */, + A14515F46A647E5023DC8BF0 /* libPods-SvgUrlExample.a */, ); name = Frameworks; sourceTree = ""; @@ -92,8 +92,8 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - 3B4392A12AC88292D35C810B /* Pods-SvgUrlExample.debug.xcconfig */, - 5709B34CF0A7D63546082F79 /* Pods-SvgUrlExample.release.xcconfig */, + 5BBBD154899B29BABFD8C14D /* Pods-SvgUrlExample.debug.xcconfig */, + A43F515EB811D4FA9DA7EB92 /* Pods-SvgUrlExample.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -105,13 +105,13 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "SvgUrlExample" */; buildPhases = ( - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, + F7F68CB92E5CF2A1BA74474A /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, + D70CA6301EA0D40D83596994 /* [CP] Embed Pods Frameworks */, + 403BE161EFFC571E7E621DA7 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -183,7 +183,24 @@ shellPath = /bin/sh; shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { + 403BE161EFFC571E7E621DA7 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + D70CA6301EA0D40D83596994 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -200,7 +217,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { + F7F68CB92E5CF2A1BA74474A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -222,23 +239,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SvgUrlExample/Pods-SvgUrlExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -255,7 +255,7 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-SvgUrlExample.debug.xcconfig */; + baseConfigurationReference = 5BBBD154899B29BABFD8C14D /* Pods-SvgUrlExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -283,7 +283,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-SvgUrlExample.release.xcconfig */; + baseConfigurationReference = A43F515EB811D4FA9DA7EB92 /* Pods-SvgUrlExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; diff --git a/example/ios/SvgUrlExample/PrivacyInfo.xcprivacy b/example/ios/SvgUrlExample/PrivacyInfo.xcprivacy index 7852c8c..692c99a 100644 --- a/example/ios/SvgUrlExample/PrivacyInfo.xcprivacy +++ b/example/ios/SvgUrlExample/PrivacyInfo.xcprivacy @@ -15,26 +15,26 @@ NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPICategoryUserDefaults NSPrivacyAccessedAPITypeReasons - E174.1 + CA92.1 NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPICategorySystemBootTime NSPrivacyAccessedAPITypeReasons - CA92.1 + 35F9.1 NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPICategoryDiskSpace NSPrivacyAccessedAPITypeReasons - 35F9.1 + E174.1 diff --git a/example/package.json b/example/package.json index b4cf9aa..cd3d70d 100644 --- a/example/package.json +++ b/example/package.json @@ -7,7 +7,7 @@ "ios": "react-native run-ios", "start": "react-native start", "build:android": "react-native build-android --extra-params \"--no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a\"", - "build:ios": "react-native build-ios --mode Debug" + "build:ios": "react-native build-ios --mode Debug --destination \"OS=17.4\"" }, "dependencies": { "@react-native/new-app-screen": "0.81.1", diff --git a/example/src/App.tsx b/example/src/App.tsx index 350a445..151317f 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -1,4 +1,4 @@ -import { FlatList, ScrollView, View } from 'react-native'; +import { ScrollView } from 'react-native'; import { SvgUrlView } from 'react-native-svg-render'; export default function App() { @@ -6,13 +6,25 @@ export default function App() { 'https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/accessible.svg', 'https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/anim1.svg', 'https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/car.svg', + 'https://delta.larvol.com/LarvolConferenceIterationLogos/1991bac6-0cb3-4740-9d35-2df60be5ced1/ac22c5c9-d58b-4dcd-a391-779ac082cfd337-JSMO-W-55.svg', 'https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/git.svg', 'https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/AJ_Digital_Camera.svg', - ]; + ]; return ( {data.map((url, index) => ( - + ))} ); diff --git a/ios/SvgUrlView.mm b/ios/SvgUrlView.mm index df41a3b..305a68e 100644 --- a/ios/SvgUrlView.mm +++ b/ios/SvgUrlView.mm @@ -13,6 +13,26 @@ @interface SvgUrlView () @end +static NSData *sanitizeSVGData(NSData *data) { + if (!data) { + return data; + } + NSString *svgString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; + if (!svgString) { + return data; + } + + NSError *error = nil; + NSRegularExpression *clipPathRegex = [NSRegularExpression regularExpressionWithPattern:@"[\\s\\S]*?" options:NSRegularExpressionCaseInsensitive error:&error]; + if (clipPathRegex && !error) { + svgString = [clipPathRegex stringByReplacingMatchesInString:svgString options:0 range:NSMakeRange(0, svgString.length) withTemplate:@""]; + } + svgString = [svgString stringByReplacingOccurrencesOfString:@" clip-path=\"url(#clip-path)\"" withString:@""]; + + NSData *cleanData = [svgString dataUsingEncoding:NSUTF8StringEncoding]; + return cleanData ?: data; +} + @implementation SvgUrlView { SVGKFastImageView *_svgView; UIView *_skeletonView; @@ -189,7 +209,8 @@ - (void)loadSVGWithShowSkeleton:(BOOL)showSkeleton placeholder:(UIImage *)placeh NSData *data = [NSData dataWithContentsOfURL:urlObj]; SVGKImage *svgImage = nil; if (data) { - svgImage = [SVGKImage imageWithData:data]; + NSData *cleanData = sanitizeSVGData(data); + svgImage = [SVGKImage imageWithData:cleanData]; } dispatch_async(dispatch_get_main_queue(), ^{ diff --git a/tsconfig.json b/tsconfig.json index 5407467..433f80c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,8 @@ "compilerOptions": { "rootDir": ".", "paths": { - "react-native-svg-url": ["./src/index"] + "react-native-svg-url": ["./src/index"], + "react-native-svg-render": ["./src/index"] }, "allowUnreachableCode": false, "allowUnusedLabels": false, diff --git a/yarn.lock b/yarn.lock index 36b160d..d176022 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1907,253 +1907,6 @@ __metadata: languageName: node linkType: hard -"@inquirer/ansi@npm:^1.0.0, @inquirer/ansi@npm:^1.0.1": - version: 1.0.1 - resolution: "@inquirer/ansi@npm:1.0.1" - checksum: 0dda65720736f3e730715f3778e0e90f039ebd1382c277495a4d1cdbd2b2863095aa7291cd8ea7d3c0618bdee04a375db6e10a7bae5fb904df0b632a1c7774f9 - languageName: node - linkType: hard - -"@inquirer/checkbox@npm:^4.3.0": - version: 4.3.0 - resolution: "@inquirer/checkbox@npm:4.3.0" - dependencies: - "@inquirer/ansi": ^1.0.1 - "@inquirer/core": ^10.3.0 - "@inquirer/figures": ^1.0.14 - "@inquirer/type": ^3.0.9 - yoctocolors-cjs: ^2.1.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: d4957d0ce205c5c0bc70eb9491ca4ebe983cce0abaf552cc8ad521179db94841fb25603121d0af1b31757bb8381377a410c21cde2a48754af18f694b31477c14 - languageName: node - linkType: hard - -"@inquirer/confirm@npm:^5.1.19": - version: 5.1.19 - resolution: "@inquirer/confirm@npm:5.1.19" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/type": ^3.0.9 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: d65e0addf80c146d71a74057d77048bd78a4a80d74a9e0d774b759ff1adf38a33cde6c06a6d6ef802bb61ef9158770315dec3931f89b3624c0e63c595c0473c1 - languageName: node - linkType: hard - -"@inquirer/core@npm:^10.2.2, @inquirer/core@npm:^10.3.0": - version: 10.3.0 - resolution: "@inquirer/core@npm:10.3.0" - dependencies: - "@inquirer/ansi": ^1.0.1 - "@inquirer/figures": ^1.0.14 - "@inquirer/type": ^3.0.9 - cli-width: ^4.1.0 - mute-stream: ^2.0.0 - signal-exit: ^4.1.0 - wrap-ansi: ^6.2.0 - yoctocolors-cjs: ^2.1.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 42607c2e8388bf6505f5ce1716d47750f9386085f3080733b7f27bfe59d576d480ec622d7468fcf1bd9b854ff117311421d9eae0c083873c67324023635e103a - languageName: node - linkType: hard - -"@inquirer/editor@npm:^4.2.21": - version: 4.2.21 - resolution: "@inquirer/editor@npm:4.2.21" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/external-editor": ^1.0.2 - "@inquirer/type": ^3.0.9 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 8467c192f9c1573853718c15c020146268cf4b076d99a14e014a61d124c46157c57780d770caeeba94f309259504f3602248591842d11b9465ad12fd82185276 - languageName: node - linkType: hard - -"@inquirer/expand@npm:^4.0.21": - version: 4.0.21 - resolution: "@inquirer/expand@npm:4.0.21" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/type": ^3.0.9 - yoctocolors-cjs: ^2.1.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: eb1900c443895377c03652c3e2b6ca29c572fe6ee2682e264572957b9b4a596d3d55c9ea271934846fb05d5cc5195cca0dffde1386e41358ac5c308698320e93 - languageName: node - linkType: hard - -"@inquirer/external-editor@npm:^1.0.2": - version: 1.0.2 - resolution: "@inquirer/external-editor@npm:1.0.2" - dependencies: - chardet: ^2.1.0 - iconv-lite: ^0.7.0 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 57f32889969e0128561beb2b1225f0320a55fe90356dcf679804b3405534b0f909024e446d61b812d91b85d3e85ac6f762f29d34243d022fd68eecfd85483c1a - languageName: node - linkType: hard - -"@inquirer/figures@npm:^1.0.14": - version: 1.0.14 - resolution: "@inquirer/figures@npm:1.0.14" - checksum: 37eec986f119eabb6c231c8c1481c6a48ab2347e9f57b2d6442161f7b83936678221fccb7ead60582026c2ae20d457467d0727c485ff53aee2cf965077b0f51b - languageName: node - linkType: hard - -"@inquirer/input@npm:^4.2.5": - version: 4.2.5 - resolution: "@inquirer/input@npm:4.2.5" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/type": ^3.0.9 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 9d192556aefc8f8fbc70626f9a90cd2806032ec9e7d323b46afff0a0813f5c0f766ff9a5d2f8bdc39863688f8fdd081ce23b782c19aebf61ff8692c9135528b6 - languageName: node - linkType: hard - -"@inquirer/number@npm:^3.0.21": - version: 3.0.21 - resolution: "@inquirer/number@npm:3.0.21" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/type": ^3.0.9 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 445ba93639ecfc3755efa7ee9cf7cf972919abc1cd022ada27e7d73b93e01680ffcf56a8ca6fe090775358c8d2aec259890aa33b6c0e1c3aeba7306f25ba633a - languageName: node - linkType: hard - -"@inquirer/password@npm:^4.0.21": - version: 4.0.21 - resolution: "@inquirer/password@npm:4.0.21" - dependencies: - "@inquirer/ansi": ^1.0.1 - "@inquirer/core": ^10.3.0 - "@inquirer/type": ^3.0.9 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 07fb1527ea2d44a81b79d9263f59713e66977e21fbf44efedb6bf08d27d617900ef481c49c91b0a749caf1d282f2b5e19fe6b7474acc98db3edd174eb5d45416 - languageName: node - linkType: hard - -"@inquirer/prompts@npm:^7.8.6": - version: 7.9.0 - resolution: "@inquirer/prompts@npm:7.9.0" - dependencies: - "@inquirer/checkbox": ^4.3.0 - "@inquirer/confirm": ^5.1.19 - "@inquirer/editor": ^4.2.21 - "@inquirer/expand": ^4.0.21 - "@inquirer/input": ^4.2.5 - "@inquirer/number": ^3.0.21 - "@inquirer/password": ^4.0.21 - "@inquirer/rawlist": ^4.1.9 - "@inquirer/search": ^3.2.0 - "@inquirer/select": ^4.4.0 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 1dd6a87bcf77d1a8b728c781a7d34c0dd4028d7ec96e4e41e173a260d3ef9a76cba5eb8715d8674d75b18681d3f7eac9bd9f3ff1d82d8e786fb5222893498ea3 - languageName: node - linkType: hard - -"@inquirer/rawlist@npm:^4.1.9": - version: 4.1.9 - resolution: "@inquirer/rawlist@npm:4.1.9" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/type": ^3.0.9 - yoctocolors-cjs: ^2.1.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: ec23e087bfa9497b36d51b53e8da18c837e4a0c5c091bce7d1a6b52d9664035d7e22c3753993dd3c7c9ebfd5e9b71f1738873f2c25422668733ddb28d74bf26b - languageName: node - linkType: hard - -"@inquirer/search@npm:^3.2.0": - version: 3.2.0 - resolution: "@inquirer/search@npm:3.2.0" - dependencies: - "@inquirer/core": ^10.3.0 - "@inquirer/figures": ^1.0.14 - "@inquirer/type": ^3.0.9 - yoctocolors-cjs: ^2.1.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 5f8f86368513d29d9119a04cc65bbe075d0d93ec55af27a555f02bf740c7a65497e36df80da722cbee020ab348c9038856f0e070e9a22615ff9d5c3155c3296a - languageName: node - linkType: hard - -"@inquirer/select@npm:^4.4.0": - version: 4.4.0 - resolution: "@inquirer/select@npm:4.4.0" - dependencies: - "@inquirer/ansi": ^1.0.1 - "@inquirer/core": ^10.3.0 - "@inquirer/figures": ^1.0.14 - "@inquirer/type": ^3.0.9 - yoctocolors-cjs: ^2.1.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: cb0441f5ec981011f3e451fa062897e8991ca3b0cadca99432d2556a1f90e9c0251b277233056db63b717b5f77caaf32b2c5db7a1881fcc78d5c357d1e912616 - languageName: node - linkType: hard - -"@inquirer/type@npm:^3.0.8, @inquirer/type@npm:^3.0.9": - version: 3.0.9 - resolution: "@inquirer/type@npm:3.0.9" - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 960ba4737405f70bac17e7cdc4696c60064b06c8dd13a4b3d0783763ba1714bdadbd598b88d537ab9415b7d5d61e011ac042cfbd1438b2a35298e2868724b853 - languageName: node - linkType: hard - "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -2533,15 +2286,6 @@ __metadata: languageName: node linkType: hard -"@nodeutils/defaults-deep@npm:1.1.0": - version: 1.1.0 - resolution: "@nodeutils/defaults-deep@npm:1.1.0" - dependencies: - lodash: ^4.15.0 - checksum: 205ff2a4ae2a00c2c640317f888c075bd6429206e26b6c9c99bb691fa05c23274fda2a1023d97fad0ee06ca82232cc058c7c1e06350a37cda5a58fe5aff00c5c - languageName: node - linkType: hard - "@npmcli/agent@npm:^3.0.0": version: 3.0.0 resolution: "@npmcli/agent@npm:3.0.0" @@ -2564,137 +2308,6 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-token@npm:^6.0.0": - version: 6.0.0 - resolution: "@octokit/auth-token@npm:6.0.0" - checksum: 9c23be526c7f8e282aa7ccec6f3a72a1beec44eae736327e9ba78419fa28ba75e2c686e9eac75f35ce99bdb55eff9605f7ef7588a9d4f4e18ad5ed16a5d887ab - languageName: node - linkType: hard - -"@octokit/core@npm:^7.0.2": - version: 7.0.5 - resolution: "@octokit/core@npm:7.0.5" - dependencies: - "@octokit/auth-token": ^6.0.0 - "@octokit/graphql": ^9.0.2 - "@octokit/request": ^10.0.4 - "@octokit/request-error": ^7.0.1 - "@octokit/types": ^15.0.0 - before-after-hook: ^4.0.0 - universal-user-agent: ^7.0.0 - checksum: 7b5780b708f2cefd94ddb1727cd2e03cbd198f25389e42fad7bf5822cf45f3fa4df1a6da1f01d5cd0b2c3586ec3f8bacf121dd5aa163eba10e5c8cf1d71bd5db - languageName: node - linkType: hard - -"@octokit/endpoint@npm:^11.0.1": - version: 11.0.1 - resolution: "@octokit/endpoint@npm:11.0.1" - dependencies: - "@octokit/types": ^15.0.0 - universal-user-agent: ^7.0.2 - checksum: 0ef3b6c7eabde9c6d086ca17737037dbf372081541e7bc75cc7ba3feaf31c6fc8478b2b715465619819710725caccd9c8b09e55ecf76baebba61e48b246bb22b - languageName: node - linkType: hard - -"@octokit/graphql@npm:^9.0.2": - version: 9.0.2 - resolution: "@octokit/graphql@npm:9.0.2" - dependencies: - "@octokit/request": ^10.0.4 - "@octokit/types": ^15.0.0 - universal-user-agent: ^7.0.0 - checksum: 21480658ca60af50378110b79c512d23fbdf00f1c34c429be50f51ef39b9bf831f20a4f3f0d2e02e00097307a327ce6088a1fe93abb061100f797234f0ee5d67 - languageName: node - linkType: hard - -"@octokit/openapi-types@npm:^26.0.0": - version: 26.0.0 - resolution: "@octokit/openapi-types@npm:26.0.0" - checksum: 4a569f87bd5163b3973a411511ae2410d548555228790baa0d4f70ad77dbe7d5df1cf542d09768b2bbab227eae1f0fa6eaade00d351d2fce1da76deb0e646db5 - languageName: node - linkType: hard - -"@octokit/plugin-paginate-rest@npm:^13.0.1": - version: 13.2.0 - resolution: "@octokit/plugin-paginate-rest@npm:13.2.0" - dependencies: - "@octokit/types": ^15.0.0 - peerDependencies: - "@octokit/core": ">=6" - checksum: 8638d49b7126b64b19b3336d5471763076cf446203d9d1194353c8c3d2ff17dcc8fa72894ad4b208236d5ab154d1a73e066cd87a893aebd7fc36da40b1e63366 - languageName: node - linkType: hard - -"@octokit/plugin-request-log@npm:^6.0.0": - version: 6.0.0 - resolution: "@octokit/plugin-request-log@npm:6.0.0" - peerDependencies: - "@octokit/core": ">=6" - checksum: 8a79973b1429bfead9113c4117f418aaef5ff368795daded3415ba14623d97d5fc08d1e822dbd566ecc9f041119e1a48a11853a9c48d9eb1caa62baa79c17f83 - languageName: node - linkType: hard - -"@octokit/plugin-rest-endpoint-methods@npm:^16.0.0": - version: 16.1.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:16.1.0" - dependencies: - "@octokit/types": ^15.0.0 - peerDependencies: - "@octokit/core": ">=6" - checksum: 676a08e20dcde32029af93c65b80d18a60604c5945f4cf12e2773611968da5de3db5916dd249070796603fc2ed26b7e5e3924299c77c4d78216fba943284887b - languageName: node - linkType: hard - -"@octokit/request-error@npm:^7.0.1": - version: 7.0.1 - resolution: "@octokit/request-error@npm:7.0.1" - dependencies: - "@octokit/types": ^15.0.0 - checksum: f99dffa4e257a4cb3724c633c26e5334af881c54669ee0013de96b846bb327ac77e68b36459be183817b84f6f7518e6b70c9e7926b5547a9665b2607b1afddd6 - languageName: node - linkType: hard - -"@octokit/request@npm:^10.0.4": - version: 10.0.5 - resolution: "@octokit/request@npm:10.0.5" - dependencies: - "@octokit/endpoint": ^11.0.1 - "@octokit/request-error": ^7.0.1 - "@octokit/types": ^15.0.0 - fast-content-type-parse: ^3.0.0 - universal-user-agent: ^7.0.2 - checksum: beab7ab902055577b281130c73559397674c524ebe8b4bec137db56b04309b87907e44a7bfad040f60362e042cc376a2a4043d6b52e6a57aa5eafa4b712b7cda - languageName: node - linkType: hard - -"@octokit/rest@npm:22.0.0": - version: 22.0.0 - resolution: "@octokit/rest@npm:22.0.0" - dependencies: - "@octokit/core": ^7.0.2 - "@octokit/plugin-paginate-rest": ^13.0.1 - "@octokit/plugin-request-log": ^6.0.0 - "@octokit/plugin-rest-endpoint-methods": ^16.0.0 - checksum: 6a7eff019c0889b23c0820831936e5dc8fa7643bdf0e98ba073b36a10f5602b9f283ca2c74ec8172b8529d0647dfa4a7857dcd81ca028b303937f26750a6c7f6 - languageName: node - linkType: hard - -"@octokit/types@npm:^15.0.0": - version: 15.0.0 - resolution: "@octokit/types@npm:15.0.0" - dependencies: - "@octokit/openapi-types": ^26.0.0 - checksum: f98075b9c4ff19ec4c84e314ea5d953a55bd526fdcff858d993da930e5dc8633c51405f99c2a8c89ecabf5949b494bb160cfeaed7e1ff94fa439c85b2301cc2b - languageName: node - linkType: hard - -"@phun-ky/typeof@npm:2.0.3": - version: 2.0.3 - resolution: "@phun-ky/typeof@npm:2.0.3" - checksum: e5084843eed665327028c770733e2ced44613ec5ebcc48a398fe9ce11e278d160e311b3077f093e2017ab09e100413e6df380daabeb0e193d47e01cb605d6260 - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -3388,13 +3001,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/quickjs-emscripten@npm:^0.23.0": - version: 0.23.0 - resolution: "@tootallnate/quickjs-emscripten@npm:0.23.0" - checksum: c350a2947ffb80b22e14ff35099fd582d1340d65723384a0fd0515e905e2534459ad2f301a43279a37308a27c99273c932e64649abd57d0bb3ca8c557150eccc - languageName: node - linkType: hard - "@types/babel__core@npm:^7.1.14": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -3519,13 +3125,6 @@ __metadata: languageName: node linkType: hard -"@types/parse-path@npm:^7.0.0": - version: 7.0.3 - resolution: "@types/parse-path@npm:7.0.3" - checksum: 21a12c228d38f5a75659dfd7cb127dc2001ed3f6acbd1b2e0575d1348c735594c0bab06a97fe849c151438384829f20ea5971cb045f7ecd37d53c76a9fcb9de3 - languageName: node - linkType: hard - "@types/react@npm:^19.1.0": version: 19.2.2 resolution: "@types/react@npm:19.2.2" @@ -4094,15 +3693,6 @@ __metadata: languageName: node linkType: hard -"ast-types@npm:^0.13.4": - version: 0.13.4 - resolution: "ast-types@npm:0.13.4" - dependencies: - tslib: ^2.0.1 - checksum: 5a51f7b70588ecced3601845a0e203279ca2f5fdc184416a0a1640c93ec0a267241d6090a328e78eebb8de81f8754754e0a4f1558ba2a3d638f8ccbd0b1f0eff - languageName: node - linkType: hard - "astral-regex@npm:^1.0.0": version: 1.0.0 resolution: "astral-regex@npm:1.0.0" @@ -4131,15 +3721,6 @@ __metadata: languageName: node linkType: hard -"async-retry@npm:1.3.3": - version: 1.3.3 - resolution: "async-retry@npm:1.3.3" - dependencies: - retry: 0.13.1 - checksum: 38a7152ff7265a9321ea214b9c69e8224ab1febbdec98efbbde6e562f17ff68405569b796b1c5271f354aef8783665d29953f051f68c1fc45306e61aec82fdc4 - languageName: node - linkType: hard - "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -4314,20 +3895,6 @@ __metadata: languageName: node linkType: hard -"basic-ftp@npm:^5.0.2": - version: 5.0.5 - resolution: "basic-ftp@npm:5.0.5" - checksum: bc82d1c1c61cd838eaca96d68ece888bacf07546642fb6b9b8328ed410756f5935f8cf43a42cb44bb343e0565e28e908adc54c298bd2f1a6e0976871fb11fec6 - languageName: node - linkType: hard - -"before-after-hook@npm:^4.0.0": - version: 4.0.0 - resolution: "before-after-hook@npm:4.0.0" - checksum: a8cbd4d3c48f42f44307ef5966be152b836d2e5908834f2f885ddf104c2e2ba66dbb5e6ef89a37e77371b1d22d5c75b74df1472286c684a037c1a6db43f5617b - languageName: node - linkType: hard - "bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -4428,15 +3995,6 @@ __metadata: languageName: node linkType: hard -"bundle-name@npm:^4.1.0": - version: 4.1.0 - resolution: "bundle-name@npm:4.1.0" - dependencies: - run-applescript: ^7.0.0 - checksum: 1d966c8d2dbf4d9d394e53b724ac756c2414c45c01340b37743621f59cc565a435024b394ddcb62b9b335d1c9a31f4640eb648c3fec7f97ee74dc0694c9beb6c - languageName: node - linkType: hard - "bytes@npm:3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" @@ -4444,31 +4002,6 @@ __metadata: languageName: node linkType: hard -"c12@npm:3.3.0": - version: 3.3.0 - resolution: "c12@npm:3.3.0" - dependencies: - chokidar: ^4.0.3 - confbox: ^0.2.2 - defu: ^6.1.4 - dotenv: ^17.2.2 - exsolve: ^1.0.7 - giget: ^2.0.0 - jiti: ^2.5.1 - ohash: ^2.0.11 - pathe: ^2.0.3 - perfect-debounce: ^2.0.0 - pkg-types: ^2.3.0 - rc9: ^2.1.2 - peerDependencies: - magicast: ^0.3.5 - peerDependenciesMeta: - magicast: - optional: true - checksum: ec8ca3d5ee15a9e59008350cd1a2120f3bd9fd8c720486c3490d5bcf5c6b2de49b74737211623d5ae7afc4be7f122ee004277fdff7f677d9aac26123e7a6ab6f - languageName: node - linkType: hard - "cacache@npm:^19.0.1": version: 19.0.1 resolution: "cacache@npm:19.0.1" @@ -4559,7 +4092,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.3.0, chalk@npm:^5.6.2": +"chalk@npm:^5.3.0": version: 5.6.2 resolution: "chalk@npm:5.6.2" checksum: 4ee2d47a626d79ca27cb5299ecdcce840ef5755e287412536522344db0fc51ca0f6d6433202332c29e2288c6a90a2b31f3bd626bc8c14743b6b6ee28abd3b796 @@ -4573,22 +4106,6 @@ __metadata: languageName: node linkType: hard -"chardet@npm:^2.1.0": - version: 2.1.0 - resolution: "chardet@npm:2.1.0" - checksum: 491f8ea54ed3693598c98cb8785531b94b71e59b04ef8dd2b6fea4947f785297fb5c2ae1109adca6fdd453a8a7181cfc4a85c07dbbe96a156d0908f4188a6b9a - languageName: node - linkType: hard - -"chokidar@npm:^4.0.3": - version: 4.0.3 - resolution: "chokidar@npm:4.0.3" - dependencies: - readdirp: ^4.0.1 - checksum: a8765e452bbafd04f3f2fad79f04222dd65f43161488bb6014a41099e6ca18d166af613d59a90771908c1c823efa3f46ba36b86ac50b701c20c1b9908c5fe36e - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -4638,22 +4155,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^4.3.0": - version: 4.3.1 - resolution: "ci-info@npm:4.3.1" - checksum: 66c159d92648e8a07acab0a3a0681bff6ccc39aa44916263208c4d97bbbeedbbc886d7611fd30c21df1aa624ce3c6fcdfde982e74689e3e014e064e1d0805f94 - languageName: node - linkType: hard - -"citty@npm:^0.1.6": - version: 0.1.6 - resolution: "citty@npm:0.1.6" - dependencies: - consola: ^3.2.3 - checksum: 3fbcaaea92d328deddb5aba7d629d9076d4f1aa0338f59db7ea647a8f51eedc14b7f6218c87ad03c9e3c126213ba87d13d7774f9c30d64209f4b074aa83bd6ab - languageName: node - linkType: hard - "cjs-module-lexer@npm:^1.0.0": version: 1.4.3 resolution: "cjs-module-lexer@npm:1.4.3" @@ -4677,15 +4178,6 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^5.0.0": - version: 5.0.0 - resolution: "cli-cursor@npm:5.0.0" - dependencies: - restore-cursor: ^5.0.0 - checksum: 1eb9a3f878b31addfe8d82c6d915ec2330cec8447ab1f117f4aa34f0137fbb3137ec3466e1c9a65bcb7557f6e486d343f2da57f253a2f668d691372dfa15c090 - languageName: node - linkType: hard - "cli-spinners@npm:^2.5.0": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" @@ -4693,20 +4185,6 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^3.2.0": - version: 3.3.0 - resolution: "cli-spinners@npm:3.3.0" - checksum: c3b9c31d96c9158f4d7140557fffb8c1caea2169d7b895374dd3c2f159267aa0db3b72f36bfcc3bbe3532a7ed162d07dc5c0dc3117e1c0dfe4d387e1d723d616 - languageName: node - linkType: hard - -"cli-width@npm:^4.1.0": - version: 4.1.0 - resolution: "cli-width@npm:4.1.0" - checksum: 0a79cff2dbf89ef530bcd54c713703ba94461457b11e5634bd024c78796ed21401e32349c004995954e06f442d82609287e7aabf6a5f02c919a1cf3b9b6854ff - languageName: node - linkType: hard - "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -4882,13 +4360,6 @@ __metadata: languageName: node linkType: hard -"confbox@npm:^0.2.2": - version: 0.2.2 - resolution: "confbox@npm:0.2.2" - checksum: 335bc40d58f2785d2f8c5d45f0224e160dd634d42984ecf75b06addb6fe5f9584502ac9845d6f08f8ec066c8a796fd8b3c9ae9e8c7735047aa141d0e83469ab4 - languageName: node - linkType: hard - "connect@npm:^3.6.5": version: 3.7.0 resolution: "connect@npm:3.7.0" @@ -4901,13 +4372,6 @@ __metadata: languageName: node linkType: hard -"consola@npm:^3.2.3, consola@npm:^3.4.0, consola@npm:^3.4.2": - version: 3.4.2 - resolution: "consola@npm:3.4.2" - checksum: 32d1339e0505842f033ca34cb4572a841281caa367f438b785d3b284ab2a06134f009e605908480402c5f57f56c1e3210090c37e6417923416f76ce730d39361 - languageName: node - linkType: hard - "content-type@npm:~1.0.5": version: 1.0.5 resolution: "content-type@npm:1.0.5" @@ -5195,13 +4659,6 @@ __metadata: languageName: node linkType: hard -"data-uri-to-buffer@npm:^6.0.2": - version: 6.0.2 - resolution: "data-uri-to-buffer@npm:6.0.2" - checksum: 8b6927c33f9b54037f442856be0aa20e5fd49fa6c9c8ceece408dc306445d593ad72d207d57037c529ce65f413b421da800c6827b1dbefb607b8056f17123a61 - languageName: node - linkType: hard - "data-view-buffer@npm:^1.0.2": version: 1.0.2 resolution: "data-view-buffer@npm:1.0.2" @@ -5303,23 +4760,6 @@ __metadata: languageName: node linkType: hard -"default-browser-id@npm:^5.0.0": - version: 5.0.0 - resolution: "default-browser-id@npm:5.0.0" - checksum: 185bfaecec2c75fa423544af722a3469b20704c8d1942794a86e4364fe7d9e8e9f63241a5b769d61c8151993bc65833a5b959026fa1ccea343b3db0a33aa6deb - languageName: node - linkType: hard - -"default-browser@npm:^5.2.1": - version: 5.2.1 - resolution: "default-browser@npm:5.2.1" - dependencies: - bundle-name: ^4.1.0 - default-browser-id: ^5.0.0 - checksum: afab7eff7b7f5f7a94d9114d1ec67273d3fbc539edf8c0f80019879d53aa71e867303c6f6d7cffeb10a6f3cfb59d4f963dba3f9c96830b4540cc7339a1bf9840 - languageName: node - linkType: hard - "defaults@npm:^1.0.3": version: 1.0.4 resolution: "defaults@npm:1.0.4" @@ -5340,13 +4780,6 @@ __metadata: languageName: node linkType: hard -"define-lazy-prop@npm:^3.0.0": - version: 3.0.0 - resolution: "define-lazy-prop@npm:3.0.0" - checksum: 54884f94caac0791bf6395a3ec530ce901cf71c47b0196b8754f3fd17edb6c0e80149c1214429d851873bb0d689dbe08dcedbb2306dc45c8534a5934723851b6 - languageName: node - linkType: hard - "define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -5358,24 +4791,6 @@ __metadata: languageName: node linkType: hard -"defu@npm:^6.1.4": - version: 6.1.4 - resolution: "defu@npm:6.1.4" - checksum: 40e3af6338f195ac1564f53d1887fa2d0429ac7e8c081204bc4d29191180059d3952b5f4e08fe5df8d59eb873aa26e9c88b56d4fac699673d4a372c93620b229 - languageName: node - linkType: hard - -"degenerator@npm:^5.0.0": - version: 5.0.1 - resolution: "degenerator@npm:5.0.1" - dependencies: - ast-types: ^0.13.4 - escodegen: ^2.1.0 - esprima: ^4.0.1 - checksum: a64fa39cdf6c2edd75188157d32338ee9de7193d7dbb2aeb4acb1eb30fa4a15ed80ba8dae9bd4d7b085472cf174a5baf81adb761aaa8e326771392c922084152 - languageName: node - linkType: hard - "del-cli@npm:^6.0.0": version: 6.0.0 resolution: "del-cli@npm:6.0.0" @@ -5427,13 +4842,6 @@ __metadata: languageName: node linkType: hard -"destr@npm:^2.0.3": - version: 2.0.5 - resolution: "destr@npm:2.0.5" - checksum: e6d5b9e922f528527cd98035249b4d34077828debd2be448a33e268ac1f803bd9a53e7cf0f5184ef68a67573b7f0a6033a89913f61eadaf0e180de49b148606e - languageName: node - linkType: hard - "destroy@npm:1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" @@ -5482,13 +4890,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^17.2.2": - version: 17.2.3 - resolution: "dotenv@npm:17.2.3" - checksum: fde23eb88649041ec7a0f6a47bbe59cac3c454fc2007cf2e40b9c984aaf0636347218c56cfbbf067034b0a73f530a2698a19b4058695787eb650ec69fe234624 - languageName: node - linkType: hard - "dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -5808,24 +5209,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.1.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: ^4.0.1 - estraverse: ^5.2.0 - esutils: ^2.0.2 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 096696407e161305cd05aebb95134ad176708bc5cb13d0dcc89a5fcbb959b8ed757e7f2591a5f8036f8f4952d4a724de0df14cd419e29212729fa6df5ce16bf6 - languageName: node - linkType: hard - "eslint-config-prettier@npm:^10.1.8": version: 10.1.8 resolution: "eslint-config-prettier@npm:10.1.8" @@ -6068,7 +5451,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": +"esprima@npm:^4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -6117,13 +5500,6 @@ __metadata: languageName: node linkType: hard -"eta@npm:4.0.1": - version: 4.0.1 - resolution: "eta@npm:4.0.1" - checksum: 8e49f6de198da92739c1bc6b48b67282f7384faa4a89ac3877e4a933f189d8eb4cdce6cb041a9fcf4c3e0e83f63c4102077c43eb77931cad385d581aa993b295 - languageName: node - linkType: hard - "etag@npm:~1.8.1": version: 1.8.1 resolution: "etag@npm:1.8.1" @@ -6172,23 +5548,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: ^7.0.3 - get-stream: ^8.0.1 - human-signals: ^5.0.0 - is-stream: ^3.0.0 - merge-stream: ^2.0.0 - npm-run-path: ^5.1.0 - onetime: ^6.0.0 - signal-exit: ^4.1.0 - strip-final-newline: ^3.0.0 - checksum: cac1bf86589d1d9b73bdc5dda65c52012d1a9619c44c526891956745f7b366ca2603d29fe3f7460bacc2b48c6eab5d6a4f7afe0534b31473d3708d1265545e1f - languageName: node - linkType: hard - "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -6216,20 +5575,6 @@ __metadata: languageName: node linkType: hard -"exsolve@npm:^1.0.7": - version: 1.0.7 - resolution: "exsolve@npm:1.0.7" - checksum: 3adce048e4b1b08580aaabf38c7f92f78e1a662a1776fc02d7e9500d5ce4a30cd3f8e62206768821aa2c3bc2411a699146ebc5710ccc3d46e91199dbfff89f54 - languageName: node - linkType: hard - -"fast-content-type-parse@npm:^3.0.0": - version: 3.0.0 - resolution: "fast-content-type-parse@npm:3.0.0" - checksum: 490199423215b8a9c6e24a5a01a0d072af8ebfe24c13deac0a393dcac36b732295dd8cec5a2c4241249ed0fffc6983ba138f3001b13286afefb66360b6715a46 - languageName: node - linkType: hard - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -6546,13 +5891,6 @@ __metadata: languageName: node linkType: hard -"get-east-asian-width@npm:^1.3.0": - version: 1.4.0 - resolution: "get-east-asian-width@npm:1.4.0" - checksum: 1d9a81a8004f4217ebef5d461875047d269e4b57e039558fd65130877cd4da8e3f61e1c4eada0c8b10e2816c7baf7d5fddb7006f561da13bc6f6dd19c1e964a4 - languageName: node - linkType: hard - "get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0": version: 1.3.1 resolution: "get-intrinsic@npm:1.3.1" @@ -6607,13 +5945,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 01e3d3cf29e1393f05f44d2f00445c5f9ec3d1c49e8179b31795484b9c117f4c695e5e07b88b50785d5c8248a788c85d9913a79266fc77e3ef11f78f10f1b974 - languageName: node - linkType: hard - "get-symbol-description@npm:^1.1.0": version: 1.1.0 resolution: "get-symbol-description@npm:1.1.0" @@ -6625,33 +5956,6 @@ __metadata: languageName: node linkType: hard -"get-uri@npm:^6.0.1": - version: 6.0.5 - resolution: "get-uri@npm:6.0.5" - dependencies: - basic-ftp: ^5.0.2 - data-uri-to-buffer: ^6.0.2 - debug: ^4.3.4 - checksum: aef94dbecde44bc9cd23f5c1b6af5bf772a3d16612c0fc37d3a4056ffd202f2cdd329746d4fdc2124813ea6c8b1c5279f3749d27226a2b161df43dbcb70082e3 - languageName: node - linkType: hard - -"giget@npm:^2.0.0": - version: 2.0.0 - resolution: "giget@npm:2.0.0" - dependencies: - citty: ^0.1.6 - consola: ^3.4.0 - defu: ^6.1.4 - node-fetch-native: ^1.6.6 - nypm: ^0.6.0 - pathe: ^2.0.3 - bin: - giget: dist/cli.mjs - checksum: 9957b75bc52e0c49203208e6d1e40511dacd0654e3f664323997eaeffb8b30080db393a44d206039f12bb5a29250546f574316e0593c42b9daae056f522d1603 - languageName: node - linkType: hard - "git-raw-commits@npm:^4.0.0": version: 4.0.0 resolution: "git-raw-commits@npm:4.0.0" @@ -6689,25 +5993,6 @@ __metadata: languageName: node linkType: hard -"git-up@npm:^8.1.0": - version: 8.1.1 - resolution: "git-up@npm:8.1.1" - dependencies: - is-ssh: ^1.4.0 - parse-url: ^9.2.0 - checksum: 3b7c89bcd0c46e09154f3509ac5f69f3c746ec032390b86a34f7e831a3b60c0a976548780682cd490a522dd8eb4ff2a13b1b882ff0e94a35fe6fc317f09042a5 - languageName: node - linkType: hard - -"git-url-parse@npm:16.1.0": - version: 16.1.0 - resolution: "git-url-parse@npm:16.1.0" - dependencies: - git-up: ^8.1.0 - checksum: 386b0e1bf55c2732ae5d9d75a8063a46179c832794a010b0d8952f89e79dbda7bdf1d00ef478a13ab3962bcad1d1f7a1a1de18769de1514ffe1fb11c90a82270 - languageName: node - linkType: hard - "glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -7003,7 +6288,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.1": +"http-proxy-agent@npm:^7.0.0": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -7013,7 +6298,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5, https-proxy-agent@npm:^7.0.6": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -7037,13 +6322,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 6504560d5ed91444f16bea3bd9dfc66110a339442084e56c3e7fa7bbdf3f406426d6563d662bdce67064b165eac31eeabfc0857ed170aaa612cf14ec9f9a464c - languageName: node - linkType: hard - "iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -7062,15 +6340,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.7.0": - version: 0.7.0 - resolution: "iconv-lite@npm:0.7.0" - dependencies: - safer-buffer: ">= 2.1.2 < 3.0.0" - checksum: f362a8befb95e37f29be1d1290c17e0c9d0d4ad4fa62fcfd813cc9c937ab89401abed9a011f83e10651a267abb2aa231ec7da91d843570bec873bd98489b5bf8 - languageName: node - linkType: hard - "ieee754@npm:^1.1.13": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -7177,26 +6446,6 @@ __metadata: languageName: node linkType: hard -"inquirer@npm:12.9.6": - version: 12.9.6 - resolution: "inquirer@npm:12.9.6" - dependencies: - "@inquirer/ansi": ^1.0.0 - "@inquirer/core": ^10.2.2 - "@inquirer/prompts": ^7.8.6 - "@inquirer/type": ^3.0.8 - mute-stream: ^2.0.0 - run-async: ^4.0.5 - rxjs: ^7.8.2 - peerDependencies: - "@types/node": ">=18" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 5fae189bcc5a71cef91839b396249bbda42579a39c0b1b468b1f79015e9b831703c1ccbdd5e6b3f5f73407c6f9c4917c6728fc8c240f14a8aa97a3de81e95511 - languageName: node - linkType: hard - "internal-slot@npm:^1.1.0": version: 1.1.0 resolution: "internal-slot@npm:1.1.0" @@ -7330,15 +6579,6 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^3.0.0": - version: 3.0.0 - resolution: "is-docker@npm:3.0.0" - bin: - is-docker: cli.js - checksum: b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 - languageName: node - linkType: hard - "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -7418,17 +6658,6 @@ __metadata: languageName: node linkType: hard -"is-inside-container@npm:^1.0.0": - version: 1.0.0 - resolution: "is-inside-container@npm:1.0.0" - dependencies: - is-docker: ^3.0.0 - bin: - is-inside-container: cli.js - checksum: c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03 - languageName: node - linkType: hard - "is-interactive@npm:^1.0.0": version: 1.0.0 resolution: "is-interactive@npm:1.0.0" @@ -7436,13 +6665,6 @@ __metadata: languageName: node linkType: hard -"is-interactive@npm:^2.0.0": - version: 2.0.0 - resolution: "is-interactive@npm:2.0.0" - checksum: e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c - languageName: node - linkType: hard - "is-map@npm:^2.0.3": version: 2.0.3 resolution: "is-map@npm:2.0.3" @@ -7546,15 +6768,6 @@ __metadata: languageName: node linkType: hard -"is-ssh@npm:^1.4.0": - version: 1.4.1 - resolution: "is-ssh@npm:1.4.1" - dependencies: - protocols: ^2.0.1 - checksum: 005b461ac444398eb8b7cd2f489288e49dd18c8b6cbf1eb20767f9b79f330ab6e3308b2dac8ec6ca2a950d2a368912e0e992e2474bc1b5204693abb6226c1431 - languageName: node - linkType: hard - "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -7562,13 +6775,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 - languageName: node - linkType: hard - "is-string@npm:^1.1.1": version: 1.1.1 resolution: "is-string@npm:1.1.1" @@ -7619,15 +6825,8 @@ __metadata: "is-unicode-supported@npm:^0.1.0": version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^2.0.0, is-unicode-supported@npm:^2.1.0": - version: 2.1.0 - resolution: "is-unicode-supported@npm:2.1.0" - checksum: f254e3da6b0ab1a57a94f7273a7798dd35d1d45b227759f600d0fa9d5649f9c07fa8d3c8a6360b0e376adf916d151ec24fc9a50c5295c58bae7ca54a76a063f9 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 languageName: node linkType: hard @@ -7680,15 +6879,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^3.1.0": - version: 3.1.0 - resolution: "is-wsl@npm:3.1.0" - dependencies: - is-inside-container: ^1.0.0 - checksum: f9734c81f2f9cf9877c5db8356bfe1ff61680f1f4c1011e91278a9c0564b395ae796addb4bf33956871041476ec82c3e5260ed57b22ac91794d4ae70a1d2f0a9 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -7710,19 +6900,6 @@ __metadata: languageName: node linkType: hard -"issue-parser@npm:7.0.1": - version: 7.0.1 - resolution: "issue-parser@npm:7.0.1" - dependencies: - lodash.capitalize: ^4.2.1 - lodash.escaperegexp: ^4.1.2 - lodash.isplainobject: ^4.0.6 - lodash.isstring: ^4.0.1 - lodash.uniqby: ^4.7.0 - checksum: baf2831baa84c214a8c9f095889476f2ad7a6511fef7d096941ecf4666a822fbce298baac38510c4be782fc562488d4909535e81fb7a28c55779fcc88e3ec595 - languageName: node - linkType: hard - "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" @@ -8254,7 +7431,7 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.5.1, jiti@npm:^2.6.1": +"jiti@npm:^2.6.1": version: 2.6.1 resolution: "jiti@npm:2.6.1" bin: @@ -8511,13 +7688,6 @@ __metadata: languageName: node linkType: hard -"lodash.capitalize@npm:^4.2.1": - version: 4.2.1 - resolution: "lodash.capitalize@npm:4.2.1" - checksum: d9195f31d48c105206f1099946d8bbc8ab71435bc1c8708296992a31a992bb901baf120fdcadd773098ac96e62a79e6b023ee7d26a2deb0d6c6aada930e6ad0a - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -8525,13 +7695,6 @@ __metadata: languageName: node linkType: hard -"lodash.escaperegexp@npm:^4.1.2": - version: 4.1.2 - resolution: "lodash.escaperegexp@npm:4.1.2" - checksum: 6d99452b1cfd6073175a9b741a9b09ece159eac463f86f02ea3bee2e2092923fce812c8d2bf446309cc52d1d61bf9af51c8118b0d7421388e6cead7bd3798f0f - languageName: node - linkType: hard - "lodash.isplainobject@npm:^4.0.6": version: 4.0.6 resolution: "lodash.isplainobject@npm:4.0.6" @@ -8539,13 +7702,6 @@ __metadata: languageName: node linkType: hard -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: eaac87ae9636848af08021083d796e2eea3d02e80082ab8a9955309569cb3a463ce97fd281d7dc119e402b2e7d8c54a23914b15d2fc7fff56461511dc8937ba0 - languageName: node - linkType: hard - "lodash.kebabcase@npm:^4.1.1": version: 4.1.1 resolution: "lodash.kebabcase@npm:4.1.1" @@ -8553,7 +7709,7 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:4.6.2, lodash.merge@npm:^4.6.2": +"lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 @@ -8595,13 +7751,6 @@ __metadata: languageName: node linkType: hard -"lodash.uniqby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.uniqby@npm:4.7.0" - checksum: 659264545a95726d1493123345aad8cbf56e17810fa9a0b029852c6d42bc80517696af09d99b23bef1845d10d95e01b8b4a1da578f22aeba7a30d3e0022a4938 - languageName: node - linkType: hard - "lodash.upperfirst@npm:^4.3.1": version: 4.3.1 resolution: "lodash.upperfirst@npm:4.3.1" @@ -8609,7 +7758,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.15.0, lodash@npm:^4.17.21": +"lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -8626,16 +7775,6 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^7.0.1": - version: 7.0.1 - resolution: "log-symbols@npm:7.0.1" - dependencies: - is-unicode-supported: ^2.0.0 - yoctocolors: ^2.1.1 - checksum: 0862313d84826b551582e39659b8586c56b65130c5f4f976420e2c23985228334f2a26fc4251ac22bf0a5b415d9430e86bf332557d934c10b036f9a549d63a09 - languageName: node - linkType: hard - "logkitty@npm:^0.7.1": version: 0.7.1 resolution: "logkitty@npm:0.7.1" @@ -8676,20 +7815,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.14.1": - version: 7.18.3 - resolution: "lru-cache@npm:7.18.3" - checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 - languageName: node - linkType: hard - -"macos-release@npm:^3.3.0": - version: 3.4.0 - resolution: "macos-release@npm:3.4.0" - checksum: f4c0cb8b3f93b05d73c502b4bbe2b811c44facfc9bd072c13a30ff2a8ba1cad5d9de517d10be8b31e2b917643245a81587a2eec8300e66a7364419d11402ab02 - languageName: node - linkType: hard - "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -9025,22 +8150,13 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:>= 1.43.0 < 2, mime-db@npm:^1.54.0": +"mime-db@npm:>= 1.43.0 < 2": version: 1.54.0 resolution: "mime-db@npm:1.54.0" checksum: e99aaf2f23f5bd607deb08c83faba5dd25cf2fec90a7cc5b92d8260867ee08dab65312e1a589e60093dc7796d41e5fae013268418482f1db4c7d52d0a0960ac9 languageName: node linkType: hard -"mime-types@npm:3.0.1": - version: 3.0.1 - resolution: "mime-types@npm:3.0.1" - dependencies: - mime-db: ^1.54.0 - checksum: 8d497ad5cb2dd1210ac7d049b5de94af0b24b45a314961e145b44389344604d54752f03bc00bf880c0da60a214be6fb6d423d318104f02c28d95dd8ebeea4fb4 - languageName: node - linkType: hard - "mime-types@npm:^2.1.27, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" @@ -9075,20 +8191,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 - languageName: node - linkType: hard - -"mimic-function@npm:^5.0.0": - version: 5.0.1 - resolution: "mimic-function@npm:5.0.1" - checksum: eb5893c99e902ccebbc267c6c6b83092966af84682957f79313311edb95e8bb5f39fb048d77132b700474d1c86d90ccc211e99bae0935447a4834eb4c882982c - languageName: node - linkType: hard - "minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -9222,13 +8324,6 @@ __metadata: languageName: node linkType: hard -"mute-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "mute-stream@npm:2.0.0" - checksum: d2e4fd2f5aa342b89b98134a8d899d8ef9b0a6d69274c4af9df46faa2d97aeb1f2ce83d867880d6de63643c52386579b99139801e24e7526c3b9b0a6d1e18d6c - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -9264,22 +8359,6 @@ __metadata: languageName: node linkType: hard -"netmask@npm:^2.0.2": - version: 2.0.2 - resolution: "netmask@npm:2.0.2" - checksum: c65cb8d3f7ea5669edddb3217e4c96910a60d0d9a4b52d9847ff6b28b2d0277cd8464eee0ef85133cdee32605c57940cacdd04a9a019079b091b6bba4cb0ec22 - languageName: node - linkType: hard - -"new-github-release-url@npm:2.0.0": - version: 2.0.0 - resolution: "new-github-release-url@npm:2.0.0" - dependencies: - type-fest: ^2.5.1 - checksum: 3d4ae0f3b775623ceed8e558b6f9850e897aea981a9c937d3ad4e018669c829beccb2c4b5a6af996726ebf86c5b7638368dfc01f3ac2e395d1df29309bc0c5ca - languageName: node - linkType: hard - "nocache@npm:^3.0.1": version: 3.0.4 resolution: "nocache@npm:3.0.4" @@ -9287,13 +8366,6 @@ __metadata: languageName: node linkType: hard -"node-fetch-native@npm:^1.6.6": - version: 1.6.7 - resolution: "node-fetch-native@npm:1.6.7" - checksum: c564e4f098b2ee5f56569a5f7a3c81b86dd11eb626460c332930fbff180df727bf44067268b2f19e646ac2e87632662dabd362df4b6a93c7bd898a94a3af9cb1 - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 11.4.2 resolution: "node-gyp@npm:11.4.2" @@ -9373,15 +8445,6 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0": - version: 5.3.0 - resolution: "npm-run-path@npm:5.3.0" - dependencies: - path-key: ^4.0.0 - checksum: ae8e7a89da9594fb9c308f6555c73f618152340dcaae423e5fb3620026fefbec463618a8b761920382d666fa7a2d8d240b6fe320e8a6cdd54dc3687e2b659d25 - languageName: node - linkType: hard - "nullthrows@npm:^1.1.1": version: 1.1.1 resolution: "nullthrows@npm:1.1.1" @@ -9389,21 +8452,6 @@ __metadata: languageName: node linkType: hard -"nypm@npm:^0.6.0": - version: 0.6.2 - resolution: "nypm@npm:0.6.2" - dependencies: - citty: ^0.1.6 - consola: ^3.4.2 - pathe: ^2.0.3 - pkg-types: ^2.3.0 - tinyexec: ^1.0.1 - bin: - nypm: dist/cli.mjs - checksum: 8cbbbfb3ead13d4c05223da4bb47a4341a69e27055631b152ca368c07d470f62e4e44edbb33403d3777359bd06a07d41f616320fc7f4b7f0926aba657cc34d2e - languageName: node - linkType: hard - "ob1@npm:0.83.3": version: 0.83.3 resolution: "ob1@npm:0.83.3" @@ -9484,13 +8532,6 @@ __metadata: languageName: node linkType: hard -"ohash@npm:^2.0.11": - version: 2.0.11 - resolution: "ohash@npm:2.0.11" - checksum: c8e4d44c410d0c0347c374cfa03832abe4ffe4ba946aaaac0274a6d80d9e64d86a1bd06c6affa8ad83ff85b1ebce18b7b488ef24b2379ed5bcd5b37cb38816bc - languageName: node - linkType: hard - "on-finished@npm:2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -9534,36 +8575,6 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: ^4.0.0 - checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 - languageName: node - linkType: hard - -"onetime@npm:^7.0.0": - version: 7.0.0 - resolution: "onetime@npm:7.0.0" - dependencies: - mimic-function: ^5.0.0 - checksum: eb08d2da9339819e2f9d52cab9caf2557d80e9af8c7d1ae86e1a0fef027d00a88e9f5bd67494d350df360f7c559fbb44e800b32f310fb989c860214eacbb561c - languageName: node - linkType: hard - -"open@npm:10.2.0": - version: 10.2.0 - resolution: "open@npm:10.2.0" - dependencies: - default-browser: ^5.2.1 - define-lazy-prop: ^3.0.0 - is-inside-container: ^1.0.0 - wsl-utils: ^0.1.0 - checksum: 64e2e1fb1dc5ab82af06c990467237b8fd349b1b9ecc6324d12df337a005d039cec11f758abea148be68878ccd616977005682c48ef3c5c7ba48bd3e5d6a3dbb - languageName: node - linkType: hard - "open@npm:^6.2.0": version: 6.4.0 resolution: "open@npm:6.4.0" @@ -9597,23 +8608,6 @@ __metadata: languageName: node linkType: hard -"ora@npm:9.0.0": - version: 9.0.0 - resolution: "ora@npm:9.0.0" - dependencies: - chalk: ^5.6.2 - cli-cursor: ^5.0.0 - cli-spinners: ^3.2.0 - is-interactive: ^2.0.0 - is-unicode-supported: ^2.1.0 - log-symbols: ^7.0.1 - stdin-discarder: ^0.2.2 - string-width: ^8.1.0 - strip-ansi: ^7.1.2 - checksum: 4efc9c3caa45b552bae4c9755c586eb4f39b824e456d77ec380539529439ca95f3acf9626119131f1ca76618c176088996023e257f5b82e1b86a509990f4545a - languageName: node - linkType: hard - "ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" @@ -9631,16 +8625,6 @@ __metadata: languageName: node linkType: hard -"os-name@npm:6.1.0": - version: 6.1.0 - resolution: "os-name@npm:6.1.0" - dependencies: - macos-release: ^3.3.0 - windows-release: ^6.1.0 - checksum: d69a2060bea01dc502bd9a08802f43bebce85e95adde7740d0629a8522c16a92c05e0ee052819cac49f82aa61324ff038a3b79e015e26f122bbc08b40aa4ead3 - languageName: node - linkType: hard - "own-keys@npm:^1.0.1": version: 1.0.1 resolution: "own-keys@npm:1.0.1" @@ -9729,32 +8713,6 @@ __metadata: languageName: node linkType: hard -"pac-proxy-agent@npm:^7.1.0": - version: 7.2.0 - resolution: "pac-proxy-agent@npm:7.2.0" - dependencies: - "@tootallnate/quickjs-emscripten": ^0.23.0 - agent-base: ^7.1.2 - debug: ^4.3.4 - get-uri: ^6.0.1 - http-proxy-agent: ^7.0.0 - https-proxy-agent: ^7.0.6 - pac-resolver: ^7.0.1 - socks-proxy-agent: ^8.0.5 - checksum: 099c1bc8944da6a98e8b7de1fbf23e4014bc3063f66a7c29478bd852c1162e1d086a4f80f874f40961ebd5c516e736aed25852db97b79360cbdcc9db38086981 - languageName: node - linkType: hard - -"pac-resolver@npm:^7.0.1": - version: 7.0.1 - resolution: "pac-resolver@npm:7.0.1" - dependencies: - degenerator: ^5.0.0 - netmask: ^2.0.2 - checksum: 839134328781b80d49f9684eae1f5c74f50a1d4482076d44c84fc2f3ca93da66fa11245a4725a057231e06b311c20c989fd0681e662a0792d17f644d8fe62a5e - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -9794,25 +8752,6 @@ __metadata: languageName: node linkType: hard -"parse-path@npm:^7.0.0": - version: 7.1.0 - resolution: "parse-path@npm:7.1.0" - dependencies: - protocols: ^2.0.0 - checksum: 1da6535a967b14911837bba98e5f8d16acb415b28753ff6225e3121dce71167a96c79278fbb631d695210dadae37462a9eff40d93b9c659cf1ce496fd5db9bb6 - languageName: node - linkType: hard - -"parse-url@npm:^9.2.0": - version: 9.2.0 - resolution: "parse-url@npm:9.2.0" - dependencies: - "@types/parse-path": ^7.0.0 - parse-path: ^7.0.0 - checksum: 765d4beac7de59c88007018e2a4b95ed8ff96cdcd0ff510b1ad00ab3d17f63949c7664218685394fe35af52061516c5efbba520fb760d7104b8238a6196f28c4 - languageName: node - linkType: hard - "parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -9848,13 +8787,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 - languageName: node - linkType: hard - "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -9886,20 +8818,6 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^2.0.3": - version: 2.0.3 - resolution: "pathe@npm:2.0.3" - checksum: 0602bdd4acb54d91044e0c56f1fb63467ae7d44ab3afea1f797947b0eb2b4d1d91cf0d58d065fdb0a8ab0c4acbbd8d3a5b424983eaf10dd5285d37a16f6e3ee9 - languageName: node - linkType: hard - -"perfect-debounce@npm:^2.0.0": - version: 2.0.0 - resolution: "perfect-debounce@npm:2.0.0" - checksum: b22938a06d0cb2fe202a79bf75447cf759229d206abdbecb199df6925b9ca2143e0629b7f5c03a583a54a4744bc8f6d897eb5ff1dc892220b7564bda55f58e55 - languageName: node - linkType: hard - "picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -9937,17 +8855,6 @@ __metadata: languageName: node linkType: hard -"pkg-types@npm:^2.3.0": - version: 2.3.0 - resolution: "pkg-types@npm:2.3.0" - dependencies: - confbox: ^0.2.2 - exsolve: ^1.0.7 - pathe: ^2.0.3 - checksum: 33c30b442662a0f2b62fd16f39ae2beeb4cdf3511699e574765b7451e179937847de6e696bbab50bfbd41d2c2e4a99b61ebc7078abf91ea8573a7f16cc11d26a - languageName: node - linkType: hard - "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -10045,36 +8952,6 @@ __metadata: languageName: node linkType: hard -"protocols@npm:^2.0.0, protocols@npm:^2.0.1": - version: 2.0.2 - resolution: "protocols@npm:2.0.2" - checksum: 031cc068eb800468a50eb7c1e1c528bf142fb8314f5df9b9ea3c3f9df1697a19f97b9915b1229cef694d156812393172d9c3051ef7878d26eaa8c6faa5cccec4 - languageName: node - linkType: hard - -"proxy-agent@npm:6.5.0": - version: 6.5.0 - resolution: "proxy-agent@npm:6.5.0" - dependencies: - agent-base: ^7.1.2 - debug: ^4.3.4 - http-proxy-agent: ^7.0.1 - https-proxy-agent: ^7.0.6 - lru-cache: ^7.14.1 - pac-proxy-agent: ^7.1.0 - proxy-from-env: ^1.1.0 - socks-proxy-agent: ^8.0.5 - checksum: d03ad2d171c2768280ade7ea6a7c5b1d0746215d70c0a16e02780c26e1d347edd27b3f48374661ae54ec0f7b41e6e45175b687baf333b36b1fd109a525154806 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4 - languageName: node - linkType: hard - "pump@npm:^3.0.0": version: 3.0.3 resolution: "pump@npm:3.0.3" @@ -10143,16 +9020,6 @@ __metadata: languageName: node linkType: hard -"rc9@npm:^2.1.2": - version: 2.1.2 - resolution: "rc9@npm:2.1.2" - dependencies: - defu: ^6.1.4 - destr: ^2.0.3 - checksum: aaa8f962a9a6a89981e2da75dad71117fe0f856bb55fecf793cd42ee0badc1cb92e6bb7cd25a9473e2d3c968ac29e507384ce52c4e76bbd63ac5649d3d7c2ab3 - languageName: node - linkType: hard - "react-devtools-core@npm:^6.1.5": version: 6.1.5 resolution: "react-devtools-core@npm:6.1.5" @@ -10254,7 +9121,6 @@ __metadata: react: 19.1.0 react-native: 0.81.1 react-native-builder-bob: ^0.40.13 - release-it: ^19.0.5 turbo: ^2.5.6 typescript: ^5.9.2 peerDependencies: @@ -10385,13 +9251,6 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:^4.0.1": - version: 4.1.2 - resolution: "readdirp@npm:4.1.2" - checksum: 3242ee125422cb7c0e12d51452e993f507e6ed3d8c490bc8bf3366c5cdd09167562224e429b13e9cb2b98d4b8b2b11dc100d3c73883aa92d657ade5a21ded004 - languageName: node - linkType: hard - "reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": version: 1.0.10 resolution: "reflect.getprototypeof@npm:1.0.10" @@ -10477,39 +9336,6 @@ __metadata: languageName: node linkType: hard -"release-it@npm:^19.0.5": - version: 19.0.5 - resolution: "release-it@npm:19.0.5" - dependencies: - "@nodeutils/defaults-deep": 1.1.0 - "@octokit/rest": 22.0.0 - "@phun-ky/typeof": 2.0.3 - async-retry: 1.3.3 - c12: 3.3.0 - ci-info: ^4.3.0 - eta: 4.0.1 - git-url-parse: 16.1.0 - inquirer: 12.9.6 - issue-parser: 7.0.1 - lodash.merge: 4.6.2 - mime-types: 3.0.1 - new-github-release-url: 2.0.0 - open: 10.2.0 - ora: 9.0.0 - os-name: 6.1.0 - proxy-agent: 6.5.0 - semver: 7.7.2 - tinyglobby: 0.2.15 - undici: 6.21.3 - url-join: 5.0.0 - wildcard-match: 5.1.4 - yargs-parser: 21.1.1 - bin: - release-it: bin/release-it.js - checksum: 7a3a29c10c6c1cf96db0310f4ea3bdf684567b6c5796a2715536a376be3ec6bd6a0d4c7c85918556f6792221947867eff71ae8e1d486d75736657a34bd6e923c - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -10623,23 +9449,6 @@ __metadata: languageName: node linkType: hard -"restore-cursor@npm:^5.0.0": - version: 5.1.0 - resolution: "restore-cursor@npm:5.1.0" - dependencies: - onetime: ^7.0.0 - signal-exit: ^4.1.0 - checksum: 838dd54e458d89cfbc1a923b343c1b0f170a04100b4ce1733e97531842d7b440463967e521216e8ab6c6f8e89df877acc7b7f4c18ec76e99fb9bf5a60d358d2c - languageName: node - linkType: hard - -"retry@npm:0.13.1": - version: 0.13.1 - resolution: "retry@npm:0.13.1" - checksum: 47c4d5be674f7c13eee4cfe927345023972197dbbdfba5d3af7e461d13b44de1bfd663bfc80d2f601f8ef3fc8164c16dd99655a221921954a65d044a2fc1233b - languageName: node - linkType: hard - "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -10665,20 +9474,6 @@ __metadata: languageName: node linkType: hard -"run-applescript@npm:^7.0.0": - version: 7.1.0 - resolution: "run-applescript@npm:7.1.0" - checksum: 8659fb5f2717b2b37a68cbfe5f678254cf24b5a82a6df3372b180c80c7c137dcd757a4166c3887e459f59a090ca414e8ea7ca97cf3ee5123db54b3b4006d7b7a - languageName: node - linkType: hard - -"run-async@npm:^4.0.5": - version: 4.0.6 - resolution: "run-async@npm:4.0.6" - checksum: 1338a046d4f4ea03a62dfcb426d44af8c9991221ec74983e52845cbb7ee0c685dc0e9e07cbb6958ee6a1103b7a66c0204b86e110e37909965a92e6fbb7b3b837 - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -10688,15 +9483,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.8.2": - version: 7.8.2 - resolution: "rxjs@npm:7.8.2" - dependencies: - tslib: ^2.1.0 - checksum: 2f233d7c832a6c255dabe0759014d7d9b1c9f1cb2f2f0d59690fd11c883c9826ea35a51740c06ab45b6ade0d9087bde9192f165cba20b6730d344b831ef80744 - languageName: node - linkType: hard - "safe-array-concat@npm:^1.1.3": version: 1.1.3 resolution: "safe-array-concat@npm:1.1.3" @@ -10752,15 +9538,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.7.2": - version: 7.7.2 - resolution: "semver@npm:7.7.2" - bin: - semver: bin/semver.js - checksum: dd94ba8f1cbc903d8eeb4dd8bf19f46b3deb14262b6717d0de3c804b594058ae785ef2e4b46c5c3b58733c99c83339068203002f9e37cfe44f7e2cc5e3d2f621 - languageName: node - linkType: hard - "semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -10948,7 +9725,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": +"signal-exit@npm:^4.0.1": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 @@ -10994,7 +9771,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": +"socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" dependencies: @@ -11042,7 +9819,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 @@ -11145,13 +9922,6 @@ __metadata: languageName: node linkType: hard -"stdin-discarder@npm:^0.2.2": - version: 0.2.2 - resolution: "stdin-discarder@npm:0.2.2" - checksum: 642ffd05bd5b100819d6b24a613d83c6e3857c6de74eb02fc51506fa61dc1b0034665163831873868157c4538d71e31762bcf319be86cea04c3aba5336470478 - languageName: node - linkType: hard - "stop-iteration-iterator@npm:^1.1.0": version: 1.1.0 resolution: "stop-iteration-iterator@npm:1.1.0" @@ -11201,16 +9971,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^8.1.0": - version: 8.1.0 - resolution: "string-width@npm:8.1.0" - dependencies: - get-east-asian-width: ^1.3.0 - strip-ansi: ^7.1.0 - checksum: 51ee97c4ffee7b94f8a2ee785fac14f81ec9809b9fcec9a4db44e25c717c263af0cc4387c111aef76195c0718dc43766f3678c07fb542294fb0244f7bfbde883 - languageName: node - linkType: hard - "string.prototype.matchall@npm:^4.0.12": version: 4.0.12 resolution: "string.prototype.matchall@npm:4.0.12" @@ -11307,7 +10067,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0, strip-ansi@npm:^7.1.2": +"strip-ansi@npm:^7.0.1": version: 7.1.2 resolution: "strip-ansi@npm:7.1.2" dependencies: @@ -11330,13 +10090,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 - languageName: node - linkType: hard - "strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -11444,14 +10197,14 @@ __metadata: languageName: node linkType: hard -"tinyexec@npm:^1.0.0, tinyexec@npm:^1.0.1": +"tinyexec@npm:^1.0.0": version: 1.0.1 resolution: "tinyexec@npm:1.0.1" checksum: 40f5219abf891884863b085ebe5e8c8bf95bde802f6480f279588b355835ad1604fa01eada2afe90063b48b53cd4b0be5c37393980e23f06fd10689d92fb9586 languageName: node linkType: hard -"tinyglobby@npm:0.2.15, tinyglobby@npm:^0.2.12": +"tinyglobby@npm:^0.2.12": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" dependencies: @@ -11500,13 +10253,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.1, tslib@npm:^2.1.0": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a - languageName: node - linkType: hard - "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -11619,13 +10365,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^2.5.1": - version: 2.19.0 - resolution: "type-fest@npm:2.19.0" - checksum: a4ef07ece297c9fba78fc1bd6d85dff4472fe043ede98bd4710d2615d15776902b595abf62bd78339ed6278f021235fb28a96361f8be86ed754f778973a0d278 - languageName: node - linkType: hard - "type-fest@npm:^4.39.1, type-fest@npm:^4.6.0": version: 4.41.0 resolution: "type-fest@npm:4.41.0" @@ -11758,13 +10497,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:6.21.3": - version: 6.21.3 - resolution: "undici@npm:6.21.3" - checksum: a2af0601deece36acbcc11ef722f36ad3c1e035d3065b9fbb36987487f7b69904046fa95c18f228a872ca45441f156fcaacd948fc920b0a97d0c1ab78ea63c04 - languageName: node - linkType: hard - "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.1 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" @@ -11828,13 +10560,6 @@ __metadata: languageName: node linkType: hard -"universal-user-agent@npm:^7.0.0, universal-user-agent@npm:^7.0.2": - version: 7.0.3 - resolution: "universal-user-agent@npm:7.0.3" - checksum: c497e85f8b11eb8fa4dce584d7a39cc98710164959f494cafc3c269b51abb20fff269951838efd7424d15f6b3d001507f3cb8b52bb5676fdb642019dfd17e63e - languageName: node - linkType: hard - "universalify@npm:^0.1.0": version: 0.1.2 resolution: "universalify@npm:0.1.2" @@ -11879,13 +10604,6 @@ __metadata: languageName: node linkType: hard -"url-join@npm:5.0.0": - version: 5.0.0 - resolution: "url-join@npm:5.0.0" - checksum: 5921384a8ad4395b49ce4b50aa26efbc429cebe0bc8b3660ad693dd12fd859747b5369be0443e60e53a7850b2bc9d7d0687bcb94386662b40e743596bbf38101 - languageName: node - linkType: hard - "util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -12050,22 +10768,6 @@ __metadata: languageName: node linkType: hard -"wildcard-match@npm:5.1.4": - version: 5.1.4 - resolution: "wildcard-match@npm:5.1.4" - checksum: 96e8c13f26b7ae508c694ceb6721640707df55f22045870fbd3b7d8f58529d3616e8e59fb6992524db5e8b323c9fe7c3e92d92b5ae36707529d1f4f170c00e23 - languageName: node - linkType: hard - -"windows-release@npm:^6.1.0": - version: 6.1.0 - resolution: "windows-release@npm:6.1.0" - dependencies: - execa: ^8.0.1 - checksum: 2af39c94d5e4e250c3239e70177f3a97291c505e364b85a7ae63ca9d06c91496e8bd3a75c55e03184d9c27e58c0a0fa21a4a8457ac72cc560d8796a75f12d0a3 - languageName: node - linkType: hard - "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -12154,15 +10856,6 @@ __metadata: languageName: node linkType: hard -"wsl-utils@npm:^0.1.0": - version: 0.1.0 - resolution: "wsl-utils@npm:0.1.0" - dependencies: - is-wsl: ^3.1.0 - checksum: de4c92187e04c3c27b4478f410a02e81c351dc85efa3447bf1666f34fc80baacd890a6698ec91995631714086992036013286aea3d77e6974020d40a08e00aec - languageName: node - linkType: hard - "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3" @@ -12207,13 +10900,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c - languageName: node - linkType: hard - "yargs-parser@npm:^18.1.2": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" @@ -12224,6 +10910,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c + languageName: node + linkType: hard + "yargs@npm:^15.1.0": version: 15.4.1 resolution: "yargs@npm:15.4.1" @@ -12271,17 +10964,3 @@ __metadata: checksum: 0843d6c2c0558e5c06e98edf9c17942f25c769e21b519303a5c2adefd5b738c9b2054204dc856ac0cd9d134b1bc27d928ce84fd23c9e2423b7e013d5a6f50577 languageName: node linkType: hard - -"yoctocolors-cjs@npm:^2.1.2": - version: 2.1.3 - resolution: "yoctocolors-cjs@npm:2.1.3" - checksum: 207df586996c3b604fa85903f81cc54676f1f372613a0c7247f0d24b1ca781905685075d06955211c4d5d4f629d7d5628464f8af0a42d286b7a8ff88e9dadcb8 - languageName: node - linkType: hard - -"yoctocolors@npm:^2.1.1": - version: 2.1.2 - resolution: "yoctocolors@npm:2.1.2" - checksum: 6ee42d665a4cc161c7de3f015b2a65d6c65d2808bfe3b99e228bd2b1b784ef1e54d1907415c025fc12b400f26f372bfc1b71966c6c738d998325ca422eb39363 - languageName: node - linkType: hard