Add basic browser build

This commit is contained in:
Ritchie Martori 2014-01-28 17:52:46 -08:00
parent 13f67385d0
commit 766981ebba
4 changed files with 27370 additions and 13 deletions

27324
dist/loopback.js vendored Normal file

File diff suppressed because it is too large Load Diff

7
lib/browser-express.js Normal file
View File

@ -0,0 +1,7 @@
module.exports = browserExpress;
function browserExpress() {
return {};
}
browserExpress.errorHandler = {};

View File

@ -8,7 +8,6 @@ var express = require('express')
, EventEmitter = require('events').EventEmitter
, path = require('path')
, proto = require('./application')
, utils = require('express/node_modules/connect').utils
, DataSource = require('loopback-datasource-juggler').DataSource
, ModelBuilder = require('loopback-datasource-juggler').ModelBuilder
, assert = require('assert')
@ -55,7 +54,7 @@ loopback.compat = require('./compat');
function createApplication() {
var app = express();
utils.merge(app, proto);
merge(app, proto);
return app;
}
@ -75,16 +74,20 @@ for (var key in express) {
/*!
* Expose additional loopback middleware
* for example `loopback.configure` etc.
*
* ***only in node***
*/
fs
.readdirSync(path.join(__dirname, 'middleware'))
.filter(function (file) {
return file.match(/\.js$/);
})
.forEach(function (m) {
loopback[m.replace(/\.js$/, '')] = require('./middleware/' + m);
});
if (typeof window === 'undefined') {
fs
.readdirSync(path.join(__dirname, 'middleware'))
.filter(function (file) {
return file.match(/\.js$/);
})
.forEach(function (m) {
loopback[m.replace(/\.js$/, '')] = require('./middleware/' + m);
});
}
/*!
* Error handler title
@ -284,6 +287,15 @@ loopback.autoAttachModel = function(ModelCtor) {
}
}
function merge(a, b){
if (a && b) {
for (var key in b) {
a[key] = b[key];
}
}
return a;
}
/*
* Built in models / services
*/

View File

@ -11,7 +11,11 @@
],
"version": "1.6.1",
"scripts": {
"test": "mocha -R spec"
"test": "mocha -R spec",
"build-js": "mkdir -p dist && ./node_modules/.bin/browserify index.js -s loopback -o dist/loopback.js --ignore passport --ignore ./lib-cov/express --ignore ./lib-cov/connect --ignore nodemailer",
"watch-js": "mkdir -p dist && ./node_modules/.bin/watchify index.js -s loopback -o dist/loopback.js",
"uglify": "./node_modules/.bin/uglifyjs dist/loopback.js -mc > dist/loopback.min.js",
"build": "npm run build-js && npm run uglify"
},
"dependencies": {
"debug": "~0.7.2",
@ -38,11 +42,21 @@
"strong-task-emitter": "0.0.x",
"supertest": "~0.8.1",
"chai": "~1.8.1",
"loopback-testing": "~0.1.0"
"loopback-testing": "~0.1.0",
"watchify": "~0.4.1",
"uglify-js": "~2.4.6",
"jshint": "~2.3.0",
"browserify": "~3.14.1"
},
"repository": {
"type": "git",
"url": "https://github.com/strongloop/loopback"
},
"license": "MIT"
"license": "MIT",
"browser": {
"express": "./lib/browser-express.js",
"connect": false,
"passport": false,
"passport-local": false
}
}