Skip to content

Split the project into core and CLI packages #39

@Angelmmiguel

Description

@Angelmmiguel

The main reasoning behind this change is to avoid injecting CLI libraries to projects that only want to use the SVGI core library. Currently, 6 of 7 libraries are only required for the CLI usage:

"dependencies": {
    "ascii-tree": "^0.3.0",
    "cli-table": "^0.3.11",
    "colors": "^1.4.0",
    "commander": "8.3.0",
    "filesize": "^8.0.7",
    "js-yaml": "^4.1.0",
    "xml2js": "^0.4.23"
  },

For this reason, I plan to split the project into two packages: core and CLI. To simplify the management, the code for both packages will be available in this project as a monorepo.

Part of this task is to evaluate the tooling to manage this monorepo. I have in mind to check 3 different tools, but feel free to suggest any other you may consider for monorepos.

As part of this, I would like to investigate Typescript configurations for monorepos (related to #37).

Metadata

Metadata

Assignees

Projects

Status

In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions