Skip to content

Migrate into monorepo & split core packages #99

@mkapal

Description

@mkapal

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

  • Migrate repository into pnpm workspaces with Nx
  • Split node-insim into multiple packages

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions