<p dir="auto">I am trying for the life of me to get one of the more efficient source map option working.</p>
<p dir="auto">When I use any <code class="notranslate">source-map</code> oriented devtool setting, if I try and set a breakpoint in Chrome 48.0.2564.82, it jumps to a different line that what I selected.</p>
<p dir="auto">If I use <code class="notranslate">eval-source-map</code> not only do I get the line number jump, but I also never get a break point stop even on the line it jumped to.</p>
<p dir="auto"><strong>I'm submitting a bug report</strong></p>
<p dir="auto"><strong>Webpack version:</strong><br>
1.10.x</p>
<p dir="auto"><strong>Please tell us about your environment:</strong><br>
OSX 10.x</p>
<p dir="auto"><strong>Current behavior:</strong><br>
A module is evaluated twice.</p>
<p dir="auto"><strong>Expected/desired behavior:</strong><br>
This should not happen by default. It really goes against the <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-moduleevaluation" rel="nofollow">ES6 module contract</a>.</p>
<ul dir="auto">
<li><strong>If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem along with a gist/jsbin of your webpack configuration.</strong><br>
Using the <code class="notranslate">DedupePlugin</code> <a href="https://github.com/webpack/webpack/issues/2134" data-hovercard-type="issue" data-hovercard-url="/webpack/webpack/issues/2134/hovercard">does not solve the issue</a> (I tried and verified). No repro yet, but I have a file that starts with the following, and as you can see it has a console.log at the top level:</li>
</ul>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="// infamous/motor/Node.js
import 'geometry-interfaces'
import Motor from './Motor'
import MotorHTMLNode from '../motor-html/node'

console.log(' -- Node module ?????!')"><pre class="notranslate"><span class="pl-c">// infamous/motor/Node.js</span>
<span class="pl-k">import</span> <span class="pl-s">'geometry-interfaces'</span>
<span class="pl-k">import</span> <span class="pl-v">Motor</span> <span class="pl-k">from</span> <span class="pl-s">'./Motor'</span>
<span class="pl-k">import</span> <span class="pl-v">MotorHTMLNode</span> <span class="pl-k">from</span> <span class="pl-s">'../motor-html/node'</span>

<span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">' -- Node module ?????!'</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">Multiple modules in the app import that file, and the <code class="notranslate">console.log</code> statement is fired twice, as seen in the output:</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/297678/16609912/641914be-430c-11e6-9ac1-2b7244d7a8c2.png"><img src="https://cloud.githubusercontent.com/assets/297678/16609912/641914be-430c-11e6-9ac1-2b7244d7a8c2.png" alt="screen shot 2016-07-05 at 11 25 51 pm" style="max-width: 100%;"></a></p>
<ul dir="auto">
<li><strong>What is the expected behavior?</strong><br>
The <code class="notranslate">-- Node module ?????!</code> output should only appear once.</li>
<li><strong>What is the motivation / use case for changing the behavior?</strong><br>
If this isn't a bug, then to follow the spec, making modules easier to reason about and less error-prone. Problems can happen when data structures are expected to be singletons.</li>
<li><strong>Browser:</strong> not applicable</li>
<li><strong>Language:</strong> ES6/7 via Babel</li>
</ul>