Skip to content

Commit 8997f58

Browse files
committed
Trim path if it's absolute
1 parent ede4f9b commit 8997f58

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

packages/react-error-overlay/src/components/frame.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,12 @@ function createFrame(
127127
lastElement: boolean
128128
) {
129129
const { compiled } = frameSetting;
130-
let { functionName } = frame;
130+
let { functionName, _originalFileName: sourceFileName } = frame;
131131
const {
132132
fileName,
133133
lineNumber,
134134
columnNumber,
135135
_scriptCode: scriptLines,
136-
_originalFileName: sourceFileName,
137136
_originalLineNumber: sourceLineNumber,
138137
_originalColumnNumber: sourceColumnNumber,
139138
_originalScriptCode: sourceLines,
@@ -149,6 +148,10 @@ function createFrame(
149148

150149
let url;
151150
if (!compiled && sourceFileName && sourceLineNumber) {
151+
// Remove everything up to the first /src/
152+
const trimMatch = /.*?[/|\\](src[/|\\].*)/.exec(sourceFileName);
153+
if (trimMatch && trimMatch[1]) sourceFileName = trimMatch[1];
154+
152155
url = sourceFileName + ':' + sourceLineNumber;
153156
if (sourceColumnNumber) {
154157
url += ':' + sourceColumnNumber;

packages/react-scripts/template/src/App.js

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,28 @@ import React, { Component } from 'react';
22
import logo from './logo.svg';
33
import './App.css';
44

5+
import Bad from './fold/Bad';
6+
57
class App extends Component {
68
render() {
79
return (
810
<div className="App">
911
<div className="App-header">
10-
<img src={logo} className="App-logo" alt="logo" />
11-
<h2>Welcome to React</h2>
12+
<div>
13+
<div>
14+
<div>
15+
<div>
16+
<div>
17+
<div>
18+
<img src={logo} className="App-logo" alt="logo" />
19+
<Bad>Welcome to React</Bad>
20+
{[1, 2, 3].map(s => <span>{s}</span>)}
21+
</div>{' '}
22+
</div>{' '}
23+
</div>{' '}
24+
</div>{' '}
25+
</div>{' '}
26+
</div>
1227
</div>
1328
<p className="App-intro">
1429
To get started, edit <code>src/App.js</code> and save to reload.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import React from 'react';
2+
3+
let Lol = null;
4+
export default function Bad() {
5+
return <div><h2><Lol /></h2></div>;
6+
}

0 commit comments

Comments
 (0)