From 65eff45a50dcb064e0b3594ad78673978a790b87 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Mon, 2 Apr 2018 14:29:36 -0400 Subject: [PATCH 1/8] add ci build script to test critical --- .circleci/config.yml | 29 +++++++++++++++ .gitignore | 3 +- README.md | 2 ++ package.json | 1 + test/cases/generate-critical-css/index.css | 2 +- test/cases/generate-critical-css/main.css | 4 +-- webpack.config.ci.js | 41 ++++++++++++++++++++++ 7 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 .circleci/config.yml create mode 100644 webpack.config.ci.js diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..f5df44d --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,29 @@ +version: 2 +jobs: + build: + docker: + - image: circleci/node:8.9.4 + + working_directory: ~/repo + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "package.json" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: + name: Install Project Dependencies + command: npm install + + - run: + name: Run Tests + command: npm test + + - run: + name: Run CI Build + command: npm run ci \ No newline at end of file diff --git a/.gitignore b/.gitignore index 11bbb22..15c3a85 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ dist/ node_modules/ .idea/ npm-debug.log -test/**/build/ \ No newline at end of file +test/**/build/ +build/ \ No newline at end of file diff --git a/README.md b/README.md index 30653f2..9513c5e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ A fork of Critical Webpack Plugin. This is simplified and runs after all files have been emitted so you can use it after Extract Text and HTML Webpack Plugin. +**Note**: [**critical** itself has a dependency on puppeteer](https://github.com/addyosmani/critical/releases/tag/v1.0.0) to run headless Chrome, so make sure your build environment (local, CI, etc) where your running webpack has the necessary operating system packages installed. See this page for more information on [troubleshooting](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md) puppeteer. + ### Install ``` diff --git a/package.json b/package.json index cad4a1a..b8090ae 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "homepage": "https://github.com/anthonygore/html-critical-webpack-plugin#readme", "scripts": { "build": "rimraf ./dist && webpack --config ./webpack.config.js", + "ci": "webpack --config ./webpack.config.ci.js", "test": "mocha ./test/**/*.spec.js" }, "dependencies": { diff --git a/test/cases/generate-critical-css/index.css b/test/cases/generate-critical-css/index.css index b84928c..59fb196 100644 --- a/test/cases/generate-critical-css/index.css +++ b/test/cases/generate-critical-css/index.css @@ -11,5 +11,5 @@ .fade-appear.fade-appear-active { opacity: 1; - transition: opacity 600ms ease-in; //ms should match the value of transitionAppearTimeout + transition: opacity 600ms ease-in; /* ms should match the value of transitionAppearTimeout */ } \ No newline at end of file diff --git a/test/cases/generate-critical-css/main.css b/test/cases/generate-critical-css/main.css index ff9f8dd..6d30a33 100644 --- a/test/cases/generate-critical-css/main.css +++ b/test/cases/generate-critical-css/main.css @@ -19,7 +19,7 @@ text-align: center; font-weight: 100; font-size: 1.4rem; - color: $gold; + color: yellow; width: 100%; padding: .55rem; white-space: nowrap; @@ -50,7 +50,7 @@ } .card-block a { - color: $black; + color: #020202; } .card-info { diff --git a/webpack.config.ci.js b/webpack.config.ci.js new file mode 100644 index 0000000..e849e29 --- /dev/null +++ b/webpack.config.ci.js @@ -0,0 +1,41 @@ +const ExtractTextWebpackPlugin = require('extract-text-webpack-plugin'); +const HtmlWebpackCriticalPlugin = require('./index'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const webpack = require('webpack'); +const path = require('path'); + +const OUTPUT_DIR = path.resolve(__dirname, 'build'); + +module.exports = { + + entry: { + index: './test/cases/generate-critical-css/index.js' + }, + + output: { + path: OUTPUT_DIR, + filename: 'html-crtitical-webpack-plugin.js' + }, + + module: { + rules: [{ + test: /\.css$/, + use: ExtractTextWebpackPlugin.extract({ + use: ['css-loader'] + }) + }] + }, + + plugins: [ + new HtmlWebpackPlugin(), + + new ExtractTextWebpackPlugin('styles.[chunkhash].css'), + + new HtmlWebpackCriticalPlugin({ + base: OUTPUT_DIR, + src: 'index.html', + dest: 'index.html', + inline: true + }) + ] +}; \ No newline at end of file From 11d093c8a5227df8d5dca029fd728c86347fd443 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Mon, 2 Apr 2018 15:19:30 -0400 Subject: [PATCH 2/8] upgrade to headless chrome compat docker image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f5df44d..1f321f8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: circleci/node:8.9.4 + - image: thegreenhouse/nodejs-dev:0.2.0 working_directory: ~/repo From 0c738f26969e490305ec41f054eb12be00bba5b6 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Mon, 2 Apr 2018 15:23:33 -0400 Subject: [PATCH 3/8] update tests --- .../cases/generate-critical-css/generate-critical-css.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/cases/generate-critical-css/generate-critical-css.spec.js b/test/cases/generate-critical-css/generate-critical-css.spec.js index b55b32a..dac014b 100644 --- a/test/cases/generate-critical-css/generate-critical-css.spec.js +++ b/test/cases/generate-critical-css/generate-critical-css.spec.js @@ -31,7 +31,7 @@ describe('HtmlCriticalWebpackPlugin Cases: Generate Critical CSS', () => { const indexHtmlDom = new JSDOM(indexHtmlString); const linkTags = indexHtmlDom.window.document.querySelectorAll('link'); - assert.equal(linkTags.length, 1); + assert.equal(linkTags.length, 2); assert.equal(linkTags[0].getAttribute('rel'), 'preload'); assert.equal(linkTags[0].getAttribute('as'), 'style'); @@ -45,7 +45,7 @@ describe('HtmlCriticalWebpackPlugin Cases: Generate Critical CSS', () => { const indexHtmlDom = new JSDOM(indexHtmlString); const noscriptTags = indexHtmlDom.window.document.querySelectorAll('noscript'); - assert.equal(noscriptTags.length, 1); + assert.equal(noscriptTags.length, 2); done(); }); From 9da6d9a43723a4cb76f26edbcf9ece3bbb286aa8 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Thu, 3 May 2018 13:38:41 -0400 Subject: [PATCH 4/8] revert back to default Docker image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1f321f8..f5df44d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: thegreenhouse/nodejs-dev:0.2.0 + - image: circleci/node:8.9.4 working_directory: ~/repo From 9d09dc08fc312b0f1577856b18cd2603dbef4eb4 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Mon, 7 May 2018 10:50:45 -0400 Subject: [PATCH 5/8] update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9513c5e..7ba556a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A fork of Critical Webpack Plugin. This is simplified and runs after all files have been emitted so you can use it after Extract Text and HTML Webpack Plugin. -**Note**: [**critical** itself has a dependency on puppeteer](https://github.com/addyosmani/critical/releases/tag/v1.0.0) to run headless Chrome, so make sure your build environment (local, CI, etc) where your running webpack has the necessary operating system packages installed. See this page for more information on [troubleshooting](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md) puppeteer. +**Note**: [As **critical** itself has a dependency on puppeteer](https://github.com/addyosmani/critical/releases/tag/v1.0.0) in order to run Headless Chrome, consumers of this plugin will need to make sure that their build environment (local, CI, etc) where running webpack with this plugin has the necessary operating system packages installed. See this page for more information on [troubleshooting](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md) puppeteer. ### Install From acd8aed5cfe0dde43a6ffced1d6c082d5f083fb4 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Wed, 9 May 2018 18:28:59 -0400 Subject: [PATCH 6/8] swap Docker image to one with Headless Chrome support --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f5df44d..c24adb3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: circleci/node:8.9.4 + - image: thegreenhouse/nodejs-dev working_directory: ~/repo From e17add0b30926f5d992e333c96100e12f3ccf524 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Wed, 9 May 2018 19:14:41 -0400 Subject: [PATCH 7/8] add developer documentation --- README.md | 16 + docker-compose.yml | 10 + package-lock.json | 797 --------------------------------------------- package.json | 2 +- 4 files changed, 27 insertions(+), 798 deletions(-) create mode 100644 docker-compose.yml diff --git a/README.md b/README.md index 7ba556a..2bd89d8 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,19 @@ module.export = { ### Detailed explanation Read [Critical CSS and Webpack: Automatically Minimize Render-Blocking CSS](https://vuejsdevelopers.com/2017/07/24/critical-css-webpack/) blogpost. + +### Development +Since the main dependency of this project, critical, depends on an environment that supports Headless Chrome, [Docker](https://www.docker.com/) has been provided to support local development of this project. + +After you have [installed Docker](https://www.docker.com/community-edition), you can do the following to get setup: +1. Start the container - `docker-compose up -d` +1. SSH into the container - `docker exec -it html-critical-webpack-plugin_nodejs_1 /bin/bash` +1. Install dependencies - `rm -rf node_modules && npm install` (this ensures Linux specific dependencies get installed) + +Now you can run the project's `npm` scripts like usuual: +1. Run unit tests - `npm run test` +1. Run the build - `npm run ci` + +**_Note_**: changes are bi-directional + +Learn more about Docker [here]() or [configuring Headless Chrome for your own machine](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md). \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ba84eb5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.2' + +services: + + nodejs: + image: thegreenhouse/nodejs-dev + volumes: + - ./:/workspace + working_dir: /workspace + command: tail -f /dev/null \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 94374fb..16ab2bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1714,7 +1714,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -3195,795 +3194,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "optional": true, - "requires": { - "nan": "2.9.2", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -6063,12 +5273,6 @@ } } }, - "nan": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", - "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", - "optional": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9323,7 +8527,6 @@ "anymatch": "1.3.2", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", - "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", diff --git a/package.json b/package.json index b8090ae..a9e24bf 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "scripts": { "build": "rimraf ./dist && webpack --config ./webpack.config.js", "ci": "webpack --config ./webpack.config.ci.js", - "test": "mocha ./test/**/*.spec.js" + "test": "mocha ./test/**/*.spec.js --timeout 5000" }, "dependencies": { "critical": "^1.0.0" From b428c82607f43673c6b5c4582ed0b9822d4e1c01 Mon Sep 17 00:00:00 2001 From: Owen Buckley Date: Wed, 9 May 2018 19:19:52 -0400 Subject: [PATCH 8/8] fix README link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2bd89d8..c05f5c4 100644 --- a/README.md +++ b/README.md @@ -57,4 +57,4 @@ Now you can run the project's `npm` scripts like usuual: **_Note_**: changes are bi-directional -Learn more about Docker [here]() or [configuring Headless Chrome for your own machine](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md). \ No newline at end of file +Learn more about Docker [here](https://docs.docker.com/get-started/) or [configuring Headless Chrome for your own machine](https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md). \ No newline at end of file