0.1.3 • Published 11 months ago

@rechunk/rollup-preset v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

@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-preset

Usage

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

  1. Always specify input as a string path
  2. Use .rechunkrc.json for external dependencies
  3. Let the preset handle Babel configuration
  4. Utilize tree shaking for optimal bundles

Contributing

Contributions are welcome! Please read our contributing guidelines first.

License

MIT