mirror of
https://github.com/JamesIves/github-pages-deploy-action.git
synced 2023-12-15 20:03:39 +08:00
61 lines
2.4 KiB
JavaScript
61 lines
2.4 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
var path_1 = require("path");
|
||
|
var utils_1 = require("./utils");
|
||
|
var lodash_1 = require("lodash");
|
||
|
var GraphQLProjectConfig_1 = require("./GraphQLProjectConfig");
|
||
|
var GraphQLConfig = /** @class */ (function () {
|
||
|
function GraphQLConfig(config, configPath) {
|
||
|
utils_1.validateConfig(config);
|
||
|
this.config = config;
|
||
|
this.configPath = configPath;
|
||
|
}
|
||
|
Object.defineProperty(GraphQLConfig.prototype, "configDir", {
|
||
|
get: function () {
|
||
|
return path_1.dirname(this.configPath);
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
GraphQLConfig.prototype.getProjectConfig = function (projectName) {
|
||
|
return new GraphQLProjectConfig_1.GraphQLProjectConfig(this.config, this.configPath, projectName);
|
||
|
};
|
||
|
GraphQLConfig.prototype.getConfigForFile = function (filePath) {
|
||
|
var projects = this.config.projects;
|
||
|
if (!projects || Object.keys(projects).length === 0) {
|
||
|
var config = new GraphQLProjectConfig_1.GraphQLProjectConfig(this.config, this.configPath, undefined);
|
||
|
return config.includesFile(filePath) ? config : undefined;
|
||
|
}
|
||
|
return lodash_1.values(this.getProjects()).find(function (project) { return project.includesFile(filePath); }) || undefined;
|
||
|
};
|
||
|
GraphQLConfig.prototype.getProjectNameForFile = function (filePath) {
|
||
|
var proj = this.getConfigForFile(filePath);
|
||
|
return proj && proj.projectName || undefined;
|
||
|
};
|
||
|
GraphQLConfig.prototype.getProjects = function () {
|
||
|
var result = {};
|
||
|
for (var projectName in (this.config.projects || {})) {
|
||
|
result[projectName] = this.getProjectConfig(projectName);
|
||
|
}
|
||
|
if (Object.keys(result).length === 0) {
|
||
|
return undefined;
|
||
|
}
|
||
|
return result;
|
||
|
};
|
||
|
GraphQLConfig.prototype.saveConfig = function (newConfig, projectName) {
|
||
|
var config;
|
||
|
if (projectName) {
|
||
|
config = this.config;
|
||
|
config.projects = config.projects || {};
|
||
|
config.projects[projectName] = config.projects[projectName] || {};
|
||
|
config.projects[projectName] = newConfig;
|
||
|
}
|
||
|
else {
|
||
|
config = newConfig;
|
||
|
}
|
||
|
utils_1.writeConfig(this.configPath, config);
|
||
|
};
|
||
|
return GraphQLConfig;
|
||
|
}());
|
||
|
exports.GraphQLConfig = GraphQLConfig;
|