Context: frontend-dev-bookmarks / Workflow
Tools for static analysis, pre and post processing of JavaScript files.
- Babel: Babel is a generic multi-purpose compiler for JavaScript. Using Babel you can use (and create) the next generation of JavaScript, as well as the next generation of JavaScript tooling.
- JavaScript Transpilers: What They Are & Why We Need Them: Learn how to use Babel, and what has to do with the future of JavaScript.
- Closure Compiler: The Closure Compiler parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.
- Flow: Flow is a static type checker for JavaScript. It can be used to catch common bugs in JavaScript programs before they run.
- JSCodeshift: Codemods are tools that assist large-scale, partially automatable codebase refactoring. JSCodeshift is a toolkit for running codemods over multiple JS files.
- Turbocharged JavaScript Refactoring with Codemods: Joe Lencioni describes how they used codemods to transform a large JavaScript code base at AirBnB
- JavaScript Code Linting: Linting is the process of running a program that will analyse code for potential errors.
- ESLint: The pluggable linting utility for JavaScript and JSX.
- JSHint: JSHint is a tool for more flexible static analysis of JavaScript programs.
- JSLint: JSLint is a tool for detecting errors or problems by static analysis of JavaScript programs.
- JSLint, JSHint and ESLint Error Explanations: JSLint Error Explanations is designed to help you improve your JavaScript by understanding the sometimes cryptic error messages produced by JSLint, JSHint and ESLint, and teaching you how to avoid such errors.
- Module Bundlers and Loaders: Libraries for bundling JavaScript Modules into one or several files.
- Browserify: Browserify lets you require('modules') in the browser by bundling up all of your dependencies.
- Watchify: Watch mode for browserify builds.
- Require1k: CommonJS require for the browser in 1KB, with no build needed.
- SystemJS: Universal dynamic module loader - loads ES6 modules, AMD, CommonJS and global scripts in the browser and NodeJS. Works with both Traceur and Babel.
- Modular JavaScript: A Beginners Guide to SystemJS & JSPM: The combination of jspm and SystemJS provides a unified way of installing and loading dependencies.
- Webpack: Webpack is a module bundler. It takes modules with dependencies and generates static assets representing those modules.
- Block, Element, Modifying Your JavaScript Components: Mark Dalgleish is discussing how to organize React code with BEM and build everything with Webpack.
- Developing with Docker and Webpack: Chris Harrington explains how to create a development environment with Webpack and Docker to match the production as much as possible.
- WebpackBin: A webpack code sandbox.
- crapLoader: The goal of crapLoader is to load ads, widgets or any JavaScript code with document.write in it. This library hijacks document.write and delegates the content loaded from each script into the correct position.
- require.js: RequireJS is a JavaScript file and AMD module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments.
- uRequire: The Ultimate JavaScript Module Builder & Automagical Task Runner.
- Browserify: Browserify lets you require('modules') in the browser by bundling up all of your dependencies.
- Regenerator: This package implements a source transformation that takes the proposed syntax for generators/yield from future versions of JS and spits out efficient JS-of-today (ES5) that behaves the same way.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Please provide a link back to this repository. This is not necessary for GitHub forks.