How to test EUI changes in Kibana(7.10.x) during development?

I want to integrate eui with my local kibana, Is there any way to integrate eui with link e.g @elastic/eui": "link:<eui repo path> in package.json in kibana 7.10.x version ? I have tried it. It's not working.

Can anyone help me with this?


Kibana uses EUI components and EUI is already packaged with Kibana.

Can you explain what do you mean by you want to integrate EUI with your local Kibana?


Thanks for your reply @bhavyarm.

Let me explain you in detail. I am using Kibana 7.10.2 and it's bundled with EUI 29.3.2.

I want to add new components in EUI 29.3.2 in my local and want to test it with Kibana, that's why I have cloned Kibana and EUI in my local and I have tried to integrate EUI using link command in
@elastic/eui": "link:<eui repo path> in kibana package.json

Here is my directory structure of Kibana and EUI in my local:

------------- kibana

In eui, I have done proper setup using commands : yarn, yarn build

From above directory structure, kibana and eui both directories are in parallel. I have changed eui value in package.json from "@elastic/eui": "29.3.2" to "@elastic/eui": "link:../../eui" which is pointing to my local eui.

After doing this when I try to run yarn kbn bootstrap, I am getting following error:

ERROR [bootstrap] failed:
ERROR TypeError: Cannot read property 'entries' of undefined
at Kibana.resolveAllProductionDependencies (/Users/hardikbhut/workspace/kibana-7.x/kibana-7.10.x/kibana/packages/kbn-pm/dist/index.js:58072:35)
at validateDependencies (/Users/hardikbhut/workspace/kibana-7.x/kibana-7.10.x/kibana/packages/kbn-pm/dist/index.js:38106:32)
at (/Users/hardikbhut/workspace/kibana-7.x/kibana-7.10.x/kibana/packages/kbn-pm/dist/index.js:9001:100)

I have attached screenshot of yarn kbn bootstrap command output

I was using the same structure in Kibana 6.8.x versions and It was working fine. But in Kibana 7.10.x, It's not working.

I hope you are getting my point. Let me know If you need any further details for same.

Thanks & Regards,

@chandlerprall can we please get some help here? I am not sure if I understand what user is trying to do?


For better understanding, I want to link eui with kibana, without publishing eui. I hope It makes little bit sense now.

Hey @hardik.rapidops , we maintain instructions for testing EUI builds in Kibana as part of the EUI wiki: eui/ at master · elastic/eui · GitHub - we do our best to update that section whenever we find it becomes out of date.

Personally, for some reason, I cannot point at the .tar.gz file and have to extract it to a directory. Most folks have no issue directly using the tar file.

If you are debugging/testing small changes and are comfortable modifying the babel-transpiled code, EUI is brought into Kibana via packages/kbn-ui-shared-deps/target/kbn-ui-shared-deps.@elastic.js - you can modify that file and immediately refresh your browser window, changes to that file are applied without any additional build or transform step.

1 Like

@chandlerprall and @bhavyarm - Thanks for your help. It's really helpful and I have figured out the issue. Thanks again. Really appreciated.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.