code: function unlink(args, config) {
    const packageName = args[0];
  
    var project;
    var dependency;
  
    try {
      project = config.getProjectConfig();
    } catch (err) {
      log.error(
        'ERRPACKAGEJSON',
        'No package found. Are you sure it\'s a React Native project?'
      );
      return Promise.reject(err);
    }
  
    try {
      dependency = config.getDependencyConfig(packageName);
    } catch (err) {
      log.warn(
        'ERRINVALIDPROJ',
        `Project ${packageName} is not a react-native library`
      );
      return Promise.reject(err);
    }
  
    const allDependencies = getDependencyConfig(config, getProjectDependencies());
    const otherDependencies = filter(allDependencies, d => d.name !== packageName);
    const thisDependency = find(allDependencies, d => d.name === packageName);
    const iOSDependencies = compact(otherDependencies.map(d => d.config.ios));
  
    const tasks = [
      () => promisify(thisDependency.config.commands.preunlink || commandStub),
      () => unlinkDependencyAndroid(project.android, dependency, packageName),
      () => unlinkDependencyIOS(project.ios, dependency, packageName, iOSDependencies),
      () => promisify(thisDependency.config.commands.postunlink || commandStub)
    ];
  
    return promiseWaterfall(tasks)
      .then(() => {
        const assets = difference(
          dependency.assets,
          flatten(allDependencies, d => d.assets)
        );
  
        if (isEmpty(assets)) {
          return Promise.resolve();
        }
  
        if (project.ios) {
          log.info('Unlinking assets from ios project');
          unlinkAssetsIOS(assets, project.ios);
        }
  
        if (project.android) {
          log.info('Unlinking assets from android project');
          unlinkAssetsAndroid(assets, project.android.assetsPath);
        }
  
        log.info(
          `${packageName} assets has been successfully unlinked from your project`
        );
      })
      .catch(err => {
        log.error(
          `It seems something went wrong while unlinking. Error: ${err.message}`
        );
        throw err;
      });
  }
docs: Updates project and unlink specific dependency
  
  If optional argument [packageName] is provided, it's the only one
  that's checked