Skip to content

Commit

Permalink
feat: Improve install in context of maintained
Browse files Browse the repository at this point in the history
Proceed with full package install if in context of maintaned package
  • Loading branch information
medikoo committed Nov 13, 2018
1 parent 9df9f1a commit a2ea872
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions lib/private/install.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,36 @@
"use strict";

const wait = require("timers-ext/promise/sleep")
const { resolve } = require("path")
, wait = require("timers-ext/promise/sleep")
, cleanupNpmInstall = require("./cleanup-npm-install")
, getPackageJson = require("./get-package-json")
, removeNonDirectDependencies = require("./remove-non-direct-dependencies")
, setupDependencies = require("./setup-dependencies");
, installPackage = require("./install-package");

module.exports = async (packageContext, userConfiguration, inputOptions, progressData) => {
const { path } = packageContext;
const { hooks } = userConfiguration;
const { hooks, packagesMeta, packagesPath } = userConfiguration;
const packageJson = (packageContext.packageJson = getPackageJson(path));
if (!packageJson) return;
const name = (packageContext.name = packageJson.name);

if (packagesMeta[name] && resolve(packagesPath, name) === path) {
await installPackage(packageContext, userConfiguration, inputOptions, progressData);
return;
}

// Ensure to emit "start" event in next event loop
await wait();

progressData.emit("start", { name, type: "update" });

// Cleanup outcome of eventual previous npm crashes
await cleanupNpmInstall(packageContext);

await setupDependencies(packageContext, userConfiguration, inputOptions, progressData);
// Cyclic module dependency, hence required on spot
await require("./setup-dependencies")(
packageContext, userConfiguration, inputOptions, progressData
);

if (hooks.afterPackageInstall) {
await hooks.afterPackageInstall(packageContext, userConfiguration, inputOptions);
Expand Down

0 comments on commit a2ea872

Please sign in to comment.