Git Product home page Git Product logo

linter-eslint's Introduction

AtomLinter Website

Adding a Linter Provider

Made a linter provider? Great! We'd love to include it in our list! Just follow this step-by-step process and you're provider will make it to our webpage in no time.

  • Open the content/data/providers.yml file on GitHub.
  • Press the Pencil Icon in the upper Right Corner of the Code Preview.
  • Add your provider to the correct category, following the following structure:
- title: { linter-provider }
  url: { linter-url }
  • Save your commit, and submit your pull request.

linter-eslint's People

Contributors

albertosantini avatar aminya avatar arcanemagus avatar asaayers avatar asan avatar broberson avatar dmnd avatar greenkeeper[bot] avatar greenkeeperio-bot avatar hd-deman avatar iam4x avatar ianvs avatar ide avatar jfaissolle avatar lukashass avatar mehwww avatar nmote avatar not-an-aardvark avatar pvamshi avatar renovate-bot avatar renovate[bot] avatar rugk avatar semantic-release-bot avatar skylize avatar steelbrain avatar tschaub avatar uzitech avatar yacut avatar yamalight avatar zcei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

linter-eslint's Issues

Uncaught Error: Definition for rule 'react/jsx-uses-react' was not found.

I'm trying to use the react plugin and it throws this error. eslint and eslint-plugin-react are installed in my project folder. I absolutely need it because I have wrong unused var otherwise. Here is the content of my file to reproduce:

{
  "rules": {
    "eqeqeq": 2,
    "curly": 2,
    "quotes": "single",
    "strict": 0,
    "new-cap": false,
    "no-underscore-dangle": false,
    "eol-last": false,

    "react/display-name": 1,
    "react/jsx-boolean-value": 1,
    "react/jsx-quotes": 1,
    "react/jsx-no-undef": 1,
    "react/jsx-sort-props": 1,
    "react/jsx-sort-prop-types": 1,
    "react/jsx-uses-react": 1,
    "react/jsx-uses-vars": 1,
    "react/no-did-mount-set-state": 1,
    "react/no-did-update-set-state": 1,
    "react/no-multi-comp": 1,
    "react/no-unknown-property": 1,
    "react/prop-types": 1,
    "react/react-in-jsx-scope": 1,
    "react/self-closing-comp": 1,
    "react/wrap-multilines": 1
  },
  "env": {
    "node": true,
    "browser": true,
    "es6": true
  },
  "ecmaFeatures": {
    "modules": true,
    "jsx": true
  },
  "plugins": [
    "react"
  ]
}

Atom Version: 0.198.0
System: Microsoft Windows 8.1 Pro
Thrown From: linter-eslint package, v0.5.4

Stack Trace

Uncaught Error: Definition for rule 'react/jsx-uses-react' was not found.

At C:\octopus\egg\frontend\node_modules\eslint\lib\eslint.js:648

Error: Definition for rule 'react/jsx-uses-react' was not found.
  at C:\octopus\egg\frontend\node_modules\eslint\lib\eslint.js:648:27
  at Array.forEach (native)
  at EventEmitter.module.exports.api.verify (C:\octopus\egg\frontend\node_modules\eslint\lib\eslint.js:621:16)
  at C:\Users\Admin\.atom\packages\linter-eslint\lib\linter-eslint.coffee:84:23
  at exports.allowUnsafeNewFunction (C:\Users\Admin\.atom\packages\linter-eslint\node_modules\loophole\lib\loophole.js:25:14)
  at LinterESLint.lintFile (C:\Users\Admin\.atom\packages\linter-eslint\lib\linter-eslint.coffee:83:5)
  at C:\Users\Admin\.atom\packages\linter\lib\linter-view.coffee:163:18
  at Array.forEach (native)
  at C:\Users\Admin\.atom\packages\linter\lib\linter-view.coffee:162:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -4:59.2.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -4:59.2.0 core:cancel (atom-text-editor.editor.is-focused)
     -4:51 core:save (atom-text-editor.editor.is-focused)
     -2:27.5.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -2:27.5.0 editor:newline (atom-text-editor.editor.is-focused)
     -2:27.3.0 core:paste (atom-text-editor.editor.is-focused)
     -2:10.6.0 core:save (atom-text-editor.editor.is-focused)
     -1:14.5.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -0:45.4.0 core:close (div.settings-view.pane-item)
     -0:09.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:09.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:08.9.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:08.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:07.8.0 core:paste (atom-text-editor.editor.is-focused)
     -0:06.5.0 core:save (atom-text-editor.editor.is-focused)
     -0:03.4.0 pane:show-previous-item (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "language-babel",
      "linter-jshint",
      "linter-jsxhint",
      "refactor",
      "js-refactor",
      "language-mustache",
      "autosave"
    ],
    "destroyEmptyPanes": false
  },
  "linter-eslint": {}
}

Installed Packages

# User
autocomplete-plus, v2.13.1
emmet, v2.3.9
linter, v0.12.2
linter-eslint, v0.5.4
npm-autocomplete, v0.1.2
react, v0.11.8

# Dev
No dev packages

Use local version if available

Since -g should be avoided for node modules, I always install every tool I use on each project. So I've eslint for each project. Would be nice if that the linter-* can use local version if available (in /node_modules/eslint in this case).

That would allow for example to test new version like current @es6jsx branch :)

Does not work with eslint plugin processors

Hello, I am currently writing an eslint plugin that makes use of the new processors option. However, linter-eslint doesn't seem to recognize or run the processors.

For example, my root plugin file looks something like this:

module.exports = {
  rules: {
    'my-rule': require('path/to/rule')
  },
  rulesConfig: {
    'my-rule': 2
  },
  processors: {
    '.sjs': require('path/to/processor')
  }
};

When I run eslint from the command line against a .sjs file everything works as expected, and my processor is invoked. However, when I open up Atom, the eslint linter does not run my processor.

Any ideas? Is this a bug or a feature that was omitted? It would be really great to be able to use the processor feature from within a live linter environment.

Edit: looks like the processor feature for plugins was introduced in version 0.16.0, less than a month ago. I have the latest eslint in my local node modules, and it seems linter-eslint knows to use that version, but still the feature is not compatible.

Uncaught TypeError: Cannot read property 'type' of undefined

  1. Editing the following file:
import Ember from 'ember';
import {
  moduleForComponent,
  test
} from 'ember-qunit';

moduleForComponent('colorscheme-select', 'ColorschemeSelectComponent', {
  setup: function() {
    this.container.register('view:select', Ember.Select);
  }
});

Atom Version: 0.187.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.5.0

Stack Trace

Uncaught TypeError: Cannot read property 'type' of undefined

At /Users/me/project/node_modules/eslint/lib/rules/no-unused-vars.js:43

TypeError: Cannot read property 'type' of undefined
  at isExported (/Users/me/project/node_modules/eslint/lib/rules/no-unused-vars.js:43:27)
  at EventEmitter.Program:exit (/Users/me/project/node_modules/eslint/lib/rules/no-unused-vars.js:120:70)
  at EventEmitter.emit (events.js:138:20)
  at Controller.controller.traverse.leave (/Users/me/project/node_modules/eslint/lib/eslint.js:743:25)
  at Controller.__execute (/Users/me/project/node_modules/eslint/node_modules/estraverse/estraverse.js:393:31)
  at Controller.traverse (/Users/me/project/node_modules/eslint/node_modules/estraverse/estraverse.js:481:28)
  at EventEmitter.module.exports.api.verify (/Users/me/project/node_modules/eslint/lib/eslint.js:728:24)
  at LinterESLint.lintFile (/Users/me/.atom/packages/linter-eslint/lib/linter-eslint.coffee:78:21)
  at /Users/me/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/me/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -0:47.1 editor:move-to-end-of-word (atom-text-editor.editor.mini)
     -0:46.0 core:backspace (atom-text-editor.editor.mini)
     -0:44.8 core:confirm (atom-text-editor.editor.mini)
     -0:43.8 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:43.8 core:cancel (atom-text-editor.editor.is-focused)
     -0:40.6 core:save (atom-text-editor.editor.is-focused)
  2x -0:40.1 core:close (atom-text-editor.editor.is-focused)
  4x -0:30.3 editor:move-to-beginning-of-word (atom-text-editor.editor.mini)
     -0:27.6 core:confirm (atom-text-editor.editor.mini)
  2x -0:19.3 editor:move-to-beginning-of-word (atom-text-editor.editor)
  4x -0:17.2 editor:move-to-end-of-word (atom-text-editor.editor)
  5x -0:16.0 core:move-right (atom-text-editor.editor)
  5x -0:13.7 core:move-left (atom-text-editor.editor)
     -0:12.7 core:backspace (atom-text-editor.editor)
     -0:11.6 autocomplete-plus:cancel (atom-text-editor.editor)
  3x -0:10.5 core:save (atom-text-editor.editor)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "spacegray-eighties-dark-syntax"
    ],
    "audioBeep": false,
    "disabledPackages": [
      "language-objective-c",
      "background-tips",
      "language-c",
      "language-clojure",
      "language-coffee-script",
      "language-csharp",
      "language-perl",
      "language-python",
      "language-toml"
    ]
  },
  "linter-eslint": {
    "disableWhenNoEslintrcFileInPath": true
  }
}

Installed Packages

# User
Stylus, v0.6.2
atom-beautify, v0.23.0
autocomplete-plus, v2.6.0
autocomplete-snippets, v1.2.0
docblockr, v0.6.3
editorconfig, v0.3.3
ember-snippets, v1.0.0
file-icons, v1.5.2
language-jade, v0.3.0
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.5.0
minimap, v4.6.0
react, v0.10.1
spacegray-eighties-dark-syntax, v0.7.1

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'name' of undefined

