@whatitbroke/react 1.0.1 → 1.0.3

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":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EAGZ,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CACrD;AAED,qBAAa,YAAa,YAAW,YAAY;IAC/C,SAAgB,IAAI,wBAAwB;IAC5C,SAAgB,SAAS,EAAG,OAAO,CAAU;IAE7C,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAmB;gBAEvC,IAAI,CAAC,EAAE,eAAe;IAI3B,MAAM,IAAI,OAAO;IASjB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS;IAInD,iBAAiB,IAAI,cAAc;IAO1C;;OAEG;IACI,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE;IA4BhG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,YAAY;IAoEjE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,gBAAgB;CAIzE"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EAGZ,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CACrD;AAED,qBAAa,YAAa,YAAW,YAAY;IAC/C,SAAgB,IAAI,wBAAwB;IAC5C,SAAgB,SAAS,EAAG,OAAO,CAAU;IAE7C,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAmB;gBAEvC,IAAI,CAAC,EAAE,eAAe;IAI3B,MAAM,IAAI,OAAO;IASjB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS;IAInD,iBAAiB,IAAI,cAAc;IAO1C;;OAEG;IACI,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE;IAuChG,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,YAAY;IAoEjE,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,gBAAgB;CAIzE"}
package/dist/adapter.js CHANGED
@@ -38,14 +38,26 @@ export class ReactAdapter {
38
38
  const components = [];
39
39
  for (const rawLine of lines) {
40
40
  const line = rawLine.trim();
41
- const match = line.match(/^in\s+([A-Za-z0-9_]+)/);
42
- if (match) {
43
- components.push(match[1]);
41
+ let compName;
42
+ const match = line.match(/^(?:in|at)\s+([A-Za-z0-9_$]+)/);
43
+ if (match && match[1] !== 'Unknown' && match[1] !== 'anonymous') {
44
+ compName = match[1];
45
+ }
46
+ else {
47
+ const fileMatch = line.match(/(?:at|created by)\s+.*?[/\\]([A-Za-z0-9_$-]+)\.[a-zA-Z]+/);
48
+ if (fileMatch) {
49
+ compName = fileMatch[1];
50
+ }
51
+ else {
52
+ const createdMatch = line.match(/created by\s+([A-Za-z0-9_$]+)/);
53
+ if (createdMatch)
54
+ compName = createdMatch[1];
55
+ }
56
+ }
57
+ if (compName && !components.includes(compName)) {
58
+ components.push(compName);
44
59
  }
45
60
  }
46
- // In React componentStack, the top line is the crashing leaf component,
47
- // and subsequent lines are parent components (e.g. leaf -> parent -> root).
48
- // Reverse it to create chronological root-to-leaf renderPath.
49
61
  const reversed = [...components].reverse();
50
62
  const primary = components[0] || 'Component';
51
63
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,12 @@ import { Component, ErrorInfo as ReactErrorInfo, ReactNode } from 'react';
6
6
  import { RootCauseReport } from '@whatitbroke/shared';
7
7
  export interface WhatItBrokeBoundaryProps {
8
8
  children: ReactNode;
9
- fallback?: (report: RootCauseReport | null, error: Error) => ReactNode;
9
+ fallback?: (report: RootCauseReport | null, error: Error, reset: () => void) => ReactNode;
10
10
  onError?: (report: RootCauseReport, error: Error) => void;
11
11
  showOverlay?: boolean;
12
+ overlayPosition?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
13
+ logToConsole?: boolean;
14
+ inlineFallback?: boolean;
12
15
  }
13
16
  interface WhatItBrokeBoundaryState {
14
17
  hasError: boolean;
@@ -19,8 +22,9 @@ export declare class WhatItBrokeBoundary extends Component<WhatItBrokeBoundaryPr
19
22
  private adapter;
20
23
  constructor(props: WhatItBrokeBoundaryProps);
21
24
  static getDerivedStateFromError(error: Error): Partial<WhatItBrokeBoundaryState>;
25
+ reset: () => void;
22
26
  componentDidCatch(error: Error, errorInfo: ReactErrorInfo): Promise<void>;
23
27
  render(): ReactNode;
24
28
  }
25
- export {};
29
+ export { WhatItBrokeBoundary as WhatItBrokeErrorBoundary };
26
30
  //# sourceMappingURL=boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../src/boundary.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,SAAS,EAAE,SAAS,IAAI,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;IACvE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,wBAAwB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IACpG,OAAO,CAAC,OAAO,CAAe;gBAElB,KAAK,EAAE,wBAAwB;IAU3C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,MAAM,IAAI,SAAS;CA8G7B"}
1
+ {"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../src/boundary.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,SAAS,EAAE,SAAS,IAAI,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAIvE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;IAC1F,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,wBAAwB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IACpG,OAAO,CAAC,OAAO,CAAe;gBAElB,KAAK,EAAE,wBAAwB;IAU3C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIzE,KAAK,QAAO,IAAI,CAOrB;IAEa,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/E,MAAM,IAAI,SAAS;CAmI7B;AAED,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,CAAC"}
package/dist/boundary.js CHANGED
@@ -4,6 +4,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  * Wraps React components, captures crashes, and renders an actionable root-cause overlay.
5
5
  */
6
6
  import { Component } from 'react';
7
+ import { formatReportCLI } from '@whatitbroke/shared';
8
+ import { ErrorOverlay } from '@whatitbroke/core';
7
9
  import { ReactAdapter } from './adapter.js';
8
10
  export class WhatItBrokeBoundary extends Component {
9
11
  adapter;
@@ -19,13 +21,36 @@ export class WhatItBrokeBoundary extends Component {
19
21
  static getDerivedStateFromError(error) {
20
22
  return { hasError: true, error };
21
23
  }
24
+ reset = () => {
25
+ this.state = { hasError: false, error: null, report: null };
26
+ try {
27
+ this.setState({ hasError: false, error: null, report: null });
28
+ }
29
+ catch {
30
+ // Handled for unmounted test contexts
31
+ }
32
+ };
22
33
  async componentDidCatch(error, errorInfo) {
23
- const report = await this.adapter.analyzeReactError(error, {
24
- componentStack: errorInfo.componentStack || undefined,
25
- });
26
- this.setState({ report });
27
- if (this.props.onError) {
28
- this.props.onError(report, error);
34
+ try {
35
+ const report = await this.adapter.analyzeReactError(error, {
36
+ componentStack: errorInfo.componentStack || undefined,
37
+ });
38
+ this.setState({ report });
39
+ if (this.props.logToConsole !== false) {
40
+ console.error(formatReportCLI(report));
41
+ }
42
+ if (this.props.showOverlay !== false && typeof window !== 'undefined') {
43
+ if (this.props.overlayPosition) {
44
+ ErrorOverlay.init({ position: this.props.overlayPosition });
45
+ }
46
+ ErrorOverlay.addReport(report, error);
47
+ }
48
+ if (this.props.onError) {
49
+ this.props.onError(report, error);
50
+ }
51
+ }
52
+ catch (analysisErr) {
53
+ console.error('WhatItBroke failed during React error analysis:', analysisErr);
29
54
  }
30
55
  }
31
56
  render() {
@@ -33,9 +58,12 @@ export class WhatItBrokeBoundary extends Component {
33
58
  return this.props.children;
34
59
  }
35
60
  if (this.props.fallback && this.state.error) {
36
- return this.props.fallback(this.state.report, this.state.error);
61
+ return this.props.fallback(this.state.report, this.state.error, this.reset);
37
62
  }
38
- // Default actionable overlay
63
+ if (this.props.inlineFallback === false) {
64
+ return null;
65
+ }
66
+ // Default actionable overlay card with reset button
39
67
  const report = this.state.report;
40
68
  const err = this.state.error;
41
69
  return (_jsxs("div", { style: {
@@ -47,15 +75,24 @@ export class WhatItBrokeBoundary extends Component {
47
75
  border: '1px solid #ef4444',
48
76
  margin: '20px',
49
77
  boxShadow: '0 20px 25px -5px rgba(0, 0, 0, 0.5)',
50
- }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '12px', marginBottom: '16px' }, children: [_jsx("span", { style: {
51
- background: '#ef4444',
52
- color: 'white',
53
- fontWeight: 800,
54
- padding: '4px 10px',
78
+ }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: '16px' }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '12px' }, children: [_jsx("span", { style: {
79
+ background: '#ef4444',
80
+ color: 'white',
81
+ fontWeight: 800,
82
+ padding: '4px 10px',
83
+ borderRadius: '6px',
84
+ fontSize: '12px',
85
+ letterSpacing: '1px',
86
+ }, children: "WHAT IT BROKE" }), _jsxs("h2", { style: { fontSize: '18px', margin: 0, color: '#f87171' }, children: [err?.name, ": ", err?.message] })] }), _jsx("button", { onClick: this.reset, style: {
87
+ background: 'rgba(255, 255, 255, 0.1)',
88
+ border: '1px solid rgba(255, 255, 255, 0.2)',
89
+ color: '#f8fafc',
90
+ padding: '6px 14px',
55
91
  borderRadius: '6px',
56
- fontSize: '12px',
57
- letterSpacing: '1px',
58
- }, children: "WHAT IT BROKE" }), _jsxs("h2", { style: { fontSize: '18px', margin: 0, color: '#f87171' }, children: [err?.name, ": ", err?.message] })] }), report ? (_jsxs("div", { children: [_jsxs("div", { style: { marginBottom: '12px', color: '#94a3b8', fontSize: '13px' }, children: ["\uD83D\uDCCD ", _jsxs("strong", { children: [report.affectedLocation.file, ":", report.affectedLocation.line] })] }), _jsxs("div", { style: {
92
+ fontSize: '13px',
93
+ fontWeight: 600,
94
+ cursor: 'pointer',
95
+ }, children: "\u21BB Try Again" })] }), report ? (_jsxs("div", { children: [_jsxs("div", { style: { marginBottom: '12px', color: '#94a3b8', fontSize: '13px' }, children: ["\uD83D\uDCCD ", _jsxs("strong", { children: [report.affectedLocation.file, ":", report.affectedLocation.line] })] }), _jsxs("div", { style: {
59
96
  background: 'rgba(239, 68, 68, 0.1)',
60
97
  border: '1px solid rgba(239, 68, 68, 0.2)',
61
98
  padding: '12px',
@@ -79,4 +116,5 @@ export class WhatItBrokeBoundary extends Component {
79
116
  }, children: report.suggestedFix.suggestedPatch }))] })) : (_jsx("div", { style: { color: '#94a3b8', fontSize: '14px' }, children: "Analyzing component crash and reconstructing execution path..." }))] }));
80
117
  }
81
118
  }
