如何使用自定义类型发布TypeScript 2包

时间:2017-11-29 15:11:41

标签: typescript npm typescript-typings typescript2.0 yarnpkg

我有一个TS项目,发布到私人npm注册表,供其他内部项目使用(可能也是所有TS)。该项目包含公开可用的声明文件(node_moduels/@types)和自定义声明。

设置package.jsontsconfig.json的正确方法是什么,以便自定义d.ts文件的内容可用于导入此文件的其他项目?

项目相当简单,但我当前的解决方案只将已构建的index.jsindex.d.ts发布到注册表,因此当被其他项目tsc导入时,会抱怨缺少的类型。

Project
├── index.ts
├── typings
│   ├── moduleA.d.ts
│   └── moduleB.d.ts
├── package.json
└── ...

tsconfig.json

{
  "compilerOptions": {
    "target": "ES2016",
    "module": "commonjs",
    "lib": [
      "ES7"
    ],
    "declaration": true,
    "rootDir": "./",
    "strict": true,
    "moduleResolution": "node",
    "baseUrl": "./"
  },
  "include": [
    "index.ts",
    "typings/**/*"
  ]
}

package.json

{
  ...
  "main": "index.js",
  "publishConfig": {
    "registry": ...
  },
  "files": [
    "index.js",
    "index.d.ts"
  ],
  "dependencies": {
    ...
  },
  "devDependencies": {
    "@types/...": "1.0.0",
    ...
  },
  ...
}

此外,最好是"declaration": true并在index.d.ts列表中添加files(就像我已经这样),或者我应该在index.ts中添加files <file value="" />的列表?

0 个答案:

没有答案