2.1.0 • Published 2 years ago

lightningcss-loader v2.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

lightningcss-loader

Speed up your Webpack build with lightningcss

Install

  pnpm add -D lightningcss-loader

Usage

Optimize css

webpack config example:

// webpack.config.js
const { LightningCssMinifyPlugin } = require('lightningcss-loader')

module.exports = {
  optimization: {
    minimize: true,
    minimizer: [
      new LightningCssMinifyPlugin()
    ]
  },
};

Instead postcss-loader

webpack config example:

// webpack.config.js

// need install `lightningcss`
const LightningCSS = require('lightningcss')

module.exports = {
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: [
          'style-loader', // or MiniCssExtractPlugin.loader
          'css-loader',
-         'postcss-loader',
+         {
+           loader: 'lightningcss-loader',
+           options: {
+             implementation: LightningCSS
+           }
+         }
          'sass-loader'
        ],
      },
    ],
  },
};

lightningcss can replace autoprefixer and postcss-preset-env, if you use custom postcss plugins, you can use both lightningcss-loader and postcss-loader.

Config

// webpack.config.js
const { LightningCssMinifyPlugin } = require('lightningcss-loader')
const LightningCSS = require('lightningcss')

module.exports = {
  optimization: {
    minimizer: [
      new LightningCssMinifyPlugin({
        implementation: LightningCSS
        // ... lightningcss options
      })
    ]
  },
};

You can see type tips for detailed configurable items

Migration from parcel-css-loader

  1. Remove and install:

      pnpm remove parcel-css-loader @parcel/css
      pnpm i -D lightningcss-loader lightningcss
  2. Search code and replace to new name:

    • parcel-css-loader -> lightningcss-loader

    • ParcelCssMinifyPlugin -> LightningCssMinifyPlugin

License

MIT