Problem
The scope of the current node-insim package is not clear. On one hand it tries to follow the InSim spec with packets, but it also contains utility functions like sendMessage, getters and other helpers. This results in mixed responsibilities.
Proposal
The idea is to split the packet definitions according to the InSim spec, which can be released as a separate NPM package and used in other projects.
Libraries for converting strings between LFS and Unicode can be moved into the monorepo.
node-insim - complete Node.js package, batteries included, high-level utils and abstractions used from other packages
node-insim-core - TCP/UDP protocol, data buffers, packet multipliers
node-insim-packets - InSim/OutSim/OutGauge packet class definitions (everything from src/packets and src/out) + pack/unpack functions
parse-lfs-message - LFS to Unicode text conversion
unicode-to-lfs - Unicode to LFS text conversion
lfs-colors - parse LFS colors into tokens, strip, to HTML, to terminal...
lfs-units - angles, speeds, coordinates...
Steps
Problem
The scope of the current node-insim package is not clear. On one hand it tries to follow the InSim spec with packets, but it also contains utility functions like
sendMessage, getters and other helpers. This results in mixed responsibilities.Proposal
The idea is to split the packet definitions according to the InSim spec, which can be released as a separate NPM package and used in other projects.
Libraries for converting strings between LFS and Unicode can be moved into the monorepo.
node-insim- complete Node.js package, batteries included, high-level utils and abstractions used from other packagesnode-insim-core- TCP/UDP protocol, data buffers, packet multipliersnode-insim-packets- InSim/OutSim/OutGauge packet class definitions (everything from src/packets and src/out) + pack/unpack functionsparse-lfs-message- LFS to Unicode text conversionunicode-to-lfs- Unicode to LFS text conversionlfs-colors- parse LFS colors into tokens, strip, to HTML, to terminal...lfs-units- angles, speeds, coordinates...Steps