What is your development setup?

I’m starting a new Meteor project and I’m trying to build a decent development environment, as I’m new to meteor and javascript at general(Coming from C++ and eclipse/gdb etc.).

Which IDE to you use? Heard good things about WebStorm and Sublime.
Which debugging framework do you use? I guess that there are different tools for client and server side.
Logging framework? How well the default meteor logging is configurable for distincting production and development
Unit-Testing framework? Looks like the default framework is decent, but I would love to hear other alternatives.

Thanks and best regards!

3 Likes

My 2 cents:

  • I use WebStorm (best IDE features in general, works with big projects) :wink:
  • you don’t need a framework for debugging, just default nodejs stuff.

You should try Sublime Text. Its very simple and You can download some cool packages like Emmet.
It helps you code:
1 example of that if You type .main-content and click Tab button on keyboard it will appear like <div class="main-content"></div> Its very simple.
Sublime has good looking UI and its very simple. Works with big projects too.
I tryed Atom , Brackets, Dreamweaver, WebStorm… But for me Sublime is best :slight_smile:

Thank you for your feedback.
I still wonder about the debugger though.
I wouldn’t want to find bugs using prints to the console. I’m sure there’s a descent debugger to both server and client side. Would love to hear suggestions :slight_smile:

I’m used to work with Chrome Console to debug my applications.
That’s just me… But you should try to find some cool debuggers on Net :smiley:
Or wait for others to comment :slight_smile:

To start with something light, Visual Studio Code / Atom if you want a free IDE.

Sublime Text if you are ok to pay. (I used to use this editor for a long time, really fast, really lightweight… But since it is not free I switched to Visual Studio Code which in my opinion has exactly all the same features, a lot of extensions, while being more regularly updated, … )

1 Like

My .02 as well

IDE: SublimeText
Debugging: Browser console and debugger (Firefox Developer Edition)

Note: Using console logging is good when first learning Meteor reactivity. You can see how many times different helpers/components are being called. I will generally drop a comment in onCreated or componentDidMount when I start developing a new complex template/component so I can stay on top of the “overreactivity” problem.

Must Have: https://github.com/msavin/Mongol-meteor-devtools lets you see your client-side model in MiniMongo.
meteor shell: Sometimes overlooked built in shell for the Meteor server.
SimpleSchema.debug = true; Is good to make sure this is enabled.

As @borntodev - I used Sublime for a long time and switch to Visual Studio Code a year or so ago and haven’t looked back.

It does that, too.

I use only terminal, Nano editor, and chrome. And I can work as fast I can imagine with them :blush:

2 Likes

Thanks!
I’m quite convinced to try Visual Studio.
Does working with ES2015 or any other blaze syntax requires special configuration?

Not especially. You may want to add some useful plugins. As far as JavaScript and Meteor are concerned, I’ve found the following useful:

  • ESLint
  • JavaScript (ES6) code snippets
  • Meteor (intellisense completion)
  • Meteor snippets
  • MeteorHelper

For Blaze spacebars, there are various handlebars plugins and of course Emmet (which I think is built-in). Similarly, lots for React, markdown, etc.

2 Likes

+1 @robfallows, nothing special is required to start using Meteor / JS, some extensions are useful but not required.

TL;DR;

In the off case we need to work offline:

  • Atom
  • Git
  • Inspecode
  • ESLint

We have completely moved to a cloud hosted environment so that we can easily replicate envs and develop from any platform we like. All of us now use Chrome as the browser and edit our code using AWS Cloud9. Each developer has a linux VM on Digital Ocean ($5/mo) that is connected directly to their own AWS/Cloud9 workspace. Every VM is setup with Meteor, Git, Nginx for LetsEncrypt SSL as Proxy to the Meteor app and all of the required libs and tools. We also use ES Lint and Inspecode. Inspecode does some pretty cool linting and code quality reporting.

We have inspecode setup to run automatically and create reports at every pull request merge.

Here is a recipe for debugging meteor in vscode: