Skip to content

Instantly share code, notes, and snippets.

@deepal
Last active September 25, 2019 15:20
Show Gist options
  • Select an option

  • Save deepal/9fb99198c874b9ac297f3a3bf720bbc3 to your computer and use it in GitHub Desktop.

Select an option

Save deepal/9fb99198c874b9ac297f3a3bf720bbc3 to your computer and use it in GitHub Desktop.
global.baapan = async (requiredModule) => {
const [moduleName] = parsePath(requiredModule);
if (!moduleName) {
return console.error('Invalid module name provided!');
}
return new Promise((resolve, reject) => {
try {
resolve(require(requiredModule));
} catch (err) {
npm.load({
loaded: false,
loglevel: 'silent',
force: true,
progress: false
}, function (err) {
if (err) return reject(err);
npm.commands.install([moduleName], function (er, [[mName, mPath]]) {
if (er) return reject(er);
return resolve(require(requiredModule));
});
});
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment