Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
grunt-html
Advanced tools
Grunt plugin for HTML validation, using the Nu Html Checker (v.Nu).
Install this grunt plugin next to your project's Gruntfile.js with:
npm install grunt-html -D
Then add this line to your project's Gruntfile.js
:
grunt.loadNpmTasks('grunt-html');
Then specify what files to validate in your config:
grunt.initConfig({
htmllint: {
all: ['demos/**/*.html', 'tests/**/*.html']
}
});
For fast validation, keep that in a single group, as the validator initialization takes a few seconds.
When combined with a watching task (such as grunt-contrib-watch), even faster validation can be achieved by starting the validator in client mode and connecting to an already-running instance of the validator in server mode. This removes the time required by repeated initializations. See the server
option below.
errorlevels
Array
['info', 'warning', 'error']
Set errorlevels
to control which error types are returned from the validator. Ignores all other returned types.
force
Boolean
false
Set force
to true
to report errors but not fail the grunt
task.
ignore
Array
, String
, or RegExp
null
Use this to specify the error message(s) to ignore. For example:
all: {
options: {
ignore: 'The “clear” attribute on the “br” element is obsolete. Use CSS instead.'
},
src: 'html4.html'
}
The ignore
option also supports regular expressions. For example, to ignore AngularJS directive attributes:
all: {
options: {
ignore: /attribute “ng-[a-z-]+” not allowed/
},
src: 'app.html'
}
noLangDetect
Boolean
false
Set noLangDetect
to true
to skip the checking of the language of the page.
reporter
String
null
Allows you to modify the output format. By default, this plugin will use a built-in Grunt reporter. Set the path to your own custom reporter or to one of the provided reporters: checkstyle
, junit
or json
.
reporterOutput
String
null
Specify a filepath to output the results of a reporter. If reporterOutput
is specified then all output will be written to the given filepath rather than printed to stdout
.
absoluteFilePathsForReporter
Boolean
false
Set absoluteFilePathsForReporter
to true
to use absolute file paths in generated reports.
server
Object
, or a falsy valuefalse
When server
is set to a falsy value, the validator is invoked using java -jar
, which can be considered normal operation.
Set server
to an object to start the validator in client mode and connect to an already-running instance of the validator in server mode.
To start the validator in server mode, use java -cp "path/to/vnu.jar" nu.validator.servlet.Main <port>
.
all: {
options: {
// connect to a validator instance running in server mode on localhost:8888
server: {}
},
src: 'app.html'
}
The server
object also accepts the host
and port
keys, specifying the location of the server.
all: {
options: {
server: {
// your team's local dev tool machine, for example
host: '192.168.0.5',
port: 8877
}
},
src: 'app.html'
}
The following configuration in Gruntfile.js uses grunt-vnuserver to start the validator in server mode and sets up a watch task to run htmllint
every time the source file changes.
By starting the validator in server mode once using the vnuserver
task, validations by htmllint
can be performed much faster by simply connecting to this already-running server.
module.exports = function (grunt) {
grunt.initConfig({
vnuserver: {
},
htmllint: {
all: {
options: {
server: {}
},
src: 'app.html'
}
},
watch: {
all: {
tasks: ['htmllint'],
files: 'app.html'
}
}
});
grunt.loadNpmTasks('grunt-vnuserver');
grunt.loadNpmTasks('grunt-html');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['vnuserver', 'watch']);
};
threads
String
, Boolean
, Number
auto
, which is the number of threads -1Use this option to control the number of threads that grunt-html will use when validating a big number of files. This will spawn as many Java processes as the number of threads.
Copyright Jörn Zaefferer. Licensed under the MIT license.
FAQs
Grunt plugin for HTML validation, using the Nu Html Checker (v.Nu)
We found that grunt-html demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.