@terreno/api 0.0.17 → 0.0.18

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.
Files changed (46) hide show
  1. package/.windsurfrules +107 -0
  2. package/AGENTS.md +313 -0
  3. package/README.md +3 -4
  4. package/biome.jsonc +1 -1
  5. package/dist/api.js +1 -1
  6. package/dist/api.query.test.js +1 -1
  7. package/dist/api.test.js +36 -1202
  8. package/dist/errors.js +1 -1
  9. package/dist/expressServer.d.ts +8 -2
  10. package/dist/expressServer.js +8 -1
  11. package/dist/githubAuth.d.ts +64 -0
  12. package/dist/githubAuth.js +293 -0
  13. package/dist/githubAuth.test.d.ts +1 -0
  14. package/dist/githubAuth.test.js +351 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.js +1 -0
  17. package/dist/logger.js +1 -1
  18. package/dist/middleware.js +1 -1
  19. package/dist/notifiers/googleChatNotifier.js +1 -1
  20. package/dist/notifiers/googleChatNotifier.test.js +1 -1
  21. package/dist/notifiers/slackNotifier.js +1 -1
  22. package/dist/notifiers/slackNotifier.test.js +1 -1
  23. package/dist/notifiers/zoomNotifier.js +1 -1
  24. package/dist/notifiers/zoomNotifier.test.js +1 -1
  25. package/dist/permissions.js +1 -1
  26. package/dist/tests/bunSetup.js +2 -2
  27. package/package.json +4 -2
  28. package/src/api.query.test.ts +1 -1
  29. package/src/api.test.ts +30 -984
  30. package/src/api.ts +1 -1
  31. package/src/errors.ts +1 -1
  32. package/src/expressServer.ts +18 -2
  33. package/src/githubAuth.test.ts +223 -0
  34. package/src/githubAuth.ts +335 -0
  35. package/src/index.ts +1 -0
  36. package/src/logger.ts +1 -1
  37. package/src/middleware.ts +1 -1
  38. package/src/notifiers/googleChatNotifier.test.ts +1 -1
  39. package/src/notifiers/googleChatNotifier.ts +1 -1
  40. package/src/notifiers/slackNotifier.test.ts +1 -1
  41. package/src/notifiers/slackNotifier.ts +1 -1
  42. package/src/notifiers/zoomNotifier.test.ts +1 -1
  43. package/src/notifiers/zoomNotifier.ts +1 -1
  44. package/src/permissions.ts +1 -1
  45. package/src/tests/bunSetup.ts +2 -2
  46. /package/{CLAUDE.md → .cursorrules} +0 -0
