devlogs-browser 1.1.4 → 2.0.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.
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Build info helper for devlogs browser client.
3
+ *
4
+ * Provides a stable build identifier that applications can use to tag
5
+ * every log entry without requiring git at runtime.
6
+ */
7
+ /**
8
+ * Source of the build info.
9
+ */
10
+ export type BuildInfoSource = 'file' | 'env' | 'generated';
11
+ /**
12
+ * Build information resolved from file, environment, or generated.
13
+ */
14
+ export interface BuildInfo {
15
+ /** Unique build identifier (always non-empty). */
16
+ buildId: string;
17
+ /** Git branch name, if available. */
18
+ branch: string | null;
19
+ /** UTC timestamp in format YYYYMMDDTHHMMSSZ. */
20
+ timestampUtc: string;
21
+ /** Source of the build info. */
22
+ source: BuildInfoSource;
23
+ /** File path used for build info, if any. */
24
+ path: string | null;
25
+ }
26
+ /**
27
+ * Build info file format (JSON).
28
+ */
29
+ export interface BuildInfoFile {
30
+ build_id?: string;
31
+ branch?: string;
32
+ timestamp_utc?: string;
33
+ [key: string]: unknown;
34
+ }
35
+ /**
36
+ * Options for resolving build info.
37
+ */
38
+ export interface BuildInfoOptions {
39
+ /** Explicit build info data (e.g., injected at build time). */
40
+ data?: BuildInfoFile;
41
+ /** Environment variable prefix (default: "DEVLOGS_"). */
42
+ envPrefix?: string;
43
+ /** Custom function to get current time (for testing). */
44
+ nowFn?: () => Date;
45
+ /**
46
+ * Environment variables to use (for non-browser environments).
47
+ * In browser, this is typically injected at build time.
48
+ */
49
+ env?: Record<string, string | undefined>;
50
+ }
51
+ /**
52
+ * Format a Date as compact ISO-like UTC timestamp: YYYYMMDDTHHMMSSZ.
53
+ */
54
+ export declare function formatTimestamp(date: Date): string;
55
+ /**
56
+ * Resolve build information from data, environment, or generate it.
57
+ *
58
+ * Priority order:
59
+ * 1. Environment variable BUILD_ID (if set) takes highest precedence
60
+ * 2. Provided build info data (from file loaded at build time)
61
+ * 3. Environment variables for branch/timestamp
62
+ * 4. Generated values
63
+ *
64
+ * @param options - Configuration options
65
+ * @returns Resolved build info
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * // With build-time injected data
70
+ * import buildData from './.build.json';
71
+ * const bi = resolveBuildInfo({ data: buildData });
72
+ *
73
+ * // With environment variables (Node.js)
74
+ * const bi = resolveBuildInfo();
75
+ *
76
+ * // With custom env (for testing or browser)
77
+ * const bi = resolveBuildInfo({
78
+ * env: { DEVLOGS_BUILD_ID: 'my-build-123' }
79
+ * });
80
+ * ```
81
+ */
82
+ export declare function resolveBuildInfo(options?: BuildInfoOptions): BuildInfo;
83
+ /**
84
+ * Convenience function that returns only the build_id string.
85
+ *
86
+ * @param options - Configuration options (same as resolveBuildInfo)
87
+ * @returns Non-empty build identifier string
88
+ */
89
+ export declare function resolveBuildId(options?: BuildInfoOptions): string;
90
+ /**
91
+ * Create build info data object for writing to .build.json during build.
92
+ *
93
+ * This is a utility for build scripts to generate the build info file.
94
+ *
95
+ * @param options - Configuration options
96
+ * @returns Build info data object suitable for JSON.stringify
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * // In a build script (Node.js)
101
+ * import { createBuildInfoData } from 'devlogs-browser/build-info';
102
+ * import fs from 'fs';
103
+ *
104
+ * const data = createBuildInfoData({ branch: process.env.GITHUB_REF_NAME });
105
+ * fs.writeFileSync('.build.json', JSON.stringify(data, null, 2));
106
+ * ```
107
+ */
108
+ export declare function createBuildInfoData(options?: {
109
+ branch?: string;
110
+ nowFn?: () => Date;
111
+ }): BuildInfoFile;
@@ -0,0 +1 @@
1
+ export {};
@@ -28,16 +28,6 @@ function parseDevlogsUrl(url, index) {
28
28
  };
29
29
  }
30
30
 
