microsoft / monosize

Bundle size tooling for monorepos
MIT License
25 stars 9 forks source link

feat: make bundlers configurable #46

Closed layershifter closed 5 months ago

layershifter commented 5 months ago

Currently we allow to build fixtures only with Webpack, this PR changes it 🎉

Now, bundler implementation is separate and can be replaced, we will provide Webpack (current PR) and esbuild implementations (#48).

BREAKING CHANGES 🚨

Before

// monosize.config.mjs
import storageAdapter from 'monosize-storage-*';

export default {
  repository: 'https://github.com/__ORG__/__REPOSITORY__',
  storage: storageAdapter(),
  webpack: config => {
    // customize config here
    return config;
  },
};

After

// monosize.config.mjs
import webpackBundler from 'monosize-bundler-webpack'
import storageAdapter from 'monosize-storage-*';

export default {
  repository: 'https://github.com/__ORG__/__REPOSITORY__',
  storage: storageAdapter(),
  bundler: webpackBundler(config => {
    // customize config here
    return config;
  }),
};