Open kinow opened 4 years ago
Removed milestones as I think we may not even need it. GitLab, for example, uses plain old JS, with a single repository, and they maintain one of the largest Vue applications. I will probably just maintain a separate fork or repository with the components that I want to use :grimacing: but just leaving it here in case someone else ever has a similar idea or use case.
(I probably need to talk with you about this to understand it better ...)
(I probably need to talk with you about this to understand it better ...)
Sure. But not really important. Just an option for later when the project is more stable and probably a bit larger.
This is my main reason for this proposal. If a developer decides to create an R Shiny widget, or a JupyterLab widget, that displays the Cylc graph or Cylc tree using JSON, for example, s/he could simply import { Tree } from @cylc/tree-component or import { Graph } from @cylc/graph-component
This would be useful for generating graphs in the documentation etc.
Describe exactly what you would like to see in an upcoming release
In JS, monorepos are quite popular. These are repositories that contain a JS application or library, with other related sub-projects (normally smaller libraries or components) in the same git repository.
Examples of such projects:
vuejs/vue
: https://github.com/vuejs/vuevuetifyjs/vuetify
: https://github.com/vuetifyjs/vuetifyfacebook/react
: https://github.com/facebook/reactvuejs/vuepress
: https://github.com/vuejs/vuepressjupyterlab/jupyterlab
: https://github.com/jupyterlab/jupyterlab/jupyterlab/lumino
: https://github.com/jupyterlab/luminoAdditional context
I don't think we need this now. We can look into this later, near 1.0 release. Preferably after others have got familiar with the build & code base.
IMO, these are some of the pros:
npm ls --only=dev --depth=0 | wc -l
), and 39 in development (npm ls --only=dev --depth=0 | wc -l
). But many of these dependencies have a specific use case, such asgraphql
, which should be used by theWorkflowService
, or the upcominginfinite-tree
used by the newTree
component. At the moment, these dependencies are added to the whole project. With the multi modules, we could isolate where the dependencies reside.infinite-tree
code shouldn't be used in the Graph componentimport { Tree } from @cylc/tree-component
orimport { Graph } from @cylc/graph-component
. And that would give the exact same output as Cylc UI (as specified inpackage.json
). Allowing users/developers/researchers to reproduce what they have in their workflows and create notebooks to share/publish/etc.But there are cons as well:
Some links for references:
Pull requests welcome!