Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VueLoaderPlugin causes loaders to run several times #1278

Closed
killerDJO opened this issue May 1, 2018 · 5 comments
Closed

VueLoaderPlugin causes loaders to run several times #1278

killerDJO opened this issue May 1, 2018 · 5 comments
Labels

Comments

@killerDJO
Copy link

Version

15.0.0

Reproduction link

https://github.com/killerDJO/vue-loader-minimal

Steps to reproduce

Prererquisites:

  • ts-loader is used and has options specified (Important!).
  • SFC with referenced TypeScript file is used.

Run webpack build using mentioned configuration. Rules might look like this:

module: {
    rules: [
        {
            test: /\.ts$/,
            loader: "ts-loader",
            options: {},
            exclude: [/node_modules/]
        },
        {
            test: /\.vue$/,
            loader: "vue-loader",
        }
    ]
},
resolve: {
    extensions: [".ts"],
},
plugins: [
    new VueLoaderPlugin()
],

What is expected?

Build is finished successfully.

What is actually happening?

Build failed.


In the current implementation VueLoaderPlugin clones webpack rules and modifies them to run on .vue files. However, this leads to an issues when a file is referenced from .vue component (e. g. <script src="./App.ts" lang="ts"></script>). In this case the file can be matched by two rules (original and cloned) and ts-loader will be executed two times, with second time executing using output of the first run.
This will happend only if "options" object is specified, because otherwise webpack will use a single loader for two rules (VueLoaderPlugin removes "options" during rules cloning, so only original rule will have options).

Aforementioned behaviour has been observed for ts-loader, but is likely to occur for scss/sass loaders as well.

@ericdrobinson
Copy link

This might be the very thing I've run into while upgrading from webpack@3+vue-loader@14 to webpack@4+vue-loader@15. I suddenly get oodles of TypeScript errors, most of which are issues of the form of "Parameter 'something' implicitly has 'any' type". I suspect a "double run" because many of the errors reported have non-sensical line numbers (they don't match up to anything in the actual source files).

Any workarounds I could test to verify this?

@ericdrobinson
Copy link

Okay, just commented out the ts-loader's options object like so:

{
    test: /\.ts$/,
    loader: 'ts-loader',
    exclude: /node_modules/,
    // options: {
    //     appendTsSuffixTo:[/\.vue$/]
    // }
}

All the errors I was receiving disappeared and compilation appeared to wrap up without issue. This seems like a pretty serious problem.

For the record, I also use the "external source file" method outlined in the initial report.

@killerDJO
Copy link
Author

@ericdrobinson
This is exactly the issue I ran into. For me it also worked when I removed options from loader.
Another workaround I can imagine (if options are neccessary) is to modify 'test' parameter, e.g. it can check only for files which are outside of vue components folder (in this case these files will be compiled only by cloned ts-loader, which has own test).

@ericdrobinson
Copy link

We place .ts files next to .vue files... Does the vue-loader simply append .ts to the end of .vue files? If so, you could exclude .vue.ts...

@killerDJO
Copy link
Author

Unfortunately, it doesn't work exactly like this, so .vue.ts cannot be used. It is possible to use resourceQuery or issuer to check for .ts files imported from .vue files, but in this case it will fail for other (non-vue) ts files (entry file will not have an issuer and usual ts files will not have a resourceQuery, so webpack will fail such rules since it doesn't support checks for an empty value). It might be possible to get this to work using some tricks, but it's much simpler to just remove options for now.

