@prairielearn/sentry 1.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,3 @@
1
+ @prairielearn/sentry:build: cache hit, replaying output 8e15df250c27f0f0
2
+ @prairielearn/sentry:build: warning package.json: No license field
3
+ @prairielearn/sentry:build: $ tsc
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # `@prairielearn/sentry`
2
+
3
+ Opinionated wrapper around `@sentry/node`. Currently, the only difference is that it exports an async `init` function that automatically sets the release to the current Git revision, if available.
4
+
5
+ ```ts
6
+ import { init } from '@prairielearn/sentry';
7
+
8
+ await init({
9
+ dsn: 'DSN HERE',
10
+ environment: 'ENVIRONMENT HERE',
11
+ });
12
+ ```
@@ -0,0 +1,8 @@
1
+ import * as Sentry from '@sentry/node';
2
+ /**
3
+ * A thin wrapper around {@link Sentry.init} that automatically sets `release`
4
+ * based on the current Git revision.
5
+ */
6
+ export declare function init(options: Sentry.NodeOptions): Promise<void>;
7
+ export { Breadcrumb, BreadcrumbHint, Request, SdkInfo, Event, EventHint, Exception, Session, Severity, SeverityLevel, StackFrame, Stacktrace, Thread, User, AddRequestDataToEventOptions, CrossPlatformRequest, NodeOptions, } from '@sentry/node';
8
+ export { addGlobalEventProcessor, addBreadcrumb, captureException, captureEvent, captureMessage, configureScope, createTransport, getHubFromCarrier, getCurrentHub, Hub, makeMain, Scope, startTransaction, SDK_VERSION, setContext, setExtra, setExtras, setTag, setTags, setUser, withScope, NodeClient, makeNodeTransport, addRequestDataToEvent, extractRequestData, defaultIntegrations, defaultStackParser, lastEventId, flush, close, getSentryRelease, deepReadDirSync, Integrations, Handlers, } from '@sentry/node';
package/dist/index.js ADDED
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Handlers = exports.Integrations = exports.deepReadDirSync = exports.getSentryRelease = exports.close = exports.flush = exports.lastEventId = exports.defaultStackParser = exports.defaultIntegrations = exports.extractRequestData = exports.addRequestDataToEvent = exports.makeNodeTransport = exports.NodeClient = exports.withScope = exports.setUser = exports.setTags = exports.setTag = exports.setExtras = exports.setExtra = exports.setContext = exports.SDK_VERSION = exports.startTransaction = exports.Scope = exports.makeMain = exports.Hub = exports.getCurrentHub = exports.getHubFromCarrier = exports.createTransport = exports.configureScope = exports.captureMessage = exports.captureEvent = exports.captureException = exports.addBreadcrumb = exports.addGlobalEventProcessor = exports.init = void 0;
30
+ const Sentry = __importStar(require("@sentry/node"));
31
+ const execa_1 = __importDefault(require("execa"));
32
+ /**
33
+ * A thin wrapper around {@link Sentry.init} that automatically sets `release`
34
+ * based on the current Git revision.
35
+ */
36
+ async function init(options) {
37
+ let release = options.release;
38
+ if (!release) {
39
+ try {
40
+ release = (await (0, execa_1.default)('git', ['rev-parse', 'HEAD'])).stdout.trim();
41
+ }
42
+ catch (e) {
43
+ // This most likely isn't running in an initialized git repository.
44
+ // Default to not setting a release.
45
+ }
46
+ }
47
+ Sentry.init({
48
+ release,
49
+ ...options,
50
+ });
51
+ }
52
+ exports.init = init;
53
+ var node_1 = require("@sentry/node");
54
+ Object.defineProperty(exports, "addGlobalEventProcessor", { enumerable: true, get: function () { return node_1.addGlobalEventProcessor; } });
55
+ Object.defineProperty(exports, "addBreadcrumb", { enumerable: true, get: function () { return node_1.addBreadcrumb; } });
56
+ Object.defineProperty(exports, "captureException", { enumerable: true, get: function () { return node_1.captureException; } });
57
+ Object.defineProperty(exports, "captureEvent", { enumerable: true, get: function () { return node_1.captureEvent; } });
58
+ Object.defineProperty(exports, "captureMessage", { enumerable: true, get: function () { return node_1.captureMessage; } });
59
+ Object.defineProperty(exports, "configureScope", { enumerable: true, get: function () { return node_1.configureScope; } });
60
+ Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return node_1.createTransport; } });
61
+ Object.defineProperty(exports, "getHubFromCarrier", { enumerable: true, get: function () { return node_1.getHubFromCarrier; } });
62
+ Object.defineProperty(exports, "getCurrentHub", { enumerable: true, get: function () { return node_1.getCurrentHub; } });
63
+ Object.defineProperty(exports, "Hub", { enumerable: true, get: function () { return node_1.Hub; } });
64
+ Object.defineProperty(exports, "makeMain", { enumerable: true, get: function () { return node_1.makeMain; } });
65
+ Object.defineProperty(exports, "Scope", { enumerable: true, get: function () { return node_1.Scope; } });
66
+ Object.defineProperty(exports, "startTransaction", { enumerable: true, get: function () { return node_1.startTransaction; } });
67
+ Object.defineProperty(exports, "SDK_VERSION", { enumerable: true, get: function () { return node_1.SDK_VERSION; } });
68
+ Object.defineProperty(exports, "setContext", { enumerable: true, get: function () { return node_1.setContext; } });
69
+ Object.defineProperty(exports, "setExtra", { enumerable: true, get: function () { return node_1.setExtra; } });
70
+ Object.defineProperty(exports, "setExtras", { enumerable: true, get: function () { return node_1.setExtras; } });
71
+ Object.defineProperty(exports, "setTag", { enumerable: true, get: function () { return node_1.setTag; } });
72
+ Object.defineProperty(exports, "setTags", { enumerable: true, get: function () { return node_1.setTags; } });
73
+ Object.defineProperty(exports, "setUser", { enumerable: true, get: function () { return node_1.setUser; } });
74
+ Object.defineProperty(exports, "withScope", { enumerable: true, get: function () { return node_1.withScope; } });
75
+ Object.defineProperty(exports, "NodeClient", { enumerable: true, get: function () { return node_1.NodeClient; } });
76
+ Object.defineProperty(exports, "makeNodeTransport", { enumerable: true, get: function () { return node_1.makeNodeTransport; } });
77
+ Object.defineProperty(exports, "addRequestDataToEvent", { enumerable: true, get: function () { return node_1.addRequestDataToEvent; } });
78
+ Object.defineProperty(exports, "extractRequestData", { enumerable: true, get: function () { return node_1.extractRequestData; } });
79
+ Object.defineProperty(exports, "defaultIntegrations", { enumerable: true, get: function () { return node_1.defaultIntegrations; } });
80
+ Object.defineProperty(exports, "defaultStackParser", { enumerable: true, get: function () { return node_1.defaultStackParser; } });
81
+ Object.defineProperty(exports, "lastEventId", { enumerable: true, get: function () { return node_1.lastEventId; } });
82
+ Object.defineProperty(exports, "flush", { enumerable: true, get: function () { return node_1.flush; } });
83
+ Object.defineProperty(exports, "close", { enumerable: true, get: function () { return node_1.close; } });
84
+ Object.defineProperty(exports, "getSentryRelease", { enumerable: true, get: function () { return node_1.getSentryRelease; } });
85
+ Object.defineProperty(exports, "deepReadDirSync", { enumerable: true, get: function () { return node_1.deepReadDirSync; } });
86
+ Object.defineProperty(exports, "Integrations", { enumerable: true, get: function () { return node_1.Integrations; } });
87
+ Object.defineProperty(exports, "Handlers", { enumerable: true, get: function () { return node_1.Handlers; } });
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,kDAA0B;AAE1B;;;GAGG;AACI,KAAK,UAAU,IAAI,CAAC,OAA2B;IACpD,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9B,IAAI,CAAC,OAAO,EAAE;QACZ,IAAI;YACF,OAAO,GAAG,CAAC,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SACrE;QAAC,OAAO,CAAC,EAAE;YACV,mEAAmE;YACnE,oCAAoC;SACrC;KACF;IAED,MAAM,CAAC,IAAI,CAAC;QACV,OAAO;QACP,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAhBD,oBAgBC;AAyBD,qCAmCsB;AAlCpB,+GAAA,uBAAuB,OAAA;AACvB,qGAAA,aAAa,OAAA;AACb,wGAAA,gBAAgB,OAAA;AAChB,oGAAA,YAAY,OAAA;AACZ,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,uGAAA,eAAe,OAAA;AACf,yGAAA,iBAAiB,OAAA;AACjB,qGAAA,aAAa,OAAA;AACb,2FAAA,GAAG,OAAA;AACH,gGAAA,QAAQ,OAAA;AACR,6FAAA,KAAK,OAAA;AACL,wGAAA,gBAAgB,OAAA;AAChB,mGAAA,WAAW,OAAA;AACX,kGAAA,UAAU,OAAA;AACV,gGAAA,QAAQ,OAAA;AACR,iGAAA,SAAS,OAAA;AACT,8FAAA,MAAM,OAAA;AACN,+FAAA,OAAO,OAAA;AACP,+FAAA,OAAO,OAAA;AACP,iGAAA,SAAS,OAAA;AACT,kGAAA,UAAU,OAAA;AACV,yGAAA,iBAAiB,OAAA;AACjB,6GAAA,qBAAqB,OAAA;AACrB,0GAAA,kBAAkB,OAAA;AAClB,2GAAA,mBAAmB,OAAA;AACnB,0GAAA,kBAAkB,OAAA;AAClB,mGAAA,WAAW,OAAA;AACX,6FAAA,KAAK,OAAA;AACL,6FAAA,KAAK,OAAA;AACL,wGAAA,gBAAgB,OAAA;AAChB,uGAAA,eAAe,OAAA;AACf,oGAAA,YAAY,OAAA;AACZ,gGAAA,QAAQ,OAAA"}
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@prairielearn/sentry",
3
+ "version": "1.0.0",
4
+ "main": "dist/index.js",
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "dev": "tsc --watch --preserveWatchOutput"
8
+ },
9
+ "devDependencies": {
10
+ "@prairielearn/tsconfig": "*",
11
+ "mocha": "^10.0.0",
12
+ "ts-node": "^10.8.1",
13
+ "typescript": "^4.7.4"
14
+ },
15
+ "dependencies": {
16
+ "@sentry/node": "^7.12.0",
17
+ "execa": "^5.1.1"
18
+ }
19
+ }
package/src/index.ts ADDED
@@ -0,0 +1,84 @@
1
+ import * as Sentry from '@sentry/node';
2
+ import execa from 'execa';
3
+
4
+ /**
5
+ * A thin wrapper around {@link Sentry.init} that automatically sets `release`
6
+ * based on the current Git revision.
7
+ */
8
+ export async function init(options: Sentry.NodeOptions) {
9
+ let release = options.release;
10
+
11
+ if (!release) {
12
+ try {
13
+ release = (await execa('git', ['rev-parse', 'HEAD'])).stdout.trim();
14
+ } catch (e) {
15
+ // This most likely isn't running in an initialized git repository.
16
+ // Default to not setting a release.
17
+ }
18
+ }
19
+
20
+ Sentry.init({
21
+ release,
22
+ ...options,
23
+ });
24
+ }
25
+
26
+ // We export every type and function from `@sentry/node` *except* for init,
27
+ // which we replace with our own version up above.
28
+
29
+ export {
30
+ Breadcrumb,
31
+ BreadcrumbHint,
32
+ Request,
33
+ SdkInfo,
34
+ Event,
35
+ EventHint,
36
+ Exception,
37
+ Session,
38
+ Severity,
39
+ SeverityLevel,
40
+ StackFrame,
41
+ Stacktrace,
42
+ Thread,
43
+ User,
44
+ AddRequestDataToEventOptions,
45
+ CrossPlatformRequest,
46
+ NodeOptions,
47
+ } from '@sentry/node';
48
+
49
+ export {
50
+ addGlobalEventProcessor,
51
+ addBreadcrumb,
52
+ captureException,
53
+ captureEvent,
54
+ captureMessage,
55
+ configureScope,
56
+ createTransport,
57
+ getHubFromCarrier,
58
+ getCurrentHub,
59
+ Hub,
60
+ makeMain,
61
+ Scope,
62
+ startTransaction,
63
+ SDK_VERSION,
64
+ setContext,
65
+ setExtra,
66
+ setExtras,
67
+ setTag,
68
+ setTags,
69
+ setUser,
70
+ withScope,
71
+ NodeClient,
72
+ makeNodeTransport,
73
+ addRequestDataToEvent,
74
+ extractRequestData,
75
+ defaultIntegrations,
76
+ defaultStackParser,
77
+ lastEventId,
78
+ flush,
79
+ close,
80
+ getSentryRelease,
81
+ deepReadDirSync,
82
+ Integrations,
83
+ Handlers,
84
+ } from '@sentry/node';
package/tsconfig.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "@prairielearn/tsconfig",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src",
6
+ "types": ["mocha", "node"],
7
+ }
8
+ }