pages
Version:
AngularJS / Node.js sidekick.
101 lines (59 loc) • 2.79 kB
text/coffeescript
log = require './log'
utils = require './utils'
Create a directory based on the configured or default skeelton, then replace all instanaces of `APPNAME` in the skeleton app with our new application name.
app = (opts, cb) ->
if opts.template
baseApp = "#{process.env.HOME}/.pages/skeleton"
log.info generator: "Using configured Pages skeleton at #{baseApp} to generate Pages Application."
else
baseApp = "#{(path.join path.dirname fs.realpathSync(__filename))}/generate/skeleton"
to = "#{process.cwd()}/#{opts.APPNAME}"
utils.copyDir
from: baseApp
to: to
, () -> utils.replaceStringInFiles to, 'APPNAME', opts.APPNAME, cb
###
angular_module = (opts, cb) ->
if opts.template
baseFile = "#{process.env.HOME}/.pages/angular_module.litcoffee"
log.info generator: "Using configured Pages angular_module.litcoffee at #{baseFile} to generate AngularJS Module."
else
baseFile = "#{(path.join path.dirname fs.realpathSync(__filename))}/generate/angular_module.litcoffee"
utils.copyFile
from: XXXXXX
to: "#{process.cwd()}/angular_modules/#{opts.NAME}.litcoffee"
, () -> utils.replaceStringInFile "#{process.cwd()}/angular_modules/#{opts.NAME}.litcoffee", 'NAME', opts.NAME, cb
page = (opts, cb) ->
if opts.template
baseFile = "#{process.env.HOME}/.pages/page.litcoffee"
log.info generator: "Using configured Pages page.litcoffee at #{baseFile} to generate Page."
else
baseFile = "#{(path.join path.dirname fs.realpathSync(__filename))}/generate/page.litcoffee"
utils.copyFile
from: XXXXX
to: "#{process.cwd()}/pages/{opts.NAME}"
, () -> utils.replaceStringInFile "#{process.cwd()}/pages/#{opts.NAME}.litcoffee", 'NAME', opts.NAME, cb
###
server_module = (opts, cb) ->
if opts.template
baseFile = "#{process.env.HOME}/.pages/server_module.litcoffee"
log.info generator: "Using configured Pages server_module.litcoffee at #{baseFile} to generate Node.js Server Module."
else
baseFile = "#{(path.join path.dirname fs.realpathSync(__filename))}/generate/server_module.litcoffee"
to = "#{process.cwd()}/server_modules/#{opts.NAME}.litcoffee"
In case we don't have `server_modules/` yet.
utils.runWithCb "mkdir #{process.cwd()}/server_modules", () ->
utils.copyFile
from: baseFile
to: to
, () -> cb()
## Public API ##
publicFns =
app: app
'server_module': server_module
###
'angular_module': angular_module
page: page
'server_module': server_module
###
module.exports = publicFns