Skip to content

Commit

Permalink
feat: reuse packageContext as packageProgressData
Browse files Browse the repository at this point in the history
  • Loading branch information
medikoo committed Nov 14, 2018
1 parent 66a8f14 commit 49a1839
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 13 deletions.
3 changes: 1 addition & 2 deletions lib/private/cli/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ module.exports = async (command, packageName, inputOptions) => {
);
};
progressData.on("start", updateProgress);
progressData.on("end", ({ name: endedPackageName, progressData: packageProgressData }) => {
const { installationType } = packageProgressData;
progressData.on("end", ({ name: endedPackageName, installationType }) => {
log.notice(`${ logWordForms.past[installationType] } %s`, endedPackageName);
updateProgress();
});
Expand Down
20 changes: 9 additions & 11 deletions lib/private/install-package/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ const clear = require("es5-ext/array/#/clear")
, cleanupNpmInstall = require("../cleanup-npm-install")
, removeNonDirectDependencies = require("../remove-non-direct-dependencies");

const finalize = async ({ name }, progressData) => {
const finalize = async (packageContext, progressData) => {
const { name } = packageContext;
const { done, ongoing } = progressData;
const packageProgressData = ongoing.get(name);
log.debug("mark %s as done", name);
done.set(name, packageProgressData);
done.set(name, packageContext);
log.debug("remove %s from ongoing", name);
ongoing.delete(name);

// Run after jobs
const { installationHooks: { after: jobs } } = packageProgressData;
const { installationHooks: { after: jobs } } = packageContext;
if (jobs.length) {
log.info("run pending jobs of %s", name);
for (const job of jobs) await job();
clear.call(jobs);
}
progressData.emit("end", { name, progressData: packageProgressData });
progressData.emit("end", packageContext);
};

module.exports = async (packageContext, userConfiguration, inputOptions, progressData) => {
Expand All @@ -39,15 +39,13 @@ module.exports = async (packageContext, userConfiguration, inputOptions, progres
}
const meta = (packageContext.meta = packagesMeta[name]);
const path = (packageContext.path = resolve(packagesPath, name));
const packageProgressData = {
installationType: (await isDirectory(path)) ? "update" : "install",
installationHooks: { after: [] }
};
packageContext.installationType = (await isDirectory(path)) ? "update" : "install";
packageContext.installationHooks = { after: [] };

log.debug("mark %s as ongoing", name);
ongoing.set(name, packageProgressData);
ongoing.set(name, packageContext);

progressData.emit("start", { name, progressData: packageProgressData });
progressData.emit("start", packageContext);

// Ensure repository is up to date
await setupRepository(path, meta.repoUrl, inputOptions);
Expand Down

0 comments on commit 49a1839

Please sign in to comment.