workfloworchestrator / orchestrator-ui-library

Component library for the orchestrator-ui (v2) which is published in npm
8 stars 3 forks source link

Move example app from monorepo to its own repository #147

Closed ricardovdheijden closed 9 months ago

ricardovdheijden commented 10 months ago

Move the example app from the mono-repo to its own repo to its own repo

acidjunk commented 10 months ago

https://nx.dev/concepts/integrated-vs-package-based

ricardovdheijden commented 10 months ago

Checklist from the migration PR:

Copy all turbo config (from Turbo repo NX):

hanstrompert commented 10 months ago

@acidjunk Decided that we leave the example app in the mono repo for now. Only just add a short README for users that want to copy the example app folder to a separate repository.

acidjunk commented 10 months ago

@hanstrompert I think with the work in #169 : you can just copy the standalone folder -> run a yarn install from that new folder. That will ask you which version of @orchestrator-ui@tsconfig, @orchestrator-ui@eslint and @orchestrator-ui/components you will want to install because there are now pointing to version "*" which the mono repo tools resolve internally. I thinks it's very handy to have the extra 2 packages also on npmjs: it now closely follows the design/vision as outlined in our confluence docs for 2.0 😎

SO: mission accomplished; you can install/test/use the standalone app, without the need for the other stuff in the mono repo.

I expect that the only downside of the new approach is the fact that hot reloading/fast refresh will work suboptimal when developing on both the library and the app at the same time. The page will reload. As I explained this morning in Slack: it should be possible to optimize that, during development, by either:

As we now use the actual minified build version of the lib during development; the current setup tests the integration in a very robust way. Still I can imagine that it would be handy to have a small test/github action, that tests if the standalone app can be build successfully (for example when we merge to main)