Coder Social home page Coder Social logo

atom-linter-xo's Introduction

linter-xo

Linter for XO

Install

$ apm install linter-xo

Or, Settings → Install → Search for linter-xo.

Usage

Just write some code.

Settings can be found in the Linter package settings. XO config should be defined in package.json.

Note that it will only lint when XO is a dependency/devDependency in package.json.
This is to ensure it doesn't activate and conflict on projects using another linter, like ESLint.
We're considering a way to manually enable XO.

Fix

Automagically fix many of the linter issues by running XO: Fix in the Command Palette.

Fix on save

You can also have it fix the code when you save the file. (Only when XO is used in the project)

Enable it by going to; Settings → Packages → linter-xo → Settings, and then checking Fix On Save.

atom-linter-xo's People

Contributors

antonniklasson avatar barrythepenguin avatar bojand avatar brianpattison avatar cvx avatar jfmengels avatar jonathanrdelgado avatar lukeed avatar marionebl avatar matheuss avatar pvdlg avatar rowno avatar sindresorhus avatar sonicdoe avatar steelbrain avatar wmertens 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atom-linter-xo's Issues

Uncaught TypeError: Path must be a string. Received null

Atom Version: 1.12.4
Electron Version: 1.3.9
System: Microsoft Windows 8.1
Thrown From: linter-xo package, v0.20.0

Stack Trace

Uncaught TypeError: Path must be a string. Received null

At G:\Applications\Atom\app-1.12.4\resources\app.asar\src\pane.js:1030

TypeError: Path must be a string. Received null
    at assertPath (path.js:7:11)
    at Object.join (path.js:466:7)
    at findPkg (file:///G:/Applications/Atom/.atom/packages/linter-xo/index.js:30:26)
    at file:///G:/Applications/Atom/.atom/packages/linter-xo/index.js:161:19
    at Function.module.exports.Emitter.simpleDispatch (G:\Applications\Atom\app-1.12.4\resources\app.asar\node_modules\event-kit\lib\emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (G:\Applications\Atom\app-1.12.4\resources\app.asar\node_modules\event-kit\lib\emitter.js:129:28)
    at TextBuffer.module.exports.TextBuffer.saveAs (G:\Applications\Atom\app-1.12.4\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1132:20)
    at TextBuffer.module.exports.TextBuffer.save (G:\Applications\Atom\app-1.12.4\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1124:19)
    at TextEditor.module.exports.TextEditor.save (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\text-editor.js:871:26)
    at Pane.module.exports.Pane.saveItem (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\pane.js:738:18)
    at Pane.saveItem (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\pane.js:3:59)
    at Pane.module.exports.Pane.saveActiveItem (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\pane.js:721:19)
    at Workspace.module.exports.Workspace.saveActivePaneItem (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\workspace.js:693:35)
    at atom-workspace.core:save (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\register-default-commands.js:222:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\command-registry.js:259:29)
    at G:\Applications\Atom\app-1.12.4\resources\app.asar\src\command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (G:\Applications\Atom\app-1.12.4\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (G:\Applications\Atom\app-1.12.4\resources\app.asar\node_modules\atom-keymap\lib\keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (G:\Applications\Atom\app-1.12.4\resources\app.asar\src\window-event-handler.js:3:59)

Commands

  2x -0:37.2.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "audioBeep": false,
    "autoHideMenuBar": true,
    "automaticallyUpdate": false,
    "closeEmptyWindows": false,
    "disabledPackages": [
      "tab-preview",
      "file-icons"
    ],
    "openEmptyEditorOnStart": false,
    "telemetryConsent": "limited",
    "themes": [
      "flexible-ui",
      "bionis-dark-syntax"
    ],
    "warnOnLargeFileLimit": 2
  }
}

Installed Packages

# User
atom-hipster-ui, v0.1.0 (inactive)
atom-html-preview, v0.1.22 (active)
atom-live-server, v1.2.5 (inactive)
atom-material-syntax-dark, v0.2.5 (inactive)
atom-material-syntax-light, v0.4.5 (inactive)
atom-material-ui, v1.3.6 (inactive)
atom-minify, v0.7.5 (active)
atomic-ui, v1.5.2 (inactive)
bionis-dark-syntax, v1.1.0 (active)
bionis-syntax, v1.1.0 (inactive)
chrome-color-picker, v0.8.0 (inactive)
emmet, v2.4.3 (active)
ficus-dark-syntax, v1.1.0 (inactive)
ficus-syntax, v1.1.0 (inactive)
flexible-ui, v0.10.5 (active)
genesis-ui, v0.5.0 (inactive)
github-atom-dark-syntax, v0.2.0 (inactive)
github-atom-light-syntax, v0.2.0 (inactive)
isotope-light-ui, v2.2.6 (inactive)
isotope-ui, v2.7.1 (inactive)
linter, v1.11.18 (active)
linter-csslint, v1.3.3 (active)
linter-write-good, v0.8.0 (active)
linter-xo, v0.20.0 (active)
minimap, v4.25.6 (active)
minimap-cursorline, v0.2.0 (active)
minimap-find-and-replace, v4.5.1 (active)
nord-atom-ui, v0.8.0 (inactive)
nucleus-dark-ui, v0.10.15 (inactive)
peacock-syntax, v1.4.0 (inactive)
pigments, v0.37.0 (active)
smart-tab-name, v1.0.5 (active)
solarized-dark-ui, v0.3.1 (inactive)
solarized-light-ui, v0.1.0 (inactive)
steam-pirate-ui, v0.6.1 (inactive)
svg-preview, v0.10.0 (active)
tab-title, v0.3.3 (active)
unfancy-file-icons, v0.10.0 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (inactive)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (inactive)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.46.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Some repos lint some don't

I can't find the differences as to why the linter will not report errors within Atom. Running xo linter from the command line reports errors just fine. Disabling and reinstalling both linter and linter-xo have no effect.

Is there something that I may be missing as to why certain repos would not report errors within Atom?

I was able to get linter-js-standard to work just fine with the same install steps as linter-xo in the same repo, but xo still doesn't work. I even reinstalled Atom all together. I have no .editconfig set or any .eslintrc file.

Uncaught TypeError: Cannot read property 'split' of undefined

This happens sometimes, also for my coworkers:

  1. Achieve unknown precondition
  2. Run xo-fix
  3. TypeError

Atom Version: 1.2.4
System: Mac OS X 10.11.1
Thrown From: linter-xo package, v0.10.3

Stack Trace

Uncaught TypeError: Cannot read property 'split' of undefined

At /Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:770

TypeError: Cannot read property 'split' of undefined
    at Function.module.exports.Range.fromText (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/range.js:49:19)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:549:24)
    at /Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:534:26
    at TextBuffer.module.exports.TextBuffer.transact (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:765:18)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:532:21)
    at TextBuffer.module.exports.TextBuffer.setText (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:472:19)
    at TextEditor.module.exports.TextEditor.setText (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:707:26)
    at module.exports (/Users/wmertens/.atom/packages/linter-xo/node_modules/atom-set-text/index.js:13:9)
    at atom-text-editor.XOFix (/Users/wmertens/.atom/packages/linter-xo/index.js:81:4)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:159:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:533:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:356:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:99:36)
    at HTMLDocument.<anonymous> (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -1:43.9.0 editor:select-to-end-of-word (atom-text-editor.editor.is-focused)
     -1:42.2.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused.autocomplete-active)
     -1:41.7.0 core:move-right (atom-text-editor.editor.is-focused)
     -1:41.5.0 core:move-down (atom-text-editor.editor.is-focused)
     -1:35.8.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -1:33.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:33.7.0 XO:Fix (atom-text-editor.editor)
     -1:32.4.0 refactor:done (atom-text-editor.editor.is-focused)
     -1:32.4.0 editor:newline (atom-text-editor.editor.is-focused)
     -1:31.2.0 core:undo (atom-text-editor.editor.is-focused)
  2x -1:26.1.0 core:save (atom-text-editor.editor.is-focused)
     -0:39 core:close (atom-text-editor.editor.is-focused)
     -0:37.7.0 pane:reopen-closed-item (atom-text-editor.editor.is-focused)
     -0:35.5.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:33.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:33.9.0 XO:Fix (atom-text-editor.editor)

Config

{
  "core": {
    "disabledPackages": [
      "my-package",
      "atom-terminal-panel",
      "language-coffee-script-angular",
      "pepper-autocomplete",
      "linter-tidy",
      "linter-python-pyflakes",
      "web-browser",
      "open-last-project",
      "livereload",
      "Coffeefilter",
      "language-javascript-semantic",
      "linter-coffeelint",
      "git-plus",
      "nuclide-diff-view",
      "nuclide-quick-open",
      "nuclide-remote-projects",
      "linter-eslint"
    ],
    "projectHome": "~/Documents/Projects",
    "themes": [
      "one-dark-ui",
      "solarized-light-syntax"
    ],
    "destroyEmptyPanes": false,
    "packagesWithKeymapsDisabled": [
      "animated-cursor",
      "highlight-line"
    ]
  }
}

Installed Packages

# User
atom-beautify, v0.28.19
autocomplete-clang, v0.8.8
autocomplete-modules, v1.3.1
autocomplete-python, v0.10.4
browser-plus, v0.0.54
cmd-9, v0.0.3
coffee-refactor, v0.7.0
esformatter, v1.16.0
file-icons, v1.6.12
highlight-line, v0.11.0
indent-guide-improved, v1.4.4
js-refactor, v0.6.0
language-babel, v2.5.3
language-jade, v0.6.2
last-cursor-position, v0.9.0
linter, v1.11.2
linter-xo, v0.10.3
minimap, v4.16.2
minimap-find-and-replace, v4.3.2
minimap-git-diff, v4.1.8
minimap-selection, v4.3.1
nix, v2.1.0
project-manager, v2.6.5
refactor, v0.6.0
remote-edit, v1.8.22
tab-length, v0.1.0
tab-numbers, v0.3.0
tidy-tabs, v0.3.0

# Dev
No dev packages

Error: Failed getting range

Any time I have multiple empty lines I am getting this error (one popup for each empty line).

Error: Failed getting range. This is most likely an issue with ESLint. (no-multiple-empty-lines - More than 1 blank line not allowed. at 7:2)
    at selectMessageRange (/Users/alex/.atom/packages/linter-xo/lib/format.js:73:10)
    at /Users/alex/.atom/packages/linter-xo/lib/format.js:24:12
    at Array.map (native)
    at /Users/alex/.atom/packages/linter-xo/lib/format.js:19:19

screen shot 2016-12-22 at 10 39 13 am

Installed packages:

ava/no-ignored-files doesn't seem to respect ava's "files" config

Not sure where this should go... here or in eslint-plugin-ava. I am probably doing something wrong, but I can't figure it out. I am using Atom 1.6.2, [email protected], [email protected]. My relevant package.json configs:

"ava": {
    "files": [
      "test/*.test.js"
    ]
  },
  "xo": {
    "envs": [
      "node",
      "es6"
    ],
    "esnext": true,
    "space": true,
    "rules": {
      "babel/arrow-parens": 1,
      "babel/object-curly-spacing": 0,
      "babel/object-shorthand": 1,
      "brace-style": 1,
      "no-else-return": 1,
      "no-unused-vars": 1
    }
  },
  "directories": {
    "test": "test"
  },

In case it matters, I have .babelrc:

{
  "presets": ["es2015"]
}

Relevant scripts:

"test": "npm run dist && ava -v",
"dist": "node ./node_modules/babel-cli/bin/babel.js lib --out-dir dist",

Installed babel:

In case it's relevant I have .eslintignore

lib/
test/
node_modules

I have a test directory and 1 test file foo.test.js. I keep getting

image

No matter what I try to set the files ava config, it doesn't help. I've even tried setting "files" within "ava/no-ignored-test-files" setting of "xo" config and it didn't help.

Any insight is appreciated.

Thanks

Cannot find module 'path-exists'

[Enter steps to reproduce below:]

  1. Open Atom

Atom Version: 1.8.0
System: Mac OS X 10.11.5
Thrown From: linter-xo package, v0.16.0

Stack Trace

Failed to activate the linter-xo package

At Cannot find module 'path-exists'

Error: Cannot find module 'path-exists'
  at Module._resolveFilename (module.js:338:15)
  at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
  at Function.Module._load (module.js:289:25)
  at Module.require (module.js:366:17)
  at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
  at Object.<anonymous> (/Users/ey/.atom/packages/linter-xo/node_modules/pkg-dir/node_modules/find-up/index.js:3:18)
  at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:313:12)
  at Module.require (module.js:366:17)
  at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
  at Object.<anonymous> (/Users/ey/.atom/packages/linter-xo/node_modules/pkg-dir/index.js:3:14)
  at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:313:12)
  at Module.require (module.js:366:17)
  at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
  at Object.<anonymous> (/Users/ey/.atom/packages/linter-xo/index.js:24:15)
  at Module._compile (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
  at Object.defineProperty.value [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:208:21)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:313:12)
  at Module.require (module.js:366:17)
  at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:715:27)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:173:16)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:156:32
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:149:26
  at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:146:34)
  at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:538:21)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:519:29
  at Config.module.exports.Config.transactAsync (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:337:18)
  at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:514:19)
  at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:497:46)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:754:28

Commands

Config

{
  "core": {
    "disabledPackages": [
      "language-gfm",
      "linter-markdown",
      "whitespace",
      "node-resolver",
      "autohide-tree-view",
      "java-generator",
      "autocomplete-html-entities",
      "linter-jscs",
      "json-schema",
      "atom-json-editor",
      "linter-csslint",
      "quick-query"
    ]
  }
}

Installed Packages

# User
MavensMate-Atom, v1.0.7
Stylus, v3.0.0
Sublime-Style-Column-Selection, v1.5.1
angularjs, v0.3.4
angularjs-snippets, v0.10.18
api-workbench, vundefined
atom-alignment, v0.12.1
atom-django, v0.3.2
atom-html-preview, v0.1.21
atom-jshint, v2.0.0
atom-python-debugger, v0.3.4
atom-react-native-autocomplete, v0.0.27
atom-react-preview, v2.0.0
atom-ternjs, v0.14.2
atomic-chrome, v0.3.0
autoclose-html, v0.23.0
autocomplete-angular-material, v0.4.0
autocomplete-modules, v1.5.2
autocomplete-paths, v1.0.2
autocomplete-php, v0.3.7
autocomplete-python, v1.8.1
autocomplete-ruby, v0.1.0
browser-plus, v0.0.60
build-cargo, v0.15.0
build-gradle, v0.6.0
color-picker, v2.1.1
css-snippets, v0.9.0
data-atom, v0.20.4
django-templates, v0.5.0
django-test-runner, v0.5.0
docblockr, v0.7.3
file-icons, v1.7.15
file-type-icons, v1.3.0
file-types, v0.5.2
git-diff-details, v1.3.0
git-log, v0.4.1
gulp-snippets, v0.6.2
highlight-column, v0.5.1
highlight-line, v0.11.1
highlight-selected, v0.11.2
imdone-atom, v1.3.29
jQuery, v1.2.4
japanese-menu, v1.8.0
javascript-snippets, v1.2.1
jshint, v1.8.5
jsonlint, v1.1.4
language-babel, vundefined
language-django, v0.1.1
language-docker, v1.1.6
language-jade, v0.7.1
language-javascript-jsx, v0.3.7
language-markdown, v0.14.1
language-mongodb, v0.3.1
language-nginx, v0.6.1
language-plantuml, v0.2.0
language-rust, v0.4.6
language-ts, v1.0.2
linter, v1.11.14
linter-bootlint, v1.0.2
linter-docker, v0.1.2
linter-eslint, vundefined
linter-htmlhint, v1.2.1
linter-javac, v1.9.4
linter-jsonlint, v1.2.5
linter-jsxhint, v0.1.2
linter-python, v2.1.7
linter-python-pep8, v0.2.0
linter-rubocop, v0.4.7
linter-ruby, v1.2.2
linter-rust, v0.4.6
linter-tslint, v0.10.0
linter-xo, v0.16.0
markdown-format, v2.5.1
markdown-preview-plus, v2.4.0
markdown-scroll-sync, v2.1.2
markdown-table-formatter, v2.8.3
markdown-themeable-pdf, v1.1.0
merge-conflicts, v1.4.4
minimap, v4.24.6
minimap-autohide, v0.10.1
minimap-bookmarks, v0.3.1
minimap-find-and-replace, v4.5.1
minimap-git-diff, v4.3.1
minimap-highlight-selected, v4.4.0
minimap-linter, v1.1.1
minimap-pigments, v0.2.1
minimap-selection, v4.4.0
node-debugger, v1.7.0
nodejs-snippets, v2.0.1
pdf-view, v0.50.0
pigments, v0.29.2
plantuml-viewer, v0.7.0
pretty-json, v1.4.1
preview-plus, v1.2.6
python-indent, v0.4.3
python-tools, v0.6.7
racer, v0.20.0
react, v0.15.0
react-es6-snippets, v0.3.0
react-snippets, v0.4.2
redux-snippets, v0.2.2
regex-railroad-diagram, v0.16.0
ruby-block, v0.3.5
rust-api-docs-helper, v0.5.1
show-ideographic-space, v1.0.1
symbols-tree-view, v0.13.2
synced-sidebar, v0.4.3
tablr, v1.3.1
tabs-to-spaces, v1.0.2
term3, v0.22.1
tornado-templates, v0.2.0
trailing-spaces, v0.3.2
tree-view-git-branch, v0.1.2
tree-view-git-status, v1.0.1
wordcount, v2.6.0

