{"action":"created","issue":{"url":"https://api.github.com/repos/eslint/eslint/issues/5839","repository_url":"https://api.github.com/repos/eslint/eslint","labels_url":"https://api.github.com/repos/eslint/eslint/issues/5839/labels{/name}","comments_url":"https://api.github.com/repos/eslint/eslint/issues/5839/comments","events_url":"https://api.github.com/repos/eslint/eslint/issues/5839/events","html_url":"https://github.com/eslint/eslint/issues/5839","id":148059368,"number":5839,"title":"`eslint .` take longer time than a list of files","user":{"login":"trongthanh","id":234226,"avatar_url":"https://avatars.githubusercontent.com/u/234226?v=3","gravatar_id":"","url":"https://api.github.com/users/trongthanh","html_url":"https://github.com/trongthanh","followers_url":"https://api.github.com/users/trongthanh/followers","following_url":"https://api.github.com/users/trongthanh/following{/other_user}","gists_url":"https://api.github.com/users/trongthanh/gists{/gist_id}","starred_url":"https://api.github.com/users/trongthanh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trongthanh/subscriptions","organizations_url":"https://api.github.com/users/trongthanh/orgs","repos_url":"https://api.github.com/users/trongthanh/repos","events_url":"https://api.github.com/users/trongthanh/events{/privacy}","received_events_url":"https://api.github.com/users/trongthanh/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/eslint/eslint/labels/question","name":"question","color":"5319e7"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-13T13:19:51Z","updated_at":"2016-04-13T18:07:48Z","closed_at":"2016-04-13T18:07:48Z","body":"<!--\r\nThis template is for bug reports. If you are reporting a bug, please continue on. If you are here for another reason, please see below:\r\n\r\n1. To propose a new rule: http://eslint.org/docs/developer-guide/contributing/new-rules\r\n2. To request a change: http://eslint.org/docs/developer-guide/contributing/changes\r\n3. If you have any questions, please stop by our chatroom: https://gitter.im/eslint/eslint\r\n\r\nNote that leaving sections blank will make it difficult for us to troubleshoot and we may have to close the issue.\r\n-->\r\n\r\n**What version of ESLint are you using?**\r\n2.6.0\r\n**What parser (default, Babel-ESLint, etc.) are you using?**\r\ndefault\r\n**Please show your full configuration:**\r\n.eslintrc\r\n```\r\n{\"root\":true,\"extends\":\"eslint:recommended\",\"rules\":{\"block-scoped-var\":1,\"camelcase\":[2,{\"properties\":\"never\"}],\"comma-style\":[2,\"last\"],\"comma-dangle\":2,\"comma-spacing\":[2,{\"before\":false,\"after\":true}],\"curly\":[2,\"all\"],\"dot-notation\":[2,{\"allowKeywords\":true}],\"eqeqeq\":[2,\"allow-null\"],\"indent\":[2,\"tab\",{\"SwitchCase\":1}],\"linebreak-style\":[2,\"unix\"],\"new-cap\":[2,{\"capIsNew\":false}],\"no-bitwise\":2,\"no-caller\":2,\"no-console\":0,\"no-eval\":2,\"no-invalid-this\":0,\"no-iterator\":2,\"no-loop-func\":2,\"no-multi-str\":2,\"no-new\":2,\"no-proto\":2,\"no-script-url\":2,\"no-sequences\":2,\"no-shadow\":2,\"no-with\":2,\"one-var\":[2,\"never\"],\"quotes\":[2,\"single\"],\"semi\":[2,\"always\"],\"keyword-spacing\":2,\"space-before-blocks\":2,\"space-infix-ops\":2,\"space-unary-ops\":[2,{\"words\":true}],\"strict\":0,\"valid-jsdoc\":2},\"globals\":{\"google\":true},\"env\":{\"node\":true,\"browser\":true,\"jquery\":true},\"plugins\":[]}\r\n```\r\n(I think my config is not related so I minify it to avoid clutter)\r\n\r\n.eslintignore\r\n```\r\npublic/js/vendor/\r\nnode_modules/\r\n.*\r\n```\r\n**What did you do? Please include the actual source code causing the issue.**\r\nMy app is a keystone website, it is just created from a yeoman generator, so its structure will be exactly like [this demo](https://github.com/keystonejs/keystone-demo) with eslint configs at the root of the repository.\r\n\r\nThen I run the CLI command: `eslint .`\r\n\r\n**What did you expect to happen?**\r\nIt should be fast (< 2s) as there are very few JS files to process.\r\n\r\n**What actually happened? Please include the actual, raw output from ESLint.**\r\nIt took much longer (~10s) on my Macbook Air SSD. \r\nHere's debug output:\r\n```\r\n$ time eslint ./  --debug\r\n  eslint:cli Running on files +0ms\r\n  eslint:ignored-paths Looking for ignore file in /Users/thanh/work/projects/keystone.git +54ms\r\n  eslint:ignored-paths Loaded ignore file /Users/thanh/work/projects/keystone.git/.eslintignore +2ms\r\n  eslint:ignored-paths Adding /Users/thanh/work/projects/keystone.git/.eslintignore +0ms\r\n  eslint:glob-util Creating list of files to process. +1ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/gulpfile.js +9s\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/gulpfile.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/gulpfile.js +0ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +9ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +2ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +163ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +0ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +275ms\r\n  eslint:config Merging command line environment settings +1ms\r\n  eslint:config-ops Apply environment settings to config +0ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +1ms\r\n  eslint:config-ops Creating config for environment jquery +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/keystone.js +164ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/keystone.js +2ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/keystone.js +0ms\r\n  eslint:config Using config from cache +1ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/models/Enquiry.js +46ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/models/Enquiry.js +0ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/models/Enquiry.js +0ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +1ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +3ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +0ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +7ms\r\n  eslint:config Merging command line environment settings +1ms\r\n  eslint:config-ops Apply environment settings to config +0ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +1ms\r\n  eslint:config-ops Creating config for environment jquery +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/models/Post.js +34ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/models/Post.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/models/Post.js +0ms\r\n  eslint:config Using config from cache +1ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/models/PostCategory.js +35ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/models/PostCategory.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/models/PostCategory.js +0ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/models/User.js +17ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/models/User.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/models/User.js +0ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/public/js/main.js +18ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/public/js/main.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/public/js/main.js +0ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +1ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +2ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +1ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +7ms\r\n  eslint:config Merging command line environment settings +1ms\r\n  eslint:config-ops Apply environment settings to config +0ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +0ms\r\n  eslint:config-ops Creating config for environment jquery +1ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/emails.js +63ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/emails.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/emails.js +1ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +3ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +0ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +4ms\r\n  eslint:config Merging command line environment settings +2ms\r\n  eslint:config-ops Apply environment settings to config +0ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +1ms\r\n  eslint:config-ops Creating config for environment jquery +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/index.js +15ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/index.js +0ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/index.js +1ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/middleware.js +21ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/middleware.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/middleware.js +0ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/views/blog.js +46ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/views/blog.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/views/blog.js +0ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +1ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +2ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +0ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +6ms\r\n  eslint:config Merging command line environment settings +0ms\r\n  eslint:config-ops Apply environment settings to config +1ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +0ms\r\n  eslint:config-ops Creating config for environment jquery +1ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/views/contact.js +36ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/views/contact.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/views/contact.js +0ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/views/index.js +18ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/views/index.js +0ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/views/index.js +0ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/routes/views/post.js +13ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/routes/views/post.js +0ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/routes/views/post.js +0ms\r\n  eslint:config Using config from cache +0ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/templates/views/helpers/index.js +21ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/templates/views/helpers/index.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/templates/views/helpers/index.js +0ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +2ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +0ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +4ms\r\n  eslint:config Merging command line environment settings +2ms\r\n  eslint:config-ops Apply environment settings to config +0ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +0ms\r\n  eslint:config-ops Creating config for environment jquery +2ms\r\n  eslint:cli-engine Processing /Users/thanh/work/projects/keystone.git/updates/0.0.1-admins.js +70ms\r\n  eslint:cli-engine Linting /Users/thanh/work/projects/keystone.git/updates/0.0.1-admins.js +1ms\r\n  eslint:config Constructing config for /Users/thanh/work/projects/keystone.git/updates/0.0.1-admins.js +1ms\r\n  eslint:config Using .eslintrc and package.json files +0ms\r\n  eslint:config Loading /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading config file: /Users/thanh/work/projects/keystone.git/.eslintrc +0ms\r\n  eslint:config-file Loading /usr/local/lib/node_modules/eslint/conf/eslint.json +2ms\r\n  eslint:config-file Loading JSON config file: /usr/local/lib/node_modules/eslint/conf/eslint.json +2ms\r\n  eslint:config Using /Users/thanh/work/projects/keystone.git/.eslintrc +5ms\r\n  eslint:config Merging command line environment settings +1ms\r\n  eslint:config-ops Apply environment settings to config +0ms\r\n  eslint:config-ops Creating config for environment node +0ms\r\n  eslint:config-ops Creating config for environment browser +1ms\r\n  eslint:config-ops Creating config for environment jquery +0ms\r\n  eslint:cli-engine Linting complete in: 10296ms +9ms\r\n\r\nreal\t0m10.772s\r\nuser\t0m9.398s\r\nsys\t0m1.036s\r\n```\r\nWhen I tried running the command with a list of folders and files instead of the dot (./), it take really fast. For example, I can lint all my JS files with this command instead:\r\n```\r\n$ time eslint models/ public/ routes/ templates/ updates/ gulpfile.js keystone.js\r\n\r\nreal\t0m1.794s\r\nuser\t0m1.730s\r\nsys\t0m0.139s\r\n```\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/eslint/eslint/issues/comments/209572411","html_url":"https://github.com/eslint/eslint/issues/5839#issuecomment-209572411","issue_url":"https://api.github.com/repos/eslint/eslint/issues/5839","id":209572411,"user":{"login":"ilyavolodin","id":1380062,"avatar_url":"https://avatars.githubusercontent.com/u/1380062?v=3","gravatar_id":"","url":"https://api.github.com/users/ilyavolodin","html_url":"https://github.com/ilyavolodin","followers_url":"https://api.github.com/users/ilyavolodin/followers","following_url":"https://api.github.com/users/ilyavolodin/following{/other_user}","gists_url":"https://api.github.com/users/ilyavolodin/gists{/gist_id}","starred_url":"https://api.github.com/users/ilyavolodin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilyavolodin/subscriptions","organizations_url":"https://api.github.com/users/ilyavolodin/orgs","repos_url":"https://api.github.com/users/ilyavolodin/repos","events_url":"https://api.github.com/users/ilyavolodin/events{/privacy}","received_events_url":"https://api.github.com/users/ilyavolodin/received_events","type":"User","site_admin":false},"created_at":"2016-04-13T18:07:48Z","updated_at":"2016-04-13T18:07:48Z","body":"@trongthanh #5679 has been accepted as an issue that we should fix. So we agree that this is a bug. If you want to submit a PR with a fix, we would be greatful!\r\nClosing this as duplicate of #5679 "}}