12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getAndroidProject = getAndroidProject;
- exports.getPackageName = getPackageName;
- function _cliTools() {
- const data = require("@react-native-community/cli-tools");
- _cliTools = function () {
- return data;
- };
- return data;
- }
- function _fs() {
- const data = _interopRequireDefault(require("fs"));
- _fs = function () {
- return data;
- };
- return data;
- }
- function _chalk() {
- const data = _interopRequireDefault(require("chalk"));
- _chalk = function () {
- return data;
- };
- return data;
- }
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- function getAndroidProject(config) {
- const androidProject = config.project.android;
- if (!androidProject) {
- throw new (_cliTools().CLIError)(`
- Android project not found. Are you sure this is a React Native project?
- If your Android files are located in a non-standard location (e.g. not inside \'android\' folder), consider setting
- \`project.android.sourceDir\` option to point to a new location.
- `);
- }
- return androidProject;
- }
- /**
- * Get the package name of the running React Native app
- * @param config
- */
- function getPackageName(androidProject, appFolder) {
- const {
- appName,
- manifestPath
- } = androidProject;
- const androidManifest = _fs().default.readFileSync(manifestPath, 'utf8');
- let packageNameMatchArray = androidManifest.match(/package="(.+?)"/);
- if (!packageNameMatchArray || packageNameMatchArray.length === 0) {
- throw new (_cliTools().CLIError)(`Failed to build the app: No package name found. Found errors in ${_chalk().default.underline.dim(`${appFolder || appName}/src/main/AndroidManifest.xml`)}`);
- }
- let packageName = packageNameMatchArray[1];
- if (!validatePackageName(packageName)) {
- _cliTools().logger.warn(`Invalid application's package name "${_chalk().default.bgRed(packageName)}" in 'AndroidManifest.xml'. Read guidelines for setting the package name here: ${_chalk().default.underline.dim('https://developer.android.com/studio/build/application-id')}`);
- }
- return packageName;
- } // Validates that the package name is correct
- function validatePackageName(packageName) {
- return /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/.test(packageName);
- }
- //# sourceMappingURL=getAndroidProject.js.map
|