# Dev
No dev packages

Path module throws TypeError when no package.json in current project

Atom displays an error notification every time a file is opened.

screen shot 2016-11-30 at 11 30 03 am

This seems to only happen when there is no package.json file in the current project.

I think this is why:

  • In lib/get-package-path.js, when there is no package.json in the project base = null, the first path.join() call in findPkg(base) is receiving null as a first argument when it expects a string.

Package still works as expected, other than the annoying error notification every time a file is opened.

Add support for other extensions

Issuehunt badges

Right now the cli works fine with plugins and extensions. When adding for example the vue plugin I've updated my package.json with this and xo finds the issues. Yet when I open Atom I get no linter issues showing up at all.

        "plugins": [
            "vue"
        ],
        "extensions": [
            "vue"
        ]

I'm guessing this is what's causing the issue.

const SUPPORTED_SCOPES = [
	'source.js',
	'source.jsx',
	'source.js.jsx',
	'source.js.embedded.html'
];

IssueHunt Summary

Sponsors (Total: $40.00)

Become a sponsor now!

Or submit a pull request to get the deposits!

Tips

Failed to load xo-linter on win

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.5.4
System: Windows 7 64-bit
Thrown From: linter-xo package, v0.13.0

Stack Trace

Failed to load the linter-xo package

At Cannot find module 'acorn-jsx/inject'

