# Migration Guide - v3.2.0
## What Changed?
Version 3.2.0 introduces ES module (ESM) support as the primary distribution format while maintaining backward compatibility with CommonJS and browser usage.
## Breaking Changes
### 1. Package Distribution Format
The package now uses **dual package exports** with ESM as the default:
**Before (v3.x):**
- Single UMD bundle: `dist/chartjs-plugin-trendline.min.js`
- CommonJS-style package
**After (v3.2.x):**
- ESM build: `dist/chartjs-plugin-trendline.esm.js`
- CommonJS build: `dist/chartjs-plugin-trendline.cjs`
- UMD build (unminified): `dist/chartjs-plugin-trendline.js`
- UMD build (minified): `dist/chartjs-plugin-trendline.min.js`
### 2. Import Changes
#### Modern Bundlers (Vite, SvelteKit, Next.js, webpack 5)
No changes needed! Your bundler will automatically use the ESM version:
```javascript
import ChartJSTrendline from 'chartjs-plugin-trendline';
```
#### Node.js with CommonJS
The CommonJS build is automatically used when using `require()`:
```javascript
const ChartJSTrendline = require('chartjs-plugin-trendline');
```
#### Browser via CDN
The global export name has changed:
**Before:**
```html
```
**After:**
```html
```
## Benefits
### For Modern Projects
- ✅ Better tree-shaking support
- ✅ Faster build times with Vite, SvelteKit, and modern bundlers
- ✅ Full ESM support
- ✅ Smaller bundle sizes (only import what you need)
### For Legacy Projects
- ✅ Backward compatible with CommonJS
- ✅ UMD builds still available for browser `
```
## Technical Details
### Package.json Configuration
```json
{
"type": "module",
"main": "./dist/chartjs-plugin-trendline.cjs",
"module": "./dist/chartjs-plugin-trendline.esm.js",
"exports": {
".": {
"import": "./dist/chartjs-plugin-trendline.esm.js",
"require": "./dist/chartjs-plugin-trendline.cjs"
}
}
}
```
This ensures:
- Modern bundlers use the ESM version
- Node.js `require()` uses the CommonJS version
- Maximum compatibility across environments
## Questions?
If you encounter any issues during migration, please [open an issue](https://github.com/Makanz/chartjs-plugin-trendline/issues) on GitHub.