@@ -0,0 +1,351 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __generator = (this && this.__generator) || function (thisArg, body) {
45
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
46
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
+ function verb(n) { return function (v) { return step([n, v]); }; }
48
+ function step(op) {
49
+ if (f) throw new TypeError("Generator is already executing.");
50
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
52
+ if (y = 0, t) op = [op[0] & 2, t.value];
53
+ switch (op[0]) {
54
+ case 0: case 1: t = op; break;
55
+ case 4: _.label++; return { value: op[1], done: false };
56
+ case 5: _.label++; y = op[1]; op = [0]; continue;
57
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
+ default:
59
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
+ if (t[2]) _.ops.pop();
64
+ _.trys.pop(); continue;
65
+ }
66
+ op = body.call(thisArg, _);
67
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
+ }
70
+ };
71
+ var __importDefault = (this && this.__importDefault) || function (mod) {
72
+ return (mod && mod.__esModule) ? mod : { "default": mod };
73
+ };
74
+ Object.defineProperty(exports, "__esModule", { value: true });
75
+ var bun_test_1 = require("bun:test");
76
+ var mongoose_1 = __importStar(require("mongoose"));
77
+ var passport_local_mongoose_1 = __importDefault(require("passport-local-mongoose"));
78
+ var supertest_1 = __importDefault(require("supertest"));
79
+ var expressServer_1 = require("./expressServer");
80
+ var githubAuth_1 = require("./githubAuth");
81
+ var logger_1 = require("./logger");
82
+ var plugins_1 = require("./plugins");
83
+ // Create schema for GitHub-enabled user
84
+ var testUserSchema = new mongoose_1.Schema({
85
+ admin: { default: false, type: Boolean },
86
+ name: String,
87
+ username: String,
88
+ });
89
+ testUserSchema.plugin(passport_local_mongoose_1.default, {
90
+ attemptsField: "attempts",
91
+ interval: 1,
92
+ limitAttempts: true,
93
+ maxAttempts: 3,
94
+ maxInterval: 1,
95
+ usernameCaseInsensitive: true,
96
+ usernameField: "email",
97
+ });
98
+ testUserSchema.plugin(plugins_1.createdUpdatedPlugin);
99
+ testUserSchema.plugin(plugins_1.isDisabledPlugin);
100
+ testUserSchema.plugin(githubAuth_1.githubUserPlugin);
101
+ // Get or create model to avoid model redefinition errors
102
+ var GitHubTestUserModel = mongoose_1.default.models.GitHubTestUser || (0, mongoose_1.model)("GitHubTestUser", testUserSchema);
103
+ // Connect to database before tests
104
+ var connectDb = function () { return __awaiter(void 0, void 0, void 0, function () {
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0:
108
+ if (!(mongoose_1.default.connection.readyState === 0)) return [3 /*break*/, 2];
109
+ return [4 /*yield*/, mongoose_1.default
110
+ .connect("mongodb://127.0.0.1/terreno?&connectTimeoutMS=360000")
111
+ .catch(logger_1.logger.catch)];
112
+ case 1:
113
+ _a.sent();
114
+ _a.label = 2;
115
+ case 2:
116
+ process.env.REFRESH_TOKEN_SECRET = "refresh_secret";
117
+ process.env.TOKEN_SECRET = "secret";
118
+ process.env.TOKEN_EXPIRES_IN = "30m";
119
+ process.env.TOKEN_ISSUER = "example.com";
120
+ process.env.SESSION_SECRET = "session";
121
+ return [2 /*return*/];
122
+ }
123
+ });
124
+ }); };
125
+ (0, bun_test_1.describe)("githubUserPlugin", function () {
126
+ (0, bun_test_1.it)("adds GitHub fields to schema", function () {
127
+ var paths = testUserSchema.paths;
128
+ (0, bun_test_1.expect)(paths.githubId).toBeDefined();
129
+ (0, bun_test_1.expect)(paths.githubUsername).toBeDefined();
130
+ (0, bun_test_1.expect)(paths.githubProfileUrl).toBeDefined();
131
+ (0, bun_test_1.expect)(paths.githubAvatarUrl).toBeDefined();
132
+ });
133
+ (0, bun_test_1.it)("githubId is indexed and sparse", function () {
134
+ var githubIdPath = testUserSchema.path("githubId");
135
+ (0, bun_test_1.expect)(githubIdPath.options.index).toBe(true);
136
+ (0, bun_test_1.expect)(githubIdPath.options.sparse).toBe(true);
137
+ (0, bun_test_1.expect)(githubIdPath.options.unique).toBe(true);
138
+ });
139
+ });
140
+ (0, bun_test_1.describe)("GitHub auth routes", function () {
141
+ var app;
142
+ var agent;
143
+ (0, bun_test_1.beforeEach)(function () { return __awaiter(void 0, void 0, void 0, function () {
144
+ function addRoutes(router) {
145
+ router.get("/test", function (_req, res) { return res.json({ ok: true }); });
146
+ }
147
+ var testUser;
148
+ return __generator(this, function (_a) {
149
+ switch (_a.label) {
150
+ case 0:
151
+ (0, bun_test_1.setSystemTime)();
152
+ return [4 /*yield*/, connectDb()];
153
+ case 1:
154
+ _a.sent();
155
+ return [4 /*yield*/, GitHubTestUserModel.deleteMany({})];
156
+ case 2:
157
+ _a.sent();
158
+ return [4 /*yield*/, GitHubTestUserModel.create({
159
+ admin: false,
160
+ email: "test@example.com",
161
+ name: "Test User",
162
+ })];
163
+ case 3:
164
+ testUser = _a.sent();
165
+ return [4 /*yield*/, testUser.setPassword("password123")];
166
+ case 4:
167
+ _a.sent();
168
+ return [4 /*yield*/, testUser.save()];
169
+ case 5:
170
+ _a.sent();
171
+ app = (0, expressServer_1.setupServer)({
172
+ addRoutes: addRoutes,
173
+ githubAuth: {
174
+ allowAccountLinking: true,
175
+ callbackURL: "http://localhost:9000/auth/github/callback",
176
+ clientId: "test-client-id",
177
+ clientSecret: "test-client-secret",
178
+ },
179
+ skipListen: true,
180
+ userModel: GitHubTestUserModel,
181
+ });
182
+ agent = supertest_1.default.agent(app);
183
+ return [2 /*return*/];
184
+ }
185
+ });
186
+ }); });
187
+ (0, bun_test_1.afterEach)(function () { return __awaiter(void 0, void 0, void 0, function () {
188
+ return __generator(this, function (_a) {
189
+ (0, bun_test_1.setSystemTime)();
190
+ return [2 /*return*/];
191
+ });
192
+ }); });
193
+ (0, bun_test_1.it)("GET /auth/github redirects to GitHub OAuth", function () { return __awaiter(void 0, void 0, void 0, function () {
194
+ var res;
195
+ return __generator(this, function (_a) {
196
+ switch (_a.label) {
197
+ case 0: return [4 /*yield*/, agent.get("/auth/github").expect(302)];
198
+ case 1:
199
+ res = _a.sent();
200
+ (0, bun_test_1.expect)(res.headers.location).toContain("github.com");
201
+ (0, bun_test_1.expect)(res.headers.location).toContain("client_id=test-client-id");
202
+ return [2 /*return*/];
203
+ }
204
+ });
205
+ }); });
206
+ (0, bun_test_1.it)("GET /auth/github/failure returns 401", function () { return __awaiter(void 0, void 0, void 0, function () {
207
+ var res;
208
+ return __generator(this, function (_a) {
209
+ switch (_a.label) {
210
+ case 0: return [4 /*yield*/, agent.get("/auth/github/failure").expect(401)];
211
+ case 1:
212
+ res = _a.sent();
213
+ (0, bun_test_1.expect)(res.body.message).toBe("GitHub authentication failed");
214
+ return [2 /*return*/];
215
+ }
216
+ });
217
+ }); });
218
+ (0, bun_test_1.it)("DELETE /auth/github/unlink requires authentication", function () { return __awaiter(void 0, void 0, void 0, function () {
219
+ var res;
220
+ return __generator(this, function (_a) {
221
+ switch (_a.label) {
222
+ case 0: return [4 /*yield*/, agent.delete("/auth/github/unlink").expect(401)];
223
+ case 1:
224
+ res = _a.sent();
225
+ (0, bun_test_1.expect)(res.body).toBeDefined();
226
+ return [2 /*return*/];
227
+ }
228
+ });
229
+ }); });
230
+ (0, bun_test_1.it)("DELETE /auth/github/unlink works when authenticated with password", function () { return __awaiter(void 0, void 0, void 0, function () {
231
+ var loginRes, user, res, updatedUser;
232
+ return __generator(this, function (_a) {
233
+ switch (_a.label) {
234
+ case 0: return [4 /*yield*/, agent
235
+ .post("/auth/login")
236
+ .send({ email: "test@example.com", password: "password123" })
237
+ .expect(200)];
238
+ case 1:
239
+ loginRes = _a.sent();
240
+ return [4 /*yield*/, GitHubTestUserModel.findOne({ email: "test@example.com" })];
241
+ case 2:
242
+ user = _a.sent();
243
+ if (!user) return [3 /*break*/, 4];
244
+ user.githubId = "99999";
245
+ user.githubUsername = "testghuser";
246
+ return [4 /*yield*/, user.save()];
247
+ case 3:
248
+ _a.sent();
249
+ _a.label = 4;
250
+ case 4: return [4 /*yield*/, agent
251
+ .delete("/auth/github/unlink")
252
+ .set("authorization", "Bearer ".concat(loginRes.body.data.token))
253
+ .expect(200)];
254
+ case 5:
255
+ res = _a.sent();
256
+ (0, bun_test_1.expect)(res.body.data.message).toBe("GitHub account unlinked successfully");
257
+ return [4 /*yield*/, GitHubTestUserModel.findOne({ email: "test@example.com" })];
258
+ case 6:
259
+ updatedUser = _a.sent();
260
+ (0, bun_test_1.expect)(updatedUser.githubId).toBeUndefined();
261
+ (0, bun_test_1.expect)(updatedUser.githubUsername).toBeUndefined();
262
+ return [2 /*return*/];
263
+ }
264
+ });
265
+ }); });
266
+ (0, bun_test_1.it)("user can have both password and GitHub auth", function () { return __awaiter(void 0, void 0, void 0, function () {
267
+ var user, res, updatedUser;
268
+ return __generator(this, function (_a) {
269
+ switch (_a.label) {
270
+ case 0: return [4 /*yield*/, GitHubTestUserModel.findOne({ email: "test@example.com" })];
271
+ case 1:
272
+ user = _a.sent();
273
+ (0, bun_test_1.expect)(user).toBeDefined();
274
+ if (!user) {
275
+ return [2 /*return*/];
276
+ }
277
+ // Link GitHub
278
+ user.githubId = "88888";
279
+ user.githubUsername = "linkeduser";
280
+ return [4 /*yield*/, user.save()];
281
+ case 2:
282
+ _a.sent();
283
+ return [4 /*yield*/, agent
284
+ .post("/auth/login")
285
+ .send({ email: "test@example.com", password: "password123" })
286
+ .expect(200)];
287
+ case 3:
288
+ res = _a.sent();
289
+ (0, bun_test_1.expect)(res.body.data.token).toBeDefined();
290
+ return [4 /*yield*/, GitHubTestUserModel.findOne({ email: "test@example.com" })];
291
+ case 4:
292
+ updatedUser = _a.sent();
293
+ (0, bun_test_1.expect)(updatedUser).toBeDefined();
294
+ (0, bun_test_1.expect)(updatedUser.githubId).toBe("88888");
295
+ (0, bun_test_1.expect)(updatedUser.githubUsername).toBe("linkeduser");
296
+ return [2 /*return*/];
297
+ }
298
+ });
299
+ }); });
300
+ });
301
+ (0, bun_test_1.describe)("GitHub auth disabled", function () {
302
+ var app;
303
+ var agent;
304
+ (0, bun_test_1.beforeEach)(function () { return __awaiter(void 0, void 0, void 0, function () {
305
+ function addRoutes(router) {
306
+ router.get("/test", function (_req, res) { return res.json({ ok: true }); });
307
+ }
308
+ return __generator(this, function (_a) {
309
+ switch (_a.label) {
310
+ case 0:
311
+ (0, bun_test_1.setSystemTime)();
312
+ return [4 /*yield*/, connectDb()];
313
+ case 1:
314
+ _a.sent();
315
+ return [4 /*yield*/, GitHubTestUserModel.deleteMany({})];
316
+ case 2:
317
+ _a.sent();
318
+ // Setup server WITHOUT GitHub auth
319
+ app = (0, expressServer_1.setupServer)({
320
+ addRoutes: addRoutes,
321
+ skipListen: true,
322
+ userModel: GitHubTestUserModel,
323
+ });
324
+ agent = supertest_1.default.agent(app);
325
+ return [2 /*return*/];
326
+ }
327
+ });
328
+ }); });
329
+ (0, bun_test_1.afterEach)(function () { return __awaiter(void 0, void 0, void 0, function () {
330
+ return __generator(this, function (_a) {
331
+ (0, bun_test_1.setSystemTime)();
332
+ return [2 /*return*/];
333
+ });
334
+ }); });
335
+ (0, bun_test_1.it)("GitHub routes are not available when githubAuth is not configured", function () { return __awaiter(void 0, void 0, void 0, function () {
336
+ return __generator(this, function (_a) {
337
+ switch (_a.label) {
338
+ case 0: return [4 /*yield*/, agent.get("/auth/github").expect(404)];
339
+ case 1:
340
+ _a.sent();
341
+ return [4 /*yield*/, agent.get("/auth/github/callback").expect(404)];
342
+ case 2:
343
+ _a.sent();
344
+ return [4 /*yield*/, agent.delete("/auth/github/unlink").expect(404)];
345
+ case 3:
346
+ _a.sent();
347
+ return [2 /*return*/];
348
+ }
349
+ });
350
+ }); });
351
+ });
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./api";
2
2
  export * from "./auth";
