Skip to content

Commit

Permalink
feat(config): add recommended config
Browse files Browse the repository at this point in the history
  • Loading branch information
Sven Wagner committed Jan 31, 2019
1 parent f3df460 commit a881d9e
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 2 deletions.
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,31 @@ These are the possible options for the configuration file:

| Option | Description | Default |
| ------------- | ------------- | ------------- |
| extends | name of a predefined set of configurations | optional |
| urls | array of URLs to scan | `[]` |
| extendedInfo | display extended info of the audit | `false` by default. If the audit is not satisfied extendInfo turns true |
| allAudits| indicates if all audits should be evaluated | `false` |
| onlyAudits| array of audit keys to evaluate (see below) | `[]` |
| scores| object of minimum scores per category (see below) to obtain | `{}` |

#### Recommended Options

There is a predefined set of options called 'recommended. This looks like this:

```json
skipAudits: [
"uses-webp-images",
"hreflang",
"webapp-install-banner",
"without-javascript",
]
```

#### Example

```json
{
"extends": "recommended",
"urls": [
"https://www.example.com/"
],
Expand Down
22 changes: 21 additions & 1 deletion dist/bundle.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
'use strict';

var recommendedOptions = {
skipAudits: [
'uses-webp-images',
'hreflang',
'webapp-install-banner',
'without-javascript',
],
};

const fs = require('fs');
const { argv } = require('yargs');

Expand All @@ -8,7 +17,18 @@ const getConfig = () => {
let options = {};
if (configFile) {
const data = fs.readFileSync(configFile, 'utf8');
options = JSON.parse(data);
const parsedOptions = JSON.parse(data);

options = {
...parsedOptions,
};

if (parsedOptions.extends === 'recommended') {
options = {
...recommendedOptions,
...options,
};
}
} else {
const { url } = argv;
options.urls = [url];
Expand Down
1 change: 1 addition & 0 deletions example-config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"extends": "recommended",
"urls": [
"https://www.example.com/"
],
Expand Down
15 changes: 14 additions & 1 deletion lib/config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import recommendedOptions from './configs/recommended'

const fs = require('fs')
const { argv } = require('yargs')

Expand All @@ -6,7 +8,18 @@ const getConfig = () => {
let options = {}
if (configFile) {
const data = fs.readFileSync(configFile, 'utf8')
options = JSON.parse(data)
const parsedOptions = JSON.parse(data)

options = {
...parsedOptions,
}

if (parsedOptions.extends === 'recommended') {
options = {
...recommendedOptions,
...options,
}
}
} else {
const { url } = argv
options.urls = [url]
Expand Down
8 changes: 8 additions & 0 deletions lib/configs/recommended.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default {
skipAudits: [
'uses-webp-images',
'hreflang',
'webapp-install-banner',
'without-javascript',
],
}

0 comments on commit a881d9e

Please sign in to comment.