mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Aliases are lighter weight than stub module functions, and easier for the dynamic import(...) dependency traversal logic to understand.
31 lines
1006 B
JavaScript
31 lines
1006 B
JavaScript
function install(name, mainModule) {
|
|
var meteorDir = {};
|
|
|
|
// Given a package name <name>, install a stub module in the
|
|
// /node_modules/meteor directory called <name>.js, so that
|
|
// require.resolve("meteor/<name>") will always return
|
|
// /node_modules/meteor/<name>.js instead of something like
|
|
// /node_modules/meteor/<name>/index.js, in the rare but possible event
|
|
// that the package contains a file called index.js (#6590).
|
|
|
|
if (typeof mainModule === "string") {
|
|
// Set up an alias from /node_modules/meteor/<package>.js to the main
|
|
// module, e.g. meteor/<package>/index.js.
|
|
meteorDir[name + ".js"] = mainModule;
|
|
} else {
|
|
// back compat with old Meteor packages
|
|
meteorDir[name + ".js"] = function (r, e, module) {
|
|
module.exports = Package[name];
|
|
};
|
|
}
|
|
|
|
meteorInstall({
|
|
node_modules: {
|
|
meteor: meteorDir
|
|
}
|
|
});
|
|
}
|
|
|
|
// This file will be modified during computeJsOutputFilesMap to include
|
|
// install(<name>) calls for every Meteor package.
|