vscode не находит подсказку типа для npm ms sql через @ types / mssql - PullRequest
1 голос
/ 06 августа 2020

Я часами бился головой о стену над этим, это должно быть просто. У меня есть проект, в котором node_modules установлены во вложенной папке. Это проект Node с tsconfig. json в проекте root. Это не машинописный проект, но я не могу использовать typeRoots в jsconfig.json, поэтому я вынужден использовать tsconfig. json. Я пытаюсь заставить vscode предоставить подсказку типа для пакета mssql, но что бы ни случилось, он отображается в vscode как тип any. Я могу правильно получить подсказку типа для mocha (описать, it), node (assert) и функций, объявленных в проекте. Я получаю подсказку типа для проекта p-memoize, когда мне это нужно (он использует файл d.ts, расположенный в проекте, а не в @types). Разница здесь в том, что с mssql я использую require (), и это не удается.

Вот мой tsconfig. json:

{
    "compilerOptions": {
        "baseUrl" : ".",
        "allowJs": true,
        "module": "commonjs",
        "moduleResolution": "node",
        "noEmit": true,
        "typeRoots": ["containers/shared/node_modules/@types/"],
        "paths" : {
            "*": ["containers/shared/node_modules/*"],
            "@simpleview/*" : ["../../containers/*"]
        }
    }
}

Тогда у меня есть code файл со следующим:

const mssql = require("mssql");

ms sql разрешается как тип any.

В моем пакете. json У меня есть последняя версия обоих mssql и @types/mssql:

"@types/mssql": "4.0.7",
"mssql": "6.2.1",

Я делаю здесь что-то не так или в проекте @ types / ms sql есть ошибки, но если да, то что именно не так, чтобы я мог отправить PR в исправить?

...