@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 +1 -1
- package/lib/metrics.js +28 -2
- package/lib/metrics.js.map +1 -1
- package/package.json +2 -2
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
|
-
|
|
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
|
});
|
package/lib/metrics.js.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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": "
|
|
76
|
+
"gitHead": "664052bb513e410827e859e9d2f1e72538ddbf09"
|
|
77
77
|
}
|