Skip to content

Commit dbf542b

Browse files
Merge pull request #475 from Gillespie59/development
2.4.1
2 parents cdc5bb9 + 8e56df8 commit dbf542b

File tree

7 files changed

+30
-7
lines changed

7 files changed

+30
-7
lines changed

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": "2.4.0",
3+
"version": "2.4.1",
44
"description": "ESLint rules for AngularJS projects",
55
"main": "index.js",
66
"scripts": {

rules/file-name.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ module.exports = {
122122

123123
return {
124124
CallExpression: function(node) {
125-
if (utils.isAngularComponent(node) && utils.isMemberExpression(node.callee)) {
125+
if ((utils.isAngularComponent(node) || utils.isAngularComponentDeclaration(node)) && utils.isMemberExpression(node.callee)) {
126126
var name = node.arguments[0].value;
127127
var type = componentTypeMappings[node.callee.property.name];
128128
var expectedName;

rules/timeout-service.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = {
2020
return {
2121

2222
MemberExpression: function(node) {
23-
if (node.property.name !== 'setTimeout') {
23+
if (node.property.name !== 'setTimeout' || !node.object) {
2424
return;
2525
}
2626

@@ -35,6 +35,10 @@ module.exports = {
3535
// Detect expression this.$window.setTimeout which is what we would see in ES6 code when using classes
3636
var parentNode = node.object;
3737

38+
if (!parentNode.object) {
39+
return;
40+
}
41+
3842
if (parentNode.object.type === 'ThisExpression' && parentNode.property.name === '$window') {
3943
context.report(node, message, {});
4044
}

rules/utils/false-values.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

33
module.exports = {
4-
config: [/Provider$/, /$route/],
4+
config: [/Provider$/, /$route/, 'require'],
55
run: [/mocha/, /Service$/]
66
};

test/file-name.js

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ angular.module(mod, [mod + '.core.angular', mod + '.thirdparty']);
102102
ignoreTypeSuffix: true
103103
}]
104104
}, {
105-
// typeSeparator dot with controller and ignored type suffix
106-
filename: 'src/app/Avengers.controller.js',
107-
code: 'app.controller("AvengersController", function() {});',
105+
// typeSeparator dot with component and ignored type suffix
106+
filename: 'src/app/Avengers.component.js',
107+
code: 'app.component("AvengersComponent", {});',
108108
options: [{
109109
typeSeparator: 'dot',
110110
ignoreTypeSuffix: true
@@ -287,6 +287,14 @@ angular.module(mod, [mod + '.core.angular', mod + '.thirdparty']);
287287
typeSeparator: 'dot'
288288
}],
289289
errors: [{message: 'Filename must be "AvengersController.controller.js"'}]
290+
}, {
291+
// typeSeparator dot with component, but no ignored type suffix
292+
filename: 'src/app/Avengers.component.js',
293+
code: 'app.component("AvengersComponent", {});',
294+
options: [{
295+
typeSeparator: 'dot'
296+
}],
297+
errors: [{message: 'Filename must be "AvengersComponent.component.js"'}]
290298
}, {
291299
// typeSeparator dot with controller and ignored type suffix
292300
filename: 'src/app/AvengersController.controller.js',
@@ -296,6 +304,15 @@ angular.module(mod, [mod + '.core.angular', mod + '.thirdparty']);
296304
ignoreTypeSuffix: true
297305
}],
298306
errors: [{message: 'Filename must be "Avengers.controller.js"'}]
307+
}, {
308+
// typeSeparator dot with component and ignored type suffix
309+
filename: 'src/app/AvengersComponent.component.js',
310+
code: 'app.component("AvengersComponent", {});',
311+
options: [{
312+
typeSeparator: 'dot',
313+
ignoreTypeSuffix: true
314+
}],
315+
errors: [{message: 'Filename must be "Avengers.component.js"'}]
299316
}, {
300317
// nameStyle dash and typeSeparator dot with directive
301318
filename: 'src/app/avangerProfile.directive.js',

test/module-getter.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ var commonFalsePositives = require('./utils/commonFalsePositives');
1515
var eslintTester = new RuleTester();
1616
eslintTester.run('module-getter', rule, {
1717
valid: [
18+
'require.config({});',
1819
'angular.module("module").config(function(jwtOptionsProvider){' +
1920
'jwtOptionsProvider.config({' +
2021
'whiteListedDomains: []' +

test/timeout-service.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ var message = 'You should use the $timeout service instead of the default window
1818

1919
eslintTester.run('timeout-service', rule, {
2020
valid: [
21+
'jasmine.getGlobal().setTimeout',
2122
'$timeout(function() {})',
2223
'$timeout(function() {}, 1000)',
2324
'$timeout(function() {}, 1000, true)',

0 commit comments

Comments
 (0)