4.7.4 • Published 1 year ago

@guanghechen/rollup-config-tsx v4.7.4

Weekly downloads
80
License
MIT
Repository
github
Last release
1 year ago

Rollup configs for bundle typescript + react projects.

Install

  • npm

    //`stylus` is optional.
    npm install --save-dev @guanghechen/rollup-config-tsx stylus
  • yarn

    // `stylus` is optional.
    yarn add --dev @guanghechen/rollup-config-tsx stylus

Usage

  • Use in rollup.config.js

    import createRollupConfigs from '@guanghechen/rollup-config-tsx'
    import type url from 'postcss-url'
    import manifest from './package.json'
    
    const configs = createRollupConfigs({
      manifest,
      shouldSourceMap: false,
      preprocessOptions: {
        input: ['src/style/index.styl'],
        pluginOptions: {
          multiEntryOptions: {
            exports: false,
          },
          postcssOptions: {
            modules: {
              localsConvention: 'camelCase',
              generateScopedName: 'ghc-[local]',
            },
            postcssUrlOptions: {
              url: 'inline',
              maxSize: 0.5, // 0.5 KB
              assetsPath: path.join(__dirname, 'lib'),
              fallback: 'copy',
              basePath: [path.join(__dirname, 'src')],
              useHash: false,
            },
          },
        },
      },
      pluginOptions: {
        typescriptOptions: { tsconfig: 'tsconfig.src.json' },
        postcssOptions: {
          extract: 'index.css',
          minimize: false,
          sourceMap: false,
          modules: {
            localsConvention: 'camelCase',
            generateScopedName: 'ghc-[local]',
          },
          postcssUrlOptions: {
            url: 'inline',
            maxSize: 0.5, // 0.5 KB
            basePath: [path.join(__dirname, 'src')],
            fallback: function (asset: Parameters<url.CustomTransformFunction>[0]) {
              const url = asset.url.replace(/^[/]assets[/]/, '../assets/')
              return url
            },
          },
        },
      },
    })
    
    export default configs

    At the same time, you should have a project structure similar to the following:

    ├── src
    │   ├── assets
    │   │   ├── font
    │   │   │   └── tangerine.woff2
    │   │   └── image
    │   │       └── background.jpeg
    │   ├── index.tsx
    │   └── style
    │       └── index.styl
    ├── package.json
    ├── rollup.config.js
    ├── tsconfig.json
    └── tsconfig.src.json

Options

Extended from RollupConfigOptions of @guanghechen/rollup-config.

  • pluginOptions.postcssOptions: options for rollup-plugin-postcss

    /**
     * options for rollup-plugin-postcss
     * @see https://github.com/egoist/rollup-plugin-postcss
     */
    PostcssOptions & {
      /**
       * options for autoprefixer
       * @see https://github.com/postcss/autoprefixer
       */
      autoprefixerOptions?: PostcssPluginAutoprefixerOptions
      /**
       * options for postcss-flexbugs-fixes
       * @see https://github.com/luisrudge/postcss-flexbugs-fixes#readme
       */
      flexbugsFixesOptions?: PostcssPluginFlexbugsFixesOptions
      /**
       * options for postcss-url
       * @see https://github.com/postcss/postcss-url#readme
       */
      postcssUrlOptions?: PostcssPluginPostcssUrlOptions
    }
  • preprocessOptions: Options on preprocess phase (such as generate *.d.ts for css files).

    /**
     * Rollup input config
     */
    input: string | string[] | { include?: string[]; exclude?: string }
    /**
     * Rollup output config (required in `rollup -w` mode)
     */
    output?: rollup.OutputOptions | rollup.OutputOptions[]
    /**
     * Rollup plugin options
     */
    pluginOptions?: {
      /**
       * options for @rollup/plugin-multi-entry
       */
      multiEntryOptions?: MultiEntryOptions
      /**
       * options for rollup-plugin-postcss
       */
      postcssOptions?: PostcssOptions & {
        /**
         * options for postcss-url
         */
        postcssUrlOptions?: PostcssPluginPostcssUrlOptions
      }
    }

Related

4.7.2

1 year ago

4.7.1

1 year ago

4.7.4

1 year ago

4.7.3

1 year ago

4.0.0-alpha.7

1 year ago

4.0.0-alpha.8

1 year ago

4.0.0-alpha.5

1 year ago

4.0.0-alpha.6

1 year ago

4.0.0-alpha.3

1 year ago

4.0.0-alpha.4

1 year ago

4.0.0-alpha.1

1 year ago

4.0.0-alpha.2

1 year ago

4.0.0-alpha.0

1 year ago

4.4.1

1 year ago

4.4.0

1 year ago

4.2.2

1 year ago

4.6.1

1 year ago

4.4.3

1 year ago

4.6.0

1 year ago

4.4.2

1 year ago

4.0.0

1 year ago

4.2.1

1 year ago

4.2.0

1 year ago

4.6.3

1 year ago

4.6.2

1 year ago

4.6.5

1 year ago

4.6.4

1 year ago

4.5.0

1 year ago

4.1.3

1 year ago

4.7.0

1 year ago

4.1.0

1 year ago

4.3.0

1 year ago

4.1.2

1 year ago

4.1.1

1 year ago

3.0.0-alpha.1

1 year ago

3.0.0-alpha.0

1 year ago

3.0.0-alpha.3

1 year ago

3.0.0-alpha.2

1 year ago

3.0.0-alpha.5

1 year ago

3.0.0-alpha.4

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.0

1 year ago

2.1.2

2 years ago

2.1.1

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.0.0-alpha.3

2 years ago

2.0.0-alpha.2

2 years ago

2.0.0

2 years ago

2.1.0

2 years ago

2.0.0-alpha.0

2 years ago

2.0.0-alpha.1

2 years ago

1.9.8

2 years ago

1.9.7

2 years ago

1.9.6

2 years ago

1.9.5

2 years ago

1.9.0-alpha.0

2 years ago

1.9.1

2 years ago

1.9.0

2 years ago

1.8.6

2 years ago

1.9.4

2 years ago

1.9.3

2 years ago

1.9.2

2 years ago

1.8.5

2 years ago

1.8.4

3 years ago

1.8.3

3 years ago

1.8.2

3 years ago

1.8.1

3 years ago

1.8.0

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.7.0-alpha.3

3 years ago

1.7.0-alpha.1

3 years ago

1.7.0-alpha.2

3 years ago

1.7.0-alpha.0

3 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.5.5

3 years ago

1.5.4

3 years ago

1.5.3

3 years ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.13

3 years ago

1.0.11

3 years ago

1.0.12

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago