Before adding any linters, my build time averages 17 seconds for Meteor 1.3 on Windows.
Installing eslint-plugin-react has no effect on the build times.
Installing eslint-plugin-meteor almost doubles my build times to about 32 seconds.
Installing esling-config-airbnb also increases my build times to 32 seconds.
Installing all 3 increases my build times on average to 40 seconds.
It sounds like you may have made eslint and related plugins a part of your dependency chain. If this is the case, maybe install them using something like meteor npm install eslint-plugin-meteor --save-dev.
That is how I was installing (based on the guide).
I just performed a simple test. I created a new meteor app. The new blank app takes 3 seconds to build and has 4,558 files. I run meteor npm install eslint-plugin-meteor --save-dev
Afterwards, it takes 8 seconds to build and contains 15,174 files.
My current project has 11,116 files and takes 12 seconds to build on my fastest computer. After installing eslint-plugin-meteor, the build time jumps to 23 seconds and the file count is 25,896.
I’ve only tested on Windows. Is the build time proportional to the file count? Since I’m using Atom, would it be better to install the plugins globally with npm?
Here is my package.json after install eslint-plugin-meteor:
I installed Ubunto in VirtualBox on my laptop. The build time for my project is 13 seconds. After installing eslint-plugin-meteor the build time stayed at 13 seconds.
I guess this is a bug with only the Windows version of Meteor.
Thanks the global approach worked. No increase in build time. I cut my build time from over 40 seconds to 16.1.
Here’s my eslintrc.json file. I’m not sure if it is set up correctly, but it appears to work. I had to enable the global option under the Atom eslint settings.
Wouldn’t it be much better not to have to install anything related to ESLint into the app (even as a “devDependency”)?
I think ESLint is better used at the editor / IDE level, so that errors are pointed out in real time as you code in the editor and you can then fix them then and there.
I wrote about how easy it was to add ESLint support (which also comes with CSSLint, TSLint, and CoffeeLint) to an existing Visual Studio 2015 installation:
Agree.
The global approach doesn’t add to your app. Although, you still have to add an .eslintrc.json file to your project to specify application specific plugins, options and rules.