0.2.0 • Published 8 months ago
@rechunk/rollup-preset v0.2.0
@rechunk/rollup-preset
Rollup configuration preset for bundling ReChunk components and modules.
Features
- 🎯 Optimized for ReChunk components
- 🔧 Babel integration
- 📦 Asset handling
- 🔄 Tree shaking
- ⚡️ Performance optimization
- 🛡️ TypeScript support
Installation
npm install @rechunk/rollup-preset
# or with yarn
yarn add @rechunk/rollup-preset
# or with pnpm
pnpm add @rechunk/rollup-presetUsage
Basic Configuration
// rollup.config.js
import withRechunk from '@rechunk/rollup-preset';
export default withRechunk({
input: 'src/component.tsx',
});Advanced Configuration
// rollup.config.js
import withRechunk from '@rechunk/rollup-preset';
export default withRechunk({
input: 'src/component.tsx',
external: ['react', 'react-native'],
output: {
format: 'cjs',
sourcemap: true,
},
});Features
Babel Integration
Automatically configures Babel with:
- TypeScript support
- React/JSX transformation
- Module resolution
- Plugin optimization
export const BABEL_ROLLUP_OVERRIDES = {
overrides: [
{
plugins: [['module-resolver', false]],
},
],
};Asset Handling
Built-in support for:
- Images
- SVGs
- Other static assets
External Dependencies
Automatically handles:
- Package dependencies
- Peer dependencies
- Custom externals from
.rechunkrc.json
API Reference
withRechunk
function withRechunk(options: RollupOptions = {}): Promise<RollupOptions>;Configuration Options
interface RollupOptions {
input: string;
external?: string[];
plugins?: Plugin[];
// ... other Rollup options
}Integration with ReChunk
- Optimized for ReChunk component bundling
- Supports development server
- Handles chunk signing and verification
Best Practices
- Always specify
inputas a string path - Use
.rechunkrc.jsonfor external dependencies - Let the preset handle Babel configuration
- Utilize tree shaking for optimal bundles
Contributing
Contributions are welcome! Please read our contributing guidelines first.
License
MIT