Skip to content

projectwallace/extract-css-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

extract-css-core

Extract all CSS from a given url, both server side and client side rendered.

NPM Version Weekly downloads Build Status Known Vulnerabilities Dependencies Status Dependencies Status XO code style Project: Wallace

Problem, solution and shortcomings

Problem

Existing packages like get-css look at a server-generated piece of HTML and get all the <link> and <style> tags from it. This works fine for 100% server rendered pages, and pages with CSS-in-JS styling.

Solution

This module uses an instance of Chromium to render a page. This has the benefit that most of the styles can be rendered, even when generated by JavaScript. The Puppeteer CSSCoverage API is the power behind finding most of the CSS. Additionally, the document.styleSheets API is used to get CSS-inJS styling.

Installation

npm install extract-css-core
# or
yarn add extract-css-core

Usage

const extractCss = require('extract-css-core')

const css = await extractCss('http://www.projectwallace.com')

API

extractCss(url, [options])

Extract CSS from a page. Returns a Promise that contains the CSS as a single String.

Options

Type: Object

Default: null

waitUntil

Type: String

Default: networkidle2

Can be any value as provided by the Puppeteer docs.

customBrowser

Type: Browser

Default: null

A Puppeteer Browser instance. See the test directory for implementation examples. This option exists primarily for use with extract-css

Related

  • extract-css - Extract CSS running as a serverless function
  • get-css - The original get-css

About

Extract all CSS from a given url, both server side and client side rendered.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •