From f75f23ecd4c35355a0ccab01b531702e14b63636 Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Tue, 11 Feb 2014 16:43:13 +0700 Subject: [PATCH] initial --- README.md | 11 +++++++++-- index.js | 2 ++ lib/AppSpine.coffee | 23 +++++++++++++++++++++++ package.json | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 index.js create mode 100644 lib/AppSpine.coffee create mode 100644 package.json diff --git a/README.md b/README.md index 3461172..55d11a5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,11 @@ -appspine +AppSpine ======== +*node.js application namespace base class* -node.js application namespace base class +Usage: +```coffee +AppSpine = requrie 'appspine' +config = require './config' + +app = new AppSpine config +``` \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..fddadd9 --- /dev/null +++ b/index.js @@ -0,0 +1,2 @@ +require('coffee-script/register'); +require('./lib/AppSpine.coffee'); diff --git a/lib/AppSpine.coffee b/lib/AppSpine.coffee new file mode 100644 index 0000000..549691d --- /dev/null +++ b/lib/AppSpine.coffee @@ -0,0 +1,23 @@ +EventEmitter2 = require('eventemitter2').EventEmitter2 +tracer = require('tracer') + +module.exports = class AppSpine extends EventEmitter2 + logger: null + + constructor: (@config = {}) -> + @config.emitter ?= {} + @config.logger ?= {} + + unless @config.logger.level? + @config.logger.level = if @isDev() then 'log' else 'warn' + + super @config.emitter + + @logger = tracer.colorConsole @config.logger + + isDev: -> @getEnv() is 'development' + + getEnv: -> + process.env.NODE_ENV or 'development' + + require: (path) -> require(path)(@) diff --git a/package.json b/package.json new file mode 100644 index 0000000..cb8920a --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "appspine", + "version": "0.0.1", + "description": "node.js application namespace base class", + "keywords": [ + "application", + "namespace" + ], + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/minibikini/appspine.git" + }, + "author": { + "name": "Egor Kislitsyn", + "email": "egor@kislitsyn.com", + "url": "http://kislitsyn.com/" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/minibikini/appspine/issues" + }, + "homepage": "https://github.com/minibikini/appspine", + "dependencies": { + "coffee-script": "~1.7.1", + "eventemitter2": "~0.4.13", + "tracer": "~0.6.2" + } +}