将私有包安装到@types - TypeScript& NPM

时间:2016-12-21 18:35:37

标签: typescript npm

我有一个仅仅受到index.d.ts文件(TypeScript定义文件)泄露的回购,我希望在我拥有的一些回购中共享。类型定义文件中唯一的声明是这样的接口:

interface MyInterface {
    thisSuperCoolFunction(): void;
}

不幸的是,定义回购和我使用的所有其他回购都是私有的。是否可以向@types提交一个私人npm打字项目,以便安装它只会有效,但也不会将其公开给其他人?

注意:不是typings回购,只有@types在npm。

1 个答案:

答案 0 :(得分:4)

您无需在任何地方发送您的打字。您可以使用git url as dependencylocal path

假设您要创建@types/secret-library。您的类型位于文件index.d.ts

使用package.json作为包名称

创建@types/secret-library
// package.json
{
  "name": "@types/secret-library",
  "private": true,
  "types:" "index.d.ts"
}

git url

index.d.tspackage.json同时推送到某些代理商,例如git.acme.com/secret-project.git

现在,在您的其他项目中,您可以将此存储库作为依赖项

引用
// package.json
{
  "name": "doom-machine",
  "private": true,
  "dependencies":{
      "@types/secret-library": "git://git.acme.com/secret-project.git"
  }
}

本地路径

如果index.d.tspackage.json都在目录/home/evil-genius/doom-saucer

您可以将此路径引用为依赖项

// package.json
{
  "name": "doom-machine",
  "private": true,
  "dependencies":{
      "@types/secret-library": "file:/home/evil-genius/doom-saucer"
  }
}