0.4.0 • Published 5 months ago

@erbelion/vite-plugin-laravel-purgecss v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

vite-plugin-laravel-purgecss

Get package from npm Downloads Downloads views

A Vite plugin that integrates PurgeCSS with Laravel 9-12 template assets (currently updated up to laravel/laravel@12.0.9).

This plugin purges unused CSS assets only in production mode (yarn build / npm run build).

📦 Installation

Using Yarn:

yarn add @erbelion/vite-plugin-laravel-purgecss

Using npm:

npm i @erbelion/vite-plugin-laravel-purgecss

🚀 Usage

To use the plugin in your Vite configuration (vite.config.ts):

import purge from '@erbelion/vite-plugin-laravel-purgecss'

export default {
    plugins: [
        laravel(...),
        purge()
    ]
}

See more examples

🛠️ Options

ParameterTypeOptionalDescription
pathsstring[]YesList of paths to be processed by PurgeCSS.
rehashbooleanYesDetermines whether to hash asset filenames after purging.
PurgeCSS OptionsPartial<UserDefinedOptions>YesPurgeCSS options (see docs).
templatesstring[]Yes❌ Deprecated (see anyway).

paths Option

If the paths option isn't specified, it will default to:

resources/{js,views}/**/*.{blade.php,svelte,vue,html}

rehash Option

If the rehash option isn't specified, it will default to true

All Options

type Options = {
    // Plugin options
    paths?: string[] // Defaults to `resources/{js,views}/**/*.{blade.php,svelte,vue,html}`
    rehash?: boolean // Defaults to `true`
    templates?: string[] // ❌ Deprecated

    // PurgeCSS options
    defaultExtractor?: ExtractorFunction
    extractors?: Array<Extractors>
    fontFace?: boolean
    keyframes?: boolean
    output?: string
    rejected?: boolean
    rejectedCss?: boolean
    stdin?: boolean
    stdout?: boolean
    variables?: boolean
    safelist?: UserDefinedSafelist
    blocklist?: StringRegExpArray
}

💡 Other Examples

Via custom path:

purge({
    paths: ["resources/{js,views}/**/*.{blade.php,svelte,vue,html}"],
})

Via custom paths + safe list styling: (always keep #bruh, .nice-button, and h1 styling)

purge({
    paths: ["resources/views/**/*.blade.php", "resources/{js,views}/**/*.vue"],
    safelist: ["bruh", "nice-button", "h1"],
})

Example config with fix for escaped prefixes (sm:, lg:, etc.):

purge({
    extractors: [
        {
            extractor: (content) => {
                return content.match(/[a-z-_:\/]+/g) || []
            },
            extensions: ["php", "vue", "html"],
        },
    ],
})

📚 Tutorial

https://github.com/erbelion/tutorial-vite-plugin-laravel-purgecss

👉 See Also

0.3.0

12 months ago

0.2.6

11 months ago

0.3.2

11 months ago

0.4.0

5 months ago

0.3.1

12 months ago

0.3.4

10 months ago

0.3.3

11 months ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.3

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.4

3 years ago

0.2.2

2 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago