sirius-press/wp-includes/js/codemirror/fakejshint.js
Silent Mode 1f173de885 WordPress 7.1.1
Pristine upstream, unpacked from the official wordpress.org tarball.

  https://wordpress.org/wordpress-7.1.1.tar.gz
  sha1   2a9d68474e8703aa3a66f80427b325e0941b6a1e  (published by wordpress.org)
  sha256 3996fee13448ef12e07e9f0c77db2f655ffa1b7cde71c80a4965d3bf1fb956b3

This branch carries nothing but upstream releases, one commit each, and is
never edited. It is the other side of the git-subtree merge that brings
security releases into SiriusPress/wordpress/ — see
SiriusPress/docs/upstream-merges.md.
2026-09-21 02:53:57 +02:00

53 lines
1.3 KiB
JavaScript

/**
* JSHINT has some GPL Compatibility issues, so we are faking it out and using esprima for validation
* Based on https://github.com/jquery/esprima/blob/gh-pages/demo/validate.js which is MIT licensed.
* This is now deprecated in favor of Espree.
*
* @since 4.9.3
* @deprecated 7.0.0
* @output wp-includes/js/codemirror/fakejshint.js
* @see https://core.trac.wordpress.org/ticket/42850
* @see https://core.trac.wordpress.org/ticket/64558
*/
/* jshint -W057, -W058 */
var fakeJSHINT = new function() {
var syntax, errors;
var that = this;
this.data = [];
this.convertError = function( error ){
return {
line: error.lineNumber,
character: error.column,
reason: error.description,
code: 'E'
};
};
this.parse = function( code ){
try {
syntax = window.esprima.parse(code, { tolerant: true, loc: true });
errors = syntax.errors;
if ( errors.length > 0 ) {
for ( var i = 0; i < errors.length; i++) {
var error = errors[i];
that.data.push( that.convertError( error ) );
}
} else {
that.data = [];
}
} catch (e) {
that.data.push( that.convertError( e ) );
}
};
};
window.JSHINT = function( text ){
fakeJSHINT.parse( text );
};
window.JSHINT.data = function(){
return {
errors: fakeJSHINT.data
};
};