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.
64 lines
1.4 KiB
64 lines
1.4 KiB
8 years ago
|
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;
|
||
|
}
|
||
|
|
||
|
interface IGithubSettings {
|
||
|
createGithub: (repoOwner: string) => Github;
|
||
|
}
|
||
|
|
||
|
export type Settings = IBuilderSettings & CodeAnalysisSettings & CodeSigningSettings & IStorageSettings & INugetSettings & ISmtpSettings & ISiteSettings & IGithubSettings;
|