ask-cli-x
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
48 lines (47 loc) • 2 kB
JavaScript
;
const os = require("os");
const CONSTANTS = require("./constants");
const pkg = require("../../package.json");
const stringUtils = require("./string-utils");
function resolve(chain) {
for (const item of chain) {
if (stringUtils.isNonBlankString(item) && item !== "undefined") {
return item;
}
}
return null;
}
class DynamicConfig {
static get lwaClientId() {
return resolve([process.env.ASK_LWA_CLIENT_ID, CONSTANTS.LWA.CLI_INTERNAL_ONLY_LWA_CLIENT.CLIENT_ID]);
}
static get lwaClientConfirmation() {
return resolve([process.env.ASK_LWA_CLIENT_CONFIRMATION, CONSTANTS.LWA.CLI_INTERNAL_ONLY_LWA_CLIENT.CLIENT_CONFIRMATION]);
}
static get lwaAuthorizationHost() {
return resolve([process.env.ASK_LWA_AUTHORIZE_HOST, CONSTANTS.LWA.DEFAULT_AUTHORIZE_HOST]);
}
static get lwaTokenHost() {
return resolve([process.env.ASK_LWA_TOKEN_HOST, CONSTANTS.LWA.DEFAULT_TOKEN_HOST]);
}
static get smapiBaseUrl() {
return resolve([process.env.ASK_SMAPI_SERVER_BASE_URL, CONSTANTS.SMAPI.ENDPOINT]);
}
static get s3Scripts() {
const baseUrl = resolve([process.env.ASK_S3_SCRIPTS_BASE_URL, "https://ask-tools-core-content.s3-us-west-2.amazonaws.com"]);
return {
authInfo: `${baseUrl}/auth_info`,
prePush: `${baseUrl}/git-hooks-templates/pre-push/pre-push`,
askPrePush: `${baseUrl}/git-hooks-templates/pre-push/ask-pre-push`,
gitCredentialHelper: `${baseUrl}/helpers/prod/git-credential-helper`,
};
}
static get userAgent() {
const cliUserAgentStr = `ask-cli/${pkg.version} Node/${process.version} ${os.type()}/${os.release()}`;
if (stringUtils.isNonBlankString(process.env.ASK_DOWNSTREAM_CLIENT)) {
return `${process.env.ASK_DOWNSTREAM_CLIENT} (ask-cli downstream client) ${cliUserAgentStr}`;
}
return cliUserAgentStr;
}
}
module.exports = DynamicConfig;