You people have a prettierrc yet never run prettier
tabs or spaces. WHICH IS IT
2 width or 4 width WHICH IS IT
(i'd make index.html 4 width tab but there's more that uses space there)
- More string keys
- Reworked string keys entirely
- Moved formatting into seperate typescript module
- Write unit tests using `jest` for the format module
- README improvements
Pirate language needs to be reworked and it should be a bit less painful now to actually add more string keys later on (eventually making the whole webapp strings lie inside the stringkeys)
Not fully functional yet, so this won't/shouldn't be pushed onto the site yet (no language dropdown, there are still quite a few hardcoded strings that need to become string keys ...) but it works more than well enough to at least test and add more things as string keys that are currently hardcoded.
There are two languages provided, "en-us" and "pirate". Pirate is a test language to make sure all string keys are applying properly and all that.
As a bonus the new I18n system also offers a slightly less boneheaded way to do replacements, which is much more flexible than blind replace calls, and can take any type which is able to be stringified.
The parsing code for this is far from my best work, but it'll do for now, and seems to work okay (and has basic idiot proofing), so eh.
Supersedes #13.
Mostly just for nicity. I did manually clean up a few things, but other than that, this basically was just importing configs from cvm3/crusttest, adding prettier as a dev dependency, and just ctrl-shift-I on every typescript file part of the codebase
Since the places where this was being done actually typecheck now (thanks mostly to the nanoevent interfaces), we no longer need wonky "as U" casts anymore!
This allows passing any type (though practically, this is only ever going to include numbers) into it. This removes the need to constantly .toString() (though booleans are still kind of awful, but I guess we could factor that out somehow)