RFC: Legend Application Core module #370
Labels
Component: Application Framework
Issues related to the core application framework shared by all apps: Studio, Query, etc.
Studio Core Team
Opened by a member of the Studio core team
Type: Discussion
Type: Refactor
馃挰 Request for Comments
As we start to build more app using
@finos/legend-studio
, we realize that we need to split the core even further down and form a core group of components, state management that we can collectively call@finos/legend-application
. If we can do this, we can make Legend Query (or if we have succesfully separated it out to@finos/legend-query
) to be more independent. Also, this would help many Legend apps that we will potentially build in the future.Plugin
EditorPlugin
toLegendStudioPlugin
PluginManager
to becomeLegendApplicationPluginManager
or so?Stores
useSDLCClientStore
which has theSDLCClient
and knows how to parse the config for SDLC-related infouseMetadataClientStore
which has theMetadataClient
and knows how to parse the config for metadata-related infousePureGraph
which has thegraph
andgraphManager
. This way we can share this with anyLegend
applications in the future that needs to use graph and build graph such asQuery
. Makelegend-query
use this instead of relying onEditorStore
like now.<LegendReactApplication>
component that hasNotification
,ApplicationStore
,Material-UI
,DnDBackend
, etc. and withReact
setup for things likereact-reflex
,react-hotkeys
, etc. (seeLegendMaterialUITheme
,setupLegendStudioUILibrary
).@finos/legend-application
. Move theLegendApplication
logic here. The point is that we can have shared components in here and nolonger havelegend-query
depends onlegend-studio
.Entity
andProjectDependency
out to a separate module calledlegend-storage
legend-studio-shared
,legend-studio-*
tolegend-*
as they can be shared across multiple applications nowLegend Studio - Editor modes
See and revise #317
The idea is that we can pass boolean flags while creating
EditorStore
instead of relying on flags likeisInViewerMode
orisInConflictResolutionMode
, etc.Legend Query
We should create
@finos/legend-query
and slim down@finos/legend-studio-preset-query-builder
. We should aim to no longer have@finos/legend-query
depends on@finos/legend-studio
if possibleThe text was updated successfully, but these errors were encountered: