src/installer.js
function (options, dir, callback) {
  var applicationDir = path.join(dir, 'lib', options.id)
  options.logger('Copying application to ' + applicationDir)

  async.waterfall([
    async.apply(fs.ensureDir, applicationDir),
    async.apply(fs.copy, options.src, applicationDir)
  ], function (err) {
    callback(err && new Error('Error copying application directory: ' + (err.message || err)))
  })
}
function (options, dir, callback) {
  var applicationDir = path.join(dir, 'lib', options.id)
  options.logger('Copying application to ' + applicationDir)

  async.waterfall([
    async.apply(fs.ensureDir, applicationDir),
    async.apply(fs.copy, options.src, applicationDir)
  ], function (err) {
    callback(err && new Error('Error copying application directory: ' + (err.message || err)))
  })
}
function ( options , dir , callback ) { var applicationDir = path . join ( dir , 'lib' , options . id ) options . logger ( 'Copying application to ' + applicationDir ) async . waterfall ( [ async . apply ( fs . ensureDir , applicationDir ) , async . apply ( fs . copy , options . src , applicationDir ) ] , function ( err ) { callback ( err && new Error ( 'Error copying application directory: ' + ( err . message || err ) ) ) } ) }
Copy the application into the package.
Copy the application into the package .