我有一个由 rush.js 控制的 monorepo,PNPM 作为包管理器。
我曾经将所有共享模块预编译成cjs
, esm
,dts
目标。但是这种方法有一些缺陷,所以我决定将它们保留为未触及的来源,并将它们的主要条目设置package.json
为"main": "./src/index.ts|x"
. 同时,我曾经react-app-rewired
告诉 Webpack 只编译那些node_modules
使用 babel 的符号链接库,并且一切正常。杰斯特也很高兴。
我遇到的问题是,当我tsc
出于某种原因运行编译器时,编译器会深入到符号链接的本地包并报告很多问题(即使运行它们的编译器也没有任何问题tsc
)。
TSForkWebpackPlugin
报告了类似的问题,但我使用配置选项create-react-app
忽略了它们,并认为这是插件站点上的某种错误,但似乎不是。reportFiles
react-app-rewired
我添加了各种exclude
喜欢的 glob 模式,**/node_modules/@namespace/**
但这些都不起作用。
也有吗?node_modules/@namespace/**
node_modules/@namespace
"skipLibCheck": true
我tsconfig.json
的供参考
{
"compilerOptions": {
"incremental": true,
"baseUrl": "src",
"downlevelIteration": true,
"lib": ["esnext", "dom", "dom.iterable"],
"module": "esnext",
"target": "esnext",
"sourceMap": true,
"allowJs": true,
"esModuleInterop": true,
"isolatedModules": true,
"jsx": "preserve",
"moduleResolution": "node",
"forceConsistentCasingInFileNames": false,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"noUnusedParameters": true,
"noUnusedLocals": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"skipLibCheck": true,
"noEmit": true,
"preserveSymlinks": true,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"strict": true
},
"exclude": [
"node_modules"
],
"include": ["src"]
}