Skip to content

spatie/postcss-purgecss-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

postcss-purgecss wrapper with sensible defaults for Laravel apps

Software License Latest Version on NPM npm

A simple wrapper around postcss-purgecss with sensible defaults for Laravel apps.

// postcss.config.js

module.exports = {
    plugins: [
        require('postcss-purgecss-laravel')({
            safelist: [/hljs/],
            extend: {
                content: [path.join(__dirname, 'vendor/spatie/menu/**/*.php')],
            },
        });
    ],
};

Support us

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

Installation

You can install the package with yarn or npm:

yarn add postcss-purgecss-laravel --dev
npm install postcss-purgecss-laravel --save-dev

Usage

Register the PostCSS plugin.

// postcss.config.js

module.exports = {
    plugins: [
        require('postcss-purgecss-laravel')(/* ... */),
    ]
}

All options passed to the plugin get passed down to PurgeCSS. Refer to the PurgeCSS docs for an overview of the available options.

// postcss.config.js

module.exports = {
    plugins: [
        require('postcss-purgecss-laravel')({
            safelist: [/hljs/],
        }),
    ],
};

Options will override the default options this package provides. If you'd rather extend the options, place them in the extend option.

// postcss.config.js

module.exports = {
    plugins: [
        require('postcss-purgecss-laravel')({
            extend: {
                safelist: [/hljs/],
            },
        }),
    ],
};

In the above example, the /hljs/ pattern will be added to the safelist, instead of overriding the default safelist option.

These are the defaults this package provides:

const defaultConfig = {
    content: [
        "app/**/*.php",
        "resources/**/*.html",
        "resources/**/*.js",
        "resources/**/*.jsx",
        "resources/**/*.ts",
        "resources/**/*.tsx",
        "resources/**/*.php",
        "resources/**/*.vue",
        "resources/**/*.twig",
    ],
    defaultExtractor: (content) => content.match(/[\w-/.:]+(?<!:)/g) || [],
    safelist: [/-active$/, /-enter$/, /-leave-to$/, /show$/],
};

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you've found a bug regarding security please mail security@spatie.be instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

A simple wrapper around postcss-purgecss with sensible defaults for Laravel apps

Resources

License

Stars

Watchers

Forks

Packages

No packages published