1. rollup-plugin-css-porter
A rollup plugin to collect all the imported css file
rollup-plugin-css-porter
Package: rollup-plugin-css-porter
Created by: RJHwang
Last modified: Sun, 26 Jun 2022 13:58:31 GMT
Version: 1.0.2
License: MIT
Downloads: 6,029
Repository: https://github.com/RJHwang/rollup-plugin-css-porter

Install

npm install rollup-plugin-css-porter
yarn add rollup-plugin-css-porter

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 version rollup version
1.x 1.0.0+
0.3.x 0.48.0~0.68.2
0.1.0~0.2.x 0.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

Name ValueType Required Description
dest String false Default value is the same dir of 'bundle.write(options)' options.file
raw Boolean
String
false 1. Boolean value means whether output a raw css file, default value is true
2. String value means output raw css file to this path
minified Boolean
String
false 1. Boolean value means whether output a minified css file, default value is true
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

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code