Skip to content

Commit c4155e3

Browse files
authoredMay 21, 2019
(chore) - support __source for jsx-sourcemaps (preactjs#1628)
* chore: support __source for jsx-sourcemaps * refactor: pr remark
1 parent 52a40d4 commit c4155e3

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed
 

‎debug/src/debug.js

+6
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,12 @@ export function initDebug() {
140140
};
141141

142142
options.vnode = (vnode) => {
143+
let source;
144+
if (vnode.props && vnode.props.__source) {
145+
source = vnode.props.__source;
146+
delete vnode.props.__source;
147+
}
148+
vnode.__source = source;
143149
Object.defineProperties(vnode, deprecatedAttributes);
144150
if (oldVnode) oldVnode(vnode);
145151
};

‎debug/test/browser/debug.test.js

+14
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,20 @@ describe('debug', () => {
8282
expect(fn).to.throw(/createElement/);
8383
});
8484

85+
it('should add __source to the vnode in debug mode.', () => {
86+
const vnode = h('div', {
87+
__source: {
88+
fileName: 'div.jsx',
89+
lineNumber: 3
90+
}
91+
});
92+
expect(vnode.__source).to.deep.equal({
93+
fileName: 'div.jsx',
94+
lineNumber: 3
95+
});
96+
expect(vnode.props.__source).to.be.undefined;
97+
});
98+
8599
it('should throw an error when using a hook outside a render', () => {
86100
class App extends Component {
87101
componentWillMount() {

0 commit comments

Comments
 (0)