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

webpack-reflect

v1.0.4

Published

Provides rudimentary runtime reflective capabilities over a Webpack bundle.

Downloads

6

Readme

Webpack Reflect

Provides rudimentary runtime reflective capabilities over a Webpack bundle.

Webpack Reflect will tell you- at runtime and from the console- what is in your bundle and give you tools to require it.

As opposed to webpack-runtime-require, WebpackReflect is a plugin.

Usage

Add the plugin to your webpack configuration file (often webpack.config.js):

var WebpackReflectPlugin= require("webpack-reflect").Plugin
module.exports= {
	plugins: [
		new WebpackReflectPlugin()
		// ....
	]
	// ....
}

From there, there are three options for consuming:

  1. Use reflection.js from other components in your bundle to reflect
  2. Use require.js from other componenets in your bundle to dynamically quasi-require().
  3. Ask for global.js from other components in your bundle to install a window.reflectRequire that can be used from the console!

Entrypoint file:

import { default as _ } "lodash"
import "webpack-reflect/global"
_.defaults({a: 1}, {b: 2})

Then from the console you can: var _ = reflectRequire("lodash") to get your lodash module!

Note that Webpack will not expose unused exports, and at the moment Webpack-Reflect has no built in tooling to combat this masking (the code is in many times included in the bundle but Webpack wrapper only makes available exports it intends to use). If you have exports you want, make sure you use them inside your bundle! Also note that Webpack is awfully tricky about sniffing for dead-code; it will statically discard this tree, replacing your 1+1 == 1 conditional with a false and ignoring the lodash usage; if(1 == 2){ _.default({a: 1}, {b: 2}) }.