symfio
v2.0.8
Published
Modular framework based on Node.js and kantaina.
Readme
Symfio
Glue for Node.js modules
symfio = require "symfio"
container = symfio "fruits-example", __dirname
loader = container.get "loader"
loader.use symfio.plugins.express
loader.use symfio.plugins.mongoose
loader.use (container, callback) ->
connection = container.get "connection"
mongoose = container.get "mongoose"
FruitSchema = new mongoose.Schema
name: String
connection.model "fruits", FruitSchema
callback()
loader.use symfio.plugins.fixtures
loader.use symfio.plugins.crud
loader.use (container, callback) ->
connection = container.get "connection"
unloader = container.get "unloader"
crud = container.get "crud"
app = container.get "app"
Fruit = connection.model "fruits"
app.get "/fruits", crud.list(Fruit).sort(name: -1).make()
unloader.register (callback) ->
connection.db.dropDatabase ->
callback()
callback()
loader.load()Quick Start
Start new project:
$ mkdir my_project
$ cd my_project
$ git init
$ cat << END > .gitignore
node_modules
END
$ cat << END > package.json
{
"name": "my_project",
"version": "0.0.0",
"public": false
}
ENDInstall Symfio:
$ npm install symfio --saveCreate sample application:
$ cat << END > my_project.coffee
symfio = require "symfio"
container = symfio "my_project", __dirname
loader = container.get "loader"
loader.use symfio.plugins.assets
loader.use symfio.plugins.express
loader.load()
END
$ mkdir public
$ cat << END > public/index.jade
doctype 5
html
head
title Hello World!
body
h1 Hello World!
ENDStart server:
$ coffee my_projectViewing Examples
Clone Symfio repo, then run example:
$ git clone git://github.com/symfio/symfio.git
$ cd symfio
$ npm install
$ ./node_modules/.bin/coffee examples/fruitsProject Status
Running Tests
Clone Symfio repo, then run tests:
$ git clone git://github.com/symfio/symfio.git
$ cd symfio
$ npm install
$ ./node_modules/.bin/grunt testRelease Instructions
Checkout to master branch:
$ git checkout masterIncrement version in package.json and commit:
$ git add package.json
$ git commit -m "Bumped 0.0.0"Add version tag to commit in which package.json is changed:
$ git tag 0.0.0 HEADPush commit and tag to GitHub and wait until CI build is succeed:
$ git push origin master
$ git push origin 0.0.0Upload package to NPM repository:
$ npm publishCheckout to gh-pages branch:
$ git checkout gh-pagesIncrement version in _includes/footer.html and update website:
$ ./_update.sh
$ git add .
$ git commit -m "Updated"
$ git pushReturn to master branch:
$ git checkout master
