Skip to content

Commit

Permalink
Upgrade to ESLint 1.0 (fixes #41)
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyavolodin committed Aug 29, 2015
1 parent f1ea710 commit 77dd720
Show file tree
Hide file tree
Showing 36 changed files with 154 additions and 98 deletions.
4 changes: 3 additions & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"extends": "eslint:recommended",
"env": {
"node": true
},
Expand All @@ -19,6 +20,7 @@
"return": "returns"
}
}],
"wrap-iife": 2
"wrap-iife": 2,
"semi": 2
}
}
2 changes: 2 additions & 0 deletions lib/rules/collection-model.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
3 changes: 2 additions & 1 deletion lib/rules/defaults-on-top.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ module.exports = function(context) {
}
}
};

};

module.exports.schema = [];
3 changes: 2 additions & 1 deletion lib/rules/event-scope.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,6 @@ module.exports = function(context) {
}
}
};

};

module.exports.schema = [];
11 changes: 11 additions & 0 deletions lib/rules/events-on-top.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,14 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [
{
"type": "array",
"items": {
"type": "string",
"uniqueItems": true
},
"additionalProperties": false
}
];
20 changes: 20 additions & 0 deletions lib/rules/initialize-on-top.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,23 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [
{
"type": "object",
"properties": {
"View": {
"type": "array",
"value": "string"
},
"Model": {
"type": "array",
"value": "string"
},
"Collection": {
"type": "array",
"value": "string"
}
}
}
];
2 changes: 2 additions & 0 deletions lib/rules/model-defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-changed-set.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-collection-models.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-constructor.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
3 changes: 2 additions & 1 deletion lib/rules/no-el-assign.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,6 @@ module.exports = function(context) {
}
}
};

};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-model-attributes.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
7 changes: 6 additions & 1 deletion lib/rules/no-native-jquery.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,10 @@ module.exports = function(context) {
}
}
};

};

module.exports.schema = [
{
"enum": ["all", "selector"]
}
];
3 changes: 2 additions & 1 deletion lib/rules/no-silent.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,6 @@ module.exports = function(context) {
}
}
};

};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-view-collection-models.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-view-model-attributes.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
2 changes: 2 additions & 0 deletions lib/rules/no-view-onoff-binding.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,5 @@ module.exports = function(context) {
}
};
};

module.exports.schema = [];
3 changes: 2 additions & 1 deletion lib/rules/render-return.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,6 @@ module.exports = function(context) {
}
}
};

};

module.exports.schema = [];
9 changes: 2 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "eslint-plugin-backbone",
"version": "1.0.2",
"version": "1.0.3",
"description": "Eslint rules for Backbone.",
"main": "index.js",
"scripts": {
Expand All @@ -13,11 +13,7 @@
"devDependencies": {
"istanbul": "0.3.0",
"mocha": "1.21.4",
"eslint-tester": "^0.8.0",
"eslint": ">=0.24.0"
},
"peerDependencies": {
"eslint": ">=0.8.1"
"eslint": ">=1.0.0"
},
"repository": {
"type": "git",
Expand All @@ -36,4 +32,3 @@
"eslint"
]
}

8 changes: 4 additions & 4 deletions tests/lib/rules/collection-model.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
// Requirements
//------------------------------------------------------------------------------

