summaryrefslogtreecommitdiffstats
path: root/src/wwwroot/libraries/fomantic/tasks/admin/register.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/wwwroot/libraries/fomantic/tasks/admin/register.js')
-rw-r--r--src/wwwroot/libraries/fomantic/tasks/admin/register.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/wwwroot/libraries/fomantic/tasks/admin/register.js b/src/wwwroot/libraries/fomantic/tasks/admin/register.js
new file mode 100644
index 0000000..d45dd29
--- /dev/null
+++ b/src/wwwroot/libraries/fomantic/tasks/admin/register.js
@@ -0,0 +1,55 @@
+/*******************************
+ Register PM
+*******************************/
+
+/*
+ Task to register component repos with Package Managers
+ * Registers component with bower
+ * Registers component with NPM
+*/
+
+var
+ // node dependencies
+ process = require('child_process'),
+
+ // config
+ release = require('../config/admin/release'),
+
+ // register components and distributions
+ repos = release.distributions.concat(release.components),
+ total = repos.length,
+ index = -1,
+
+ stream,
+ stepRepo
+;
+
+module.exports = function(callback) {
+
+ console.log('Registering repos with package managers');
+
+ // Do Git commands synchronously per component, to avoid issues
+ stepRepo = function() {
+ index = index + 1;
+ if(index >= total) {
+ callback();
+ return;
+ }
+ var
+ repo = repos[index].toLowerCase(),
+ outputDirectory = release.outputRoot + repo + '/',
+ exec = process.exec,
+ execSettings = {cwd: outputDirectory},
+ updateNPM = 'npm publish;meteor publish;'
+ ;
+
+ /* Register with NPM */
+ exec(updateNPM, execSettings, function(err, stdout, stderr) {
+ console.log(err, stdout, stderr);
+ stepRepo();
+ });
+
+ };
+ stepRepo();
+};
+