Как я могу перезаписать неверный тип node_module в проекте Angular-CLI? - PullRequest
0 голосов
/ 27 апреля 2018

У меня неправильный модуль node_module (angularfire2), который не обновляется новыми наборами, найденными в другом модуле node_module (@firebase).

Я пытаюсь получить tsconfig.json, чтобы помочь мне установить для него псевдоним пути, чтобы он был перенаправлен для разрешения измененного файла, записанного в src, вместо несовместимого файла ввода в node_modules @ firebase в качестве временного исправления. .

Я знаю, что могу понизить (@firebase) node_module, чтобы он был совместим. Однако этот вопрос не о том, чтобы заставить его работать. Я просто хочу выяснить, как можно переписать node_module с ошибками при наборе.

Я использую проект Angular cli и надеюсь, что мне не нужно извлекать веб-пакет, чтобы управлять им.

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

Однако у меня все еще возникают проблемы с перезаписью наборов с помощью index.d.ts в самом модуле node_module.

например. (от angularfire2)

import { FirebaseApp as FBApp } from '@firebase/app-types';

Я хотел бы создать псевдоним для @firebase/app-types в моем tsconfig.json, чтобы angularfire2 выглядел в src/types-overwrite/@firebase/app-types.

У меня есть следующий файл tsconfig.json, но он по-прежнему не будет правильно выполнять псевдонимы и все равно будет преобразован в файл ввода несовместимого node_module вместо того, который указан в src.

my tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types",
      "src/types-overwrite"
    ],
    "paths": {
      "@firebase/app-types": ["src/types-overwrite/@firebase/app-types"]
    },
    "lib": [
      "es2017",
      "dom"
    ]
  },
  "include": [
    "node_modules/angularfire2",
  ]
}

Как переписать index.d.ts, набрав файлы в node_module в проекте Angular-CLI, или как заставить мой tsconfig.json работать?

Обновление:

Я добавил хранилище для демонстрации проблемы:

  • '@ firebase / app-types' имеет дополнительные наборы для ведения журнала (from_node_modules или from_src) (поэтому node_modules уже включены в репозиторий)

URL: https://github.com/Jonathan002/resolve-typing

1 Ответ

0 голосов
/ 18 мая 2018

Я нашел ответ на этот пост:

Исключить / перезаписать числа, введенные в npm

Добавлено:

  • baseUrl - необходим для разрешения путей к работе
  • 1012 * пути *
  • включает (обновлено)

к моему tsconfig.json при копировании кодов набора пакетов и обращении к нему в папке объявлений:

  • декларация / пакет-name.d.ts

tsconfig.ts

{
  "compilerOptions": {
    "lib": ["es6"],
    "module": "commonjs",
    "noImplicitReturns": true,
    "outDir": "lib",
    "sourceMap": true,
    "target": "es6",
    "baseUrl": ".",
    "paths": {
      "*": [
        "src/*", 
        "declarations/*",
      ]
    },
  },
  "compileOnSave": true,
  "include": ["src/**/*.ts", "src/**/*.tsx", "declarations/**/*.d.ts"],
}
...