Как собрать два проекта, которые ссылаются друг на друга - PullRequest
0 голосов
/ 21 марта 2019

У меня проблемы с созданием проекта (@red5/middleware), который ссылается на другой проект (@red5/router), а взамен этот проект ссылается на этот проект (@red5/middleware).

Итак, когда я запускаю команду:

rm -rf types && tsc -p .

Я получаю сообщение об ошибке, из-за которого не удается найти файлы .d.ts, поскольку я удалил их с помощью rm.

.. / router / types / Route.d.ts: 4: 28 - ошибка TS7016: не удалось найти файл объявлений для модуля '@ red5 / middleware'. 'C: /Users/rnaddy/Documents/vscode/projects/red5/framework/middleware/lib/index.js' неявно имеет тип 'any'. Попробуйте npm install @types/red5__middleware, если он существует, или добавьте файл новой декларации (.d.ts), содержащий declare module '@red5/middleware';

@ red5 / router -> route.ts

import { Middleware } from '@red5/middleware';

Если я удаляю команду rm -rf types, я получаю сообщения о том, что она не может перезаписать входной файл, но я больше не получаю вышеуказанную ошибку.

Что я могу сделать, чтобы избавиться от этой ошибки и все еще использовать rm -rf types в моей команде?

промежуточный / tsconfig.json

{
  "compilerOptions": {
    "outDir": "lib",
    "declarationDir": "types"
  },
  "extends": "../tsconfig.json",
  "include": [
    "src/**/*.ts"
  ]
}

tsconfig.json

{
  "compilerOptions": {
    "target": "es2017",
    "module": "commonjs",
    "moduleResolution": "node",
    "declaration": true,
    "strict": true,
    "removeComments": false,
    "inlineSourceMap": true
  },
  "exclude": [
    "lib",
    "types"
  ]
}

1 Ответ

0 голосов
/ 21 марта 2019

Это проекты, которые вы строите или строите в настоящее время? Если это так, то это похоже на проблему с шаблоном зависимости, который вы используете.

Тем не менее, независимо от того, для этого вам нужно обновлять по одному модулю за раз.

Используя предыдущую версию более старого модуля, вы сможете использовать этот конечный вывод в качестве зависимости для текущей версии нового модуля.

Затем, как только вы обновите эти элементы - продолжайте и измените другое решение.

Вам придется работать над одним решением, а затем над другим - если вы внесете изменения в оба варианта, вы нарушите зависимость и не сможете скомпилировать ни одно из них.

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