React Native Legal - Automagically generate license acknowledgements for your React Native app π
Automagically generate license acknowledgements for your React Native app and any Node.js project π
| Android | iOS | AndroidTV | tvOS |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
You can find the full documentation for all packages in this repository at callstackincubator.github.io/react-native-legal.
yarn add react-native-legalor
npm i --save react-native-legalyarn add -D license-kitor
npm i --save-dev license-kityarn add -D @callstack/licensesor
npm i --save-dev @callstack/licensesThis 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)
- Add the config plugin to the
app.json/app.config.js
{
"expo": {
"plugins": [
+ "react-native-legal"
]
}
}- 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>
);
}- Invoke the CLI plugin from the root of your RN app
npx react-native legal-generateor
yarn react-native legal-generate- 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>
);
}You can use the license-kit CLI tool to generate license reports in your Node.js project. Here's how to do it:
- Run the CLI tool from the root of your Node.js project:
npx license-kit report --format markdown --output ./public/licenses.mdor
yarn license-kit report --format markdown --output ./public/licenses.mdThis 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.
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.
- β
You can use this library with Development Builds by adding
react-native-legalto yourapp.json/app.config.jsplugins array. - β This library can't be used in the "Expo Go" app because it requires custom native code.
See the contributing guide to learn how to contribute to the repository and the development workflow.
- AboutLibraries - collects and displays the license metadata for the Android app <3
- LicensePlist - generates license metadata for the iOS app <3
MIT



