Skip to content

Commit

Permalink
Move vnu-jar to devDependencies and remove completely htmlhint.
Browse files Browse the repository at this point in the history
  • Loading branch information
XhmikosR committed Oct 8, 2017
1 parent 258507b commit ee4176c
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 548 deletions.
1 change: 0 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ before_install:
install:
- bundle install --deployment --jobs=3 --retry=3
- npm install
- curl -L https://github.com/validator/validator/releases/download/17.9.0/vnu.jar_17.9.0.zip | jar -x dist/vnu.jar && mv dist/vnu.jar vnu.jar
after_success:
- if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then npm run docs-upload-preview; fi
stages:
Expand Down
55 changes: 39 additions & 16 deletions build/htmllint.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,46 @@
#!/usr/bin/env node

/*!
* Script to run vnu-jar if Java is available.
* Copyright 2017 The Bootstrap Authors
* Copyright 2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/

'use strict'

const childProcess = require('child_process')
const fs = require('fs')
const vnu = require('vnu-jar')

childProcess.exec('java -version', function (error) {
if (error) {
console.error('Skipping HTML lint test; Java is missing.')
return
}

if (fs.existsSync('vnu.jar')) {
childProcess.exec('java -version', function (error) {
if (error) {
console.error('skipping HTML lint test. java missing.')
return
}
const ignores = [
'Attribute “autocomplete” is only allowed when the input type is “color”, “date”, “datetime-local”, “email”, “hidden”, “month”, “number”, “password”, “range”, “search”, “tel”, “text”, “time”, “url”, or “week”.',
'Attribute “autocomplete” not allowed on element “button” at this point.',
'Attribute “title” not allowed on element “circle” at this point.',
'Bad value “tablist” for attribute “role” on element “nav”.',
'Element “img” is missing required attribute “src”.',
'Element “legend” not allowed as child of element “div” in this context.*'
].join('|')

const vnu = childProcess.spawn(
'java',
['-jar', 'vnu.jar', '--skip-non-html', '_gh_pages/'],
{ stdio: 'inherit' }
)
const args = [
'-jar',
vnu,
'--asciiquotes',
'--errors-only',
'--skip-non-html',
`--filterpattern "${ignores}"`,
'_gh_pages/',
'js/tests/'
]

vnu.on('exit', process.exit)
return childProcess.spawn('java', args, {
shell: true,
stdio: 'inherit'
})
} else {
console.error('skipping HTML lint test. vnu.jar missing.')
}
.on('exit', process.exit)
})
Loading

0 comments on commit ee4176c

Please sign in to comment.