0.0.21 • Published 5 years ago

css-puppeteer v0.0.21

Weekly downloads
1
License
ISC
Repository
-
Last release
5 years ago

css-puppeteer

A simple tool for extracting CSS used when a user interacts with a page — built with puppeteer and the CSS Coverage functionality.

Usage

Using the tool is easy, simply import it and run it like so:

const generateCSS = require('css-puppeteer');
//Generate the css for your site
const css = await generateCSS(puppeteerConfig, options);

generateCSS(puppeteerConfig, options)

Extracts the necessary CSS from filePath or cssString needed to render the url with the viewport set in puppeteerConfig and performing the actions set in callback.

Example usage:

"use strict";
const { readFileSync, writeFileSync } = require('fs');
const generateCSS = require('css-puppeteer');

const styleSheetContent = readFileSync('./style.css', 'utf8');
const newCSS = await generateCSS(
        {
            defaultViewport: {
                width: 375,
                height: 812,
                hasTouch: true,
                isMobile: true
            }
        },
        {
            cssString: styleSheetContent,
            // filePath: './style.css',
            url: 'https://www.ebay.com',
            callback: actions
        }
    );
await writeFileSync('./critical.css', newCss);
console.log('All Done!');


function actions(page){
    await page.focus('input[title="Search"]');
    await page.keyboard.type('Playstation');
    //To make sure all content has rendered, we wait for the network to be completely idle
    await Promise.all(
        page.waitForNavigation( { waitUntil: "networkidle0" } ),
        page.click('input[type="submit"]')
    );
}