@containerbase/base 14.57.3 → 14.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -156,6 +156,20 @@ import { logger } from './logger.ts';
156
156
  configure({ logger });
157
157
  ```
158
158
 
159
+ `getLogger()` returns the configured logger, so a package building on `@containerbase/base` can log to the same one.
160
+ `isConfigured()` tells whether a logger was set, so that package can configure a fallback when nobody did:
161
+
162
+ ```ts
163
+ import { configure, getLogger, isConfigured } from '@containerbase/base';
164
+ import { fallbackLogger } from './logger.ts';
165
+
166
+ if (!isConfigured()) {
167
+ configure({ logger: fallbackLogger });
168
+ }
169
+
170
+ getLogger().debug({ tool: 'node' }, 'resolving');
171
+ ```
172
+
159
173
  ## Contents
160
174
 
161
175
  Each entry may carry the following metadata:
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export type { Arch, DistroCode, InstallToolType, ToolMetadata, ToolType, } from
4
4
  export type { FileIntegrity, FileReference, FormatIndex, ReleaseInfo, ToolFile, ToolIndex, ToolVersion, ToolVersions, VersionFiles, VersionIntegrity, } from './tool-versions-types.ts';
5
5
  export { containerbaseVersionFile, isCompatibleVersion, isContainerbase, packageVersion, toolVersionsPath, validateContainerbaseVersion, } from './containerbase.ts';
6
6
  export type { ConfigureOptions, LogFn, Logger } from './logger.ts';
7
- export { configure } from './logger.ts';
7
+ export { configure, getLogger, isConfigured } from './logger.ts';
8
8
  export { filterByMinCb, minCbByVersion } from './min-cb.ts';
9
9
  export { isReleaseVersion } from './release-version.ts';
10
10
  export { isToolVersionsFormat, toolVersionsFormat, toolVersionsFormatPath, } from './tool-versions-format.ts';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { tools } from "./data.js";
2
2
  export { containerbaseVersionFile, isCompatibleVersion, isContainerbase, packageVersion, toolVersionsPath, validateContainerbaseVersion, } from "./containerbase.js";
3
- export { configure } from "./logger.js";
3
+ export { configure, getLogger, isConfigured } from "./logger.js";
4
4
  export { filterByMinCb, minCbByVersion } from "./min-cb.js";
5
5
  export { isReleaseVersion } from "./release-version.js";
6
6
  export { isToolVersionsFormat, toolVersionsFormat, toolVersionsFormatPath, } from "./tool-versions-format.js";
package/dist/logger.d.ts CHANGED
@@ -28,3 +28,8 @@ export interface ConfigureOptions {
28
28
  export declare function configure(options?: ConfigureOptions): void;
29
29
  /** The logger set by `configure`, a silent one by default. */
30
30
  export declare function getLogger(): Logger;
31
+ /**
32
+ * Whether `configure` has set a logger, so a package building on this one can
33
+ * configure a fallback logger itself when nobody else did.
34
+ */
35
+ export declare function isConfigured(): boolean;
package/dist/logger.js CHANGED
@@ -9,6 +9,7 @@ const silentLogger = {
9
9
  error: noop,
10
10
  };
11
11
  let current = silentLogger;
12
+ let configured = false;
12
13
  /**
13
14
  * Configures the package, eg. sets the logger its functions log to. Options
14
15
  * which are left out are reset to their defaults.
@@ -17,8 +18,16 @@ let current = silentLogger;
17
18
  */
18
19
  export function configure(options = {}) {
19
20
  current = options.logger ?? silentLogger;
21
+ configured = options.logger !== undefined;
20
22
  }
21
23
  /** The logger set by `configure`, a silent one by default. */
22
24
  export function getLogger() {
23
25
  return current;
24
26
  }
27
+ /**
28
+ * Whether `configure` has set a logger, so a package building on this one can
29
+ * configure a fallback logger itself when nobody else did.
30
+ */
31
+ export function isConfigured() {
32
+ return configured;
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@containerbase/base",
3
- "version": "14.57.3",
3
+ "version": "14.58.0",
4
4
  "description": "Metadata about the tools supported by containerbase",
5
5
  "keywords": [
6
6
  "containerbase",