npm @types и версия TypeScript - PullRequest
       1

npm @types и версия TypeScript

0 голосов
/ 18 сентября 2018

Таким образом, у нас есть проблема в том, что файлы, устанавливаемые через npm на нашей сборочной машине, отличаются от тех файлов, которые используются локально на машинах нашего разработчика.

Мы используем TypeScript, поэтому требуется @types для установки для некоторых пакетов npm, поэтому в нашем файле package.json у нас есть ...

"dependencies": {
    "react-autosuggest": "^9.3.4"
}
"devDependencies": {        
    "@types/react-autosuggest": "^9.3.3"
}

При локальной установке npm локально происходит удаление файла типов, ив верхнем файле указано:

// Type definitions for react-autosuggest 9.3
// Project: http://react-autosuggest.js.org/
// Definitions by: Nicolas Schmitt <https://github.com/nicolas-schmitt>
//                 Philip Ottesen <https://github.com/pjo256>
//                 Robert Essig <https://github.com/robessog>
//                 Terry Bayne <https://github.com/tbayne>
//                 Christopher Deutsch <https://github.com/cdeutsch>
//                 Kevin Ross <https://github.com/rosskevin>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.6

Однако версия на сервере сборки имеет вид:

// Type definitions for react-autosuggest 9.3
// Project: http://react-autosuggest.js.org/
// Definitions by: Nicolas Schmitt <https://github.com/nicolas-schmitt>
//                 Philip Ottesen <https://github.com/pjo256>
//                 Robert Essig <https://github.com/robessog>
//                 Terry Bayne <https://github.com/tbayne>
//                 Christopher Deutsch <https://github.com/cdeutsch>
//                 Kevin Ross <https://github.com/rosskevin>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.8

Обратите внимание на разницу в версии для TypeScript.

Итакпо какой-либо причине, тип файла, кажется, тот же, 9.3, но есть что-то не совсем правильное.Локально мы сейчас наблюдаем другое поведение по сравнению с тем, что публикуется в реальной среде.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 18 сентября 2018

Файл package.json не хранит все дерево зависимостей с зависимостями и версиями.Для этого в экосистеме Node.js есть package-lock.json / yarn.lock.

. Вы должны хранить package-lock.json / yarn.lock в репозитории git для повторяемости.

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