Skip to content

Commit c59985d

Browse files
committed
Merge pull request #134 from Gillespie59/development
0.1.0
2 parents 2e36903 + 8ee7802 commit c59985d

File tree

4 files changed

+40
-1
lines changed

4 files changed

+40
-1
lines changed

index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
'ng_controller_as_route': require('./rules/ng_controller_as_route'),
99
'ng_controller_as_vm': require('./rules/ng_controller_as_vm'),
1010
'ng_controller_name': require('./rules/ng_controller_name'),
11+
'ng_deferred': require('./rules/ng_deferred'),
1112
'ng_definedundefined': require('./rules/ng_definedundefined'),
1213
'ng_di': require('./rules/ng_di'),
1314
'ng_directive_name': require('./rules/ng_directive_name'),
@@ -44,6 +45,7 @@
4445
'ng_controller_as_route': 2,
4546
'ng_controller_as_vm': [2, 'vm'],
4647
'ng_controller_name': [2, /[A-Z].*Controller$/],
48+
'ng_deferred': 0,
4749
'ng_definedundefined': 2,
4850
'ng_di': [2, 'function'],
4951
'ng_directive_name': 0,

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-angular",
3-
"version": "0.0.15",
3+
"version": "0.1.0",
44
"description": "ESLint rules for AngularJS projects",
55
"main": "index.js",
66
"repository": {

rules/ng_deferred.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module.exports = function(context) {
2+
3+
'use strict';
4+
5+
return {
6+
7+
'MemberExpression': function(node) {
8+
if(node.object.type === 'Identifier' && node.object.name === '$q'){
9+
if(node.property.type === 'Identifier' && node.property.name === 'deferred'){
10+
context.report(node, 'You should not create a new promise with this syntax. Use the $q(function(resolve, reject){}) syntax.', {});
11+
}
12+
13+
}
14+
}
15+
};
16+
17+
};

test/ng_deferred.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//------------------------------------------------------------------------------
2+
// Requirements
3+
//------------------------------------------------------------------------------
4+
5+
var eslint = require('../node_modules/eslint/lib/eslint'),
6+
ESLintTester = require('eslint-tester');
7+
8+
//------------------------------------------------------------------------------
9+
// Tests
10+
//------------------------------------------------------------------------------
11+
12+
var eslintTester = new ESLintTester(eslint);
13+
eslintTester.addRuleTest('rules/ng_deferred', {
14+
valid: [
15+
'$qs(function(){});'
16+
],
17+
invalid: [
18+
{ code: 'var deferred = $q.deferred;', errors: [{ message: 'You should not create a new promise with this syntax. Use the $q(function(resolve, reject){}) syntax.'}] }
19+
]
20+
});

0 commit comments

Comments
 (0)