
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-legal
or
npm i --save react-native-legal
yarn add -D license-kit
or
npm i --save-dev license-kit
yarn add -D @callstack/react-native-legal-shared
or
npm i --save-dev @callstack/react-native-legal-shared
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
- a shared package that exposes the core functionality of the license management tool, allowing customization of presentation logic in your Node.js scripts
- 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-generate
or
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.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
.
You can use the @callstack/react-native-legal-shared
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-legal
to yourapp.json
/app.config.js
plugins 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