UNPKG

catjs

Version:

(Mobile) Web Automation Framework

135 lines (108 loc) 5.22 kB
var _nopt = require("nopt"), _path = require("path"), _fs = require("fs"), _Mapper = require("require-mapper"), _mapper = new _Mapper(); module.exports = function () { var _module, _catjs; _module = { init: function (config) { var moduleName, home = ((config && config.dirname) ? config.dirname : _path.resolve(__dirname + "../../../")), workingPath = _path.resolve("."), key, parsed = _nopt({ "kill": [String, Number], "task": [String, Array], "init": String, "test": String, "proxy": String, "debug": [Boolean, false], "watch": [Boolean, false], "project": [String, null] }, { "w": ["--watch", "true"], "k": ["--kill", 0], "i": ["--init", "cat"], "b": ["--task", "t@init", "--task", "t@scrap", "--task", "t@inject"], "a": ["--task", "t@autotest"], "t": ["--task", "t@test"], "c": ["--task", "t@clean"], "s": ["--task", "t@server.start"], "r": ["--task", "t@runner.start"], "server": ["--task", "t@monitoring.server"], "m": ["--task", "t@mtest"], // @deprecated "p": ["--project" , "."] }); // save command to global global.catcommand = parsed; (function () { _mapper.init({ methodname: "catrequire", basepath: home, data: { "cat.cli": "src/module/CATCli.js", "cat.config": "src/module/config/CATConfig.js", "cat": "src/module/CAT.js", "cat.init": "src/module/project/init/init.js", "cat.init.command": "src/module/project/init/commandInit.js", "cat.flow": "src/module/Flow.js", "cat.global": "src/module/CATGlob.js", "cat.project": "src/module/project/Project.js", "cat.props": "src/module/Properties.js", "cat.config.utils": "src/module/utils/fs/Config.js", "cat.mdata": "src/module/utils/fs/MetaData.js", "cat.jsonutils": "src/module/utils/fs/JSON.js", "cat.watch": "src/module/Watch.js", "cat.cache": "src/module/Cache.js", "cat.info": "src/module/info/Info.js", "cat.lib.utils": "src/libraries/cat/core/utils/Utils.js", "cat.utils": "src/module/utils/Utils.js", "cat.code.utils": "src/module/utils/Code.js", "cat.sys.utils": "src/module/utils/SysUtils.js", "cat.ext.utils": "src/module/utils/ExtUtils.js", "cat.tpl.utils": "src/module/utils/TemplateUtils.js", "cat.regexp.utils": "src/module/utils/RegExp.js", "cat.uglify.utils": "src/module/utils/Uglify.js", "cat.entity.jasmine": "src/module/utils/entity/jasmine/Jasmine.js", "cat.entity": "src/module/utils/entity/Entity.js", "cat.plugin.base": "src/module/plugin/Base.js", "cat.plugin.spawn": "src/module/plugin/spawn.js", "cat.common.scrap": "src/module/plugin/scrap/Scrap.js", "cat.common.config": "src/module/config/project/Config.js", "cat.common.manifest": "src/module/config/manifest/manifest.js", "cat.common.parser": "src/module/common/parser/Parser.js", "cat.common.library": "src/module/common/Library.js", "cat.scrap.utils": "src/module/plugin/scrap/ScrapUtils.js" } }); global.cathome = home; global.catlibs = _path.join(home, "src/libraries/"); })(); // Everything looks good. Require local grunt and run it. moduleName = _path.join(home, "src/module/CAT.js"); parsed.home = { path: home, working: {path: workingPath} }; if (config && !config.dirname) { for (key in config) { if (config.hasOwnProperty(key)) { parsed[key] = config[key]; } } } // CAT Module Initialization _catjs = new require(moduleName)(); _catjs.init(parsed); }, kill: function(pid) { _catjs.kill(pid); }, getProject: function() { return _catjs.getProject(); } }; return _module; }();