All your DI should use the same syntax : the Array, function, or $inject syntaxes ("di": [2, "array, function, or $inject"])
The following patterns are considered problems with default config;
/*eslint angular/di: 2*/
// invalid
angular.module('myModule').factory('myService', ['$http', '$log', 'anotherService', function ($http, $log, anotherService) {
// ...
}]); // error: You should use the function syntax for DI
The following patterns are not considered problems with default config;
/*eslint angular/di: 2*/
// valid
angular.module('myModule').factory('myService', function ($http, $log, anotherService) {
// ...
});
The following patterns are not considered problems when configured "array":
/*eslint angular/di: [2,"array"]*/
// valid
angular.module('myModule').factory('myService', ['$http', '$log', 'anotherService', function ($http, $log, anotherService) {
// ...
}]);
The following patterns are not considered problems when configured "$inject":
/*eslint angular/di: [2,"$inject"]*/
// valid
angular.module('myModule').factory('myService', myServiceFn);
myServiceFn.$inject=['$http', '$log', 'anotherService'];
function myServiceFn($http, $log, anotherService) {
// ...
}
This rule was introduced in eslint-plugin-angular 0.1.0