eslint-plugin-angular
Advanced tools
Comparing version 0.4.0 to 0.5.0
@@ -12,3 +12,3 @@ { | ||
"devDependencies": { | ||
"eslint": "1.0.0", | ||
"eslint": "^1.1.0", | ||
"eslint-plugin-angular": "file:../../", | ||
@@ -15,0 +15,0 @@ "grunt": "^0.4.5", |
@@ -12,3 +12,3 @@ { | ||
"devDependencies": { | ||
"eslint": "1.0.0", | ||
"eslint": "^1.1.0", | ||
"eslint-plugin-angular": "file:../../", | ||
@@ -15,0 +15,0 @@ "gulp": "^3.8.11", |
@@ -12,5 +12,5 @@ { | ||
"devDependencies": { | ||
"eslint": "1.0.0", | ||
"eslint": "^1.1.0", | ||
"eslint-plugin-angular": "file:../../" | ||
} | ||
} |
@@ -33,2 +33,3 @@ (function(){ | ||
'ng_on_watch': require('./rules/ng_on_watch'), | ||
'ng_rest_service': require('./rules/ng_rest_service'), | ||
'ng_service_name': require('./rules/ng_service_name'), | ||
@@ -74,2 +75,3 @@ 'ng_timeout_service': require('./rules/ng_timeout_service'), | ||
'ng_on_watch': 2, | ||
'ng_rest_service': 0, | ||
'ng_service_name': 0, | ||
@@ -76,0 +78,0 @@ 'ng_timeout_service': 2, |
{ | ||
"name": "eslint-plugin-angular", | ||
"version": "0.4.0", | ||
"version": "0.5.0", | ||
"description": "ESLint rules for AngularJS projects", | ||
@@ -17,18 +17,14 @@ "main": "index.js", | ||
"devDependencies": { | ||
"chai": "^1.10.0", | ||
"coveralls": "^2.11.2", | ||
"eslint": "^0.13.0", | ||
"eslint-tester": "^0.5.0", | ||
"gulp": "^3.8.10", | ||
"gulp-eslint": "^0.3.0", | ||
"gulp-istanbul": "0.6.0", | ||
"gulp-mocha": "^2.0.0", | ||
"istanbul": "^0.3.5", | ||
"mocha": "2.1.0", | ||
"shelljs": "^0.3.0", | ||
"chai": "^3.2.0", | ||
"coveralls": "^2.11.4", | ||
"eslint": "^1.1.0", | ||
"gulp": "^3.9.0", | ||
"gulp-eslint": "^1.0.0", | ||
"gulp-istanbul": "^0.10.0", | ||
"gulp-mocha": "^2.1.3", | ||
"istanbul": "^0.3.17", | ||
"mocha": "^2.2.5", | ||
"shelljs": "^0.5.3", | ||
"shelljs-nodecli": "^0.1.1" | ||
}, | ||
"peerDependencies": { | ||
"eslint": ">=0.8.0" | ||
}, | ||
"keywords": [ | ||
@@ -35,0 +31,0 @@ "eslint", |
@@ -103,3 +103,4 @@ [![Build Status](https://travis-ci.org/Gillespie59/eslint-plugin-angular.svg?branch=master)](https://travis-ci.org/Gillespie59/eslint-plugin-angular) | ||
| 'ng_on_watch': 2 | Watch and On methods on the scope object should be assigned to a variable, in order to be deleted in a $destroy event handler | | ||
| 'ng_service_name': 2 | All your services should have a name starting with the parameter you can define in your config object. The second parameter can be a Regexp wrapped in quotes. You can not prefix your services by "$" (reserved keyword for AngularJS services) ("ng_service_name": [2, "ng"]) [Y125](https://github.com/johnpapa/angular-styleguide#style-y125) | | ||
| 'ng_rest_service': 0 | Check the service used to send request to your REST API. This rule can have one parameter, with tone he following value : $http, $resource or Restangular ('ng_rest_service': [0, '$http']). | ||
| 'ng_service_name': 2 | All your services should have a name starting with the parameter you can define in your config object. The second parameter can be a Regexp wrapped in quotes. You can not prefix your services by "$" (reserved keyword for AngularJS services) ("ng_service_name": [2, "ng"]) [Y125](https://github.com/johnpapa/angular-styleguide#style-y125) | | ||
| 'ng_timeout_service': 2 | Instead of the default setTimeout function, you should use the AngularJS wrapper service $timeout [Y181](https://github.com/johnpapa/angular-styleguide#style-y181) | | ||
@@ -137,2 +138,35 @@ | 'ng_typecheck_array': 2 | You should use the angular.isArray method instead of the default JavaScript implementation (typeof [] === "[object Array]"). | | ||
We can use a property, defined in the ESLint configuration file, in order to know which version is used : Angular 1 or Angular 2. based on this property, you can create rules for each version. | ||
```yaml | ||
plugins: | ||
- angular | ||
rules: | ||
angular/ng_controller_name: | ||
- 2 | ||
- '/[A-Z].*Controller$/' | ||
globals: | ||
angular: true | ||
settings: | ||
angular: 2 | ||
``` | ||
And in your rule, you can access to this property thanks to the `context` object : | ||
```javascript | ||
//If Angular 2 is used, we disabled the rule | ||
if(context.settings.angular === 2){ | ||
return {}; | ||
} | ||
return { | ||
'CallExpression': function(node) { | ||
} | ||
}; | ||
``` | ||
## Default ESLint Configuration file | ||
@@ -139,0 +173,0 @@ |
@@ -16,1 +16,3 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = []; |
@@ -18,1 +18,3 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = []; |
@@ -42,1 +42,3 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = []; |
@@ -50,1 +50,6 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [{ | ||
type: 'string' | ||
}]; | ||
@@ -6,2 +6,5 @@ module.exports = function(context) { | ||
var utils = require('./utils/utils'); | ||
if(context.settings.angular === 2){ | ||
return {}; | ||
} | ||
@@ -8,0 +11,0 @@ return { |
@@ -15,1 +15,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -32,1 +32,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -13,1 +13,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -57,1 +57,7 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [{ | ||
type: 'string' | ||
}, { | ||
type: 'array' | ||
}]; |
@@ -23,1 +23,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -19,1 +19,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -18,1 +18,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -32,1 +32,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -0,1 +1,2 @@ | ||
module.exports = function(context) { | ||
@@ -28,1 +29,5 @@ | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -27,1 +27,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -16,1 +16,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -15,1 +15,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -21,1 +21,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -22,1 +22,6 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; | ||
@@ -76,1 +76,8 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [{ | ||
type: ['array', 'object'], | ||
}, { | ||
type: 'array' | ||
}]; |
@@ -77,1 +77,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -23,1 +23,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -32,1 +32,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -28,1 +28,6 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; | ||
@@ -28,1 +28,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -28,1 +28,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -28,1 +28,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -26,1 +26,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -32,1 +32,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -28,1 +28,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [ | ||
// JSON Schema for rule options goes here | ||
]; |
@@ -21,1 +21,5 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = [{ | ||
type: 'string', | ||
}]; |
@@ -16,1 +16,3 @@ module.exports = function(context) { | ||
}; | ||
module.exports.schema = []; |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_angularelement'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_angularelement', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_angularelement', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.element("#id")' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_controller_as_route'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_controller_as_route', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_controller_as_route', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$routeProvider.when("/myroute", { controller: "MyController", controllerAs: "vm" })', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_controller_as_vm'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,26 +13,26 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_controller_as_vm', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_controller_as_vm', rule, { | ||
valid: [ | ||
{ code: 'angular.module("test").controller("Test", function () { var vm = this; vm.test = "test"; } )', | ||
args: [2, 'vm']}, | ||
options: ['vm']}, | ||
{ code: 'angular.module("test").controller("Test", function () { var vm = this; vm.test(); } )', | ||
args: [2, 'vm']}, | ||
options: ['vm']}, | ||
{ code: 'angular.module("test").service("Test", function () { this.doSomething(); } )', | ||
args: [2, 'vm']} | ||
options: ['vm']} | ||
], | ||
invalid: [ | ||
{ code: 'function controllerFunc() { this.test = "test"; } angular.module("test").controller("Test", controllerFunc )', | ||
args: [2, 'vm'], | ||
options: ['vm'], | ||
errors: [{ message: 'You should not use "this" directly. Instead, assign it to a variable called "vm"'}] }, | ||
{ code: 'angular.module("test").controller("Test", function () { this.test(); } )', | ||
args: [2, 'vm'], | ||
options: ['vm'], | ||
errors: [{ message: 'You should not use "this" directly. Instead, assign it to a variable called "vm"'}] }, | ||
{ code: 'var myController = function () { var ctrl = this; ctrl.test(); }; angular.module("test").controller("Test", myController )', | ||
args: [2, 'vm'], | ||
options: ['vm'], | ||
errors: [{ message: 'You should assign "this" to a consistent variable across your project: vm'}] }, | ||
{ code: 'function MyController () { var ctrl = this; ctrl.test(); }', | ||
args: [2, 'vm', '/[A-Z].*Controller/'], | ||
options: ['vm', '/[A-Z].*Controller/'], | ||
errors: [{ message: 'You should assign "this" to a consistent variable across your project: vm'}] } | ||
] | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_controller_as'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_controller_as', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_controller_as', rule, { | ||
valid: [ | ||
@@ -36,11 +36,11 @@ 'angular.module("test").controller("Test", function () { $scope.$watch() } )', | ||
{ code: 'function MyController () { $scope.name() }', | ||
args: [2, /MyController/], | ||
options: [/MyController/], | ||
errors: [{ message: 'You should not set properties on $scope in controllers. Use controllerAs syntax and add data to "this"'}] }, | ||
{ code: 'module.exports = function MyController () { $scope.name() }', | ||
args: [2, /MyController/], | ||
options: [/MyController/], | ||
errors: [{ message: 'You should not set properties on $scope in controllers. Use controllerAs syntax and add data to "this"'}] }, | ||
{ code: 'module.exports = function MyController () { $scope.name() }', | ||
args: [2, '/MyController/'], | ||
options: ['/MyController/'], | ||
errors: [{ message: 'You should not set properties on $scope in controllers. Use controllerAs syntax and add data to "this"'}] } | ||
] | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_controller_name'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,22 +13,22 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_controller_name', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_controller_name', rule, { | ||
valid: [{ | ||
code: 'app.controller("eslintController", function(){});', | ||
args: [1, 'eslint'] | ||
options: ['eslint'] | ||
}, { | ||
code: 'app.controller("eslintController", function(){});', | ||
args: [1, /^eslint/] | ||
options: [/^eslint/] | ||
}, { | ||
code: 'app.controller("eslintController", function(){});', | ||
args: [1, undefined] | ||
options: [undefined] | ||
}, { | ||
code: 'app.controller("EslintController", function(){});', | ||
args: [1, /[A-Z].*Controller$/] | ||
options: [/[A-Z].*Controller$/] | ||
}, { | ||
code: 'app.controller("EslintController", function(){});', | ||
args: [1, '/[A-Z].*Controller$/'] | ||
options: ['/[A-Z].*Controller$/'] | ||
}, { | ||
code: 'controller = el.controller();', | ||
args: [1, '/[A-Z].*Controller$/'] | ||
options: ['/[A-Z].*Controller$/'] | ||
}], | ||
@@ -38,3 +38,3 @@ invalid: [ | ||
code: 'app.controller("Controller", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The Controller controller should be prefixed by eslint'}] | ||
@@ -44,3 +44,3 @@ }, | ||
code: 'app.controller("esLintController", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The esLintController controller should be prefixed by eslint'}] | ||
@@ -50,3 +50,3 @@ }, | ||
code: 'app.controller("Controller", function(){});', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
errors: [{ message: 'The Controller controller should follow this pattern: /^eslint/'}] | ||
@@ -56,3 +56,3 @@ }, | ||
code: 'app.controller("customers", function(){});', | ||
args: [1, /[A-Z].*Controller$/], | ||
options: [/[A-Z].*Controller$/], | ||
errors: [{ message: 'The customers controller should follow this pattern: /[A-Z].*Controller$/'}] | ||
@@ -62,7 +62,7 @@ }, | ||
code: 'app.controller("customersController", function(){});', | ||
args: [1, /[A-Z].*Controller$/], | ||
options: [/[A-Z].*Controller$/], | ||
errors: [{ message: 'The customersController controller should follow this pattern: /[A-Z].*Controller$/'}] | ||
}, { | ||
code: 'app.controller("eslintController", function(){});', | ||
args: [1, '/[A-Z].*Controller$/'], | ||
options: ['/[A-Z].*Controller$/'], | ||
errors: [{ message: 'The eslintController controller should follow this pattern: /[A-Z].*Controller$/'}] | ||
@@ -69,0 +69,0 @@ } |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_deferred'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_deferred', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_deferred', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$qs(function(){});' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_definedundefined'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_definedundefined', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_definedundefined', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isUndefined(toto)', |
@@ -5,5 +5,6 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_di'), | ||
RuleTester = require("eslint").RuleTester; | ||
var angularNamedObjectList = ['value', 'factory', 'service', 'provider', 'controller', 'filter', 'directive']; | ||
@@ -18,12 +19,12 @@ var angularObjectList = ['run', 'config']; | ||
code: 'angular.' + object + '(function(){});', | ||
args: [1, 'function'] | ||
options: ['function'] | ||
}, { | ||
code: 'angular.' + object + '([function(){}]);', | ||
args: [1, 'array'] | ||
options: ['array'] | ||
}, { | ||
code: 'angular.' + object + '(["Service1", function(Service1){}]);', | ||
args: [1, 'array'] | ||
options: ['array'] | ||
}, { | ||
code: 'angular.' + object + '(myFunction);function MyFunction(){}', | ||
args: [1, 'function'] | ||
options: ['function'] | ||
}); | ||
@@ -33,15 +34,15 @@ | ||
code: 'angular.' + object + '(function(){});', | ||
args: [1, 'array'], | ||
options: ['array'], | ||
errors: [{ message: 'You should use the array syntax for DI'}] | ||
}, { | ||
code: 'angular.' + object + '([function(){}]);', | ||
args: [1, 'function'], | ||
options: ['function'], | ||
errors: [{ message: 'You should use the function syntax for DI'}] | ||
}, { | ||
code: 'angular.' + object + '(["Service1", function(){}]);', | ||
args: [1, 'array'], | ||
options: ['array'], | ||
errors: [{ message: 'The signature of the method is incorrect'}] | ||
}, { | ||
code: 'angular.' + object + '([function(Service1){}]);', | ||
args: [1, 'array'], | ||
options: ['array'], | ||
errors: [{ message: 'The signature of the method is incorrect'}] | ||
@@ -54,12 +55,12 @@ }); | ||
code: 'angular.' + object + '("name", function(){});', | ||
args: [1, 'function'] | ||
options: ['function'] | ||
}, { | ||
code: 'angular.' + object + '("name", [function(){}]);', | ||
args: [1, 'array'] | ||
options: ['array'] | ||
}, { | ||
code: 'angular.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, 'array'] | ||
options: ['array'] | ||
}, { | ||
code: 'angular.' + object + '("name", myFunction);function MyFunction(){}', | ||
args: [1, 'function'] | ||
options: ['function'] | ||
}); | ||
@@ -69,15 +70,15 @@ | ||
code: 'angular.' + object + '("name", function(){});', | ||
args: [1, 'array'], | ||
options: ['array'], | ||
errors: [{ message: 'You should use the array syntax for DI'}] | ||
}, { | ||
code: 'angular.' + object + '("name", [function(){}]);', | ||
args: [1, 'function'], | ||
options: ['function'], | ||
errors: [{ message: 'You should use the function syntax for DI'}] | ||
}, { | ||
code: 'angular.' + object + '("name", ["Service1", function(){}]);', | ||
args: [1, 'array'], | ||
options: ['array'], | ||
errors: [{ message: 'The signature of the method is incorrect'}] | ||
}, { | ||
code: 'angular.' + object + '("name", [function(Service1){}]);', | ||
args: [1, 'array'], | ||
options: ['array'], | ||
errors: [{ message: 'The signature of the method is incorrect'}] | ||
@@ -90,9 +91,9 @@ }); | ||
code: 'vm.navRoutes = states.filter(x).sort(y);', | ||
args: [1, 'function'] | ||
options: ['function'] | ||
}, { | ||
code: 'vm.navRoutes = states.filter(x).sort(y);', | ||
args: [1, 'array'] | ||
options: ['array'] | ||
}, { | ||
code: 'mocha.run();', | ||
args: [1, 'array'] | ||
options: ['array'] | ||
}) | ||
@@ -103,8 +104,6 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_di', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_di', rule, { | ||
valid: valid, | ||
invalid: invalid | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_directive_name'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,16 +13,24 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_directive_name', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_directive_name', rule, { | ||
valid: [{ | ||
code: 'app.directive("eslintDirective", function(){});', | ||
args: [1, 'eslint'] | ||
options: ['eslint'], | ||
settings: {angular: 1} | ||
}, { | ||
code: 'app.directive("eslintDirective", function(){});', | ||
args: [1, /^eslint/] | ||
options: [/^eslint/], | ||
settings: {angular: 1} | ||
}, { | ||
code: 'app.directive("eslintDirective", function(){});', | ||
args: [1, undefined] | ||
options: [undefined], | ||
settings: {angular: 1} | ||
}, { | ||
code: 'app.directive("eslintDirective", function(){});', | ||
args: [1, '/^eslint/'] | ||
options: ['/^eslint/'], | ||
settings: {angular: 1} | ||
}, { | ||
code: 'app.directive("Directive", function(){});', | ||
options: ['eslint'], | ||
settings: {angular: 2} | ||
}], | ||
@@ -32,3 +40,3 @@ invalid: [ | ||
code: 'app.directive("Directive", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The Directive directive should be prefixed by eslint'}] | ||
@@ -38,3 +46,4 @@ }, | ||
code: 'app.directive("esLintDirective", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
settings: {angular: 1}, | ||
errors: [{ message: 'The esLintDirective directive should be prefixed by eslint'}] | ||
@@ -44,11 +53,14 @@ }, | ||
code: 'app.directive("Directive", function(){});', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
settings: {angular: 1}, | ||
errors: [{ message: 'The Directive directive should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.directive("Directive", function(){});', | ||
args: [1, '/^eslint/'], | ||
options: ['/^eslint/'], | ||
settings: {angular: 1}, | ||
errors: [{ message: 'The Directive directive should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.directive("ngDirective", []);', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
settings: {angular: 1}, | ||
errors: [{ message: 'The ngDirective directive should not start with "ng". This is reserved for AngularJS directives'}] | ||
@@ -55,0 +67,0 @@ } |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_document_service'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_document_service', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_document_service', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$document[0].title = ""' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_empty_controller'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,11 +13,9 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_empty_controller', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_empty_controller', rule, { | ||
valid: [{ | ||
code: 'app.controller("ctrl", function(){ console.log("ok");});', | ||
args: [1] | ||
}, | ||
{ | ||
code: 'app.controller("ctrl", ["service1", function(service1){ console.log("ok");}]);', | ||
args: [1] | ||
}], | ||
@@ -27,3 +25,2 @@ invalid: [ | ||
code: 'app.controller("ctrl", function(){ });', | ||
args: [1], | ||
errors: [{ message: 'The ctrl controller is useless because empty. You can remove it from your Router configuration or in one of your view'}] | ||
@@ -33,3 +30,2 @@ }, | ||
code: 'app.controller("ctrl", ["service1", function(service1){ }]);', | ||
args: [1], | ||
errors: [{ message: 'The ctrl controller is useless because empty. You can remove it from your Router configuration or in one of your view'}] | ||
@@ -36,0 +32,0 @@ } |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_filter_name'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,16 +13,16 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_filter_name', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_filter_name', rule, { | ||
valid: [{ | ||
code: 'app.filter("eslintFilter", function(){});', | ||
args: [1, 'eslint'] | ||
options: ['eslint'] | ||
}, { | ||
code: 'app.filter("eslintFilter", function(){});', | ||
args: [1, /^eslint/] | ||
options: [/^eslint/] | ||
}, { | ||
code: 'app.filter("eslintFilter", function(){});', | ||
args: [1, undefined] | ||
options: [undefined] | ||
}, { | ||
code: 'app.filter("eslintFilter", function(){});', | ||
args: [1, '/^eslint/'] | ||
options: ['/^eslint/'] | ||
}], | ||
@@ -32,15 +32,15 @@ invalid: [ | ||
code: 'app.filter("Filter", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The Filter filter should be prefixed by eslint'}] | ||
}, { | ||
code: 'app.filter("esLintFilter", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The esLintFilter filter should be prefixed by eslint'}] | ||
}, { | ||
code: 'app.filter("Filter", function(){});', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
errors: [{ message: 'The Filter filter should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.filter("Filter", function(){});', | ||
args: [1, '/^eslint/'], | ||
options: ['/^eslint/'], | ||
errors: [{ message: 'The Filter filter should follow this pattern: /^eslint/'}] | ||
@@ -47,0 +47,0 @@ } |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_foreach'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_foreach', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_foreach', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.forEach(variable, function(){})' |
@@ -5,5 +5,7 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_function_type'), | ||
RuleTester = require("eslint").RuleTester; | ||
var angularObjectList = ['controller', 'filter', 'factory', 'service']; | ||
@@ -15,6 +17,6 @@ var valid = [], invalid = []; | ||
code: 'app.' + object + '("name", function(Service1){});', | ||
args: [1, 'anonymous'] | ||
options: ['anonymous'] | ||
}, { | ||
code: 'app.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, 'anonymous'] | ||
options: ['anonymous'] | ||
}); | ||
@@ -24,7 +26,7 @@ | ||
code: 'app.' + object + '("name", function(Service1){});', | ||
args: [1, 'named'], | ||
options: ['named'], | ||
errors: [{ message: 'Use named functions instead of anonymous function'}] | ||
}, { | ||
code: 'app.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, 'named'], | ||
options: ['named'], | ||
errors: [{ message: 'Use named functions instead of anonymous function'}] | ||
@@ -35,7 +37,7 @@ }); | ||
code: 'function func(Service1){};app.' + object + '("name", func);', | ||
args: [1, 'anonymous'], | ||
options: ['anonymous'], | ||
errors: [{ message: 'Use anonymous functions instead of named function'}] | ||
}, { | ||
code: 'function func(Service1){};app.' + object + '("name", ["Service1", func]);', | ||
args: [1, 'anonymous'], | ||
options: ['anonymous'], | ||
errors: [{ message: 'Use anonymous functions instead of named function'}] | ||
@@ -46,6 +48,6 @@ }); | ||
code: 'function func(Service1){};app.' + object + '("name", func);', | ||
args: [1, 'named'] | ||
options: ['named'] | ||
}, { | ||
code: 'function func(Service1){};app.' + object + '("name", ["Service1", func]);', | ||
args: [1, 'named'] | ||
options: ['named'] | ||
}); | ||
@@ -58,6 +60,6 @@ | ||
code: 'app.controller("name", function(Service1){});', | ||
args: [1, 'anonymous', ['controller']] | ||
options: ['anonymous', ['controller']] | ||
}, { | ||
code: 'app.controller("name", ["Service1", function(Service1){}]);', | ||
args: [1, 'anonymous', ['controller']] | ||
options: ['anonymous', ['controller']] | ||
}); | ||
@@ -67,6 +69,6 @@ | ||
code: 'var cleanUp;cleanUp = $rootScope.$on("$stateChangeSuccess", function () {vm.currentHor = $state.$current.path[0].self.name;});$scope.$on("$destroy", function () {cleanUp();});', | ||
args: [1, 'named'] | ||
options: ['named'] | ||
}, { | ||
code: 'var cleanUp;cleanUp = $rootScope.$on("$stateChangeSuccess", function () {vm.currentHor = $state.$current.path[0].self.name;});$scope.$on("$destroy", function () {cleanUp();});', | ||
args: [1, 'anonymous'] | ||
options: ['anonymous'] | ||
}); | ||
@@ -76,7 +78,7 @@ | ||
code: 'app.controller("name", function(Service1){});', | ||
args: [1, 'named', ['controller']], | ||
options: ['named', ['controller']], | ||
errors: [{ message: 'Use named functions instead of anonymous function'}] | ||
}, { | ||
code: 'app.controller("name", ["Service1", function(Service1){}]);', | ||
args: [1, 'named', ['controller']], | ||
options: ['named', ['controller']], | ||
errors: [{ message: 'Use named functions instead of anonymous function'}] | ||
@@ -87,7 +89,7 @@ }); | ||
code: 'function func(Service1){};app.controller("name", func);', | ||
args: [1, 'anonymous', ['controller']], | ||
options: ['anonymous', ['controller']], | ||
errors: [{ message: 'Use anonymous functions instead of named function'}] | ||
}, { | ||
code: 'function func(Service1){};app.controller("name", ["Service1", func]);', | ||
args: [1, 'anonymous', ['controller']], | ||
options: ['anonymous', ['controller']], | ||
errors: [{ message: 'Use anonymous functions instead of named function'}] | ||
@@ -98,6 +100,6 @@ }); | ||
code: 'function func(Service1){};app.controller("name", func);', | ||
args: [1, 'named', ['controller']] | ||
options: ['named', ['controller']] | ||
}, { | ||
code: 'function func(Service1){};app.controller("name", ["Service1", func]);', | ||
args: [1, 'named', ['controller']] | ||
options: ['named', ['controller']] | ||
}); | ||
@@ -109,6 +111,6 @@ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_function_type', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_function_type', rule, { | ||
valid: valid, | ||
invalid: invalid | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_interval_service'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_interval_service', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_interval_service', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$interval(function(){})', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_json_functions'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_json_functions', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_json_functions', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.toJson({})', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_log'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_log', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_log', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$log.log("log")', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_module_getter'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_module_getter', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_module_getter', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.module("module").controller("TestCtrl", function () {});', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_module_name'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,19 +13,19 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_module_name', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_module_name', rule, { | ||
valid: [{ | ||
code: 'app.module("eslintModule", []);', | ||
args: [1, 'eslint'] | ||
options: ['eslint'] | ||
}, { | ||
code: 'app.module("module");', | ||
args: [1, 'eslint'] | ||
options: ['eslint'] | ||
}, { | ||
code: 'app.module("eslintModule", []);', | ||
args: [1, /^eslint/] | ||
options: [/^eslint/] | ||
}, { | ||
code: 'app.module("eslintModule", []);', | ||
args: [1, '/^eslint/'] | ||
options: ['/^eslint/'] | ||
}, { | ||
code: 'app.module("eslintModule", []);', | ||
args: [1, undefined] | ||
options: [undefined] | ||
}], | ||
@@ -35,19 +35,19 @@ invalid: [ | ||
code: 'app.module("module", []);', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The module module should be prefixed by eslint'}] | ||
}, { | ||
code: 'app.module("ESLintModule", []);', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The ESLintModule module should be prefixed by eslint'}] | ||
}, { | ||
code: 'app.module("module", []);', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
errors: [{ message: 'The module module should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.module("module", []);', | ||
args: [1, "/^eslint/"], | ||
options: ["/^eslint/"], | ||
errors: [{ message: 'The module module should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.module("ngModule", []);', | ||
args: [1, /^ng/], | ||
options: [/^ng/], | ||
errors: [{ message: 'The ngModule module should not start with "ng". This is reserved for AngularJS modules'}] | ||
@@ -54,0 +54,0 @@ } |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_module_setter'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_module_setter', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_module_setter', rule, { | ||
valid: [ | ||
@@ -22,3 +22,3 @@ 'angular.module("module", []);' | ||
errors: [{ message: 'Declare modules without a variable using the setter syntax.'}] | ||
}, { | ||
}/*, { | ||
code: 'let app = angular.module("module", []);', | ||
@@ -29,3 +29,3 @@ errors: [{ message: 'Declare modules without a variable using the setter syntax.'}] | ||
errors: [{ message: 'Declare modules without a variable using the setter syntax.'}] | ||
}, { | ||
}*/, { | ||
code: 'app = angular.module("module", []);', | ||
@@ -32,0 +32,0 @@ errors: [{ message: 'Declare modules without a variable using the setter syntax.'}] |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_angular_mock'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_angular_mock', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_no_angular_mock', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'dump();', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_cookiestore'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_cookiestore', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_no_cookiestore', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$cookies();' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_digest'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_digest', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_no_digest', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$scope.$apply(function(){})', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_jquery_angularelement'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_jquery_angularelement', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_no_jquery_angularelement', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.element("#id")' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_private_call'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -12,2 +12,5 @@ //------------------------------------------------------------------------------ | ||
//------------------------------------------------------------------------------ | ||
var eslintTester = new RuleTester(); | ||
var variables = ['$scope', '$rootScope']; | ||
@@ -30,4 +33,3 @@ var bad = ['$$childHead', '$$childTail', '$$prevSibling', '$$nextSibling', | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_private_call', { | ||
eslintTester.run('ng_no_private_call', rule, { | ||
valid: [ | ||
@@ -34,0 +36,0 @@ '$scope.$apply(function(){})', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_service_method'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -12,2 +12,5 @@ //------------------------------------------------------------------------------ | ||
//------------------------------------------------------------------------------ | ||
var eslintTester = new RuleTester(); | ||
var valid = [], invalid = []; | ||
@@ -17,9 +20,6 @@ ['factory', 'provider', 'constant', 'value'].forEach(function(syntax){ | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: 2 | ||
}, { | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: 2 | ||
}, { | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: 2 | ||
}); | ||
@@ -29,14 +29,13 @@ }); | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_service_method', { | ||
eslintTester.run('ng_no_service_method', rule, { | ||
valid: valid, | ||
invalid: [{ | ||
code: 'app.service("Service", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'You should prefer the factory() method instead of service()'}] | ||
}, { | ||
code: 'app.service("Service", [function(){}]);', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
errors: [{ message: 'You should prefer the factory() method instead of service()'}] | ||
}] | ||
}); |
@@ -5,5 +5,11 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_no_services'), | ||
RuleTester = require("eslint").RuleTester; | ||
//------------------------------------------------------------------------------ | ||
// Tests | ||
//------------------------------------------------------------------------------ | ||
var eslintTester = new RuleTester(); | ||
var angularObjectList = ['controller', 'filter', 'directive']; | ||
@@ -21,9 +27,9 @@ var defaultBadService = ['$http', '$resource', 'Restangular', '$q']; | ||
code: 'app.' + object + '("name", function(Service1){});', | ||
args: [1, defaultBadService] | ||
options: [defaultBadService] | ||
}, { | ||
code: 'app.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, defaultBadService] | ||
options: [defaultBadService] | ||
}, { | ||
code: '"use strict";app.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, defaultBadService] | ||
options: [defaultBadService] | ||
}); | ||
@@ -34,7 +40,7 @@ | ||
code: 'app.' + object + '("name", function(' + badService + '){});', | ||
args: [1, defaultBadService], | ||
options: [defaultBadService], | ||
errors: [{ message: 'REST API calls should be implemented in a specific service (' + badService + ' in ' + object + ')'}] | ||
}, { | ||
code: 'app.' + object + '("name", ["' + badService + '", function(' + badService + '){}]);', | ||
args: [1, defaultBadService], | ||
options: [defaultBadService], | ||
errors: [{ message: 'REST API calls should be implemented in a specific service (' + badService + ' in ' + object + ')'}] | ||
@@ -49,6 +55,6 @@ }); | ||
code: 'app.' + object + '("name", function(Service1){});', | ||
args: [1, defaultBadService, [object]] | ||
options: [defaultBadService, [object]] | ||
}, { | ||
code: 'app.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, defaultBadService, [object]] | ||
options: [defaultBadService, [object]] | ||
}); | ||
@@ -59,7 +65,7 @@ | ||
code: 'app.' + object + '("name", function(' + badService + '){});', | ||
args: [1, defaultBadService, [object]], | ||
options: [defaultBadService, [object]], | ||
errors: [{ message: 'REST API calls should be implemented in a specific service (' + badService + ' in ' + object + ')'}] | ||
}, { | ||
code: 'app.' + object + '("name", ["' + badService + '", function(' + badService + '){}]);', | ||
args: [1, defaultBadService, [object]], | ||
options: [defaultBadService, [object]], | ||
errors: [{ message: 'REST API calls should be implemented in a specific service (' + badService + ' in ' + object + ')'}] | ||
@@ -74,6 +80,6 @@ }); | ||
code: 'app.' + object + '("name", function(Service1){});', | ||
args: [1, mapAngularObjectToBarServices] | ||
options: [mapAngularObjectToBarServices] | ||
}, { | ||
code: 'app.' + object + '("name", ["Service1", function(Service1){}]);', | ||
args: [1, mapAngularObjectToBarServices] | ||
options: [mapAngularObjectToBarServices] | ||
}); | ||
@@ -84,7 +90,7 @@ | ||
code: 'app.' + object + '("name", function(' + badService + '){});', | ||
args: [1, mapAngularObjectToBarServices], | ||
options: [mapAngularObjectToBarServices], | ||
errors: [{ message: 'REST API calls should be implemented in a specific service (' + badService + ' in ' + object + ')'}] | ||
}, { | ||
code: 'app.' + object + '("name", ["' + badService + '", function(' + badService + '){}]);', | ||
args: [1, mapAngularObjectToBarServices], | ||
options: [mapAngularObjectToBarServices], | ||
errors: [{ message: 'REST API calls should be implemented in a specific service (' + badService + ' in ' + object + ')'}] | ||
@@ -100,6 +106,5 @@ }); | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_no_services', { | ||
eslintTester.run('ng_no_services', rule, { | ||
valid: valid, | ||
invalid: invalid | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_on_watch'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,5 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_on_watch', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_on_watch', rule, { | ||
valid: [ | ||
@@ -17,0 +18,0 @@ 'var variable = scope.$on()', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_service_name'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -12,2 +12,4 @@ //------------------------------------------------------------------------------ | ||
//------------------------------------------------------------------------------ | ||
var eslintTester = new RuleTester(); | ||
var valid = [], invalid = []; | ||
@@ -17,12 +19,12 @@ ['service', 'factory', 'provider', 'constant', 'value'].forEach(function(syntax){ | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: [1, 'eslint'] | ||
options: ['eslint'] | ||
}, { | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: [1, /^eslint/] | ||
options: [/^eslint/] | ||
}, { | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: [1, undefined] | ||
options: [undefined] | ||
}, { | ||
code: 'app.' + syntax + '("eslintService", function(){});', | ||
args: [1, '/^eslint/'] | ||
options: ['/^eslint/'] | ||
}); | ||
@@ -32,19 +34,19 @@ | ||
code: 'app.' + syntax + '("Service", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The Service service should be prefixed by eslint'}] | ||
}, { | ||
code: 'app.' + syntax + '("esLintService", function(){});', | ||
args: [1, 'eslint'], | ||
options: ['eslint'], | ||
errors: [{ message: 'The esLintService service should be prefixed by eslint'}] | ||
}, { | ||
code: 'app.' + syntax + '("Service", function(){});', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
errors: [{ message: 'The Service service should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.' + syntax + '("Service", function(){});', | ||
args: [1, '/^eslint/'], | ||
options: ['/^eslint/'], | ||
errors: [{ message: 'The Service service should follow this pattern: /^eslint/'}] | ||
}, { | ||
code: 'app.' + syntax + '("$Service", function(){});', | ||
args: [1, /^eslint/], | ||
options: [/^eslint/], | ||
errors: [{ message: 'The $Service service should not start with "$". This is reserved for AngularJS services'}] | ||
@@ -55,6 +57,5 @@ }); | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_service_name', { | ||
eslintTester.run('ng_service_name', rule, { | ||
valid: valid, | ||
invalid: invalid | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_timeout_service'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,5 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_timeout_service', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_timeout_service', rule, { | ||
valid: [ | ||
@@ -17,0 +18,0 @@ '$timeout(function(){})', |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_array'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_array', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_array', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isArray([])' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_date'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_date', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_date', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isDate(variable)' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_function'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_function', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_function', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isFunction(function(){})' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_number'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_number', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_number', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isNumber(1)' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_object'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_object', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_object', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isObject({})' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_regexp'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_regexp', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_regexp', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isRegexp(/^T/)' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_typecheck_string'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_typecheck_string', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_typecheck_string', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ 'angular.isString("")' |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_watchers_execution'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,16 +13,16 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_watchers_execution', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_watchers_execution', rule, { | ||
valid: [ | ||
{code: '$scope.$apply(function(){})', args: [1, '$apply']}, | ||
{code: '$rootScope.$apply(function(){})', args: [1, '$apply']}, | ||
{code: '$scope.$digest()', args: [1, '$digest']}, | ||
{code: '$rootScope.$digest()', args: [1, '$digest']} | ||
{code: '$scope.$apply(function(){})', options: ['$apply']}, | ||
{code: '$rootScope.$apply(function(){})', options: ['$apply']}, | ||
{code: '$scope.$digest()', options: ['$digest']}, | ||
{code: '$rootScope.$digest()', options: ['$digest']} | ||
], | ||
invalid: [ | ||
{code: '$scope.$apply(function(){})', args: [1, '$digest'], errors: [{ message: 'Instead of using the $apply() method, you should prefer $digest()'}]}, | ||
{code: '$rootScope.$apply(function(){})', args: [1, '$digest'], errors: [{ message: 'Instead of using the $apply() method, you should prefer $digest()'}]}, | ||
{code: '$scope.$digest()', args: [1, '$apply'], errors: [{ message: 'Instead of using the $digest() method, you should prefer $apply()'}]}, | ||
{code: '$rootScope.$digest()', args: [1, '$apply'], errors: [{ message: 'Instead of using the $digest() method, you should prefer $apply()'}]} | ||
{code: '$scope.$apply(function(){})', options: ['$digest'], errors: [{ message: 'Instead of using the $apply() method, you should prefer $digest()'}]}, | ||
{code: '$rootScope.$apply(function(){})', options: ['$digest'], errors: [{ message: 'Instead of using the $apply() method, you should prefer $digest()'}]}, | ||
{code: '$scope.$digest()', options: ['$apply'], errors: [{ message: 'Instead of using the $digest() method, you should prefer $apply()'}]}, | ||
{code: '$rootScope.$digest()', options: ['$apply'], errors: [{ message: 'Instead of using the $digest() method, you should prefer $apply()'}]} | ||
] | ||
}); |
@@ -5,4 +5,4 @@ //------------------------------------------------------------------------------ | ||
var eslint = require('../node_modules/eslint/lib/eslint'), | ||
ESLintTester = require('eslint-tester'); | ||
var rule = require('../rules/ng_window_service'), | ||
RuleTester = require("eslint").RuleTester; | ||
@@ -13,4 +13,4 @@ //------------------------------------------------------------------------------ | ||
var eslintTester = new ESLintTester(eslint); | ||
eslintTester.addRuleTest('rules/ng_window_service', { | ||
var eslintTester = new RuleTester(); | ||
eslintTester.run('ng_window_service', rule, { | ||
valid: [ | ||
@@ -17,0 +17,0 @@ '$window.location.href = ""', |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
159395
0
11
101
2906
192