Home:ALL Converter>Rollup Build seems to be overly large for component library

Rollup Build seems to be overly large for component library

Ask Time:2021-05-22T09:50:59         Author:james emanon

Json Formatter

I am using rollup (v2.13.1), and it all works fine exporting out my React Library, BUT, I believe that I am using the WHOLE library in my vendor js file and NOT just the components I am using. The library seems a bit large when I run tool analyze. Seems I'm not properly doing modules, or ?

package.json build command: "build": "rollup -c",

Here is my Rollup config, anything I am missing or doing incorrectly?

And I am using it in a seperate application like so:
import { Button, Icon } from "myReactLibrary";

CODE: Rollup Config

import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import resolve from 'rollup-plugin-node-resolve';
import typescript from 'rollup-plugin-typescript2';
import commonjs from 'rollup-plugin-commonjs';
import copy from 'rollup-plugin-copy';
import postcss from 'rollup-plugin-postcss';
const packageJson = require('./package.json');

export default {
  input: 'src/index.ts',
  output: [
    {
      dir: packageJson.main,
      format: 'cjs',
      sourcemap: true,
    },
    {
     dir: packageJson.module,
     format: 'esm',
     sourcemap: true,
   },
],
 plugins: [
   peerDepsExternal(),
   typescript({useTsconfigDeclarationDir: true}),
   resolve(),
   commonjs(),
   postcss({
    modules: true,
   }),
  copy({
    targets: [
      {
        src: 'src/styles/colors.scss',
        dest: 'build',
        rename: 'colors.scss',
      },
    {
      src: 'src/styles/helpers.scss',
      dest: 'build',
      rename: 'helpers.scss',
    },
    {
      src: 'src/styles/mixins.scss',
      dest: 'build',
      rename: 'mixins.scss',
    },
  ],
}),
 ],
};

And the "src/index.ts" file is:

  import Accordion from './Accordion/Accordion';
  import AccordionGroup from './Accordion/AccordionGroup';
  import Avatar from './Avatar/Avatar';
  import Button, {BUTTON_THEMES} from './Button/Button';
  import Checkbox from './Checkbox/Checkbox';
  import CheckboxGroup from './Checkbox/CheckboxGroup';
  import Form from './Form/Form';
  import {Size as ELEMENT_SIZE} from './base.types';
  import Grid, {BREAKPOINTS} from './Grid/Grid';
  import Icon from './Icon/Icon';
  import InputField from './Input/Input';
  import {LoaderComponent, LoaderPage} from './Loaders/Loaders';
  import Modal from './Modal/Modal';
  import Panel from './Panel/Panel';
  import PlainModal from './PlainModal/PlainModal';
  import Radio from './Radio/Radio';
   import RadioGroup from './Radio/RadioGroup';
  import SelectField from './SelectField/SelectField';
  import {SelectOptions, SelectArrayOptions, SelectBaseOption, SelectGroupOptions} from   './SelectField/SelectField.types';
  import TextArea from './TextArea/TextArea';
  import {Label, ErrorMessage} from './Parts';

 export {
    Accordion,
    AccordionGroup,
    Avatar,
    Button,
    BUTTON_THEMES,
    Checkbox,
    CheckboxGroup,
    ELEMENT_SIZE,
    ErrorMessage,
    Form,
    Grid,
    BREAKPOINTS,
    Icon,
    InputField,
    Label,
    LoaderComponent,
    LoaderPage,
    Modal,
    Panel,
    PlainModal,
    Radio,
    RadioGroup,
    SelectField,
    SelectOptions,
    SelectArrayOptions,
    SelectBaseOption,
    SelectGroupOptions,
    TextArea,
  };

Author:james emanon,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/67645431/rollup-build-seems-to-be-overly-large-for-component-library
yy