Haru/docs/decisions.md
2021-12-26 01:01:51 +01:00

36 lines
932 B
Markdown

# Decisions
A small document highlighting why certain choices were made.
## Typescript
- static typing
- stricter than normal javascript
- better visual studio code support than javascript
## Babel
- polyfill es6 modules to commonjs
- hooks in better sourcemap support for node
## Browserify
- required for nexe bundling (has a bug where bundling source fails)
- fixes the `Uncaught ReferenceError: exports is not defined` error
- far easier to setup compared to webpack
## Node.http
- can be modified to our specific needs
- no additional dependencies, overhead and complexity under the hood compared to frameworks
- eft requires special care in request/response handling (no compression headers, but data is zlib compressed)
## File naming
- emulates C# namespacing, which I prefer
## Drawio
- png diagrams are heavy, drawio diagrams are not
- allows for editing the diagrams later