#!/usr/bin/env node

/**
 * Start {{name}} app on debug mode.
 *
 * Generated by {{generator}} on {{today}},
 * from a template provided by {{ pkg.name }}.
 *
 * @see https://github.com/visionmedia/debug
 */

'use strict'

process.chdir(`${__dirname}/{{{cwd}}}`)

/** Names of debugs to enable */
const DEBUG = [
  'apeman:*',  // Apeman buildin
  'project:*' // Project specific
].join(',')

process.env.DEBUG = process.env.DEBUG || DEBUG

const apeman = require('apeman')
const {{camelcase name}}App = require.resolve('../app/{{snakecase name}}_app')
const configuration = require.resolve('../../{{params.site}}/{{snakecase name}}/Apemanfile')

/** Start and debug {{spinalcase name}}. */
function debug{{pascalcase name}}App (onStart, onRestart) {
  let app = apeman.frk({{camelcase name}}App) // Make restartable
  apeman
    .wtch({configuration})
    .on('ready', () => app.start(onStart))
    .on('fired', () => app.restartWithDelay(300, onRestart))
}

// Invoke when executed as main.
if (!module.parent) {
  debug{{pascalcase name}}App(() => {
    // {{name}} app started
  }, () => {
    // {{name}} app restarted
  })
}
