mirror of
https://github.com/status-im/react-native.git
synced 2025-02-26 16:10:58 +00:00
Summary: Currently, when the cli tries to determine the package name, it accidentally trims out the entire package name. This makes it appear to the rest of the program as if `react-native link The controller you requested could not be found./my-package` was just `react-native link`. This adds a little regex to prevent that from happening, so that scopes can be passed as parts of packages. Fixes #18766 Pull Request resolved: https://github.com/facebook/react-native/pull/19828 Differential Revision: D8704742 Pulled By: hramos fbshipit-source-id: d8183f9b55e8656b8a0acae842e1361a1f428102
This commit is contained in:
parent
5219585ef9
commit
6d65e8b4ed
@ -106,9 +106,7 @@ const defaultRNConfig = {
|
||||
getDependencyConfig(packageName: string) {
|
||||
const platforms = this.getPlatformConfig();
|
||||
const folder = path.join(process.cwd(), 'node_modules', packageName);
|
||||
const rnpm = getRNPMConfig(
|
||||
path.join(process.cwd(), 'node_modules', packageName),
|
||||
);
|
||||
const rnpm = getRNPMConfig(folder);
|
||||
|
||||
let config = Object.assign({}, rnpm, {
|
||||
assets: findAssets(folder, rnpm.assets),
|
||||
|
@ -49,6 +49,20 @@ describe('link', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should accept the name of a dependency with a scope / tag', async () => {
|
||||
const config = {
|
||||
getPlatformConfig: () => ({ios: {}, android: {}}),
|
||||
getProjectConfig: () => ({assets: []}),
|
||||
getDependencyConfig: sinon.stub().returns({assets: [], commands: {}}),
|
||||
};
|
||||
|
||||
const link = require('../link').func;
|
||||
await link(['@scope/something@latest'], config);
|
||||
expect(
|
||||
config.getDependencyConfig.calledWith('@scope/something'),
|
||||
).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should register native module when android/ios projects are present', done => {
|
||||
const registerNativeModule = sinon.stub();
|
||||
const dependencyConfig = {android: {}, ios: {}, assets: [], commands: {}};
|
||||
|
@ -143,9 +143,9 @@ function link(args: Array<string>, config: RNConfig) {
|
||||
}
|
||||
|
||||
let packageName = args[0];
|
||||
// Check if install package by specific version (eg. package@latest)
|
||||
// Trim the version / tag out of the package name (eg. package@latest)
|
||||
if (packageName !== undefined) {
|
||||
packageName = packageName.split('@')[0];
|
||||
packageName = packageName.replace(/^(.+?)(@.+?)$/gi, '$1');
|
||||
}
|
||||
|
||||
const dependencies = getDependencyConfig(
|
||||
|
Loading…
x
Reference in New Issue
Block a user