Split data and expression plugins#45125
Conversation
|
Pinging @elastic/kibana-app-arch |
💔 Build Failed |
|
Sorry, I know I've asked this before, but just to clarify: exactly where was the circular dependency again? Asking because I still think it makes much more sense to keep |
💔 Build Failed |
replace __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED with __LEGACY
|
@ppisljar actually mentioned this last week on our team sync I think. We have a circular dependency between |
💔 Build Failed |
Yeah I knew it was a vis/data thing, I was just looking for what the specific dependency was. Something to do with renderers presumably? It would be nice to write that down so we have a documented reason for this decision for future reference. The other issues we discussed offline (specifically around difficulties with circular deps in testing) can be mitigated with updated mocks and anyway won't be an issue by the time we get to New Platform -- they will just pose challenges during the migration process. I'm on board with splitting out expressions if it is our only option... just making confirming that this is, in fact, the case 😉 If there's one piece of the data plugin that would make sense to split out, it would probably be expressions anyway. Though I'd still suggest we put any custom expression functions related to data querying (e.g. |
💔 Build Failed |
|
@lukeelmers I guess @ppisljar might be able to shed some light on what's exactly creating this dependency. |
💚 Build Succeeded |
💚 Build Succeeded |
|
didn't go thru the code yet, but just to answer the question about circular dependency:
there are two approaches we might take to resolve that:
there is this other thing Liza is mentioning, when you want to query ES using our low level search service you don't really need anything, but you might want to still use |
💚 Build Succeeded |
crob611
left a comment
There was a problem hiding this comment.
Canvas changes look good 👍
ppisljar
left a comment
There was a problem hiding this comment.
code LGTM, one minor comment
| export default function DataExpressionsPlugin(kibana: any) { | ||
| const config: Legacy.PluginSpecOptions = { | ||
| id: 'expressions', | ||
| require: ['elasticsearch'], |
There was a problem hiding this comment.
actually, ignore this comment. it shouldn't require data, all the functions that do require data should be registered from data plugin (or another plugin listing data as dependency)
* split data plugin from expression plugin * added expressions as dependency to visualizations * ui/agg import * expressions start contract replace __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED with __LEGACY * Rename contract * vis deps * Fix build pipeline mocks * Added expressions plugin to karma mock * update imports * export types from common * Restore types.ts * Remove unused expressions plugin server code
* Split data and expression plugins (#45125) * split data plugin from expression plugin * added expressions as dependency to visualizations * ui/agg import * expressions start contract replace __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED with __LEGACY * Rename contract * vis deps * Fix build pipeline mocks * Added expressions plugin to karma mock * update imports * export types from common * Restore types.ts * Remove unused expressions plugin server code * fixed failing test
|
@lizozom can you please add a DevDocs section? |
Summary
Split data and expression plugins to avoid circular dependencies.
Checklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.For maintainers