Skip to content

Commit

Permalink
feat: improve logging
Browse files Browse the repository at this point in the history
  • Loading branch information
medikoo committed Oct 24, 2018
1 parent 3b053f8 commit 2acf1c3
Showing 1 changed file with 21 additions and 11 deletions.
32 changes: 21 additions & 11 deletions lib/install-package.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const setupDependencies = async (packageName, configuration) => {
);
dependencies.delete(packageName);

log.info("setup dependencies of %s", packageName);
log.info("for %s setup dependencies %o", packageName, dependencies);
for (const dependencyName of dependencies) {
await setupDependency(packagePath, dependencyName, configuration);
}
Expand Down Expand Up @@ -112,6 +112,22 @@ const cleanNonDirectDependencies = async (
);
};

const finalize = async packageName => {
log.debug("mark %s as done", packageName);
done.add(packageName);

const pendingJobs = ongoingMap.get(packageName);
log.debug("remove %s from ongoing", packageName);
ongoingMap.delete(packageName);

// Run pending jobs
if (pendingJobs.length) {
log.info("run pending jobs of %s", packageName);
for (const pendingJob of pendingJobs) await pendingJob();
}
module.exports.emit("end", { packageName });
};

module.exports = ee(async (packageName, configuration) => {
const { hooks, packagesPath, packagesMeta } = configuration;
const packagePath = resolve(packagesPath, packageName);
Expand All @@ -122,6 +138,7 @@ module.exports = ee(async (packageName, configuration) => {
});

const pendingJobs = [];
log.debug("mark %s as ongoing", packageName);
ongoingMap.set(packageName, pendingJobs);

// Setup repository
Expand All @@ -144,16 +161,9 @@ module.exports = ee(async (packageName, configuration) => {
});
}

// Remove any unexpected dependencies from node_modules
await cleanNonDirectDependencies(packageName, packagePath, dependencies, configuration);

// Done
done.add(packageName);
ongoingMap.delete(packageName);

// Run pending jobs
if (pendingJobs.length) {
log.info("run pending jobs of %s", packageName);
for (const pendingJob of pendingJobs) await pendingJob();
}
module.exports.emit("end", { packageName });
// Notify and cleanup
return finalize(packageName);
});

0 comments on commit 2acf1c3

Please sign in to comment.