#!/usr/bin/env node var argsparser = require("argsparser"); var fs = require("fs"); var path = require("path"); var proc = require("../lib/process.js"); var watcher = require("../lib/watcher.js"); var builder = require("../lib/builder.js"); var browser = require("../lib/browser.js"); var Server = require("../lib/server.js").Server; var args = argsparser.parse(); var config = global.config = proc.getConfig(args["--config"]); var server; if (args["--server"]) { if (args["--port"]) { config.port = args["--port"]; } } if (args["--debug"]) { config.debug = true; } if (args["--src"]) { config.srcDir = args["--src"]; } if (args["--dist"]) { config.distDir = args["--dist"]; } global.config = config; if (!fs.existsSync(config.srcDir)) { console.log("Source dir does not exist: " + config.srcDir); proc.quit(); } if (!fs.existsSync(config.distDir)) { console.log("Dist dir does not exist: " + config.distDir); proc.quit(); } if (args["--server"]) { proc.init(); server = new Server(config.port, config.httpRoot, config.debug); server.start(function() { console.log("Listening on port: " + config.port); builder.build(config.srcDir, config.distDir); watcher.watchDir(config.srcDir, function(inputDir, fileName) { builder.build(config.srcDir, config.distDir); }); watcher.watchDir(config.distDir, function(inputDir, fileName) { var filePath = inputDir + "/" + fileName; var relativeFilePath = path.relative(config.srcDir + "/html", filePath); server.socket && browser.refresh(relativeFilePath, server.socket, 500); }); }); } else { console.log("Building to: " + config.distDir); builder.build(config.srcDir, config.distDir); }