# Is it possible to add an npm package to serverless?

**URL:** <https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682>\
**Category:** Serverless Framework\
**Tags:** lambda\
**Created:** [July 1, 2019, 10:54pm UTC](https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682 "2019-07-01T22:54:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![SSelke](https://avatars.discourse-cdn.com/v4/letter/s/2acd7d/32.png) [@SSelke](https://forum.serverless.com/u/SSelke)\
**Post date:** [July 1, 2019, 10:54pm UTC](https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682/1 "2019-07-01T22:54:41Z")

</div>

Hello everyone! I am new to serverless / aws lambda and I have a few questions I wanted to ask. First off, is it possible;e for my lambda functions to utilize a js library? For example, if I wanted to us a package called [Figlet](https://www.npmjs.com/package/figlet) in my code like such:  
module.exports.funny = async (event) =\> {  
var figlet = require(‘figlet’);  
let data = figlet(‘Hello World!!’, function (err, data) {  
if (err) {  
console.log(‘Something went wrong…’);  
console.dir(err);  
return;  
}  
return data;  
});

```
  return {
     statusCode: 200,
     headers: {
           "Access-Control-Allow-Origin": "*", // Required for CORS support to work
           "Access-Control-Allow-Credentials": true // Required for cookies, authorization headers with 
            HTTPS
     },
     data: JSON.stringify(data)
 }
}

```

And if so, how do I achieve this? Thank you very much!

---

<div class="post-metadata">

**Author:** ![garethmcc](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.serverless.com/garethmcc/32/2276_2.png) [@garethmcc](https://forum.serverless.com/u/garethmcc)\
**Post date:** [July 2, 2019, 6:30am UTC](https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682/2 "2019-07-02T06:30:58Z")

</div>

Hi Selke and welcome to the community. It most definitely is possible to use npm modules. You would, however, preferably require your module outside the function instead. This is just a small optimisation. Otherwise you have it right. Just use them like you always have for Node.

---

<div class="post-metadata">

**Author:** ![SSelke](https://avatars.discourse-cdn.com/v4/letter/s/2acd7d/32.png) [@SSelke](https://forum.serverless.com/u/SSelke)\
**Post date:** [July 3, 2019, 9:56pm UTC](https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682/3 "2019-07-03T21:56:20Z")

</div>

See i tried doing this, and when I run the function it does not work. I have ruled out that I am not using the package correctly.

---

<div class="post-metadata">

**Author:** ![scottsen11](https://avatars.discourse-cdn.com/v4/letter/s/ad7895/32.png) [@scottsen11](https://forum.serverless.com/u/scottsen11)\
**Post date:** [November 19, 2019, 4:59am UTC](https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682/5 "2019-11-19T04:59:55Z")

</div>

I went to the root folder of the Serverless project and ran `npm install geopoint --save` . package.json got updated with `dependencies": { "geopoint": "^1.0.1" }` and node\_modules folder was created.

My folder structure looks like this:  
root-project-folder  
-functions  
–geospatial  
—handler.js  
-node\_modules  
–geopoint

---

<div class="post-metadata">

**Author:** ![smithclarkson001](https://avatars.discourse-cdn.com/v4/letter/s/48db29/32.png) [@smithclarkson001](https://forum.serverless.com/u/smithclarkson001)\
**Post date:** [February 20, 2020, 12:50am UTC](https://forum.serverless.com/t/is-it-possible-to-add-an-npm-package-to-serverless/8682/6 "2020-02-20T00:50:28Z")

</div>

seriously…?? ??? n it worked??? [9Apps](https://9appsapk.vin) [VidMate apk](https://vidmateapp.vin/vidmate-apk/)
