Skip to content

Commit 6ef3a88

Browse files
authored
Update deps, rm custom browser option (#17)
- Remove customBrowser option; it wasn't used anyway - Upgrade Puppeteer to v2.0.0 - Update devDependencies - Start testing on Node 12 too BREAKING CHANGES
1 parent 7e6b7b4 commit 6ef3a88

File tree

6 files changed

+1501
-2499
lines changed

6 files changed

+1501
-2499
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ language: node_js
22
node_js:
33
- '8'
44
- '10'
5+
- '12'

package-lock.json

Lines changed: 1460 additions & 2403 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 36 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,38 @@
11
{
2-
"name": "extract-css-core",
3-
"description": "Extract all CSS from a given url, both server side and client side rendered.",
4-
"version": "1.1.0",
5-
"homepage": "https://www.projectwallace.com/oss",
6-
"repository": "https://github.com/bartveneman/extract-css-core",
7-
"issues": "https://github.com/bartveneman/extract-css-core/issues",
8-
"license": "MIT",
9-
"author": "Bart Veneman",
10-
"keywords": [
11-
"extract",
12-
"css",
13-
"scrape",
14-
"get-css",
15-
"css"
16-
],
17-
"scripts": {
18-
"test": "eslint ./src ./test && ava"
19-
},
20-
"files": [
21-
"src"
22-
],
23-
"main": "src/index.js",
24-
"engines": {
25-
"node": ">=8.0"
26-
},
27-
"devDependencies": {
28-
"@bartveneman/eslint-config-bv": "0.0.2",
29-
"ava": "^2.1.0",
30-
"chromium": "^2.1.0",
31-
"create-test-server": "^3.0.1",
32-
"eslint": "^6.3.0",
33-
"puppeteer-core": "^1.18.1"
34-
},
35-
"dependencies": {
36-
"puppeteer": "^1.18.1"
37-
},
38-
"eslintConfig": {
39-
"extends": "@bartveneman/eslint-config-bv"
40-
}
2+
"name": "extract-css-core",
3+
"description": "Extract all CSS from a given url, both server side and client side rendered.",
4+
"version": "1.1.0",
5+
"homepage": "https://www.projectwallace.com/oss",
6+
"repository": "https://github.com/bartveneman/extract-css-core",
7+
"issues": "https://github.com/bartveneman/extract-css-core/issues",
8+
"license": "MIT",
9+
"author": "Bart Veneman",
10+
"keywords": [
11+
"extract",
12+
"css",
13+
"scrape",
14+
"get-css"
15+
],
16+
"scripts": {
17+
"test": "eslint ./src ./test && ava"
18+
},
19+
"files": [
20+
"src"
21+
],
22+
"main": "src/index.js",
23+
"engines": {
24+
"node": ">=8.0"
25+
},
26+
"devDependencies": {
27+
"@bartveneman/eslint-config-bv": "0.0.2",
28+
"ava": "^2.4.0",
29+
"create-test-server": "^3.0.1",
30+
"eslint": "^6.7.2"
31+
},
32+
"dependencies": {
33+
"puppeteer": "^2.0.0"
34+
},
35+
"eslintConfig": {
36+
"extends": "@bartveneman/eslint-config-bv"
37+
}
4138
}

readme.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
Existing packages like
2020
[get-css](https://github.com/cssstats/cssstats/tree/master/packages/get-css)
2121
look at a server-generated piece of HTML and get all the `<link>` and `<style>`
22-
tags from it. This works fine for 100% server rendered pages, and pages with
22+
tags from it. This works fine for 100% server rendered pages, and pages with
2323
CSS-in-JS styling.
2424

2525
### Solution
@@ -68,21 +68,8 @@ Default: `networkidle2`
6868
Can be any value as provided by the
6969
[Puppeteer docs](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagegotourl-options).
7070

71-
#### customBrowser
72-
73-
Type: `Browser`
74-
75-
Default: `null`
76-
77-
A
78-
[Puppeteer Browser](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#class-browser)
79-
instance. See the `test` directory for implementation examples. This option
80-
exists primarily for use with
81-
[extract-css](https://github.com/bartveneman/extract-css)
82-
8371
## Related
8472

85-
- [extract-css](https://github.com/bartveneman/extract-css) - Extract CSS
86-
running as a serverless function
73+
- [Wallace CLI](https://github.com/bartveneman/wallace-cli) - Pretty CSS analytics in your terminal
8774
- [get-css](https://github.com/cssstats/cssstats/tree/master/packages/get-css) -
8875
The original get-css

src/index.js

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,9 @@ function InvalidUrlError({url, statusCode, statusText}) {
77

88
InvalidUrlError.prototype = Error.prototype
99

10-
module.exports = async (
11-
url,
12-
{waitUntil = 'networkidle2', customBrowser = null} = {}
13-
) => {
14-
if (
15-
customBrowser !== null &&
16-
(!customBrowser.isConnected || !customBrowser.isConnected())
17-
) {
18-
return Promise.reject(
19-
new TypeError('The `customBrowser` option is invalid')
20-
)
21-
}
22-
10+
module.exports = async (url, {waitUntil = 'networkidle2'} = {}) => {
2311
// Setup a browser instance
24-
const browser = customBrowser || (await puppeteer.launch())
12+
const browser = await puppeteer.launch()
2513

2614
// Create a new page and navigate to it
2715
const page = await browser.newPage()

test/index.js

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ const test = require('ava')
22
const createTestServer = require('create-test-server')
33
const {readFileSync} = require('fs')
44
const {resolve} = require('path')
5-
const chromium = require('chromium')
6-
const puppeteerCore = require('puppeteer-core')
75

86
const extractCss = require('..')
97

@@ -137,29 +135,3 @@ test('it rejects if the url has an HTTP error status', async t => {
137135
test('it rejects on an invalid url', async t => {
138136
await t.throwsAsync(extractCss('site.example'))
139137
})
140-
141-
test('it accepts a browser override for usage with other browsers', async t => {
142-
const path = '/browser-override'
143-
server.get(path, (req, res) => {
144-
res.send(`
145-
<!doctype html>
146-
<style>
147-
body::before { content: "${req.headers['user-agent']}"; }
148-
</style>
149-
`)
150-
})
151-
const customBrowser = await puppeteerCore.launch({
152-
executablePath: chromium.path,
153-
args: ['--user-agent=Extract CSS Core']
154-
})
155-
const actual = await extractCss(server.url + path, {customBrowser})
156-
157-
t.is(actual, 'body::before { content: "Extract CSS Core"; }')
158-
})
159-
160-
test('it rejects on an invalid customBrowser option', async t => {
161-
const path = '/browser-override'
162-
await t.throwsAsync(extractCss(server.url + path, {customBrowser: {}}), {
163-
message: 'The `customBrowser` option is invalid'
164-
})
165-
})

0 commit comments

Comments
 (0)