@omnia/tooling
Version:
Provide basic stuffs extensible for omnia extension.
84 lines (83 loc) • 2.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require('fs'), path = require('path');
var utils = require("./utils");
var BuildStage = {
BeforeBuild: "BeforeBuild",
AfterBuild: "AfterBuild",
BeforeScanManifests: "BeforeScanManifests",
AfterScanManifests: "AfterScanManifests",
BeforeBundleManifest: "BeforeBundleManifest",
BundleManifest: "BundleManifest",
AfterBundleManifest: "AfterBundleManifest",
BeforeGenerateManifestsMetadata: "BeforeGenerateManifestsMetadata",
GenerateManifestsMetadata: "GenerateManifestsMetadata",
AfterGenerateManifestsMetadata: "AfterGenerateManifestsMetadata"
};
exports.BuildStage = BuildStage;
var _registeredBuildTasks = [];
/**
* buildTask: {type: BeforeBuild|AfterBuild, order:number(default 100 for extension), task: () -> promise }
*/
function registerBuildTask(buildTask) {
_registeredBuildTasks.push(buildTask);
}
exports.registerBuildTask = registerBuildTask;
function getRegisteredBuildTasks() {
return _registeredBuildTasks;
}
exports.getRegisteredBuildTasks = getRegisteredBuildTasks;
function getExtensionInfo() {
var result = {};
var filePath = utils.root('extension.json');
if (fs.existsSync(filePath)) {
try {
result = require(filePath);
}
catch (err) {
console.log(err);
}
}
return result;
}
exports.getExtensionInfo = getExtensionInfo;
function getEnviromentInfo() {
var result = {};
var filePath = utils.root('environment.json');
if (fs.existsSync(filePath)) {
try {
result = require(filePath);
}
catch (err) {
console.log(err);
}
}
return result;
}
exports.getEnviromentInfo = getEnviromentInfo;
function getConfig(path) {
var filePath = (process.cwd().replace(/\\/g, "/") + "/" + path).replace(/\/\//g, "/");
if (fs.existsSync(filePath)) {
try {
return require(filePath);
}
catch (err) {
console.log('have an exception when load ' + filePath + ' : ' + err);
}
}
return null;
}
exports.getConfig = getConfig;
function loadFile(path) {
var filePath = (process.cwd() + "/" + path).replace(/\\/g, "/").replace(/\/\//g, "/");
if (fs.existsSync(filePath)) {
try {
return require(filePath);
}
catch (err) {
console.log('have an exception when load ' + filePath + ' : ' + err);
}
}
return null;
}
exports.loadFile = loadFile;