var eslint = require("eslint").linter,
ESLintTester = require("eslint-tester");
var RuleTester = require("eslint").RuleTester;
var rule = require("../../../lib/rules/collection-model");

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var eslintTester = new ESLintTester(eslint);
eslintTester.addRuleTest("lib/rules/collection-model", {
var eslintTester = new RuleTester();
eslintTester.run("collection-model", rule, {

valid: [
"Backbone.Collection.extend({ model: {}});",
Expand Down
8 changes: 4 additions & 4 deletions tests/lib/rules/defaults-on-top.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
// Requirements
//------------------------------------------------------------------------------

var eslint = require("eslint").linter,
ESLintTester = require("eslint-tester");
var RuleTester = require("eslint").RuleTester;
var rule = require("../../../lib/rules/defaults-on-top");

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var eslintTester = new ESLintTester(eslint);
eslintTester.addRuleTest("lib/rules/defaults-on-top", {
var eslintTester = new RuleTester();
eslintTester.run("defaults-on-top", rule, {

valid: [
"Backbone.Model.extend({ defaults: {}, initialize: function() {} });",
Expand Down
8 changes: 4 additions & 4 deletions tests/lib/rules/event-scope.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
// Requirements
//------------------------------------------------------------------------------

var eslint = require("eslint").linter,
ESLintTester = require("eslint-tester");
var RuleTester = require("eslint").RuleTester;
var rule = require("../../../lib/rules/event-scope");

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var eslintTester = new ESLintTester(eslint);
eslintTester.addRuleTest("lib/rules/event-scope", {
var eslintTester = new RuleTester();
eslintTester.run("event-scope", rule, {

valid: [
"Backbone.Collection.extend({});",
Expand Down
16 changes: 8 additions & 8 deletions tests/lib/rules/events-on-top.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@
// Requirements
//------------------------------------------------------------------------------

var eslint = require("eslint").linter,
ESLintTester = require("eslint-tester");
var RuleTester = require("eslint").RuleTester;
var rule = require("../../../lib/rules/events-on-top");

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var eslintTester = new ESLintTester(eslint);
eslintTester.addRuleTest("lib/rules/events-on-top", {
var eslintTester = new RuleTester();
eslintTester.run("events-on-top", rule, {

valid: [
"Backbone.View.extend({ events: {}, initialize: function() {} });",
"Backbone.View.extend({ });",
"Backbone.View.extend({ initialize: function() {} });",
"Backbone.View.extend({ initialize: function() { var events = {}; } });",
{ code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {} });", args: [1, ["tagName", "className"]] }
{ code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {} });", options: [["tagName", "className"]] }
],

invalid: [
Expand All @@ -32,15 +32,15 @@ eslintTester.addRuleTest("lib/rules/events-on-top", {
errors: [ { message: "events should be declared at the top of the view." } ]
},
{
code: "Backbone.View.extend({ initialize: function() {}, tagName: 'div', 'className': 'test', events: {} });", args: [1, ["tagName", "className"]],
code: "Backbone.View.extend({ initialize: function() {}, tagName: 'div', 'className': 'test', events: {} });", options: [["tagName", "className"]],
errors: [ { message: "events should be declared at the top of the view." } ]
},
{
code: "Backbone.View.extend({ tagName: 'div', initialize: function() {}, 'className': 'test', events: {} });", args: [1, ["tagName", "className"]],
code: "Backbone.View.extend({ tagName: 'div', initialize: function() {}, 'className': 'test', events: {} });", options: [["tagName", "className"]],
errors: [ { message: "events should be declared at the top of the view." } ]
},
{
code: "Backbone.View.extend({ render: function() {}, initialize: function() {}, 'className': 'test', events: {} });", args: [1, ["tagName", "className"]],
code: "Backbone.View.extend({ render: function() {}, initialize: function() {}, 'className': 'test', events: {} });", options: [["tagName", "className"]],
errors: [ { message: "events should be declared at the top of the view." } ]
}
]
Expand Down
26 changes: 13 additions & 13 deletions tests/lib/rules/initialize-on-top.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
// Requirements
//------------------------------------------------------------------------------

var eslint = require("eslint").linter,
ESLintTester = require("eslint-tester");
var RuleTester = require("eslint").RuleTester;
var rule = require("../../../lib/rules/initialize-on-top");

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var eslintTester = new ESLintTester(eslint);
eslintTester.addRuleTest("lib/rules/initialize-on-top", {
var eslintTester = new RuleTester();
eslintTester.run("initialize-on-top", rule, {

valid: [
"Backbone.View.extend({ initialize: function() {} });",
Expand All @@ -26,38 +26,38 @@ eslintTester.addRuleTest("lib/rules/initialize-on-top", {
"Backbone.Collection.extend({ initialize: function() {} });",
"Backbone.Collection.extend({ });",
"Backbone.View.extend({ render: function() {} });",
{ code: "Backbone.Model.extend({ defaults: {}, initialize: function() {} });", args: [1, { Model: ["defaults"] }] },
{ code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", args: [1, { View: ["tagName", "className", "events"] }] },
{ code: "Backbone.Collection.extend({ model: {}, initialize: function() {} });", args: [1, { Collection: ["model"] }] }
{ code: "Backbone.Model.extend({ defaults: {}, initialize: function() {} });", options: [{ Model: ["defaults"] }] },
{ code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", options: [{ View: ["tagName", "className", "events"] }] },
{ code: "Backbone.Collection.extend({ model: {}, initialize: function() {} });", options: [{ Collection: ["model"] }] }
],

invalid: [
{
code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", args: [1, { View: ["className", "events"] }],
code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", options: [{ View: ["className", "events"] }],
errors: [ { message: "Initialize should be declared at the top of the view." } ]
},
{
code: "Backbone.Collection.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", args: [1, { View: ["className", "events"], Collection: ["tagName"] }],
code: "Backbone.Collection.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", options: [{ View: ["className", "events"], Collection: ["tagName"] }],
errors: [ { message: "Initialize should be declared at the top of the collection." } ]
},
{
code: "Backbone.Model.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", args: [1, { View: ["tagName", "className", "events"] }],
code: "Backbone.Model.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", options: [{ View: ["tagName", "className", "events"] }],
errors: [ { message: "Initialize should be declared at the top of the model." } ]
},
{
code: "Backbone.View.extend({ tagName: 'div', initialize: function() {} });",
errors: [ { message: "Initialize should be declared at the top." } ]
},
{
code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", args: [1, { Model: ["defaults"] }],
code: "Backbone.View.extend({ tagName: 'div', 'className': 'test', events: {}, initialize: function() {} });", options: [{ Model: ["defaults"] }],
errors: [ { message: "Initialize should be declared at the top of the view." } ]
},
{
code: "Backbone.Model.extend({ defaults: {}, initialize: function() {} });", args: [1, { View: ["className", "events"] }],
code: "Backbone.Model.extend({ defaults: {}, initialize: function() {} });", options: [{ View: ["className", "events"] }],
errors: [ { message: "Initialize should be declared at the top of the model." } ]
},
{
code: "Backbone.Collection.extend({ model: {}, initialize: function() {} });", args: [1, { View: ["className", "events"] }],
code: "Backbone.Collection.extend({ model: {}, initialize: function() {} });", options: [{ View: ["className", "events"] }],
errors: [ { message: "Initialize should be declared at the top of the collection." } ]
}
]
Expand Down
8 changes: 4 additions & 4 deletions tests/lib/rules/model-defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
// Requirements
//------------------------------------------------------------------------------

var eslint = require("eslint").linter,
ESLintTester = require("eslint-tester");
var RuleTester = require("eslint").RuleTester;
var rule = require("../../../lib/rules/model-defaults");

//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------

var eslintTester = new ESLintTester(eslint);
eslintTester.addRuleTest("lib/rules/model-defaults", {
var eslintTester = new RuleTester();
eslintTester.run("model-defaults", rule, {

valid: [
"Backbone.Model.extend({ defaults: {}});",
Expand Down

0 comments on commit 77dd720

Please sign in to comment.