Skip to content

Commit

Permalink
fixed install. its important
Browse files Browse the repository at this point in the history
  • Loading branch information
soldair committed Jun 3, 2013
1 parent bb6251f commit 15224d0
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 11 deletions.
3 changes: 2 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

var publish = require('./lib/publish')
var info = require('./lib/info')
var install = require('./lib/info')
var install = require('./lib/install')
var log = require('./lib/log');

// can put a package in s3
Expand All @@ -26,6 +26,7 @@ module.exports = function(config){
});
},
install:function(config){

install(config,config._[1],function(err,data){
if(err) return log('error',err);
log('success',data);
Expand Down
8 changes: 5 additions & 3 deletions lib/exec.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
var exec = require('child_process').exec;
var path = require('path');
var fs = require('fs');
var npm = require('npm');
//var npm = require('npm');

module.exports.pack = function(packagedir,cb){
/*npm.load({},function(){
/*
npm.load({},function(){
npm.commands.pack([root],true,function(err,files){
console.log('PACK!!!! ',files);
cb(err,files?files[0]:false);
});
});
*/

exec('cd "'+packagedir+'"; npm pack',function(err,stdout,stderr){

if(err) {
Expand All @@ -25,6 +26,7 @@ module.exports.pack = function(packagedir,cb){
return cb(undefined,tarpath,stat);
});
});


}

Expand Down
12 changes: 9 additions & 3 deletions lib/info.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
var knox = require('knox');
var s3error = require('./s3error');
var log = require('./log');

// returns the whole json doc for package
module.exports = function(config,s3packagename,cb){

// bucket/module
var parts = s3packagename.split('/')
if(parts.length < 2) return cb(new Error('could not determine s3 bucket from '+s3packagename));
if(!s3packagename) return cb(new Error('package name require'));

var parts = (s3packagename||'').split('/')
if(parts.length == 1){
log('warn','package.json did not define an s3bucket using default ',config.defaultBucket);
parts.unshift(config.defaultBucket);
}

var bucket = parts.shift();
var module = parts.join('/');
Expand All @@ -16,7 +23,6 @@ module.exports = function(config,s3packagename,cb){
secret:config.secret,
bucket:bucket
});


client.getFile(module+'.json',function(err,res){
if(calledback) return;
Expand Down
17 changes: 14 additions & 3 deletions lib/install.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module.exports = function(config,module,cb){

log('info','npm loaded',Date.now()-s,'ms');

var deps = config.dependenciesKey || package.s3dependencies|| package.s3Dependencies;
var deps = package[config.dependenciesKey || package.s3dependencies|| package.s3Dependencies];

if(module) {

Expand All @@ -35,10 +35,21 @@ module.exports = function(config,module,cb){
deps = [module+'@latest'];

} else if(!(deps instanceof Array)) {

var _deps = [];
Object.keys(deps).forEach(function(name,k){
deps.push(name+'@'+deps[name]);
var version = deps[name];
if(name.indexOf('/') === -1){

if(config.defaultBucket) {
//prepend default bucket
name = config.defaultBucket+'/'+name
log('info','adding defauilt bucket to module name ',name);

} else {
log('warn','No bucket on module name and no default bucket in config. I probably wont be able to find your module',name);
}
}
_deps.push(name+'@'+version);
});
deps = _deps;

Expand Down
3 changes: 3 additions & 0 deletions lib/publish.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ module.exports = function(config,cb){
//
// put json
//
console.log('PUT JSON ',packagejson.s3bucket);
console.log('PUT JSON ',packagejson.name);

var req = client.put(packagejson.name+'.json',{
'Content-Length': jsonstr.length
, 'Content-Type': 'application/json'
Expand Down
13 changes: 12 additions & 1 deletion lib/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ var knox = require('knox');
var log = require('./log');
var info = require('./info');
var modulebucket = require('./modulebucket');
var semver = require('semver');

module.exports = function(config,cb){
var server;
Expand Down Expand Up @@ -46,9 +47,19 @@ module.exports = function(config,cb){
};

if(data){
log('info','fetching info from s3 ');
log('info','fetching info from s3 for',data.module);
var s = Date.now();

// support modulename/version
if(data.module.indexOf('/') > -1) {
var parts = data.module.split('/');
if(semver.valid(parts[parts.length-1])){
// explicit versioned url. for now deliver default json.
parts.pop();
data.module = parts.join('/');
}
}

info(config,data.bucket+'/'+data.module,function(err,json){

if(err) log('warn','error getting ',module,' data from s3',Date.now()-s,'ms');
Expand Down

0 comments on commit 15224d0

Please sign in to comment.