intermediate

Rollup

Собирайте библиотеки и ESM-first пакеты с tree-shaking, external dependencies и предсказуемыми форматами output.

Rollup силён в сборке библиотек и ESM-first output. Статический анализ `import`/`export` даёт сильный tree-shaking при корректном `sideEffects: false`.

					export default {
  input: 'src/index.ts',
  external: ['react', 'react-dom'],
  output: [
    { file: 'dist/index.esm.js', format: 'esm' },
    { file: 'dist/index.cjs.js', format: 'cjs' },
  ],
};
				

Peer dependencies помечайте `external`, чтобы потребитель давал singleton вроде React. Dual ESM/CJS на npm для библиотек всё ещё частая практика.

На интервью: форматы output, externals, границы peer, плагины и production pipeline Vite на Rollup.

Типовые ошибки: peers внутри библиотеки; dynamic `import()` режет shake; только CJS в ESM-first мире.

Компромисс — предсказуемый output библиотеки против менее «app-ready» ergonomics, чем у Vite.

Чеклист:

  • Осознанные external для peers.
  • Форматы под потребителей.
  • Проверка tree-shaking.
  • Честный `sideEffects`.