Neurologically Paralyzing Mouseovers

    @americanexpress/purgecss-loader

    2.0.0 • Public • Published

    purgecss-loader - One Amex

    npm version Build Status

    This Webpack loader uses purgecss to strip unused selectors from your CSS.

    👩‍💻 Hiring 👨‍💻

    Want to get paid for your contributions to purgecss-loader? Send your resume to oneamex.careers@aexp.com

    📖 Table of Contents

    Features

    • Ability to remove CSS modules
    • Ability to remove plain CSS declarations
    • Reduce bundle size

    🤹‍ Usage

    npm install -D @americanexpress/purgecss-loader
    

    🎛️ API

    Configure as follows:

    module.exports = {
      entry: {...},
      output: {...},
      module: {
        rules: [
          {
            test: /\.css$/,
            use: [
              {
                loader: 'css-loader',
                options: {
                  modules: true,
                  localIdentName: '[name]__[local]___[hash:base64:5]',
                },
              },
              {
                loader: '@americanexpress/purgecss-loader',
                options: {
                  paths: [path.join(somePath, 'src/**/*.{js,jsx}')],
                  whitelistPatternsChildren: [/:global$/],
                },
              },
            ],
          },
        ],
      },
    }

    You should use this with the css-loader as seen above. However, it is not required that you use CSS modules. That is in the example to express this loader's compatibility.

    Options

    Property Description Required
    paths An array of file glob patterns true
    extractors An array of purgecss extractors false
    fontFace boolean (default: false) see options false
    keyframes boolean (default: false) see options false
    variables boolean (default: false) see options false
    whitelist string[] see options false
    whitelistPatterns Array<RegExp> see options false
    whitelistPatternsChildren Array<RegExp> see options false

    🗝️ License

    Any contributions made under this project will be governed by the Apache License 2.0.

    🗣️ Code of Conduct

    This project adheres to the American Express Community Guidelines. By participating, you are expected to honor these guidelines.

    🏆 Contributing

    We welcome Your interest in the American Express Open Source Community on Github. Any Contributor to any Open Source Project managed by the American Express Open Source Community must accept and sign an Agreement indicating agreement to the terms below. Except for the rights granted in this Agreement to American Express and to recipients of software distributed by American Express, You reserve all right, title, and interest, if any, in and to Your Contributions. Please fill out the Agreement.

    Please feel free to open pull requests and see CONTRIBUTING.md for commit formatting details.

    Install

    npm i @americanexpress/purgecss-loader

    DownloadsWeekly Downloads

    299

    Version

    2.0.0

    License

    Apache-2.0

    Unpacked Size

    81 kB

    Total Files

    12

    Last publish

    Collaborators

    • pixnbits
    • anescobar1991
    • jsmartfo
    • amexopensource