Socket
Socket
Sign inDemoInstall

eslint-plugin-angular

Package Overview
Dependencies
Maintainers
1
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-angular - npm Package Compare versions

Comparing version 0.4.0 to 0.5.0

rules/ng_rest_service.js

2

demo/grunt/package.json

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc