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

oldfashionedbundler

v1.0.1

Published

Bundles and minifies script tags

Downloads

13

Readme

Extracter

Bundles all SCRIPT tags with a data-bundle="true" attribute and replaces them with the resulting bundle file. Works for local and remote files.

Usage

npm run prod

Command line arguments

  1. htmlSourceFile (index.html)
  2. htmtDestinationFile (index-prod.html)
  3. jsBundleFile (bundle.js)

So if you want to bundle the scripts in your index.html file to itself with bundle script bundle-prod.js you would use:

npm run prod index.html index.html bundle-prod.js

Attributes

You can change some behaviour with attributes:

  • Only script tags with data-bundle="true" will be bundled
  • Script tags with data-production-src will be bundled with the value of this attribute. So can be used to specify the minified version of a script.

Workflow

  • Just use good old SCRIPT tags for your scripts
  • Make use of development files
  • When going to production, run the extracter on the production server.

Notes

BASE element

The BASE element makes the browser resolve relative URL's to the href value of the BASE element. This bundler does not take this element into account. Instead it resolves all URL's relative to the current directory where you run the script. Normally this won't be an issue, but if it is, you can just specify the data-production-src for files that would otherwise be resolved in error.

Order of files

Make sure the script tags to bundle are together and no no-bundle file is between them.

Not valid:

This is not valid, as it would split the bundle in two (will be possible in a next version).

<script data-bundle="true" src="app.js"></script>
<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script data-bundle="true" src="lib.js"></script>

Valid:

<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script data-bundle="true" src="app.js"></script>
<script data-bundle="true" src="lib.js"></script>

Valid:

<script data-bundle="true" src="app.js"></script>
<script data-bundle="true" src="lib.js"></script>
<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>

Valid:

<script src="jquery.js"></script>
<script data-bundle="true" src="app.js"></script>
<script data-bundle="true" src="lib.js"></script>
<script src="jquery-ui.js"></script>