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

Add proper packaging using rollup to all plugins, core and lib packages #108

Closed
wants to merge 161 commits into from

Conversation

dopenguin
Copy link
Member

@dopenguin dopenguin commented Feb 22, 2024

Summary

  • All plugin, core and lib packages consumed are now bundled with rollup to be able to use each package outside of this repository (I will add example repositories once this PR is merged)
  • If a package defines some css rules, they are now bundled in a separate file and have to be imported where the package is consumed to pull them into the shadowDOM
  • lerna has been removed in favour of npm workspaces
  • nx is used for task scheduling
  • Except for the client code, all type errors have been resolved; do you think running a tsc --noEmit task in the pipeline would be a good idea, after we fixed the type issues in the client code as well, @warm-coolguy?

Instructions for local reproduction and review

All clients and every functionality are affected by the changes. Thus, all clients should be tested in dev as well as in prod (build) mode.
If you got any questions while testing, feel free to ask me any time (I understand that the changes are quite extensive)...

TODO

  • Add changelog entries for all 24 packages

Relevant tickets, issues, et cetera

#107 has to be merged before this PR

Added concurrently as a first step towards good DX regarding HMR.
All defined styles need to be imported before the shadowDOM is created
to ensure they are reachable by the map client.
Also, add respective nx:watch script and concurrently to all dev
scripts.
Also, add concurrently and nx:watch to all client dev scripts.
All the required packages bundle tasks are executed whenever the dev
task is run.
This can not be enabled via npm workspaces without additional steps.

Also, cache all the results of the bundle tasks to not recalculate
results after the dev task is restarted.
Also, remove all nx-provided plugins included installed peerDependencies
as they won't be used anyway.
Also, import the styles from the core package in all clients.
@dopenguin dopenguin marked this pull request as draft May 16, 2024 09:49
@dopenguin
Copy link
Member Author

To be able to yield a benefit from the changes introduced in this PR, either vuetify would have to be removed or an upgrade to vue@3 may lead to usable packages.
As this is not an effort currently on the roadmap, this PR is closed for now and may be used as a reference point in the future.

@dopenguin dopenguin closed this Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request refactor Refactoring of previous code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants