创建和导入手写类型定义的私有包

Creating and importing private package of hand-written type definitions

我需要创建一个包含(仅)自定义类型定义 (typedef) 的私有 npm 包。这些是不是由 TypeScript 生成的手写 d.ts 文件。由于这些是专有的,我无法将它们添加到 DefinitelyTyped。

文件夹结构:typings/mymodule/index.d.ts
index.d.ts 包含:declare module mymodule { ... }

包保留了结构,所以在另一个项目中安装后我有:
node_modules/@mycompany/mytypes/typings/mymodule/index.d.ts

不幸的是,现在我必须在其他项目中编辑 tsconfig.json 以添加:

    "include": [
      "node_modules/@mycompany/mytypes/typings"
    ],

或可选(更正确?)在 compilerOptions 下添加:

      "typeRoots": [
        "node_modules/@types",
        "node_modules/@mycompany/mytypes/typings"
      ]

在那之后,它起作用了——我可以在另一个项目中引用mymodule.SomeType

有没有一种方法可以让我在 npm install 上自动完成这项工作,而无需编辑 tsconfig includes(也就是说,让它表现得像一个 DefinitelyTyped 包)?

如果有更正确的方法来做到这一点,那就是一个有效的答案。

我使用的是 TypeScript 3.6 或 3.7,具体取决于导入项目。

Is there a way I can make this work automatically on npm install without having to edit tsconfig includes

使这项工作的方法没有对 tsconfig.json 的任何 更改是,如果打字是作为一部分运送的您尝试使用的模块。

例如如果您 write your package in TypeScript.

,此运输作为模块的一部分将自动发生