davout_uk
(davout_uk)
January 9, 2019, 1:43pm
1
Does the ‘require’ facility available in the “Pre-request script” area allow for the use of any external JS library?
If so, where do the libraries have to installed? (I’m on Windows 10)
I’m looking to use ‘jwt-simple’ (https://github.com/hokaccha/node-jwt-simple#readme )
@davout_uk I am afraid you won’t be able to do that.
You can give this a read: https://learning.getpostman.com/docs/postman/scripts/postman_sandbox/
There are a few popular inbuilt libraries that you can use which are documented in the above mentioned link.
One way I have seen as a workaround is that you hit the CDN / url of the library using Postman and then you can use JSON.stringify
and store the JS library code in an environment variable.
Then you can just do a JSON.parse
/ eval
on the environment variable in any request and use all the functions of the library.
This is just a workaround.
1 Like
Hey everyone ,
We have released support for external packages in the latest version of Postman, you can read more about this here:
opened 03:41PM - 11 Apr 25 UTC
product/api-client
external-packages
We’re excited to announce a powerful new capability in Postman’s scripting envir… onment — support for **external public packages from the [NPM](https://www.npmjs.com/) and [JSR](https://jsr.io/) registries**! 🎉
With this release, you can now seamlessly supercharge your pre-request and post-response scripts using your favorite open-source packages right from inside Postman.
## 📽️ Feature Walkthrough
Getting up and running is easy:
1. Open the **Scripts** tab (Pre-request or Post-response) for any HTTP Request.
2. Click on the **Packages** dropdown to search and select a package from **NPM** or **JSR**.
3. Or, directly import packages into your script using [pm.require](https://learning.postman.com/docs/tests-and-scripts/write-scripts/postman-sandbox-api-reference/#import-packages-from-scripts). Examples:
```js
// From NPM
const lodash = pm.require("npm:[email protected] ");
// From JSR
const shortUUID = pm.require("jsr:@opensrc/short-uuid")
```
https://github.com/user-attachments/assets/c39c4951-f92d-4477-8b68-f2a573c80141
> 📚 Read the [full documentation here](https://learning.postman.com/docs/tests-and-scripts/write-scripts/packages/external-package-registries/) for more examples, caveats, and advanced usage.
## 🛠️ Planned Work Ahead
We’re just getting started! Here's what we're working on next:
- **Adding auto-suggestions** in the scripts tab for packages you import — making it even easier to discover and use package APIs as you type.
- **Extending package support across all protocols**, including gRPC, GraphQL, etc.
- **Bringing this feature to Postman CLI and Monitors** so your workflows stay consistent across all Postman tools.
Stay tuned! 💥
## ⚠️ Known Limitations
While this is a huge leap forward, here are a few limitations to be aware of:
- Postman's script environment is platform-agnostic. This means Packages that rely on [Node.js built-ins](https://nodejs.org/api/modules.html#built-in-modules) like `child_process` or `worker_threads` may not work as expected. We offer best-effort implementations of Node built-ins, but they may not have complete parity with Node.js.
- Packages that reference globals outside the [allowed sandbox environment](https://learning.postman.com/docs/tests-and-scripts/write-scripts/postman-sandbox-api-reference/#use-global-objects) may not behave correctly, depending on the part of the package that is executed.
- Packages that use Top-level `await` are not supported at the moment.
## 🙌 Thank You!
This was long overdue and wouldn’t have been possible without the incredible feedback and support from our Postman community. Your insights and use cases helped shape this—please keep it coming!
Happy Scripting!
An example using jwt-simple
:
1 Like