@yyx990803 yyx990803 added the bug label May 2, 2018
eliperelman pushed a commit to neutrinojs/neutrino that referenced this issue Jun 15, 2018
This Pull Request updates dependency [vue-loader](https://github.com/vuejs/vue-loader) from `^14.2.3` to `^15.0.0`



<details>
<summary>Release Notes</summary>

### [`v15.2.4`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1524httpsgithubcomvuejsvue-loadercomparev1522v1524-2018-06-01)
[Compare Source](vuejs/vue-loader@v15.2.3...v15.2.4)
##### Bug Fixes

* ensure plugin error is emitted only once ([0b006a3](vuejs/vue-loader@0b006a3))
* fix unexpected error when options of cache-loader contains ! ([#&#8203;1334](`vuejs/vue-loader#1334)) ([c4a2719](vuejs/vue-loader@c4a2719))
* use constant plugin NS ([0fb5172](vuejs/vue-loader@0fb5172)), closes [#&#8203;1331](`vuejs/vue-loader#1331)
##### Features

* inject issuerPath to resourceQuery for custom block src imports ([#&#8203;1313](`vuejs/vue-loader#1313)) ([a004e30](vuejs/vue-loader@a004e30))

---

### [`v15.2.3`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1523httpsgithubcomvuejsvue-loadercomparev1522v1523-2018-06-01)
[Compare Source](vuejs/vue-loader@91f420b...v15.2.3)
##### Bug Fixes

* ensure plugin error is emitted only once ([0b006a3](vuejs/vue-loader@0b006a3))
* use constant plugin NS ([0fb5172](vuejs/vue-loader@0fb5172)), closes [#&#8203;1331](`vuejs/vue-loader#1331)
##### Features

* inject issuerPath to resourceQuery for custom block src imports ([#&#8203;1313](`vuejs/vue-loader#1313)) ([a004e30](vuejs/vue-loader@a004e30))

---

### [`v15.2.2`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1524httpsgithubcomvuejsvue-loadercomparev1522v1524-2018-06-01)
[Compare Source](vuejs/vue-loader@v15.2.1...91f420b)
##### Bug Fixes

* ensure plugin error is emitted only once ([0b006a3](vuejs/vue-loader@0b006a3))
* fix unexpected error when options of cache-loader contains ! ([#&#8203;1334](`vuejs/vue-loader#1334)) ([c4a2719](vuejs/vue-loader@c4a2719))
* use constant plugin NS ([0fb5172](vuejs/vue-loader@0fb5172)), closes [#&#8203;1331](`vuejs/vue-loader#1331)
##### Features

* inject issuerPath to resourceQuery for custom block src imports ([#&#8203;1313](`vuejs/vue-loader#1313)) ([a004e30](vuejs/vue-loader@a004e30))

---

### [`v15.2.1`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1521httpsgithubcomvuejsvue-loadercomparev1520v1521-2018-05-25)
[Compare Source](vuejs/vue-loader@v15.2.0...v15.2.1)
##### Bug Fixes

* ensure template cache uses unique identifier ([bdb13be](vuejs/vue-loader@bdb13be))

---

### [`v15.2.0`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1520httpsgithubcomvuejsvue-loadercomparev1510v1520-2018-05-22)
[Compare Source](vuejs/vue-loader@v15.1.0...v15.2.0)
##### Features

* enable template compile caching ([28e0fd3](vuejs/vue-loader@28e0fd3))

---

### [`v15.1.0`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1520httpsgithubcomvuejsvue-loadercomparev1510v1520-2018-05-22)
[Compare Source](vuejs/vue-loader@b1ed161...v15.1.0)
##### Features

* enable template compile caching ([28e0fd3](vuejs/vue-loader@28e0fd3))

---

### [`v15.0.12`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1510httpsgithubcomvuejsvue-loadercomparev15012v1510-2018-05-19)
[Compare Source](vuejs/vue-loader@bde7db7...b1ed161)
##### Performance Improvements

* avoid duplicate linting when used with eslint-loader ([3d07f81](vuejs/vue-loader@3d07f81))
#### [15.0.12](vuejs/vue-loader@v15.0.11...v15.0.12) (2018-05-18)
##### Bug Fixes

* ignore attrs that might interfere with query generation ([3a37269](vuejs/vue-loader@3a37269)), closes [vuejs/vue-cli#&#8203;1324](`vuejs/vue-cli#1324)
#### [15.0.11](vuejs/vue-loader@v15.0.9...v15.0.11) (2018-05-15)
##### Bug Fixes

* improve HMR reliability ([4ccd96f](vuejs/vue-loader@4ccd96f))
#### [15.0.10](vuejs/vue-loader@v15.0.9...v15.0.10) (2018-05-11)
##### Bug Fixes

* improve HMR reliability ([52012cd](vuejs/vue-loader@52012cd))
#### [15.0.9](vuejs/vue-loader@v15.0.8...v15.0.9) (2018-05-04)
##### Bug Fixes

* shadowMode still has to be an option ([4529f83](vuejs/vue-loader@4529f83))
#### [15.0.8](vuejs/vue-loader@v15.0.7...v15.0.8) (2018-05-04)
##### Bug Fixes

* avoid mutating original rules array ([14bfc01](vuejs/vue-loader@14bfc01)), closes [#&#8203;1286](`vuejs/vue-loader#1286)
#### [15.0.7](vuejs/vue-loader@v15.0.6...v15.0.7) (2018-05-03)
##### Bug Fixes

* stylePostLoader injection for windows flat node_modules ([a9a4412](vuejs/vue-loader@a9a4412)), closes [#&#8203;1284](`vuejs/vue-loader#1284)
#### [15.0.6](vuejs/vue-loader@v15.0.5...v15.0.6) (2018-05-02)
##### Bug Fixes

* duplicate loaders when using src import with loader options ([37329e1](vuejs/vue-loader@37329e1)), closes [#&#8203;1278](`vuejs/vue-loader#1278)
#### [15.0.5](vuejs/vue-loader@v15.0.4...v15.0.5) (2018-04-30)
##### Bug Fixes

* ignore VueLoaderPlugin check when using thread-loader ([#&#8203;1268](`vuejs/vue-loader#1268)) ([476f466](vuejs/vue-loader@476f466)), closes [#&#8203;1267](`vuejs/vue-loader#1267)
#### [15.0.4](vuejs/vue-loader@v15.0.3...v15.0.4) (2018-04-27)
##### Bug Fixes

* enable whitelist in exclude function ([5b0e392](vuejs/vue-loader@5b0e392))
#### [15.0.3](vuejs/vue-loader@v15.0.2...v15.0.3) (2018-04-26)
##### Bug Fixes

* handle rule.use being a string (ref: [#&#8203;1256](`vuejs/vue-loader#1256)) ([fc2ba27](vuejs/vue-loader@fc2ba27))
#### [15.0.2](vuejs/vue-loader@v15.0.1...v15.0.2) (2018-04-26)
##### Bug Fixes

* remove resource field in cloned rules (fix [#&#8203;1254](`vuejs/vue-loader#1254)) ([35ca03f](vuejs/vue-loader@35ca03f))
#### [15.0.1](vuejs/vue-loader@v15.0.0...v15.0.1) (2018-04-25)
##### Bug Fixes

* prioritize .vue rules in plugin (fix [#&#8203;1246](`vuejs/vue-loader#1246)) ([bffacd5](vuejs/vue-loader@bffacd5))
* warn missing plugin ([068bb81](vuejs/vue-loader@068bb81))

---

### [`v15.0.11`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;15012httpsgithubcomvuejsvue-loadercomparev15011v15012-2018-05-18)
[Compare Source](vuejs/vue-loader@1c54780...bde7db7)
##### Bug Fixes

* ignore attrs that might interfere with query generation ([3a37269](vuejs/vue-loader@3a37269)), closes [vuejs/vue-cli#&#8203;1324](`vuejs/vue-cli#1324)

---

### [`v15.0.10`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;15010httpsgithubcomvuejsvue-loadercomparev1509v15010-2018-05-11)
[Compare Source](vuejs/vue-loader@af7d5c2...1c54780)
##### Bug Fixes

* improve HMR reliability ([52012cd](vuejs/vue-loader@52012cd))

---

### [`v15.0.9`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;15011httpsgithubcomvuejsvue-loadercomparev1509v15011-2018-05-15)
[Compare Source](vuejs/vue-loader@98a1f19...af7d5c2)
##### Bug Fixes

* improve HMR reliability ([4ccd96f](vuejs/vue-loader@4ccd96f))

---

### [`v15.0.8`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1509httpsgithubcomvuejsvue-loadercomparev1508v1509-2018-05-04)
[Compare Source](vuejs/vue-loader@1d610e6...98a1f19)
##### Bug Fixes

* shadowMode still has to be an option ([4529f83](vuejs/vue-loader@4529f83))

---

### [`v15.0.7`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1508httpsgithubcomvuejsvue-loadercomparev1507v1508-2018-05-04)
[Compare Source](vuejs/vue-loader@653d8f8...1d610e6)
##### Bug Fixes

* avoid mutating original rules array ([14bfc01](vuejs/vue-loader@14bfc01)), closes [#&#8203;1286](`vuejs/vue-loader#1286)

---

### [`v15.0.6`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1507httpsgithubcomvuejsvue-loadercomparev1506v1507-2018-05-03)
[Compare Source](vuejs/vue-loader@3c02f26...653d8f8)
##### Bug Fixes

* stylePostLoader injection for windows flat node_modules ([a9a4412](vuejs/vue-loader@a9a4412)), closes [#&#8203;1284](`vuejs/vue-loader#1284)

---

### [`v15.0.5`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1506httpsgithubcomvuejsvue-loadercomparev1505v1506-2018-05-02)
[Compare Source](vuejs/vue-loader@998a573...3c02f26)
##### Bug Fixes

* duplicate loaders when using src import with loader options ([37329e1](vuejs/vue-loader@37329e1)), closes [#&#8203;1278](`vuejs/vue-loader#1278)

---

### [`v15.0.4`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1505httpsgithubcomvuejsvue-loadercomparev1504v1505-2018-04-30)
[Compare Source](vuejs/vue-loader@36d18e4...998a573)
##### Bug Fixes

* ignore VueLoaderPlugin check when using thread-loader ([#&#8203;1268](`vuejs/vue-loader#1268)) ([476f466](vuejs/vue-loader@476f466)), closes [#&#8203;1267](`vuejs/vue-loader#1267)

---

### [`v15.0.3`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1504httpsgithubcomvuejsvue-loadercomparev1503v1504-2018-04-27)
[Compare Source](vuejs/vue-loader@d192945...36d18e4)
##### Bug Fixes

* enable whitelist in exclude function ([5b0e392](vuejs/vue-loader@5b0e392))

---

### [`v15.0.2`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1503httpsgithubcomvuejsvue-loadercomparev1502v1503-2018-04-26)
[Compare Source](vuejs/vue-loader@ee4d8ab...d192945)
##### Bug Fixes

* handle rule.use being a string (ref: [#&#8203;1256](`vuejs/vue-loader#1256)) ([fc2ba27](vuejs/vue-loader@fc2ba27))

---

### [`v15.0.1`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1510httpsgithubcomvuejsvue-loadercomparev15012v1510-2018-05-19)
[Compare Source](vuejs/vue-loader@v15.0.0...ee4d8ab)
##### Performance Improvements

* avoid duplicate linting when used with eslint-loader ([3d07f81](vuejs/vue-loader@3d07f81))
#### [15.0.12](vuejs/vue-loader@v15.0.11...v15.0.12) (2018-05-18)
##### Bug Fixes

* ignore attrs that might interfere with query generation ([3a37269](vuejs/vue-loader@3a37269)), closes [vuejs/vue-cli#&#8203;1324](`vuejs/vue-cli#1324)
#### [15.0.11](vuejs/vue-loader@v15.0.9...v15.0.11) (2018-05-15)
##### Bug Fixes

* improve HMR reliability ([4ccd96f](vuejs/vue-loader@4ccd96f))
#### [15.0.10](vuejs/vue-loader@v15.0.9...v15.0.10) (2018-05-11)
##### Bug Fixes

* improve HMR reliability ([52012cd](vuejs/vue-loader@52012cd))
#### [15.0.9](vuejs/vue-loader@v15.0.8...v15.0.9) (2018-05-04)
##### Bug Fixes

* shadowMode still has to be an option ([4529f83](vuejs/vue-loader@4529f83))
#### [15.0.8](vuejs/vue-loader@v15.0.7...v15.0.8) (2018-05-04)
##### Bug Fixes

* avoid mutating original rules array ([14bfc01](vuejs/vue-loader@14bfc01)), closes [#&#8203;1286](`vuejs/vue-loader#1286)
#### [15.0.7](vuejs/vue-loader@v15.0.6...v15.0.7) (2018-05-03)
##### Bug Fixes

* stylePostLoader injection for windows flat node_modules ([a9a4412](vuejs/vue-loader@a9a4412)), closes [#&#8203;1284](`vuejs/vue-loader#1284)
#### [15.0.6](vuejs/vue-loader@v15.0.5...v15.0.6) (2018-05-02)
##### Bug Fixes

* duplicate loaders when using src import with loader options ([37329e1](vuejs/vue-loader@37329e1)), closes [#&#8203;1278](`vuejs/vue-loader#1278)
#### [15.0.5](vuejs/vue-loader@v15.0.4...v15.0.5) (2018-04-30)
##### Bug Fixes

* ignore VueLoaderPlugin check when using thread-loader ([#&#8203;1268](`vuejs/vue-loader#1268)) ([476f466](vuejs/vue-loader@476f466)), closes [#&#8203;1267](`vuejs/vue-loader#1267)
#### [15.0.4](vuejs/vue-loader@v15.0.3...v15.0.4) (2018-04-27)
##### Bug Fixes

* enable whitelist in exclude function ([5b0e392](vuejs/vue-loader@5b0e392))
#### [15.0.3](vuejs/vue-loader@v15.0.2...v15.0.3) (2018-04-26)
##### Bug Fixes

* handle rule.use being a string (ref: [#&#8203;1256](`vuejs/vue-loader#1256)) ([fc2ba27](vuejs/vue-loader@fc2ba27))
#### [15.0.2](vuejs/vue-loader@v15.0.1...v15.0.2) (2018-04-26)
##### Bug Fixes

* remove resource field in cloned rules (fix [#&#8203;1254](`vuejs/vue-loader#1254)) ([35ca03f](vuejs/vue-loader@35ca03f))
#### [15.0.1](vuejs/vue-loader@v15.0.0...v15.0.1) (2018-04-25)
##### Bug Fixes

* prioritize .vue rules in plugin (fix [#&#8203;1246](`vuejs/vue-loader#1246)) ([bffacd5](vuejs/vue-loader@bffacd5))
* warn missing plugin ([068bb81](vuejs/vue-loader@068bb81))

---

### [`v15.0.0`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1500httpsgithubcomvuejsvue-loadercomparev1500-rc2v1500-2018-04-24)
[Compare Source](vuejs/vue-loader@6430bc0...v15.0.0)
##### Bug Fixes

* compat with null-loader (close [#&#8203;1239](`vuejs/vue-loader#1239)) ([5cd5f6f](vuejs/vue-loader@5cd5f6f))
##### Features

* support declaring rules using .vue.html (ref [#&#8203;1238](`vuejs/vue-loader#1238)) ([a3af6b3](vuejs/vue-loader@a3af6b3))

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).
acconrad pushed a commit to acconrad/neutrino-dev that referenced this issue Jul 13, 2018
This Pull Request updates dependency [vue-loader](https://github.com/vuejs/vue-loader) from `^14.2.3` to `^15.0.0`



<details>
<summary>Release Notes</summary>

### [`v15.2.4`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1524httpsgithubcomvuejsvue-loadercomparev1522v1524-2018-06-01)
[Compare Source](vuejs/vue-loader@v15.2.3...v15.2.4)
##### Bug Fixes

* ensure plugin error is emitted only once ([0b006a3](vuejs/vue-loader@0b006a3))
* fix unexpected error when options of cache-loader contains ! ([#&#8203;1334](`vuejs/vue-loader#1334)) ([c4a2719](vuejs/vue-loader@c4a2719))
* use constant plugin NS ([0fb5172](vuejs/vue-loader@0fb5172)), closes [#&#8203;1331](`vuejs/vue-loader#1331)
##### Features

* inject issuerPath to resourceQuery for custom block src imports ([#&#8203;1313](`vuejs/vue-loader#1313)) ([a004e30](vuejs/vue-loader@a004e30))

---

### [`v15.2.3`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1523httpsgithubcomvuejsvue-loadercomparev1522v1523-2018-06-01)
[Compare Source](vuejs/vue-loader@91f420b...v15.2.3)
##### Bug Fixes

* ensure plugin error is emitted only once ([0b006a3](vuejs/vue-loader@0b006a3))
* use constant plugin NS ([0fb5172](vuejs/vue-loader@0fb5172)), closes [#&#8203;1331](`vuejs/vue-loader#1331)
##### Features

* inject issuerPath to resourceQuery for custom block src imports ([#&#8203;1313](`vuejs/vue-loader#1313)) ([a004e30](vuejs/vue-loader@a004e30))

---

### [`v15.2.2`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1524httpsgithubcomvuejsvue-loadercomparev1522v1524-2018-06-01)
[Compare Source](vuejs/vue-loader@v15.2.1...91f420b)
##### Bug Fixes

* ensure plugin error is emitted only once ([0b006a3](vuejs/vue-loader@0b006a3))
* fix unexpected error when options of cache-loader contains ! ([#&#8203;1334](`vuejs/vue-loader#1334)) ([c4a2719](vuejs/vue-loader@c4a2719))
* use constant plugin NS ([0fb5172](vuejs/vue-loader@0fb5172)), closes [#&#8203;1331](`vuejs/vue-loader#1331)
##### Features

* inject issuerPath to resourceQuery for custom block src imports ([#&#8203;1313](`vuejs/vue-loader#1313)) ([a004e30](vuejs/vue-loader@a004e30))

---

### [`v15.2.1`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1521httpsgithubcomvuejsvue-loadercomparev1520v1521-2018-05-25)
[Compare Source](vuejs/vue-loader@v15.2.0...v15.2.1)
##### Bug Fixes

* ensure template cache uses unique identifier ([bdb13be](vuejs/vue-loader@bdb13be))

---

### [`v15.2.0`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1520httpsgithubcomvuejsvue-loadercomparev1510v1520-2018-05-22)
[Compare Source](vuejs/vue-loader@v15.1.0...v15.2.0)
##### Features

* enable template compile caching ([28e0fd3](vuejs/vue-loader@28e0fd3))

---

### [`v15.1.0`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1520httpsgithubcomvuejsvue-loadercomparev1510v1520-2018-05-22)
[Compare Source](vuejs/vue-loader@b1ed161...v15.1.0)
##### Features

* enable template compile caching ([28e0fd3](vuejs/vue-loader@28e0fd3))

---

### [`v15.0.12`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1510httpsgithubcomvuejsvue-loadercomparev15012v1510-2018-05-19)
[Compare Source](vuejs/vue-loader@bde7db7...b1ed161)
##### Performance Improvements

* avoid duplicate linting when used with eslint-loader ([3d07f81](vuejs/vue-loader@3d07f81))
#### [15.0.12](vuejs/vue-loader@v15.0.11...v15.0.12) (2018-05-18)
##### Bug Fixes

* ignore attrs that might interfere with query generation ([3a37269](vuejs/vue-loader@3a37269)), closes [vuejs/vue-cli#&#8203;1324](`vuejs/vue-cli#1324)
#### [15.0.11](vuejs/vue-loader@v15.0.9...v15.0.11) (2018-05-15)
##### Bug Fixes

* improve HMR reliability ([4ccd96f](vuejs/vue-loader@4ccd96f))
#### [15.0.10](vuejs/vue-loader@v15.0.9...v15.0.10) (2018-05-11)
##### Bug Fixes

* improve HMR reliability ([52012cd](vuejs/vue-loader@52012cd))
#### [15.0.9](vuejs/vue-loader@v15.0.8...v15.0.9) (2018-05-04)
##### Bug Fixes

* shadowMode still has to be an option ([4529f83](vuejs/vue-loader@4529f83))
#### [15.0.8](vuejs/vue-loader@v15.0.7...v15.0.8) (2018-05-04)
##### Bug Fixes

* avoid mutating original rules array ([14bfc01](vuejs/vue-loader@14bfc01)), closes [#&#8203;1286](`vuejs/vue-loader#1286)
#### [15.0.7](vuejs/vue-loader@v15.0.6...v15.0.7) (2018-05-03)
##### Bug Fixes

* stylePostLoader injection for windows flat node_modules ([a9a4412](vuejs/vue-loader@a9a4412)), closes [#&#8203;1284](`vuejs/vue-loader#1284)
#### [15.0.6](vuejs/vue-loader@v15.0.5...v15.0.6) (2018-05-02)
##### Bug Fixes

* duplicate loaders when using src import with loader options ([37329e1](vuejs/vue-loader@37329e1)), closes [#&#8203;1278](`vuejs/vue-loader#1278)
#### [15.0.5](vuejs/vue-loader@v15.0.4...v15.0.5) (2018-04-30)
##### Bug Fixes

* ignore VueLoaderPlugin check when using thread-loader ([#&#8203;1268](`vuejs/vue-loader#1268)) ([476f466](vuejs/vue-loader@476f466)), closes [#&#8203;1267](`vuejs/vue-loader#1267)
#### [15.0.4](vuejs/vue-loader@v15.0.3...v15.0.4) (2018-04-27)
##### Bug Fixes

* enable whitelist in exclude function ([5b0e392](vuejs/vue-loader@5b0e392))
#### [15.0.3](vuejs/vue-loader@v15.0.2...v15.0.3) (2018-04-26)
##### Bug Fixes

* handle rule.use being a string (ref: [#&#8203;1256](`vuejs/vue-loader#1256)) ([fc2ba27](vuejs/vue-loader@fc2ba27))
#### [15.0.2](vuejs/vue-loader@v15.0.1...v15.0.2) (2018-04-26)
##### Bug Fixes

* remove resource field in cloned rules (fix [#&#8203;1254](`vuejs/vue-loader#1254)) ([35ca03f](vuejs/vue-loader@35ca03f))
#### [15.0.1](vuejs/vue-loader@v15.0.0...v15.0.1) (2018-04-25)
##### Bug Fixes

* prioritize .vue rules in plugin (fix [#&#8203;1246](`vuejs/vue-loader#1246)) ([bffacd5](vuejs/vue-loader@bffacd5))
* warn missing plugin ([068bb81](vuejs/vue-loader@068bb81))

---

### [`v15.0.11`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;15012httpsgithubcomvuejsvue-loadercomparev15011v15012-2018-05-18)
[Compare Source](vuejs/vue-loader@1c54780...bde7db7)
##### Bug Fixes

* ignore attrs that might interfere with query generation ([3a37269](vuejs/vue-loader@3a37269)), closes [vuejs/vue-cli#&#8203;1324](`vuejs/vue-cli#1324)

---

### [`v15.0.10`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;15010httpsgithubcomvuejsvue-loadercomparev1509v15010-2018-05-11)
[Compare Source](vuejs/vue-loader@af7d5c2...1c54780)
##### Bug Fixes

* improve HMR reliability ([52012cd](vuejs/vue-loader@52012cd))

---

### [`v15.0.9`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;15011httpsgithubcomvuejsvue-loadercomparev1509v15011-2018-05-15)
[Compare Source](vuejs/vue-loader@98a1f19...af7d5c2)
##### Bug Fixes

* improve HMR reliability ([4ccd96f](vuejs/vue-loader@4ccd96f))

---

### [`v15.0.8`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1509httpsgithubcomvuejsvue-loadercomparev1508v1509-2018-05-04)
[Compare Source](vuejs/vue-loader@1d610e6...98a1f19)
##### Bug Fixes

* shadowMode still has to be an option ([4529f83](vuejs/vue-loader@4529f83))

---

### [`v15.0.7`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1508httpsgithubcomvuejsvue-loadercomparev1507v1508-2018-05-04)
[Compare Source](vuejs/vue-loader@653d8f8...1d610e6)
##### Bug Fixes

* avoid mutating original rules array ([14bfc01](vuejs/vue-loader@14bfc01)), closes [#&#8203;1286](`vuejs/vue-loader#1286)

---

### [`v15.0.6`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1507httpsgithubcomvuejsvue-loadercomparev1506v1507-2018-05-03)
[Compare Source](vuejs/vue-loader@3c02f26...653d8f8)
##### Bug Fixes

* stylePostLoader injection for windows flat node_modules ([a9a4412](vuejs/vue-loader@a9a4412)), closes [#&#8203;1284](`vuejs/vue-loader#1284)

---

### [`v15.0.5`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1506httpsgithubcomvuejsvue-loadercomparev1505v1506-2018-05-02)
[Compare Source](vuejs/vue-loader@998a573...3c02f26)
##### Bug Fixes

* duplicate loaders when using src import with loader options ([37329e1](vuejs/vue-loader@37329e1)), closes [#&#8203;1278](`vuejs/vue-loader#1278)

---

### [`v15.0.4`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1505httpsgithubcomvuejsvue-loadercomparev1504v1505-2018-04-30)
[Compare Source](vuejs/vue-loader@36d18e4...998a573)
##### Bug Fixes

* ignore VueLoaderPlugin check when using thread-loader ([#&#8203;1268](`vuejs/vue-loader#1268)) ([476f466](vuejs/vue-loader@476f466)), closes [#&#8203;1267](`vuejs/vue-loader#1267)

---

### [`v15.0.3`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1504httpsgithubcomvuejsvue-loadercomparev1503v1504-2018-04-27)
[Compare Source](vuejs/vue-loader@d192945...36d18e4)
##### Bug Fixes

* enable whitelist in exclude function ([5b0e392](vuejs/vue-loader@5b0e392))

---

### [`v15.0.2`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1503httpsgithubcomvuejsvue-loadercomparev1502v1503-2018-04-26)
[Compare Source](vuejs/vue-loader@ee4d8ab...d192945)
##### Bug Fixes

* handle rule.use being a string (ref: [#&#8203;1256](`vuejs/vue-loader#1256)) ([fc2ba27](vuejs/vue-loader@fc2ba27))

---

### [`v15.0.1`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1510httpsgithubcomvuejsvue-loadercomparev15012v1510-2018-05-19)
[Compare Source](vuejs/vue-loader@v15.0.0...ee4d8ab)
##### Performance Improvements

* avoid duplicate linting when used with eslint-loader ([3d07f81](vuejs/vue-loader@3d07f81))
#### [15.0.12](vuejs/vue-loader@v15.0.11...v15.0.12) (2018-05-18)
##### Bug Fixes

* ignore attrs that might interfere with query generation ([3a37269](vuejs/vue-loader@3a37269)), closes [vuejs/vue-cli#&#8203;1324](`vuejs/vue-cli#1324)
#### [15.0.11](vuejs/vue-loader@v15.0.9...v15.0.11) (2018-05-15)
##### Bug Fixes

* improve HMR reliability ([4ccd96f](vuejs/vue-loader@4ccd96f))
#### [15.0.10](vuejs/vue-loader@v15.0.9...v15.0.10) (2018-05-11)
##### Bug Fixes

* improve HMR reliability ([52012cd](vuejs/vue-loader@52012cd))
#### [15.0.9](vuejs/vue-loader@v15.0.8...v15.0.9) (2018-05-04)
##### Bug Fixes

* shadowMode still has to be an option ([4529f83](vuejs/vue-loader@4529f83))
#### [15.0.8](vuejs/vue-loader@v15.0.7...v15.0.8) (2018-05-04)
##### Bug Fixes

* avoid mutating original rules array ([14bfc01](vuejs/vue-loader@14bfc01)), closes [#&#8203;1286](`vuejs/vue-loader#1286)
#### [15.0.7](vuejs/vue-loader@v15.0.6...v15.0.7) (2018-05-03)
##### Bug Fixes

* stylePostLoader injection for windows flat node_modules ([a9a4412](vuejs/vue-loader@a9a4412)), closes [#&#8203;1284](`vuejs/vue-loader#1284)
#### [15.0.6](vuejs/vue-loader@v15.0.5...v15.0.6) (2018-05-02)
##### Bug Fixes

* duplicate loaders when using src import with loader options ([37329e1](vuejs/vue-loader@37329e1)), closes [#&#8203;1278](`vuejs/vue-loader#1278)
#### [15.0.5](vuejs/vue-loader@v15.0.4...v15.0.5) (2018-04-30)
##### Bug Fixes

* ignore VueLoaderPlugin check when using thread-loader ([#&#8203;1268](`vuejs/vue-loader#1268)) ([476f466](vuejs/vue-loader@476f466)), closes [#&#8203;1267](`vuejs/vue-loader#1267)
#### [15.0.4](vuejs/vue-loader@v15.0.3...v15.0.4) (2018-04-27)
##### Bug Fixes

* enable whitelist in exclude function ([5b0e392](vuejs/vue-loader@5b0e392))
#### [15.0.3](vuejs/vue-loader@v15.0.2...v15.0.3) (2018-04-26)
##### Bug Fixes

* handle rule.use being a string (ref: [#&#8203;1256](`vuejs/vue-loader#1256)) ([fc2ba27](vuejs/vue-loader@fc2ba27))
#### [15.0.2](vuejs/vue-loader@v15.0.1...v15.0.2) (2018-04-26)
##### Bug Fixes

* remove resource field in cloned rules (fix [#&#8203;1254](`vuejs/vue-loader#1254)) ([35ca03f](vuejs/vue-loader@35ca03f))
#### [15.0.1](vuejs/vue-loader@v15.0.0...v15.0.1) (2018-04-25)
##### Bug Fixes

* prioritize .vue rules in plugin (fix [#&#8203;1246](`vuejs/vue-loader#1246)) ([bffacd5](vuejs/vue-loader@bffacd5))
* warn missing plugin ([068bb81](vuejs/vue-loader@068bb81))

---

### [`v15.0.0`](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md#&#8203;1500httpsgithubcomvuejsvue-loadercomparev1500-rc2v1500-2018-04-24)
[Compare Source](vuejs/vue-loader@6430bc0...v15.0.0)
##### Bug Fixes

* compat with null-loader (close [#&#8203;1239](`vuejs/vue-loader#1239)) ([5cd5f6f](vuejs/vue-loader@5cd5f6f))
##### Features

* support declaring rules using .vue.html (ref [#&#8203;1238](`vuejs/vue-loader#1238)) ([a3af6b3](vuejs/vue-loader@a3af6b3))

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants