2.1.1 • Published 2 years ago

webpack-minimal-classnames v2.1.1

Weekly downloads
1,754
License
MIT
Repository
github
Last release
2 years ago

Webpack Minimal Classnames

Generate small css class names when using css modules with webpack css-loader.
Recommended to do only doing during production builds as a minification step.
This differs from simply using css-loader's [hash:base64:n] by handling any collisions & allowing to configure excluded names.

Example

Input:

.someLongDescriptiveCssClassName {
  color: red;
}
.anotherLongDescriptiveCssClassName {
  color: green;
}

Output:

.xDK {
  color: red;
}
.zyv {
  color: green;
}

Usage

const MinimalClassnameGenerator = require('webpack-minimal-classnames')

const generateMinimalClassname = MinimalClassnameGenerator({
  length: 3,
  excludePatterns: [/ad/i]
})

{
  test: /\.css$/,
  loaders: [
    {
      loader: 'css-loader',
      options: {
        modules: {
          getLocalIdent: generateMinimalClassname
        }
      }
    }
  ]
}

Options

length (number) - Length of generated class names
default: 3
If the max number of names is generated for a given length, it will start generating more at an incremented length

excludePatterns (RegExp[]) - Array of regex patterns to exclude generating as a class name

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

4 years ago

1.0.2

5 years ago

1.0.1

6 years ago

1.0.0

6 years ago