ink 7.0.4 → 7.0.5

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.
@@ -20,6 +20,7 @@ export default function ErrorOverview({ error }) {
20
20
  const filePath = cleanupPath(origin?.file);
21
21
  let excerpt;
22
22
  let lineWidth = 0;
23
+ const stackLineCounts = new Map();
23
24
  if (filePath && origin?.line && fs.existsSync(filePath)) {
24
25
  const sourceCode = fs.readFileSync(filePath, 'utf8');
25
26
  excerpt = codeExcerpt(sourceCode, origin.line);
@@ -58,16 +59,21 @@ export default function ErrorOverview({ error }) {
58
59
  .slice(1)
59
60
  .map(line => {
60
61
  const parsedLine = stackUtils.parseLine(line);
61
- // If the line from the stack cannot be parsed, we print out the unparsed line.
62
- if (!parsedLine) {
63
- return (React.createElement(Box, { key: line },
62
+ const lineCount = stackLineCounts.get(line) ?? 0;
63
+ stackLineCounts.set(line, lineCount + 1);
64
+ const key = `${line}-${lineCount}`;
65
+ // If the line from the stack cannot be parsed, or parsed into an incomplete
66
+ // frame without source location data (for example, "at native"), we print
67
+ // out the unparsed line.
68
+ if (!parsedLine?.file || !parsedLine.line || !parsedLine.column) {
69
+ return (React.createElement(Box, { key: key },
64
70
  React.createElement(Text, { dimColor: true }, "- "),
65
71
  React.createElement(Text, { dimColor: true, bold: true },
66
72
  line,
67
73
  "\\t",
68
74
  ' ')));
69
75
  }
70
- return (React.createElement(Box, { key: line },
76
+ return (React.createElement(Box, { key: key },
71
77
  React.createElement(Text, { dimColor: true }, "- "),
72
78
  React.createElement(Text, { dimColor: true, bold: true }, parsedLine.function),
73
79
  React.createElement(Text, { dimColor: true, color: "gray", "aria-label": `at ${cleanupPath(parsedLine.file) ?? ''} line ${parsedLine.line} column ${parsedLine.column}` },
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorOverview.js","sourceRoot":"","sources":["../../src/components/ErrorOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ErrorOverview.js","sourceRoot":"","sources":["../../src/components/ErrorOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,WAA+B,MAAM,cAAc,CAAC;AAC3D,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,+DAA+D;AAC/D,8CAA8C;AAC9C,MAAM,WAAW,GAAG,CAAC,IAAwB,EAAsB,EAAE;IACpE,OAAO,IAAI,EAAE,OAAO,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IACjC,GAAG,EAAE,GAAG,EAAE;IACV,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE;CACrC,CAAC,CAAC;AAMH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAC,KAAK,EAAQ;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAkC,CAAC;IACvC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,IAAI,QAAQ,IAAI,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,EAAC,IAAI,EAAC,IAAI,OAAO,EAAE,CAAC;gBAC9B,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,CACN,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;QACrC,oBAAC,GAAG;YACH,oBAAC,IAAI,IAAC,eAAe,EAAC,KAAK,EAAC,KAAK,EAAC,OAAO;gBACvC,GAAG;;gBACE,GAAG,CACH;YAEP,oBAAC,IAAI;;gBAAG,KAAK,CAAC,OAAO,CAAQ,CACxB;QAEL,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CACrB,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YAChB,oBAAC,IAAI,IAAC,QAAQ;gBACZ,QAAQ;;gBAAG,MAAM,CAAC,IAAI;;gBAAG,MAAM,CAAC,MAAM,CACjC,CACF,CACN,CAAC,CAAC,CAAC,IAAI;QAEP,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CACpB,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,IACvC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAC/B,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI;YACb,oBAAC,GAAG,IAAC,KAAK,EAAE,SAAS,GAAG,CAAC;gBACxB,oBAAC,IAAI,IACJ,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,EAC9B,eAAe,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzD,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,gBAEhD,IAAI,KAAK,MAAM,CAAC,IAAI;wBACnB,CAAC,CAAC,QAAQ,IAAI,SAAS;wBACvB,CAAC,CAAC,QAAQ,IAAI,EAAE;oBAGjB,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC;wBAChC,CACF;YAEN,oBAAC,IAAI,IACJ,GAAG,EAAE,IAAI,EACT,eAAe,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACzD,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAEhD,GAAG,GAAG,KAAK,CACN,CACF,CACN,CAAC,CACG,CACN,CAAC,CAAC,CAAC,IAAI;QAEP,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,IACvC,KAAK,CAAC,KAAK;aACV,KAAK,CAAC,IAAI,CAAC;aACX,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,IAAI,CAAC,EAAE;YACX,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;YAEnC,4EAA4E;YAC5E,0EAA0E;YAC1E,yBAAyB;YACzB,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACjE,OAAO,CACN,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG;oBACZ,oBAAC,IAAI,IAAC,QAAQ,eAAU;oBACxB,oBAAC,IAAI,IAAC,QAAQ,QAAC,IAAI;wBACjB,IAAI;;wBACF,GAAG,CACA,CACF,CACN,CAAC;YACH,CAAC;YAED,OAAO,CACN,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG;gBACZ,oBAAC,IAAI,IAAC,QAAQ,eAAU;gBACxB,oBAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,UACjB,UAAU,CAAC,QAAQ,CACd;gBACP,oBAAC,IAAI,IACJ,QAAQ,QACR,KAAK,EAAC,MAAM,gBACA,MACX,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EACjC,SAAS,UAAU,CAAC,IAAI,WAAW,UAAU,CAAC,MAAM,EAAE;oBAErD,GAAG;;oBACF,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;;oBAAG,UAAU,CAAC,IAAI;;oBACrD,UAAU,CAAC,MAAM;wBACZ,CACF,CACN,CAAC;QACH,CAAC,CAAC,CACE,CACN,CAAC,CAAC,CAAC,IAAI,CACH,CACN,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ink",
3
- "version": "7.0.4",
3
+ "version": "7.0.5",
4
4
  "description": "React for CLI",
5
5
  "license": "MIT",
6
6
  "repository": "vadimdemedes/ink",
@@ -102,7 +102,7 @@
102
102
  "strip-ansi": "^7.2.0",
103
103
  "tsx": "^4.21.0",
104
104
  "typescript": "^5.8.3",
105
- "xo": "^1.2.3"
105
+ "xo": "^2.0.2"
106
106
  },
107
107
  "peerDependencies": {
108
108
  "@types/react": ">=19.2.0",