stalker-apps-base
Version:
MAG Core Platform meta-package with all base applications.
56 lines (44 loc) • 2.07 kB
JavaScript
;
var exec = require('child_process').exec,
path = require('path'),
os = require('os'),
fs = require('fs');
fs.readFile(path.join(__dirname, '..', 'package.json'), function ( error, pckJson ) {
var modulesDir = path.join(__dirname, '..', 'node_modules'),
publishDir;
pckJson = JSON.parse(pckJson);
publishDir = path.join(os.tmpdir(), pckJson.name + '.' + pckJson.version);
fs.mkdir(publishDir, function () {
Object.keys(pckJson.dependencies).forEach(function ( dependency ) {
exec('cp -ar ' +
path.join(modulesDir, dependency) + ' ' +
path.join(publishDir, dependency)
, function () {
fs.readFile(path.join(publishDir, dependency, 'package.json'), function ( error, data ) {
var normalPckg = {};
console.log(error);
data = JSON.parse(data);
Object.keys(data).forEach(function ( key ) {
if ( key.substring(0, 1) !== '_' ) {
normalPckg[key] = data[key];
}
});
fs.writeFile(path.join(publishDir, dependency, 'package.json'), JSON.stringify(normalPckg), function ( error ) {
if ( error ) {
throw error;
}
exec('npm publish', {cwd: path.join(publishDir, dependency)}, function ( error ) {
if ( error ) {
console.log(error);
} else {
console.log(dependency + ' published successfully');
}
console.log('PUBLISH DIR ' + publishDir)
});
});
});
});
});
});
});