Как заставить VSCode обнаруживать moduleNameMapper из Jest (ts-jest) - PullRequest
0 голосов
/ 06 апреля 2020

Моя проблема описана там: github.com / microsoft / vscode / Issues / 94474 : VS Code IDE показывает Не удается найти модуль (2307) для каждого файла, используя moduleMappings

Пример :

jest.config. js:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
  roots: ['<rootDir>/test'],
  transform: {
    '^.+\\.tsx?$': 'ts-jest'
  },
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1',
    '^@@/(.*)$': '<rootDir>/test/$1'
  }
}

часть файла теста:

import { DateTimeInput } from '@/generated/prisma-client'
import { startTestServer } from '@@/helpers/apolloInstance'
import prisma from '@@/helpers/prismaInstance'
import { createUser } from '@@/helpers/userHelper'
import { toPromise } from 'apollo-link'
import gql from 'graphql-tag'

tsconfig. json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "outDir": "dist",
    "lib": ["es6", "es7", "esnext", "dom"],
    "sourceMap": true,
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"],
      "@@/*": ["test/*"]
    },
    "esModuleInterop": true,
    "plugins": [{ "transform": "typescript-transform-paths" }]
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules"]
}

Код вызывает эту ошибку: ошибка в vscode

Решение, предлагаемое в связанной проблеме, бесполезно, поскольку оно приводит к переносу десятков тестовых файлов, а это не то, что мне нужно достигать. Есть ли способ заставить VSCode действительно читать шутку conifg?

1 Ответ

0 голосов
/ 30 апреля 2020

Решение (возможно, больше похожее на обходной путь) состоит в том, чтобы создать tsconfig более высокого порядка для обоих тестов и sr c, а затем создать еще один tsconfig, расширяющий предыдущий каталог, и папки specyfi c для компиляции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...