119
+ export { WhatItBrokeBoundary as WhatItBrokeErrorBoundary };
82
120
  //# sourceMappingURL=boundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boundary.js","sourceRoot":"","sources":["../src/boundary.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAc,EAAE,SAAS,EAA0C,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAe5C,MAAM,OAAO,mBAAoB,SAAQ,SAA6D;IAC5F,OAAO,CAAe;IAE9B,YAAY,KAA+B;QACzC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC1C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAAC,KAAY,EAAE,SAAyB;QACtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE;YACzD,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,SAAS;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE7B,OAAO,CACL,eACE,KAAK,EAAE;gBACL,UAAU,EAAE,qDAAqD;gBACjE,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,MAAM;gBACf,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,qCAAqC;aACjD,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aACtF,eACE,KAAK,EAAE;gCACL,UAAU,EAAE,SAAS;gCACrB,KAAK,EAAE,OAAO;gCACd,UAAU,EAAE,GAAG;gCACf,OAAO,EAAE,UAAU;gCACnB,YAAY,EAAE,KAAK;gCACnB,QAAQ,EAAE,MAAM;gCAChB,aAAa,EAAE,KAAK;6BACrB,8BAGI,EACP,cAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,aACzD,GAAG,EAAE,IAAI,QAAI,GAAG,EAAE,OAAO,IACvB,IACD,EAEL,MAAM,CAAC,CAAC,CAAC,CACR,0BACE,eAAK,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,8BACnE,6BAAS,MAAM,CAAC,gBAAgB,CAAC,IAAI,OAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAU,IAC7E,EAEN,eACE,KAAK,EAAE;gCACL,UAAU,EAAE,wBAAwB;gCACpC,MAAM,EAAE,kCAAkC;gCAC1C,OAAO,EAAE,MAAM;gCACf,YAAY,EAAE,KAAK;gCACnB,YAAY,EAAE,MAAM;6BACrB,aAED,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,4BAEzF,EACN,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YACjE,MAAM,CAAC,SAAS,GACb,IACF,EAEN,eACE,KAAK,EAAE;gCACL,UAAU,EAAE,yBAAyB;gCACrC,MAAM,EAAE,mCAAmC;gCAC3C,OAAO,EAAE,MAAM;gCACf,YAAY,EAAE,KAAK;gCACnB,YAAY,EAAE,MAAM;6BACrB,aAED,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,sCAEzF,EACN,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YACjE,MAAM,CAAC,YAAY,CAAC,WAAW,GAC5B,IACF,EAEL,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,CACrC,cACE,KAAK,EAAE;gCACL,UAAU,EAAE,SAAS;gCACrB,OAAO,EAAE,MAAM;gCACf,YAAY,EAAE,KAAK;gCACnB,UAAU,EAAE,WAAW;gCACvB,QAAQ,EAAE,MAAM;gCAChB,SAAS,EAAE,MAAM;gCACjB,MAAM,EAAE,mBAAmB;gCAC3B,KAAK,EAAE,SAAS;6BACjB,YAEA,MAAM,CAAC,YAAY,CAAC,cAAc,GAC/B,CACP,IACG,CACP,CAAC,CAAC,CAAC,CACF,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,+EAE5C,CACP,IACG,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"boundary.js","sourceRoot":"","sources":["../src/boundary.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './adapter.js';
