Why do we need this improvement?
The @asyncapi/cli tool (v2.17.0) requires 1700 additional packages and occupies about 1.7Gb of space on install.
This provides a significant barrier to use within more controlled environments, as the auditing and review of the dependencies is completely impractical.
It also has a significant impact on install size, application performance, and even tool choice.
For example, I'm unable to install this on some machines as they simply don't have enough RAM available to complete the installation without special overrides.
How will this change help?
Reducing the number of dependencies significantly would make this tool a much more attractive option, and likely will reduce the maintenance burden of keeping the dependencies up to date.
It would also increase accessibility to the package.
Screenshots
See attachment for the current result of running npm install @asyncapi/cli in a completely clean directory:
dependencies.txt
How could it be implemented/designed?
Some related discussion seems to be in #1657, #1707 and #1703 (these all list identifying and removing redundant dependencies and imports)
- Review direct dependencies and determine which are not providing significant features and might be suitable to inline/reimplement.
- Review heavy-weight dependencies to evaluate alternative tools or alternative approaches that don't require the massive dependency tree
🚧 Breaking changes
Yes
👀 Have you checked for similar open issues?
🏢 Have you read the Contributing Guidelines?
Are you willing to work on this issue?
Yes I am willing to submit a PR!
Why do we need this improvement?
The
@asyncapi/clitool (v2.17.0) requires 1700 additional packages and occupies about 1.7Gb of space on install.This provides a significant barrier to use within more controlled environments, as the auditing and review of the dependencies is completely impractical.
It also has a significant impact on install size, application performance, and even tool choice.
For example, I'm unable to install this on some machines as they simply don't have enough RAM available to complete the installation without special overrides.
How will this change help?
Reducing the number of dependencies significantly would make this tool a much more attractive option, and likely will reduce the maintenance burden of keeping the dependencies up to date.
It would also increase accessibility to the package.
Screenshots
See attachment for the current result of running
npm install @asyncapi/cliin a completely clean directory:dependencies.txt
How could it be implemented/designed?
Some related discussion seems to be in #1657, #1707 and #1703 (these all list identifying and removing redundant dependencies and imports)
🚧 Breaking changes
Yes
👀 Have you checked for similar open issues?
🏢 Have you read the Contributing Guidelines?
Are you willing to work on this issue?
Yes I am willing to submit a PR!