Skip to content

Commit 9a99014

Browse files
committed
chore: added comments to beforepluginhook
1 parent f6c5eca commit 9a99014

File tree

2 files changed

+62
-19
lines changed

2 files changed

+62
-19
lines changed

hooks.es6/beforePluginInstallHook.js

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,34 @@
11
'use strict';
22

3-
function installNodeModule(exec, modules, callback) {
3+
// installs the node modules via npm install one at a time
4+
// @return {callback(error)}
5+
function installNodeModules(exec, modules, callback) {
6+
// base case
47
if (modules.length <= 0) {
58
return callback(false);
69
}
710

11+
// install one at a time
812
var module = modules.pop();
9-
var install = 'npm install --prefix ./plugins/io.branch.sdk -D ' + module;
10-
1113
console.log('Installing "' + module + '"');
14+
15+
var install = 'npm install --prefix ./plugins/io.branch.sdk -D ' + module;
1216
exec(install, function(err, stdout, stderr) {
17+
// handle error
1318
if (err) {
1419
console.error('Failed to install Branch Dependency: "' + module + '"');
1520
return callback(true);
1621
}
22+
// next module
1723
else {
18-
installNodeModule(exec, modules, callback);
24+
installNodeModules(exec, modules, callback);
1925
}
2026
});
2127
}
2228

23-
function getUninstalledNodeModules(dependencies) {
29+
// checks to see which node modules need to be installed
30+
// @return {[string]} of node modules from package.json.dependencies
31+
function getNodeModulesToInstall(dependencies) {
2432
var modules = [];
2533
for (var module in dependencies) {
2634
if (dependencies.hasOwnProperty(module)) {
@@ -34,6 +42,8 @@ function getUninstalledNodeModules(dependencies) {
3442
return modules;
3543
}
3644

45+
// if the Branch SDK package has already been installed
46+
// @return {boolean} based on .installed file is found
3747
function getPackageInstalled(filesave, installFlagLocation) {
3848
try {
3949
var exists = filesave.readFileSync(installFlagLocation);
@@ -43,12 +53,16 @@ function getPackageInstalled(filesave, installFlagLocation) {
4353
}
4454
}
4555

56+
// set that the Branch SDK package has been installed
57+
// @return {void} based on .installed file is created
4658
function setPackageInstalled(filesave, installFlagLocation) {
4759
filesave.closeSync(filesave.openSync(installFlagLocation, 'w'));
4860
}
4961

50-
// hook's entry point
62+
// hooks entry point
63+
// @return {void} based on async npm install completion
5164
module.exports = function(context) {
65+
// properties
5266
var q = context.requireCordovaModule('q');
5367
var async = new q.defer();
5468
var filesave = require('fs');
@@ -58,20 +72,26 @@ module.exports = function(context) {
5872
var installFlagLocation = path.join(context.opts.projectRoot, 'plugins', context.opts.plugin.id, installFlagName);
5973
var dependencies = require(path.join(context.opts.projectRoot, 'plugins', context.opts.plugin.id, 'package.json')).dependencies;
6074

75+
// only run once
6176
if (getPackageInstalled(filesave, installFlagLocation)) {
6277
return;
6378
}
6479

65-
var modules = getUninstalledNodeModules(dependencies);
66-
installNodeModule(exec, modules, function(err) {
80+
// install node modules
81+
var modules = getNodeModulesToInstall(dependencies);
82+
installNodeModules(exec, modules, function(err) {
83+
// handle error
6784
if (err) {
6885
console.error('Failed to install the Branch SDK');
6986
}
87+
// only run once
7088
else {
7189
setPackageInstalled(filesave, installFlagLocation);
7290
}
91+
// async complete
7392
async.resolve();
7493
});
7594

95+
// wait until callbacks from the all the npm install complete
7696
return async.promise;
7797
};

hooks/beforePluginInstallHook.js

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,35 @@
11
'use strict';
22

3-
function installNodeModule(exec, modules, callback) {
3+
// installs the node modules via npm install one at a time
4+
// @return {callback(error)}
5+
6+
function installNodeModules(exec, modules, callback) {
7+
// base case
48
if (modules.length <= 0) {
59
return callback(false);
610
}
711

12+
// install one at a time
813
var module = modules.pop();
9-
var install = 'npm install --prefix ./plugins/io.branch.sdk -D ' + module;
10-
1114
console.log('Installing "' + module + '"');
15+
16+
var install = 'npm install --prefix ./plugins/io.branch.sdk -D ' + module;
1217
exec(install, function (err, stdout, stderr) {
18+
// handle error
1319
if (err) {
1420
console.error('Failed to install Branch Dependency: "' + module + '"');
1521
return callback(true);
16-
} else {
17-
installNodeModule(exec, modules, callback);
1822
}
23+
// next module
24+
else {
25+
installNodeModules(exec, modules, callback);
26+
}
1927
});
2028
}
2129

22-
function getUninstalledNodeModules(dependencies) {
30+
// checks to see which node modules need to be installed
31+
// @return {[string]} of node modules from package.json.dependencies
32+
function getNodeModulesToInstall(dependencies) {
2333
var modules = [];
2434
for (var module in dependencies) {
2535
if (dependencies.hasOwnProperty(module)) {
@@ -33,6 +43,8 @@ function getUninstalledNodeModules(dependencies) {
3343
return modules;
3444
}
3545

46+
// if the Branch SDK package has already been installed
47+
// @return {boolean} based on .installed file is found
3648
function getPackageInstalled(filesave, installFlagLocation) {
3749
try {
3850
var exists = filesave.readFileSync(installFlagLocation);
@@ -42,12 +54,16 @@ function getPackageInstalled(filesave, installFlagLocation) {
4254
}
4355
}
4456

57+
// set that the Branch SDK package has been installed
58+
// @return {void} based on .installed file is created
4559
function setPackageInstalled(filesave, installFlagLocation) {
4660
filesave.closeSync(filesave.openSync(installFlagLocation, 'w'));
4761
}
4862

49-
// hook's entry point
63+
// hooks entry point
64+
// @return {void} based on async npm install completion
5065
module.exports = function (context) {
66+
// properties
5167
var q = context.requireCordovaModule('q');
5268
var async = new q.defer();
5369
var filesave = require('fs');
@@ -57,19 +73,26 @@ module.exports = function (context) {
5773
var installFlagLocation = path.join(context.opts.projectRoot, 'plugins', context.opts.plugin.id, installFlagName);
5874
var dependencies = require(path.join(context.opts.projectRoot, 'plugins', context.opts.plugin.id, 'package.json')).dependencies;
5975

76+
// only run once
6077
if (getPackageInstalled(filesave, installFlagLocation)) {
6178
return;
6279
}
6380

64-
var modules = getUninstalledNodeModules(dependencies);
65-
installNodeModule(exec, modules, function (err) {
81+
// install node modules
82+
var modules = getNodeModulesToInstall(dependencies);
83+
installNodeModules(exec, modules, function (err) {
84+
// handle error
6685
if (err) {
6786
console.error('Failed to install the Branch SDK');
68-
} else {
69-
setPackageInstalled(filesave, installFlagLocation);
7087
}
88+
// only run once
89+
else {
90+
setPackageInstalled(filesave, installFlagLocation);
91+
}
92+
// async complete
7193
async.resolve();
7294
});
7395

96+
// wait until callbacks from the all the npm install complete
7497
return async.promise;
7598
};

0 commit comments

Comments
 (0)