Обновление формы TypeScript 1.8.10 до 3.1.6 - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть расширение VSTS, которое было построено на машинописи 1.8.10.Я хочу обновить его до последней версии 3.1.6.Я мог бы сделать это, выполнив npm i typescript@3.1.6 --save-dev.Однако после этого я получаю количество ошибок из файлов * .d.ts.В основном из knockout.d.ts и node.d.ts.Я пробовал ниже:

  • Обновление определений типов вручную
  • Переустановка всех узловых модулей

Ошибки выглядят следующим образом:

[15:45:28] Компиляция файлов TypeScript с использованием tsc версии 3.1.6

[15:45:37] [tsc]> определений / knockout.d.ts (10,2):ошибка TS2411: свойство 'notifySubscribeers' типа '(valueToWrite ?: T, событие ?: string) => void' нельзя назначить строковому индексу типа KnockoutBindingHandler.

[15:45:37] [tsc]> определений / knockout.d.ts (20,2): ошибка TS2411: Свойство «compatibilityComparer» типа «(a: any, b: any) => boolean» не присваивается строковому индексу типа «KnockoutBindingHandler».

[15:45:37] [tsc]> определений / knockout.d.ts (25,5): ошибка TS2411: свойство 'indexOf' типа '(searchElement: T, fromIndex ?: число)=> число 'нельзя назначить строковому индексу типа KnockoutBindingHandler.

[15:45:37] [tsc]> определений / knockout.d.ts (26,5): ошибка TS2411: свойство'кусочекpe '(начало: число, конец ?: число) => T []' нельзя назначить строковому индексу типа KnockoutBindingHandler.

Пока что ничего не работает.Спасибо, если кто-нибудь может мне помочь.

Спасибо.

1 Ответ

0 голосов
/ 28 января 2019

Так что я смог обойти это.

Во-первых, vss-web-extension-sdk не поддерживал TS 3.0 в то время.

Поэтому мне пришлось использовать TS 2.9.2.Другая вещь заключалась в том, что я изменил все свои предыдущие ссылки, например:

///<reference path="../definitions/Q.d.ts" />

на

/// <reference type="Q" />

Это решило большинство ошибок.

...