Skip to content

Commit

Permalink
feat: put logs at hidden level, expose emitter
Browse files Browse the repository at this point in the history
  • Loading branch information
medikoo committed Nov 9, 2018
1 parent 4421dfb commit 0eca533
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 13 deletions.
21 changes: 11 additions & 10 deletions lib/install-package.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

const { resolve } = require("path")
, rmdir = require("fs2/rmdir")
, logger = require("log4").get("dev-package")
, log = require("log4").get("dev-package")
, ee = require("event-emitter")
, isPackageLinked = require("./is-package-linked")
, runProgram = require("./run-program")
, setupRepository = require("./setup-repository")
Expand All @@ -21,7 +22,7 @@ const setupDependencies = async (packageName, { packagesPath, packagesMeta, hook
);
dependencies.delete(packageName);

logger.notice("setup dependencies of %s", packageName);
log.info("setup dependencies of %s", packageName);
for (const dependencyName of dependencies) {
if (!done.has(dependencyName)) {
if (ongoingMap.has(dependencyName)) {
Expand All @@ -42,18 +43,18 @@ const setupDependencies = async (packageName, { packagesPath, packagesMeta, hook
if (dependencies.has(dependencyName)) continue;
try { await setupNpmLink(packagePath, dependencyName); }
catch (error) {
logger.error(
log.error(
`Could not link optional dependency %s, crashed with:\n${ error.stack }`,
dependencyName
);
}
}
};

module.exports = async (packageName, { packagesPath, packagesMeta, hooks }) => {
module.exports = ee(async (packageName, { packagesPath, packagesMeta, hooks }) => {
const packagePath = resolve(packagesPath, packageName);

logger.notice("setup package %s", packageName);
module.exports.emit("start", packageName);
const pendingJobs = [];
ongoingMap.set(packageName, pendingJobs);

Expand All @@ -72,10 +73,10 @@ module.exports = async (packageName, { packagesPath, packagesMeta, hooks }) => {

// Link package
if (!(await isPackageLinked(packageName))) {
logger.notice("link %s", packageName);
log.info("link %s", packageName);
await runProgram("npm", ["link"], {
cwd: packagePath,
logger: logger.levelRoot.get("npm:link")
logger: log.levelRoot.get("npm:link")
});
}

Expand All @@ -88,13 +89,13 @@ module.exports = async (packageName, { packagesPath, packagesMeta, hooks }) => {
}

// Done
logger.notice("done %s", packageName);
module.exports.emit("end", packageName);
done.add(packageName);
ongoingMap.delete(packageName);

// Run pending jobs
if (pendingJobs.length) {
logger.notice("run pending jobs of %s", packageName);
log.info("run pending jobs of %s", packageName);
for (const pendingJob of pendingJobs) await pendingJob();
}
};
});
2 changes: 1 addition & 1 deletion lib/setup-npm-link.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const { basename, resolve } = require("path")
module.exports = async (packagePath, dependencyName) => {
const dependencyLinkPath = resolve(packagePath, "node_modules", dependencyName);
if (await isSymbolicLink(dependencyLinkPath)) return;
log.notice("link %s in %s", dependencyName, basename(packagePath));
log.info("link %s in %s", dependencyName, basename(packagePath));
await rm(dependencyLinkPath, { loose: true });
await runProgram("npm", ["link", dependencyName], {
cwd: packagePath,
Expand Down
4 changes: 2 additions & 2 deletions lib/setup-repository.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ module.exports = async (repoPath, repoUrl) => {
if (stdout) throw new Error(`Repository ${ repoPath } is not clean:\n${ stdout }`);

// Update
log.notice("update repository %s", repoPath);
log.info("update repository %s", repoPath);
await runProgram("git", ["pull"], { cwd: repoPath, logger: log.levelRoot.get("git:pull") });
return;
}
log.notice("clone repository %s from %s", repoPath, repoUrl);
log.info("clone repository %s from %s", repoPath, repoUrl);
await runProgram("git", ["clone", repoUrl, repoPath], {
logger: log.levelRoot.get("git:clone")
});
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"cjs-module": "^1.4",
"cli-color": "^1.3",
"es5-ext": "^0.10.46",
"event-emitter": "^0.3.5",
"fs2": "^0.2.10",
"log4": "^3.0.1",
"log4-nodejs": "^2.3.1",
Expand Down

0 comments on commit 0eca533

Please sign in to comment.