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

react-native-legal

v1.6.0

Published

Acknowledge OSS libraries used in your React Native app

Readme


Release Deploy Docs Integration tests - License Kit (Node) Unit tests - @callstack/licenses E2E tests - Android E2E tests - iOS

Automagically generate license acknowledgements for your React Native app and any Node.js project 🚀

| Android | iOS | AndroidTV | tvOS | | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | Android example | iOS example | AndroidTV example | tvOS example |

Documentation

You can find the full documentation for all packages in this repository at callstackincubator.github.io/react-native-legal.

Installation

React Native

yarn add react-native-legal

or

npm i --save react-native-legal

Standalone CLI

yarn add -D license-kit

or

npm i --save-dev license-kit

Node.js - API

yarn add -D @callstack/licenses

or

npm i --save-dev @callstack/licenses

Usage

This tool is split into 4 parts:

  • a React Native library that lets you display native screen with a list of all dependencies and their licenses
  • an Expo config plugin (for Expo projects) and a custom community cli plugin (for bare RN projects)
  • a standalone CLI tool that can be used in any Node.js project to generate license metadata (license-kit)
  • a shared package that exposes the core functionality of the license management tool, allowing customization of presentation logic in your Node.js scripts (@callstack/licenses)

I want to generate licenses in my Expo project

  1. Add the config plugin to the app.json/app.config.js
{
  "expo": {
    "plugins": [
+      "react-native-legal"
    ]
  }
}
  1. Use the library in the codebase
import * as React from 'react';
import { Button, View } from 'react-native';
import { ReactNativeLegal } from 'react-native-legal';

function launchNotice() {
  ReactNativeLegal.launchLicenseListScreen('OSS Notice');
}

function MyComponent() {
  return (
    <View>
      <Button onPress={launchNotice} text="Open source licenses" />
    </View>
  );
}
  1. Use Prebuild or EAS to build the app

I want to generate licenses reports in my bare RN project

  1. Invoke the CLI plugin from the root of your RN app
npx react-native legal-generate

or

yarn react-native legal-generate
  1. Use the library in the codebase
import * as React from 'react';
import { Button, View } from 'react-native';
import { ReactNativeLegal } from 'react-native-legal';

function launchNotice() {
  ReactNativeLegal.launchLicenseListScreen('OSS Notice');
}

function MyComponent() {
  return (
    <View>
      <Button onPress={launchNotice} text="Open source licenses" />
    </View>
  );
}

I want to generate licenses reports in my Node.js project

You can use the license-kit CLI tool to generate license reports in your Node.js project. Here's how to do it:

  1. Run the CLI tool from the root of your Node.js project:
npx license-kit report --format markdown --output ./public/licenses.md

or

yarn license-kit report --format markdown --output ./public/licenses.md

This will scan your project's dependencies and generate a license report in the specified format (JSON, Markdown, raw text, or AboutLibraries-compatible JSON metadata).

For a list of supported flags and the default values, run npx license-kit --help or read them documented in the package's README. To read more about a specific command, run npx license-kit <command> --help, e.g. npx license-kit report --help.

I want to customize the presentation of the licenses in my JS/TS project

You can use the @callstack/licenses package to access the core functionalities of the license management tool. To do so, please read the programmatic usage documentation.

Expo

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Acknowledgements

  • AboutLibraries - collects and displays the license metadata for the Android app <3
  • LicensePlist - generates license metadata for the iOS app <3

License

MIT