-
Why modern Yarn?
Among other things, Yarn is robust, performant and extremely versatile when it comes to repository management. The given configuration provides a very solid first-time experience. Some of the things that make modern Yarn great can be seen in this project template.
-
Why esbuild?
We want fast builds. The code is still checked for correctness in the editor and in CI.
-
Why the MkDocs Markdown?
If you're going to want to build any documentation site, you will appreciate having auto-formatted to this style from the start. Using mkdocs-material for documentation sites is highly recommended. The Python Markdown ecosystem is much more versatile and performant than the JS/TS space.
-
Why is PnP disabled?
While PnP is generally preferred for its strictness, using it still incurs a lot of friction. Because PnP is enabled by default in modern Yarn, this deters many users from adopting modern Yarn. Thus, this project uses Yarn's node-modules
linker, the behavior of which should be very familiar to most adopters.
-
Why is telemetry disabled?
Whenever possible, the disclosure of any data should be opt-in. Please refer to the document linked above, and enable telemetry after carefully reading it.
-
Why not Zero-Installs?
Zero-Installs are purely a .gitignore
-controlled feature. Most new adopters do not expect the behavior of the default configuration and some adopters have raised concerns over long-term effects. Enable it after carefully reading the article linked above.
-
Why not use Husky for the hook?
Husky is more complex than what is required to install the hook in a modern Yarn repository. We also do not want to hand over control over repository behavior to a dependency.