{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-markus/src/external/eslint/eslint-lint.js"],"names":["parse","CodeMirror","defaultConfig","parserOptions","ecmaVersion","sourceType","ecmaFeatures","jsx","modules","experimentalObjectRestSpread","env","browser","node","amd","mocha","jasmine","es6","globals","lively","aexpr","ae","lively4url","System","SystemJS","a","b","_","runZoned","Zone","rules","allow","validator","text","options","result","config","linter","eslint","defineParser","parser","errors","verify","err","console","error","i","length","push","message","severity","getSeverity","from","getPos","to","registerHelper","line","ch","column","loc","start","end","Pos"],"mappings":";;;;;;AAOSA,W,mBAAAA,K;;;;AAET,OAAC,UAASC,UAAT,EAAqB;;AAEpB,cAAMC,gBAAgB;AACpBC,yBAAe;AACbC,yBAAa,CADA,EACyB;AACtCC,wBAAY,QAFC;AAGbC,0BAAc;AACZC,mBAAK,IADO;AAEZC,uBAAS,IAFG;AAGZC,4CAA8B,IAHlB,CAGwB;AAHxB;AAHD,WADK;AAUpBC,eAAK;AACDC,qBAAS,IADR;AAEDC,kBAAM,KAFL;AAGDC,iBAAK,KAHJ;AAIDC,mBAAO,IAJN;AAKDC,qBAAS,KALR;AAMDC,iBAAK;AANJ,WAVe;AAkBpBC,mBAAS;AACLC,oBAAQ,IADH;AAELC,mBAAO,KAFF;AAGLC,gBAAI,KAHC;AAILC,wBAAY,IAJP;AAKLC,oBAAQ,IALH;AAMLC,sBAAU,IANL;AAOLtB,wBAAY,IAPP;AAQLuB,eAAG,IARE;AASLC,eAAG,IATE;AAULC,eAAG,IAVE;AAWLC,sBAAU,IAXL;AAYLC,kBAAM;AAZD,WAlBW;AAgCpB;AACAC,iBAAO;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAuB,CAdlB,EAcqB;AAC1B,8BAAkB,CAfb,EAegB;AACrB,0BAAc,CAAC,CAAD,EAAI,EAAEC,OAAO,CAAC,MAAD,EAAS,OAAT,CAAT,EAAJ,CAhBT,EAgB4C;AACjD,qCAAyB,CAjBpB,EAiBuB;AAC5B,gCAAoB,CAlBf,EAkBkB;AACvB,2BAAe,CAnBV,EAmBa;AAClB,4BAAgB,CApBX,EAoBc;AACnB,4BAAgB,CArBX,EAqBc;AACnB,iCAAqB,CAtBhB,EAsBmB;AACxB,wBAAY,CAvBP,EAuBU;AACf,wCAA4B,CAxBvB,EAwB0B;AAC/B,4BAAgB,CAzBX,EAyBc;AACnB,qCAAyB,CA1BpB,EA0BuB;AAC5B;AACA,6BAAiB,CA5BZ,EA4Be;AACpB,8BAAkB,CA7Bb,EA6BgB;AACrB,qCAAyB,CA9BpB,EA8BuB;AAC5B,iCAAqB,CA/BhB,EA+BmB;AACxB,uCAA2B,CAhCtB,EAgCyB;AAC9B,4BAAgB,CAjCX,EAiCc;AACnB;AACA,+BAAmB,CAnCd,EAmCiB;AACtB,gCAAoB,CApCf,EAoCkB;AACvB;AACA,uCAA2B,CAtCtB,EAsCyB;AAC9B,8BAAkB,CAvCb,EAuCgB;AACrB,iCAAqB,CAxChB,EAwCmB;AACxB,kCAAsB,CAzCjB,EAyCoB;AACzB,yBAAa,CA1CR,EA0CW;AAChB;AACA,4BAAgB,CA5CX,EA4Cc;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAwB,CA3DnB,EA2DsB;AAC3B;AACA;AACA;AACA,gCAAoB,CA/Df,EA+DkB;AACvB;AACA;AACA;AACA;AACA;AACA,8BAAkB,CArEb,EAqEgB;AACrB;AACA,gCAAoB,CAvEf,EAuEkB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAY,CAtFP,EAsFU;AACf;AACA;AACA;AACA,4BAAgB,CA1FX,EA0Fc;AACnB;AACA;AACA;AACA;AACA,8BAAkB,CA/Fb,EA+FgB;AACrB;AACA;AACA,gCAAoB,CAlGf,EAkGkB;AACvB;AACA;AACA,gCAAoB,CArGf,EAqGkB;AACvB;AACA;AACA,iCAAqB,CAxGhB,EAwGmB;AACxB;AACA;AACA;AACA,uBAAW,CA5GN,EA4GS;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAAiB,CAtHZ,EAsHe;AACpB;AACA;AACA;AACA;AACA,wBAAY,CA3HP,EA2HU;AACf;AACA;AACA,8BAAkB,CA9Hb,EA8HgB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","file":"eslint-lint.js","sourcesContent":["// CodeMirror Lint addon to use ESLint, copyright (c) by Angelo ZERR and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n// Depends on eslint.js from https://github.com/eslint/eslint\n\n/* global eslint */\n\n import {parse} from \"./eslint-parser.js\";\n\n(function(CodeMirror) {\n  \n  const defaultConfig = {\n    parserOptions: {\n      ecmaVersion: 8,                       // only for default eslint parser\n      sourceType: \"module\",\n      ecmaFeatures: {\n        jsx: true,\n        modules: true,\n        experimentalObjectRestSpread: true  // only for default eslint parser\n      }\n    },\n    env: {\n        browser: true,\n        node: false,\n        amd: false,\n        mocha: true,\n        jasmine: false,\n        es6: true\n    },\n    globals: {\n        lively: true,\n        aexpr: false,\n        ae: false,\n        lively4url: true,\n        System: true,\n        SystemJS: true,\n        CodeMirror: true,\n        a: true,\n        b: true,\n        _: true,\n        runZoned: true,\n        Zone: true,\n    },\n    //extends: \"eslint:recommended\", // seems not to work\n    rules: {\n      // https://eslint.org/docs/rules/\n      // generated using:\n      //   Array.from(this.querySelectorAll(\"tr\")).map(tr => {\n      //     const ok = !!tr.querySelector(\".glyphicon-ok\");\n      //     const children = Array.from(tr.querySelectorAll(\"p\"));\n      //     const label = children[0].textContent\n      //     const comment = children[1].textContent\n      //     return `${ok ? \"\" : \"//\"} \"${label}\": [\"error\"], // ${comment}`  \n      //   }).join(\"\\n\");\n\n      // \"for-direction\": 2, // enforce “for” loop update clause moving the counter in the right direction.\n      // \"getter-return\": 2, // enforce return statements in getters\n      // \"no-await-in-loop\": 2, // disallow await inside of loops\n      \"no-compare-neg-zero\": 2, // disallow comparing against -0\n      \"no-cond-assign\": 2, // disallow assignment operators in conditional expressions\n      \"no-console\": [1, { allow: [\"warn\", \"error\"] }], // disallow the use of console\n      \"no-constant-condition\": 2, // disallow constant expressions in conditions\n      \"no-control-regex\": 2, // disallow control characters in regular expressions\n      \"no-debugger\": 2, // disallow the use of debugger\n      \"no-dupe-args\": 2, // disallow duplicate arguments in function definitions\n      \"no-dupe-keys\": 2, // disallow duplicate keys in object literals\n      \"no-duplicate-case\": 2, // disallow duplicate case labels\n      \"no-empty\": 2, // disallow empty block statements\n      \"no-empty-character-class\": 2, // disallow empty character classes in regular expressions\n      \"no-ex-assign\": 2, // disallow reassigning exceptions in catch clauses\n      \"no-extra-boolean-cast\": 2, // disallow unnecessary boolean casts\n      // \"no-extra-parens\": 2, // disallow unnecessary parentheses\n      \"no-extra-semi\": 2, // disallow unnecessary semicolons\n      \"no-func-assign\": 2, // disallow reassigning function declarations\n      \"no-inner-declarations\": 2, // disallow variable or function declarations in nested blocks\n      \"no-invalid-regexp\": 2, // disallow invalid regular expression strings in RegExp constructors\n      \"no-irregular-whitespace\": 2, // disallow irregular whitespace outside of strings and comments\n      \"no-obj-calls\": 2, // disallow calling global object properties as functions\n      // \"no-prototype-builtins\": 2, // disallow calling some Object.prototype methods directly on objects\n      \"no-regex-spaces\": 2, // disallow multiple spaces in regular expressions\n      \"no-sparse-arrays\": 2, // disallow sparse arrays\n      // \"no-template-curly-in-string\": 2, // disallow template literal placeholder syntax in regular strings\n      \"no-unexpected-multiline\": 2, // disallow confusing multiline expressions\n      \"no-unreachable\": 2, // disallow unreachable code after return, throw, continue, and break statements\n      \"no-unsafe-finally\": 2, // disallow control flow statements in finally blocks\n      \"no-unsafe-negation\": 2, // disallow negating the left operand of relational operators\n      \"use-isnan\": 2, // require calls to isNaN() when checking for NaN\n      // \"valid-jsdoc\": 2, // enforce valid JSDoc comments\n      \"valid-typeof\": 2, // enforce comparing typeof expressions against valid strings\n      // \"accessor-pairs\": 2, // enforce getter and setter pairs in objects\n      // \"array-callback-return\": 2, // enforce return statements in callbacks of array methods\n      // \"block-scoped-var\": 2, // enforce the use of variables within the scope they are defined\n      // \"class-methods-use-this\": 2, // enforce that class methods utilize this\n      // \"complexity\": 2, // enforce a maximum cyclomatic complexity allowed in a program\n      // \"consistent-return\": 2, // require return statements to either always or never specify values\n      // \"curly\": 2, // enforce consistent brace style for all control statements\n      // \"default-case\": 2, // require default cases in switch statements\n      // \"dot-location\": 2, // enforce consistent newlines before and after dots\n      // \"dot-notation\": 2, // enforce dot notation whenever possible\n      // \"eqeqeq\": 2, // require the use of === and !==\n      // \"guard-for-in\": 2, // require for-in loops to include an if statement\n      // \"no-alert\": 2, // disallow the use of alert, confirm, and prompt\n      // \"no-caller\": 2, // disallow the use of arguments.caller or arguments.callee\n      \"no-case-declarations\": 2, // disallow lexical declarations in case clauses\n      // \"no-div-regex\": 2, // disallow division operators explicitly at the beginning of regular expressions\n      // \"no-else-return\": 2, // disallow else blocks after return statements in if statements\n      // \"no-empty-function\": 2, // disallow empty functions\n      \"no-empty-pattern\": 2, // disallow empty destructuring patterns\n      // \"no-eq-null\": 2, // disallow null comparisons without type-checking operators\n      // \"no-eval\": 2, // disallow the use of eval()\n      // \"no-extend-native\": 2, // disallow extending native types\n      // \"no-extra-bind\": 2, // disallow unnecessary calls to .bind()\n      // \"no-extra-label\": 2, // disallow unnecessary labels\n      \"no-fallthrough\": 2, // disallow fallthrough of case statements\n      // \"no-floating-decimal\": 2, // disallow leading or trailing decimal points in numeric literals\n      \"no-global-assign\": 2, // disallow assignments to native objects or read-only global variables\n      // \"no-implicit-coercion\": 2, // disallow shorthand type conversions\n      // \"no-implicit-globals\": 2, // disallow variable and function declarations in the global scope\n      // \"no-implied-eval\": 2, // disallow the use of eval()-like methods\n      // \"no-invalid-this\": 2, // disallow this keywords outside of classes or class-like objects\n      // \"no-iterator\": 2, // disallow the use of the __iterator__ property\n      // \"no-labels\": 2, // disallow labeled statements\n      // \"no-lone-blocks\": 2, // disallow unnecessary nested blocks\n      // \"no-loop-func\": 2, // disallow function declarations and expressions inside loop statements\n      // \"no-magic-numbers\": 2, // disallow magic numbers\n      // \"no-multi-spaces\": 2, // disallow multiple spaces\n      // \"no-multi-str\": 2, // disallow multiline strings\n      // \"no-new\": 2, // disallow new operators outside of assignments or comparisons\n      // \"no-new-func\": 2, // disallow new operators with the Function object\n      // \"no-new-wrappers\": 2, // disallow new operators with the String, Number, and Boolean objects\n      \"no-octal\": 2, // disallow octal literals\n      // \"no-octal-escape\": 2, // disallow octal escape sequences in string literals\n      // \"no-param-reassign\": 2, // disallow reassigning function parameters\n      // \"no-proto\": 2, // disallow the use of the __proto__ property\n      \"no-redeclare\": 2, // disallow variable redeclaration\n      // \"no-restricted-properties\": 2, // disallow certain properties on certain objects\n      // \"no-return-assign\": 2, // disallow assignment operators in return statements\n      // \"no-return-await\": 2, // disallow unnecessary return await\n      // \"no-script-url\": 2, // disallow javascript: urls\n      \"no-self-assign\": 2, // disallow assignments where both sides are exactly the same\n      // \"no-self-compare\": 2, // disallow comparisons where both sides are exactly the same\n      // \"no-sequences\": 2, // disallow comma operators\n      \"no-throw-literal\": 1, // disallow throwing literals as exceptions\n      // \"no-unmodified-loop-condition\": 2, // disallow unmodified loop conditions\n      // \"no-unused-expressions\": 2, // disallow unused expressions\n      \"no-unused-labels\": 0, // disallow unused labels\n      // \"no-useless-call\": 2, // disallow unnecessary calls to .call() and .apply()\n      // \"no-useless-concat\": 2, // disallow unnecessary concatenation of literals or template literals\n      \"no-useless-escape\": 1, // disallow unnecessary escape characters\n      // \"no-useless-return\": 2, // disallow redundant return statements\n      // \"no-void\": 2, // disallow void operators\n      // \"no-warning-comments\": 2, // disallow specified warning terms in comments\n      \"no-with\": 1, // disallow with statements\n      // \"prefer-promise-reject-errors\": 2, // require using Error objects as Promise rejection reasons\n      // \"radix\": 2, // enforce the consistent use of the radix argument when using parseInt()\n      // \"require-await\": 2, // disallow async functions which have no await expression\n      // \"vars-on-top\": 2, // require var declarations be placed at the top of their containing scope\n      // \"wrap-iife\": 2, // require parentheses around immediate function invocations\n      // \"yoda\": 2, // require or disallow “Yoda” conditions\n      // \"strict\": 2, // require or disallow strict mode directives\n      // \"init-declarations\": 2, // require or disallow initialization in variable declarations\n      // \"no-catch-shadow\": 2, // disallow catch clause parameters from shadowing variables in the outer scope\n      \"no-delete-var\": 2, // disallow deleting variables\n      // \"no-label-var\": 2, // disallow labels that share a name with a variable\n      // \"no-restricted-globals\": 2, // disallow specified global variables\n      // \"no-shadow\": 2, // disallow variable declarations from shadowing variables declared in the outer scope\n      // \"no-shadow-restricted-names\": 2, // disallow identifiers from shadowing restricted names\n      \"no-undef\": 2, // disallow the use of undeclared variables unless mentioned in /*global */ comments\n      // \"no-undef-init\": 2, // disallow initializing variables to undefined\n      // \"no-undefined\": 2, // disallow the use of undefined as an identifier\n      \"no-unused-vars\": 1, // disallow unused variables\n      // \"no-use-before-define\": 2, // disallow the use of variables before they are defined\n      // \"callback-return\": 2, // require return statements after callbacks\n      // \"global-require\": 2, // require require() calls to be placed at top-level module scope\n      // \"handle-callback-err\": 2, // require error handling in callbacks\n      // \"no-buffer-constructor\": 2, // disallow use of the Buffer() constructor\n      // \"no-mixed-requires\": 2, // disallow require calls to be mixed with regular variable declarations\n      // \"no-new-require\": 2, // disallow new operators with calls to require\n      // \"no-path-concat\": 2, // disallow string concatenation with __dirname and __filename\n      // \"no-process-env\": 2, // disallow the use of process.env\n      // \"no-process-exit\": 2, // disallow the use of process.exit()\n      // \"no-restricted-modules\": 2, // disallow specified modules when loaded by require\n      // \"no-sync\": 2, // disallow synchronous methods\n      // \"array-bracket-newline\": 2, // enforce linebreaks after opening and before closing array brackets\n      // \"array-bracket-spacing\": 2, // enforce consistent spacing inside array brackets\n      // \"array-element-newline\": 2, // enforce line breaks after each array element\n      // \"block-spacing\": 2, // disallow or enforce spaces inside of blocks after opening block and before closing block\n      // \"brace-style\": 2, // enforce consistent brace style for blocks\n      // \"camelcase\": 2, // enforce camelcase naming convention\n      // \"capitalized-comments\": 2, // enforce or disallow capitalization of the first letter of a comment\n      // \"comma-dangle\": 2, // require or disallow trailing commas\n      // \"comma-spacing\": 2, // enforce consistent spacing before and after commas\n      // \"comma-style\": 2, // enforce consistent comma style\n      // \"computed-property-spacing\": 2, // enforce consistent spacing inside computed property brackets\n      // \"consistent-this\": 2, // enforce consistent naming when capturing the current execution context\n      // \"eol-last\": 2, // require or disallow newline at the end of files\n      // \"func-call-spacing\": 2, // require or disallow spacing between function identifiers and their invocations\n      // \"func-name-matching\": 2, // require function names to match the name of the variable or property to which they are assigned\n      // \"func-names\": 2, // require or disallow named function expressions\n      // \"func-style\": 2, // enforce the consistent use of either function declarations or expressions\n      // \"function-paren-newline\": 2, // enforce consistent line breaks inside function parentheses\n      // \"id-blacklist\": 2, // disallow specified identifiers\n      // \"id-length\": 2, // enforce minimum and maximum identifier lengths\n      // \"id-match\": 2, // require identifiers to match a specified regular expression\n      // \"implicit-arrow-linebreak\": 2, // enforce the location of arrow function bodies\n      // \"indent\": 2, // enforce consistent indentation\n      // \"jsx-quotes\": 2, // enforce the consistent use of either double or single quotes in JSX attributes\n      // \"key-spacing\": 2, // enforce consistent spacing between keys and values in object literal properties\n      // \"keyword-spacing\": 2, // enforce consistent spacing before and after keywords\n      // \"line-comment-position\": 2, // enforce position of line comments\n      // \"linebreak-style\": 2, // enforce consistent linebreak style\n      // \"lines-around-comment\": 2, // require empty lines around comments\n      // \"lines-between-class-members\": 2, // require or disallow an empty line between class members\n      // \"max-depth\": 2, // enforce a maximum depth that blocks can be nested\n      // \"max-len\": 2, // enforce a maximum line length\n      // \"max-lines\": 2, // enforce a maximum number of lines per file\n      // \"max-nested-callbacks\": 2, // enforce a maximum depth that callbacks can be nested\n      // \"max-params\": 2, // enforce a maximum number of parameters in function definitions\n      // \"max-statements\": 2, // enforce a maximum number of statements allowed in function blocks\n      // \"max-statements-per-line\": 2, // enforce a maximum number of statements allowed per line\n      // \"multiline-comment-style\": 2, // enforce a particular style for multiline comments\n      // \"multiline-ternary\": 2, // enforce newlines between operands of ternary expressions\n      // \"new-cap\": 2, // require constructor names to begin with a capital letter\n      // \"new-parens\": 2, // require parentheses when invoking a constructor with no arguments\n      // \"newline-per-chained-call\": 2, // require a newline after each call in a method chain\n      // \"no-array-constructor\": 2, // disallow Array constructors\n      // \"no-bitwise\": 2, // disallow bitwise operators\n      // \"no-continue\": 2, // disallow continue statements\n      // \"no-inline-comments\": 2, // disallow inline comments after code\n      // \"no-lonely-if\": 2, // disallow if statements as the only statement in else blocks\n      // \"no-mixed-operators\": 2, // disallow mixed binary operators\n      \"no-mixed-spaces-and-tabs\": 2, // disallow mixed spaces and tabs for indentation\n      // \"no-multi-assign\": 2, // disallow use of chained assignment expressions\n      // \"no-multiple-empty-lines\": 2, // disallow multiple empty lines\n      // \"no-negated-condition\": 2, // disallow negated conditions\n      // \"no-nested-ternary\": 2, // disallow nested ternary expressions\n      // \"no-new-object\": 2, // disallow Object constructors\n      // \"no-plusplus\": 2, // disallow the unary operators ++ and --\n      // \"no-restricted-syntax\": 2, // disallow specified syntax\n      // \"no-tabs\": 2, // disallow all tabs\n      // \"no-ternary\": 2, // disallow ternary operators\n      // \"no-trailing-spaces\": 2, // disallow trailing whitespace at the end of lines\n      // \"no-underscore-dangle\": 2, // disallow dangling underscores in identifiers\n      // \"no-unneeded-ternary\": 2, // disallow ternary operators when simpler alternatives exist\n      // \"no-whitespace-before-property\": 2, // disallow whitespace before properties\n      // \"nonblock-statement-body-position\": 2, // enforce the location of single-line statements\n      // \"object-curly-newline\": 2, // enforce consistent line breaks inside braces\n      // \"object-curly-spacing\": 2, // enforce consistent spacing inside braces\n      // \"object-property-newline\": 2, // enforce placing object properties on separate lines\n      // \"one-var\": 2, // enforce variables to be declared either together or separately in functions\n      // \"one-var-declaration-per-line\": 2, // require or disallow newlines around variable declarations\n      // \"operator-assignment\": 2, // require or disallow assignment operator shorthand where possible\n      // \"operator-linebreak\": 2, // enforce consistent linebreak style for operators\n      // \"padded-blocks\": 2, // require or disallow padding within blocks\n      // \"padding-line-between-statements\": 2, // require or disallow padding lines between statements\n      // \"quote-props\": 2, // require quotes around object literal property names\n      // \"quotes\": 2, // enforce the consistent use of either backticks, double, or single quotes\n      // \"require-jsdoc\": 2, // require JSDoc comments\n      // \"semi\": 2, // require or disallow semicolons instead of ASI\n      // \"semi-spacing\": 2, // enforce consistent spacing before and after semicolons\n      // \"semi-style\": 2, // enforce location of semicolons\n      // \"sort-keys\": 2, // require object keys to be sorted\n      // \"sort-vars\": 2, // require variables within the same declaration block to be sorted\n      // \"space-before-blocks\": 2, // enforce consistent spacing before blocks\n      // \"space-before-function-paren\": 2, // enforce consistent spacing before function definition opening parenthesis\n      // \"space-in-parens\": 2, // enforce consistent spacing inside parentheses\n      // \"space-infix-ops\": 2, // require spacing around infix operators\n      // \"space-unary-ops\": 2, // enforce consistent spacing before or after unary operators\n      // \"spaced-comment\": 2, // enforce consistent spacing after the // or /* in a comment\n      // \"switch-colon-spacing\": 2, // enforce spacing around colons of switch statements\n      // \"template-tag-spacing\": 2, // require or disallow spacing between template tags and their literals\n      // \"unicode-bom\": 2, // require or disallow Unicode byte order mark (BOM)\n      // \"wrap-regex\": 2, // require parenthesis around regex literals\n      // \"arrow-body-style\": 2, // require braces around arrow function bodies\n      // \"arrow-parens\": 2, // require parentheses around arrow function arguments\n      // \"arrow-spacing\": 2, // enforce consistent spacing before and after the arrow in arrow functions\n      \"constructor-super\": 2, // require super() calls in constructors\n      // \"generator-star-spacing\": 2, // enforce consistent spacing around * operators in generator functions\n      \"no-class-assign\": 2, // disallow reassigning class members\n      // \"no-confusing-arrow\": 2, // disallow arrow functions where they could be confused with comparisons\n      \"no-const-assign\": 2, // disallow reassigning const variables\n      \"no-dupe-class-members\": 2, // disallow duplicate class members\n      // \"no-duplicate-imports\": 2, // disallow duplicate module imports\n      \"no-new-symbol\": 2, // disallow new operators with the Symbol object\n      // \"no-restricted-imports\": 2, // disallow specified modules when loaded by import\n      \"no-this-before-super\": 2, // disallow this/super before calling super() in constructors\n      // \"no-useless-computed-key\": 2, // disallow unnecessary computed property keys in object literals\n      // \"no-useless-constructor\": 2, // disallow unnecessary constructors\n      // \"no-useless-rename\": 2, // disallow renaming import, export, and destructured assignments to the same name\n      // \"no-var\": 2, // require let or const instead of var\n      // \"object-shorthand\": 2, // require or disallow method and property shorthand syntax for object literals\n      // \"prefer-arrow-callback\": 2, // require using arrow functions for callbacks\n      // \"prefer-const\": 2, // require const declarations for variables that are never reassigned after declared\n      // \"prefer-destructuring\": 2, // require destructuring from arrays and/or objects\n      // \"prefer-numeric-literals\": 2, // disallow parseInt() and Number.parseInt() in favor of binary, octal, and hexadecimal literals\n      // \"prefer-rest-params\": 2, // require rest parameters instead of arguments\n      // \"prefer-spread\": 2, // require spread operators instead of .apply()\n      // \"prefer-template\": 2, // require template literals instead of string concatenation\n      \"require-yield\": 2, // require generator functions to contain yield\n      // \"rest-spread-spacing\": 2, // enforce spacing between rest and spread operators and their expressions\n      // \"sort-imports\": 2, // enforce sorted import declarations within modules\n      // \"symbol-description\": 2, // require symbol descriptions\n      // \"template-curly-spacing\": 2, // require or disallow spacing around embedded expressions of template strings\n      // \"yield-star-spacing\": 2, // require or disallow spacing around the * in yield* expressions\n    }\n  }\n  \n  function validator(text, options) {\n    var result = [], config = defaultConfig;\n    var linter = new eslint();\n    linter.defineParser(\"babel-parser\", {parse});\n    config.parser = \"babel-parser\";\n    try {\n      var errors = linter.verify(text, config);\n    } catch(err) {\n      console.error(\"ESLINT ERROR during linting\", err, \"source: \" + text)\n      errors = []\n    }\n    \n    for (var i = 0; i < errors.length; i++) {\n      var error = errors[i];\n      result.push({message: error.message,\n                 severity: getSeverity(error),\n                 from: getPos(error, true),\n                   to: getPos(error, false)});\t\n    }\n    return result;\t  \n  }\n\n  CodeMirror.registerHelper(\"lint\", \"javascript\", validator);\n\n  function getPos(error, from) {\n    var line = error.line-1, ch = from ? error.column : error.column+1;\n    if (error.node && error.node.loc) {\n      line = from ? error.node.loc.start.line -1 : error.node.loc.end.line -1;\n      ch = from ? error.node.loc.start.column : error.node.loc.end.column;\n    }\n    return CodeMirror.Pos(line, ch);\n  }\n  \n  function getSeverity(error) {\n    switch(error.severity) {\n      case 1:\n        return \"warning\";\n      case 2:\n      return \"error\";\t    \n      default:\n      return \"error\";\n    }    \n  }\n})(CodeMirror);\n"]}