-
-
Notifications
You must be signed in to change notification settings - Fork 55
Description
What problem does this feature solve?
Currently, rslib aims for a zero-configuration experience by treating package.json as the single source of truth (see #62).
However, since rslib does not exclude *.test.ts files by default, it’s difficult to achieve a truly configuration-free setup.
To improve this, it would be helpful to introduce an option that automatically generates the following fields in package.json based on the build entries:
- main
- module
- types
- exports
This would make the build output and package metadata consistent without requiring manual edits to package.json.
For reference, tools like tsdown already provide a similar feature that derives these fields from the build entry configuration.
Implementing something comparable in rslib would simplify the developer experience and reduce maintenance overhead.
What does the proposed API look like?
import { defineConfig } from '@rslib/core'
export default defineConfig({
output: {
exports: true,
},
})When enabled, rslib automatically generates exports, main, module, and types fields in package.json based on the build entries.