mirror of
https://github.com/status-im/react-native.git
synced 2025-01-14 11:34:23 +00:00
Fixes #9168
Summary: Imports missing commit from the rnpm master. Closes https://github.com/facebook/react-native/pull/9179 Differential Revision: D3661909 fbshipit-source-id: 23ebd3b96f236ab140f91eb4ed9f456d7c925027
This commit is contained in:
parent
cb778aa543
commit
4fce8ea4f4
@ -8,13 +8,29 @@ const flatten = require('lodash').flatten;
|
||||
* @param {String} dependency Name of the dependency
|
||||
* @return {Boolean} If dependency is a rnpm plugin
|
||||
*/
|
||||
const isPlugin = (dependency) => dependency.indexOf('rnpm-plugin-') === 0;
|
||||
const isRNPMPlugin = (dependency) => dependency.indexOf('rnpm-plugin-') === 0;
|
||||
const isReactNativePlugin = (dependency) => dependency.indexOf('react-native-') === 0;
|
||||
|
||||
const readPackage = (folder) => {
|
||||
try {
|
||||
return require(path.join(folder, 'package.json'));
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
const findPluginsInReactNativePackage = (pjson) => {
|
||||
if (!pjson.rnpm || !pjson.rnpm.plugin) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return path.join(pjson.name, pjson.rnpm.plugin);
|
||||
};
|
||||
|
||||
const findPluginInFolder = (folder) => {
|
||||
var pjson;
|
||||
try {
|
||||
pjson = require(path.join(folder, 'package.json'));
|
||||
} catch (e) {
|
||||
const pjson = readPackage(folder);
|
||||
|
||||
if (!pjson) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@ -23,7 +39,22 @@ const findPluginInFolder = (folder) => {
|
||||
Object.keys(pjson.devDependencies || {})
|
||||
);
|
||||
|
||||
return deps.filter(isPlugin);
|
||||
return deps.reduce(
|
||||
(acc, pkg) => {
|
||||
if (isRNPMPlugin(pkg)) {
|
||||
return acc.concat(pkg);
|
||||
}
|
||||
if (isReactNativePlugin(pkg)) {
|
||||
const pkgJson = readPackage(path.join(folder, 'node_modules', pkg));
|
||||
if (!pkgJson) {
|
||||
return acc;
|
||||
}
|
||||
return acc.concat(findPluginsInReactNativePackage(pkgJson));
|
||||
}
|
||||
return acc;
|
||||
},
|
||||
[]
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user