Template for Node.js projects.
- Read this README once, and then delete everything.
- Write your own README describing your project and its specific details.
- In
package.json
, update the name, description, version, repository, and license details. - Install dependencies with
pnpm install
. - You're good to go! 🚀
- Check the
src/
directory to find useful basic utilities you might want to use.
- We use TypeScript because it's cool. And we don't transpile it unless necessary.
- We use ESLint with neostandard code style without exceptions.
- We don't use Prettier, as ESLint already does the job.
- We follow the 12 Factor App methodology.
- We use pnpm as package manager.
Every piece of software made at B4CKSP4CE should be licensed appropriately.
Every repository should contain a LICENSE
file with the full text of the license.
As a rule of thumb, we use the:
- Software: Mozilla Public License 2.0
- Hardware: CERN Open Hardware Licence Version 2 - Strongly Reciprocal
- Documentation: Creative Commons Attribution-ShareAlike 4.0 International
All three licenses are copyleft licenses, meaning any derivative work must be licensed under the same license.
Starting from Node.js 23, it supports running TypeScript directly via type stripping.
While native implementation is in early development with significant caveats, we use tsx instead.
Transpiling TypeScript adds complexity and more opinionated decisions to the project. We don't bother ourselves with additional configurations. We don't want to introduce more opinionated choices, like what bundler to use.
From the computing perspective, type stripping is astoundingly cheap. It's not even worth mentioning. It adds some overhead to the startup time, but it's not significant enough for us to be concerned.