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

@info.nl/bootload

v0.1.2

Published

Conditional script and style resource loading for the browser.

Readme

bootload npm version code climate

Conditional script and style resource loading for the browser.

Installation

$ npm install @info.nl/bootload

Benefits

  • conservative cut the mustard feature tests
  • expose assets to the preload scanner with declarative syntax
  • asynchronous loading, no blocking
  • scripts are executed in order of declaration
    • beware that the DOMContentLoaded event might have already fired at this point
  • progressive enhancement
  • not YADSL
  • specification conforming

API

  • the HEAD element must have an itemscope attribute
  • resources are declared with LINK elements that have
    • a required itemprop attribute with one of the following values
      • style-resource
      • script-resource
    • a required href attribute with the resource URL
    • an optional media attribute with a media query
      • the media query is only evaluated once, when the bootload script is executed; use it with caution and common sense
    • an optional rel attribute with a resource hint value (but don't shoot yourself in the foot)
  • the bootload script succeeds those LINK elements (preferably in the HEAD element as well and inline)

Usage

Since the bootload script should always be included inline, the module exports the script as a string that can directly be used with a template engine.

var bootload = require('@info.nl/bootload');

Normal style sheets links should be placed after this inline script because the CSSOM blocks script execution: https://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/

React example

import bootload from '@info.nl/bootload';

<head itemscope>
  [...]
  <link itemprop="style-resource" href="beep.css" />
  <link itemprop="script-resource" href="beep.js" />
  <link itemprop="script-resource" href="boop.js" />
  <script
    dangerouslySetInnerHTML={{__html: bootload}}
    ></script>
  <link href="mobile-first.js" rel="stylesheet" />
</head>

License

MIT