function installAllPackages()

in packages/ts2kt-automator/index.js [34:67]


function installAllPackages() {
  console.log(
    'We\'ll download every package from "dependencies" in package.json which is not downloaded yet.'
  );
  const dependencies = lib.getPackageDependencies();

  Object.keys(dependencies)
    .reduce((promise, packageName) => {
      const [name] = packageName.split('@');
      const packageDest = `${dest}/${name}`;

      if (fs.existsSync(packageDest)) {
        console.log(
          `Path "${packageDest}" already exists and will not be overridden.`
        );
        return promise;
      }

      return promise
        .then(() => installOnePackage(name, dest))
        .catch((err) => {
          try {
            fs.unlinkSync(packageDest);
          } catch (err) {
            console.error('Cannot clear folder after error', packageDest, err);
          }
          console.error(err);
        });
    }, Promise.resolve())
    .catch((err) => {
      console.error(err);
      process.exit(1);
    });
}