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

@etools-plugin/devtools

v1.1.0

Published

Developer tools plugin for ETools - JSON formatter, Base64 encoder/decoder, URL encoder, and more

Readme

@etools-plugin/devtools

Developer tools plugin for ETools - A collection of useful developer utilities with a modern UI that follows etools design system.

Features

  • JSON Formatter: Format and validate JSON data
  • Base64 Encoder/Decoder: Encode and decode Base64 strings
  • URL Encoder/Decoder: Encode and decode URL components
  • Hash Generator: Generate MD5, SHA-1, and SHA-256 hashes
  • Timestamp Converter: Convert Unix timestamps to readable dates
  • UUID Generator: Generate random UUID v4
  • Interactive UI: Visual interface using etools design system (local plugin only)

Installation

This plugin is available in the ETools Plugin Marketplace.

  1. Open ETools
  2. Go to Settings → Plugins
  3. Search for "Developer Tools"
  4. Click Install

Usage

Command Line Interface

JSON Formatter

json: {"name":"test","value":123}

Base64 Encode

base64: Hello World

Base64 Decode

base64: SGVsbG8gV29ybGQ=

URL Encode

url: hello world

Hash Generator

hash:md5 mytext
hash:sha1 mytext
hash:sha256 mytext

Timestamp Converter

ts: 1704067200

UUID Generator

uuid:

Interactive UI

When installed as a local plugin, this plugin provides a visual interface:

ui:

The UI features:

  • Tool selection grid with icons and descriptions
  • Real-time input/output display
  • Visual feedback with badges and status indicators
  • Quick action buttons for common use cases
  • Consistent design using etools design tokens

UI Design

The plugin UI follows etools design system guidelines:

Design Tokens

  • Uses etools color system for consistency
  • Implements proper spacing and typography scales
  • Follows border radius and shadow standards
  • Responsive layout with proper transitions

Components

  • Built with etools UI components (PluginUIContainer, Button, Input, Card, Badge)
  • Proper state management and error handling
  • Accessible keyboard navigation
  • Loading states and visual feedback

Styling

  • CSS Modules for component isolation
  • Design token variables for theming
  • Support for light and dark modes
  • Smooth animations and transitions

Development

Prerequisites

  • Node.js 18+
  • npm or pnpm

Setup

# Install dependencies
npm install

# Build without UI
npm run build

# Build with UI
npm run build:ui

# Watch mode (without UI)
npm run dev

# Watch mode (with UI)
npm run dev:ui

Project Structure

etools-devtools-plugin/
├── src/
│   ├── index.ts       # Main plugin logic
│   ├── ui.tsx         # React UI component
│   ├── ui.css         # Component styles
│   └── types.ts       # Type definitions
├── dist/              # Build output
├── package.json
├── tsconfig.json
└── README.md

UI Development

The UI component uses:

  • React 18+ for component rendering
  • etools plugin-sdk for UI components
  • CSS Modules + Design Tokens for styling
  • TypeScript for type safety

When building with UI support:

  1. Ensure React is installed as a peer dependency
  2. Use npm run build:ui to include UI components
  3. The getUIComponent() function allows dynamic loading

Building for Distribution

# Build without UI (NPM package)
npm run build
# Output: dist/index.mjs, dist/index.d.mts

# Build with UI (local plugin)
npm run build:ui
# Output: Includes dist/ui.mjs, dist/ui.d.mts

Design Guidelines

When contributing to this plugin:

  1. Follow etools Design System

    • Use design tokens from design-tokens.css
    • Match spacing, typography, and color scales
    • Maintain consistent component styling
  2. Component Usage

    • Prefer etools UI components over custom ones
    • Use PluginUIContainer for consistency
    • Follow component variant patterns
  3. Accessibility

    • Ensure keyboard navigation works
    • Provide proper ARIA labels
    • Maintain focus management
  4. Performance

    • Lazy load UI components
    • Use React.memo where appropriate
    • Optimize re-renders

License

MIT © ETools Team

Support