Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve dependency management #20

Open
indirectlylit opened this issue Apr 3, 2020 · 0 comments
Open

improve dependency management #20

indirectlylit opened this issue Apr 3, 2020 · 0 comments
Labels
category: library Shared code library category: supporting code Implementation of the system type: issue Something isn't working type: proposal New feature or request

Comments

@indirectlylit
Copy link
Contributor

indirectlylit commented Apr 3, 2020

Currently we have a situation where there is one top-level package.json file, and:

  1. some dependencies used by the shared component library (/lib) are in dependencies
  2. other dependencies used by the shared component library (/lib) are expected/assumed to be provided by the library user
  3. all other design system dependencies are in devDependencies. This includes both build and run-time dependencies

This situation will be hard to maintain. Preferably, we want:

  • Depending on the shared component library be fast and easy:
    • install only the dependencies needed in node_modules
    • support tree shaking in webpack
    • handle situation where dependencies may already be provided by the user (perhaps using peerDependencies?)
  • When managing design system dependencies, we should be able to distinguish between run-time and build dependencies.
  • While using sub-packages might be a good strategy, we've also encountered many developer ergonomics problems with both Lerna and yarn workspaces, so we should approach this strategy with caution
@indirectlylit indirectlylit added type: issue Something isn't working type: proposal New feature or request category: supporting code Implementation of the system category: library Shared code library labels Apr 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: library Shared code library category: supporting code Implementation of the system type: issue Something isn't working type: proposal New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant