我编写了一个vscode扩展,公开了供其他扩展使用的API(通过使activate()
函数返回一个值)。
我想发布一个公开声明文件(npm
的{{3}} .d.ts
包,这将有助于扩展程序开发人员使用我的扩展程序。
我的问题是我不能重复使用扩展名package.json
,因为它不允许包名中的@
(scoped失败)。
如果我创建专用的package.json
以便将声明文件发布到npm
,则最终会从扩展名{{1}中复制.d.ts
文件及其所有依赖项} 目录。这种方法似乎有点麻烦。
我找不到描述执行此操作的正确方法的文档:将vscode扩展声明文件发布到npm(是否有范围)。
执行此操作的正确方法是什么?
答案 0 :(得分:0)
这就是我最终要做的:
package.json
:
name
属性中,并在其后缀了-types
。copy
npm脚本,该脚本从扩展程序文件夹的out
文件夹中复制了工件。该脚本使用ncp
获得跨平台支持。@types/vscode
属性中添加了dependencies
(不是publishing declaration files中提到的devDependencies
),因为我的.d.ts
文件包含对{{1 }}。vscode
文件来重新包含.npmignore
文件中排除的out
文件夹(使用否定符:!out
)。.gitignore
文件夹中排除.js
个文件,以避免与缺少传递依存关系相关的错误。我本可以创建另一个out
文件,该文件仅发出tsconfig.json
个文件(使用emitDeclarationOnly
),但最终使用.d.ts
来做到这一点。以上对我有用,但必须有更好的方法,对吗?