как настроить угловые пути проекта tsconfig [] без ошибок linting? - PullRequest
0 голосов
/ 29 сентября 2018

У нас есть следующий конфиг в наших tsconfig.ts

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "src",
    "paths": {
      "@app/*": ["app/*"],
      "@pages/*": ["app/pages/*"]
      ...
    },

Тогда мы можем использовать гораздо более чистый импорт в других наших файлах TS, что-то вроде этого:

import {UrlConstants} from '@app/common/constants/url-constants';

Проблема возникает при переносе проекта:

Module '@app/common' is not listed as dependency in package.json

Есть ли способ ее решить, не возвращаясь к использованию ./***/***/ для импорта?

1 Ответ

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

Вы можете настроить правило с помощью белого списка, как описано здесь https://palantir.github.io/tslint/rules/no-implicit-dependencies

Это будет выглядеть так:

tslint.json

{
  "rules": {
    "no-implicit-dependencies": [
      true,
      [
        "app",
        "pages"
      ],
      "dev"
    ]
  }
}

Опция "dev" не совсем подходит для вашего сценария, но она полезна, если вы выполняете тесты так, как мне нравится.

Лично я считаю, что правило должно быть умнее и пытаться проанализироватьtsconfig для путей в некоторой степени.Иногда у человека много путей, и не все используют NPM.Пользователям JSPM, возможно, придется просто отключить правило, которое является позором, потому что правило очень хорошо мотивировано и очень полезно, если вы не достигли этого грубого края.

Теперь это должно работать для @ префиксных путей, так какhttps://github.com/palantir/tslint/pull/4192 был объединен.Пока вы не сможете выполнить обновление, вам может понадобиться использовать "app" и "pages".

...