react-native-legal
Version:
Acknowledge OSS libraries used in your React Native app
31 lines (30 loc) • 1.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.withAndroidLegal = void 0;
const path_1 = __importDefault(require("path"));
const config_plugins_1 = require("expo/config-plugins");
const common_1 = require("../../../plugin-utils/build/common");
const addListActivity_1 = require("./addListActivity");
const applyAndConfigureAboutLibrariesPlugin_1 = require("./applyAndConfigureAboutLibrariesPlugin");
const declareAboutLibrariesPlugin_1 = require("./declareAboutLibrariesPlugin");
/**
* Implementation of config plugin for Android setup
*
* It scans the NPM dependencies, generates AboutLibraries-compatible metadata,
* installs & configures AboutLibraries Gradle plugin and adds Android Activity with a list of dependencies and their licenses
*/
const withAndroidLegal = (config) => {
(0, config_plugins_1.withAndroidManifest)(config, async (exportedConfig) => {
const licenses = (0, common_1.scanDependencies)(path_1.default.join(exportedConfig.modRequest.projectRoot, 'package.json'));
(0, common_1.generateAboutLibrariesNPMOutput)(licenses, exportedConfig.modRequest.platformProjectRoot);
return exportedConfig;
});
config = (0, declareAboutLibrariesPlugin_1.declareAboutLibrariesPlugin)(config);
config = (0, applyAndConfigureAboutLibrariesPlugin_1.applyAndConfigureAboutLibrariesPlugin)(config);
config = (0, addListActivity_1.addListActivity)(config);
return config;
};
exports.withAndroidLegal = withAndroidLegal;