Categories
JavaScript Package Management Tooling

Yarn: npm Has Competition

Facebook and Google released Yarn yesterday—a new package manager that uses npm's registry but promises faster, more reliable, more secure installations. The collaboration between tech giants and focus on npm's pain points suggests npm has serious problems.

Whether Yarn succeeds depends on execution and whether developers tolerate another package manager.

What Yarn Fixes

Categories
JavaScript React Tooling

Create React App: Zero Configuration Done Right

Create React App launched this week, and it's the most significant React ecosystem development since Redux. Not because of what it does—setting up React projects—but how it does it: zero configuration, hidden complexity, sane defaults.

This is Facebook acknowledging JavaScript tooling is too complex and doing something about it.

The Tooling Complexity Problem

Categories
JavaScript Node.js Tooling

npm 3: Flatter Dependencies (Finally)

npm 3 is in beta, and the biggest change is how it handles dependencies. Instead of deeply nested trees, npm 3 tries to flatten them. This seemingly small change has significant implications for how we use npm, especially for frontend code.

The Nested Dependency Problem

Categories
JavaScript Tooling Web Development

Babel: The Transpiler War Is Over

The ES6 transpiler landscape has a clear leader: Babel. Renamed from 6to5 just last month, Babel is rapidly becoming the standard way to write modern JavaScript today. After a year of Traceur vs 6to5 debates, the community is consolidating.

Why Babel Won

Categories
JavaScript Tooling Web Development

npm: The Accidental Frontend Package Manager

Something interesting is happening: developers are abandoning Bower and installing frontend dependencies with npm. This seems wrong—npm was designed for Node.js, and browser code has different constraints. But the trend is real, and understanding why reveals tensions in how we think about frontend packaging.

The Two Package Managers Problem

Categories
Build Systems JavaScript Tooling Web Development

Gulp: Code Over Configuration, or Just Different Configuration?

Gulp launched last July as an alternative to Grunt, and the pitch is compelling: write code instead of configuration, use streams for efficiency, make builds faster. After migrating several Grunt projects to Gulp, I have thoughts about what's actually different and what's just rebranded complexity.

The Configuration vs Code Argument

Categories
JavaScript Tooling Web Development Workflow

Yeoman: The Opinionated Workflow We’ve Been Avoiding

Yeoman hit 1.0 last month, and I've been watching its evolution with interest. It's not just a scaffolding tool—it's Google's Chrome team making a bet about how frontend development should work. That bet is basically: conventions over configuration, and automation over manual setup.

The Setup Tax

Categories
JavaScript Tooling Web Development

Bower and the Frontend Package Management Problem

Twitter released Bower six months ago, and it's gaining traction for managing frontend dependencies. But using it raises an interesting question: why does frontend need a separate package manager? The answer reveals fundamental differences in how we think about server-side versus client-side code.

The npm Model Doesn't Work for Browsers