mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
Sustainable Kibana Architecture: Move packages under packages/shared-ux/
(#205602)
This commit is contained in:
parent
2c97ed3bfe
commit
175916ef23
608 changed files with 565 additions and 561 deletions
|
@ -116,7 +116,7 @@ const MySPALink = () =>
|
|||
```
|
||||
|
||||
As it would be too much boilerplate to do this for each link in your app, there is a handy wrapper that helps with it:
|
||||
[RedirectAppLinks](https://github.com/elastic/kibana/blob/main/packages/shared-ux/link/redirect_app/impl/src/redirect_app_links.tsx).
|
||||
[RedirectAppLinks](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/shared-ux/link/redirect_app/impl/src/redirect_app_links.tsx).
|
||||
|
||||
```jsx
|
||||
const MyApp = () =>
|
||||
|
|
|
@ -99,7 +99,7 @@ By converting each page to an async import, we were able to load each page async
|
|||
### Other optimizations
|
||||
|
||||
- Registration of some `start` services were conditional, and contain their own async calls. I removed those from the register helper, (which itself was a brute-force offload of code from the plugin, but still loaded every time), and loaded them async if the conditions apply.
|
||||
- I moved flyouts, modals, expanding rows, and other conditionally-rendered components to `React.lazy` async modules, (using [`dynamic`](https://github.com/elastic/kibana/tree/main/packages/kbn-shared-ux-utility/src/dynamic) from [@kbn/shared-ux-utility](https://github.com/elastic/kibana/tree/main/packages/kbn-shared-ux-utility)).
|
||||
- I moved flyouts, modals, expanding rows, and other conditionally-rendered components to `React.lazy` async modules, (using `dynamic` from `@kbn/shared-ux-utility`).
|
||||
- A lot of `export * from ...` exports were obscuring what code was actually being consumed. For example, [`public/shared.ts`](https://github.com/elastic/kibana/blob/bfc91b0cb035b39916a5efc64ace31e88a230ec5/x-pack/plugins/ml/public/shared.ts) was exporting everything from a lot of `common` files.
|
||||
- By [refactoring these exports](https://github.com/clintandrewhall/kibana/blob/c4790b6315662b940d0794faca0ddafd8b6faedc/x-pack/plugins/ml/public/shared.ts) to accurately reflect what is being consumed outside the `ml` plugin, we are able to track their consumption, (and also reduce the size of _that_ bundle).
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue