Ejemplo n.º 1
0
        complete: function(err) {
          if(err) {
            terminal.abort(err);
          }
          console.log();
          console.info(terminal.cyan('Done!'));
          console.log();
          console.info(terminal.cyan('Creating first user...'));
          console.log();

          // Creating user
          create_user({
            no_commit: true,
            success: function() {

              // Instructions
              console.log();
              console.info(terminal.cyan('Done!'));
              console.log();
              console.info(terminal.cyan('Now run:'));
              console.log(helpers.pad('cd ' + target));
              console.log(helpers.pad('captain run'));
              terminal.exit('');
            }
          });
        }
Ejemplo n.º 2
0
            success: function() {

              // Instructions
              console.log();
              console.info(terminal.cyan('Done!'));
              console.log();
              console.info(terminal.cyan('Now run:'));
              console.log(helpers.pad('cd ' + target));
              console.log(helpers.pad('captain run'));
              terminal.exit('');
            }
Ejemplo n.º 3
0
  function _run() {
    // TODO: Put this in settings
    var logs = join(cwd, 'logs')
      , out = fs.openSync(join(logs, 'out.log'), 'a')
      , err = fs.openSync(join(logs, 'err.log'), 'a');

    if(helpers.isCaptainProject()) {
      var bin = program.watch
        ? resolve(PROJECT_ROOT, 'node_modules', '.bin', 'node-dev')
        : 'node';

      var options = program.fork
        ? { stdio: [ 'ignore', out, err ],  detached: true}
        : { stdio: 'inherit' };

      var child = spawn(bin, [join(cwd, 'index.js')], options);
      var conf = require('captain-core').conf;
      console.log(terminal.cyan('Your application is running at: ') + 'http://%s:%d', conf.host, conf.port);

      if(program.fork) {
        // TODO: Put this in settings
        fs.writeFileSync(join(cwd, 'node.pid'), String(child.pid));
        child.unref();
      }
    } else {
      terminal.abort('Not a Captain project');
    }
  }
Ejemplo n.º 4
0
  function create_project(name, uri) {
    console.log();
    console.log(terminal.cyan('Creating project: ') + name);
    console.log();

    // Creating dirs
    helpers.dirs(name, ['cache', 'media', 'logs', 'themes']);

    // Copying files
    helpers.copyR([join('themes','default')],  name);

    // Creating files
    var templates = helpers.files({
      name: name,
      uri: uri
    });

    Object.keys(templates).forEach(function(key) {
      var p = join(name, key),
          dir = dirname(key);

      if(dir != '.') {
        helpers.mkdir(join(name, dir));
      }
      helpers.write(p, templates[key]);
    });
  }
Ejemplo n.º 5
0
    prompt_uri(function(uri) {
      console.info(terminal.cyan('Connection successful!'));
      console.log();
      console.info(terminal.cyan('Creating database schema...'));

      // Creating projects files
      create_project(target, uri);

      // Synchronizing database
      var db = require('captain-core/lib/db');
      var conf = require('captain-core').conf;


      conf.reload(join(cwd, target));
      db.syncDB({
        uri: uri,
        complete: function(err) {
          if(err) {
            terminal.abort(err);
          }
          console.log();
          console.info(terminal.cyan('Done!'));
          console.log();
          console.info(terminal.cyan('Creating first user...'));
          console.log();

          // Creating user
          create_user({
            no_commit: true,
            success: function() {

              // Instructions
              console.log();
              console.info(terminal.cyan('Done!'));
              console.log();
              console.info(terminal.cyan('Now run:'));
              console.log(helpers.pad('cd ' + target));
              console.log(helpers.pad('captain run'));
              terminal.exit('');
            }
          });
        }
      });
    });
Ejemplo n.º 6
0
function themes() {
  var themes = fs.readdirSync(join(PROJECT_ROOT, 'themes'));

  console.log(terminal.cyan('Available themes:'));
  console.log(themes.map(helpers.pad).join(helpers.EOL));
}