logged scope now includes library and version
authorJustin Wind <justin.wind+git@gmail.com>
Tue, 27 Dec 2022 22:07:58 +0000 (14:07 -0800)
committerJustin Wind <justin.wind+git@gmail.com>
Tue, 27 Dec 2022 22:07:58 +0000 (14:07 -0800)
lib/common.js
test/lib/common.js

index f199b4947ed1ba537a29350c617322cf64678512..3bf7e55cc7e85a4cd050fd2708dc2726fa9f9d94 100644 (file)
@@ -1,17 +1,18 @@
 'use strict';
 
 const path = require('path');
+const { name: packageName, version: packageVersion } = require('../package');
+
+const libraryIdentifier = `${packageName}@${packageVersion}`;
 
 /**
  * Return a function which combines a part of the filename with a scope, for use in logging.
  * @param {string} filename
  */
 const fileScope = (filename) => {
-  let fScope = path.basename(filename, '.js');
-  if (fScope === 'index') {
-    fScope = path.basename(path.dirname(filename));
-  }
-  return (scope) => `${fScope}:${scope}`;
+  const shortFilename = path.basename(filename, '.js');
+  const fScope = (shortFilename === 'index') ? path.basename(path.dirname(filename)) : shortFilename;
+  return (scope) => [libraryIdentifier, fScope, scope].join(':');
 }
 
 
index 7ebc91b45b6cf81c47306b48a7cfc62c5ceffe78..20911c1d5d745eb0749df5dd69a58cbd173163f2 100644 (file)
@@ -9,12 +9,12 @@ describe('common', function () {
     it('names a file path', function () {
       const filename = 'lib/foo/bar.js';
       const result = common.fileScope(filename)('baz');
-      assert.strictEqual(result, 'bar:baz');
+      assert(result.endsWith(':bar:baz'));
     });
     it('names an index path', function () {
       const filename = 'lib/foo/index.js';
       const result = common.fileScope(filename)('baz');
-      assert.strictEqual(result, 'foo:baz');
+      assert(result.endsWith(':foo:baz'));
     });
   }); // fileScope