sdecima / javascript-detect-element-resize

A Cross-Browser, Event-based, Element Resize Detection
MIT License
881 stars 151 forks source link

Added package.json for NPM #11

Closed sverrejoh closed 9 years ago

sverrejoh commented 9 years ago

I added a package.json so the module can be installed as an NPM package with Browserify.

With this you can install the package with npm:

$ npm install git+https://github.com/sverrejoh/javascript-detect-element-resize

And then use the page with require from your Browserify project:

// Content of index.js
require("javascript-detect-element-resize");

Build into one bundle containing everything with Browserify:

browserify index.js > bundle.js

I didn't change the code at all, this is just metadata.

I think it would be nice if the package had its own namespace, which exported addResizeListener and removeResizeListener, so you could use the code like this (instead of putting it on window):

var detectResize = require("javascript-detect-element-resize");
detectResize.addResizeListener(element, func);

But this requires some change in your code, and build step, so I didn't want to start on it.

Using Browserify you could have the canonical version as a Browserify/CommonJS module, and then just from that generate a package that works standalone, or with AMD/Bower.

https://github.com/substack/browserify-handbook#standalone

As I said, a little bit of changes, but I'd love to help if you're interested :).

sdecima commented 9 years ago

Thanks @sverrejoh, I just created #12 for evaluating your recommendation (so I don't forget now that I merged/closed this pull request.

alexlawrence commented 9 years ago

+1. Exporting a separate object would really be useful in order to not pollute the global namespace. You could use https://github.com/umdjs/umd in order to export the correct format for all environments.