[Enter steps to reproduce below:]

  1. Just editing some fileโ€ฆ

Atom Version: 0.187.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.5.0

Stack Trace

Uncaught TypeError: Cannot read property 'name' of undefined

At /Users/me/project/node_modules/eslint/lib/rules/no-func-assign.js:42

TypeError: Cannot read property 'name' of undefined
  at checkIfIdentifierIsFunction (/Users/me/project/node_modules/eslint/lib/rules/no-func-assign.js:42:29)
  at checkIfIdentifierIsFunction (/Users/me/project/node_modules/eslint/lib/rules/no-func-assign.js:56:20)
  at checkIfIdentifierIsFunction (/Users/me/project/node_modules/eslint/lib/rules/no-func-assign.js:56:20)
  at checkIfIdentifierIsFunction (/Users/me/project/node_modules/eslint/lib/rules/no-func-assign.js:56:20)
  at EventEmitter.AssignmentExpression (/Users/me/project/node_modules/eslint/lib/rules/no-func-assign.js:73:17)
  at EventEmitter.emit (events.js:138:20)
  at Controller.controller.traverse.enter (/Users/me/project/node_modules/eslint/lib/eslint.js:735:25)
  at Controller.__execute (/Users/me/project/node_modules/eslint/node_modules/estraverse/estraverse.js:393:31)
  at Controller.traverse (/Users/me/project/node_modules/eslint/node_modules/estraverse/estraverse.js:491:28)
  at EventEmitter.module.exports.api.verify (/Users/me/project/node_modules/eslint/lib/eslint.js:728:24)
  at LinterESLint.lintFile (/Users/me/.atom/packages/linter-eslint/lib/linter-eslint.coffee:78:21)
  at /Users/me/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/me/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -1:17.8 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -1:17.8 editor:newline (atom-text-editor.editor.is-focused)
     -1:17.6 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -1:17.6 snippets:expand (atom-text-editor.editor.is-focused)
     -1:17.6 docblockr:parse-tab (atom-text-editor.editor.is-focused)
     -1:17.6 editor:indent (atom-text-editor.editor.is-focused)
     -1:17.1 core:save (atom-text-editor.editor.is-focused)
     -0:34.6 core:backspace (atom-text-editor.editor.is-focused)
     -0:33.3 core:save (atom-text-editor.editor.is-focused)
     -0:07.1 editor:toggle-line-comments (atom-text-editor.editor.is-focused)
     -0:06.6 core:save (atom-text-editor.editor.is-focused)
  2x -0:04.4 core:move-up (atom-text-editor.editor.is-focused)
     -0:03.8 core:move-down (atom-text-editor.editor.is-focused)
  7x -0:03.6 core:select-down (atom-text-editor.editor.is-focused)
  2x -0:02.1 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.5 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "spacegray-eighties-dark-syntax"
    ],
    "audioBeep": false,
    "disabledPackages": [
      "language-objective-c",
      "background-tips",
      "language-c",
      "language-clojure",
      "language-coffee-script",
      "language-csharp",
      "language-perl",
      "language-python",
      "language-toml"
    ]
  },
  "linter-eslint": {
    "disableWhenNoEslintrcFileInPath": true
  }
}

Installed Packages

# User
Stylus, v0.6.2
atom-beautify, v0.23.0
autocomplete-plus, v2.6.0
autocomplete-snippets, v1.2.0
docblockr, v0.6.3
editorconfig, v0.3.3
ember-snippets, v1.0.0
file-icons, v1.5.2
language-jade, v0.3.0
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.5.0
minimap, v4.6.0
react, v0.10.1
spacegray-eighties-dark-syntax, v0.7.1

# Dev
No dev packages

Use of `babel-eslint`

