Добавление Jest приводит к ошибкам - PullRequest
0 голосов
/ 12 июля 2019

У меня есть проект прореагировать (не создать-реакция-приложение) Проект создан с помощью шаблона приложения Visual Studio Net Core.

Работает без ошибок.

Но добавление jest с помощью команды npm install --save-dev jest приводит к сотням ошибок при компиляции.

Я подозреваю, что конфигурация моего веб-пакета неверна для jest, но понятия не имею, что не так ...

На данный момент у меня нет тестов в проекте вообще.

Пример ошибок

ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:17:146 TS1144: '{' или ';' ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:18:5 TS1128: ожидается объявление или заявление. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:19:17 TS1005: ',' ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:19:32 TS1109: выражение ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:19:49 TS1005: ';' ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:19:55 TS1109: выражение ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:20:17 TS1109: выражение ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:20:26 TS1005: ';' ожидается. ОШИБКА в [at-loader] ./node_modules/@jest/console/build/BufferedConsole.d.ts:20:32 TS1109: выражение ожидается.

webpack.config.js

const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin;
const bundleOutputDir = './wwwroot/dist';

module.exports = (env) => {
    const isDevBuild = !(env && env.prod);
    return [{
        stats: { modules: false },
        entry: { 'main': './ClientApp/boot.tsx' },
        resolve: { extensions: ['.js', '.jsx', '.ts', '.tsx'] },
        output: {
            path: path.join(__dirname, bundleOutputDir),
            filename: '[name].js',
            publicPath: 'dist/'
        },
        module: {
            rules: [
                { test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' },
                { test: /\.css$/, use: isDevBuild ? ['style-loader', 'css-loader'] : ExtractTextPlugin.extract({ use: 'css-loader?minimize' }) },
                { test: /\.(png|jpg|jpeg|gif|svg|ttf|woff|eot|woff2)$/, use: 'url-loader?limit=25000' }
            ]
        },
        plugins: [
            new CheckerPlugin(),
            new webpack.DllReferencePlugin({
                context: __dirname,
                manifest: require('./wwwroot/dist/vendor-manifest.json')
            })
        ].concat(isDevBuild ? [
            // Plugins that apply in development builds only
            new webpack.SourceMapDevToolPlugin({
                filename: '[file].map', // Remove this line if you prefer inline source maps
                moduleFilenameTemplate: path.relative(bundleOutputDir, '[resourcePath]') // Point sourcemap entries to the original file locations on disk
            })
        ] : [
            // Plugins that apply in production builds only
            new webpack.optimize.UglifyJsPlugin(),
            new ExtractTextPlugin('site.css')
        ])
    }];
};

tsconfig.json

{
   "compilerOptions": {
      "baseUrl": ".",
      "module": "commonjs",
      "moduleResolution": "node",
      "esModuleInterop": true,
      "target": "es5",
      "lib": [ "es6", "dom" ],
      "jsx": "react",
      "sourceMap": true,
      "skipDefaultLibCheck": true,
      "strict": true,
      "types": [ "webpack-env" ]
   },
  "exclude": [
      "bin",
      "node_modules"
  ]
}

jest.config.js

module.exports = {
    "transform": {
        "^.+\\.tsx?$": "ts-jest"
    },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...