npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

shellreq-api-client

v0.4.1

Published

Powerful, lightning-fast API testing client for VS Code. Sidebar REST client with collections, history, draggable splitter, and full HTTP support.

Readme

ShellReq API Client

Version Installs Rating License

A native, blazing-fast API client — built right inside Visual Studio Code.

No context switching. No external apps. Just pure, focused API testing.


Overview

ShellReq is a lightweight, fully integrated API testing client for Visual Studio Code. It lives in your sidebar, speaks your workflow's language, and stays out of your way — giving you everything you need to test, inspect, and manage HTTP requests without ever leaving your editor.

Designed for developers who want speed, clarity, and zero clutter.


Features

  • Sidebar API Client — Full REST client in the VS Code activity bar, always one click away.
  • Draggable Splitter — Resize the request and response panels by dragging the divider bar.
  • Full HTTP Support — GET, POST, PUT, PATCH, DELETE, HEAD with headers, params, and body.
  • Key-Value Editors — Structured editors for query params and request headers.
  • JSON Body Editor — Write and send JSON payloads; Format JSON prettifies the body tab.
  • Smart Collections — Save requests, reload instantly, remove individual items, or clear all.
  • Auto History — Last 50 requests saved automatically; click any entry to replay.
  • Response Tools — Copy response body to clipboard, clear the response panel, view headers tab.
  • URL Helpers — Auto-prepends https:// when the scheme is omitted; query params are merged into the URL.
  • Configurable Timeout — Set shellreq.requestTimeoutMs in VS Code settings (default 30s).
  • Persistent State — Last request, headers, params, and panel layout survive restarts and tab switches.
  • Zero Runtime Dependencies — Uses Node.js built-in http/https — no axios, no supply chain risk.
  • Built by Mahesh Shinde — Shown in the bottom-right corner of the panel.

Getting Started

1. Open the Client

Click the ⚡ ShellReq lightning bolt icon in the VS Code Activity Bar (left sidebar).

2. Build Your Request

| Section | What to Do | |---|---| | Method | Select GET, POST, PUT, PATCH, or DELETE | | URL | Enter your endpoint URL | | Params | Add query parameters using the key-value editor | | Headers | Add request headers using the key-value editor | | Body | Enter JSON payloads for POST/PUT/PATCH requests |

3. Send and Inspect

Click ▶ SEND. The response panel shows:

  • Status badge (green for 2xx, amber for 3xx, red for 4xx/5xx)
  • Response time in milliseconds
  • Payload size
  • Formatted JSON body (or raw text)
  • Full response headers

4. Resize Panels

Drag the splitter bar between the request and response panels to adjust the layout.

5. Save to Collections

Click ★ Save to Collection to permanently save the current request.


Commands

Access these via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

| Command | Description | |---|---| | ShellReq: Focus API Client | Jump to the ShellReq sidebar | | ShellReq: Open API Client | Open the API client panel | | ShellReq: Send Request | Send the current request from the sidebar | | ShellReq: Clear Request History | Remove all history entries |


Settings

| Setting | Default | Description | |---|---|---| | shellreq.requestTimeoutMs | 30000 | HTTP request timeout in milliseconds |


Keyboard Shortcuts

| Shortcut | Action | |---|---| | Enter in URL field | Send request immediately | | Ctrl+Shift+Enter / Cmd+Shift+Enter | Send request (when ShellReq view is focused) |


Requirements

  • Visual Studio Code ^1.85.0 or later
  • No external runtime dependencies required

Development

From vscode-extension/shellreq-api-client:

npm install
npm run compile      # dev build → dist/extension.js
npm run package      # production build (minified)

Press F5 in VS Code to launch an Extension Development Host with the sidebar client loaded.


Changelog

v0.4.1

Fixes

  • Reliable draggable splitbar (mouse/touch/pointer) with persisted panel height
  • 5 MB response body cap for stability

v0.4.0

Critical fix

  • Fixed webview HTML generation broken by esbuild (sidebar UI and scripts did not load). HTML is now built with safe array joins.

New features

  • HEAD method, Format JSON body, New Request reset, Copy/Clear response, delete/clear collections
  • Auto https:// URL prefix, configurable request timeout, ShellReq: Send Request command
  • Webview retains context when hidden; improved host-not-found error messages

v0.3.1

Bug Fixes & Stability

  • Fixed draggable splitbar events.
  • Made API methods robust for POST requests lacking content lengths.
  • Fixed UI components loading and history persistence.
  • Improved defensive state handling.

v0.3.0

Bug Fixes & Stability

  • Fixed webview tab switching and draggable splitter (works with mouse and touch).
  • Stabilized message passing between webview and extension host to avoid lost updates.
  • Mirrored webview runtime bundle in dist/ so the published extension receives the fixes.

Security & Maintenance

  • Continued removal of risky runtime dependencies; networking uses Node built-ins.
  • Temporary TypeScript suppressions removed from distribution build to ensure runtime stability.

v0.2.0

New Features

  • Draggable splitter bar between request and response panels
  • Enter key in the URL field triggers send immediately
  • "Built by Mahesh Shinde" footer branding
  • Improved response viewer and placeholder states

Security Improvements

  • Removed axios runtime dependency
  • Replaced networking with Node.js built-in http/https
  • Fixed shell injection vulnerability from unsafe exec() usage
  • Removed vulnerable dependency chain from shellreq

UI Improvements

  • Cleaner compact layout
  • Better status badges
  • Improved typography and spacing
  • Scrollable response body and headers
  • Smoother tab switching and state sync

Stability Fixes

  • Fixed request/response panel rendering bugs
  • Improved persistence and collection syncing
  • Fixed multiple TypeScript/runtime issues

v0.1.2 — Production Stability Overhaul

  • Fixed UI and state synchronization bugs
  • Improved bi-directional sync between extension host and Webview
  • Added CSP for secure Webview execution
  • Added loading spinner and disabled states during requests

v0.1.1

  • Minor stability improvements and internal refactoring

v0.1.0 — Official Release

  • Native Sidebar API Client
  • Full HTTP method support
  • Collections and request history

v0.0.3 — Sidebar Experience

  • Introduced sidebar-first layout
  • Added persistent storage for collections and history

Contributing

Contributions, bug reports, and feature requests are welcome!

  1. Fork the repository
  2. Create a feature branch:
git checkout -b feature/your-feature
  1. Commit your changes and open a Pull Request

License

This project is licensed under the MIT License.


Built by Mahesh Shinde

Marketplace · GitHub · Report an Issue