import * as angular from 'angular';
import { quayConfig } from './quay.config';
import quayPages from './quay-pages.module';
import quayRun from './quay.run';
import { ViewArrayFactory } from './services/view-array/view-array.factory';
import RouteBuilderFactory from './services/route-builder/route-builder.factory';
import NAME_PATTERNS from './constants/name-patterns.constant';
import { routeConfig } from './quay.routes';
import { CONFIG } from './constants/quay-config.constant';
var quayDependencies: string[] = [
quayPages,
'ngRoute',
'chieffancypants.loadingBar',
'cfp.hotkeys',
'angular-tour',
'restangular',
'angularMoment',
'mgcrea.ngStrap',
'ngCookies',
'ngSanitize',
'angular-md5',
'pasvaz.bindonce',
'ansiToHtml',
'core-ui',
'core-config-setup',
'infinite-scroll',
'react'
];
if (CONFIG && (CONFIG.MIXPANEL_KEY || CONFIG.MUNCHKIN_KEY || CONFIG.GOOGLE_ANALYTICS_KEY)) {
quayDependencies.push('angulartics');
}
if (CONFIG && CONFIG.MIXPANEL_KEY) {
quayDependencies.push('angulartics.mixpanel');
if (CONFIG && CONFIG.MUNCHKIN_KEY) {
quayDependencies.push('angulartics.marketo');
if (CONFIG && CONFIG.GOOGLE_ANALYTICS_KEY) {
quayDependencies.push('angulartics.google.analytics');
if (CONFIG && CONFIG.RECAPTCHA_SITE_KEY) {
quayDependencies.push('vcRecaptcha');
export default angular
.module('quay', quayDependencies)
.config(quayConfig)
.config(routeConfig)
.constant('NAME_PATTERNS', NAME_PATTERNS)
.constant('CONFIG', CONFIG)
.service('RouteBuilderFactory', RouteBuilderFactory)
.service('ViewArrayFactory', ViewArrayFactory)
.run(quayRun)
.name;