Comparing version 0.4.0 to 0.5.0-alpha.b40129ec
@@ -1,24 +0,5 @@ | ||
import * as Validator from "./validator"; | ||
import * as Core from "kamboja-core"; | ||
import * as Resolver from "./resolver"; | ||
import * as RouteGenerator from "./route-generator"; | ||
import * as Middleware from "./middleware"; | ||
export { Validator }; | ||
export { Core }; | ||
export { Resolver }; | ||
export { RouteGenerator }; | ||
export { Middleware }; | ||
export { ApiController, Controller, HttpStatusError, Controllers } from "./controller"; | ||
export { Kamboja } from "./kamboja"; | ||
export { MetaDataLoader } from "./metadata-loader/metadata-loader"; | ||
export { RequestHandler, Invoker, ErrorInvocation, HttpControllerInvocation, MiddlewareInvocation, SocketControllerInvocation } from "./engine"; | ||
export declare const val: Validator.ValidatorDecorator; | ||
export declare const type: (typ: string) => (...target: any[]) => void; | ||
export declare const listen: (typ: string) => (...target: any[]) => void; | ||
/** | ||
* [DEPRECATED] use @route | ||
*/ | ||
export declare const http: Core.HttpDecorator; | ||
export declare const route: Core.HttpDecorator; | ||
export declare const bind: Core.BinderDecorator; | ||
export declare function authorize(role?: string | string[]): (...args: any[]) => void; | ||
export { KambojaApplication, OptionKeys } from "./kamboja-express"; | ||
export * from "./action-result"; | ||
export * from "./express-middleware-adapter"; | ||
export * from "./middleware-decorator"; | ||
export { ApiController, authorize, Controller, Core, Facility, HttpStatusError, Middleware, Resolver, val, Validator, bind, type, route } from "kamboja-foundation"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Validator = require("./validator"); | ||
exports.Validator = Validator; | ||
var Core = require("kamboja-core"); | ||
exports.Core = Core; | ||
var Resolver = require("./resolver"); | ||
exports.Resolver = Resolver; | ||
var RouteGenerator = require("./route-generator"); | ||
exports.RouteGenerator = RouteGenerator; | ||
var Middleware = require("./middleware"); | ||
exports.Middleware = Middleware; | ||
var controller_1 = require("./controller"); | ||
exports.ApiController = controller_1.ApiController; | ||
exports.Controller = controller_1.Controller; | ||
exports.HttpStatusError = controller_1.HttpStatusError; | ||
exports.Controllers = controller_1.Controllers; | ||
var kamboja_1 = require("./kamboja"); | ||
exports.Kamboja = kamboja_1.Kamboja; | ||
var metadata_loader_1 = require("./metadata-loader/metadata-loader"); | ||
exports.MetaDataLoader = metadata_loader_1.MetaDataLoader; | ||
var engine_1 = require("./engine"); | ||
exports.RequestHandler = engine_1.RequestHandler; | ||
exports.Invoker = engine_1.Invoker; | ||
exports.ErrorInvocation = engine_1.ErrorInvocation; | ||
exports.HttpControllerInvocation = engine_1.HttpControllerInvocation; | ||
exports.MiddlewareInvocation = engine_1.MiddlewareInvocation; | ||
exports.SocketControllerInvocation = engine_1.SocketControllerInvocation; | ||
//decorators | ||
var middleware = new Middleware.MiddlewareDecorator(); | ||
exports.val = new Validator.ValidatorDecorator(); | ||
var decorator = new Core.Decorator(); | ||
exports.type = decorator.type; | ||
exports.listen = decorator.type; | ||
/** | ||
* [DEPRECATED] use @route | ||
*/ | ||
exports.http = new Core.HttpDecorator(); | ||
exports.route = new Core.HttpDecorator(); | ||
exports.bind = new Core.BinderDecorator(); | ||
function authorize(role) { | ||
return middleware.use(new Middleware.Authorize(role)); | ||
} | ||
exports.authorize = authorize; | ||
var tslib_1 = require("tslib"); | ||
var kamboja_express_1 = require("./kamboja-express"); | ||
exports.KambojaApplication = kamboja_express_1.KambojaApplication; | ||
tslib_1.__exportStar(require("./action-result"), exports); | ||
tslib_1.__exportStar(require("./express-middleware-adapter"), exports); | ||
tslib_1.__exportStar(require("./middleware-decorator"), exports); | ||
var kamboja_foundation_1 = require("kamboja-foundation"); | ||
exports.ApiController = kamboja_foundation_1.ApiController; | ||
exports.authorize = kamboja_foundation_1.authorize; | ||
exports.Controller = kamboja_foundation_1.Controller; | ||
exports.Core = kamboja_foundation_1.Core; | ||
exports.Facility = kamboja_foundation_1.Facility; | ||
exports.HttpStatusError = kamboja_foundation_1.HttpStatusError; | ||
exports.Middleware = kamboja_foundation_1.Middleware; | ||
exports.Resolver = kamboja_foundation_1.Resolver; | ||
exports.val = kamboja_foundation_1.val; | ||
exports.Validator = kamboja_foundation_1.Validator; | ||
exports.bind = kamboja_foundation_1.bind; | ||
exports.type = kamboja_foundation_1.type; | ||
exports.route = kamboja_foundation_1.route; |
{ | ||
"name": "kamboja", | ||
"version": "0.4.0", | ||
"description": "MVC Framework powered by TypeScript", | ||
"version": "0.5.0-alpha.b40129ec", | ||
"description": "A modern NodeJS MVC framework with simple, flexible and testable API powered by TypeScript", | ||
"main": "lib/index.js", | ||
@@ -19,2 +19,3 @@ "types": "lib/index.d.ts", | ||
"rails", | ||
"express", | ||
"typescript", | ||
@@ -34,11 +35,15 @@ "decorator", | ||
"@types/chalk": "^0.4.31", | ||
"@types/cookie-parser": "^1.4.0", | ||
"@types/express": "^4.0.36", | ||
"@types/lodash": "^4.14.71", | ||
"@types/node": "^8.0.19", | ||
"@types/passport": "^0.3.3", | ||
"@types/validator": "^6.2.1", | ||
"babylon": "^6.17.4", | ||
"chalk": "^2.0.1", | ||
"kamboja-core": "^0.4.0", | ||
"kecubung": "^0.4.0", | ||
"express": "^4.15.3", | ||
"kamboja-foundation": "0.5.0-alpha.b40129ec", | ||
"kecubung": "0.5.0-alpha.b40129ec", | ||
"lodash": "^4.17.4", | ||
"reflect-metadata": "^0.1.10", | ||
"passport": "^0.3.2", | ||
"tslib": "^1.7.1", | ||
@@ -48,7 +53,11 @@ "validator": "^8.0.0" | ||
"devDependencies": { | ||
"@types/body-parser": "1.16.4", | ||
"@types/chai": "^4.0.2", | ||
"@types/mocha": "^2.2.41", | ||
"@types/morgan": "^1.7.32", | ||
"@types/sinon": "^2.3.3", | ||
"@types/supertest": "^2.0.2", | ||
"body-parser": "^1.17.2", | ||
"chai": "^4.1.0", | ||
"cookie-parser": "^1.4.3", | ||
"coveralls": "^2.13.1", | ||
@@ -59,6 +68,7 @@ "del": "^3.0.0", | ||
"gulp-mocha": "^3.0.1", | ||
"gulp-sourcemaps": "^2.6.0", | ||
"gulp-typescript": "^3.2.1", | ||
"kamboja-testing": "^0.4.0", | ||
"hbs": "^4.0.1", | ||
"kamboja-testing": "0.5.0-alpha.b40129ec", | ||
"mocha": "^3.5.0", | ||
"morgan": "^1.8.2", | ||
"run-sequence": "^2.1.0", | ||
@@ -65,0 +75,0 @@ "sinon": "^3.0.0", |
@@ -1,78 +0,3 @@ | ||
# KambojaJs | ||
# KambojaJs - Express | ||
[](https://gitter.im/KambojaJS/lobby) | ||
[](https://badge.fury.io/js/kamboja) | ||
[](https://travis-ci.org/kambojajs/kamboja) | ||
[](https://coveralls.io/github/kambojajs/kamboja?branch=master) | ||
[](https://snyk.io/test/github/kambojajs/kamboja) | ||
KambojaJS aims to fix some problems occurs when using the [old guy](https://expressjs.com/), like increase testability, add convention over configuration and use modern language feature like async/await decorator etc, read more http://kambojajs.com/ | ||
## Convention Over Configuration | ||
KambojaJS route generation system generate url using pattern below: | ||
``` | ||
<namespace>/<controller>/<action>?<parameter1>=value&<parameter2>=value | ||
``` | ||
Example you define controller like below | ||
```typescript | ||
import { Controller } from "kamboja" | ||
export namespace Api.v01 | ||
export class UserController extends Controller { | ||
list(query:string, offset:number, limit:number){ } | ||
} | ||
} | ||
``` | ||
Above code by default will generate a GET url below | ||
``` | ||
/api/v01/user/list?query=<value>&offset=<value>&limit=<value> | ||
``` | ||
Refer to [controller](http://kambojajs.com/reference/controller) reference for more information | ||
For more advanced use, KambojaJS provide a convention for creating Restful API by using [ApiController](http://kambojajs.com/reference/api-controller) | ||
Example controller below will create Restful API url for you | ||
```typescript | ||
import { ApiController } from "kamboja" | ||
namespace Api.V1 { | ||
export class ItemsController extends ApiController { | ||
//GET /api/v1/items/:id | ||
get(id:string) { } | ||
//GET /api/v1/items?offset=1&limit=<optional> | ||
list(offset:number, limit=50){ } | ||
//POST /api/v1/items | ||
add(data){ } | ||
//DELETE /api/v1/items/:id | ||
delete(id:string){ } | ||
//PUT /api/v1/items/:id | ||
replace(id:string, data){ } | ||
//PATCH /api/v1/items/:id | ||
modify(id:string, data){} | ||
} | ||
} | ||
``` | ||
Above code will generate some urls: | ||
``` | ||
GET /api/v1/items/:id | ||
GET /api/v1/items?offset=1&limit=<optional> | ||
POST /api/v1/items | ||
DELETE /api/v1/items/:id | ||
PUT /api/v1/items/:id | ||
PATCH /api/v1/items/:id | ||
``` | ||
Refer to [ApiController](http://kambojajs.com/reference/api-controller) for more information | ||
Engine imppementation using ExpressJs |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
0
31922
17
23
34
708
4
+ Added@types/cookie-parser@^1.4.0
+ Added@types/express@^4.0.36
+ Added@types/passport@^0.3.3
+ Addedexpress@^4.15.3
+ Addedpassport@^0.3.2
+ Added@types/body-parser@1.19.5(transitive)
+ Added@types/connect@3.4.38(transitive)
+ Added@types/cookie-parser@1.4.8(transitive)
+ Added@types/express@4.17.21(transitive)
+ Added@types/express-serve-static-core@4.19.6(transitive)
+ Added@types/http-errors@2.0.4(transitive)
+ Added@types/mime@1.3.5(transitive)
+ Added@types/passport@0.3.5(transitive)
+ Added@types/qs@6.9.18(transitive)
+ Added@types/range-parser@1.2.7(transitive)
+ Added@types/send@0.17.4(transitive)
+ Added@types/serve-static@1.15.7(transitive)
+ Addedaccepts@1.3.8(transitive)
+ Addedarray-flatten@1.1.1(transitive)
+ Addedbody-parser@1.20.3(transitive)
+ Addedbytes@3.1.2(transitive)
+ Addedcall-bind-apply-helpers@1.0.2(transitive)
+ Addedcall-bound@1.0.3(transitive)
+ Addedcontent-disposition@0.5.4(transitive)
+ Addedcontent-type@1.0.5(transitive)
+ Addedcookie@0.7.1(transitive)
+ Addedcookie-signature@1.0.6(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddepd@2.0.0(transitive)
+ Addeddestroy@1.2.0(transitive)
+ Addeddunder-proto@1.0.1(transitive)
+ Addedee-first@1.1.1(transitive)
+ Addedencodeurl@1.0.22.0.0(transitive)
+ Addedes-define-property@1.0.1(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedes-object-atoms@1.1.1(transitive)
+ Addedescape-html@1.0.3(transitive)
+ Addedetag@1.8.1(transitive)
+ Addedexpress@4.21.2(transitive)
+ Addedfinalhandler@1.3.1(transitive)
+ Addedforwarded@0.2.0(transitive)
+ Addedfresh@0.5.2(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-intrinsic@1.2.7(transitive)
+ Addedget-proto@1.0.1(transitive)
+ Addedgopd@1.2.0(transitive)
+ Addedhas-symbols@1.1.0(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedhttp-errors@2.0.0(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedipaddr.js@1.9.1(transitive)
+ Addedkamboja-core@0.5.0-alpha.b40129ec(transitive)
+ Addedkamboja-foundation@0.5.0-alpha.b40129ec(transitive)
+ Addedkecubung@0.5.0-alpha.b40129ec(transitive)
+ Addedmath-intrinsics@1.1.0(transitive)
+ Addedmedia-typer@0.3.0(transitive)
+ Addedmerge-descriptors@1.0.3(transitive)
+ Addedmethods@1.1.2(transitive)
+ Addedmime@1.6.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedms@2.0.02.1.3(transitive)
+ Addednegotiator@0.6.3(transitive)
+ Addedobject-inspect@1.13.4(transitive)
+ Addedon-finished@2.4.1(transitive)
+ Addedparseurl@1.3.3(transitive)
+ Addedpassport@0.3.2(transitive)
+ Addedpassport-strategy@1.0.0(transitive)
+ Addedpath-to-regexp@0.1.12(transitive)
+ Addedpause@0.0.1(transitive)
+ Addedproxy-addr@2.0.7(transitive)
+ Addedqs@6.13.0(transitive)
+ Addedrange-parser@1.2.1(transitive)
+ Addedraw-body@2.5.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsend@0.19.0(transitive)
+ Addedserve-static@1.16.2(transitive)
+ Addedsetprototypeof@1.2.0(transitive)
+ Addedside-channel@1.1.0(transitive)
+ Addedside-channel-list@1.0.0(transitive)
+ Addedside-channel-map@1.0.1(transitive)
+ Addedside-channel-weakmap@1.0.2(transitive)
+ Addedstatuses@2.0.1(transitive)
+ Addedtoidentifier@1.0.1(transitive)
+ Addedtype-is@1.6.18(transitive)
+ Addedunpipe@1.0.0(transitive)
+ Addedutils-merge@1.0.1(transitive)
+ Addedvary@1.1.2(transitive)
- Removedkamboja-core@^0.4.0
- Removedreflect-metadata@^0.1.10
- Removedkamboja-core@0.4.0(transitive)
- Removedkecubung@0.4.0(transitive)