Error: Cannot find module 'acorn-jsx/inject'
    at Module._resolveFilename (module.js:336:15)
    at Function.Module._resolveFilename (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\module-cache.js:383:52)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (C:\Users\Cini\.atom\packages\linter-xo\node_modules\xo\node_modules\eslint\node_modules\espree\espree.js:65:16)
    at Module._compile (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (C:\Users\Cini\.atom\packages\linter-xo\node_modules\xo\node_modules\eslint\lib\eslint.js:14:14)
    at Module._compile (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (C:\Users\Cini\.atom\packages\linter-xo\node_modules\xo\node_modules\eslint\lib\api.js:9:13)
    at Module._compile (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:50:27)
    at Object.<anonymous> (C:\Users\Cini\.atom\packages\linter-xo\node_modules\xo\index.js:3:14)
    at Module._compile (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (C:\Users\Cini\AppData\Local\atom\app-1.5.4\resources\app.asar\src\compile-cache.js:208:21)
    at Module.load (module.js:355:32)

Commands

Config

{
  "core": {
    "themes": [
      "nucleus-dark-ui",
      "behave-theme"
    ]
  }
}

Installed Packages

# User
behave-theme, v1.6.0
language-babel, v2.15.5
linter, v1.11.3
linter-xo, v0.13.0
nucleus-dark-ui, v0.7.10

# Dev
No dev packages

Weird auto-fixing by using XO: Fix

Here is my original code:

#! /usr/bin/env node

var needle = require('needle');
var opener = require('opener');
var pack = require('./package.json');

function fly(type, repo) {
    if (type === 'person') {
        var person = type;
        var requestUrl = 'users';
    } else if (type === 'repo') {
        var person = type;
        var requestUrl = 'repos';
    }
    var url = 'https://api.github.com/' + requestUrl + '/' + repo;

    needle.get(url, function(err, res) {
        if (!err && res.statusCode === 200) {
            var link = 'https://github.com/' + repo;
            opener(link);
            process.exit();
        } else {
            console.log('This ' + person + ' does not exist');
            process.exit();
        }
    });

Here is my config:

"xo": {
    "spaces": 4
  }

Here is the output (extremely weird):

#! /usr/bin/env node

var needle = require('needle');
var opener = require('opener');
var pack = require('./package.json');

function fly(type, repo) {
                                            if (type === 'person') {
                                                var person = type;
                                                var requestUrl = 'users';
    } else if (type === 'repo') {
                                                var person = type;
                                                var requestUrl = 'repos';
    }
                                            var url = 'https://api.github.com/' + requestUrl + '/' + repo;

                                            needle.get(url, function (err, res) {
                                                if (!err && res.statusCode === 200) {
                                                    var link = 'https://github.com/' + repo;
                                                    opener(link);
                                                    process.exit();
        } else {
                                                    console.log('This ' + person + ' does not exist');
                                                    process.exit();
        }
    });

Obviously, those tabs are extremely crazy, and I am wondering what is going on here? Anyone have this happen before?

Benchmark async vs sync base directory detection

#47 introduces async detection of the current base directory for xo to resolve from and run in. This caused some discussion about the performance implications.

To resolve this properly we should gain some data on

  • overall hit of the detection on the performance budget
  • performance comparison for both approaches
  • performance in certain conditions (e.g. shallow vs. deep file trees)

Failed to activate the linter-xo package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.10.0
Electron Version: 0.37.8
System: Ubuntu 16.04.1
Thrown From: linter-xo package, v0.17.0

Stack Trace

Failed to activate the linter-xo package

At Cannot find module 'loophole'

Error: Cannot find module 'loophole'
    at Module._resolveFilename (module.js:339:15)
    at Function.Module._resolveFilename (/usr/share/atom/resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/home/bhanu/.atom/packages/linter-xo/index.js:3:48)
    at Module._compile (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (/usr/share/atom/resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app.asar/src/package.js:718:27)
    at Package.module.exports.Package.activateNow (/usr/share/atom/resources/app.asar/src/package.js:173:16)
    at /usr/share/atom/resources/app.asar/src/package.js:156:32
    at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
    at /usr/share/atom/resources/app.asar/src/package.js:149:26
    at Package.module.exports.Package.activate (/usr/share/atom/resources/app.asar/src/package.js:146:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/usr/share/atom/resources/app.asar/src/package-manager.js:538:21)
    at /usr/share/atom/resources/app.asar/src/package-manager.js:519:29
    at Config.module.exports.Config.transactAsync (/usr/share/atom/resources/app.asar/src/config.js:337:18)
    at PackageManager.module.exports.PackageManager.activatePackages (/usr/share/atom/resources/app.asar/src/package-manager.js:514:19)
    at PackageManager.module.exports.PackageManager.activate (/usr/share/atom/resources/app.asar/src/package-manager.js:497:46)
    at /usr/share/atom/resources/app.asar/src/atom-environment.js:765:28

Commands

Config

{
  "core": {}
}

Installed Packages

# User
autocomplete-clang, v0.9.4 (inactive)
build, v0.65.0 (inactive)
busy, v0.6.0 (inactive)
color-picker, v2.2.2 (inactive)
git-time-machine, v1.5.3 (inactive)
language-ini, v1.16.0 (inactive)
linter, v1.11.16 (inactive)
linter-gcc, v0.6.15 (inactive)
linter-xo, v0.17.0 (inactive)
merge-conflicts, v1.4.4 (inactive)
pigments, v0.34.0 (inactive)
qolor, v0.2.2 (inactive)
symbols-tree-view, v0.13.2 (inactive)
term3, v0.22.1 (inactive)
tool-bar, v1.0.1 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (inactive)
archive-view, v0.61.1 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.11.2 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.1 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.41.0 (inactive)
bracket-matcher, v0.82.1 (inactive)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.39.0 (inactive)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (inactive)
image-view, v0.58.2 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (inactive)
metrics, v0.53.1 (inactive)
notifications, v0.65.0 (inactive)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.241.2 (inactive)
snippets, v1.0.2 (inactive)
spell-check, v0.67.1 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.0 (inactive)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.208.2 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.34.0 (inactive)
whitespace, v0.33.0 (inactive)
wrap-guide, v0.38.1 (inactive)
language-c, v0.52.1 (inactive)
language-clojure, v0.21.0 (inactive)
language-coffee-script, v0.47.2 (inactive)
language-csharp, v0.12.1 (inactive)
language-css, v0.37.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.42.1 (inactive)
language-html, v0.45.1 (inactive)
language-hyperlink, v0.16.0 (inactive)
language-java, v0.23.0 (inactive)
language-javascript, v0.119.0 (inactive)
language-json, v0.18.2 (inactive)
language-less, v0.29.5 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.35.0 (inactive)
language-php, v0.37.2 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.0 (inactive)
language-ruby, v0.69.0 (inactive)
language-ruby-on-rails, v0.25.0 (inactive)
language-sass, v0.56.0 (inactive)
language-shellscript, v0.22.4 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.23.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.28.0 (inactive)
language-toml, v0.18.0 (inactive)
language-xml, v0.34.9 (inactive)
language-yaml, v0.26.0 (inactive)

# Dev
No dev packages

Support monorepo setups

Given a directory structure as found in a lerna project

mono-repository
├── lerna.json
├── package.json
└── packages
    ├── a
    │   ├── index.js
    │   ├── package.json
    │   └── schema.js
    └── b
        ├── configuration
        ├── index.js
        ├── package.json
        └── readme.md

where the top-level manifest contains a dependency declaration to xo, but the nested packages do not.

Actual

Files opened in packages/**/* are not linted

Expected

Files opened in packages/**/* are linted

Analysis

This is caused by depensOnXO using only the first found manifest file to check if xo is installed or not. I'd like to extend this by searching the filetree upwards for manifest files depending on xo. Thoughts? @sindresorhus

Spammed with errors while working in an ignored test file

Service Version
Atom 1.13.0
linter-xo 0.21.2
xo 0.17.1

The following error keeps popping up every time I work in a test file.

TypeError: Cannot read property 'messages' of undefined
  at /Users/rl/.atom/packages/linter-xo/lib/format.js:38:36

My package.json xo config is:

"xo": {
    "parser": "babel-eslint",
    "env": [
      "es6",
      "browser",
      "mocha"
    ],
    "globals": [
      "assert",
      "expect"
    ],
    "ignores": [
      "test/**",
      "dist/**"
    ],
    "rules": {
      "object-curly-spacing": [
        "error",
        "always"
      ],
      "array-bracket-spacing": [
        "error",
        "always"
      ]
    }
  },

XO should be ignoring my test files, yet I still get spammed with linter errors.

image

I tried to remove test\** from ignores and it still throws errors.

Links with "babel"

I've started using this package and I've noticed that errors have a link.

new-cap

In this case "babel/new-cap" in both the message panel and the tooltip points to this page - https://github.com/jfmengels/eslint-rule-documentation/blob/master/contributing.md - as if the rule doesn't exist.

I'm not using any ES6 that would require babel/eslint so that link should point to the ESLint docs (http://eslint.org/docs/rules/new-cap), right?

Also, it would be really nice to see an example of the "rules" option... it isn't blantantly obvious (or maybe I'm just dense), but seeing an example like this would have saved me about 30 minutes of searching:

"xo": {
  "esnext": true,
  "rules" : {
    "babel/new-cap": 0
  }
}

Note: I don't think this is related to this package, but the "env" rule seems to ignore the "greasemonkey" setting. That's the reason why I ended up disabling the "new-cap" rule.

"xo": {
  "esnext": true,
  "env" : [ "browser", "greasemonkey" ]
}

Failed to load the linter-xo package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 0.187.0
System: linux 3.13.0-66-generic
Thrown From: linter-xo package, v0.12.0

Stack Trace

Failed to load the linter-xo package

At /home/anb/.atom/packages/linter-xo/index.js:2
import path from 'path';
^^^^^^
Unexpected reserved word

/home/anb/.atom/packages/linter-xo/index.js:2
import path from 'path';
^^^^^^
SyntaxError: Unexpected reserved word
    at exports.runInThisContext (vm.js:75:16)
    at Module._compile (module.js:458:25)
    at Object.loadFile [as .js] (/usr/share/atom/resources/app/src/babel.js:162:21)
    at Module.load (module.js:370:32)
    at Function.Module._load (module.js:325:12)
    at Module.require (module.js:380:17)
    at require (module.js:399:17)
    at Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app/src/package.js:672:34)
    at /usr/share/atom/resources/app/src/package.js:189:28
    at Package.module.exports.Package.measure (/usr/share/atom/resources/app/src/package.js:167:15)

Commands

Config

{
  "core": {
    "disabledPackages": [
      "tabs",
      "tree-view"
    ],
    "themes": [
      "one-light-ui",
      "atom-light-syntax"
    ]
  }
}

Installed Packages

# User
linter-xo, v0.12.0
minimap, v4.13.2

# Dev
No dev packages

Configuration via package.json not supported?

Hi there,

It's good to see this coming down the pipe, since XO (+ esnext) matches my preferred coding style.
I have configured my project to set the esnext flag via package.json, and it seems to work when invoking xo manually - but Atom is complaining about the first line of my library, which is a const declaration (Unexpected token const (undefined)).

I noticed this plugin is just using xo's lintText method - perhaps that doesn't allow it to account for rules provided anywhere outside a given file?

Disable for projects not using xo

I have a project which doesn't use xo, but linter-xo still lints my files. Is there a way for linter-xo to detect which projects uses it? I feel like I'm missing something obvious.

Failed to load the linter-xo Package : foo is defined but never user

/home/beya/.atom/packages/linter-xo/index.js:2
import path from 'path';
^^^^^^
SyntaxError: Unexpected reserved word
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:435:25)
at Object.loadFile as .js
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 Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app.asar/src/package.js:709:34)
at /usr/share/atom/resources/app.asar/src/package.js:188:28
at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:165:15)

XO doesn't run after update to Linter v.2

I updated Atom to use Linter v2 earlier in the day, and since then, the plugin no longer provides linting information, when a few seconds before it was working perfectly:

image

I'm running atom v1.14.4, linter-xo v.0.21.2.

Linter is very slow

linter-xo isnt working

Hey, for some reason linter-xo isnt working for me. I also have linter installed.

Any idea what I can do to troubleshoot?

Thanks!

Does not lint files that are ignored from version control

We have certain assets in our Ruby of Rails project that are not included in source control, but may need to be edited occasionally.

Not sure if this was a design decision, or simply overlooked.

Opening this issue to see if it's simple enough to include, possibly with a configuration option if others do not want this enabled (although then they just never care to open those files, so it should be fine), or at least to see if this enhancement/bugfix would be in line with the project's direction.

"Cannot find module 'eslint-config-xo-react'"

If I try to use eslint-config-xo-react the linter complains it can't load the module.

The stack trace goes through ~/.atom, I assume it's not trying the node_modules of the project. From the command line, xo works fine.

Am I missing some configuration?

package.json:

  "devDependencies": {
    "eslint": "^1.9.0",
    "eslint-config-xo-react": "^0.3.0",
    "eslint-plugin-react": "^3.9.0",
    "xo": "^0.11.1"
  },
  "xo": {
    "esnext": true,
    "semicolon": false,
    "env": [
      "browser",
      "mocha",
      "webpack"
    ],
    "extends": "eslint-config-xo-react"
  },

ignores in package.json not recognized properly

It seems that the ignores in the package.json aren't recognized properly:

  "xo": {
    "esnext": true,
    "globals": [
      "atom"
    ],
    "ignores": [
      "atom/**",
      "spec/**"
    ]
  }

Leads to the following output on command line (cwd = project-root):

$ xo
$

But the xo-linter still reports errors. I could provide a screenshot, but i guess that's not necessary.

Error during installation: 'warning: possible EventEmitter memory leak detected. 11 error listeners ...'

Environment

OS: Windows 10
Atom -v:

Atom    : 1.12.6
Electron: 1.3.9
Chrome  : 52.0.2743.82
Node    : 6.5.0

Problem

Trying to install this linter through: apm install linter-xo
This is what I get:

> [email protected] install C:\Users\Giacomo\AppData\Local\Temp\apm-install-dir-116114-5988-eh894t\node_modules\
linter-xo\node_modules\buffer-offset-index
> node-gyp rebuild


C:\Users\Giacomo\AppData\Local\Temp\apm-install-dir-116114-5988-eh894t\node_modules\linter-xo\node_modules\buffer-offset
-index>if not defined npm_config_node_gyp (node "C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_m
odules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\Giacomo\AppDat
a\Local\atom\app-1.12.6\resources\app\apm\bin\\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )
C:\Users\Giacomo\AppData\Local\Temp\apm-install-dir-116114-5988-eh894t
`-- (empty)


(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to i
ncrease limit.
Trace
    at TLSSocket.addListener (events.js:239:17)
    at TLSSocket.Readable.on (_stream_readable.js:673:33)
    at Request.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\npm-registry-c
lient\lib\request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\request\
request.js:823:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:502:7)
    at onSocketNT (_http_client.js:514:5)
gyp ERR! configure error
gyp ERR! stack Error: Python executable "C:\Users\Giacomo\AppData\Local\Programs\Python\Python35\python.EXE" is v3.5.1,
which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\n
ode-gyp\lib\configure.js:454:14)
gyp ERR! stack     at C:\Users\Giacomo\AppData\Local\atom\app-1.12.6\resources\app\apm\node_modules\node-gyp\lib\configu
re.js:443:9
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:204:7)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at maybeClose (internal/child_process.js:827:16)
gyp ERR! stack     at Socket.<anonymous> (internal/child_process.js:319:11)
gyp ERR! stack     at emitOne (events.js:77:13)
gyp ERR! stack     at Socket.emit (events.js:169:7)
gyp ERR! stack     at Pipe._onclose (net.js:477:12)
gyp ERR! System Windows_NT 10.0.14931
gyp ERR! command "C:\\Users\\Giacomo\\AppData\\Local\\atom\\app-1.12.6\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\
Giacomo\\AppData\\Local\\atom\\app-1.12.6\\resources\\app\\apm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Giacomo\AppData\Local\Temp\apm-install-dir-116114-5988-eh894t\node_modules\linter-xo\node_modules\
buffer-offset-index
gyp ERR! node -v v4.4.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Giacomo\AppData\Local\Temp\apm-install-dir-116114-5988
-eh894t\package.json'
npm WARN apm-install-dir-116114-5988-eh894t No description
npm WARN apm-install-dir-116114-5988-eh894t No repository field.
npm WARN apm-install-dir-116114-5988-eh894t No README data
npm WARN apm-install-dir-116114-5988-eh894t No license field.
npm ERR! Windows_NT 10.0.14931
npm ERR! argv "C:\\Users\\Giacomo\\AppData\\Local\\atom\\app-1.12.6\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\Gia
como\\AppData\\Local\\atom\\app-1.12.6\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\U
sers\\Giacomo\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\Giacomo\\.atom\\.apmrc" "install" "C:\\Users\\Giacomo\\Ap
pData\\Local\\Temp\\d-116114-5988-1lhu3xi\\package.tgz" "--runtime=electron" "--target=1.3.9" "--arch=ia32" "--global-st
yle"
npm ERR! node v4.4.5
npm ERR! npm  v3.10.5
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the buffer-offset-index package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs buffer-offset-index
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls buffer-offset-index
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Giacomo\AppData\Local\Temp\apm-install-dir-116114-5988-eh894t\npm-debug.log
npm ERR! code 1

PS = I was undecided if putting this huge error would have been a good thing. If it's too long I'll edit the issue.

Add command for running without having XO installed locally or a package.json

Issuehunt badges

sometimes I use XO to follow tutorials and write only a few lines of javascript, and I see an extra process to use npm and install modules


IssueHunt Summary

Sponsors (Total: $40.00)

Become a sponsor now!

Or submit a pull request to get the deposits!

Tips

Feature request: ability to only lint on save

What?

The option to only lint on save or only lint ever x seconds.

Why?

Personally I sometimes get distracted by all the warnings and errors when starting to type a expression. For example, beginning to write a comment will throw a warning saying that I'm not supposed to let comments end with a space, however I have not had the time to start typing anything. As a result I get presented with a error popup which sometimes throws me off.

Example

Cannot find module 'eslint-plugin-react'

Hi, After last update I got following error when trying to lint.

Error: Failed to load plugin react: Cannot find module 'eslint-plugin-react'
Referenced from: 
    at Module._resolveFilename (module.js:336:15)
    at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (/Applications/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.module.exports.load (/Users/AronHafner/.dotfiles/atom.symlink/packages/linter-xo/node_modules/xo/node_modules/eslint/lib/config/plugins.js:116:26)
    at Array.forEach (native)

Have solved it with install eslint-plugin-react in the packages/linter-xo/node_modules/xo path. But don't think thats a solution for the long term.

chdir bad argument

TypeError: Bad argument.
    at TypeError (native)
    at process.chdir (/Users/wmertens/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/node_modules/regenerator/node_modules/commoner/node_modules/graceful-fs/polyfills.js:18:9)
    at Object.lint (/Users/wmertens/.atom/packages/linter-xo/index.js:21:10)
    at ...

I don't have time to look into it right now but I'm reasonably sure it's because of pkgdir not finding a package.json and then chdir getting called with the wrong thing.

Throws when package.json is unparsable

This is probably an issue in linter itself, because the thrown error means you can't save files at all (e.g. to fix the broken package.json 😕). We could paper over it in linter-xo with dependsOnXO(cwd).catch(() => false) but I'm not sure if that's the right answer

Different results from atom linter to cli

If I run xo in terminal I don't get any issues for my file yet in atom I get warnings about Casting of jquery does not match the underlying filesystem. (import/no-unresolved) even thought jquery is added to my package.json.

Here's the first line in my file. I can provide more details if I know what's needed.

import {jQuery as $} from 'jquery';

I've also tried import $ from 'jquery'; and still have the same issue.

Fix on save

I saw in #7 that you chose not to add "fix on save". I think it would be a nice addition, any reason for not adding it?

Failed to activate the linter-xo package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.10.0
Electron Version: 0.37.8
System: Ubuntu 16.04.1
Thrown From: linter-xo package, v0.17.0

Stack Trace

Failed to activate the linter-xo package

At Cannot find module 'loophole'

Error: Cannot find module 'loophole'
    at Module._resolveFilename (module.js:339:15)
    at Function.Module._resolveFilename (/usr/share/atom/resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/home/bhanu/.atom/packages/linter-xo/index.js:3:48)
    at Module._compile (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.defineProperty.value [as .js] (/usr/share/atom/resources/app.asar/src/compile-cache.js:208:21)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (/usr/share/atom/resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/usr/share/atom/resources/app.asar/src/package.js:718:27)
    at Package.module.exports.Package.activateNow (/usr/share/atom/resources/app.asar/src/package.js:173:16)
    at /usr/share/atom/resources/app.asar/src/package.js:156:32
    at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
    at /usr/share/atom/resources/app.asar/src/package.js:149:26
    at Package.module.exports.Package.activate (/usr/share/atom/resources/app.asar/src/package.js:146:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/usr/share/atom/resources/app.asar/src/package-manager.js:538:21)
    at /usr/share/atom/resources/app.asar/src/package-manager.js:519:29
    at Config.module.exports.Config.transactAsync (/usr/share/atom/resources/app.asar/src/config.js:337:18)
    at PackageManager.module.exports.PackageManager.activatePackages (/usr/share/atom/resources/app.asar/src/package-manager.js:514:19)
    at PackageManager.module.exports.PackageManager.activate (/usr/share/atom/resources/app.asar/src/package-manager.js:497:46)
    at /usr/share/atom/resources/app.asar/src/atom-environment.js:765:28

Commands

Config

{
  "core": {}
}

Installed Packages

# User
autocomplete-clang, v0.9.4 (inactive)
build, v0.65.0 (inactive)
busy, v0.6.0 (inactive)
color-picker, v2.2.2 (inactive)
git-time-machine, v1.5.3 (inactive)
language-ini, v1.16.0 (inactive)
linter, v1.11.16 (inactive)
linter-gcc, v0.6.15 (inactive)
linter-xo, v0.17.0 (inactive)
merge-conflicts, v1.4.4 (inactive)
pigments, v0.34.0 (inactive)
qolor, v0.2.2 (inactive)
symbols-tree-view, v0.13.2 (inactive)
term3, v0.22.1 (inactive)
tool-bar, v1.0.1 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (inactive)
archive-view, v0.61.1 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.11.2 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.1 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.41.0 (inactive)
bracket-matcher, v0.82.1 (inactive)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.39.0 (inactive)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (inactive)
image-view, v0.58.2 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (inactive)
metrics, v0.53.1 (inactive)
notifications, v0.65.0 (inactive)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.241.2 (inactive)
snippets, v1.0.2 (inactive)
spell-check, v0.67.1 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.0 (inactive)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.208.2 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.34.0 (inactive)
whitespace, v0.33.0 (inactive)
wrap-guide, v0.38.1 (inactive)
language-c, v0.52.1 (inactive)
language-clojure, v0.21.0 (inactive)
language-coffee-script, v0.47.2 (inactive)
language-csharp, v0.12.1 (inactive)
language-css, v0.37.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.42.1 (inactive)
language-html, v0.45.1 (inactive)
language-hyperlink, v0.16.0 (inactive)
language-java, v0.23.0 (inactive)
language-javascript, v0.119.0 (inactive)
language-json, v0.18.2 (inactive)
language-less, v0.29.5 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.35.0 (inactive)
language-php, v0.37.2 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.0 (inactive)
language-ruby, v0.69.0 (inactive)
language-ruby-on-rails, v0.25.0 (inactive)
language-sass, v0.56.0 (inactive)
language-shellscript, v0.22.4 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.23.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.28.0 (inactive)
language-toml, v0.18.0 (inactive)
language-xml, v0.34.9 (inactive)
language-yaml, v0.26.0 (inactive)

# Dev
No dev packages

Run --fix from Atom

Would be wonderful if xo --fix could be run on the current file (in a way that you can undo?) by way of menu command.

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.