bundles/org.eclipse.orion.client.javascript/web/eslint/lib/eslint.js
function parseJsonConfig(string, location, messages) {
		var items = {};

		// Parses a JSON-like comment by the same way as parsing CLI option.
		/*try {
			items = levn.parse("Object", string) || {};

			// Some tests say that it should ignore invalid comments such as `/*eslint no-alert:abc* /`.
			// Also, commaless notations have invalid severity:
			//     "no-alert: 2 no-console: 2" --> {"no-alert": "2 no-console: 2"}
			// Should ignore that case as well.
			if (ConfigOps.isEverySeverityValid(items)) {
				return items;
			}
		} catch (ex) {

			// ignore to parse the string by a fallback.
		}*/

		// Optionator cannot parse commaless notations.
		// But we are supporting that. So this is a fallback for that.
		items = {};
		string = string.replace(/([a-zA-Z0-9\-\/]+):/g, "\"$1\":").replace(/(\]|[0-9])\s+(?=")/, "$1,");
		try {
			items = JSON.parse("{" + string + "}");
		} catch (ex) {

			messages.push({
				ruleId: null,
				fatal: true,
				severity: 2,
				source: null,
				message: "Failed to parse JSON from '" + string + "': " + ex.message,
				line: location.start.line,
				column: location.start.column + 1
			});

		}

		return items;
	}
function parseJsonConfig(string, location, messages) {
		var items = {};

		// Parses a JSON-like comment by the same way as parsing CLI option.
		/*try {
			items = levn.parse("Object", string) || {};

			// Some tests say that it should ignore invalid comments such as `/*eslint no-alert:abc* /`.
			// Also, commaless notations have invalid severity:
			//     "no-alert: 2 no-console: 2" --> {"no-alert": "2 no-console: 2"}
			// Should ignore that case as well.
			if (ConfigOps.isEverySeverityValid(items)) {
				return items;
			}
		} catch (ex) {

			// ignore to parse the string by a fallback.
		}*/

		// Optionator cannot parse commaless notations.
		// But we are supporting that. So this is a fallback for that.
		items = {};
		string = string.replace(/([a-zA-Z0-9\-\/]+):/g, "\"$1\":").replace(/(\]|[0-9])\s+(?=")/, "$1,");
		try {
			items = JSON.parse("{" + string + "}");
		} catch (ex) {

			messages.push({
				ruleId: null,
				fatal: true,
				severity: 2,
				source: null,
				message: "Failed to parse JSON from '" + string + "': " + ex.message,
				line: location.start.line,
				column: location.start.column + 1
			});

		}

		return items;
	}
function parseJsonConfig ( string , location , messages ) { var items = { } ; // Parses a JSON-like comment by the same way as parsing CLI option. /*try {
			items = levn.parse("Object", string) || {};

			// Some tests say that it should ignore invalid comments such as `/*eslint no-alert:abc* /`.
			// Also, commaless notations have invalid severity:
			//     "no-alert: 2 no-console: 2" --> {"no-alert": "2 no-console: 2"}
			// Should ignore that case as well.
			if (ConfigOps.isEverySeverityValid(items)) {
				return items;
			}
		} catch (ex) {

			// ignore to parse the string by a fallback.
		}*/ // Optionator cannot parse commaless notations. // But we are supporting that. So this is a fallback for that. items = { } ; string = string . replace ( / ([a-zA-Z0-9\-\/]+): / g , "\"$1\":" ) . replace ( / (\]|[0-9])\s+(?=") / , "$1," ) ; try { items = JSON . parse ( "{" + string + "}" ) ; } catch ( ex ) { messages . push ( { ruleId : null , fatal : true , severity : 2 , source : null , message : "Failed to parse JSON from '" + string + "': " + ex . message , line : location . start . line , column : location . start . column + 1 } ) ; } return items ; }
Parses a JSON-like config.
@param {string} string The string to parse.
@param {Object} location Start line and column of comments for potential error message.
@param {Object[]} messages The messages queue for potential error message.
@returns {Object} Result map object
Parses a JSON - like config .