15 ms·
Alternative stack that gets you much of the same stuff with less: TypeScript, React, Redux, Webpack, Immutable, Ava - TypeScript covers much of the benefit of
by bsou 10y ago
Alternative stack that gets you much of the same stuff with less:
TypeScript, React, Redux, Webpack, Immutable, Ava
- TypeScript covers much of the benefit of es6/babel/eslint/flow, Ava covers chai/mocha, and webpack can cover most of what gulp provides
- k__ 10y agoThere are many alternatives to chai/mocha. Ava, Jest and Tape. I wouldn't consider Webpack an alternative to Gulp. Gulp is more generic. But if you use Webpack you can replace to task-runner part with a few scripts. When using ES6 or TypeScript I'd also consider Immutable to be optional, because of "const" and "Object.assign()/Spread-Operator". Also, React & Redux can be replaced with 1 thing, when you use a framework that bundles view components and state management.
- vmasto 10y agoNit: not sure why you mention const. It does not provide any kind of immutability assurance.
- k__ 10y agoI just use const instead of var/let all the time and it prevented me from overriding the variable later, which forced me to write my code a bit more functional then before I used it. I know that I can still change indirect references or override valueOf() etc.
- pault 10y agoYou probably know this, but for anyone else reading, the problem is that if you assign an object or array using const, the object/array members are still mutable. If you have a tree structure, you have to recursively Object.freeze the entire tree to get immutability, which AFAIK is basically what immutable.js does for you. I also use const by default, but I find that more often than not my variables are trees and lists.
- Matachines 10y agoWebpack is weird in that it's lumped with task runners/"Make"-like programs but it actually it's a configurable and hackable version of the browser asset pipeline.
- elnado 10y agoYeah ultimately what all this is trying to achieve is to make JavaScript have the basic properties and benefits of many other languages. Unlike other languages, JavaScript was developed in 10 days in 1995 and was never intended to be used as heavily as it is today, hence the gargantuan amount of packages and modules to rectify it's shortcomings.