Typescript: не удалось найти файл объявления для модуля после использования dts-gen - PullRequest
0 голосов
/ 06 августа 2020

Я использую пакет npm, https://github.com/SymphonyPlatformSolutions/symphony-api-client-node, который не имеет связанных типов.

Структура каталогов

node_modules
  symphony-api-client-node/
    lib
      ...
src
  symphony-adapter.ts
package.json
tsconfig.json

Я пытался используйте dts-gen для создания файла типа через dts-gen -m symphony-api-client-node. Когда я добавляю этот файл symphony-api-client-node.d.ts в sr c, я все равно получаю сообщение об отсутствии файла декларации для модуля symphony-api-client-node.

На основе https://www.typescriptlang.org/docs/handbook/module-resolution.html#how -typescript-resolves-modules , он должен увидеть файл src/symphony-api-client-node.d.ts и использовать его - что-то мне здесь не хватает?

tsconfig. json

{
    "compilerOptions": {
        "module": "commonjs",
        "allowJs": true,
        "esModuleInterop": true,
        "target": "es2017",
        "noImplicitAny": true,
        "moduleResolution": "node",
        "sourceMap": true,
        "outDir": "dist",
        "removeComments": true,
        "jsx": "react"
    },
    "include": ["src/**/*", "config/*"],
    "exclude": ["./node_modules", "**/tests"]
}

symphony-adapter.ts

import Symphony from 'symphony-api-client-node';

class Adapter {
  constructor(symphony: Symphony){
    this.symphonyBase = symphony;
  }
}

Ошибка:

src/SymphonyAdapter.ts:3:22 - error TS7016: Could not find a declaration file for module 'symphony-api-client-node'. 'path/node_modules/symphony-api-client-node/index.js' implicitly has an 'any' type.
  Try `npm install @types/symphony-api-client-node` if it exists or add a new declaration (.d.ts) file containing `declare module 'symphony-api-client-node';`

3 import Symphony from 'symphony-api-client-node';

symphony-api-client-node.d.ts

/** Declaration file generated by dts-gen */

export function authenticateBot(SymConfig: any): any;

export function authenticateExtApp(): any;

export function authenticateOboApp(): any;

export function createRoom(room: any, description: any, keywords: any, membersCanInvite: any, discoverable: any, anyoneCanJoin: any, readOnly: any, copyProtected: any, crossPod: any, viewHistory: any): any;

export function createSignal(name: any, query: any, visibleOnProfile: any, companyWide: any, sessionToken: any): any;
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...