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

66 lines
1.5 KiB

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