Ultra Simple JS & TS Development Philosophy
This is a note now, but may be expanded into a full blog post when I feel it is appropriate.
This is a collection of concepts for writing readable, maintainable, frindly Node JS-based projects. This includes frontend JS projects, TypeScript projects, Node JS backend projects, anything with a
In electronic music production, I’ve observed a similar problem: a new tool comes out, be it a new USB controller, a new plugin synth, a new sample pack, a new DAW; and some people (especially beginners) never master their previous tools before picking up the new tools. Yet, at the same time, the people making the most advanced electronic music usually have a limited/constrained set of tools that they know how to use fully, in full mastery of the tool. You have to have full mastery in order to get creative or to have an entire understanding of the system.
The goal here is to outline some philosophy that applies across these types of projects.
The overall philosophy: use constrains to make things predictable, avoid shiny things, keep things as simple as possible.
1. simple scripts.
package.json, just use simple predictable values in the
npm start and
npm build. That’s enough.
npm run dev or
npm run start-dev
npm generate && npm build-dev.
2. use NODE_ENV
There’s no need for a
dev:true flag on your library. Use
process.env.NODE_ENV = 'development'.
There’s no need for
process.env.NODE_ENV to be anything besides
3. don’t use weird language features