提问人:Jeff 提问时间:11/10/2023 最后编辑:Jeff 更新时间:11/15/2023 访问量:23
将 TS 类型与 preserveModules: true 和 monorepo 内部一起使用时,将 TS 类型放在 dist 中
Co-locate TS typings in dist when using rollup with preserveModules: true and inside of a monorepo
问:
我有以下用例:一个使用 turborepo、typescript、多个 turborepo 包的 mono-repo,以及每个使用带有设置的 rollup 的包。preserveModules: true
我正在使用,因为我希望能够独立导入每个组件、文件等。preserveModules: true
但是,如果我从 with 中导入一个类型,请获取一个 distpackageA/components/Button.tsx
packageB/types/BaseTypes.ts
packageA
- dist
- components
- Button.js
- packageA
- components
- Button.d.ts
- packageB
- BaseTypes.d.ts
我希望我最终能得到这样的东西:
- dist
- components
- Button.js
- Button.d.ts
- BaseTypes.d.ts
但这似乎是不可能的。这是一个有问题的 github 代码空间。您需要运行节点 18.0.0,从根目录运行并检查包的 dist。在那里,你会看到组件正在从 ;但是,这些类型被移动到一个文件夹中,但我希望它们在yarn build:ui
ui-other
@ui-other/components/Button
import { ButtonSize } from '@ui/Button';
dist/ui-other/components
dist/components
答: 暂无答案
评论
index.js
index.d.ts
Button.tsx
{ input: '...', output: ..., plugins: []
dist/components
dist/packageA/components
dist/packageB
dist/components
tsconfig.js
declarationDir
declarationDir
dist/ui-other
dist
ui
rollup-plugin-typescript2
node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js
Line 30325
console.log('config', parsedConfig);
config.options.pathsBasePath
ui-other
paths
/ui-other/.
ui
ui-other