{"action":"created","issue":{"url":"https://api.github.com/repos/eslint/eslint/issues/7665","repository_url":"https://api.github.com/repos/eslint/eslint","labels_url":"https://api.github.com/repos/eslint/eslint/issues/7665/labels{/name}","comments_url":"https://api.github.com/repos/eslint/eslint/issues/7665/comments","events_url":"https://api.github.com/repos/eslint/eslint/issues/7665/events","html_url":"https://github.com/eslint/eslint/issues/7665","id":191841884,"number":7665,"title":"ESLint fails to find plugin in node_modules folder","user":{"login":"acburdine","id":5167581,"avatar_url":"https://avatars.githubusercontent.com/u/5167581?v=3","gravatar_id":"","url":"https://api.github.com/users/acburdine","html_url":"https://github.com/acburdine","followers_url":"https://api.github.com/users/acburdine/followers","following_url":"https://api.github.com/users/acburdine/following{/other_user}","gists_url":"https://api.github.com/users/acburdine/gists{/gist_id}","starred_url":"https://api.github.com/users/acburdine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acburdine/subscriptions","organizations_url":"https://api.github.com/users/acburdine/orgs","repos_url":"https://api.github.com/users/acburdine/repos","events_url":"https://api.github.com/users/acburdine/events{/privacy}","received_events_url":"https://api.github.com/users/acburdine/received_events","type":"User","site_admin":false},"labels":[{"id":246711855,"url":"https://api.github.com/repos/eslint/eslint/labels/question","name":"question","color":"d4c5f9","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-11-27T04:34:43Z","updated_at":"2016-12-06T21:59:05Z","closed_at":null,"body":"**Tell us about your environment**\r\n\r\n* **ESLint Version:** 3.11.0\r\n* **Node Version:** 4.6.0\r\n* **npm Version:** 2.15.11\r\n\r\n**What parser (default, Babel-ESLint, etc.) are you using?** \r\nDefault parser through the command line - also experienced it through the atom plugin `linter-eslint`\r\n\r\n**Please show your full configuration:**\r\n\r\n<!-- Paste your configuration below: -->\r\n```\r\nmodule.exports = {\r\n    root: true,\r\n    parserOptions: {\r\n        ecmaVersion: 6,\r\n        sourceType: 'module'\r\n    },\r\n    extends: [\r\n        'eslint:recommended',\r\n        'plugin:ember-suave/recommended'\r\n    ],\r\n    env: {\r\n        browser: true\r\n    },\r\n    rules: {\r\n        indent: ['error', 4],\r\n        'space-before-function-paren': ['error', {anonymous: 'ignore', named: 'never'}],\r\n        'object-curly-spacing': ['error', 'never'],\r\n        'array-bracket-spacing': ['error', 'never'],\r\n        'key-spacing': ['error', {mode: 'minimum'}],\r\n        'keyword-spacing': ['error', {overrides: {\r\n            'catch': {'after': true}\r\n        }}],\r\n        'ember-suave/require-access-in-comments': 'off'\r\n    },\r\n    globals: {\r\n        moment: false,\r\n        validator: false\r\n    }\r\n};\r\n```\r\n\r\n**What did you do? Please include the actual source code causing the issue.**\r\n\r\nSource code: master branch of https://github.com/TryGhost/Ghost-Admin\r\n\r\nSteps to reproduce:\r\n- clone the repo\r\n- `npm install` (verify that the eslint-plugin-ember-suave is installed into node_modules)\r\n- `eslint app`\r\n\r\n**What did you expect to happen?**\r\nI expected ESLint to run.\r\n\r\n**What actually happened? Please include the actual, raw output from ESLint.**\r\nRaw error output:\r\n```\r\nCannot find module 'eslint-plugin-ember-suave'\r\nReferenced from: /Users/acburdine/Sites/Ghost/eslint-bug-test/Ghost-Admin/.eslintrc.js\r\nError: Cannot find module 'eslint-plugin-ember-suave'\r\nReferenced from: /Users/acburdine/Sites/Ghost/eslint-bug-test/Ghost-Admin/.eslintrc.js\r\n    at Object.resolve (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/util/module-resolver.js:74:19)\r\n    at resolve (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config/config-file.js:473:33)\r\n    at load (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config/config-file.js:495:26)\r\n    at /Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config/config-file.js:391:36\r\n    at Array.reduceRight (native)\r\n    at applyExtends (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config/config-file.js:362:28)\r\n    at Object.load (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config/config-file.js:529:22)\r\n    at loadConfig (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config.js:63:33)\r\n    at getLocalConfig (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config.js:130:29)\r\n    at Config.options.env.globals.Config.getConfig (/Users/acburdine/.nvm/versions/node/v4.6.0/lib/node_modules/eslint/lib/config.js:256:22)\r\n```\r\n\r\n**Additional Information:**\r\nI also experienced the same issue with https://github.com/jgwhite/ember-sortable (after adding the same config). Initially I thought this was because both depended indirectly on `eslint` through `ember-cli-eslint`, and that does fix the issue with atom-linter, but I think the issue is related to node's resolution process.\r\n\r\nPotential related issue: #7083 "},"comment":{"url":"https://api.github.com/repos/eslint/eslint/issues/comments/265286080","html_url":"https://github.com/eslint/eslint/issues/7665#issuecomment-265286080","issue_url":"https://api.github.com/repos/eslint/eslint/issues/7665","id":265286080,"user":{"login":"markelog","id":945528,"avatar_url":"https://avatars.githubusercontent.com/u/945528?v=3","gravatar_id":"","url":"https://api.github.com/users/markelog","html_url":"https://github.com/markelog","followers_url":"https://api.github.com/users/markelog/followers","following_url":"https://api.github.com/users/markelog/following{/other_user}","gists_url":"https://api.github.com/users/markelog/gists{/gist_id}","starred_url":"https://api.github.com/users/markelog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markelog/subscriptions","organizations_url":"https://api.github.com/users/markelog/orgs","repos_url":"https://api.github.com/users/markelog/repos","events_url":"https://api.github.com/users/markelog/events{/privacy}","received_events_url":"https://api.github.com/users/markelog/received_events","type":"User","site_admin":false},"created_at":"2016-12-06T21:59:05Z","updated_at":"2016-12-06T21:59:05Z","body":"Obviously, but that is much more confusing than ugliness of previous approach"}}
{"actor":{"display_login":"markelog"}}