@barusu-react/rollup-configdeprecated

rollup for react+ts+stylus

Usage no npm install needed!

<script type="module">
  import barusuReactRollupConfig from 'https://cdn.skypack.dev/@barusu-react/rollup-config';
</script>

README

npm version npm download npm license

Install

yarn add --dev @barusu-react/rollup-config

Usage

  • Use in rollup.config.js
    • rollup.config.js
      import path from 'path'
      import {
        createPreprocessorConfig,
        createRollupConfig,
      } from '@barusu-react/rollup-config'
      import manifest from './package.json'
      
      const resolvePath = p => path.resolve(__dirname, p)
      const paths = {
        source: {
          stylesheetInput: [
            resolvePath('src/style/index.styl'),
          ],
          assetsRoot: resolvePath('src/assets'),
        },
        eslintrc: resolvePath('.eslintrc.js'),
        tsconfig: resolvePath('tsconfig.src.json'),
      }
      
      const preprocessorConfig = createPreprocessorConfig({
        input: paths.source.stylesheetInput,
        pluginOptions: {
          multiEntryOptions: {
            exports: false,
          },
          postcssOptions: {
            modules: {
              localsConvention: 'camelCase',
            },
          }
        },
      })
      
      const config = createRollupConfig({
        manifest,
        pluginOptions: {
          typescriptOptions: {
            tsconfig: paths.tsconfig,
          },
          postcssOptions: {
            extract: false,
            minimize: true,
            modules: {
              localsConvention: 'camelCase',
              generateScopedName: 'barusu-[local]',
            },
            pluginOptions: {
              postcssUrlOptions: {
                url: 'inline',
                basePath: paths.source.assetsRoot,
              }
            },
          }
        }
      })
      
      const resolvedConfig = [preprocessorConfig, config]
      
      export default resolvedConfig
      

Examples

Options

preprocessOptions

Options of createRollupConfig

  • useSourceMap: Whether to generate sourceMap (includes declarationMap)

    • type: boolean
    • default: true
  • externalAllDependencies: Whether to exhaust all dependencies (include dependencies of child dependency)

    • type: boolean
    • default: true
  • manifest

    property type required description
    source string true source entry file
    main string false target entry file of cjs
    module string false target entry file of es
    dependencies {[key: string]: string} false ignore these dependencies (external)
  • pluginOptions

    property required description
    jsonOptions false options for @rollup/plugin-json
    nodeResolveOptions false options for @rollup/plugin-node-resolve
    typescriptOptions false options for rollup-plugin-typescript2
    commonjsOptions false options for @rollup/plugin-commonjs
    peerDepsExternalOptions false options for rollup-plugin-peer-deps-external
    postcssOptions false options for @barusu-react/rollup-plugin-postcss-dts