3
3
  export * from "./errors";
4
4
  export * from "./expressServer";
5
+ export * from "./githubAuth";
5
6
  export * from "./logger";
6
7
  export * from "./middleware";
7
8
  export * from "./notifiers";
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ __exportStar(require("./api"), exports);
18
18
  __exportStar(require("./auth"), exports);
19
19
  __exportStar(require("./errors"), exports);
20
20
  __exportStar(require("./expressServer"), exports);
21
+ __exportStar(require("./githubAuth"), exports);
21
22
  __exportStar(require("./logger"), exports);
22
23
  __exportStar(require("./middleware"), exports);
23
24
  __exportStar(require("./notifiers"), exports);
package/dist/logger.js CHANGED
@@ -87,7 +87,7 @@ exports.logger = exports.winstonLogger = void 0;
87
87
  exports.setupLogging = setupLogging;
88
88
  var node_fs_1 = __importDefault(require("node:fs"));
89
89
  var node_util_1 = require("node:util");
90
- var Sentry = __importStar(require("@sentry/node"));
90
+ var Sentry = __importStar(require("@sentry/bun"));
91
91
  var winston_1 = __importDefault(require("winston"));
92
92
  function isPrimitive(val) {
93
93
  return val === null || (typeof val !== "object" && typeof val !== "function");
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.sentryAppVersionMiddleware = sentryAppVersionMiddleware;
37
- var Sentry = __importStar(require("@sentry/node"));
37
+ var Sentry = __importStar(require("@sentry/bun"));
38
38
  /**
39
39
  * Express middleware that captures the app version from the request header
40
40
  * and adds it as a tag to the current Sentry scope.
@@ -73,7 +73,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
73
73
  };
74
74
  Object.defineProperty(exports, "__esModule", { value: true });
75
75
  exports.sendToGoogleChat = sendToGoogleChat;
76
- var Sentry = __importStar(require("@sentry/node"));
76
+ var Sentry = __importStar(require("@sentry/bun"));
77
77
  var axios_1 = __importDefault(require("axios"));
78
78
  var errors_1 = require("../errors");
79
79
  var logger_1 = require("../logger");
@@ -100,7 +100,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
100
100
  };
101
101
  Object.defineProperty(exports, "__esModule", { value: true });
102
102
  var bun_test_1 = require("bun:test");
103
- var Sentry = __importStar(require("@sentry/node"));
103
+ var Sentry = __importStar(require("@sentry/bun"));
104
104
  var axios_1 = __importDefault(require("axios"));
105
105
  var googleChatNotifier_1 = require("./googleChatNotifier");
106
106
  (0, bun_test_1.describe)("sendToGoogleChat", function () {
@@ -73,7 +73,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
73
73
  };
74
74
  Object.defineProperty(exports, "__esModule", { value: true });
75
75
  exports.sendToSlack = sendToSlack;
76
- var Sentry = __importStar(require("@sentry/node"));
76
+ var Sentry = __importStar(require("@sentry/bun"));
77
77
  var axios_1 = __importDefault(require("axios"));
78
78
  var errors_1 = require("../errors");
79
79
  var logger_1 = require("../logger");
@@ -100,7 +100,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
100
100
  };
101
101
  Object.defineProperty(exports, "__esModule", { value: true });
102
102
  var bun_test_1 = require("bun:test");
103
- var Sentry = __importStar(require("@sentry/node"));
103
+ var Sentry = __importStar(require("@sentry/bun"));
104
104
  var axios_1 = __importDefault(require("axios"));
105
105
  var slackNotifier_1 = require("./slackNotifier");
106
106
  (0, bun_test_1.describe)("sendToSlack", function () {
@@ -73,7 +73,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
73
73
  };
74
74
  Object.defineProperty(exports, "__esModule", { value: true });
75
75
  exports.sendToZoom = sendToZoom;
76
- var Sentry = __importStar(require("@sentry/node"));
76
+ var Sentry = __importStar(require("@sentry/bun"));
77
77
  var axios_1 = __importDefault(require("axios"));
78
78
  var errors_1 = require("../errors");
79
79
  var logger_1 = require("../logger");
@@ -100,7 +100,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
100
100
  };
101
101
  Object.defineProperty(exports, "__esModule", { value: true });
102
102
  var bun_test_1 = require("bun:test");
103
- var Sentry = __importStar(require("@sentry/node"));
103
+ var Sentry = __importStar(require("@sentry/bun"));
104
104
  var axios_1 = __importDefault(require("axios"));
105
105
  var zoomNotifier_1 = require("./zoomNotifier");
106
106
  (0, bun_test_1.describe)("sendToZoom", function () {
@@ -87,7 +87,7 @@ exports.Permissions = exports.OwnerQueryFilter = void 0;
87
87
  exports.checkPermissions = checkPermissions;
88
88
  exports.permissionMiddleware = permissionMiddleware;
89
89
  // Defaults closed
90
- var Sentry = __importStar(require("@sentry/node"));
90
+ var Sentry = __importStar(require("@sentry/bun"));
91
91
  var mongoose_1 = __importDefault(require("mongoose"));
92
92
  var api_1 = require("./api");
93
93
  var errors_1 = require("./errors");
@@ -162,8 +162,8 @@ captureConsoleMethod("debug");
162
162
  (0, bun_test_1.afterEach)(function () {
163
163
  logs = [];
164
164
  });
165
- // Mock @sentry/node module
166
- bun_test_1.mock.module("@sentry/node", function () {
165
+ // Mock @sentry/bun module
166
+ bun_test_1.mock.module("@sentry/bun", function () {
167
167
  var mockFn = function () { return (0, bun_test_1.mock)(function () { }); };
168
168
  // Mock Scope
169
169
  var mockScope = {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "url": "https://github.com/FlourishHealth/terreno/issues"
5
5
  },
6
6
  "dependencies": {
7
- "@sentry/node": "^10.25.0",
7
+ "@sentry/bun": "^10.25.0",
8
8
  "@sentry/profiling-node": "^10.25.0",
9
9
  "@types/qs": "^6.14.0",
10
10
  "@wesleytodd/openapi": "^1.1.0",
@@ -23,6 +23,7 @@
23
23
  "on-finished": "^2.3.0",
24
24
  "passport": "^0.7.0",
25
25
  "passport-anonymous": "^1.0.1",
26
+ "passport-github2": "^0.1.12",
26
27
  "passport-jwt": "^4.0.0",
27
28
  "passport-local": "^1.0.0",
28
29
  "passport-local-mongoose": "^9.0.1",
@@ -44,6 +45,7 @@
44
45
  "@types/on-finished": "^2.3.4",
45
46
  "@types/passport": "^1.0.17",
46
47
  "@types/passport-anonymous": "^1.0.5",
48
+ "@types/passport-github2": "^1.2.9",
47
49
  "@types/passport-jwt": "^4.0.1",
48
50
  "@types/passport-local": "^1.0.38",
49
51
  "@types/sinon": "^17.0.4",
@@ -85,5 +87,5 @@
85
87
  "updateSnapshot": "bun test --update-snapshots"
86
88
  },
87
89
  "types": "dist/index.d.ts",
88
- "version": "0.0.17"
90
+ "version": "0.0.18"
89
91
  }
@@ -1,5 +1,5 @@
1
1
  import {beforeEach, describe, expect, it} from "bun:test";
2
- import * as Sentry from "@sentry/node";
2
+ import * as Sentry from "@sentry/bun";
3
3
  import type express from "express";
4
4
  import qs from "qs";
5
5
  import supertest from "supertest";