@hooklink/cli 0.1.45 → 0.1.46

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/utils/sentry.ts"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,IAAI,IAAI,CAmBjC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAIrD;AAED,wBAAsB,WAAW,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
1
+ {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/utils/sentry.ts"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,IAAI,IAAI,CA+CjC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAIrD;AAED,wBAAsB,WAAW,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
@@ -19,19 +19,44 @@ function initSentry() {
19
19
  if (!isTelemetryEnabled())
20
20
  return;
21
21
  const dsn = process.env.SENTRY_DSN || HOOKLINK_SENTRY_DSN;
22
+ // Pre-check: diagnostics_channel.subscribe must exist for Sentry's Http/NodeFetch
23
+ // integrations. Older Node versions lack this and Sentry throws during setupOnce().
24
+ let hasDiagnosticsSubscribe = false;
25
+ try {
26
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
27
+ const dc = require('diagnostics_channel');
28
+ const ch = dc.channel('sentry.test');
29
+ hasDiagnosticsSubscribe = typeof ch.subscribe === 'function';
30
+ }
31
+ catch {
32
+ // diagnostics_channel not available
33
+ }
22
34
  try {
23
35
  // eslint-disable-next-line @typescript-eslint/no-require-imports
24
36
  Sentry = require('@sentry/node');
37
+ const unsafeIntegrations = ['Http', 'NodeFetch'];
38
+ Sentry.init({
39
+ dsn,
40
+ environment: process.env.NODE_ENV || 'production',
41
+ tracesSampleRate: 0.01,
42
+ ...(hasDiagnosticsSubscribe
43
+ ? {}
44
+ : {
45
+ integrations: (defaults) => defaults.filter((i) => !unsafeIntegrations.includes(i.name)),
46
+ }),
47
+ beforeSend(event) {
48
+ const msg = event.exception?.values?.[0]?.value || '';
49
+ if (msg.includes('diagnosticsChannel.subscribe'))
50
+ return null;
51
+ return event;
52
+ },
53
+ });
54
+ initialized = true;
25
55
  }
26
56
  catch {
27
- return;
57
+ Sentry = null;
58
+ initialized = false;
28
59
  }
29
- Sentry.init({
30
- dsn,
31
- environment: process.env.NODE_ENV || 'production',
32
- tracesSampleRate: 0.01,
33
- });
34
- initialized = true;
35
60
  }
36
61
  function captureException(error) {
37
62
  if (initialized && Sentry) {
@@ -1 +1 @@
1
- {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../src/utils/sentry.ts"],"names":[],"mappings":";;AAeA,gCAmBC;AAED,4CAIC;AAED,kCAIC;AA9CD,qCAAkC;AAElC,MAAM,mBAAmB,GACvB,uFAAuF,CAAC;AAE1F,8DAA8D;AAC9D,IAAI,MAAM,GAAQ,IAAI,CAAC;AACvB,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,SAAS,kBAAkB;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,eAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO;IAElC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAE1D,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;QACjD,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAO,GAAG,IAAI;IAC9C,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../src/utils/sentry.ts"],"names":[],"mappings":";;AAeA,gCA+CC;AAED,4CAIC;AAED,kCAIC;AA1ED,qCAAkC;AAElC,MAAM,mBAAmB,GACvB,uFAAuF,CAAC;AAE1F,8DAA8D;AAC9D,IAAI,MAAM,GAAQ,IAAI,CAAC;AACvB,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,SAAS,kBAAkB;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,eAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO;IAElC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAE1D,kFAAkF;IAClF,oFAAoF;IACpF,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACrC,uBAAuB,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,YAAY;YACjD,gBAAgB,EAAE,IAAI;YACtB,GAAG,CAAC,uBAAuB;gBACzB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,YAAY,EAAE,CAAC,QAAmB,EAAE,EAAE,CACnC,QAA+B,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5C;iBACJ,CAAC;YACN,UAAU,CAAC,KAAwD;gBACjE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACtD,IAAI,GAAG,CAAC,QAAQ,CAAC,8BAA8B,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,CAAC;QAEH,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;QACd,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAO,GAAG,IAAI;IAC9C,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hooklink/cli",
3
- "version": "0.1.45",
3
+ "version": "0.1.46",
4
4
  "description": "Hooklink CLI - Forward webhooks to your local development machine",
5
5
  "main": "dist/index.js",
6
6
  "bin": {