age_yubikey_pgp 0.0.10 copy "age_yubikey_pgp: ^0.0.10" to clipboard
age_yubikey_pgp: ^0.0.10 copied to clipboard

Age Encryption Yubikey PGP plugin

0
likes
65/ 140
pub points
0%
popularity

We analyzed this package 3 days ago, and awarded it 65 pub points (of a possible 140):

failed
Follow Dart file conventions
15 / 30trigger folding of the section

0/10 points: Provide a valid pubspec.yaml

The package description is too short.

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.

0/5 points: Provide a valid README.md

Links in `README.md` should be secure. 1 link is insecure.

README.md:2:21

  ╷
2 │ <p>Proof of concept <a href="http://age-encryption.org/">age</a> plugin that uses the PGP application on a Yubikey to encrypt/decrypt files using x25519.</p>
  │                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵

Use https URLs instead.

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: BSD-3-Clause.

partial
Provide documentation
10 / 20trigger folding of the section

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

0 out of 32 API elements (0.0 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

Some symbols that are missing documentation: age_yubikey_pgp, age_yubikey_pgp.YubikeyPgpRsaAgePlugin, age_yubikey_pgp.YubikeyPgpRsaAgePlugin.YubikeyPgpRsaAgePlugin, age_yubikey_pgp.YubikeyPgpRsaAgePlugin.createPassphraseStanza, age_yubikey_pgp.YubikeyPgpRsaAgePlugin.createStanza.

10/10 points: Package has an example

OK
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 not compatible with platform Web

Because:

  • package:age_yubikey_pgp/age_yubikey_pgp.dart that imports:
  • package:age_yubikey_pgp/src/rsa/stanza.dart that imports:
  • package:yubikit_openpgp/yubikit_openpgp.dart that imports:
  • package:yubikit_openpgp/smartcard/interface.dart that imports:
  • dart:io
failed
Pass static analysis
0 / 50trigger folding of the section

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

ERROR: 'YubikeyPgpRsaAgePlugin.createPassphraseStanza' ('Future

lib/src/rsa/plugin.dart:41:22

   ╷
41 │   Future<AgeStanza?> createPassphraseStanza(
   │                      ^^^^^^^^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/rsa/plugin.dart

ERROR: 'YubikeyPgpX25519AgePlugin.createPassphraseStanza' ('Future

lib/src/x25519/plugin.dart:58:22

   ╷
58 │   Future<AgeStanza?> createPassphraseStanza(
   │                      ^^^^^^^^^^^^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/x25519/plugin.dart

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

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

Package Constraint Compatible Latest
args ^2.3.1 2.5.0 2.5.0
collection ^1.16.0 1.18.0 1.18.0
convert ^3.0.2 3.1.1 3.1.1
cryptography ^2.0.5 2.7.0 2.7.0
dage ^1.0.6 1.0.10 1.0.10
logging ^1.0.2 1.2.0 1.2.0
pointycastle ^3.6.0 3.9.0 3.9.0
yubikit_openpgp ^1.0.12 1.0.20 1.0.20
Transitive dependencies
Package Constraint Compatible Latest
async - 2.11.0 2.11.0
bech32 - 0.2.2 0.2.2
crypto - 3.0.3 3.0.3
ffi - 2.1.2 2.1.2
js - 0.6.7 0.7.1
jwk - 0.1.1 0.2.3
meta - 1.14.0 1.14.0
petitparser - 5.4.0 6.0.2
typed_data - 1.3.2 1.3.2

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

Analyzed with Pana 0.22.3, Dart 3.3.4.

Check the analysis log for details.