Пользовательские правила tslint, написанные на TypeScript, не обнаруживаются tslint при использовании ts-checker-webpack-plugin - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть проект TypeScript с Webpack со следующим на package.json

"ts-checker-webpack-plugin": "^0.3.0",
"tslint": "^5.9.1",
"typescript": "^2.8.3",

У меня также есть пользовательское правило TSLint, написанное на TypeScript, которое компилируется tsc во время сборки веб-пакета, но полученный JS не найден tslint. Выводит следующую ошибку:

Could not find implementations for the following rules specified in the configuration:
    custom-check

Я подтвердил, что если я вручную скомпилирую customCheckRule.ts в JS, то правило будет найдено в webpack и tslint и будет использовано.

Как настроить webpack или ts-checker-webpack-plugin, чтобы убедиться, что правило скомпилировано и используется в процессе сборки?

Ниже приведена соответствующая часть webpack.config.js

const HtmlWebpackPlugin = require('html-webpack-plugin');
...

module.exports = {
    ...,

    resolve: {
        extensions: [".ts", ".tsx", ".js", ".json"]
    },

    plugins: [
        ...,
        new TsCheckerWebpackPlugin({
            tsconfig: path.resolve("tsconfig.json"),
            tslint: path.resolve("tslint.json"), // optional
            memoryLimit: 512, // optional, maximum memory usage in MB
            diagnosticFormatter: "ts-loader", // optional, one of "ts-loader", "stylish", "codeframe"
        })
    ],

    module: {
        rules: [
            // All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'.
            {
                test: /\.tsx?$/,
                use: [{
                    loader: 'babel-loader'
                }, {
                    loader: 'ts-loader',
                    options: {
                        transpileOnly: true
                    }
                }]
            },
            ...
        ]
    }
};
...