0.4.0 • Published 4 years ago

fork-ts-checker-async-overlay-webpack-plugin v0.4.0

Weekly downloads
1,569
License
MIT
Repository
github
Last release
4 years ago

Fork TS Checker Async Overlay Webpack Plugin

npm version

Webpack plugin that connects fork-ts-checker-webpack-plugin (async: true) to error overlay of webpack-dev-server.

What

This plugin enables fork-ts-checker-webpack-plugin to show type check errors in overlay of webpack-dev-server, without specifying async: false option (which slows down).

By default fork-ts-checker-webpack-plugin runs type checking after compilation, so result is pushed to webpack-dev-server client before type check is done. So this plugin re-fires done hook of webpack-dev-server after type checking is done (bit hacky).

Installation

Please setup fork-ts-checker-webpack-plugin first.

For convenient, you can concat thisPlugin.plugins() to plugins array. Or you can add these plugins one-by-one. Don't forget to remove async: false option of fork-ts-checker-webpack-plugin to get speed up with this plugin.

const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin')
const ForkTsCheckerAsyncOverlayWebpackPlugin = require('fork-ts-checker-async-overlay-webpack-plugin')

module.exports = {
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: {
          loader: 'ts-loader',
          options: {
            transpileOnly: true
          }
        },
        exclude: /node_modules/
      }
    ]
  },
  ...
  plugins: [
    ...
  ].concat(
    new ForkTsCheckerAsyncOverlayWebpackPlugin({
      checkerPlugin: new ForkTsCheckerWebpackPlugin()
    }).plugins()
  ),
  devServer: {
    overlay: true, // important
    inline: true
  }
}

Limitation (important)

Only errors (NOT warnings) are shown in overlay. webpack-dev-server reloads window if re-firing done hook without errors. To prevent it, this plugin only re-fire if there are any errors. It'd better to have async error reporting feature in webpack-dev-server itself.

License

MIT

0.4.0

4 years ago

0.3.0

4 years ago

0.2.0

4 years ago

0.1.0

5 years ago