Вот как я решил проблему:
Создал новую папку с именем typings
и добавил ее к typeRoots
в tsconfig.json
"typeRoots": [
"typings",
"node_modules/@types"
],
Создал новый файл polyfills.d.ts
в папке typings
и добавленное ниже содержимое в файл:
interface CredentialRequestOptions {
otp: OTPOptions;
}
interface OTPOptions {
transport: string[];
}
Если вам интересно, почему я не добавил другие свойства интерфейса, это потому, что у меня уже есть:
"types": [
"@types/webappsec-credential-management"
]
И "@types/webappsec-credential-management": "^0.5.1",
в packages.json
.
Поддержка OTP
еще не добавлена, и для устранения отсутствующего свойства otp
я воспользовался функцией TypeScript Объявление Слияние , теперь компилятор TypeScript объединяет эти два отдельных объявления (одно определено в node_modules/@types
и другое в typings
), объявленных с тем же именем, в одно определение.
Для дальнейшего чтения: https://justintimecoder.com/how-to-polyfil-missing-types-in-typescript/