updated code docs

This commit is contained in:
Rocco 2015-12-03 21:55:38 +01:00
parent 71b6c62c4c
commit 1d3f8e0f23
2 changed files with 43 additions and 24 deletions

View File

@ -3,20 +3,23 @@
/************************************ /************************************
* * * *
* main binary - sets up defaults * * main executable *
* * * *
*************************************/ *************************************/
// flag to indicate if installation is verbose
var silent = true; var silent = true;
exports.silent = silent; exports.silent = silent;
// file system access
var fs = require('fs'); var fs = require('fs');
exports.fs = fs; exports.fs = fs;
// shell commands access
var shell = require('shelljs'); var shell = require('shelljs');
exports.shell = shell; exports.shell = shell;
// Standard Config File to be placed in Home Directory // default config template to be installed on first use
activeMod = "c64"; activeMod = "c64";
var config = { var config = {
"activeMod" : activeMod, "activeMod" : activeMod,
@ -30,67 +33,81 @@ var config = {
} }
} }
// Look for existing config file
/* // Create file if absent
* Try to find the config file for dustlayer or create if absent
*/
try { try {
// Query the entry // config file location
configFile = process.env['HOME'] + "/.dust.json"; configFile = process.env['HOME'] + "/.dust.json";
// query for the file
stats = fs.lstatSync(configFile); stats = fs.lstatSync(configFile);
// File is found, let's use the activeMod from the config file // if no error, file was found. Load active mod
activeMod = require(process.env['HOME'] + "/.dust.json").activeMod; activeMod = require(process.env['HOME'] + "/.dust.json").activeMod;
} }
catch (e) { catch (e) {
// file was not found
console.log("Config File not found - creating one in ~/.dust.json"); console.log("Config File not found - creating one in ~/.dust.json");
fs.writeFile(configFile, JSON.stringify(config,null, 4), function (err) { // create the file using the default template and set activeMod to c65
fs.writeFile(configFile, JSON.stringify(config,null, 4), function (err) {
// throw error if file can not be written
if (err) throw err; if (err) throw err;
// prompt a hint that we installed the config file
console.log("Started for the first time, created config file."); console.log("Started for the first time, created config file.");
}); });
} }
// make the config available to DUST /************************************
* *
* export sub modules *
* *
*************************************/
// current configuration
exports.config = config; exports.config = config;
// allowed DUST commands
var cmd = require('commander'); var cmd = require('commander');
exports.cmd = cmd; exports.cmd = cmd;
require('../lib/dust_cmd'); require('../lib/dust_cmd');
// Environment checks
var env = require('../lib/dust_env'); var env = require('../lib/dust_env');
exports.env = env; exports.env = env;
// All text that is outputted by DUST
var text = require('../lib/dust_text'); var text = require('../lib/dust_text');
exports.text = text; exports.text = text;
// Support for color in terminal
var ansi = require('ansi'); var ansi = require('ansi');
var color = ansi(process.stdout); var color = ansi(process.stdout);
exports.color = color; exports.color = color;
// Functions to check setup
var test = require('../lib/dust_test'); var test = require('../lib/dust_test');
exports.test = test; exports.test = test;
// Functions to setup environment and install tools
var setup = require('../lib/dust_setup'); var setup = require('../lib/dust_setup');
exports.setup = setup; exports.setup = setup;
// Access to github repository via Github API
var github = require('../lib/dust_github'); var github = require('../lib/dust_github');
exports.github = github; exports.github = github;
// Functions to pull Tutorials and Templates
var tutorials = require('../lib/dust_tutorials'); var tutorials = require('../lib/dust_tutorials');
exports.tutorials = tutorials; exports.tutorials = tutorials;
// progress bar while downloading files from external sources
var externals = require('../lib/dust_externals') var externals = require('../lib/dust_externals')
exports.externals = externals; exports.externals = externals;
// code templates stub, to be implemented by the active mod
var templates = require('../lib/dust_templates') var templates = require('../lib/dust_templates')
exports.templates = templates; exports.templates = templates;
/* Set Mod */ // boot DUST
/* booting 'dust' */
require('../lib/dust_boot'); require('../lib/dust_boot');

View File

@ -1,30 +1,32 @@
#!/usr/bin/env node #!/usr/bin/env node
var dust = require('../bin/dust'); var dust = require('../bin/dust');
// require modules to startup 'dust' // set up active mod from config file (default: c64)
dust.config.mod = require("../mods/" + dust.config.activeMod + '/config/mod.json'); dust.config.mod = require("../mods/" + dust.config.activeMod + '/config/mod.json');
// get texts used for this mod
require("../mods/" + dust.config.activeMod + '/lib/dust_text'); require("../mods/" + dust.config.activeMod + '/lib/dust_text');
/* Initial Message */ /* Initial Message */
//dust.shell.exec("clear"); dust.shell.exec("clear");
// show Dustlayer logo unless disabled by configuration
if (dust.config.dustLogo === true) { if (dust.config.dustLogo === true) {
dust.text.dustLogo(); dust.text.dustLogo();
} }
// show welcome message and version number
dust.text.welcomeMessage(dust.env.operatingSystem+ " " + dust.env.osVersion, dust.env.dustVersion); dust.text.welcomeMessage(dust.env.operatingSystem+ " " + dust.env.osVersion, dust.env.dustVersion);
// include modded tests
// modded tests
require("../mods/" + dust.config.activeMod + '/lib/dust_test'); require("../mods/" + dust.config.activeMod + '/lib/dust_test');
// modded setup // include modded setup
require("../mods/" + dust.config.activeMod + '/lib/dust_setup'); require("../mods/" + dust.config.activeMod + '/lib/dust_setup');
// modded commands // include modded commands
require("../mods/" + dust.config.activeMod + '/lib/dust_cmd'); require("../mods/" + dust.config.activeMod + '/lib/dust_cmd');
// modded commands // include modded templates
require("../mods/" + dust.config.activeMod + '/lib/dust_templates'); require("../mods/" + dust.config.activeMod + '/lib/dust_templates');
dust.cmd.parse(process.argv); dust.cmd.parse(process.argv);