diff --git a/.github/workflows/create-sdk-update-pr.yml b/.github/workflows/create-sdk-update-pr.yml index 78034cd9..9a206e37 100644 --- a/.github/workflows/create-sdk-update-pr.yml +++ b/.github/workflows/create-sdk-update-pr.yml @@ -53,6 +53,7 @@ jobs: cache: 'yarn' - name: Restore Pods cache + if: ${{ inputs.sdk_name == 'ios' }} id: pods-cache-restore uses: actions/cache/restore@v3 with: @@ -71,7 +72,7 @@ jobs: yarn bootstrap - name: Save Pods cache - if: steps.pods-cache-restore.outputs.cache-hit != 'true' + if: ${{ inputs.sdk_name == 'ios' && steps.pods-cache-restore.outputs.cache-hit != 'true' }} uses: actions/cache/save@v3 with: path: | diff --git a/CHANGELOG.md b/CHANGELOG.md index d183de5d..d1e15378 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## [Unreleased] + +### Added + +- Support for side-loaded SRT (SubRip) subtitles + +### Changed + +- Update Bitmovin's native iOS SDK version to `3.55.0` + +### Fixed + +- Remove `patch-package` usage from released product + ## [0.16.0] (2024-01-17) ### Changed diff --git a/README.md b/README.md index fbf7d79d..d81df941 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ This is an open-source project created to enable customers to integrate the Bitmovin mobile Player SDKs into React Native projects. It has been created to provide customers with a starting point, which can be built upon through active collaboration and contributions. We look forward to seeing this library expand and grow. -[![Build](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci.yml/badge.svg)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci.yml) +[![CI (TypeScript)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci-typescript.yml/badge.svg)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci-typescript.yml) +[![CI (Android)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci-android.yml/badge.svg)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci-android.yml) +[![CI (iOS & tvOS)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci-ios-tvos.yml/badge.svg)](https://github.com/bitmovin/bitmovin-player-react-native/actions/workflows/ci-ios-tvos.yml) ![Platforms](https://img.shields.io/badge/platforms-iOS%20%7C%20tvOS%20%7C%20Android%20%7C%20Android%20TV-lightgrey.svg) [![MIT License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE) [![Bitmovin Community](https://img.shields.io/discourse/users?label=community&server=https%3A%2F%2Fcommunity.bitmovin.com)](https://community.bitmovin.com/?utm_source=github&utm_medium=bitmovin-player-react-native&utm_campaign=dev-community) diff --git a/RNBitmovinPlayer.podspec b/RNBitmovinPlayer.podspec index ff043ef5..35f2f0ef 100644 --- a/RNBitmovinPlayer.podspec +++ b/RNBitmovinPlayer.podspec @@ -19,7 +19,7 @@ Pod::Spec.new do |s| s.source_files = "ios/**/*.{h,m,mm,swift}" s.dependency "React-Core" - s.dependency "BitmovinPlayer", "3.54.0" + s.dependency "BitmovinPlayer", "3.55.0" s.ios.dependency "GoogleAds-IMA-iOS-SDK", "3.18.4" s.tvos.dependency "GoogleAds-IMA-tvOS-SDK", "4.8.2" end diff --git a/android/src/main/java/com/bitmovin/player/reactnative/converter/JsonConverter.kt b/android/src/main/java/com/bitmovin/player/reactnative/converter/JsonConverter.kt index ae4237a3..616c1041 100644 --- a/android/src/main/java/com/bitmovin/player/reactnative/converter/JsonConverter.kt +++ b/android/src/main/java/com/bitmovin/player/reactnative/converter/JsonConverter.kt @@ -530,7 +530,11 @@ fun ReadableMap.toSubtitleTrack(): SubtitleTrack? { /** * Converts any subtitle format name in its mime type representation. */ -private fun String.toSubtitleMimeType(): String = "text/$this" +private fun String.toSubtitleMimeType(): String = when (this) { + "srt" -> "application/x-subrip" + "ttml" -> "application/ttml+xml" + else -> "text/$this" +} /** * Converts any `SubtitleTrack` into its json representation. diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 725797a7..0d1d86a6 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,12 +1,12 @@ PODS: - - BitmovinAnalyticsCollector/BitmovinPlayer (3.4.0): + - BitmovinAnalyticsCollector/BitmovinPlayer (3.5.0): - BitmovinAnalyticsCollector/Core - BitmovinPlayerCore (~> 3.48) - - BitmovinAnalyticsCollector/Core (3.4.0) - - BitmovinPlayer (3.54.0): + - BitmovinAnalyticsCollector/Core (3.5.0) + - BitmovinPlayer (3.55.0): - BitmovinAnalyticsCollector/BitmovinPlayer (~> 3.0) - - BitmovinPlayerCore (= 3.54.0) - - BitmovinPlayerCore (3.54.0) + - BitmovinPlayerCore (= 3.55.0) + - BitmovinPlayerCore (3.55.0) - boost (1.76.0) - DoubleConversion (1.1.6) - FBLazyVector (0.72.6-1) @@ -424,7 +424,7 @@ PODS: - React-logger (= 0.72.6-1) - React-perflogger (= 0.72.6-1) - RNBitmovinPlayer (0.16.0): - - BitmovinPlayer (= 3.54.0) + - BitmovinPlayer (= 3.55.0) - GoogleAds-IMA-iOS-SDK (= 3.18.4) - GoogleAds-IMA-tvOS-SDK (= 4.8.2) - React-Core @@ -591,10 +591,10 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - BitmovinAnalyticsCollector: cd3a393e831fba539ea88a37ba164cca0c03f180 - BitmovinPlayer: 9d558199a0a8b7e93c978cad22c0a6b23f28720a - BitmovinPlayerCore: 601f922a42485833d2991f4d6ebfd494ea2a26af - boost: 0ed1b9a58a27b2f7885dc9f279bc3b341f44512b + BitmovinAnalyticsCollector: 8b9a4b07f1fa2a43996ba29598eab6f50a25edfe + BitmovinPlayer: 4c42de316c9f56552fcde5cf20701329f55cc0db + BitmovinPlayerCore: 6699939e9c37b6047c3afc224245f01c60089ead + boost: 43f331345fd5d44b60bf621e7e579ae7b8fda687 DoubleConversion: 234abba95e31cc2aada0cf3b97cdb11bc5b90575 FBLazyVector: 58c22987e2cd1eebb2e3bc9f7756d87b14c32d3c FBReactNativeSpec: 1e59b7675304d2b0fd3e9c208cb88b97143ff314 @@ -639,7 +639,7 @@ SPEC CHECKSUMS: React-runtimescheduler: acd6b708338a975a9bb4c594eac0f018f5c15fa3 React-utils: c1cf85c0cd58c11dfb95104a78c608e95d03eb9e ReactCommon: 1dabb8f37c44d8c7370238bd8f504cbad0cfd941 - RNBitmovinPlayer: af321b0df6e717e09408f4bf083d8132ea543d07 + RNBitmovinPlayer: 765aa1ba9d469e5be9c65fdd9f8f41a68ee40c53 RNCPicker: 529d564911e93598cc399b56cc0769ce3675f8c8 RNScreens: 4a1af06327774490d97342c00aee0c2bafb497b7 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 @@ -647,4 +647,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 9bcb40f1d3c1dd409afb56a91db20d32f4c8f9bd -COCOAPODS: 1.14.2 +COCOAPODS: 1.14.3 diff --git a/example/package.json b/example/package.json index 37dfd856..2618a0c0 100644 --- a/example/package.json +++ b/example/package.json @@ -9,8 +9,8 @@ "ios": "react-native run-ios", "start": "react-native start", "pods": "yarn pods-install || yarn pods-update", - "pods-install": "yarn pod-install", - "pods-update": "pod update --silent" + "pods-install": "NO_FLIPPER=1 yarn pod-install", + "pods-update": "NO_FLIPPER=1 pod update --silent" }, "dependencies": { "@react-native-picker/picker": "2.5.1", diff --git a/example/src/screens/SubtitlePlayback.tsx b/example/src/screens/SubtitlePlayback.tsx index bff9b0e8..21b5e654 100644 --- a/example/src/screens/SubtitlePlayback.tsx +++ b/example/src/screens/SubtitlePlayback.tsx @@ -34,13 +34,20 @@ export default function SubtitlePlayback() { poster: 'https://bitmovin-a.akamaihd.net/content/sintel/poster.png', // External subtitle tracks to be added to the source. subtitleTracks: [ - // Add custom english subtitles. You can select 'Custom English' in the subtitles menu. + // Add custom english subtitles. You can select 'Custom English (WebVTT)' in the subtitles menu. { url: 'https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.vtt', - label: 'Custom English', + label: 'Custom English (WebVTT)', language: 'en', format: SubtitleFormat.VTT, }, + // Add custom english subtitles. You can select 'Custom English (SRT)' in the subtitles menu. + { + url: 'https://bitdash-a.akamaihd.net/content/sintel/subtitles/subtitles_en.srt', + label: 'Custom English (SRT)', + language: 'en', + format: SubtitleFormat.SRT, + }, ], }); return () => { diff --git a/integration_test/ios/Podfile.lock b/integration_test/ios/Podfile.lock index ec37674f..8378ce51 100644 --- a/integration_test/ios/Podfile.lock +++ b/integration_test/ios/Podfile.lock @@ -1,12 +1,12 @@ PODS: - - BitmovinAnalyticsCollector/BitmovinPlayer (3.4.0): + - BitmovinAnalyticsCollector/BitmovinPlayer (3.5.0): - BitmovinAnalyticsCollector/Core - BitmovinPlayerCore (~> 3.48) - - BitmovinAnalyticsCollector/Core (3.4.0) - - BitmovinPlayer (3.54.0): + - BitmovinAnalyticsCollector/Core (3.5.0) + - BitmovinPlayer (3.55.0): - BitmovinAnalyticsCollector/BitmovinPlayer (~> 3.0) - - BitmovinPlayerCore (= 3.54.0) - - BitmovinPlayerCore (3.54.0) + - BitmovinPlayerCore (= 3.55.0) + - BitmovinPlayerCore (3.55.0) - boost (1.76.0) - DoubleConversion (1.1.6) - FBLazyVector (0.72.6-1) @@ -413,7 +413,7 @@ PODS: - React-logger (= 0.72.6-1) - React-perflogger (= 0.72.6-1) - RNBitmovinPlayer (0.16.0): - - BitmovinPlayer (= 3.54.0) + - BitmovinPlayer (= 3.55.0) - GoogleAds-IMA-iOS-SDK (= 3.18.4) - GoogleAds-IMA-tvOS-SDK (= 4.8.2) - React-Core @@ -559,10 +559,10 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: - BitmovinAnalyticsCollector: cd3a393e831fba539ea88a37ba164cca0c03f180 - BitmovinPlayer: 9d558199a0a8b7e93c978cad22c0a6b23f28720a - BitmovinPlayerCore: 601f922a42485833d2991f4d6ebfd494ea2a26af - boost: 0ed1b9a58a27b2f7885dc9f279bc3b341f44512b + BitmovinAnalyticsCollector: 8b9a4b07f1fa2a43996ba29598eab6f50a25edfe + BitmovinPlayer: 4c42de316c9f56552fcde5cf20701329f55cc0db + BitmovinPlayerCore: 6699939e9c37b6047c3afc224245f01c60089ead + boost: 43f331345fd5d44b60bf621e7e579ae7b8fda687 DoubleConversion: 234abba95e31cc2aada0cf3b97cdb11bc5b90575 FBLazyVector: 58c22987e2cd1eebb2e3bc9f7756d87b14c32d3c FBReactNativeSpec: 1e59b7675304d2b0fd3e9c208cb88b97143ff314 @@ -602,10 +602,10 @@ SPEC CHECKSUMS: React-runtimescheduler: acd6b708338a975a9bb4c594eac0f018f5c15fa3 React-utils: c1cf85c0cd58c11dfb95104a78c608e95d03eb9e ReactCommon: 1dabb8f37c44d8c7370238bd8f504cbad0cfd941 - RNBitmovinPlayer: af321b0df6e717e09408f4bf083d8132ea543d07 + RNBitmovinPlayer: 765aa1ba9d469e5be9c65fdd9f8f41a68ee40c53 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Yoga: f67f5769ce78049c5fe798bc735f04535c7bc1ac PODFILE CHECKSUM: d0a62a1438d35d60f8a37ab38f3c92b4125f720f -COCOAPODS: 1.14.2 +COCOAPODS: 1.14.3 diff --git a/integration_test/package.json b/integration_test/package.json index 474531bf..600bf5c0 100644 --- a/integration_test/package.json +++ b/integration_test/package.json @@ -14,8 +14,8 @@ "test:android": "yarn stop-test:android && yarn start-test:android", "test:ios": "yarn stop-test:ios && yarn start-test:ios", "pods": "yarn pods-install || yarn pods-update", - "pods-install": "yarn pod-install", - "pods-update": "pod update --silent" + "pods-install": "NO_FLIPPER=1 yarn pod-install", + "pods-update": "NO_FLIPPER=1 pod update --silent" }, "dependencies": { "cavy": "^4.0.2", diff --git a/ios/RCTConvert+BitmovinPlayer.swift b/ios/RCTConvert+BitmovinPlayer.swift index b2074293..a9da66f6 100644 --- a/ios/RCTConvert+BitmovinPlayer.swift +++ b/ios/RCTConvert+BitmovinPlayer.swift @@ -553,6 +553,8 @@ extension RCTConvert { return .webVtt case "ttml": return .ttml + case "srt": + return .srt default: return nil } @@ -582,6 +584,8 @@ extension RCTConvert { return "vtt" case .ttml: return "ttml" + case .srt: + return "srt" } }(), ] diff --git a/package.json b/package.json index d2dbcd1e..37d7e7a3 100644 --- a/package.json +++ b/package.json @@ -37,11 +37,10 @@ "integration-test": "yarn --cwd integration_test", "pods": "yarn example pods && yarn integration-test pods", "bootstrap": "yarn bootstrap:example && yarn bootstrap:integration-test", - "bootstrap:example": "yarn && patch-package && yarn example && yarn example pods && yarn brew", - "bootstrap:integration-test": "yarn && patch-package && yarn integration-test && yarn integration-test pods && yarn brew", + "bootstrap:example": "yarn && yarn example && yarn example pods && yarn brew", + "bootstrap:integration-test": "yarn && yarn integration-test && yarn integration-test pods && yarn brew", "brew": "[ \"$(uname)\" = \"Darwin\" ] && brew bundle install --no-lock", "prepare": "husky install", - "postinstall": "patch-package", "docs": "typedoc" }, "keywords": [ @@ -76,7 +75,6 @@ "lint-staged": "13.0.3", "metro-config": "0.72.3", "metro-react-native-babel-preset": "0.72.3", - "patch-package": "^8.0.0", "postinstall-postinstall": "^2.1.0", "prettier": "2.7.1", "react": "18.2.0", diff --git a/patches/react-native+0.72.6.patch b/patches/react-native+0.72.6.patch deleted file mode 100644 index 45dc5f23..00000000 --- a/patches/react-native+0.72.6.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/node_modules/react-native/third-party-podspecs/boost.podspec b/node_modules/react-native/third-party-podspecs/boost.podspec -index 3d9331c..2961ee4 100644 ---- a/node_modules/react-native/third-party-podspecs/boost.podspec -+++ b/node_modules/react-native/third-party-podspecs/boost.podspec -@@ -10,7 +10,9 @@ Pod::Spec.new do |spec| - spec.homepage = 'http://www.boost.org' - spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.' - spec.authors = 'Rene Rivera' -- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2', -+ # Patched due to issue https://github.com/boostorg/boost/issues/843 -+ # See also https://github.com/facebook/react-native/issues/42180 -+ spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2', - :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' } - - # Pinning to the same version as React.podspec. diff --git a/src/subtitleTrack.ts b/src/subtitleTrack.ts index 950f3987..fae9d57b 100644 --- a/src/subtitleTrack.ts +++ b/src/subtitleTrack.ts @@ -1,14 +1,33 @@ /** * Supported subtitle/caption file formats. + * @platform Android, iOS, tvOS */ export enum SubtitleFormat { + /** + * Closed Captioning (CEA) subtitle format. + * @platform Android, iOS, tvOS + */ CEA = 'cea', + /** + * Timed Text Markup Language (TTML) subtitle format. + * @platform Android, iOS, tvOS + */ TTML = 'ttml', + /** + * Web Video Text Tracks Format (WebVTT) subtitle format. + * @platform Android, iOS, tvOS + */ VTT = 'vtt', + /** + * SubRip (SRT) subtitle format. + * @platform Android, iOS, tvOS + */ + SRT = 'srt', } /** * Describes a subtitle track. + * @platform Android, iOS, tvOS */ export interface SubtitleTrack { /** @@ -47,7 +66,6 @@ export interface SubtitleTrack { /** * A subtitle track that can be added to `SourceConfig.subtitleTracks`. - * */ export interface SideLoadedSubtitleTrack extends SubtitleTrack { url: string; diff --git a/yarn.lock b/yarn.lock index 0e4b389a..95a2f7a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2447,11 +2447,6 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" @@ -2740,11 +2735,6 @@ asynciterator.prototype@^1.0.0: dependencies: has-symbols "^1.0.3" -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" @@ -3087,7 +3077,7 @@ ci-info@^2.0.0: resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.2.0, ci-info@^3.7.0: +ci-info@^3.2.0: version "3.9.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== @@ -4101,13 +4091,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" @@ -4176,16 +4159,6 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" @@ -4661,11 +4634,6 @@ is-directory@^0.3.1: resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" @@ -4844,13 +4812,6 @@ is-wsl@^1.1.0: resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - isarray@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" @@ -5514,16 +5475,6 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json-stable-stringify@^1.0.2: - version "1.1.0" - resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.0.tgz" - integrity sha512-zfA+5SuwYN2VWqN1/5HZaDzQKLJHaBVMZIIM+wuYjdptkaQsqzDdqjqf+lZZJUuJq1aanHiY8LhH8LmH+qBYJA== - dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" - json5@^2.1.1, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" @@ -5557,11 +5508,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" @@ -5589,13 +5535,6 @@ kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - klaw@^1.0.0: version "1.3.1" resolved "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" @@ -6421,7 +6360,7 @@ metro@0.76.8: ws "^7.5.1" yargs "^17.6.2" -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -6752,14 +6691,6 @@ open@^6.2.0: dependencies: is-wsl "^1.1.0" -open@^7.4.2: - version "7.4.2" - resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - optionator@^0.9.1: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -6787,7 +6718,7 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== @@ -6869,27 +6800,6 @@ parseurl@~1.3.3: resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -patch-package@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz" - integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^4.1.2" - ci-info "^3.7.0" - cross-spawn "^7.0.3" - find-yarn-workspace-root "^2.0.0" - fs-extra "^9.0.0" - json-stable-stringify "^1.0.2" - klaw-sync "^6.0.0" - minimist "^1.2.6" - open "^7.4.2" - rimraf "^2.6.3" - semver "^7.5.3" - slash "^2.0.0" - tmp "^0.0.33" - yaml "^2.2.2" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" @@ -7406,7 +7316,7 @@ rfdc@^1.3.0: resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== -rimraf@^2.5.4, rimraf@^2.6.3: +rimraf@^2.5.4: version "2.7.1" resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -7622,11 +7532,6 @@ sisteransi@^1.0.5: resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - slash@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" @@ -8060,13 +7965,6 @@ through2@^4.0.0: resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - tmpl@1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" @@ -8591,7 +8489,7 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^2.1.1, yaml@^2.2.1, yaml@^2.2.2: +yaml@^2.1.1, yaml@^2.2.1: version "2.3.4" resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==