webpack-contrib / istanbul-instrumenter-loader

Istanbul Instrumenter Loader
MIT License
273 stars 65 forks source link

Pls update istanbul-lib-instrument version #101

Open kibbon opened 4 years ago

kibbon commented 4 years ago

Recently I use karma+webpack+mocha+istanbul+typescript for js unit testing. karma.conf.js

...
    preprocessors: {
        "test/*.spec.js": ['webpack'],
    },
    webpack: {
        mode: 'development',
        devtool: 'inline-source-map',
        module: {
            rules: [
                {
                    test: /\.ts?$/,
                    include: [path.join(__dirname, 'src')],
                    enforce: 'post',
                    use: [
                        {
                            loader: 'ts-loader',
                        },
                        {
                            loader: 'istanbul-instrumenter-loader',
                            options: {
                                esModules: true,
                                coverageGlobalScopeFunc: false,
                                coverageGlobalScope: '(new Function("return this"))()',
                            },
                        }
                    ],
                    exclude: /node_modules/,
                }
            ],
        },
        resolve: {
            extensions: ['.ts', '.js', '.json']
        },
    },
...

I received such error logs:

TS2339: Property 'hash' does not exist on type '{ path: string; statementMap: { '0': { start: { line: number; column: number; }; end: { line: number; column: number; }; }; '1': { start: { line: number; column: number; }; end: { line: number; column: number; }; }; '2': { start: { ...; }; end: { ...; }; }; ... 23 more ...; '26': { ...; }; }; ... 5 more ...; _covera...'.

And I found that this problem had been resolved by istanbuljs lib, but this repository still used old version. Need to be resolved at once.