# 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