tslint-loader with webpack 2.1.0-beta.25

后端 未结 3 944
-上瘾入骨i
-上瘾入骨i 2021-02-13 02:03

I have an angular2 Project that I compress/compile with webpack.

I use tslink loader with webpack so I have tslint related configuration in webpack.config.js

相关标签:
3条回答
  • 2021-02-13 02:40

    ok.. so I just needed to move the tslint definition under:

    plugins: [
        new LoaderOptionsPlugin({
            options: {
               tslint: {
                 ...
    

    and declared

    const LoaderOptionsPlugin = require("webpack/lib/LoaderOptionsPlugin");
    
    0 讨论(0)
  • 2021-02-13 03:01

    For others who have problems with preloaders in webpack 2. In beta v2.1-beta.23 there are breaking changes with pre/postLoaders.

    First the "loaders" section should be renamed to "rules". Also pre/postLoaders is now defined under rules.

    In my case i was using tslint as a preLoader. To add a pre/postLoader to rules add the enforce property with value either pre or post.

    module: {
        rules: [
            {
                enforce: 'pre',
                test: /\.tsx?$/,
                loader: 'tslint',
                exclude: /(node_modules)/,
            },
            {
                test: /\.tsx?$/,
                loaders: ['awesome-typescript-loader'],
                exclude: /(node_modules)/
            }
        ]
    }
    

    More info in the release on github: Webpack v2.1.0-beta.23

    In the release info there is also a link to a pull request that shows the needed changes going from v2.1.0-beta.22 to v2.1.0-beta.23 in webpack config file. There you can see that you also need the LoaderOptionsPlugin.

    plugins: [
        new webpack.LoaderOptionsPlugin({
            options: {
                tslint: {
                    emitErrors: true,
                    failOnHint: true
                }
            }
        })
    ]
    
    0 讨论(0)
  • 2021-02-13 03:01

    If you don't want to add a plugin, you can do something like this,

    module: {
      rules: [
        {
          enforce: 'pre',
          test: /\.ts$/,
          loader: 'tslint-loader?' + JSON.stringify({
            emitErrors: true,
            failOnHint: true
          })
        }
      ]
    }
    
    0 讨论(0)
提交回复
热议问题