ordenação automática de arquivos karma.conf.js?
Eu tenho um grande projeto angularjs ordenado por recursos. Gostaria de configurar o teste de unidade, mas estou tendo problemas para obter a configuração de pedido do arquivo karma.conf.js.
Tentei especificar um padrão glob simples como ** / *. Js, mas muitos dos meus módulos falharam ao carregar devido à ordem de inclusão dos mesmos no Karma quando executados. Pelo que entendi, é a primeira correspondência alfabética.
Consegui resolver isso manualmente, descobrindo a ordem fazendo algo como isto:
// list of files / patterns to load in the browser
files: [
// External scripts
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'bower_components/angular-cookies/angular-cookies.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-route/angular-route.js',
// NOTE: ORDER IS IMPORTANT
// Modules: load module first, then all controllers, services, etc
'scripts/module1/module1.js',
'scripts/module1/**/*.js',
'scripts/module2/module2.js',
'scripts/module2/**/*.js',
// Load overall app module last
'scripts/app.js',
// Load mocks and tests
'test/mock/**/*.js',
'test/spec/**/*.js'
],
Parece que será complicado manter isso ao longo do tempo à medida que novos módulos forem adicionados. Existe uma maneira de resolver automaticamente o pedido?
Nota: Uma solução possível que eu pensava era concatear todos os arquivos juntos, mas pesquisei no Google para ver se outras pessoas estão fazendo isso e não encontrei exemplos.