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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@webrecorder/wombat

v3.8.3

Published

Wombat is a standalone client-side URL rewriting system that performs the rewrites through targeted JavaScript overrides.

Downloads

1,018

Readme

Wombat

Wombat is a standalone client-side URL rewriting system that performs the rewrites through targeted JavaScript overrides.

Wombat was originally included in and distributed as part of pywb but has now been refactored and split off into this module for improved maintenance.

pywb release >=2.3 rely on this standalone module. This standalone module now includes a thorough testing suite that checks for the correctness of the overrides with respect to web standards.

The remaining portions of this documentation covers the development and testing of the library, as well as, the creation of the system from library.

Before we continue, please note the following terminology:

  • bundle
    A single file that is the result of concatenating multiple source files into a single file

  • bundle entry point
    The root file that imports all additional functionality required to produce the resulting bundle

Components

The Wombat client-side URL rewriting system is comprised of three files (bundles)

  • wombat.js
  • wombatProxyMode.js
  • wombatWorkers.js

These files are located in the static directory of pywb and are generated as part of the library's build step.

The library can be found in the wombat directory located in the root of the projects repository (i.e. pywb/wombat).

Note: We do not go into details of each file included in a bundle as those details are out of the scope of this documentation and ask those interested to consult the documentation included in each files source code.

wombat.js

This bundle is the primary bundle of Wombat as it is used in both non-proxy recording and replay.

The entry point for this bundle is src/wbWombat.js.

An representation of the bundles contents is shown below.

wbWombat.js
 - wombat.js
   - funcMap.js
   - customStorage.js
   - wombatLocation.js
   - listeners.js
   - autoFetchWorker.js

wombatProxyMode.js

This bundle is an stripped down version of wombat.js that applies a minimal set of overrides to the browsers JavaScript APIs in order to facilitate pywb's proxy recording mode

The entry point for this bundle is src/wbWombatProxyMode.js

An representation of the bundles contents is shown below.

wbWombatProxyMode.js
 - wombatLite.js
   - autoFetchWorkerProxyMode.js

wombatWorkers.js

This bundle is not a bundle per say but rather a flat file that applies the minimal set of overrides necessary to ensure that JavaScript web and service worker's operate as expected in both non-proxy recording and replay.