# JavaScript Tools
##### JS utilities:
- [lodash](https://lodash.com/)
- [underscore.js](http://underscorejs.org/)
- [Moment.js](http://momentjs.com/)
- [string.js](http://stringjs.com/)
- [Numeral.js](http://numeraljs.com/)
- [accounting.js](http://openexchangerates.github.io/accounting.js/)
- [xregexp.com](http://xregexp.com/)
- [Math.js](http://mathjs.org/)
- [wait](https://github.com/elving/wait)
- [async](https://github.com/caolan/async)
- [format.js](http://formatjs.io/)
##### Transpiling (ESX to ESX):
- [Babel](https://babeljs.io/)
##### JavaScript compatibility checker:
- [http://jscc.info/](http://jscc.info/)
##### Linting/hinting:
- [jshint](http://jshint.com/)
- [eshint](http://eslint.org/)
- [JSLint](http://www.jslint.com/)
- [jslinterrors.com](http://jslinterrors.com/)
##### Unit testing:
- [Mocha](http://mochajs.org/)
- [QUnit](http://qunitjs.com/)
- [Jasmine](http://jasmine.github.io/)
- [Jest](http://facebook.github.io/jest/)
##### Testing assertions for unit testing:
- [should.js](http://shouldjs.github.io/)
- [Chai](http://chaijs.com/)
- [expect.js](https://github.com/Automattic/expect.js)
##### Test spies, stubs, and mocks for unit testing:
- [sinon.js](http://sinonjs.org/)
##### Code style linter :
- [JSCS](http://jscs.info/)
##### Code formater/beautifier:
- [jsfmt](http://rdio.github.io/jsfmt/)
- [esformatter](https://github.com/millermedeiros/esformatter#esformatterformatstr-optsstring)
- [js-beautify](http://jsbeautifier.org/)
##### Performance testing:
- [jsperf](http://jsperf.com/)
- [benchmark.js](http://benchmarkjs.com/)
##### Visualization, static analysis, complexity, coverage tools:
- [jscomplexity.org](http://jscomplexity.org/)
- [istanbul](https://github.com/gotwarlost/istanbul)
- [Blanket.js](http://blanketjs.org/)
- [Coveralls](https://coveralls.io/) [$]
- [Plato](https://github.com/es-analysis/plato)
- [escomplex](https://github.com/jared-stilwell/escomplex)
- [Esprima](http://esprima.org/)
##### Optimizer:
- [UglifyJS 2](https://github.com/mishoo/UglifyJS2)
##### Obfuscate:
- [Javascript Obfuscator](http://www.javascriptobfuscator.com/) [free to $]
- [JScrambler](https://jscrambler.com/) [$]
##### Online js code editors:
- [jsbin.com](http://jsbin.com/)
- [jsfiddle.net](http://jsfiddle.net/)
- [es6fiddle.net](http://www.es6fiddle.net/)
##### Online Regular expression editors/visual tools:
- [regex101](https://regex101.com/)
- [regexper](http://regexper.com/)
- [debuggex](https://www.debuggex.com)
- [RegExr](http://regexr.com/)
##### Authoring conventions:
- [Node.js Style Guide](https://github.com/felixge/node-style-guide)
- [Principles of Writing Consistent, Idiomatic JavaScript](https://github.com/rwaldron/idiomatic.js)
- [Airbnb JavaScript Style Guide](http://airbnb.io/javascript/)
##### Trending JS repositories on Github this month:
[https://github.com/trending?l=javascript&since=monthly](https://github.com/trending?l=javascript&since=monthly)
##### Most depended upon packages on NPM:
[https://www.npmjs.com/browse/depended](https://www.npmjs.com/browse/depended)
- Introduction
- What is a front-end developer?
- Part I: The front-end practice
- Front-end jobs titles
- Common web tech employed
- Front-end dev skills
- Front-end devs develop for...
- Front-end on a team
- Generalist myth
- Front-end interview questions
- Front-end job boards
- Front-end salaries
- How FD's are made
- Part II: Learning front-end dev
- Self directed learning
- Learn internet/web
- Learn web browsers
- Learn DNS
- Learn HTTP/networks
- Learn web hosting
- Learn general front-end dev
- Learn UI/interaction design
- Learn HTML & CSS
- Learn SEO
- Learn JavaScript
- Learn DOM, BOM & jQuery
- Learn web fonts
- Learn accessibility
- Learn web/browser API's
- Learn JSON
- Learn front-end app architecture
- Learn Interface/API design
- Learn web dev tools
- Learn command line
- Learn node.js
- Learn module loader
- Learn package managers
- Learn version control
- Learn build & task automation
- Learn site performance optimization
- Learn JS testing
- Learn headless browsers
- Learn offline dev
- Learn security
- Learn multi-thing dev (e.g. RWD)
- Directed learning
- front-end schools, courses, & bootcamps
- Front-end devs to learn from
- Newsletters, news, & podcasts
- Part III: Front-end dev tools
- General front-end dev tools
- SEO tools
- Prototyping & wireframing tools
- Diagramming tools
- HTTP/network tools
- Code editing tools
- Browser tools
- HTML tools
- CSS tools
- DOM tools
- JavaScript tools
- App (desktop, mobile, tablet etc..) tools
- Templating tools
- UI/widget tools
- JSON tools
- Testing framework tools
- Data storage tools
- Module/package loading tools
- Module/package repo. tools
- Web/cloud/static hosting tools
- Project management & code hosting
- Collaboration & communication tools
- CMS hosted/API tools
- BAAS (for front-end devs) tools
- Offline tools
- Security tools
- Tasking (aka build) tools
- Deployment tools
- Site/app monitoring tools
- JS error monitoring tools
- Performance tools