npmignore .ts but keep .d.ts

TypeScript

在某些情况下,可能希望将 .ts 文件从 npm 打包中去除(因为不会使用到未编译的代码),但是却希望保留 .d.ts 文件用于帮助使用者获得更好的类型判断。

因为 .npmignore 支持 glob 的语法,因而可以写类似如下的代码来满足需求:

# ignore the .ts files
*.ts

# include the .d.ts files
!*.d.ts

这里 ! 表示“不包含”,同时因为 .npmignore 文件的含义是定义不打包的文件,因此“负负得正”,这些文件最终会被保留到 npm 的包产物中。