youtube_shorts 4.0.2 copy "youtube_shorts: ^4.0.2" to clipboard
youtube_shorts: ^4.0.2 copied to clipboard

A vertical youtube shorts player. Show youtube shorts videos by a list of urls or the target channel name.

24
likes
140/ 160
pub points
84%
popularity

We analyzed this package 9 hours ago, and awarded it 140 pub points (of a possible 160):

partial
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

Issue tracker URL doesn't exist.

At the time of the analysis https://github.com/igormidev/youtube_shorts/issues was unreachable. Make sure that the website is reachable via HEAD requests.

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: MIT.

OK
Provide documentation
20 / 20trigger folding of the section

10/10 points: 20% or more of the public API has dartdoc comments

593 out of 1074 API elements (55.2 %) have documentation comments.

Some symbols that are missing documentation: audio_only_stream_info, audio_only_stream_info.AudioOnlyStreamInfo.AudioOnlyStreamInfo.fromJson, audio_only_stream_info.AudioOnlyStreamInfo.audioCodec, audio_stream_info, audio_stream_info.AudioStreamInfo.audioCodec.

10/10 points: Package has an example and has no issues with screenshots

failed
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package does not support platform `Web`.

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/media_kit_video_controls/media_kit_video_controls.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/methods/fullscreen.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/widgets/video_controls_theme_data_injector.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/material.dart that imports:
  • package:screen_brightness/screen_brightness.dart that declares support for platforms: Android, iOS, Windows, macOS.

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`.

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/src/video/video.dart that imports:
  • package:media_kit_video/src/video/video_texture.dart that imports:
  • package:media_kit_video/src/utils/wakelock.dart that imports:
  • package:wakelock_plus/wakelock_plus.dart that imports:
  • package:wakelock_plus/src/wakelock_plus_io_plugin.dart that imports:
  • package:wakelock_plus/src/wakelock_plus_windows_plugin.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `iOS`.

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/src/video/video.dart that imports:
  • package:media_kit_video/src/video/video_texture.dart that imports:
  • package:media_kit_video/src/utils/wakelock.dart that imports:
  • package:wakelock_plus/wakelock_plus.dart that imports:
  • package:wakelock_plus/src/wakelock_plus_io_plugin.dart that imports:
  • package:wakelock_plus/src/wakelock_plus_windows_plugin.dart that imports:
  • package:win32/win32.dart that declares support for platforms: Windows.
Package does not support platform `Windows`.

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/media_kit_video_controls/media_kit_video_controls.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/methods/fullscreen.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/widgets/video_controls_theme_data_injector.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/material.dart that imports:
  • package:volume_controller/volume_controller.dart that declares support for platforms: Android, iOS.
Package does not support platform `Linux`.

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/media_kit_video_controls/media_kit_video_controls.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/methods/fullscreen.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/widgets/video_controls_theme_data_injector.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/material.dart that imports:
  • package:screen_brightness/screen_brightness.dart that declares support for platforms: Android, iOS, Windows, macOS.
Package does not support platform `macOS`.

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/media_kit_video_controls/media_kit_video_controls.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/methods/fullscreen.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/widgets/video_controls_theme_data_injector.dart that imports:
  • package:media_kit_video/media_kit_video_controls/src/controls/material.dart that imports:
  • package:volume_controller/volume_controller.dart that declares support for platforms: Android, iOS.

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:youtube_shorts/youtube_shorts.dart that imports:
  • package:media_kit_video/media_kit_video.dart that imports:
  • package:media_kit_video/src/video/video.dart that imports:
  • package:media_kit_video/src/video/video_texture.dart that imports:
  • package:media_kit_video/src/video_controller/platform_video_controller.dart that imports:
  • package:media_kit_video/src/video_controller/video_controller.dart that imports:
  • package:media_kit_video/src/video_controller/web_video_controller/web_video_controller.dart that imports:
  • package:media_kit_video/src/video_controller/web_video_controller/stub.dart that imports:
  • package:media_kit/media_kit.dart that imports:
  • package:media_kit/src/player/web/player/player.dart that imports:
  • package:media_kit/src/player/web/player/stub.dart that imports:
  • package:media_kit/src/player/platform_player.dart that imports:
  • package:media_kit/src/models/player_stream.dart that imports:
  • package:media_kit/src/models/playlist.dart that imports:
  • package:media_kit/src/models/media/media.dart that imports:
  • package:media_kit/src/models/media/media_native.dart that imports:
  • package:media_kit/src/player/native/utils/android_content_uri_provider.dart that imports:
  • package:media_kit/src/player/native/utils/isolates.dart that imports:
  • dart:isolate

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

failed
Pass static analysis
30 / 50trigger folding of the section

30/50 points: code has no errors, warnings, lints, or formatting issues

Found 45 issues. Showing the first 2:

WARNING: The parameter type of '==' operators should be non-nullable.

lib/youtube_explode_fork/src/channels/channel.freezed.dart:197:17

    ╷
197 │   bool operator ==(dynamic other) {
    │                 ^^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/youtube_explode_fork/src/channels/channel.freezed.dart

WARNING: The parameter type of '==' operators should be non-nullable.

lib/youtube_explode_fork/src/channels/channel_about.freezed.dart:249:17

    ╷
249 │   bool operator ==(dynamic other) {
    │                 ^^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/youtube_explode_fork/src/channels/channel_about.freezed.dart

OK
Support up-to-date dependencies
40 / 40trigger folding of the section

10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
collection ^1.18.0 1.18.0 1.19.0
dart_debouncer ^1.0.0 1.1.0 1.1.0
easy_isolate_mixin ^1.0.1 1.0.1 1.0.1
enchanted_collection ^1.2.0 1.3.0 1.3.0
flutter flutter 0.0.0 0.0.0
freezed_annotation ^2.2.0 2.4.4 2.4.4
html ^0.15.4 0.15.4 0.15.4
http ^1.0.0 1.2.2 1.2.2
http_parser ^4.0.0 4.0.2 4.1.0
json_annotation ^4.5.0 4.9.0 4.9.0
media_kit ^1.1.10 1.1.11 1.1.11
media_kit_libs_video ^1.0.4 1.0.5 1.0.5
media_kit_video ^1.2.4 1.2.5 1.2.5
meta ^1.7.0 1.15.0 1.16.0
synchronized ^3.1.0 3.3.0+2 3.3.0+2
xml ^6.1.0 6.5.0 6.5.0
Transitive dependencies
Package Constraint Compatible Latest
archive - 3.6.1 3.6.1
args - 2.5.0 2.5.0
async - 2.11.0 2.11.0
characters - 1.3.0 1.3.0
clock - 1.1.1 1.1.1
crypto - 3.0.5 3.0.5
csslib - 1.0.0 1.0.0
dbus - 0.7.10 0.7.10
ffi - 2.1.3 2.1.3
fixnum - 1.1.0 1.1.0
flutter_web_plugins - 0.0.0 0.0.0
image - 4.2.0 4.2.0
js - 0.6.7 0.7.1
material_color_utilities - 0.11.1 0.12.0
media_kit_libs_android_video - 1.3.6 1.3.6
media_kit_libs_ios_video - 1.1.4 1.1.4
media_kit_libs_linux - 1.1.3 1.1.3
media_kit_libs_macos_video - 1.1.4 1.1.4
media_kit_libs_windows_video - 1.0.10 1.0.10
media_kit_native_event_loop - 1.0.9 1.0.9
package_info_plus - 8.0.2 8.0.2
package_info_plus_platform_interface - 3.0.1 3.0.1
path - 1.9.0 1.9.0
petitparser - 6.0.2 6.0.2
plugin_platform_interface - 2.1.8 2.1.8
safe_local_storage - 1.0.2 2.0.1
screen_brightness - 0.2.2+1 1.0.1
screen_brightness_android - 0.1.0+2 1.0.1
screen_brightness_ios - 0.1.0 1.0.1
screen_brightness_macos - 0.1.0+1 1.0.1
screen_brightness_platform_interface - 0.1.0 1.0.1
screen_brightness_windows - 0.1.3 1.0.1
sky_engine - 0.0.99 0.0.99
source_span - 1.10.0 1.10.0
sprintf - 7.0.0 7.0.0
string_scanner - 1.3.0 1.3.0
term_glyph - 1.2.1 1.2.1
typed_data - 1.3.2 1.3.2
universal_platform - 1.1.0 1.1.0
uri_parser - 2.0.2 3.0.0
uuid - 4.5.0 4.5.0
vector_math - 2.1.4 2.1.4
volume_controller - 2.0.8 2.0.8
wakelock_plus - 1.2.8 1.2.8
wakelock_plus_platform_interface - 1.2.1 1.2.1
web - 1.1.0 1.1.0
win32 - 5.5.4 5.5.4

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

10/10 points: Package supports latest stable Dart and Flutter SDKs

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.12, Flutter 3.24.2, Dart 3.5.2.

Check the analysis log for details.