如何防止测试被汇总捆绑?
How to prevent tests being bundled by rollup?
我正在构建一个 React 组件包,并希望将我的测试文件夹排除在从 rollup 构建的 dist 文件中。
我的文件结构在 运行 rollup -c
之后是这样的
.
├── dist
│ ├── index.js
│ ├── tests
│ ├── index.test.js
├── src
│ ├── index.tsx
│ ├── tests
│ ├── index.test.tsx
我的汇总配置如下所示:
import typescript from 'rollup-plugin-typescript2'
import pkg from './package.json'
export default {
input: 'src/index.tsx',
output: [
{
file: pkg.main,
format: 'cjs',
exports: 'named',
sourcemap: true,
strict: false
}
],
plugins: [typescript()],
external: ['react', 'react-dom', 'prop-types']
}
如何在运行汇总时排除我的测试目录被捆绑到 dist
文件中?
您可以排除 tsconfig.json 中的测试,例如
"exclude": [
"**/tests",
"**/*.test.js",
]
如果您不关心测试文件的类型检查,那么接受的答案是可行的。如果这样做,不要在 tsconfig.json
中排除它们,而是将该排除作为 rollup.config.js
.
中汇总打字稿插件的参数
plugins: [
/* for @rollup/plugin-typescript */
typescript({
exclude: ["**/__tests__", "**/*.test.ts"]
})
/* or for rollup-plugin-typescript2 */
typescript({
tsconfigOverride: {
exclude: ["**/__tests__", "**/*.test.ts"]
}
})
]
我正在构建一个 React 组件包,并希望将我的测试文件夹排除在从 rollup 构建的 dist 文件中。
我的文件结构在 运行 rollup -c
.
├── dist
│ ├── index.js
│ ├── tests
│ ├── index.test.js
├── src
│ ├── index.tsx
│ ├── tests
│ ├── index.test.tsx
我的汇总配置如下所示:
import typescript from 'rollup-plugin-typescript2'
import pkg from './package.json'
export default {
input: 'src/index.tsx',
output: [
{
file: pkg.main,
format: 'cjs',
exports: 'named',
sourcemap: true,
strict: false
}
],
plugins: [typescript()],
external: ['react', 'react-dom', 'prop-types']
}
如何在运行汇总时排除我的测试目录被捆绑到 dist
文件中?
您可以排除 tsconfig.json 中的测试,例如
"exclude": [
"**/tests",
"**/*.test.js",
]
如果您不关心测试文件的类型检查,那么接受的答案是可行的。如果这样做,不要在 tsconfig.json
中排除它们,而是将该排除作为 rollup.config.js
.
plugins: [
/* for @rollup/plugin-typescript */
typescript({
exclude: ["**/__tests__", "**/*.test.ts"]
})
/* or for rollup-plugin-typescript2 */
typescript({
tsconfigOverride: {
exclude: ["**/__tests__", "**/*.test.ts"]
}
})
]