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

jwebgen

v0.1.2

Published

CLI to scaffold Jakarta Servlet/JSP apps with build, deploy, and dev scripts.

Readme

jwebgen

Small CLI to scaffold Servlet/JSP (Jakarta) web apps and wire up build, deploy, and dev scripts.

You need: Node 22.x+ (LTS supported), JDK 11+, Maven. Works on Linux, macOS, Windows. Generated projects lean on Node scripts (.mjs); .sh wrappers are optional.

Install

From npm (Node 22.x+):

npm install -g jwebgen@latest
# prereleases from branch next:
npm install -g jwebgen@next
# or: npx jwebgen@latest --help

npx jwebgen (without a path) resolves the published package from the registry, not a local clone.

From a clone:

git clone https://github.com/Mourtalla-8/jwebgen
cd jwebgen
npm ci
npm i -g .

Without global install, run the local CLI from the repo root, for example node bin/jwebgen.js --help or npx . --help.

New project

jwebgen --new myapp              # interactive
jwebgen --new myapp --yes        # no prompts (server chosen on first --dev / --deploy)
jwebgen --new myapp --yes --tomcat

Tooling sits in .jwebgen/; the Maven tree stays normal (src/, pom.xml, target/).

jwebgen --build
jwebgen --deploy
jwebgen --dev          # or --watch
jwebgen --status

Full flag list: jwebgen --help.

Setup / installs

jwebgen --setup checks Java, Maven, Tomcat/WildFly (real probes where it can). --setup --dry-run only prints what it would do. Java installs go through --setup, not --install.

jwebgen --install maven|tomcat|wildfly is for non-interactive tooling installs (mainly Windows portable flows).

Paths and ports

Set TOMCAT_HOME / CATALINA_HOME and WILDFLY_HOME (or WILDFLY_DEPLOYMENTS) if your layout isn’t the usual package or Homebrew paths. JWEBGEN_HTTP_PORT changes the app URL in --status and scripts.

Two services on :8080 will bite you—stop one or change the port.

Smoke test (from repo)

npm ci
npm run smoke:global-install

Troubleshooting & contributing

TROUBLESHOOTING.md · CONTRIBUTING.md

Releases are automated with semantic-release on push to main (stable, npm latest) and next (prereleases, npm next). Use Conventional Commits; workflow: develop → PR → next → PR → main. See CONTRIBUTING.md. Workflows live under .github/workflows/.