diff --git a/lib/jquery.sizes.js b/lib/jquery.sizes.js index 5aaa695..421e7bd 100755 --- a/lib/jquery.sizes.js +++ b/lib/jquery.sizes.js @@ -6,7 +6,36 @@ * All rights reserved. */ /*global jQuery*/ -(function ($) { + +// https://github.com/umdjs/umd/blob/master/templates/jqueryPlugin.js +// Uses CommonJS, AMD or browser globals to create a jQuery plugin. +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { 'use strict'; var num = function (value) { return parseInt(value, 10) || 0; @@ -73,4 +102,4 @@ return this; }; }); -}(jQuery)); +})); diff --git a/package.json b/package.json index 8fbb07c..a883aaf 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "jquery-sizes", "version": "0.33.0", "description": "jQuery extension plugin for CSS properties", + "main": "lib/jquery.sizes.js", "keywords": [ "jQuery sizes jsizes" ], @@ -34,4 +35,4 @@ "env": "env", "echo": "echo \"\"" } -} \ No newline at end of file +}