将d.ts文件添加到JavaScriptNPM包中是否违反了SemVer规则?

将d.ts文件添加到JavaScriptNPM包中是否违反了SemVer规则?,javascript,typescript,npm,semantic-versioning,.d.ts,Javascript,Typescript,Npm,Semantic Versioning,.d.ts,如果我有一个纯JavaScript的npm包,不依赖于TypeScript,我想在其中添加一个类型声明文件,并在package.json中添加一个指向该文件的新的“types”属性,这会被认为是一个突破性的更改吗?它是否需要一个主要的版本升级 我可以看到任何一种方式,因为它根本不会影响JavaScript,也不会破坏任何API。但是,如果有人在TypeScript项目中使用库,并且为库创建了自己的d.ts类型,则可能与这些类型冲突,例如出现“重复标识符”错误。SemVer声明 给定版本号MAJO

如果我有一个纯JavaScript的npm包,不依赖于TypeScript,我想在其中添加一个类型声明文件,并在
package.json
中添加一个指向该文件的新的
“types”
属性,这会被认为是一个突破性的更改吗?它是否需要一个主要的版本升级

我可以看到任何一种方式,因为它根本不会影响JavaScript,也不会破坏任何API。但是,如果有人在TypeScript项目中使用库,并且为库创建了自己的d.ts类型,则可能与这些类型冲突,例如出现“重复标识符”错误。

SemVer声明

给定版本号MAJOR.MINOR.PATCH,增加:

  • 主版本当您进行不兼容的API更改时
  • 以向后兼容的方式添加功能时的次要版本,以及
  • 修复向后兼容的错误时的修补程序版本
  • 添加类型声明文件显然没有bug修复,因此显然不是#3。这里的关键是,如果添加类型声明文件,所有使用API的代码都不会中断,因为实际的js代码不会更改。因此,没有任何不兼容的API更改,这是向后兼容性的另一个词

    这意味着,如果添加类型声明文件,请增加次要版本号