Skip to content

[FEATURE] Reduce number of dependencies and install size (v2.17 needs 1700 dependencies, takes 1.7Gb of space)Β #1752

@peitschie

Description

@peitschie

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)

  1. Review direct dependencies and determine which are not providing significant features and might be suitable to inline/reimplement.
  2. 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?

  • I checked and didn't find a similar issue

🏒 Have you read the Contributing Guidelines?

Are you willing to work on this issue?

Yes I am willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions