Comparing version 0.0.1 to 0.0.2
/** vim: et:ts=4:sw=4:sts=4 | ||
* @license amdefine 0.0.1 Copyright (c) 2011, The Dojo Foundation All Rights Reserved. | ||
* @license amdefine 0.0.2 Copyright (c) 2011, The Dojo Foundation All Rights Reserved. | ||
* Available via the MIT or new BSD license. | ||
@@ -7,4 +7,5 @@ * see: http://github.com/jrburke/amdefine for details | ||
/*jslint strict: false, nomen: false, plusplus: false */ | ||
/*global module, process, require: true */ | ||
/*jslint node: true */ | ||
/*global module, process */ | ||
'use strict'; | ||
@@ -15,6 +16,2 @@ var path = require('path'), | ||
// Null out require for this file so that it is not accidentally used | ||
// below, where module.require should be used instead. | ||
require = null; | ||
/** | ||
@@ -59,3 +56,3 @@ * Given a relative module name, like ./something, normalize it to | ||
function stringRequire(module, id) { | ||
function stringRequire(module, require, id) { | ||
//Split the ID by a ! so that | ||
@@ -70,3 +67,3 @@ var index = id.indexOf('!'), | ||
if (id === 'require') { | ||
return makeRequire(module); | ||
return makeRequire(module, require); | ||
} else if (id === 'exports') { | ||
@@ -77,3 +74,3 @@ return module.exports; | ||
} else { | ||
return module.require(id); | ||
return require(id); | ||
} | ||
@@ -85,3 +82,3 @@ } else { | ||
plugin = module.require(prefix); | ||
plugin = require(prefix); | ||
@@ -98,3 +95,3 @@ if (plugin.normalize) { | ||
} else { | ||
plugin.load(id, makeRequire(module), makeLoad(id), {}); | ||
plugin.load(id, makeRequire(module, require), makeLoad(id), {}); | ||
@@ -106,7 +103,7 @@ return loaderCache[id]; | ||
makeRequire = function (module) { | ||
makeRequire = function (module, require) { | ||
function amdRequire(deps, callback) { | ||
if (typeof deps === 'string') { | ||
//Synchronous, single module require('') | ||
return stringRequire(module, deps); | ||
return stringRequire(module, require, deps); | ||
} else { | ||
@@ -117,3 +114,3 @@ //Array of dependencies with a callback. | ||
deps = deps.map(function (depName) { | ||
return stringRequire(module, depName); | ||
return stringRequire(module, require, depName); | ||
}); | ||
@@ -142,5 +139,20 @@ | ||
function amdefine(module) { | ||
/** | ||
* Creates a define for node. | ||
* @param {Object} module the "module" object that is defined by Node for the | ||
* current module. | ||
* @param {Function} [require]. Node's require function for the current module. | ||
* It only needs to be passed in Node versions before 0.5, when module.require | ||
* did not exist. | ||
* @returns {Function} a define function that is usable for the current node | ||
* module. | ||
*/ | ||
function amdefine(module, require) { | ||
var alreadyCalled = false; | ||
//Favor explicit value, passed in if the module wants to support Node 0.4. | ||
require = require || function req() { | ||
return module.require.apply(module, arguments); | ||
}; | ||
//Create a define function specific to the module asking for amdefine. | ||
@@ -173,7 +185,7 @@ function define() { | ||
deps = deps.map(function (depName) { | ||
return stringRequire(module, depName); | ||
return stringRequire(module, require, depName); | ||
}); | ||
} else if (isFactoryFunction) { | ||
//Pass in the standard require, exports, module | ||
deps = [makeRequire(module), module.exports, module]; | ||
deps = [makeRequire(module, require), module.exports, module]; | ||
} | ||
@@ -199,2 +211,2 @@ | ||
module.exports = amdefine; | ||
module.exports = amdefine; |
{ | ||
"name": "amdefine", | ||
"description": "Provide AMD's define() API for declaring modules in the AMD format", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"homepage": "http://github.com/jrburke/amdefine.js", | ||
@@ -19,4 +19,4 @@ "author": "James Burke <jrburke@gmail.com> (http://github.com/jrburke)", | ||
"engines": { | ||
"node": ">=0.6.0" | ||
"node": ">=0.4.2" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
9505
169
4