2
2
  export * from './hooks-detector.js';
3
3
  export * from './boundary.js';
4
+ export * from './overlay.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './adapter.js';
2
2
  export * from './hooks-detector.js';
3
3
  export * from './boundary.js';
4
+ export * from './overlay.js';
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * WhatItBroke - React Overlay Re-Export
3
+ */
4
+ export { ErrorOverlay, ErrorOverlay as ReactErrorOverlay } from '@whatitbroke/core';
5
+ export type { OverlayOptions, CapturedWarning, PerformanceIssue, OverlayTab } from '@whatitbroke/core';
6
+ //# sourceMappingURL=overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * WhatItBroke - React Overlay Re-Export
3
+ */
4
+ export { ErrorOverlay, ErrorOverlay as ReactErrorOverlay } from '@whatitbroke/core';
5
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whatitbroke/react",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "type": "module",
5
5
  "description": "React adapter, Error Boundary, hook rule analyzer, and component tree inspector for WhatItBroke",
6
6
  "main": "./dist/index.js",
@@ -17,16 +17,19 @@
17
17
  "default": "./dist/index.js"
18
18
  }
19
19
  },
20
+ "sideEffects": false,
20
21
  "scripts": {
21
- "build": "tsc",
22
- "prepublishOnly": "npm run build"
22
+ "build": "tsc"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@whatitbroke/shared": "^1.0.1",
29
- "@whatitbroke/core": "^1.0.1"
28
+ "@whatitbroke/shared": "^1.0.3",
29
+ "@whatitbroke/core": "^1.0.3"
30
+ },
31
+ "devDependencies": {
32
+ "@types/react": "^19.0.10"
30
33
  },
31
34
  "peerDependencies": {
32
35
  "react": ">=18.0.0"
@@ -36,19 +39,5 @@
36
39
  "optional": true
37
40
  }
38
41
  },
39
- "devDependencies": {
40
- "@types/react": "^19.0.10"
41
- },
42
- "keywords": [
43
- "debugger",
44
- "react",
45
- "error-boundary",
46
- "hooks",
47
- "root-cause"
48
- ],
49
- "author": "WhatItBroke Team",
50
- "license": "MIT",
51
- "engines": {
52
- "node": ">=18.0.0"
53
- }
42
+ "license": "MIT"
54
43
  }