preprocess(type, src, output, pluginOptions = {}, postCssPlugins = []) {
        Assert.preprocessor(type, src, output);

        const srcFile = new File(src);

        const outputFile = this.normalizeOutput(
            new File(output),
            srcFile.nameWithoutExtension() + '.css'
        );

        this.details.push({
            type: this.constructor.name.toLowerCase(),
            src: srcFile,
            output: outputFile,
            pluginOptions,
            postCssPlugins
        });

        this._addChunks(
            `styles-${outputFile.relativePathWithoutExtension()}`,
            srcFile,
            outputFile
        );

        return this;
    }
Register a generic CSS preprocessor.

@param {string} type
@param {string} src
@param {string} output
@param {object} pluginOptions
@param {import('postcss').AcceptedPlugin[]} postCssPlugins