Comparing version 0.2.0 to 0.3.0
@@ -7,1 +7,2 @@ var bldr = require('../..')('ex', __filename, {appDir: __dirname}); | ||
bldr.browser('./init'); | ||
module.exports = bldr.ex; |
@@ -7,3 +7,4 @@ var fs = require('fs'); | ||
server.use(express.static(__dirname + '/www')); | ||
var app = require('./app'); | ||
var ex = require('./app'); | ||
var bldr = require('..')('ex', __filename); | ||
@@ -15,4 +16,3 @@ var user = new ex.models.User({name: 'bldr'}); | ||
if (dev) { | ||
// Add this route in dev mode, to serve content from your dev directory | ||
server.use('/dev', express.static(__dirname)); | ||
bldr.installExpress(server, {rootDir: __dirname}); | ||
} | ||
@@ -19,0 +19,0 @@ |
@@ -5,4 +5,4 @@ var fs = require('fs'); | ||
var keysToInit = function(segments, global, skipLast) { | ||
var root = global; | ||
var keysToInit = function(segments, g, skipLast) { | ||
var root = g; | ||
var notDefined = false; | ||
@@ -47,12 +47,12 @@ return segments.map(function(k, i) { | ||
if (src.match(/module\.exports/)) { | ||
if (!initKeys) initKeys = keysToInit(info.segments, data.global, true); | ||
if (!initKeys) initKeys = keysToInit(info.segments, data.defined, true); | ||
src = src.replace(/module\.exports/, info.segments.join('.')); | ||
} else { | ||
if (!initKeys) initKeys = keysToInit(info.segments, data.global); | ||
if (!initKeys) initKeys = keysToInit(info.segments, data.defined); | ||
src = src.replace(/exports/g, info.segments.join('.')); | ||
} | ||
src = initKeys.map(function(k) { | ||
return k ? (k.match(/\./) ? '' : 'var ') + k + ' = {};\n' : ''; | ||
return k ? k + ' = {};\n' : ''; | ||
}).join('') + src; | ||
var root = data.global; | ||
var root = data.defined; | ||
info.segments.forEach(function(k) { | ||
@@ -59,0 +59,0 @@ if (!root[k]) root[k] = {}; |
@@ -28,8 +28,9 @@ var fs = require('fs'); | ||
exported: {}, | ||
usedDefine: false, | ||
sources: {}, | ||
global: {}, | ||
defined: {}, | ||
transforms: {} | ||
}; | ||
lookupPackageData(attrs); | ||
attrs.global[attrs.appGlobal] = {}; | ||
} | ||
@@ -42,5 +43,2 @@ return attrs; | ||
var data = fetchData(key); | ||
if (key === 'todo') { | ||
data.appDir = "/Users/wlarsen/Sites/play/react/todomvc-flux/lib/app"; | ||
} | ||
@@ -62,7 +60,6 @@ // Dir we are requiring things from. | ||
var relativeToAppDir = path.relative(data.appDir, fullPath); | ||
var segments = relativeToAppDir.split('/'); | ||
if (options.global || data.appGlobal) segments = [options.global || data.appGlobal].concat(segments); | ||
var segments = [data.appGlobal].concat(relativeToAppDir.split('/')); | ||
var root = global; | ||
segments.slice(0, segments.length - 1).forEach(function(seg) { | ||
var root = data.global[data.appGlobal]; | ||
segments.slice(1, segments.length - 1).forEach(function(seg) { | ||
root[seg] = root[seg] || {}; | ||
@@ -107,3 +104,2 @@ root = root[seg]; | ||
opts.define = true; | ||
data.usedDefine = true; | ||
return this.require(requirePath, opts); | ||
@@ -159,2 +155,4 @@ }, | ||
api[data.appGlobal] = data.global[data.appGlobal]; | ||
return api; | ||
@@ -161,0 +159,0 @@ }; |
{ | ||
"name": "bldr", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "bldr browser/define/require, a node/browser module builder", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -33,3 +33,2 @@ var path = require('path'); | ||
expect(data.appList[path.join(__dirname, 'fixtures/exports.js')].segments).to.be.false; | ||
expect(data.usedDefine).to.be.false; | ||
}); | ||
@@ -40,7 +39,6 @@ | ||
expect(mod.msg).to.exist; | ||
expect(testbldr.fixtures.exports.msg).to.exist; | ||
expect(bldr.testbldr.fixtures.exports.msg).to.exist; | ||
expect(Object.keys(data.appList).length).to.equal(1); | ||
var info = data.appList[path.join(__dirname, 'fixtures/exports.js')]; | ||
expect(info.segments).to.eql(['testbldr','fixtures','exports']); | ||
expect(data.usedDefine).to.equal(true); | ||
}); | ||
@@ -51,3 +49,3 @@ | ||
expect(mod.msg).to.exist; | ||
expect(testbldr.fixtures.exports.msg).to.exist; | ||
expect(bldr.testbldr.fixtures.exports.msg).to.exist; | ||
}); | ||
@@ -71,4 +69,4 @@ | ||
bldr.define('./fixtures/export*.js'); | ||
expect(testbldr.fixtures.exports.msg).to.exist; | ||
expect(testbldr.fixtures.exportmore.msg).to.exist; | ||
expect(bldr.testbldr.fixtures.exports.msg).to.exist; | ||
expect(bldr.testbldr.fixtures.exportmore.msg).to.exist; | ||
expect(Object.keys(data.appList).length).to.equal(2); | ||
@@ -75,0 +73,0 @@ }); |
@@ -22,3 +22,2 @@ var fs = require('fs'); | ||
delete b.store['testbldr']; | ||
testbldr = undefined; | ||
options = {rootDir: path.join(__dirname, 'fixtures')}; | ||
@@ -57,2 +56,3 @@ bldr = b('testbldr', __filename, {appDir: path.join(__dirname, 'fixtures')}); | ||
checkResult(this.test, builder.make(data, options)); | ||
expect(typeof testglobal).to.equal('undefined'); | ||
}); | ||
@@ -59,0 +59,0 @@ |
;(function() { | ||
// exportmore.js | ||
var testbldr = {}; | ||
testbldr = {}; | ||
testbldr.fixtures = {}; | ||
@@ -6,0 +6,0 @@ testbldr.fixtures.exportmore = { |
;(function() { | ||
// exports.js | ||
var testbldr = {}; | ||
testbldr = {}; | ||
testbldr.exports = {}; | ||
@@ -6,0 +6,0 @@ testbldr.exports.msg = function() { |
;(function() { | ||
// exports.js | ||
var testbldr = {}; | ||
testbldr = {}; | ||
testbldr.exports = {}; | ||
@@ -6,0 +6,0 @@ testbldr.exports.msg = function() { |
280359
8288