diff --git a/compiler/generate/index.js b/compiler/generate/index.js index df97dca040..bfff70b9ae 100644 --- a/compiler/generate/index.js +++ b/compiler/generate/index.js @@ -177,6 +177,8 @@ export default function generate ( parsed, template ) { if ( chunk.type === 'Text' ) { return JSON.stringify( chunk.data ); } else { + addSourcemapLocations( chunk.expression ); + contextualise( code, chunk.expression, current.contexts, current.indexes, helpers ); return `( [✂${chunk.expression.start}-${chunk.expression.end}✂] )`; } @@ -318,6 +320,8 @@ export default function generate ( parsed, template ) { ${current.target}.appendChild( ${name} ); ` ); + addSourcemapLocations( node.expression ); + const usedContexts = contextualise( code, node.expression, current.contexts, current.indexes, helpers ); const snippet = `[✂${node.expression.start}-${node.expression.end}✂]`; @@ -357,6 +361,8 @@ export default function generate ( parsed, template ) { var ${name} = null; ` ); + addSourcemapLocations( node.expression ); + const usedContexts = contextualise( code, node.expression, current.contexts, current.indexes, helpers ); const snippet = `[✂${node.expression.start}-${node.expression.end}✂]`; @@ -399,14 +405,11 @@ export default function generate ( parsed, template ) { ${name}_anchor.parentNode.removeChild( ${name}_anchor ); ` ); - current = { + current = Object.assign( {}, current, { useAnchor: true, name: renderer, target: 'target', - contexts: current.contexts, - contextChain: current.contextChain, - initStatements: [], updateStatements: [], teardownStatements: [], @@ -414,7 +417,7 @@ export default function generate ( parsed, template ) { counter: counter(), parent: current - }; + }); }, leave () { @@ -438,6 +441,8 @@ export default function generate ( parsed, template ) { const ${name}_fragment = document.createDocumentFragment(); ` ); + addSourcemapLocations( node.expression ); + contextualise( code, node.expression, current.contexts, current.indexes, helpers ); const snippet = `[✂${node.expression.start}-${node.expression.end}✂]`;