g-ace
g-ace copied to clipboard
Refactor commands library
- Parsing arguments should use a promise; eg paths can't be validated without them
- Avoid using register command and a million callback_ prefix functions
- IPC should be first class aka not implemented using hooks but core code
- Arguments should map directly into a netmsg schema for transparent optimization
- Avoid ambiguous argument flags, such as take_rest (sometimes it needs to be used for more parameters than just the last one)
- Should server and clientside functions go through different validation pipeline (clientside input needs to be always validated, but should serverside input be validated as rigurously?)
- IPC should not be a string parameter. Netmsg id/name should automatically be derived from command id
- Clear distinction between server and client commands! Should it even be possible for clients to be purely clientside?
- Testability! It should be possible to test each part of IPC pipeline independently