npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@fingerprintjs/semantic-release-native-dependency-plugin

v1.2.2

Published

semantic-release plugin to generate native dependency version information

Readme

Semantic Release Plugin: Native Dependency Version Retriever

Note This repository isn’t part of our core product.

Overview

This plugin retrieves native dependency version information from iOS and/or Android projects and integrates it into the semantic release workflow generate notes steps.

  • Extracts dependency versions from podspec file (iOS) and/or Gradle task output (Android)
  • Ensures version consistency in release notes
  • Automates version retrieval for better release documentation

Installation

pnpm add -D @fingerprintjs/semantic-release-native-dependency-plugin

Usage

Add the plugin to your .releaserc configuration:

{
  "plugins": [
    ...,
    [
      "@fingerprintjs/semantic-release-native-dependency-plugin",
      {
        "heading": "Supported Native SDK Version Range",
        "platforms": {
          "iOS": {
            "podSpecPath": "RNFingerprintjsPro.podspec.json",
            "dependencyName": "FingerprintPro",
            "displayName": "Fingerprint iOS SDK"
          },
          "android": {
            "path": "android",
            "gradleTaskName": "printFingerprintNativeSDKVersion",
            "displayName": "Fingerprint Android SDK"
          }
        }
      }
    ]
  ]
}

Plugin Configuration Reference

| Key | Type | Default | Description | |------------------------------------|----------|-----------------------|------------------------------------------------------------------------------| | heading | string | Native Dependencies | Optional h3 heading shown before listing platform specific version ranges. | | platforms | object | | Top-level object defining configuration for each platform. | | platforms.iOS | object | | Configuration for the iOS dependency version resolution. | | platforms.iOS.podSpecPath | string | | Path to the PODSPEC file containing iOS dependency metadata. | | platforms.iOS.dependencyName | string | | Name of the dependency to extract the version. | | platforms.iOS.displayName | string | iOS | Name for the iOS dependency shown in release notes. | | platforms.android | object | | Configuration for the Android dependency version resolution. | | platforms.android.path | string | | Relative path to the Android project directory which contains build.gradle. | | platforms.android.gradleTaskName|string| | Name of the custom Gradle task that outputs the dependency version. | |platforms.android.displayName |string|android` | Name for the Android dependency shown in release notes. |

Note: You can configure one or both platforms depending on your project needs. At least one platform (iOS or android) must be configured. The plugin will throw an error if both are omitted.

How It Works

  • The plugin reads version information from podspec file (iOS) and/or a custom Gradle task output (Android).
  • It automatically includes the extracted versions in the release notes.
  • Helps maintain transparency about dependency versions used in each release.

Example generated release notes:

## 3.4.0 (https://github.com/.../compare/v3.3.1...v3.4.0) (2025-04-10)

### Features

* example feat release ([018455b](https://github.com/.../commit/...))

### Supported Native SDK Version Range

* Fingerprint Android SDK Version Range: `>= 2.7.0 and < 3.0.0`
* Fingerprint iOS SDK Version Range: `>= 2.7.0 and < 3.0.0`

Requirements

  • Node.js 20.8.1 or higher
  • Semantic Release configured in your project

Contribution & Development

We welcome contributions! To get started with development:

Development Environment

  • Node.js 20.8.1 or higher required
  • Uses pnpm as the package manager
  • Code follows ESLint and Prettier configurations
  • Uses Husky and Lint-Staged for pre-commit checks
  • Jest for testing
  • Commitizen for conventional commits

Setup

  1. Clone the repository
    git clone https://github.com/fingerprintjs/semantic-release-native-dependency-plugin.git
    cd semantic-release-native-dependency-plugin
  2. Install dependencies
    pnpm install
  3. Integrate git hooks
    pnpm prepare

Development Workflow

  • Start development mode with live rebuilds:
    pnpm start
    or build the project manually:
    pnpm build
  • Run tests:
    pnpm test
    pnpm test:coverage # run tests with coverage report
  • Lint and format code:
    pnpm lint
    pnpm lint:fix # auto fix issues
  • Run type checks:
    pnpm typecheck
  • Generate documentation:
    pnpm docs

License

MIT