# Is there a way to include external node module in my Kibana distributable?

**URL:** <https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249>\
**Category:** Kibana\
**Tags:** kibana-plugin-development\
**Created:** [February 25, 2022, 7:54am UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249 "2022-02-25T07:54:49Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![kyh119](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kyh119/32/101279_2.png) [@kyh119](https://discuss.elastic.co/u/kyh119)\
**Post date:** [February 25, 2022, 7:54am UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/1 "2022-02-25T07:54:49Z")

</div>

Hi,

I created my plugin, and it requires a module that I've installed using 'yarn add node-ssh'.

I did:

1. ' yarn add @types/ssh2 ' in kibana directory.
2. ' yarn add node-ssh' also.
3. in 'server/routes.ts', wrote import { NodeSSH } from 'node-ssh';
4. cd to kibana directory, did yarn build.
5. installed kibana with an archive yarn had builded.

But in distributed Kibana, there's no 'node-ssh' in node\_modules.  
So my plugin doesn't work. Could you help me with it?

---

<div class="post-metadata">

**Author:** ![Dzmitry](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dzmitry/32/65026_2.png) [@Dzmitry](https://discuss.elastic.co/u/Dzmitry)\
**Post date:** [February 25, 2022, 3:17pm UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/2 "2022-02-25T15:17:58Z")

</div>

Hi @kyh119 ,

It should be possible, please check the similar question [Adding dependency to custom plugin (New Platform)](https://discuss.elastic.co/t/adding-dependency-to-custom-plugin-new-platform/241744)

Regards, Dzmitry

---

<div class="post-metadata">

**Author:** ![kyh119](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kyh119/32/101279_2.png) [@kyh119](https://discuss.elastic.co/u/kyh119)\
**Post date:** [February 25, 2022, 11:56pm UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/3 "2022-02-25T23:56:00Z")

</div>

Hi @Dzmitry , thanks for your answer.

I read the topic you posted, but I have a question.

I couldn't figured out clearly what "They should be included in the 3rd party plugin's downloaded archive" means.

Could you kindly guide for me how to include npm modules in the 3rd party plugin's downloaded archive?

Do you mean the archive that created when I use 'yarn build' at kibana directory?

Thank you.

---

<div class="post-metadata">

**Author:** ![Dzmitry](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dzmitry/32/65026_2.png) [@Dzmitry](https://discuss.elastic.co/u/Dzmitry)\
**Post date:** [February 26, 2022, 2:20pm UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/4 "2022-02-26T14:20:15Z")

</div>

@kyh119 ,

I think you should build your custom plugin and then manually modify archive to include dependencies. Then you should install your plugin per [instructions](https://www.elastic.co/guide/en/kibana/current/kibana-plugins.html#install-plugin).

Give it a try and let me know.

Regards, Dzmitry

---

<div class="post-metadata">

**Author:** ![Mikhail\_Shustov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mikhail_shustov/32/49186_2.png) [@Mikhail\_Shustov](https://discuss.elastic.co/u/Mikhail_Shustov)\
**Post date:** [March 1, 2022, 9:45am UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/5 "2022-03-01T09:45:52Z")

</div>

> [@Dzmitry](#):
>
> I think you should build your custom plugin and then manually modify archive to include dependencies. Then you should install your plugin per [instructions](https://www.elastic.co/guide/en/kibana/current/kibana-plugins.html#install-plugin)

A tiny nit: I don't think you need to modify a built artifact. Other steps look correct.

---

<div class="post-metadata">

**Author:** ![kyh119](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kyh119/32/101279_2.png) [@kyh119](https://discuss.elastic.co/u/kyh119)\
**Post date:** [March 2, 2022, 12:38am UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/6 "2022-03-02T00:38:54Z")

</div>

Hi, @Mikhail_Shustov

Could you explain to me what "other steps" are?  
Is there any other good way to add dependencies?

I was gonna try to modify a built archive, though.

Thank you all.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 30, 2022, 12:38am UTC](https://discuss.elastic.co/t/is-there-a-way-to-include-external-node-module-in-my-kibana-distributable/298249/7 "2022-03-30T00:38:55Z")

</div>

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