{"_id":"@carrotwu/check-vue-conflict-webpack-plugin","_rev":"4-f85663687c65d998e6f5ede6ea2608ca","name":"@carrotwu/check-vue-conflict-webpack-plugin","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@carrotwu/check-vue-conflict-webpack-plugin","version":"1.0.0","description":"用于检测vue单文件template模板中是否存在未处理的合并冲突遗留代码的webpack插件","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","watch":"rollup -c --watch","lint":"eslint src --ext .ts --fix","publish:next":"npm publish --access public"},"publishConfig":{"access":"public"},"author":{"name":"carrotwu"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/carrot-wu/check-vue-conflict-webpack-plugin.git"},"homepage":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin#README","devDependencies":{"@babel/core":"^7.12.10","@babel/plugin-transform-runtime":"^7.12.10","@babel/preset-env":"^7.12.11","@babel/preset-typescript":"^7.12.7","@rollup/plugin-json":"^4.1.0","@types/babel__core":"^7.1.12","@types/node":"^14.14.20","@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","eslint":"^7.17.0","eslint-config-airbnb-base":"^14.2.1","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.3.1","prettier":"^2.2.1","rollup":"^2.35.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-inject":"^3.0.2","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3","webpack":"^5.11.1"},"dependencies":{"@babel/parser":"^7.12.11","@babel/traverse":"^7.12.11","@babel/types":"^7.12.11"},"gitHead":"c9ff09327a99b2d8196c2c0dea17c356b0ef121a","bugs":{"url":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin/issues"},"_id":"@carrotwu/check-vue-conflict-webpack-plugin@1.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-JpxgYpHFri+IMJ0GXU8ewI58jggbau02Z6HDO94tK1U7AHViFGm+uVXzxpH6Le7qfOA5RZcUqOnNVJR0n1zjkw==","shasum":"8a41c9e26d18453394f8bd2851cc29dc87da3af7","tarball":"https://registry.npmjs.org/@carrotwu/check-vue-conflict-webpack-plugin/-/check-vue-conflict-webpack-plugin-1.0.0.tgz","fileCount":10,"unpackedSize":13566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+VI3CRA9TVsSAnZWagAAKqgQAIuW5421MtvCHT/0me9U\nZhL5A+KZFfBLq4lw/YtLdJjBEMN//puutbeGAgE8ZKdxyRHOwIkZyYqs8Hzy\n7XZeYLi0aE4El8GJZqcEJsozPPzticZHBAUHT2q8nd58QmmnhJwDHtOoHP7I\noho1dM4kLqLQe9YLK2R/S1tDOLFaNgmJ2tMVHerbyFvmFeU3NaM+kbxr9NUl\nrh5dn9HpA7917ytcv+StQLVD3CNrXLaajC3sMr+D0XoHGWGgRZwm1A9DldJM\nMuMEKsr0pLrQVvq1mwRUF8q4ppfKqPJ6ZRZZjkpWk2TaVAcb+x2f5w5LCnfW\nn7fiETfOp9Lg05xDk0sOD2rUkp10ZBELHIlNchBZB5Jlt+ZLJevaammKpOQc\nNqHGmXM3nYTJR4YY8eWKaulNCsUZ2s9EBhn7hg/y5l08dwURM1T9tpNLNhPq\nmi5leTGJYSkirJnikWGn0CUTVrT0oR/5ZdnBNoPQ4d4BOE2oA8OvfJoM1WYe\nBoaYjDB0i5J/G23udAtuNAtPVZ+4W0pnopvVC3tH1q/+pJY0bwfY94Vh/XY3\ny3LG2sh77+dnwQAOy1gi5Afi8vslJ4q78YoqhRUeRpNNWO/szAoND9bEgPE2\nkZSdhQBErrJ4WHUMAmJF2mFeAxiThvsDP11kUMHIjWef4P86XqYZCEQj/Ic1\n1+6/\r\n=Tup5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+ldOLpHImryQbXJX2dMLuR9inOuJdgM249a87npUj4QIgfRALWDPI6uhYiibHBNZZhyUk3jw0By5o0en8lKZVJlo="}]},"_npmUser":{"name":"carrotwu","email":"542425997@qq.com"},"directories":{},"maintainers":[{"name":"carrotwu","email":"542425997@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/check-vue-conflict-webpack-plugin_1.0.0_1610175030842_0.4851938078336877"},"_hasShrinkwrap":false},"1.0.1":{"name":"@carrotwu/check-vue-conflict-webpack-plugin","version":"1.0.1","description":"用于检测vue单文件template模板中是否存在未处理的合并冲突遗留代码的webpack插件","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","watch":"rollup -c --watch","lint":"eslint src --ext .ts --fix","publish:next":"npm publish --access public"},"publishConfig":{"access":"public"},"author":{"name":"carrotwu"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/carrot-wu/check-vue-conflict-webpack-plugin.git"},"homepage":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin#README","devDependencies":{"@babel/core":"^7.12.10","@babel/plugin-transform-runtime":"^7.12.10","@babel/preset-env":"^7.12.11","@babel/preset-typescript":"^7.12.7","@rollup/plugin-json":"^4.1.0","@types/babel__core":"^7.1.12","@types/node":"^14.14.20","@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","eslint":"^7.17.0","eslint-config-airbnb-base":"^14.2.1","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.3.1","prettier":"^2.2.1","rollup":"^2.35.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-inject":"^3.0.2","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3","webpack":"^5.11.1"},"dependencies":{"@babel/parser":"^7.12.11","@babel/traverse":"^7.12.11","@babel/types":"^7.12.11"},"gitHead":"6d538ea0e55ec6d14fd919989cf55c65499e3169","bugs":{"url":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin/issues"},"_id":"@carrotwu/check-vue-conflict-webpack-plugin@1.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-QBLwJ4BedyLpt9fRW6Mzxui+tkmX1xRi3KFOLHQxG1ALHo4SLNY/ZCKBzSKHb4+XzLieJiQ7YgdJObvRgXXXpQ==","shasum":"6684105f4eaf6eaacdc77ade2d3b3272cb091fd2","tarball":"https://registry.npmjs.org/@carrotwu/check-vue-conflict-webpack-plugin/-/check-vue-conflict-webpack-plugin-1.0.1.tgz","fileCount":10,"unpackedSize":15381,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/Q2YCRA9TVsSAnZWagAA+CAP+QG8G4zrJrdxlBk62HGA\njmZ0gq1tx25ZnkZNv7bQGpRkfhc/qF43UDp2/GqEgIfG0ZENAcyL6wXh8DL3\nIOcv4u31Fu1VZWlqw08fTifiMShgmN8nRfQYXsRm4oVvAatnvA/VdA8oJeFI\nYCTAs7ThypQ/nFPXYj6ny0oSdXhcL77RvbUzrPlAMI/3B57gwNoiFLZB/pUJ\n3F8NuRT7cQ/Va7n7zLtnsQu+LGsqSqNR/FHjmOujbWvXpnkzZhx6CyWvLZ+r\nxH1azvYFCJQWHyPW48hN38xEz/FUpNlAPRzkbiBB2/+4+6f18Q9X7OvO/d4b\nsfCMbfiVgNSE1kDuzWjA0gmmlOkQ78bAtnFQJolDAxKmY9ni7WoZ3FpUuaU0\nlelxDU7sR821YJqDEdX4rbnjDI2i03TZI8f8SraT1DZIhd1Rh6T/YKT/q9fk\ns4sI4P9qUXDQeiZk/4mTfpA4bhwsB3tz+9IKu2l6Lw0ywHaLiZzimaK8Vi4L\nY1eoeSzJeywJnqAQkRhXnc31gIbyDIh8W/M0rpNeDjkBX8N18N085EQv38cd\n7CVXO1TdjFSltHqiMAY6IZzmNKPjY++z95dZXxhXWp2+lBFiR9YhvVcMIJ/M\nYPrl6Akp2acogRUGF4XfSeV9mVQMeOmJdttoROs8a4VnV9aT7ViHW1GSgyFq\nUlt1\r\n=PChO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBWuBqNRvHVVBWemnGAXKUCp/P5Fwpp4jXn+Ah2gdEs7AiBKFern6cnIW+9re4JvVqbd1mrRB1mZrHncwq2daAKMow=="}]},"_npmUser":{"name":"carrotwu","email":"542425997@qq.com"},"directories":{},"maintainers":[{"name":"carrotwu","email":"542425997@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/check-vue-conflict-webpack-plugin_1.0.1_1610419608378_0.4579576874079563"},"_hasShrinkwrap":false},"1.0.2":{"name":"@carrotwu/check-vue-conflict-webpack-plugin","version":"1.0.2","description":"用于检测vue单文件template模板中是否存在未处理的合并冲突遗留代码的webpack插件","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","watch":"rollup -c --watch","lint":"eslint src --ext .ts --fix","publish:next":"npm publish --access public"},"publishConfig":{"access":"public"},"author":{"name":"carrotwu"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/carrot-wu/check-vue-conflict-webpack-plugin.git"},"homepage":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin#README","devDependencies":{"@babel/core":"^7.12.10","@babel/plugin-transform-runtime":"^7.12.10","@babel/preset-env":"^7.12.11","@babel/preset-typescript":"^7.12.7","@rollup/plugin-json":"^4.1.0","@types/babel__core":"^7.1.12","@types/node":"^14.14.20","@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","eslint":"^7.17.0","eslint-config-airbnb-base":"^14.2.1","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.3.1","prettier":"^2.2.1","rollup":"^2.35.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-inject":"^3.0.2","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3","webpack":"^5.11.1"},"dependencies":{"@babel/parser":"^7.12.11","@babel/traverse":"^7.12.11","@babel/types":"^7.12.11"},"gitHead":"1d91a0762c47b43e1f43105b1edb2403e791026c","bugs":{"url":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin/issues"},"_id":"@carrotwu/check-vue-conflict-webpack-plugin@1.0.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-JT7SzpJ1kvBbDsY2yHVx+CB87jlIQZ+BFYR0vlwiWe6yVLadW1Bxm16dpr9gkaHZ2FhFULLnAaLly4uP2BmcmA==","shasum":"32ff3676a0724e209523386a2c916eebc60bfb59","tarball":"https://registry.npmjs.org/@carrotwu/check-vue-conflict-webpack-plugin/-/check-vue-conflict-webpack-plugin-1.0.2.tgz","fileCount":10,"unpackedSize":15403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/mezCRA9TVsSAnZWagAARr4P/2ewuMpg7WBK5dDpV2zQ\nPPedFySUkHSv76g+mtpEiICQfL9zOQVCVd09QhMddIkOnklstxPiWL/gW6TW\nbdipJIIUME4AGSDnH3MryJkM43NoGDOdf2iFNkXEG/Z6W47DQmeF4I2WUJj4\nwPHXX4Kina+PpDXPI6PJY6UYJDPb2WNbMC9utKTDBzfAudG8el2R6+yrOSzP\njIfHP6itTS8sd9MwL6v1/C+1Ym5/rHe9SaMfAyw8NVba/BQymqDxGPsuykYv\nng9DLdMOJ/YYuvcJ4d6C+1DH+C+dOz8zKNObqaROrhOmI9+l44BxxTPgcw8m\nAtLzB7ad7ivTI90fAB3Reqhn+Ep/UclSNqo4uHjWcl5kWdX/EU9V1RMr7473\n941ltojy+RDuySZAVhviVWYVXWFKGzCLE4T1+rIUJ01Qs6PjrhoN2xDYJAOI\nhZKD/ZOpmPEWTy5pyjS5+EB56TEW6XanJX2XPzpZPCfYLN+q/Y8JbtScNwFm\n3sBhj9Jp+zXL79VA/IJHD0TCrJExrx0eTbC4dIQ2iF/kkwcs+LFz5vd4zLMQ\npAqudULrrjmh7M98H3Q4nZL0CUvxed/ifh0ph9vF4k5lBANdoycMgPu9egmY\nKMLGSVWZJ7DucZbXIURsjQO6Eo8mmVNX0W/oB18WNmpBZn6NnOPclO5zw3/k\n2gdR\r\n=Bc2N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDcvC+kTNZA6+O5+K3lI9bKxM6Xy94O5BwGFvpAPTo5pAiEA/PjEZMG5yevSezomzNMJ4eobIbloVGkMdRU4EULvZ3c="}]},"_npmUser":{"name":"carrotwu","email":"542425997@qq.com"},"directories":{},"maintainers":[{"name":"carrotwu","email":"542425997@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/check-vue-conflict-webpack-plugin_1.0.2_1610508211416_0.41630066248908615"},"_hasShrinkwrap":false},"1.0.4":{"name":"@carrotwu/check-vue-conflict-webpack-plugin","version":"1.0.4","description":"用于检测vue单文件template模板中是否存在未处理的合并冲突遗留代码的webpack插件","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c","watch":"rollup -c --watch","lint":"eslint src --ext .ts --fix","publish:next":"npm publish --access public"},"keywords":["vue","webpack","conflict"],"publishConfig":{"access":"public"},"author":{"name":"carrotwu"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/carrot-wu/check-vue-conflict-webpack-plugin.git"},"homepage":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin#README","devDependencies":{"@babel/core":"^7.12.10","@babel/plugin-transform-runtime":"^7.12.10","@babel/preset-env":"^7.12.11","@babel/preset-typescript":"^7.12.7","@rollup/plugin-json":"^4.1.0","@types/babel__core":"^7.1.12","@types/node":"^14.14.20","@typescript-eslint/eslint-plugin":"^4.12.0","@typescript-eslint/parser":"^4.12.0","eslint":"^7.17.0","eslint-config-airbnb-base":"^14.2.1","eslint-config-prettier":"^7.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.3.1","prettier":"^2.2.1","rollup":"^2.35.1","rollup-plugin-babel":"^4.4.0","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-inject":"^3.0.2","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.29.0","typescript":"^4.1.3","webpack":"^5.11.1"},"dependencies":{"@babel/parser":"^7.12.11","@babel/traverse":"^7.12.11","@babel/types":"^7.12.11"},"peerDependencies":{"vue":">=2.x"},"gitHead":"3a1b156fa96d5a4ce6c1e02307de704be05efe75","bugs":{"url":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin/issues"},"_id":"@carrotwu/check-vue-conflict-webpack-plugin@1.0.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.5","dist":{"integrity":"sha512-4j6Q6iI2bJNo2f+KEWFuuCsBD/5u9zGSdmAKJBDEiadfAQ5osfczFZkd31ePaG3jhBuTJ5AluXQkx6xU9uyNMA==","shasum":"974bb74e13217ffd55e3162c32d864566369570f","tarball":"https://registry.npmjs.org/@carrotwu/check-vue-conflict-webpack-plugin/-/check-vue-conflict-webpack-plugin-1.0.4.tgz","fileCount":14,"unpackedSize":18383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/7QmCRA9TVsSAnZWagAAUwQQAKS3mHbiKl1kAZNTVos5\nOzhMrMYgzdtBWsC1ghdbq5mj5EnziTZOE3UsbqV9Ma8rXVWFTC3agQJuM2r9\n8qHujmGlsgEEE84IonQaX1bLQyv2a+7Vg/pHDOBGTXn8EoBAP/a72n50P+AD\n8Wj3WJdcIqv/c2zD9eGZvCTMWIU9IoEVZP2yCtEpn7CeLD/ZCPAIDzqJbG5S\nQQgdXDw9SbbUYcuugjyc/vH3/9NV0l1CMgyP1c4yAeDrthtLopE7XW1mC1ea\nrVHjhuIYjCTBV8sitefAj2l16jOE+qCUcgJpujKJngXxLsDhI/hL6XAL58ct\n8fJgrTL+4BUMnKnWA4tloc/HSuRSM9x6EnqwUN8TbqNn75R/i6Bz0Hzobcl0\nu3ZplDIqFcc/x6rDpAXzS/04C9g96BMb7IwfNFmXgxsFfhYf6iaFmzQ8DDGZ\nmLxyr4Z/t0fL6PknCX4w2dZRb0vfO7PvtRMux7shzywJfrZPocdCynTV3Uta\n/ebBKT664uixfPCSQokh+BuRsaUtrzMWX1B5b4sOi5Tsh/oN7IykUXNDqnlS\n+EqA9XYZLpFrOhMEdpHIiRWsvg87q9NqPq7SPUwi11g1F3IrxskAtgYjOcfL\n/1qn7Ep+Qwd3VyNMpIvjHWlSFDCVHL1+atVqC9NpHtdEXqk5zaIfhSIGwulq\nWUgc\r\n=ag+s\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7LJ7H0wjbb9WSxI51Yd8UfYisjDRPRBUGfVyu5VYC9AiEAuvuiNb0OnSnoeghPoYz/OQO7o1MLXpadsEAu8icozL0="}]},"_npmUser":{"name":"carrotwu","email":"542425997@qq.com"},"directories":{},"maintainers":[{"name":"carrotwu","email":"542425997@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/check-vue-conflict-webpack-plugin_1.0.4_1610593318020_0.14567887454569028"},"_hasShrinkwrap":false}},"time":{"created":"2021-01-09T06:50:30.785Z","1.0.0":"2021-01-09T06:50:30.995Z","modified":"2022-04-04T21:59:06.721Z","1.0.1":"2021-01-12T02:46:48.490Z","1.0.2":"2021-01-13T03:23:31.557Z","1.0.4":"2021-01-14T03:01:58.129Z"},"maintainers":[{"name":"carrotwu","email":"542425997@qq.com"}],"description":"用于检测vue单文件template模板中是否存在未处理的合并冲突遗留代码的webpack插件","homepage":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin#README","repository":{"type":"git","url":"git+https://github.com/carrot-wu/check-vue-conflict-webpack-plugin.git"},"author":{"name":"carrotwu"},"bugs":{"url":"https://github.com/carrot-wu/check-vue-conflict-webpack-plugin/issues"},"license":"ISC","readme":"# check-vue-conflict-webpack-plugin\n[![NPM Version][npm-image]][npm-url]\n\n一个能够检测.vue单文件template模板中是否存在遗留的合并冲突代码的webpack插件\n> 支持\n## 安装\n\n```\nnpm install @carrotwu/check-vue-conflict-webpack-plugin -D\nor\nyarn add @carrotwu/check-vue-conflict-webpack-plugin -D\n```\n\n## 使用\n\n使用的方式十分简单，只需要在webpack配置中引入实例化当前插件即可，插件内部判断了只会在production模式下才进行插件的注册,如果强制需要在开发环境中也进行检测只需设置`force`为true即可。\n```js\nnew VueConflictPlugin({force: true})\n```\n\n### vue-cli中使用\n\n> 下面展示在vue-cli启动的项目中如何使用当前插件\n\n\n对于使用`vue-cli`启动的项目，只需要在vue.config.js添加webpack配置即可\n\n```js\nconst VueConflictPlugin = require('@carrotwu/check-vue-conflict-webpack-plugin')\n\nmodule.exports = {\n  configureWebpack: {\n    plugins: [new VueConflictPlugin()]\n  }\n}\n\n```\n\n\n## 插件是如何检测冲突代码的呢\n\n本来呢想通过babel插件的形式来对vue单文件模板中的template编译的内容进行ast语法树的分析来进行检测，思路跟我之前写的react冲突babel插件一样。\n\n问题是在实际调试的过程中发现.vue单文件在经过vue-loader进行编译的时候：\n1. script中的js代码是会经过babel的编译解析，这部分没问题\n2. template中的渲染模板是由vue官方维护的`vue-template-compiler`进行静态分析编译成vue特定的ast语法树，类似于这种\n```js\n{\n  ast: {\n    type: 1,\n    tag: 'div',\n    attrsList: [ [Object] ],\n    attrsMap: { id: 'test' },\n    rawAttrsMap: {},\n    parent: undefined,\n    children: [ [Object], [Object], [Object] ],\n    plain: false,\n    attrs: [ [Object] ],\n    static: false,\n    staticRoot: false\n  },\n  render: `with(this){return _c('div',{attrs:{\"id\":\"test\"}},[\n        _m(0),          // 上述提到的静态子树，索引为0 <div><p>This is my vue render test</p></div>\n        _v(\" \"),        // 空白节点 </div> <p> 之间的换行内容\n        _c('p',[_v(\"my name is \"+_s(myName))])  // <p>my name is {{myName}}</p>\n    ])}`,\n  staticRenderFns: [\n    `with(this){return _c('div',[_c('p',[_v(\"This is my vue render test\")])])}`\n  ],\n  errors: [],\n  tips: []\n}\n```\n\n编译优化过后的模板代码并不走babel编译所以babel插件的想法无法实现。\n\n所以换了一种思路，不管vue的template如何折腾最终都是要经由webpack打包成一个module，最后交由webpack进行组装输出成相应的js。\n\n**所以可以通过webpack插件进行监听相关的生命周期钩子获取vue-template-compiler编译好的模板module，自己手动的引入babel进行ast语法分析即可**\n\n具体的实现可以查看我的另外一篇[`博客文章`](https://ssr.carrotwu.com/post?id=39)\n","readmeFilename":"README.md","keywords":["vue","webpack","conflict"]}