Home

Awesome

rollup-plugin-css-porter

A rollup plugin to collect and combine all the imported css file. Such as import './my.css'. Then output them to a standalone css file. Besides, use clean-css to create a minified css file as you wish.

Supported rollup version :

plugin versionrollup version
1.x1.0.0+
0.3.x0.48.0~0.68.2
0.1.0~0.2.x0.36.0~0.47.6

Installation

Use npm:

npm install --save-dev rollup-plugin-css-porter
// or
npm i -D rollup-plugin-css-porter

Use yarn:

yarn add rollup-plugin-css-porter --dev

Plugin options

NameValueTypeRequiredDescription
destStringfalseDefault value is the same dir of 'bundle.write(options)' options.file
rawBoolean<br>Stringfalse1. Boolean value means whether output a raw css file, default value is true<br>2. String value means output raw css file to this path
minifiedBoolean<br>Stringfalse1. Boolean value means whether output a minified css file, default value is true<br>2. String value means output minified css file to this path

If set raw or minified option to a String value, dest option will be ignored.

Usage

Case 1 (default behavior):

Output to a standalone css file and a minified css file. The output destination is the same dir of 'bundle.write(options)' options.file.

import { rollup } from 'rollup';
import css from 'rollup-plugin-css-porter';

rollup({
  input: 'main.js',
  plugins: [ css() ]
}).then(bundle => {
  bundle.write({
    format: 'es',
    file: 'bundle.js'
  });
});

Case 2:

Output to a standalone css file without minified css file. The output destination is the same dir of 'bundle.write(options)' options.file.

import { rollup } from 'rollup';
import css from 'rollup-plugin-css-porter';

rollup({
  input: 'main.js',
  plugins: [ css({minified: false}) ]
}).then(bundle => {
  bundle.write({
    format: 'es',
    file: 'bundle.js'
  });
});

Case 3:

Output to a specific path if config the plugin options.dest.

import { rollup } from 'rollup';
import css from 'rollup-plugin-css-porter';

rollup({
  input: 'main.js',
  plugins: [ css({dest: 'path-to-my-dir/bundle.css'}) ]
}).then(bundle => {
  bundle.write({
    format: 'es',
    file: 'bundle.js'
  });
});

Case 4:

Output to a standalone css file with only minified css file. The output destination is the same dir of 'bundle.write(options)' options.file.

import { rollup } from 'rollup';
import css from 'rollup-plugin-css-porter';

rollup({
  input: 'main.js',
  plugins: [ css({raw: false}) ]
}).then(bundle => {
  bundle.write({
    format: 'es',
    file: 'bundle.js'
  });
});

Case 5:

Custom output filenames by config a string value for plugin raw and minified option :

import { rollup } from 'rollup';
import css from 'rollup-plugin-css-porter';

rollup({
  input: 'main.js',
  plugins: [ css({
    raw: 'custom.css',
    minified: 'custom.min.css',
  }) ]
}).then(bundle => {
  bundle.write({
    format: 'es',
    file: 'bundle.js'
  });
});

Or:

css({
  raw: 'custom.css',
  minified: false,
})

Or:

css({
  raw: false,
  minified: 'custom.min.css',
})

Build

Use npm:

npm run build

Use yarn:

yarn run build

Run test

Use npm:

npm test

Use yarn:

yarn test