2013-04-09 16:02:36 +00:00
|
|
|
{
|
2013-07-16 17:49:25 +00:00
|
|
|
"name": "loopback",
|
2014-12-08 19:21:20 +00:00
|
|
|
"version": "2.8.4",
|
2014-07-26 04:14:27 +00:00
|
|
|
"description": "LoopBack: Open Source Framework for Node.js",
|
2014-05-12 16:22:09 +00:00
|
|
|
"homepage": "http://loopback.io",
|
2013-10-29 21:12:23 +00:00
|
|
|
"keywords": [
|
2014-09-06 18:28:58 +00:00
|
|
|
"web",
|
2014-05-24 00:48:37 +00:00
|
|
|
"restful",
|
|
|
|
"rest",
|
|
|
|
"api",
|
2014-05-27 17:54:39 +00:00
|
|
|
"express",
|
|
|
|
"restify",
|
|
|
|
"koa",
|
2014-05-24 00:48:37 +00:00
|
|
|
"auth",
|
|
|
|
"security",
|
|
|
|
"oracle",
|
|
|
|
"mysql",
|
|
|
|
"nosql",
|
|
|
|
"mongo",
|
|
|
|
"mongodb",
|
|
|
|
"sqlserver",
|
|
|
|
"mssql",
|
2014-05-27 17:24:26 +00:00
|
|
|
"postgres",
|
2014-05-27 17:58:26 +00:00
|
|
|
"postgresql",
|
2014-05-27 17:43:36 +00:00
|
|
|
"soap",
|
2013-10-29 21:12:23 +00:00
|
|
|
"StrongLoop",
|
2014-05-27 17:43:36 +00:00
|
|
|
"framework",
|
2014-05-27 17:54:39 +00:00
|
|
|
"mobile",
|
2013-10-29 21:12:23 +00:00
|
|
|
"mBaaS"
|
|
|
|
],
|
2013-04-09 16:02:36 +00:00
|
|
|
"scripts": {
|
2014-06-23 12:44:19 +00:00
|
|
|
"test": "grunt mocha-and-karma"
|
2013-04-09 16:02:36 +00:00
|
|
|
},
|
|
|
|
"dependencies": {
|
2014-06-27 08:36:06 +00:00
|
|
|
"async": "~0.9.0",
|
2014-09-25 20:28:51 +00:00
|
|
|
"bcryptjs": "~2.0.2",
|
2014-09-13 06:21:35 +00:00
|
|
|
"body-parser": "~1.8.1",
|
2014-06-27 08:36:06 +00:00
|
|
|
"canonical-json": "0.0.4",
|
2014-11-11 07:41:51 +00:00
|
|
|
"continuation-local-storage": "~3.1.1",
|
2014-09-25 20:28:51 +00:00
|
|
|
"debug": "~2.0.0",
|
2014-05-20 23:15:48 +00:00
|
|
|
"ejs": "~1.0.0",
|
Middleware phases - initial implementation
Modify the app and router implementation, so that the middleware is
executed in order defined by phases.
Predefined phases:
'initial', 'session', 'auth', 'parse', 'routes', 'files', 'final'
Methods defined via `app.use`, `app.route` and friends are executed
as the first thing in 'routes' phase.
API usage:
app.middleware('initial', compression());
app.middleware('initial:before', serveFavicon());
app.middleware('files:after', loopback.urlNotFound());
app.middleware('final:after', errorHandler());
Middleware flavours:
// regular handler
function handler(req, res, next) {
// do stuff
next();
}
// error handler
function errorHandler(err, req, res, next) {
// handle error and/or call next
next(err);
}
2014-11-05 19:07:58 +00:00
|
|
|
"express": "^4.10.2",
|
2014-09-13 06:21:35 +00:00
|
|
|
"inflection": "~1.4.2",
|
2014-09-25 20:28:51 +00:00
|
|
|
"loopback-connector-remote": "^1.0.1",
|
2014-11-11 07:41:51 +00:00
|
|
|
"loopback-phase": "^1.0.1",
|
2014-09-13 06:21:35 +00:00
|
|
|
"nodemailer": "~1.3.0",
|
2014-07-15 23:46:43 +00:00
|
|
|
"nodemailer-stub-transport": "~0.1.4",
|
Scope app middleware to a list of paths
Add a new argument to `app.middleware` allowing developers
to restrict the middleware to a list of paths or regular expresions.
Modify `app.middlewareFromConfig` to pass `config.paths` as the second
arg of `app.middleware`.
Examples:
// A string path (interpreted via path-to-regexp)
app.middleware('auth', '/admin', ldapAuth);
// A regular expression
app.middleware('initial', /^\/~(admin|root)/, rejectWith404);
// A list of scopes
app.middleware('routes', ['/api', /^\/assets/.*\.json$/], foo);
// From config
app.middlewareFromConfig(
handlerFactory,
{
phase: 'initial',
paths: ['/scope', /^\/(a|b)/]
});
2014-11-19 11:03:47 +00:00
|
|
|
"path-to-regexp": "^1.0.1",
|
2014-11-19 19:10:56 +00:00
|
|
|
"serve-favicon": "^2.1.6",
|
2014-09-25 20:28:51 +00:00
|
|
|
"strong-remoting": "^2.4.0",
|
2013-11-20 21:31:30 +00:00
|
|
|
"uid2": "0.0.3",
|
2014-11-11 07:41:51 +00:00
|
|
|
"underscore.string": "~2.3.3"
|
2013-04-09 16:02:36 +00:00
|
|
|
},
|
2013-12-06 18:24:29 +00:00
|
|
|
"peerDependencies": {
|
2014-09-13 06:21:35 +00:00
|
|
|
"loopback-datasource-juggler": "^2.8.0"
|
2013-12-06 18:24:29 +00:00
|
|
|
},
|
2013-04-09 16:02:36 +00:00
|
|
|
"devDependencies": {
|
2014-09-13 06:21:35 +00:00
|
|
|
"browserify": "~4.2.3",
|
2014-11-10 17:58:10 +00:00
|
|
|
"chai": "^1.10.0",
|
2014-09-13 06:21:35 +00:00
|
|
|
"cookie-parser": "~1.3.3",
|
|
|
|
"errorhandler": "~1.2.0",
|
|
|
|
"es5-shim": "^4.0.3",
|
2014-10-30 20:49:47 +00:00
|
|
|
"grunt": "^0.4.5",
|
2014-09-13 06:21:35 +00:00
|
|
|
"grunt-browserify": "~3.0.1",
|
2014-06-23 12:44:19 +00:00
|
|
|
"grunt-cli": "^0.1.13",
|
2014-05-20 23:15:48 +00:00
|
|
|
"grunt-contrib-jshint": "~0.10.0",
|
2014-09-13 06:21:35 +00:00
|
|
|
"grunt-contrib-uglify": "~0.5.1",
|
2014-05-20 23:15:48 +00:00
|
|
|
"grunt-contrib-watch": "~0.6.1",
|
2014-10-30 20:49:47 +00:00
|
|
|
"grunt-jscs": "^0.8.1",
|
2014-09-13 06:21:35 +00:00
|
|
|
"grunt-karma": "~0.9.0",
|
2014-06-23 12:44:19 +00:00
|
|
|
"grunt-mocha-test": "^0.11.0",
|
2014-10-30 20:49:47 +00:00
|
|
|
"karma": "~0.12.23",
|
2014-06-23 12:44:19 +00:00
|
|
|
"karma-browserify": "~0.2.1",
|
2014-05-03 18:20:45 +00:00
|
|
|
"karma-chrome-launcher": "~0.1.4",
|
2014-02-12 00:01:51 +00:00
|
|
|
"karma-firefox-launcher": "~0.1.3",
|
|
|
|
"karma-html2js-preprocessor": "~0.1.0",
|
2014-06-23 12:44:19 +00:00
|
|
|
"karma-junit-reporter": "^0.2.2",
|
2014-09-13 06:21:35 +00:00
|
|
|
"karma-mocha": "^0.1.9",
|
2014-05-20 23:15:48 +00:00
|
|
|
"karma-phantomjs-launcher": "~0.1.4",
|
2014-06-23 12:44:19 +00:00
|
|
|
"karma-script-launcher": "~0.1.0",
|
2014-07-16 16:09:07 +00:00
|
|
|
"loopback-boot": "^1.1.0",
|
2014-09-13 06:21:35 +00:00
|
|
|
"loopback-datasource-juggler": "^2.8.0",
|
2014-06-23 12:44:19 +00:00
|
|
|
"loopback-testing": "~0.2.0",
|
2014-09-13 06:21:35 +00:00
|
|
|
"mocha": "~1.21.4",
|
|
|
|
"serve-favicon": "~2.1.3",
|
2014-06-23 12:44:19 +00:00
|
|
|
"strong-task-emitter": "0.0.x",
|
2014-10-30 20:49:47 +00:00
|
|
|
"supertest": "~0.13.0"
|
2013-09-04 23:50:47 +00:00
|
|
|
},
|
2013-09-10 23:21:20 +00:00
|
|
|
"repository": {
|
|
|
|
"type": "git",
|
|
|
|
"url": "https://github.com/strongloop/loopback"
|
|
|
|
},
|
2014-02-12 00:01:51 +00:00
|
|
|
"browser": {
|
|
|
|
"express": "./lib/browser-express.js",
|
Middleware phases - initial implementation
Modify the app and router implementation, so that the middleware is
executed in order defined by phases.
Predefined phases:
'initial', 'session', 'auth', 'parse', 'routes', 'files', 'final'
Methods defined via `app.use`, `app.route` and friends are executed
as the first thing in 'routes' phase.
API usage:
app.middleware('initial', compression());
app.middleware('initial:before', serveFavicon());
app.middleware('files:after', loopback.urlNotFound());
app.middleware('final:after', errorHandler());
Middleware flavours:
// regular handler
function handler(req, res, next) {
// do stuff
next();
}
// error handler
function errorHandler(err, req, res, next) {
// handle error and/or call next
next(err);
}
2014-11-05 19:07:58 +00:00
|
|
|
"./lib/server-app.js": "./lib/browser-express.js",
|
2014-02-12 00:01:51 +00:00
|
|
|
"connect": false,
|
2014-12-08 22:59:21 +00:00
|
|
|
"nodemailer": false,
|
|
|
|
"bcrypt": false
|
2014-02-12 00:01:51 +00:00
|
|
|
},
|
2014-02-14 19:53:17 +00:00
|
|
|
"license": {
|
|
|
|
"name": "Dual MIT/StrongLoop",
|
|
|
|
"url": "https://github.com/strongloop/loopback/blob/master/LICENSE"
|
|
|
|
}
|
2013-09-05 00:01:42 +00:00
|
|
|
}
|