@netlify/build-info 7.13.0 → 7.13.1

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/lib/metrics.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type Client, NotifiableError } from '@bugsnag/js';
2
2
  export type Severity = 'info' | 'warning' | 'error';
3
3
  /** Report an error to bugsnag */
4
- export declare function report(error: NotifiableError, options?: {
4
+ export declare function report(error: NotifiableError | Record<string, any>, options?: {
5
5
  context?: string;
6
6
  severity?: Severity;
7
7
  metadata?: Record<string, Record<string, any>>;
package/lib/metrics.js CHANGED
@@ -1,12 +1,38 @@
1
1
  import bugsnag from '@bugsnag/js';
2
2
  const { default: Bugsnag } = bugsnag;
3
+ /** Normalize an error to the NotifiableError type */
4
+ const normalizeError = (error) => {
5
+ // Already in an acceptable NotifiableError format
6
+ if (error instanceof Error) {
7
+ return error;
8
+ }
9
+ if (typeof error === 'object' && (error.errorClass || error.name)) {
10
+ return error;
11
+ }
12
+ if (typeof error === 'string') {
13
+ // BugSnag suggest sending an Error rather than string to get better stack traces
14
+ return new Error(error);
15
+ }
16
+ // If the error is an object with a message, create a generic Error
17
+ if (typeof error === 'object' && error.message) {
18
+ return new Error(error.message);
19
+ }
20
+ // If the error format is unexpected, create a generic Error
21
+ return new Error(`Unexpected error format: ${JSON.stringify(error)}`);
22
+ };
3
23
  /** Report an error to bugsnag */
4
24
  export function report(error, options = {}) {
5
- ;
6
- (options.client || Bugsnag).notify(error, (event) => {
25
+ const normalizedError = normalizeError(error);
26
+ const client = options.client || Bugsnag;
27
+ client.notify(normalizedError, (event) => {
7
28
  for (const [section, values] of Object.entries(options.metadata || {})) {
8
29
  event.addMetadata(section, values);
9
30
  }
31
+ // If the error is an object with a documentation_url property, it's probably a GitHub API error
32
+ if (typeof error === 'object' && 'documentation_url' in error) {
33
+ event.addMetadata('Documentation URL', error.documentation_url);
34
+ }
35
+ event.context = options.context;
10
36
  event.severity = options.severity || 'error';
11
37
  event.context = options.context;
12
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,OAAyC,MAAM,aAAa,CAAA;AAEnE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;AAIpC,iCAAiC;AACjC,MAAM,UAAU,MAAM,CACpB,KAAsB,EACtB,UAKI,EAAE;IAEN,CAAC;IAAA,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACnD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC;QACD,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAA;QAC5C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,OAAyC,MAAM,aAAa,CAAA;AAEnE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;AAIpC,qDAAqD;AACrD,MAAM,cAAc,GAAG,CAAC,KAAU,EAAmB,EAAE;IACrD,kDAAkD;IAClD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,iFAAiF;QACjF,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,4DAA4D;IAC5D,OAAO,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,iCAAiC;AACjC,MAAM,UAAU,MAAM,CACpB,KAA4C,EAC5C,UAKI,EAAE;IAEN,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAA;IAExC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QACvC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC;QACD,gGAAgG;QAChG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YAC9D,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACjE,CAAC;QACD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC/B,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAA;QAC5C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netlify/build-info",
3
- "version": "7.13.0",
3
+ "version": "7.13.1",
4
4
  "description": "Build info utility",
5
5
  "type": "module",
6
6
  "exports": {
@@ -73,5 +73,5 @@
73
73
  "engines": {
74
74
  "node": "^14.16.0 || >=16.0.0"
75
75
  },
76
- "gitHead": "f04cc67a1ebb8ca419e85271a43d28680aaa9896"
76
+ "gitHead": "664052bb513e410827e859e9d2f1e72538ddbf09"
77
77
  }