<p dir="auto">2.1.0-beta.27</p>
<p dir="auto"><strong>Do you want to request a <em>feature</em> or report a <em>bug</em>?</strong></p>

<p dir="auto">Bug.</p>
<p dir="auto">I have a dependency structure whose salient point can be described as something like this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="root
├─ async@^2.0.0
└─ @scope
   ├─ foo
   │  └─ async@^1.5.0
   └─ bar
      └─ async@^2.0.0"><pre class="notranslate"><code class="notranslate">root
├─ async@^2.0.0
└─ @scope
   ├─ foo
   │  └─ async@^1.5.0
   └─ bar
      └─ async@^2.0.0
</code></pre></div>
<p dir="auto"><strong>What is the current behavior?</strong></p>
<p dir="auto">It appears that after bundling, both dependencies <code class="notranslate">foo</code> and <code class="notranslate">bar</code> get the same version of <code class="notranslate">async</code>: <code class="notranslate">^2.0.0</code>. Since the argument order for the <code class="notranslate">async</code> API has changed between 1.x and 2.x, this of course breaks the application.</p>
<p dir="auto"><strong>If the current behavior is a bug, please provide the steps to reproduce.</strong></p>

<p dir="auto">Time permitting, I’ll try to come up with a minimal repro case.</p>
<p dir="auto"><strong>What is the expected behavior?</strong></p>
<p dir="auto"><code class="notranslate">foo</code> and <code class="notranslate">bar</code> should receive different versions of <code class="notranslate">async</code>.</p>
<p dir="auto"><strong>I'm submitting a bug report</strong></p>
<p dir="auto"><strong>Webpack version:</strong><br>
<code class="notranslate">^1.13.1</code></p>
<p dir="auto"><strong>Environment:</strong><br>
Using archlinux, but this <em>should</em> be irrelevant.</p>
<p dir="auto"><strong>Current behavior:</strong><br>
Using webpack with <code class="notranslate">css-loader</code> and <code class="notranslate">UglifyJsPlugin</code> mangles some CSS. In this particular case, it transforms a quoted string in an unquoted string, which becomes invalid from use of a plus sign (<code class="notranslate">+</code>) in the name of a font.</p>
<p dir="auto">The rule is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="font-family: &quot;M+ 1mn&quot;, &quot;Fixedsys&quot;,&quot;Courier New&quot;, monospace;"><pre class="notranslate"><code class="notranslate">font-family: "M+ 1mn", "Fixedsys","Courier New", monospace;
</code></pre></div>
<p dir="auto">Which becomes:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="font-family: M+\ 1mn,Fixedsys,Courier New,monospace;"><pre class="notranslate"><code class="notranslate">font-family: M+\ 1mn,Fixedsys,Courier New,monospace;
</code></pre></div>
<p dir="auto">It has not been tested whether other characters causes similar issues.</p>
<p dir="auto">Disabling both or either UglifyJsPlugin and the css-loader minification prevents this issue from occuring.</p>
<p dir="auto"><strong>Expected/desired behavior:</strong><br>
The minification should properly handle special characters in CSS.</p>
<blockquote>
<h4 dir="auto">Special characters in CSS</h4>
<p dir="auto">Any character that is not a hexadecimal digit, line feed, carriage return, or form feed can be escaped with a backslash to remove its special meaning.</p>
<p dir="auto">The following characters have a special meaning in CSS: !, ", #, $, %, &amp;, ', (, ), *, +, ,, -, ., /, :, ;, &lt;, =, &gt;, ?, @, [, , ], ^, `, {, |, }, and ~.<br>
(<a href="https://mathiasbynens.be/notes/css-escapes" rel="nofollow">CSS character escape sequences</a>)</p>
</blockquote>
<p dir="auto"><strong>Test case:</strong></p>
<p dir="auto"><a href="https://github.com/samueldr/webpack1-css-minification-test-case">https://github.com/samueldr/webpack1-css-minification-test-case</a></p>
<p dir="auto"><strong>Browser:</strong><br>
This is at least true for Chrome, but this should not matter as this is an invalid CSS minification.</p>
<p dir="auto"><em>This bug is possibly a duplicate or related to: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="53680000" data-permission-text="Title is private" data-url="https://github.com/webpack/webpack/issues/666" data-hovercard-type="issue" data-hovercard-url="/webpack/webpack/issues/666/hovercard" href="https://github.com/webpack/webpack/issues/666">#666</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="34355051" data-permission-text="Title is private" data-url="https://github.com/webpack/webpack/issues/283" data-hovercard-type="issue" data-hovercard-url="/webpack/webpack/issues/283/hovercard" href="https://github.com/webpack/webpack/issues/283">#283</a></em></p>