31
- /**
32
- * Python logging level numbers for compatibility
33
- */
34
- const LEVEL_MAP = {
35
- debug: 10,
36
- info: 20,
37
- log: 20, // Treat console.log as INFO level
38
- warn: 30,
39
- error: 40,
40
- };
41
31
  /**
42
32
  * Normalize console method name to standard log level
43
33
  */
@@ -70,41 +60,64 @@ function formatMessage(args) {
70
60
  .join(' ');
71
61
  }
72
62
  /**
73
- * Extract features from console arguments if an object is provided
63
+ * Extract fields from console arguments if an object is provided
74
64
  */
75
- function extractFeatures(args, contextFeatures) {
76
- const features = {
65
+ function extractFields(args, contextFields) {
66
+ const fields = {
77
67
  userAgent: navigator.userAgent,
78
- ...contextFeatures,
68
+ ...contextFields,
79
69
  };
80
- // If last argument is a plain object, merge it as features
70
+ // If last argument is a plain object, merge it as fields
81
71
  const lastArg = args[args.length - 1];
82
72
  if (lastArg &&
83
73
  typeof lastArg === 'object' &&
84
74
  !Array.isArray(lastArg) &&
85
75
  !(lastArg instanceof Error)) {
86
- Object.assign(features, lastArg);
76
+ Object.assign(fields, lastArg);
87
77
  }
88
- return features;
78
+ return fields;
89
79
  }
90
80
  /**
91
- * Format a log entry into the devlogs document schema
81
+ * Format a log entry into the devlogs v2.0 document schema
92
82
  */
93
83
  function formatLogDocument(method, args, context) {
94
- return {
84
+ const fields = extractFields(args, context.fields);
85
+ const doc = {
95
86
  doc_type: 'log_entry',
87
+ // Required fields
88
+ application: context.application,
89
+ component: context.component,
96
90
  timestamp: new Date().toISOString(),
97
- level: normalizeLevel(method),
98
- levelno: LEVEL_MAP[method],
99
- logger_name: context.loggerName,
91
+ // Top-level log fields
100
92
  message: formatMessage(args),
101
- pathname: context.pathname,
102
- lineno: null,
103
- funcName: null,
93
+ level: normalizeLevel(method),
104
94
  area: context.area,
95
+ // Optional metadata
105
96
  operation_id: context.operationId,
106
- features: extractFeatures(args, context.features),
97
+ // Source info
98
+ source: {
99
+ logger: 'browser',
100
+ pathname: context.pathname,
101
+ lineno: null,
102
+ funcName: null,
103
+ },
104
+ // Process info (not applicable in browser)
105
+ process: {
106
+ id: null,
107
+ thread: null,
108
+ },
107
109
  };
110
+ // Add optional fields only if set
111
+ if (context.environment) {
112
+ doc.environment = context.environment;
113
+ }
114
+ if (context.version) {
115
+ doc.version = context.version;
116
+ }
117
+ if (Object.keys(fields).length > 0) {
118
+ doc.fields = fields;
119
+ }
120
+ return doc;
108
121
  }
109
122
 
110
123
  /**
@@ -125,11 +138,14 @@ const METHODS = ['log', 'warn', 'error', 'debug', 'info'];
125
138
  * Current logging context - shared across all console calls
126
139
  */
127
140
  let currentContext = {
141
+ application: 'unknown',
142
+ component: 'browser',
128
143
  area: null,
129
144
  operationId: null,
130
- loggerName: 'browser',
131
145
  pathname: typeof window !== 'undefined' ? window.location.pathname : '/',
132
- features: {},
146
+ environment: null,
147
+ version: null,
148
+ fields: {},
133
149
  };
134
150
  /**
135
151
  * Get the current logging context
@@ -156,10 +172,16 @@ function setOperationId(operationId) {
156
172
  currentContext.operationId = operationId;
157
173
  }
158
174
  /**
159
- * Set custom features to include in all logs
175
+ * Set custom fields to include in all logs
176
+ */
177
+ function setFields(fields) {
178
+ currentContext.fields = fields;
179
+ }
180
+ /**
181
+ * @deprecated Use setFields instead
160
182
  */
161
183
  function setFeatures(features) {
162
- currentContext.features = features;
184
+ setFields(features);
163
185
  }
164
186
  /**
165
187
  * Execute a function with a temporary operation ID
@@ -241,10 +263,167 @@ class DevlogsOpenSearchClient {
241
263
  }
242
264
  }
243
265
 
266
+ /**
267
+ * Build info helper for devlogs browser client.
268
+ *
269
+ * Provides a stable build identifier that applications can use to tag
270
+ * every log entry without requiring git at runtime.
271
+ */
272
+ /**
273
+ * Format a Date as compact ISO-like UTC timestamp: YYYYMMDDTHHMMSSZ.
274
+ */
275
+ function formatTimestamp(date) {
276
+ const pad = (n) => n.toString().padStart(2, '0');
277
+ return (date.getUTCFullYear().toString() +
278
+ pad(date.getUTCMonth() + 1) +
279
+ pad(date.getUTCDate()) +
280
+ 'T' +
281
+ pad(date.getUTCHours()) +
282
+ pad(date.getUTCMinutes()) +
283
+ pad(date.getUTCSeconds()) +
284
+ 'Z');
285
+ }
286
+ /**
287
+ * Get environment variable value.
288
+ * Uses provided env object, or falls back to globalThis/window if available.
289
+ */
290
+ function getEnv(name, env) {
291
+ if (env) {
292
+ return env[name];
293
+ }
294
+ // Check for Node.js process.env (with typeof check to avoid ReferenceError in browser)
295
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
296
+ const g = globalThis;
297
+ if (typeof g.process !== 'undefined' && g.process?.env) {
298
+ return g.process.env[name];
299
+ }
300
+ return undefined;
301
+ }
302
+ /**
303
+ * Resolve build information from data, environment, or generate it.
304
+ *
305
+ * Priority order:
306
+ * 1. Environment variable BUILD_ID (if set) takes highest precedence
307
+ * 2. Provided build info data (from file loaded at build time)
308
+ * 3. Environment variables for branch/timestamp
309
+ * 4. Generated values
310
+ *
311
+ * @param options - Configuration options
312
+ * @returns Resolved build info
313
+ *
314
+ * @example
315
+ * ```ts
316
+ * // With build-time injected data
317
+ * import buildData from './.build.json';
318
+ * const bi = resolveBuildInfo({ data: buildData });
319
+ *
320
+ * // With environment variables (Node.js)
321
+ * const bi = resolveBuildInfo();
322
+ *
323
+ * // With custom env (for testing or browser)
324
+ * const bi = resolveBuildInfo({
325
+ * env: { DEVLOGS_BUILD_ID: 'my-build-123' }
326
+ * });
327
+ * ```
328
+ */
329
+ function resolveBuildInfo(options = {}) {
330
+ const envPrefix = options.envPrefix ?? 'DEVLOGS_';
331
+ const nowFn = options.nowFn ?? (() => new Date());
332
+ const env = options.env;
333
+ const data = options.data;
334
+ // Environment variable names
335
+ const envBuildId = `${envPrefix}BUILD_ID`;
336
+ const envBranch = `${envPrefix}BRANCH`;
337
+ const envTimestamp = `${envPrefix}BUILD_TIMESTAMP_UTC`;
338
+ // Check for direct BUILD_ID env override (highest precedence)
339
+ const directBuildId = getEnv(envBuildId, env);
340
+ if (directBuildId) {
341
+ const branch = getEnv(envBranch, env) ?? null;
342
+ const timestamp = getEnv(envTimestamp, env) ?? formatTimestamp(nowFn());
343
+ return {
344
+ buildId: directBuildId,
345
+ branch,
346
+ timestampUtc: timestamp,
347
+ source: 'env',
348
+ path: null,
349
+ };
350
+ }
351
+ // Check provided data (from file loaded at build time)
352
+ if (data && typeof data === 'object' && data.build_id) {
353
+ const branch = getEnv(envBranch, env) ?? data.branch ?? null;
354
+ const timestamp = getEnv(envTimestamp, env) ?? data.timestamp_utc ?? formatTimestamp(nowFn());
355
+ return {
356
+ buildId: data.build_id,
357
+ branch,
358
+ timestampUtc: timestamp,
359
+ source: 'file',
360
+ path: null, // Path not available in browser context
361
+ };
362
+ }
363
+ // Check if env provides branch and/or timestamp
364
+ const envBranchValue = getEnv(envBranch, env);
365
+ const envTimestampValue = getEnv(envTimestamp, env);
366
+ // Determine branch
367
+ const branch = envBranchValue ?? null;
368
+ // Determine timestamp
369
+ const timestamp = envTimestampValue ?? formatTimestamp(nowFn());
370
+ // Generate build_id
371
+ const branchForId = branch ?? 'unknown';
372
+ const buildId = `${branchForId}-${timestamp}`;
373
+ // Determine source
374
+ const source = envBranchValue || envTimestampValue ? 'env' : 'generated';
375
+ return {
376
+ buildId,
377
+ branch,
378
+ timestampUtc: timestamp,
379
+ source,
380
+ path: null,
381
+ };
382
+ }
383
+ /**
384
+ * Convenience function that returns only the build_id string.
385
+ *
386
+ * @param options - Configuration options (same as resolveBuildInfo)
387
+ * @returns Non-empty build identifier string
388
+ */
389
+ function resolveBuildId(options = {}) {
390
+ return resolveBuildInfo(options).buildId;
391
+ }
392
+ /**
393
+ * Create build info data object for writing to .build.json during build.
394
+ *
395
+ * This is a utility for build scripts to generate the build info file.
396
+ *
397
+ * @param options - Configuration options
398
+ * @returns Build info data object suitable for JSON.stringify
399
+ *
400
+ * @example
401
+ * ```ts
402
+ * // In a build script (Node.js)
403
+ * import { createBuildInfoData } from 'devlogs-browser/build-info';
404
+ * import fs from 'fs';
405
+ *
406
+ * const data = createBuildInfoData({ branch: process.env.GITHUB_REF_NAME });
407
+ * fs.writeFileSync('.build.json', JSON.stringify(data, null, 2));
408
+ * ```
409
+ */
410
+ function createBuildInfoData(options = {}) {
411
+ const nowFn = options.nowFn ?? (() => new Date());
412
+ const branch = options.branch ?? null;
413
+ const timestamp = formatTimestamp(nowFn());
414
+ const branchForId = branch ?? 'unknown';
415
+ const buildId = `${branchForId}-${timestamp}`;
416
+ return {
417
+ build_id: buildId,
418
+ branch: branch ?? undefined,
419
+ timestamp_utc: timestamp,
420
+ };
421
+ }
422
+
244
423
  let initialized = false;
245
424
  let client = null;
246
425
  /**
247
- * Initialize the devlogs browser client.
426
+ * Initialize the devlogs browser client (v2.0).
248
427
  *
249
428
  * This intercepts console.log/warn/error/debug/info and forwards
250
429
  * all log messages to the OpenSearch index.
@@ -253,8 +432,9 @@ let client = null;
253
432
  * ```js
254
433
  * devlogs.init({
255
434
  * url: 'http://admin:admin@localhost:9200',
256
- * area: 'frontend',
257
- * loggerName: 'my-app'
435
+ * application: 'my-frontend',
436
+ * component: 'dashboard',
437
+ * area: 'ui',
258
438
  * });
259
439
  *
260
440
  * console.log('App started'); // Forwarded to index
@@ -268,11 +448,14 @@ function init(options) {
268
448
  const config = parseDevlogsUrl(options.url, options.index);
269
449
  client = new DevlogsOpenSearchClient(config);
270
450
  setContext({
451
+ application: options.application,
452
+ component: options.component,
271
453
  area: options.area || null,
272
454
  operationId: options.operationId || null,
273
- loggerName: options.loggerName || 'browser',
274
455
  pathname: typeof window !== 'undefined' ? window.location.pathname : '/',
275
- features: {},
456
+ environment: options.environment || null,
457
+ version: options.version || null,
458
+ fields: {},
276
459
  });
277
460
  interceptConsole(client);
278
461
  initialized = true;
@@ -295,11 +478,16 @@ function isInitialized() {
295
478
  return initialized;
296
479
  }
297
480
 
481
+ exports.createBuildInfoData = createBuildInfoData;
298
482
  exports.destroy = destroy;
483
+ exports.formatTimestamp = formatTimestamp;
299
484
  exports.init = init;
300
485
  exports.isInitialized = isInitialized;
486
+ exports.resolveBuildId = resolveBuildId;
487
+ exports.resolveBuildInfo = resolveBuildInfo;
301
488
  exports.setArea = setArea;
302
489
  exports.setFeatures = setFeatures;
490
+ exports.setFields = setFields;
303
491
  exports.setOperationId = setOperationId;
304
492
  exports.withOperation = withOperation;
305
493
  //# sourceMappingURL=devlogs.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devlogs.cjs.js","sources":["../src/url-parser.ts","../src/formatter.ts","../src/interceptor.ts","../src/client.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devlogs.cjs.js","sources":["../src/url-parser.ts","../src/formatter.ts","../src/interceptor.ts","../src/client.ts","../src/build-info.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}