Build server prototype (integration with GitHub / NuGet / etc)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
micro-build-server/BuildServer/lib/types/settings-types.ts

68 lines
1.8 KiB

import * as Github from "github";
interface IBuilderSettings {
readonly builderExecutable: string;
}
interface ICodeAnalysisSettingsUnsupported {
readonly isCodeAnalysisUnsupported: true;
}
interface ICodeAnalysisSettingsSupported {
readonly eslintBrowserConfig: string;
readonly ignoreCodeAnalysisByDefault: boolean;
readonly isCodeAnalysisUnsupported: false;
}
type CodeAnalysisSettings = ICodeAnalysisSettingsUnsupported | ICodeAnalysisSettingsSupported;
interface ICodeSigningSettingsUnsupported {
readonly skipCodeSigning: true;
}
interface ICodeSigningSettingsSupported {
readonly codeSigningKeyFile: string;
readonly codeSigningPublicKey: string;
readonly skipCodeSigning: false;
}
type CodeSigningSettings = ICodeSigningSettingsUnsupported | ICodeSigningSettingsSupported;
interface IStorageSettings {
readonly gitpath: string;
readonly releasepath: string;
readonly tmpcodepath: string;
}
interface INugetSettings {
readonly nugetApiKey: string;
readonly nugetHost: string;
}
interface ISmtpSettings {
readonly smtp: {
readonly auth: {
readonly pass: string;
readonly user: string;
},
readonly host: string;
readonly receiver: string;
readonly sender: string;
};
}
interface ISiteSettings {
readonly port: number | string;
readonly siteRoot: string;
readonly viewspath: string;
readonly faviconpath: string;
readonly staticcontentpath: string;
}
interface IGithubSettings {
readonly createGithub: (repoOwner: string) => Github;
7 years ago
readonly githubSiteRoot: string;
}
export type Settings = IBuilderSettings & CodeAnalysisSettings & CodeSigningSettings & IStorageSettings & INugetSettings & ISmtpSettings & ISiteSettings & IGithubSettings;