├── .gitignore ├── .jshintrc ├── .npmignore ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── bin └── lcm.js ├── lib ├── application.js ├── boot │ ├── controllers.js │ ├── datastores.js │ ├── di │ │ └── routes.js │ ├── httpserver.js │ ├── httpservercluster.js │ ├── routes.js │ └── views.js ├── cli │ ├── create.js │ ├── index.js │ ├── server.js │ └── server │ │ ├── debug.js │ │ └── watch.js ├── controller.js ├── datastores │ └── object.js ├── errors │ ├── controllererror.js │ └── dispatcherror.js ├── helpers │ ├── dynamic │ │ ├── index.js │ │ └── url.js │ ├── index.js │ ├── route │ │ ├── entry.js │ │ └── pattern.js │ ├── tag.js │ └── url.js ├── index.js ├── instantiator.js ├── instantiators │ ├── constructor.js │ ├── di │ │ ├── constructor.js │ │ └── factory.js │ └── prototype.js ├── middleware │ ├── dispatch.js │ └── invokable.js ├── resolver.js ├── resolvers │ ├── any │ │ └── snakecase.js │ └── node │ │ └── controller.js ├── underlay │ └── express.js └── utils.js ├── package.json ├── support └── mk │ ├── coveralls.mk │ ├── istanbul.mk │ ├── jshint.mk │ ├── mocha.mk │ ├── node.mk │ └── notes.mk └── test ├── application.test.js ├── bootstrap └── node.js ├── controller.done.test.js ├── controller.error.test.js ├── controller.filters.after.test.js ├── controller.filters.before.data.test.js ├── controller.filters.before.test.js ├── controller.initialization.test.js ├── controller.invoke.test.js ├── controller.next.test.js ├── controller.param.test.js ├── controller.redirect.test.js ├── controller.render.app.test.js ├── controller.render.test.js ├── controller.respond.test.js ├── datastores └── object.test.js ├── helpers ├── dynamic │ ├── index.test.js │ └── url.test.js ├── index.test.js ├── route │ ├── entry.test.js │ └── pattern.test.js ├── tag.test.js ├── url.dynamic.test.js └── url.test.js ├── instantiator.test.js ├── middleware ├── dispatch.test.js └── invokable.test.js ├── mocks ├── application.js ├── controller.js ├── request.js └── response.js ├── package.test.js ├── resolver.test.js ├── router-test.js └── utils.test.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/.gitignore -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/.jshintrc -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/.npmignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/README.md -------------------------------------------------------------------------------- /bin/lcm.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/bin/lcm.js -------------------------------------------------------------------------------- /lib/application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/application.js -------------------------------------------------------------------------------- /lib/boot/controllers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/controllers.js -------------------------------------------------------------------------------- /lib/boot/datastores.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/datastores.js -------------------------------------------------------------------------------- /lib/boot/di/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/di/routes.js -------------------------------------------------------------------------------- /lib/boot/httpserver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/httpserver.js -------------------------------------------------------------------------------- /lib/boot/httpservercluster.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/httpservercluster.js -------------------------------------------------------------------------------- /lib/boot/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/routes.js -------------------------------------------------------------------------------- /lib/boot/views.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/boot/views.js -------------------------------------------------------------------------------- /lib/cli/create.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/cli/create.js -------------------------------------------------------------------------------- /lib/cli/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/cli/index.js -------------------------------------------------------------------------------- /lib/cli/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/cli/server.js -------------------------------------------------------------------------------- /lib/cli/server/debug.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/cli/server/debug.js -------------------------------------------------------------------------------- /lib/cli/server/watch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/cli/server/watch.js -------------------------------------------------------------------------------- /lib/controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/controller.js -------------------------------------------------------------------------------- /lib/datastores/object.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/datastores/object.js -------------------------------------------------------------------------------- /lib/errors/controllererror.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/errors/controllererror.js -------------------------------------------------------------------------------- /lib/errors/dispatcherror.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/errors/dispatcherror.js -------------------------------------------------------------------------------- /lib/helpers/dynamic/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/dynamic/index.js -------------------------------------------------------------------------------- /lib/helpers/dynamic/url.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/dynamic/url.js -------------------------------------------------------------------------------- /lib/helpers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/index.js -------------------------------------------------------------------------------- /lib/helpers/route/entry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/route/entry.js -------------------------------------------------------------------------------- /lib/helpers/route/pattern.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/route/pattern.js -------------------------------------------------------------------------------- /lib/helpers/tag.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/tag.js -------------------------------------------------------------------------------- /lib/helpers/url.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/helpers/url.js -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/index.js -------------------------------------------------------------------------------- /lib/instantiator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/instantiator.js -------------------------------------------------------------------------------- /lib/instantiators/constructor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/instantiators/constructor.js -------------------------------------------------------------------------------- /lib/instantiators/di/constructor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/instantiators/di/constructor.js -------------------------------------------------------------------------------- /lib/instantiators/di/factory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/instantiators/di/factory.js -------------------------------------------------------------------------------- /lib/instantiators/prototype.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/instantiators/prototype.js -------------------------------------------------------------------------------- /lib/middleware/dispatch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/middleware/dispatch.js -------------------------------------------------------------------------------- /lib/middleware/invokable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/middleware/invokable.js -------------------------------------------------------------------------------- /lib/resolver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/resolver.js -------------------------------------------------------------------------------- /lib/resolvers/any/snakecase.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/resolvers/any/snakecase.js -------------------------------------------------------------------------------- /lib/resolvers/node/controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/resolvers/node/controller.js -------------------------------------------------------------------------------- /lib/underlay/express.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/underlay/express.js -------------------------------------------------------------------------------- /lib/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/lib/utils.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/package.json -------------------------------------------------------------------------------- /support/mk/coveralls.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/support/mk/coveralls.mk -------------------------------------------------------------------------------- /support/mk/istanbul.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/support/mk/istanbul.mk -------------------------------------------------------------------------------- /support/mk/jshint.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/support/mk/jshint.mk -------------------------------------------------------------------------------- /support/mk/mocha.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/support/mk/mocha.mk -------------------------------------------------------------------------------- /support/mk/node.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/support/mk/node.mk -------------------------------------------------------------------------------- /support/mk/notes.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/support/mk/notes.mk -------------------------------------------------------------------------------- /test/application.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/application.test.js -------------------------------------------------------------------------------- /test/bootstrap/node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/bootstrap/node.js -------------------------------------------------------------------------------- /test/controller.done.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.done.test.js -------------------------------------------------------------------------------- /test/controller.error.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.error.test.js -------------------------------------------------------------------------------- /test/controller.filters.after.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.filters.after.test.js -------------------------------------------------------------------------------- /test/controller.filters.before.data.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.filters.before.data.test.js -------------------------------------------------------------------------------- /test/controller.filters.before.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.filters.before.test.js -------------------------------------------------------------------------------- /test/controller.initialization.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.initialization.test.js -------------------------------------------------------------------------------- /test/controller.invoke.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.invoke.test.js -------------------------------------------------------------------------------- /test/controller.next.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.next.test.js -------------------------------------------------------------------------------- /test/controller.param.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.param.test.js -------------------------------------------------------------------------------- /test/controller.redirect.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.redirect.test.js -------------------------------------------------------------------------------- /test/controller.render.app.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.render.app.test.js -------------------------------------------------------------------------------- /test/controller.render.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.render.test.js -------------------------------------------------------------------------------- /test/controller.respond.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/controller.respond.test.js -------------------------------------------------------------------------------- /test/datastores/object.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/datastores/object.test.js -------------------------------------------------------------------------------- /test/helpers/dynamic/index.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/dynamic/index.test.js -------------------------------------------------------------------------------- /test/helpers/dynamic/url.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/dynamic/url.test.js -------------------------------------------------------------------------------- /test/helpers/index.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/index.test.js -------------------------------------------------------------------------------- /test/helpers/route/entry.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/route/entry.test.js -------------------------------------------------------------------------------- /test/helpers/route/pattern.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/route/pattern.test.js -------------------------------------------------------------------------------- /test/helpers/tag.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/tag.test.js -------------------------------------------------------------------------------- /test/helpers/url.dynamic.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/url.dynamic.test.js -------------------------------------------------------------------------------- /test/helpers/url.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/helpers/url.test.js -------------------------------------------------------------------------------- /test/instantiator.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/instantiator.test.js -------------------------------------------------------------------------------- /test/middleware/dispatch.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/middleware/dispatch.test.js -------------------------------------------------------------------------------- /test/middleware/invokable.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/middleware/invokable.test.js -------------------------------------------------------------------------------- /test/mocks/application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/mocks/application.js -------------------------------------------------------------------------------- /test/mocks/controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/mocks/controller.js -------------------------------------------------------------------------------- /test/mocks/request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/mocks/request.js -------------------------------------------------------------------------------- /test/mocks/response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/mocks/response.js -------------------------------------------------------------------------------- /test/package.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/package.test.js -------------------------------------------------------------------------------- /test/resolver.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/resolver.test.js -------------------------------------------------------------------------------- /test/router-test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/router-test.js -------------------------------------------------------------------------------- /test/utils.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaredhanson/locomotive/HEAD/test/utils.test.js --------------------------------------------------------------------------------