Node.js Package.json字段:不忽略子目录

Node.js Package.json字段:不忽略子目录,node.js,npm,Node.js,Npm,我在一个基于TS的大型图书馆工作。当我构建应用程序时,这会创建大量.d.ts文件,其中大多数文件仅用于内部,导出或发送给最终用户毫无意义。通常我会使用.npmignore文件将这些信息排除在外,但最近了解到,某些工具确实更喜欢通过package.json的“files”字段包含这些信息,因此我尝试在这里进行转换 现在,我有一个目录结构,看起来有点像这样: dist/ --bundle.js --... --components/ ----componentA.d.ts ----component

我在一个基于TS的大型图书馆工作。当我构建应用程序时,这会创建大量
.d.ts
文件,其中大多数文件仅用于内部,导出或发送给最终用户毫无意义。通常我会使用
.npmignore
文件将这些信息排除在外,但最近了解到,某些工具确实更喜欢通过
package.json
“files”
字段包含这些信息,因此我尝试在这里进行转换

现在,我有一个目录结构,看起来有点像这样:

dist/
--bundle.js
--...
--components/
----componentA.d.ts
----componentB.d.ts
----common/
----...
--hooks/
----...
--util/
----...
我想要的是所有顶级文件,以及直接位于
/components/
下的所有文件,但不需要子目录。在我的
.npmignore
中,我会这样做:

# blacklist all
**

# include whitelist
!dist/*
!dist/components/*
然而,当我在我的
包.json
中的
“files”
下做同样的事情时,所有这些废话仍然会出现。不尊重单个通配符

编辑:


复制您显示的文件系统,这对我很有用:

“文件”:[“dist/*.js”,“dist/components/*.ts”]
省略文件扩展名确实包括所有子目录cruft。我用NPM7和NPM6进行了测试

"files": [
    "dist/*",
    "dist/components/*",
    ...
],