I want to switch to eslint, since JSXHint is discontinued. But I wanted use babel-eslint plugin (https://github.com/babel/babel-eslint) for that I had to add it on package.json.

linter-eslint isn't looking for eslint system wide command, it should for using plugins.

So my question is, do we try to implement system wide eslint by default? Add babel-eslint in the package for people like me?

Support for a default global .eslintrc?

If I have a project that doesn't have any .eslintrc files in it, I'd like to be able to set a global .eslintrc file somewhere common (like, in ~/.atom) as a default of last resort.

Is this possible?

Feature request: Use a default .eslintrc if one does not exist in the project

My use case is that I frequently open up JS files in different projects, or no project at all. I'd like a set of my own defaults to be in use for these, rather than the packaged default.

Yes, I can turn eslint off entirely for such cases, but I'd rather still have linting and just not have the rules set that don't match my preferences or my shop's official gudelines.

I can submit a PR if the maintainers are OK with the feature, and don't have time to work on it themselves.

Uncaught Error: Unknown node type ExportDeclaration.

[Enter steps to reproduce below:]

  1. Open a file with an exported function:
export function foo() {
}

Atom Version: 0.190.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.5.0

Stack Trace

Uncaught Error: Unknown node type ExportDeclaration.

At /Users/iv/src/vdom-example/node_modules/eslint/node_modules/escope/node_modules/estraverse/estraverse.js:511

Error: Unknown node type ExportDeclaration.
  at Controller.traverse (/Users/iv/src/vdom-example/node_modules/eslint/node_modules/escope/node_modules/estraverse/estraverse.js:511:31)
  at Object.traverse (/Users/iv/src/vdom-example/node_modules/eslint/node_modules/escope/node_modules/estraverse/estraverse.js:703:27)
  at Object.analyze (/Users/iv/src/vdom-example/node_modules/eslint/node_modules/escope/escope.js:855:20)
  at EventEmitter.module.exports.api.verify (/Users/iv/src/vdom-example/node_modules/eslint/lib/eslint.js:601:36)
  at LinterESLint.lintFile (/Users/iv/.atom/packages/linter-eslint/lib/linter-eslint.coffee:78:21)
  at /Users/iv/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/iv/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -0:25.3 vim-mode:delete (atom-text-editor.editor.vim-mode.command-mode)
     -0:25.3 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.command-mode)
     -0:25.1 vim-mode:delete (atom-text-editor.editor.vim-mode.command-mode)
     -0:25.0 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.7 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.6 vim-mode:delete (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.6 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.4 vim-mode:delete (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.3 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.1 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.0 vim-mode:delete (atom-text-editor.editor.vim-mode.command-mode)
     -0:24.0 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.command-mode)
     -0:23.7 vim-mode:delete (atom-text-editor.editor.vim-mode.command-mode)
     -0:23.6 vim-mode:move-to-next-word (atom-text-editor.editor.vim-mode.command-mode)
     -0:23.3 vim-mode:move-down (atom-text-editor.editor.vim-mode.command-mode)
  3x -0:22.6 blur (atom-text-editor.editor.vim-mode.command-mode)

Config

{
  "core": {
    "themes": [
      "one-light-ui",
      "atom-light-syntax"
    ],
    "audioBeep": false
  },
  "linter-eslint": {}
}

Installed Packages

# User
autocomplete-plus, v2.9.0
dash, v1.1.0
go-plus, v3.3.6
linter, v0.12.0
linter-eslint, v0.5.0
vim-mode, v0.43.0

# Dev
No dev packages

Feature Request: Ignore whitespace while editing

Atom automatically strips the trailing whitespace on save, so it would be nice for that to now show up while I'm editing. Not everyone on my team uses atom, so I'd prefer not to have to turn the rule off in my .eslintrc.

Uncaught Error when declaring an ES6 import statement

This error throws on every change when an ES6 import statement is in the document.

import thing from 'lib';

I have a global .eslintrc in my home dir using babel-eslint with the following config. Any idea how to fix this?

 # eslint config
parser: babel-eslint
env:
  browser: true
  node: true
  jquery: true
  meteor: true
globals:
  meteor: true
  React: true
rules:
  strict: 0
  no-undef: 0
  no-use-before-define: 0
  no-unused-vars: 0
  yoda: 0
  quotes: [0, 'single']
  semi: 0
  curly: 0
  eol-last: 0
  max-len: [1, 80]
  space-before-blocks: ['always']
  no-underscore-dangle: 0

Atom Version: 0.186.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.4.1

Stack Trace

Uncaught Error

At /Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:73

Error
  at assert (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:73:19)
  at Referencer.extend.ImportDeclaration (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1363:13)
  at Referencer.Visitor.visit (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
  at Referencer.Visitor.visitChildren (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
  at Referencer.extend.Program (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1216:18)
  at Referencer.Visitor.visit (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
  at Object.analyze (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1407:20)
  at EventEmitter.module.exports.api.verify (/Users/cw/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:623:35)
  at LinterESLint.lintFile (/Users/cw/.atom/packages/linter-eslint/lib/linter-eslint.coffee:69:21)
  at /Users/cw/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/cw/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -0:38.7 core:backspace (input.hidden-input)
     -0:38.2 core:confirm (input.hidden-input)
     -0:35.5 core:save (input.hidden-input)
     -0:30.4 core:backspace (input.hidden-input)
     -0:28.9 core:save (input.hidden-input)
     -0:23.8 core:backspace (input.hidden-input)
     -0:14.9 editor:delete-to-beginning-of-word (input.hidden-input)
  8x -0:10.8 core:backspace (input.hidden-input)
     -0:08.0 editor:move-to-end-of-screen-line (input.hidden-input)
     -0:07.5 emmet:insert-formatted-line-break-only (input.hidden-input)
     -0:07.5 docblockr:parse-enter (input.hidden-input)
     -0:07.5 editor:newline (input.hidden-input)
     -0:01.7 emmet:insert-formatted-line-break-only (input.hidden-input)
     -0:01.7 docblockr:parse-enter (input.hidden-input)
     -0:01.7 editor:newline (input.hidden-input)
     -0:00.9 core:backspace (input.hidden-input)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "oceanic-next"
    ],
    "ignoredNames": [
      ".git",
      ".hg",
      ".svn",
      ".DS_Store",
      "Thumbs.db",
      ".meteor"
    ],
    "disabledPackages": [
      "minimap",
      "welcome",
      "markdown-scroll-sync",
      "markdown-format"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
atom-terminal, v0.7.0
autocomplete-plus, v2.4.1
autocomplete-snippets, v1.0.1
docblockr, v0.6.3
emmet, v2.3.4
fancy-new-file, v0.7.0
file-types, v0.3.0
git-control, v0.1.8
language-spacebars, v0.2.2
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.4.1
linter-jsonlint, v0.1.2
meteor-api, v2.12.0
oceanic-next, v0.1.1
react, v0.9.10
terminal-panel, v1.9.2
underscorejs-snippets, v0.2.2
vim-mode, v0.36.0
vim-surround, v0.4.2

# Dev
No dev packages

Uncaught TypeError: Cannot read property '0' of undefined

[Enter steps to reproduce below:]

  1. Prepare JavaScript file with following content:
var left, aSize, bSize;

aSize = {
  width: 800,
  height: 600
};

bSize = {
  width: 200,
  height: 100
};
  1. On the next line enter the statement left = (aSize.width/2) - ()
    P.S. Should be left = (aSize.width/2) - (bSize.width/2)

Atom Version: 0.177.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.3.1

Stack Trace

Uncaught TypeError: Cannot read property '0' of undefined

At /Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/token-store.js:181

TypeError: Cannot read property '0' of undefined
  at EventEmitter.api.getTokensBetween (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/token-store.js:181:31)
  at RuleContext.(anonymous function) [as getTokensBetween] (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/rule-context.js:79:33)
  at validateBetween (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js:91:30)
  at EventEmitter.checkExpression (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js:106:9)
  at EventEmitter.emit (events.js:138:20)
  at Controller.controller.traverse.enter (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:646:25)
  at Controller.__execute (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:397:31)
  at Controller.traverse (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:495:28)
  at EventEmitter.module.exports.api.verify (/Users/Oleg/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:639:24)
  at LinterESLint.lintFile (/Users/Oleg/.atom/packages/linter-eslint/lib/linter-eslint.coffee:62:21)
  at /Users/Oleg/.atom/packages/linter/lib/linter-view.coffee:150:18
  at Array.forEach (native)
  at /Users/Oleg/.atom/packages/linter/lib/linter-view.coffee:149:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -0:31.8 editor:newline (atom-text-editor.editor.is-focused)
     -0:31.6 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:31.6 editor:newline (atom-text-editor.editor.is-focused)
  3x -0:29.7 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:25.5 core:move-left (atom-text-editor.editor.is-focused)
     -0:25.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:25.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:19.2 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:19.2 editor:newline (atom-text-editor.editor.is-focused)
     -0:16.2 core:move-down (atom-text-editor.editor.is-focused)
     -0:15.8 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:15.7 editor:newline (atom-text-editor.editor.is-focused)
     -0:15.6 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:15.6 editor:newline (atom-text-editor.editor.is-focused)
  5x -0:09.5 core:backspace (atom-text-editor.editor.is-focused)
     -0:04.3 core:move-right (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
atom-handlebars, v0.4.0
editorconfig, v0.3.0
emmet, v2.3.3
language-typescript, v0.15.0
linter, v0.11.1
linter-eslint, v0.3.1
react, v0.9.8
seti-syntax, v0.3.1
seti-ui, v0.6.3

# Dev
No dev packages

/cc @atom/core

Support for .eslintignore

Currently it looks like the plugin ignores .eslintignore files. It would be nice if it would use the file instead.

(If I inadvertently open minified jQuery, for example, the linting crashes Atom --- I'd like to be able to not lint it inadvertently when I open it inadvertently.)

Config.unobserve is deprecated.

Config::unobserve no longer does anything. Call .dispose() on the object returned by Config::observe instead.

Config.unobserve (/Applications/Atom.app/Contents/Resources/app/src/config.js:374:19)
LinterESLint.destroy (/Users/johnnyestilles/.atom/packages/linter-eslint/lib/linter-eslint.coffee:114:16)

ESLint 0.9.1

Hi, did you see that ESLint 0.9.0 and 0.9.1 were released? I was just adding some new rules to a project of mine and saw that your plugin did not use the new version. Reading the change log, the node API doesn't seem to have changed (much).

Uncaught TypeError: Cannot read property 'loc' of undefined

Below details an exception I keep seeing when I was using a ternary expression as a function argument: (with ES6 template strings)

o.url = database.mock.url(id ? `${id}` : '');

As soon as I remove the template string, it works properly again.

It appears that newer releases of ESLint (0.14+) have fixes for this particular rule, so this may be as simple as updating the eslint dependency.

Thanks! :D

Atom Version: 0.177.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.3.1

Stack Trace

Uncaught TypeError: Cannot read property 'loc' of undefined

At /Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js:73

TypeError: Cannot read property 'loc' of undefined
  at validate (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js:73:17)
  at validateBetween (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js:95:9)
  at EventEmitter.checkConditional (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/no-multi-spaces.js:117:9)
  at EventEmitter.emit (events.js:138:20)
  at Controller.controller.traverse.enter (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:646:25)
  at Controller.__execute (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:397:31)
  at Controller.traverse (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:495:28)
  at EventEmitter.module.exports.api.verify (/Users/dominic/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:639:24)
  at LinterESLint.lintFile (/Users/dominic/.atom/packages/linter-eslint/lib/linter-eslint.coffee:62:21)
  at /Users/dominic/.atom/packages/linter/lib/linter-view.coffee:150:18
  at Array.forEach (native)
  at /Users/dominic/.atom/packages/linter/lib/linter-view.coffee:149:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -2:18.6 core:move-up (input.hidden-input)
     -2:18.1 editor:delete-to-beginning-of-line (input.hidden-input)
     -2:17.9 core:backspace (input.hidden-input)
     -2:17.3 core:move-down (input.hidden-input)
     -2:15.2 core:undo (input.hidden-input)
     -2:13.5 editor:delete-to-beginning-of-line (input.hidden-input)
     -2:13.3 core:backspace (input.hidden-input)
     -2:12.7 core:move-down (input.hidden-input)
  2x -2:12.6 core:move-left (input.hidden-input)
  7x -2:10.3 core:backspace (input.hidden-input)
  2x -1:57.4 core:move-right (input.hidden-input)
     -1:54.2 core:save (input.hidden-input)
     -1:08.9 editor:delete-to-beginning-of-word (input.hidden-input)
  4x -1:08.6 core:backspace (input.hidden-input)
     -1:07.9 core:save (input.hidden-input)
  2x -0:04.1 core:close (input.hidden-input)

Config

{
  "core": {}
}

Installed Packages

# User
atom-beautify, v0.21.2
atom-color-highlight, v3.0.6
atom-handlebars, v0.4.0
color-picker, v1.4.4
docblockr, v0.5.8
emmet, v2.3.3
file-icons, v1.4.8
file-types, v0.3.0
filesize, v0.1.1
git-tab-status, v1.5.3
highlight-selected, v0.7.0
language-gitignore, v0.1.1
language-nginx, v0.4.0
linter, v0.11.1
linter-eslint, v0.3.1
svg-preview, v0.4.0
trailing-spaces, v0.2.4

# Dev
No dev packages

/cc @atom/core

Issue with Content Security Policy

Hello, I'm using eslint with https://github.com/babel/babel-eslint as parser (specified via .eslintrc). But in any js file I get

node_modules\babel-core\lib\acorn\src\identifier.js:63 Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'".

I've tried a variety of options but all my attempts failed. Maybe you can help me =)

Error: Could not find file at '...'

Hi, I've just started using your linter-eslint. Excellent work, was really looking for this!
Sometimes I get the error: Could not find file '...source.js'.
I've captured the following debug output:

image

The weird thing is that the same file sometimes works, and sometimes fails. In my configuration I'm using two linters, linter-jscs and your linter-eslint.

Do you have any idea what could be causing this?

Also, I'd would love to see this linter as part of the standard atom packages. Have you already tried submitting it, or contacting the linter-team? If not, I'd love to help, I myself and I know various others would love to see this linter as an installable package.

Uncaught TypeError: undefined is not a function

Hi there,
I am experiencing an error when trying to run use the linter-eslint plugin. This occurs since the last update. Before that it always worked fine.

  1. Open atom.io
  2. Open any .js file

Atom Version: 0.182.0
System: Microsoft Windows 8.1 Enterprise
Thrown From: linter-eslint package, v0.4.1

Stack Trace

Uncaught TypeError: undefined is not a function

At C:\Users\user\.atom\packages\linter-eslint\lib\linter-eslint.coffee:54

TypeError: undefined is not a function
  at LinterESLint.lintFile (C:\Users\user\.atom\packages\linter-eslint\lib\linter-eslint.coffee:54:38)
  at C:\Users\user\.atom\packages\linter\lib\linter-view.coffee:158:18
  at Array.forEach (native)
  at C:\Users\user\.atom\packages\linter\lib\linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -0:18.7 application:open-folder (atom-text-editor.editor)
     -0:15.7 fuzzy-finder:toggle-file-finder (atom-text-editor.editor)
     -0:05.7 core:confirm (atom-text-editor.editor.mini)

Config

{
  "core": {
    "disabledPackages": [
      "metrics",
      "git-diff"
    ]
  },
  "linter-eslint": {
    "disableWhenNoEslintrcFileInPath": true
  }
}

Installed Packages

# User
.bin, vundefined
autocomplete-paths, v1.0.2
autocomplete-plus, v2.4.0
file-icons, v1.5.0
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.4.1
linter-jsonlint, v0.1.2
linter-xmllint, v0.0.5
minimap, v4.3.1

# Dev
No dev packages

Crashes in my codebase

I am working on a SailsJS using ES6/7 syntax via babeljs. I just activated the plugin, having babel-eslint as my parser, and having installed npm i eslint babel-eslint --save-dev in the project but the plugin throws errors on a few places in my code (the ones that make atom open the red popup)

[Enter steps to reproduce below:]

  1. Use babel require hook with stage: 0 setting: https://babeljs.io/docs/usage/require/ to be able to write async/await syntax.
  2. Write any code with it.

Atom Version: 0.190.0
System: Mac OS X 10.10.3
Thrown From: linter-eslint package, v0.5.1

Stack Trace

Uncaught SyntaxError: server/api/controllers/CrawlController.js:31
async function findOrCreateProjectMeta(metas, type) {
^^^^^^^^
Unexpected token function

At server/api/controllers/CrawlController.js:31

server/api/controllers/CrawlController.js:31
async function findOrCreateProjectMeta(metas, type) {
      ^^^^^^^^
SyntaxError: Unexpected token function
  at exports.runInThisContext (vm.js:53:16)
  at Module._compile (module.js:435:25)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app/src/babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at server/node_modules/eslint/lib/load-rules.js:36:36
  at Array.forEach (native)
  at module.exports (server/node_modules/eslint/lib/load-rules.js:32:30)
  at Object.load (eslint/lib/rules.js:42:20)
  at eslint/lib/cli-engine.js:260:19
  at Array.forEach (native)
  at new CLIEngine (server/node_modules/eslint/lib/cli-engine.js:258:32)
  at LinterESLint.lintFile (/Users/markus/.atom/packages/linter-eslint/lib/linter-eslint.coffee:54:18)
  at /Users/markus/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/markus/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -6:45.6 editor:consolidate-selections (atom-text-editor.editor)
     -6:45.6 core:cancel (atom-text-editor.editor)
  3x -6:29.6 core:undo (atom-text-editor.editor)
     -4:59.3 core:confirm (atom-text-editor.editor.mini)
     -0:38.0 core:backspace (atom-text-editor.editor)
     -0:36.4 emmet:insert-formatted-line-break-only (atom-text-editor.editor)
     -0:36.4 editor:newline (atom-text-editor.editor)
     -0:35.8 core:move-down (atom-text-editor.editor)
  2x -0:35.6 core:backspace (atom-text-editor.editor)
     -0:34.7 core:move-right (atom-text-editor.editor)
     -0:08.3 core:paste (atom-text-editor.editor)
     -0:07.7 core:save (atom-text-editor.editor)

Config

{
  "core": {
    "ignoredNames": [
      ".git",
      ".svn",
      ".DS_Store"
    ],
    "disabledPackages": [
      "tabs",
      "tree-view",
      "language-sass"
    ],
    "excludeVcsIgnoredPaths": false
  },
  "linter-eslint": {
    "eslintRulesDir": "."
  }
}

Installed Packages

# User
Atom-Syntax-highlighting-for-Sass, v0.5.0
better-handlebars, v0.1.1
color-picker, v1.6.0
dash, v1.1.0
editor-stats, v0.17.0
emmet, v2.3.7
es-navigation, v0.1.5
indent-guide-ext, v0.1.0
language-docker, v1.1.3
language-javascript-better, v1.3.0
language-json5, v1.1.0
linter, v0.12.0
linter-eslint, v0.5.1
sublime-tabs, v0.5.3

# Dev
No dev packages

Catch inline rules

If I set an inline rule, linter-eslint doesn't seem to parse it yet. It would be nice if this were possible.
screen shot 2014-08-06 at 18 21 31

error after pasting char `

[8186:0318/150013:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[8222:0318/150013:INFO:renderer_main.cc(211)] Renderer process started
App load time: 393ms
[8186:0318/150015:INFO:CONSOLE(18)] "activate linter-eslint", source: /home/aleksandar/.atom/packages/linter-eslint/lib/init.coffee (18)
[8186:0318/150016:INFO:CONSOLE(79)] "Window load time: 2419ms", source: file:///usr/share/atom/resources/app/static/index.js (79)
[8186:0318/150148:ERROR:channel.cc(258)] RawChannel read error (connection broken)
The program 'atom' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 793 error_code 3 request_code 40 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Uncaught Error: Cannot find module 'eslint-plugin-react'

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.196.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.5.3

Stack Trace

Uncaught Error: Cannot find module 'eslint-plugin-react'

At module.js:330

Error: Cannot find module 'eslint-plugin-react'
  at Module._resolveFilename (module.js:328:15)
  at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
  at Function.Module._load (module.js:270:25)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at /Users/kaelan/www/laconic/node_modules/eslint/lib/cli-engine.js:107:26
  at Array.forEach (native)
  at loadPlugins (/Users/kaelan/www/laconic/node_modules/eslint/lib/cli-engine.js:98:21)
  at new CLIEngine (/Users/kaelan/www/laconic/node_modules/eslint/lib/cli-engine.js:268:5)
  at LinterESLint.lintFile (/Users/kaelan/.atom/packages/linter-eslint/lib/linter-eslint.coffee:73:22)
  at /Users/kaelan/.atom/packages/linter/lib/linter-view.coffee:163:18
  at Array.forEach (native)
  at /Users/kaelan/.atom/packages/linter/lib/linter-view.coffee:162:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -0:03.1.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "terminal",
      "tree-view-open-files",
      "linter-csslint",
      "linter-scss-lint",
      "linter-jscs",
      "eslint",
      "linter-jshint"
    ],
    "themes": [
      "flatland-dark-ui",
      "flatland-dark"
    ]
  },
  "linter-eslint": {
    "disableWhenNoEslintrcFileInPath": true
  }
}

Installed Packages

# User
angularjs, v0.1.0
auto-detect-indentation, v0.4.0
autocomplete-plus, v2.12.1
autocomplete-snippets, v1.3.0
color-picker, v1.7.0
cursor-count, v0.2.0
emmet, v2.3.8
file-icons, v1.5.4
flatland-dark, v0.1.6
flatland-dark-ui, v0.2.4
highlight-selected, v0.9.2
less-than-slash, v0.6.0
linter, v0.12.1
linter-coffeelint, v0.2.2
linter-eslint, v0.5.3
linter-less, v0.3.1
linter-pylint, v0.2.1
react, v0.11.7
white-cursor, v0.6.0

# Dev
No dev packages

Uncaught Error: Unknown node type AssignmentPattern.

Atom Version: 0.190.0
System: linux 3.19.2-1-ARCH
Thrown From: linter-eslint package, v0.5.1

Stack Trace

Uncaught Error: Unknown node type AssignmentPattern.

At /usr/share/atom/resources/app/node_modules/babel-core/node_modules/estraverse/estraverse.js:517

Error: Unknown node type AssignmentPattern.
  at Controller.traverse (/usr/share/atom/resources/app/node_modules/babel-core/node_modules/estraverse/estraverse.js:517:31)
  at Object.traverse (/usr/share/atom/resources/app/node_modules/babel-core/node_modules/estraverse/estraverse.js:709:27)
  at traverseIdentifierInPattern (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:879:20)
  at Referencer.extend.visitPattern (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1024:13)
  at Referencer.extend.visitFunction (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1047:22)
  at Referencer.extend.FunctionExpression (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1365:18)
  at Referencer.Visitor.visit (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
  at Referencer.extend.visitProperty (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1118:18)
  at Referencer.extend.MethodDefinition (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1264:18)
  at Referencer.Visitor.visit (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
  at Referencer.Visitor.visitChildren (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
  at Referencer.Visitor.visit (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
  at Referencer.extend.visitClass (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1103:18)
  at Referencer.extend.ClassDeclaration (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1294:18)
  at Referencer.Visitor.visit (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
  at Referencer.Visitor.visitChildren (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
  at Referencer.Visitor.visit (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
  at Referencer.Visitor.visitChildren (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
  at Referencer.extend.Program (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1236:18)
  at Referencer.Visitor.visit (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
  at Object.analyze (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/escope/escope.js:1430:20)
  at EventEmitter.module.exports.api.verify (/home/mythmon/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:673:35)
  at LinterESLint.lintFile (/home/mythmon/.atom/packages/linter-eslint/lib/linter-eslint.coffee:78:21)
  at /home/mythmon/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /home/mythmon/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -0:22.2 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-base16-tomorrow-dark-theme.theme-seti-ui)
     -0:11.1 editor:move-to-first-character-of-line (atom-text-editor.editor.mini)

Config

{
  "core": {
    "disabledPackages": [
      "bracket-matcher",
      "welcome",
      "symbols-view",
      "go-to-line",
      "autocomplete",
      "rst-preview",
      "bookmarks",
      "dev-live-reload",
      "link",
      "package-generator",
      "styleguide",
      "emmet",
      "linter-rst",
      "fancy-new-file",
      "wrap-lines",
      "language-jsx",
      "linter-rust",
      "wrap-guide",
      "background-tips",
      "autocomplete-plus-jedi",
      "linter-jshint"
    ],
    "autoHideMenuBar": true,
    "themes": [
      "seti-ui",
      "base16-tomorrow-dark-theme"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
atom-jinja2, v0.5.0
auto-detect-indentation, v0.4.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.7.1
editorconfig, v0.3.3
language-javascript-jsx, v0.3.1
language-restructuredtext, v0.4.0
language-rust, v0.4.3
linter, v0.12.0
linter-eslint, v0.5.1
linter-flake8, v1.3.0
omni-ruler, v0.3.1
seti-ui, v0.6.3
tree-view-open-files, v0.2.3
vim-mode, v0.43.0

# Dev
No dev packages

Support for rules from eslint plugins

Hello,
I am having an issue with loading rules from external eslint plugins. I am trying to load get the linter working with "eslint-plugin-openui5" but get an error that the definition for the rule is not found.
This is how we the plugin is loaded:

"plugins": [
"eslint-plugin-openui5"
],
"rules": {
"openui5/line-endings": 2,
}

I would really appreciate some help in fixing this problem.
Thanks

Option for only linting when .eslintrc is found

Since some projects use JSHint and other ESLint, I end up needing to turn them on and off all the time so they won't bother me.

Having an option that will only run linter-eslint when the .eslintrc file is found would fix this.

Uncaught TypeError: Cannot read property 'ecmaFeatures' of undefined

Open a JavaScript project.

Atom Version: 0.186.0
System: Mac OS X 10.10.2
Thrown From: linter-eslint package, v0.4.1

Stack Trace

Uncaught TypeError: Cannot read property 'ecmaFeatures' of undefined

At /Users/jasonkuhrt/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:344

TypeError: Cannot read property 'ecmaFeatures' of undefined
  at /Users/jasonkuhrt/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:344:34
  at Array.forEach (native)
  at prepareConfig (/Users/jasonkuhrt/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:343:33)
  at EventEmitter.module.exports.api.verify (/Users/jasonkuhrt/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:568:18)
  at LinterESLint.lintFile (/Users/jasonkuhrt/.atom/packages/linter-eslint/lib/linter-eslint.coffee:69:21)
  at /Users/jasonkuhrt/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/jasonkuhrt/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

Config

{
  "core": {
    "disabledPackages": [
      "mocha-test-runner",
      "Zen"
    ],
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
Stylus, v0.6.0
atomatigit, v1.2.3
autocomplete-plus, v2.4.1
autosave, v0.20.0
color-picker, v1.4.4
language-docker, v1.1.2
language-elm, v0.4.1
language-haskell, v1.0.0
language-jade, v0.3.0
language-purescript, v0.2.0
linter, v0.12.0
linter-coffeelint, v0.1.7
linter-eslint, v0.4.1
linter-hlint, v0.3.1
project-manager, v1.15.5
seti-syntax, v0.3.3
seti-ui, v0.6.3
toggle-tabs, v0.1.8
travis-ci-status, v0.11.2
vim-mode, v0.36.0

# Dev
No dev packages

Uncaught Error: Definition for rule 'no-param-reassign' was not found.

Code snippet which throws error

    var validateInput = function(value, min, max, defaultValue) {
      value = Math.floor(value);

      if (!value) {
        value = defaultValue;
      } else if (value < min * 1) {
        value = min;
      } else if (value > max * 1) {
        value = max;
      }

      return value * 1;
    };

Atom Version: 0.188.0
System: Microsoft Windows 7 Home Premium
Thrown From: linter-eslint package, v0.5.0

Stack Trace

Uncaught Error: Definition for rule 'no-param-reassign' was not found.

At C:\Users\Petr\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:657

Error: Definition for rule 'no-param-reassign' was not found.
  at C:\Users\Petr\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:657:27
  at Array.forEach (native)
  at EventEmitter.module.exports.api.verify (C:\Users\Petr\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:630:16)
  at LinterESLint.lintFile (C:\Users\Petr\.atom\packages\linter-eslint\lib\linter-eslint.coffee:78:21)
  at C:\Users\Petr\.atom\packages\linter\lib\linter-view.coffee:158:18
  at Array.forEach (native)
  at C:\Users\Petr\.atom\packages\linter\lib\linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

     -0:48.3 core:paste (atom-text-editor.editor)
     -0:46.1 emmet:insert-formatted-line-break-only (atom-text-editor.editor)
     -0:46.1 docblockr:parse-enter (atom-text-editor.editor)
     -0:46.1 editor:newline (atom-text-editor.editor)
     -0:40.9 core:paste (atom-text-editor.editor)
     -0:40.3 emmet:insert-formatted-line-break-only (atom-text-editor.editor)
     -0:40.3 docblockr:parse-enter (atom-text-editor.editor)
     -0:40.3 editor:newline (atom-text-editor.editor)
     -0:25.6 core:close (atom-text-editor.editor.is-focused)
     -0:23.5 emmet:insert-formatted-line-break-only (atom-text-editor.editor)
     -0:23.5 docblockr:parse-enter (atom-text-editor.editor)
     -0:23.5 editor:newline (atom-text-editor.editor)
     -0:20.7 core:move-up (atom-text-editor.editor)
     -0:20.5 core:save (atom-text-editor.editor)
     -0:11.4 core:cut (atom-text-editor.editor)
     -0:11.2 core:save (atom-text-editor.editor)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "monokai"
    ],
    "destroyEmptyPanes": false,
    "followSymlinks": true,
    "disabledPackages": [
      "autocomplete-snippets",
      "linter-jscs",
      "linter-jshint"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
atom-color-highlight, v3.0.8
autocomplete-css, v0.6.0
autocomplete-html, v0.5.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.7.0
block-travel, v1.0.2
color-picker, v1.5.0
cursor-count, v0.2.0
docblockr, v0.6.3
editorconfig, v0.3.3
emmet, v2.3.4
highlight-selected, v0.9.1
last-cursor-position, v0.7.0
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.5.0
linter-htmlhint, v0.0.10
linter-jsonlint, v0.1.2
linter-less, v0.3.1
markdown-scroll-sync, v0.3.2
monokai, v0.13.0
pretty-json, v0.3.2
save-session, v0.12.4
sync-settings, v0.2.2
tabs-to-spaces, v0.9.1

# Dev
No dev packages

Uncaught Error: Definition for rule 'space-before-function-paren' was not found.

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.188.0
System: Microsoft Windows 7 Home Premium
Thrown From: linter-eslint package, v0.5.0

Stack Trace

Uncaught Error: Definition for rule 'space-before-function-paren' was not found.

At C:\Users\Petr\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:657

Error: Definition for rule 'space-before-function-paren' was not found.
  at C:\Users\Petr\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:657:27
  at Array.forEach (native)
  at EventEmitter.module.exports.api.verify (C:\Users\Petr\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:630:16)
  at LinterESLint.lintFile (C:\Users\Petr\.atom\packages\linter-eslint\lib\linter-eslint.coffee:78:21)
  at C:\Users\Petr\.atom\packages\linter\lib\linter-view.coffee:158:18
  at Array.forEach (native)
  at C:\Users\Petr\.atom\packages\linter\lib\linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:100:15)

Commands

 12x -2:21.3 core:backspace (atom-text-editor.editor.mini)
     -1:12.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -1:01.2 core:select-all (atom-text-editor.editor.mini)
     -1:00.0 core:backspace (atom-text-editor.editor.mini)
  3x -0:57.9 core:move-down (atom-text-editor.editor.mini)
     -0:52.4 editor:consolidate-selections (atom-text-editor.editor.mini)
     -0:52.4 core:cancel (atom-text-editor.editor.mini)
  2x -0:51.9 core:move-down (atom-text-editor.editor.is-focused)
  5x -0:51.5 core:move-up (atom-text-editor.editor.is-focused)
     -0:50.6 core:move-down (atom-text-editor.editor.is-focused)
     -0:49.7 core:close (atom-text-editor.editor.is-focused)
     -0:48.9 core:move-down (div.settings-view.pane-item)
  2x -0:48.7 core:move-up (div.settings-view.pane-item)
     -0:03.8 core:save (atom-text-editor.editor.is-focused)
 26x -0:02.6 core:move-down (atom-text-editor.editor.is-focused)
 20x -0:01.1 core:move-up (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "atom-dark-ui",
      "monokai"
    ],
    "destroyEmptyPanes": false,
    "followSymlinks": true,
    "disabledPackages": [
      "autocomplete-snippets",
      "welcome",
      "deprecation-cop",
      "metrics",
      "styleguide",
      "linter-jscs",
      "linter-jshint"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
atom-color-highlight, v3.0.8
autocomplete-css, v0.6.0
autocomplete-html, v0.5.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.7.1
block-travel, v1.0.2
color-picker, v1.5.0
cursor-count, v0.2.0
docblockr, v0.6.3
editorconfig, v0.3.3
emmet, v2.3.4
highlight-selected, v0.9.1
last-cursor-position, v0.7.0
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.5.0
linter-htmlhint, v0.0.10
linter-jsonlint, v0.1.2
linter-less, v0.3.1
markdown-scroll-sync, v0.3.2
monokai, v0.13.0
pretty-json, v0.3.2
save-session, v0.12.5
sync-settings, v0.2.2
tabs-to-spaces, v0.9.2

# Dev
No dev packages

Uncaught Error: Definition for rule 'space-unary-word-ops' was not found.

This error shows constantly if no .eslintrc exists or if the space-unary-word-ops rule is not explicitly defined.

Atom Version: 0.165.0
System: Mac OS X 10.9.5
Thrown From: linter-eslint package, v0.3.0

Stack Trace

Uncaught Error: Definition for rule 'space-unary-word-ops' was not found.

At /Users/<username>/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:569

Error: Definition for rule 'space-unary-word-ops' was not found.
  at /Users/<username>/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:569:27
  at Array.forEach (native)
  at EventEmitter.module.exports.api.verify (/Users/<username>/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:545:16)
  at LinterESLint.lintFile (/Users/<username>/.atom/packages/linter-eslint/lib/linter-eslint.coffee:62:21)
  at /Users/<username>/.atom/packages/linter/lib/linter-view.coffee:138:18
  at Array.forEach (native)
  at /Users/<username>/.atom/packages/linter/lib/linter-view.coffee:137:18
  at Object.oncomplete (fs.js:93:15)

Commands

     -0:16.1 core:move-right (input.hidden-input)
     -0:13.1 editor:newline (input.hidden-input)
     -0:12.4 editor:move-to-end-of-word (input.hidden-input)
     -0:12.1 core:move-right (input.hidden-input)
     -0:11.3 core:paste (input.hidden-input)
     -0:10.3 editor:move-to-first-character-of-line (input.hidden-input)
     -0:09.8 core:paste (input.hidden-input)
  2x -0:08.7 editor:move-to-first-character-of-line (input.hidden-input)
  3x -0:07.9 core:select-down (input.hidden-input)
     -0:07.1 core:cut (input.hidden-input)
     -0:06.1 core:delete (input.hidden-input)
     -0:05.0 core:select-down (input.hidden-input)
     -0:02.2 core:backspace (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-atom-dark-syntax.theme-atom-dark-ui)
     -0:00.6 editor:select-to-first-character-of-line (input.hidden-input)
  2x -0:00.2 core:backspace (input.hidden-input)
     -0:00.0 core:save (input.hidden-input)

Config

{
  "core": {
    "audioBeep": false,
    "projectHome": "/Users/<username>/dev",
    "disabledPackages": [
      "linter-jshint",
      "atom-lint",
      "linter-scss-lint",
      "atom-jshint"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
Stylus, v0.4.0
atom-beautify, v0.17.2
atom-handlebars, v0.4.0
compare-files, v0.2.6
eslint, v0.15.0
file-icons, v1.4.3
file-types, v0.3.0
git-log, v0.2.0
indentation-indicator, v0.3.0
language-generic-config, v0.1.3
linter, v0.9.0
linter-jsonlint, v0.1.2
linter-jsxhint, v0.0.9
pretty-json, v0.3.1
react, v0.7.1
terminal-panel, v1.7.0

# Dev
No dev packages

/cc @atom/core

Uncaught SyntaxError in authentication.js

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.196.0
System: Mac OS X 10.10.3
Thrown From: linter-eslint package, v0.5.3

Stack Trace

Uncaught SyntaxError: /Users/leifdalan/Sites/boilerplate/services/authentication.js:1
(function (exports, require, module, __filename, __dirname) { import passport
^^^^^^
Unexpected reserved word

At /Users/leifdalan/Sites/boilerplate/services/authentication.js:1

/Users/leifdalan/Sites/boilerplate/services/authentication.js:1
(function (exports, require, module, __filename, __dirname) { import passport 
                                                              ^^^^^^
SyntaxError: Unexpected reserved word
  at exports.runInThisContext (vm.js:53:16)
  at Module._compile (module.js:435:25)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at /Users/leifdalan/Sites/boilerplate/node_modules/eslint/lib/load-rules.js:36:36
  at Array.forEach (native)
  at module.exports (/Users/leifdalan/Sites/boilerplate/node_modules/eslint/lib/load-rules.js:32:30)
  at Object.load (/Users/leifdalan/Sites/boilerplate/node_modules/eslint/lib/rules.js:42:20)
  at /Users/leifdalan/Sites/boilerplate/node_modules/eslint/lib/cli-engine.js:264:19
  at Array.forEach (native)
  at new CLIEngine (/Users/leifdalan/Sites/boilerplate/node_modules/eslint/lib/cli-engine.js:262:32)
  at LinterESLint.lintFile (/Users/leifdalan/.atom/packages/linter-eslint/lib/linter-eslint.coffee:55:18)
  at /Users/leifdalan/.atom/packages/linter/lib/linter-view.coffee:163:18
  at Array.forEach (native)
  at /Users/leifdalan/.atom/packages/linter/lib/linter-view.coffee:162:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -2:31.9.0 editor:consolidate-selections (atom-text-editor.editor)
     -2:31.9.0 core:cancel (atom-text-editor.editor)
     -2:14.2.0 find-and-replace:show (atom-text-editor.editor)
  2x -2:12.4.0 find-and-replace:find-next (atom-text-editor.editor.mini)
     -2:00.7.0 core:move-right (atom-text-editor.editor)
     -2:00.2.0 core:backspace (atom-text-editor.editor)
     -1:41.6.0 core:move-right (atom-text-editor.editor)
 18x -1:41.4.0 core:select-left (atom-text-editor.editor)
  2x -1:38.9.0 core:backspace (atom-text-editor.editor)
     -1:24.4.0 core:save (atom-text-editor.editor)
     -1:20.1.0 editor:consolidate-selections (atom-text-editor.editor)
     -1:20.1.0 core:cancel (atom-text-editor.editor)
  3x -1:02.8.0 core:backspace (atom-text-editor.editor)
     -0:13.4.0 editor:consolidate-selections (atom-text-editor.editor)
     -0:13.4.0 core:cancel (atom-text-editor.editor)

Config

{
  "core": {
    "ignoredNames": [
      ".git",
      ".svn",
      ".DS_Store"
    ],
    "themes": [
      "seti-ui",
      "base16-tomorrow-dark-theme"
    ],
    "disabledPackages": [
      "jsformat",
      "tabs",
      "ember-snippets",
      "language-javascript-jsx",
      "npm-autocomplete",
      "encoding-selector",
      "language-clojure",
      "language-coffee-script",
      "language-go",
      "tree-view"
    ]
  },
  "linter-eslint": {
    "disableWhenNoeslintrcFileInPath": false,
    "eslintRulesDir": "./"
  }
}

Installed Packages

# User
atom-beautify, v0.23.1
atom-handlebars, v0.4.0
autocomplete-css, v0.6.0
autocomplete-plus, v2.7.1
color-picker, v1.5.0
emmet, v2.3.7
javascript-snippets, v1.0.0
language-freemarker, v0.2.0
language-jade, v0.3.0
language-javascript-better, v1.1.0
linter, v0.12.1
linter-eslint, v0.5.3
react, v0.10.1
react-snippets, v0.1.1
seti-ui, v0.6.3
styleguide, v0.44.0
sublime-tabs, v0.5.2

# Dev
No dev packages

Linter broken ?

I install the plugin and it just doesn't work. Console prints out

activate linter-eslint
index.js:56 Window load time: 769ms

but the editor works as no linter is present. I have .eslintrc config file at the project root, so i think it's not the problem.

It's also on a fresh install of newest atom version.
How can I debug it and what to test ?

one-var rule works incorrectly

When using "one-var": [1, "never"] it acts just as if it was set to "one-var": [1, "always"]

When using eslint from CLI it works as expected.

Uncaught TypeError: Cannot read property 'value' of undefined

[Enter steps to reproduce below:]

import React, {Component, PropTypes} from "react"

export default class Contributors extends Component {

  static displayName = "Contributors"

  sta <---- THIS LOOKS LIKE IT BREAK SOMETHING :)
  static propTypes = {
    pkg: PropTypes.object.isRequired,
    contributors: PropTypes.object.isRequired,
    collections: PropTypes.object.isRequired,
    file: PropTypes.object.isRequired,
    i18n: PropTypes.object.isRequired,
  }

  render() {
    const pkg = this.props.pkg
    const i18n = this.props.i18n
    const file = this.props.file

    return (
      <div>
        Contributors
      </div>
    )
  }
}

Atom Version: 0.194.0
System: Mac OS X 10.10.3
Thrown From: linter-eslint package, v0.5.2

Stack Trace

Uncaught TypeError: Cannot read property 'value' of undefined

At /Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint-plugin-react/lib/rules/prop-types.js:50

TypeError: Cannot read property 'value' of undefined
  at isPropTypesDeclaration (/Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint-plugin-react/lib/rules/prop-types.js:50:55)
  at EventEmitter.ClassProperty (/Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint-plugin-react/lib/rules/prop-types.js:214:12)
  at emitOne (events.js:82:20)
  at EventEmitter.emit (events.js:166:7)
  at Controller.controller.traverse.enter (/Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint/lib/eslint.js:726:25)
  at Controller.__execute (/Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint/node_modules/estraverse/estraverse.js:393:31)
  at Controller.traverse (/Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint/node_modules/estraverse/estraverse.js:491:28)
  at EventEmitter.module.exports.api.verify (/Users/MoOx/Sync/Development/putaindecode/putaindecode.fr/node_modules/eslint/lib/eslint.js:719:24)
  at /Users/MoOx/setup/dotfiles/atom/packages/linter-eslint/lib/linter-eslint.coffee:84:23
  at exports.allowUnsafeNewFunction (/Users/MoOx/setup/dotfiles/atom/packages/linter-eslint/node_modules/loophole/lib/loophole.js:25:14)
  at LinterESLint.lintFile (/Users/MoOx/setup/dotfiles/atom/packages/linter-eslint/lib/linter-eslint.coffee:83:5)
  at /Users/MoOx/setup/dotfiles/atom/packages/linter/lib/linter-view.coffee:163:18
  at Array.forEach (native)
  at /Users/MoOx/setup/dotfiles/atom/packages/linter/lib/linter-view.coffee:162:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -0:14.1.0 find-and-replace:select-next (atom-text-editor.editor.is-focused)
     -0:10.8.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
  4x -0:10.6.0 core:move-down (atom-text-editor.editor.is-focused)
  2x -0:09.8.0 core:move-up (atom-text-editor.editor.is-focused)
  2x -0:09.2.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
  2x -0:08.6.0 core:select-down (atom-text-editor.editor.is-focused)
     -0:07.9.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:07.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:04.7.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:04.7.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:04.4.0 core:move-up (atom-text-editor.editor.is-focused)
  2x -0:02.8.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:01.5.0 editor:select-to-end-of-line (atom-text-editor.editor.is-focused)
     -0:00.9.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:00.7.0 core:delete (atom-text-editor.editor.is-focused)
     -0:00.2.0 core:move-down (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "projectHome": "/Users/MoOx/Sync/Development",
    "disabledPackages": [
      "language-mustache",
      "welcome",
      "language-toml",
      "language-sass",
      "language-ruby-on-rails",
      "language-ruby",
      "language-python",
      "language-php",
      "language-perl",
      "language-objective-c",
      "language-less",
      "language-java",
      "language-hyperlink",
      "language-go",
      "language-csharp",
      "language-coffee-script",
      "language-clojure",
      "language-jsx",
      "close-tags"
    ]
  }
}

Installed Packages

# User
atom-beautify, v0.24.1
atom-color-highlight, v3.0.9
atom-semicolons, v0.1.5
auto-update-packages, v0.2.2
bezier-curve-editor, v0.6.6
color-picker, v1.7.0
docblockr, v0.6.3
editorconfig, v1.0.0
file-type-icons, v0.5.4
gist-it, v0.6.10
git-log, v0.3.0
git-projects, v1.13.0
git-tab-status, v1.7.0
language-apache, v1.3.0
linter, v0.12.1
linter-eslint, v0.5.2
linter-jsonlint, v0.1.2
live-archive, v0.1.13
project-manager, v1.15.5
react, v0.11.6
term2, v0.9.5
terminal, v0.28.0
travis-ci-status, v0.13.0
web-browser, v1.4.4
yuno-commit, v0.0.2

# Dev
No dev packages

Uncaught TypeError: Cannot read property 'range' of undefined

[Enter steps to reproduce below:]

  1. ... was just editing code

Atom Version: 0.196.0
System: Mac OS X 10.10.3
Thrown From: linter-eslint package, v0.5.3

Stack Trace

Uncaught TypeError: Cannot read property 'range' of undefined

At /Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/lib/token-store.js:90

TypeError: Cannot read property 'range' of undefined
  at EventEmitter.api.getTokenBefore (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/lib/token-store.js:90:34)
  at RuleContext.(anonymous function) [as getTokenBefore] (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/lib/rule-context.js:84:33)
  at EventEmitter.ExportNamedDeclaration (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/space-in-brackets.js:248:33)
  at emitOne (events.js:82:20)
  at EventEmitter.emit (events.js:166:7)
  at Controller.controller.traverse.enter (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:726:25)
  at Controller.__execute (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:393:31)
  at Controller.traverse (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:491:28)
  at EventEmitter.module.exports.api.verify (/Users/barendb/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:719:24)
  at /Users/barendb/.atom/packages/linter-eslint/lib/linter-eslint.coffee:84:23
  at exports.allowUnsafeNewFunction (/Users/barendb/.atom/packages/linter-eslint/node_modules/loophole/lib/loophole.js:25:14)
  at LinterESLint.lintFile (/Users/barendb/.atom/packages/linter-eslint/lib/linter-eslint.coffee:83:5)
  at /Users/barendb/.atom/packages/linter/lib/linter-view.coffee:163:18
  at Array.forEach (native)
  at /Users/barendb/.atom/packages/linter/lib/linter-view.coffee:162:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -1:25 editor:toggle-line-comments (atom-text-editor.editor.is-focused)
     -1:24.6.0 core:save (atom-text-editor.editor.is-focused)
     -1:15.1.0 typescript:sync (atom-text-editor.editor.is-focused)
  2x -1:12.9.0 editor:toggle-line-comments (atom-text-editor.editor.is-focused)
     -1:02.8.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:58.1.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
  4x -0:57.8.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:52.1.0 core:save (atom-text-editor.editor.is-focused)
     -0:37.3.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
     -0:37.3.0 core:cancel (atom-text-editor.editor.is-focused)
  2x -0:32.4.0 core:delete (atom-text-editor.editor.is-focused)
     -0:23.1.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:22.8.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:21.9.0 core:save (atom-text-editor.editor.is-focused)
  2x -0:03.6.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:03.1.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "excludeVcsIgnoredPaths": false,
    "disabledPackages": [
      "linter-jshint"
    ]
  },
  "linter-eslint": {}
}

Installed Packages

# User
.bin, vundefined
atom-beautify, v0.26.2
atom-typescript, v4.1.0
atom-yeoman, v0.2.0
autocomplete-plus, v2.12.1
editorconfig, v1.0.0
language-cshtml, v0.1.1
linter, v0.12.1
linter-eslint, v0.5.3
minimap, v4.8.0
omnisharp-atom, v0.4.9
tasks, v2.0.0

# Dev
No dev packages

.eshintrc config

{
    "ecmaFeatures": {
        "arrowFunctions":true,
        "modules": true
    },
    "env": {
    "browser": true,
        "es6": true,
  },
  "globals": {

  },
  "rules": {
    "block-scoped-var": 2,
    "brace-style": [2, "stroustrup", {"allowSingleLine": true}],
    "comma-style": [2, "last"],
    "eqeqeq": [2, "smart"],
    "guard-for-in": 2,
    "key-spacing": [2, {"beforeColon": false, "afterColon": true}],
    "no-implied-eval": 2,
    "no-mixed-spaces-and-tabs": 2,
    "no-nested-ternary": 2,
    "no-reserved-keys": 2,
    "no-trailing-spaces": 2,
    "no-undef": 2,
    "no-undefined": 2,
    "no-unused-vars": [2, {"vars": "local", "args": "none"}],
    "semi": [2, "always"],
    "space-after-keywords": [2, "always", {"checkFunctionKeyword": true}],
    "space-before-blocks": [2, "always"],
    "space-in-brackets": [2, "never"],
    "space-in-parens": [2, "never"],
    "spaced-line-comment": [2, "always"],
    "strict": 2,

    "max-nested-callbacks": [1, 3],

    "camelcase": 0,
    "consistent-return": 0,
    "dot-notation": 0,
    "new-cap": 0,
    "no-alert": 0,
    "no-new": 0,
    "no-shadow": 0,
    "no-underscore-dangle": 0,
    "no-use-before-define": 0,
    "quotes": 0
  }
}

ESLint 0.10

ESLint 0.10 has been released a few days ago.

Major new feature is the ability to set custom file extensions. I imagine the CLIEngine parameter won't be usable (or needed) for this plugin, but maybe it'd be a good idea to add this option as well. In the future, ESLint will also support JSX files, so extending this plugin to also parse other extensions (like .jsx) might a good idea.

I may be able to write a PR for this, but I'm currently not sure how to easily add local packages to Atom so I can test this. (For my last PR I edited the installed package; this won't trigger a reinstall for dependencies though.)

Uncaught TypeError: undefined is not a function (key-spacing.js)

[Enter steps to reproduce below:]

  1. open .js file

Atom Version: 0.192.0
System: Mac OS X 10.10.3
Thrown From: linter-eslint package, v0.5.2

Stack Trace

Uncaught TypeError: undefined is not a function

At /Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/key-spacing.js:217

TypeError: undefined is not a function
  at verifyGroupAlignment (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/key-spacing.js:217:33)
  at /Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/key-spacing.js:251:13
  at Array.forEach (native)
  at verifyAlignment (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/key-spacing.js:250:28)
  at EventEmitter.ObjectExpression (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/rules/key-spacing.js:292:21)
  at emitOne (events.js:82:20)
  at EventEmitter.emit (events.js:166:7)
  at Controller.controller.traverse.enter (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:726:25)
  at Controller.__execute (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:393:31)
  at Controller.traverse (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/node_modules/estraverse/estraverse.js:491:28)
  at EventEmitter.module.exports.api.verify (/Users/gideon/.atom/packages/linter-eslint/node_modules/eslint/lib/eslint.js:719:24)
  at /Users/gideon/.atom/packages/linter-eslint/lib/linter-eslint.coffee:84:23
  at exports.allowUnsafeNewFunction (/Users/gideon/.atom/packages/linter-eslint/node_modules/loophole/lib/loophole.js:25:14)
  at LinterESLint.lintFile (/Users/gideon/.atom/packages/linter-eslint/lib/linter-eslint.coffee:83:5)
  at /Users/gideon/.atom/packages/linter/lib/linter-view.coffee:158:18
  at Array.forEach (native)
  at /Users/gideon/.atom/packages/linter/lib/linter-view.coffee:157:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -0:30.5 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:30.5 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:30.5 editor:newline (atom-text-editor.editor.is-focused)
     -0:30.4 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:30.4 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:30.4 editor:newline (atom-text-editor.editor.is-focused)
     -0:23.6 pane:split-right (atom-text-editor.editor.is-focused)
     -0:10.3 core:move-down (atom-text-editor.editor.is-focused)
     -0:10.2 autocomplete-plus:confirm (atom-text-editor.editor.is-focused)
  4x -0:09.2 core:move-up (atom-text-editor.editor.is-focused)
     -0:08.4 core:move-down (atom-text-editor.editor.is-focused)
     -0:08.0 core:save (atom-text-editor.editor.is-focused)
  4x -0:03.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:01.1 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:01.1 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:01.1 editor:newline (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "atom-jshint",
      "background-tips",
      "bookmarks",
      "dev-live-reload",
      "spell-check",
      "autosave",
      "linter-phpcs",
      "atomtools",
      "remote-atom",
      "styleguide",
      "grunt-runner",
      "linter-jshint",
      "linter-pylint",
      "dash",
      "svg-preview"
    ],
    "themes": [
      "unity-ui",
      "flatland-dark"
    ],
    "projectHome": "/Users/gideon/Code"
  },
  "linter-eslint": {
    "disableWhenNoEslintrcFileInPath": true
  }
}

Installed Packages

# User
atom-jasmine, v0.5.0
atom-runner, v2.3.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.10.0
autocomplete-snippets, v1.2.0
better-handlebars, v0.1.1
docblockr, v0.6.3
emmet, v2.3.7
flatland-dark, v0.1.5
highlight-selected, v0.9.1
language-blade, v0.12.0
language-docker, v1.1.3
laravel, v0.4.2
laravel-facades, v1.0.0
linter, v0.12.0
linter-csslint, v0.0.11
linter-eslint, v0.5.2
linter-php, v0.0.12
php-twig, v3.0.0
project-manager, v1.15.5
react, v0.11.4
terminal-panel, v1.10.0
unity-ui, v2.0.5
virtualenv, v0.6.2

# Dev
No dev packages

Uncaught SyntaxError in App.react.js

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.194.0
System: Mac OS X 10.10.1
Thrown From: linter-eslint package, v0.5.3

Stack Trace

Uncaught SyntaxError: /Users/cresten-admin/workspace/albert-marketplace/src/client/App.react.js:3
import DocumentTitle from 'react-document-title';
^^^^^^
Unexpected reserved word

At /Users/cresten-admin/workspace/albert-marketplace/src/client/App.react.js:3

/Users/cresten-admin/workspace/albert-marketplace/src/client/App.react.js:3
import DocumentTitle from 'react-document-title';
^^^^^^
SyntaxError: Unexpected reserved word
  at exports.runInThisContext (vm.js:53:16)
  at Module._compile (module.js:435:25)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at /Users/cresten-admin/workspace/albert-marketplace/node_modules/eslint/lib/load-rules.js:36:36
  at Array.forEach (native)
  at module.exports (/Users/cresten-admin/workspace/albert-marketplace/node_modules/eslint/lib/load-rules.js:32:30)
  at Object.load (/Users/cresten-admin/workspace/albert-marketplace/node_modules/eslint/lib/rules.js:42:20)
  at /Users/cresten-admin/workspace/albert-marketplace/node_modules/eslint/lib/cli-engine.js:264:19
  at Array.forEach (native)
  at new CLIEngine (/Users/cresten-admin/workspace/albert-marketplace/node_modules/eslint/lib/cli-engine.js:262:32)
  at LinterESLint.lintFile (/Users/cresten-admin/.atom/packages/linter-eslint/lib/linter-eslint.coffee:55:18)
  at /Users/cresten-admin/.atom/packages/linter/lib/linter-view.coffee:163:18
  at Array.forEach (native)
  at /Users/cresten-admin/.atom/packages/linter/lib/linter-view.coffee:162:18
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -0:14 application:open (atom-text-editor.editor.vim-mode.command-mode.is-focused)
     -0:02.2.0 vim-mode:move-to-start-of-file (atom-text-editor.editor.vim-mode.command-mode.is-focused)
     -0:00.8.0 core:save (atom-text-editor.editor.vim-mode.command-mode.is-focused)
     -0:00.8.0 core:close (atom-text-editor.editor.vim-mode.command-mode.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "linter-csslint",
      "linter-htmlhint",
      "linter-jshint"
    ]
  },
  "linter-eslint": {
    "eslintRulesDir": "/"
  }
}

Installed Packages

# User
angularjs, v0.1.0
atom-beautify, v0.24.1
autocomplete-plus, v2.12.1
git-diff-details, v0.18.0
git-log, v0.3.0
language-babel, v0.5.0
language-docker, v1.1.3
language-go, v0.25.0
language-todo, v0.19.0
linter, v0.12.1
linter-eslint, v0.5.3
minimap, v4.8.0
npm-autocomplete, v0.1.2
react, v0.11.7
vim-mode, v0.45.0

# Dev
No dev packages

Match eslint CLI behavior with regard to .eslintrc files in parent dirs

From what I can tell, linter-eslint seems to only find the nearest .eslintrc file, whereas the eslint CLI walks the filesystem upward and combines multiple files. For example, I do:

~/project/.eslintrc #project-wide config
~/project/test/.eslintrc #test-config, mocha env, etc
~/project/server/.eslintrc #node env, etc

With regular eslint, my pwd can be anywhere (including completely outside of ~/project) and all the .eslintrc files are found and properly interpreted.

If there's an eslint javascript API that directly matches just running eslint path/to/some/file, I'd rather have this plugin do that without adding any special rules or requirements.

Uncaught Error: Cannot find module 'es5-ext/string/#/contains'

  1. Create new project
  2. Create new JavaScript file
  3. Start adding some valid JS code like var gulp = require('gulp');
    Note No npm package installed, because its a green field project aka 'new'

Atom Version: 0.189.0
System: Microsoft Windows 7 Enterprise
Thrown From: linter-eslint package, v0.5.0

Stack Trace

Uncaught Error: Cannot find module 'es5-ext/string/#/contains'

At module.js:330

Error: Cannot find module 'es5-ext/string/#/contains'
  at Module._resolveFilename (module.js:328:15)
  at Function.Module._resolveFilename (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\module-cache.js:383:52)
  at Function.Module._load (module.js:270:25)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\node_modules\escope\node_modules\es6-weak-map\node_modules\d\index.js:6:21)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\node_modules\escope\node_modules\es6-weak-map\polyfill.js:6:25)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\node_modules\escope\node_modules\es6-weak-map\index.js:4:13)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\node_modules\escope\escope.js:67:15
  at Object.<anonymous> (C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\node_modules\escope\escope.js:1449:2)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\lib\eslint.js:12:14)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (C:\Users\denny.trebbin\.atom\packages\linter-eslint\node_modules\eslint\lib\api.js:9:13)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (C:\Users\denny.trebbin\AppData\Local\atom\app-0.189.0\resources\app\src\babel.js:162:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at LinterESLint._requireEsLint (C:\Users\denny.trebbin\.atom\packages\linter-eslint\lib\linter-eslint.coffee:28:12)
  at LinterESLint.lintFile (C:\Users\denny.trebbin\.atom\packages\linter-eslint\lib\linter-eslint.coffee:35:30)
  at C:\Users\denny.trebbin\.atom\packages\linter\lib\linter-view.coffee:158:18
  at Array.forEach (native)
  at C:\Users\denny.trebbin\.atom\packages\linter\lib\linter-view.coffee:157:18
  at C:\Users\denny.trebbin\.atom\packages\preview-plus\node_modules\chokidar\node_modules\readdirp\node_modules\graceful-fs\graceful-fs.js:104:5
  at FSReqWrap.oncomplete (fs.js:77:15)

Commands

     -2:37.0 editor:move-to-end-of-screen-line (atom-text-editor.editor)
     -2:36.7 core:backspace (atom-text-editor.editor)
  2x -2:36.1 core:move-up (atom-text-editor.editor)
     -2:35.3 core:move-down (atom-text-editor.editor)
     -2:32.8 core:save (atom-text-editor.editor)
 27x -2:32.4 core:move-down (atom-text-editor.editor)
 44x -2:30.7 core:move-up (atom-text-editor.editor)
 12x -2:27.0 core:move-down (atom-text-editor.editor)
     -1:42.0 settings-view:open (a.stack-toggle)
  8x -0:14.3 core:move-down (atom-text-editor.editor.is-focused)
  3x -0:09.5 core:move-up (atom-text-editor.editor.is-focused)
     -0:08.5 core:move-down (atom-text-editor.editor.is-focused)
  3x -0:07.3 core:move-left (atom-text-editor.editor.is-focused)
     -0:05.7 core:delete (atom-text-editor.editor.is-focused)
  3x -0:03.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:00.2 core:move-right (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "symbols-view",
      "linter-flow"
    ],
    "themes": [
      "newton-dark-ui",
      "newton-dark-syntax"
    ]
  },
  "linter-eslint": {
    "disableWhenNoEslintrcFileInPath": true
  }
}

Installed Packages

# User
atom-beautify, v0.23.1
atom-color-highlight, v3.0.8
atom-ctags, v2.6.1
atom-ternjs, v0.5.8
autocomplete-bibtex, v0.5.6
autocomplete-paths, v1.0.2
autocomplete-plus, v2.7.1
editorconfig, v0.3.3
git-tab-status, v1.6.0
highlight-column, v0.4.0
highlight-line, v0.10.1
highlight-selected, v0.9.1
linter, v0.12.0
linter-coffeelint, v0.2.1
linter-csslint, v0.0.11
linter-eslint, v0.5.0
linter-jsonlint, v0.1.2
linter-stylint, v0.4.0
newton-dark-syntax, v1.1.1
newton-dark-ui, v1.0.4
preview-plus, v1.1.19
project-manager, v1.15.5
project-palette-finder, v2.4.16
react, v0.10.1
save-session, vundefined
Stylus, v0.7.0
text-manipulation, v0.4.0

# Dev
No dev packages

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.