async function purgeUnusedCSS(outfile, label) {
    const contentFiles = loconfig.tasks.purgeCSS?.content;
    if (!Array.isArray(contentFiles) || !contentFiles.length) {
        return;
    }

    label = label ?? basename(outfile);

    const timeLabel = `${label} purged in`;
    console.time(timeLabel);

    const purgeCSSResults = await (new PurgeCSS()).purge({
        content: contentFiles,
        css: [ outfile ],
        defaultExtractor: content => content.match(/[a-z0-9_\-\\\/\@]+/gi) || [],
        fontFaces: true,
        keyframes: true,
        safelist: {
            // Keep all except .u-gc-* | .u-margin-* | .u-padding-*
            standard: [ /^(?!.*\b(u-gc-|u-margin|u-padding)).*$/ ]
        },
        variables: true,
    })

    for (let result of purgeCSSResults) {
        await writeFile(outfile, result.css)

        message(`${label} purged`, 'chore', timeLabel);
    }
}
Purge unused styles from CSS files.

@async

@param  {string} outfile - The path of a css file
     If missing the function stops.
@param  {string} label   - The CSS file label or name.
@return {Promise}