IDEs & Editors
It’s the place where you write your code is important, some devs some prefer editors and others prefer Integrated Development Environments (IDEs). While editors make for smoother and responsive performance, IDEs are generally used for more complex projects, as they offer to debug functionality and support for ALM systems which can integrate with platforms for version control and more.
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It includes support for debugging, auto-indentation, Git control, syntax highlighting, code refactoring, and more.
An open-source, lightweight text editor. Brackets have visual tools and preprocessor support. It has an inline editor, and you can live preview code, to see your changes instantly reflected in the browser.
Having that software that can automatically install, upgrade, configure and remove the packages that is maintained in the repositories. Also, package managers also look at your dependencies and make sure new versions of packages don’t break your code.
The default package manager for Node.js, although it can be used for front-end development too. It’s the largest software registry in the world, with over 1.2 million packages.
The main competitor of npm, developed by Facebook, Yarn offered some significant advantages over npm when released in 2016, although npm has since caught up considerably.
Task Runners & Module Bundlers
This module bundler enables multicore compilation, which makes it blazingly fast. Out of the box, Parcel supports JS, CSS, HTML, and file assets.
Software without documentation is any developers nightmare. Software with inadequately written documentation is arguably even worse, documentation explains how the software operates and how it should be used. But writing documentation is hard: it’s complicated, time-consuming, and boring too. Fortunately there’s are some software documentation tools which ease some of the burdens of writing documentation and make the process faster.
Docco is a quick-and-dirty documentation generator, written in Literate CoffeeScript. It produces an HTML document that displays your comments intermingled with your code. All prose is passed through Markdown, and code is passed through Highlight.js syntax highlighting.
Markup language used to annotate JS source code files, which is then used to produce documentation in formats like HTML and RTF.
Helps across the entire API life-cycle, from design to documentation. It is a set of rules and tools for describing APIs and it’s language-agnostic and readable both by humans and machines.
YUIDoc is a Node.js app that generates API docs from comments in the source code. YUIDoc supports a wide range of JS coding styles and its output is API docs formatted as a set of HTML pages.
Software testing is a necessary part of the development process and you need to figure out whether all your code works under a changing set of circumstances. It is how you can identify errors, gaps or missing requirements as compared to the actual project requirements. These testing tools come in handy because the growing complexity of apps makes it increasingly cumbersome to test software manually, these tools run a test script and generate test results automatically.
ESLint is an open-source plugin for JS and JSX, to be used mainly on the command line and all rules are plugg-able, so devs can create their own linting rules.
A JS code checker developed by Facebook, it checks your code for errors through static type annotations but needs only a minimum of such descriptions. Flow will understand the rest.
A fully automatic style guide, which leaves style debates at the door, so you can focus on more important decisions.
Debugging tools make debugging less time-consuming and difficult as they help you achieve more accurate results, a debugger tool can become your best friend in frustrating moments.
A set of tools built directly into the Google Chrome browser, the Chrome Developer Tools have multiple utilities that help you debug JS code step by step.