Brackets-InteractiveLinter
Brackets-InteractiveLinter copied to clipboard
Update ESLint
I know that it is not a long-term solution, but would you please update ESLint so I can keep using your extension. I like your extension and would hate to have to uninstall it.
If you can give me a direction to how to get that updated and I will submit a PR if you do not have time.
@rvarbanov I will take a look this weekend. If you want to try to update it yourself in the meantime, all I do is build eslint myself with their browserify build script and place in here in your local interactive linter install.
sorry I have not had time to make much progress in this extension in a while. :/
@MiguelCastillo you do not need to apologise, I understand!
I will try to build ESLint later today and let you know how that went :)
To be honest, i need to rethink some of this stuff. Current I abstract out eslint into my own container... Which causes issues like loading up rules from modules. This is one reason I have been putting this whole thing off. But it seems like it is time to roll up my sleeves and do it.
Yeah, it seems like not an easy task, but I believe in you 😃
@MiguelCastillo I built a new eslint.js file and updated the extension with it. It worked for one of my projects, but I am getting an error on another.
Error processing linter settings
SyntaxError: Unexpected token S
Is there a way to get a more detailed error message?
I don't provide that at the moment... The error is logged here https://github.com/MiguelCastillo/Brackets-InteractiveLinter/blob/master/linterSettings.js#L89
Try putting a break in there if you really want to debug it.
Can you paste your config file here?
{
"root": true,
"env": {
"es6": true,
"browser": true,
"node": true
},
"extends": "eslint:recommended",
"rules": {
"accessor-pairs": "error",
"array-bracket-spacing": "error",
"array-callback-return": "error",
"arrow-body-style": "off",
"arrow-parens": "off",
"arrow-spacing": [
"error",
{
"after": true,
"before": true
}
],
"block-scoped-var": "error",
"block-spacing": [
"error",
"always"
],
"brace-style": [
"error",
"1tbs",
{
"allowSingleLine": true
}
],
"callback-return": "error",
"camelcase": ["error", {"properties": "never"}],
"comma-spacing": [
"error",
{
"after": true,
"before": false
}
],
"comma-style": [
"error",
"last"
],
"complexity": "error",
"computed-property-spacing": [
"error",
"never"
],
"consistent-return": "off",
"consistent-this": ["error", "vm"],
"curly": "error",
"default-case": "error",
"dot-location": ["error", "property"],
"dot-notation": [
"error",
{
"allowKeywords": true
}
],
"eol-last": "error",
"eqeqeq": "error",
"func-names": "off",
"func-style": "off",
"generator-star-spacing": "error",
"global-require": "off",
"guard-for-in": "error",
"handle-callback-err": "off",
"id-blacklist": "error",
"id-length": "off",
"id-match": "error",
"indent": ["error", "tab", {SwitchCase: 1}],
"init-declarations": "off",
"jsx-quotes": "error",
"key-spacing": "error",
"keyword-spacing": [
"error",
{
"after": true,
"before": true
}
],
"linebreak-style": [
"error",
"unix"
],
"lines-around-comment": "off",
"max-depth": "error",
"max-len": "off",
"max-nested-callbacks": "error",
"max-params": "off",
"max-statements": "off",
"max-statements-per-line": "error",
"new-cap": "error",
"new-parens": "error",
"newline-after-var": "off",
"newline-before-return": "off",
"newline-per-chained-call": "off",
"no-alert": "error",
"no-array-constructor": "error",
"no-bitwise": "error",
"no-caller": "error",
"no-catch-shadow": "error",
"no-confusing-arrow": "off",
"no-continue": "error",
"no-div-regex": "error",
"no-duplicate-imports": "error",
"no-else-return": "off",
"no-empty-function": "error",
"no-eq-null": "error",
"no-eval": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-label": "error",
"no-extra-parens": "off",
"no-floating-decimal": "error",
"no-implicit-coercion": ["error", {"boolean": false}],
"no-implicit-globals": "error",
"no-implied-eval": "error",
"no-inline-comments": "off",
"no-invalid-this": "off",
"no-iterator": "error",
"no-label-var": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-lonely-if": "error",
"no-loop-func": "error",
"no-magic-numbers": "off",
"no-mixed-requires": "error",
"no-multi-spaces": "error",
"no-multi-str": "error",
"no-multiple-empty-lines": "error",
"no-native-reassign": "error",
"no-negated-condition": "off",
"no-nested-ternary": "off",
"no-new": "error",
"no-new-func": "error",
"no-new-object": "error",
"no-new-require": "error",
"no-new-wrappers": "error",
"no-octal-escape": "error",
"no-param-reassign": "off",
"no-path-concat": "error",
"no-plusplus": "error",
"no-process-env": "off",
"no-process-exit": "error",
"no-proto": "error",
"no-restricted-globals": "error",
"no-restricted-imports": "error",
"no-restricted-modules": "error",
"no-restricted-syntax": "error",
"no-return-assign": "error",
"no-script-url": "error",
"no-self-compare": "error",
"no-sequences": "error",
"no-shadow": "off",
"no-shadow-restricted-names": "error",
"no-spaced-func": "error",
"no-sync": "error",
"no-ternary": "off",
"no-throw-literal": "off",
"no-trailing-spaces": "error",
"no-undef-init": "error",
"no-undefined": "off",
"no-underscore-dangle": "off",
"no-unmodified-loop-condition": "error",
"no-unneeded-ternary": "error",
"no-unused-expressions": ["error", { "allowShortCircuit": true, "allowTernary": true }],
"no-use-before-define": "error",
"no-useless-call": "error",
"no-useless-concat": "error",
"no-useless-constructor": "error",
"no-useless-escape": "error",
"no-var": "off",
"no-void": "error",
"no-warning-comments": "off",
"no-whitespace-before-property": "error",
"no-with": "error",
"object-curly-spacing": "off",
"object-shorthand": "off",
"one-var": "off",
"one-var-declaration-per-line": "error",
"operator-assignment": "error",
"operator-linebreak": ["error", "after"],
"padded-blocks": "off",
"prefer-arrow-callback": "off",
"prefer-const": "off",
"prefer-reflect": "off",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "off",
"quote-props": "off",
"quotes": [
"error",
"single",
{ "allowTemplateLiterals": true }
],
"radix": [
"error",
"always"
],
"require-jsdoc": "off",
"require-yield": "error",
"semi": "error",
"semi-spacing": "error",
"sort-imports": "error",
"sort-vars": "off",
"space-before-blocks": "error",
"space-before-function-paren": "error",
"space-in-parens": [
"error",
"never"
],
"space-infix-ops": "error",
"space-unary-ops": "error",
"spaced-comment": "error",
"strict": "error",
"template-curly-spacing": [
"error",
"never"
],
"valid-jsdoc": ["error", {"requireReturn": false}],
"vars-on-top": "off",
"wrap-iife": "error",
"wrap-regex": "error",
"yield-star-spacing": "error",
"yoda": [
"error",
"never",
{exceptRange: true}
]
}
}
Oh the issues is highlighted by the github editor in red. .eslintrc
files are proper JSON.
Ah, dah.... :)
I translated the file to JSON from JS with find and replace and did not notice that there were errors in it...
Thank you for pointing that out.
Great job @rvarbanov and @MiguelCastillo. but when will we see this available on the next relase?
One of the problems with Brackets is that developers are relying on it, and then have to spend lots of time contributing to it, and debugging it. I really love Brackets and Interactive Linter. But something like the eslinter not being up-to-date is really bad. I was having trouble with it for quite some time, and only now did I realise (with your help) that it was outdated.
Maybe we could, at least, find a way to highlight these issues. console.warn at least, that a new version of the linter should be compiled.
@josegoncalveswho I agree. I am going to publish shortly. I am going to check if we are out of date in case we should do a last minute update.
Thanks, really appreciate the investment in time. If there is anything you need done, I'm glad to help, with whatever free time I can find. I made some contributions to zaggino's bracket git extension, and am happy to contribute in any way I can.
well - that's wonderful to know. I can always use a hand. Especially for things that are of interest or somewhat blocking you you are most welcome to submit PRs for. I want to verify if the version of eslint we have in master is the latest. If it is, then great. If its not and you have time to submit a PR, that would be great. Also, adding a small passage about the new requirements for naming conventions of eslint config files. It is now eslintrc.json
. That change is one reason I haven't published to the plugin repository. Would you be interested in either of those things?