wbuchwalter / tslint-loader

tslint loader for webpack
192 stars 65 forks source link

webpack 2.1.0-beta.25 support ? #38

Closed kfirufk closed 7 years ago

kfirufk commented 7 years ago

Hi.

I have a webpack 1.13.1 configuration that I try to convert to webpack 2.1.0-beta.25 configuration.

the preLoaders related configuration, I changed to loaders configuration with 'pre' set for enforce. what I get left is the tslint configuration part.

now when I try to build the webpack project with 'npm run build' I get

For loader options: webpack 2 no longer allows custom properties in configuration. Loaders should be updated to allow passing options via loader options in module.rules.

which means that I have to configure it somewhere else.. no idea where though. any ideas?

more information at http://stackoverflow.com/questions/39919793/tslint-loader-with-webpack-2-1-0-beta-25

thanks

oojacoboo commented 7 years ago

Not 100% sure that this is related to webpack 2 yet. But I'm seeing The keyword 'interface' is reserved issues when the tslint-loader is running over the index.tsx entry file as well.

I'm noticing that this project is "UNMAINTAINED". Can we have a suggestion from the maintainer on what's the suggested path going forward or are you looking for someone to take over the project?

michaeljota commented 7 years ago

You have to use the new webpack pluging LoaderOptionsPlugin.

      new LoaderOptionsPlugin({
        options: {
          /**
           * Static analysis linter for TypeScript advanced options configuration
           * Description: An extensible linter for the TypeScript language.
           *
           * See: https://github.com/wbuchwalter/tslint-loader
           */
          tslint: {
            emitErrors: false,
            failOnHint: false,
            resourcePath: 'src'
          },
        },
      }),
tpeiffer commented 7 years ago

note - just found this out the hard way, but you need to add an empty resolve: {} object to options or you may get the error "Cannot read property 'unsafeCache' of undefined".

ts-loader/issues/283

options: {
    resolve: {},
    ...
jerexyz commented 7 years ago

@tpeiffer I add resolve: {} the errors gone, but why?

tpeiffer commented 7 years ago

@jerexyz Webpack 2 is in beta and this, and most other, loaders have not been completely updated to support the new version yet. Not a good answer, but unfortunately the case.

mraible commented 7 years ago

I found the LoaderOptionsPlugin causes issues when using the string-replace-webpack-plugin.

Module build failed: TypeError: Cannot read property 'hasOwnProperty' of undefined
    at Object.module.exports (/Users/mraible/dev/stormpath-sdk-angular/node_modules/string-replace-webpack-plugin/loader.js:12:29)

If I remove it, the string-replace plugin works fine.

geo242 commented 7 years ago

Another Webpack beta issue I can't seem to find any info on: How can specific files be excluded from linting using the LoaderOptionsPlugin? It was easy when we used pre loaders, but now, I can't seem to figure it out.

sonicoder86 commented 7 years ago

Added Webpack 2 configuration to readme.