### What problem does this feature solve? In webpack 4 there is a deprecation warning about the Tapable.plugin being deprecated. ### What does the proposed API look like? Change compiler.plugin to compiler.hooks.[hookname] to support new tappable syntax. The question is what is the preferred way to support new syntax while leaving Webpack 2-3 compatibility? <!-- generated by vue-issues. DO NOT REMOVE -->