As our project grows, so does the tech debt. We once again need to clean some things up:
[x] Unify utilities related to time, they are currently thrown all over the place and seldom tested.
[x] Move common/logic to logic since, none of the code there is common at all.
[x] Lint import locations - we can import Text from three different places, View from four - and these cause bugs.
[x] Replace ../ imports with full path counterparts.
[x] Block direct usage of Stack.Screen, use Header instead.
[x] Add missing tests, possibly calculate coverage on test.
[x] Improve styling workflow, many styles are copied all around, using StyleSheet is annoying since it shadows a built-in type. Add lints to use the new utilities instead of built-in ones.
[x] Create an icon component.
[x] Avoid barrel * exports - they make it hard to see what comes from which file. Also it is easier to judge when a file gets too large if we have explicit exports. Block default exports from outside of app and block non-default exports inside of app.
[x] Ensure tests are only in files which are run by Jest.
[x] Adjust default connection URL - we test in prod anyways.
[x] Move rules to a subdirectory if possible.
[x] Add type-checked rules.
[x] Move custom colors to themes, simplify theme handling.
[x] Enforce variable and constant naming conventions.
Hopefully no runtime changes would be introduced with these changes.
As our project grows, so does the tech debt. We once again need to clean some things up:
common/logic
tologic
since, none of the code there is common at all.Text
from three different places,View
from four - and these cause bugs.../
imports with full path counterparts.Stack.Screen
, useHeader
instead.StyleSheet
is annoying since it shadows a built-in type. Add lints to use the new utilities instead of built-in ones.*
exports - they make it hard to see what comes from which file. Also it is easier to judge when a file gets too large if we have explicit exports. Block default exports from outside ofapp
and block non-default exports inside ofapp
.we test in prod anyways.Hopefully no runtime changes would be introduced with these changes.