Импорт @types из приватной области npm - PullRequest
1 голос
/ 27 сентября 2019

У меня есть закрытый пакет npm с заданной областью действия, package.json которого выглядит следующим образом:

    {
      "name": "@co/schema",
      "version": "0.20.0",
      "author": "jsmith",
      "contributors": [],
      "main": "lib/index.js",
      "files": [
        "lib"
      ],
      "types": "./lib/index.d.ts",
      "devDependencies": {
        "@types/node": "12.7.4",
        "graphql": "14.5.6",
        "typescript": "3.6.2"
      }
    }

Я установил этот пакет в другом проекте.Проблема: при попытке импортировать из него определенный тип:

import { Derp } from '@co/schema';

Сам импорт не показывает ошибки, но когда я пытаюсь использовать тип:

myDerp: Derp = {};

, я получаю этоошибка: cannot use namespace Derp as a type.

Итак, Derp определенно НЕ является пространством имен.Это интерфейс:

export interface Derp {
  herp: string,
  nerp: number,
  flerp: string
}

Предлагаемое исправление, которое я видел, было: npm i @types/@co/schema -D, но когда я пытаюсь это сделать, я получаю:

code EINVALIDPACKAGENAME
Invalid package name "@types/": name can only contain URL-friendly characters

Не могу сказать, что это тормозитна @ в названии моей области или как.

Так что да - как мне правильно импортировать (или экспортировать из моего личного модуля) эти типы?

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

...