From 9ebb7a0ce7559cb944b0fcbdf2fbed71c2f7df9d Mon Sep 17 00:00:00 2001 From: Dominik Ferber Date: Wed, 9 Mar 2016 17:36:58 +0100 Subject: [PATCH] refactor: use es6 modules consistently --- lib/index.js | 24 ++++++++++++------- lib/rules/audit-argument-checks.js | 4 ++-- lib/rules/blaze-consistent-eventmap-params.js | 4 ++-- lib/rules/no-blaze-lifecycle-assignment.js | 4 ++-- lib/rules/no-session.js | 4 ++-- lib/rules/no-zero-timeout.js | 4 ++-- lib/rules/prefer-session-equals.js | 4 ++-- lib/rules/template-naming-convention.js | 4 ++-- scripts/new-rule.js | 8 +++---- tests/index.js | 22 ++++++++--------- tests/lib/rules/audit-argument-checks.js | 6 +++-- .../rules/blaze-consistent-eventmap-params.js | 4 ++-- .../rules/no-blaze-lifecycle-assignment.js | 4 ++-- tests/lib/rules/no-session.js | 4 ++-- tests/lib/rules/no-zero-timeout.js | 4 ++-- tests/lib/rules/prefer-session-equals.js | 4 ++-- tests/lib/rules/template-naming-convention.js | 4 ++-- 17 files changed, 60 insertions(+), 52 deletions(-) diff --git a/lib/index.js b/lib/index.js index 4b7999be89..926ddf5b2e 100755 --- a/lib/index.js +++ b/lib/index.js @@ -1,12 +1,20 @@ -module.exports = { +import auditArgumentChecks from './rules/audit-argument-checks' +import noSession from './rules/no-session' +import noBlazeLifecycleAssignment from './rules/no-blaze-lifecycle-assignment' +import noZeroTimeout from './rules/no-zero-timeout' +import blazeConsistentEventMapParams from './rules/blaze-consistent-eventmap-params' +import preferSessionEquals from './rules/prefer-session-equals' +import templateNamingConvention from './rules/template-naming-convention' + +export default { rules: { - 'audit-argument-checks': require('./rules/audit-argument-checks'), - 'no-session': require('./rules/no-session'), - 'no-blaze-lifecycle-assignment': require('./rules/no-blaze-lifecycle-assignment'), - 'no-zero-timeout': require('./rules/no-zero-timeout'), - 'blaze-consistent-eventmap-params': require('./rules/blaze-consistent-eventmap-params'), - 'prefer-session-equals': require('./rules/prefer-session-equals'), - 'template-naming-convention': require('./rules/template-naming-convention'), + 'audit-argument-checks': auditArgumentChecks, + 'no-session': noSession, + 'no-blaze-lifecycle-assignment': noBlazeLifecycleAssignment, + 'no-zero-timeout': noZeroTimeout, + 'blaze-consistent-eventmap-params': blazeConsistentEventMapParams, + 'prefer-session-equals': preferSessionEquals, + 'template-naming-convention': templateNamingConvention, }, configs: { parserOptions: { diff --git a/lib/rules/audit-argument-checks.js b/lib/rules/audit-argument-checks.js index 146ef4b534..b85cdaaecc 100644 --- a/lib/rules/audit-argument-checks.js +++ b/lib/rules/audit-argument-checks.js @@ -10,7 +10,7 @@ import { isMeteorCall, isFunction } from '../util/ast' // ----------------------------------------------------------------------------- -module.exports = context => { +export default context => { // --------------------------------------------------------------------------- // Helpers // --------------------------------------------------------------------------- @@ -78,4 +78,4 @@ module.exports = context => { } } -module.exports.schema = [] +export const schema = [] diff --git a/lib/rules/blaze-consistent-eventmap-params.js b/lib/rules/blaze-consistent-eventmap-params.js index c1967db8ea..fee67c4b63 100644 --- a/lib/rules/blaze-consistent-eventmap-params.js +++ b/lib/rules/blaze-consistent-eventmap-params.js @@ -11,7 +11,7 @@ import { isFunction, isTemplateProp } from '../util/ast' // Rule Definition // ----------------------------------------------------------------------------- -module.exports = context => { +export default context => { // --------------------------------------------------------------------------- // Helpers // --------------------------------------------------------------------------- @@ -58,7 +58,7 @@ module.exports = context => { } } -module.exports.schema = [ +export const schema = [ { type: 'object', properties: { diff --git a/lib/rules/no-blaze-lifecycle-assignment.js b/lib/rules/no-blaze-lifecycle-assignment.js index 3958ee20a0..36c78d6506 100644 --- a/lib/rules/no-blaze-lifecycle-assignment.js +++ b/lib/rules/no-blaze-lifecycle-assignment.js @@ -7,7 +7,7 @@ // Rule Definition // ----------------------------------------------------------------------------- -module.exports = context => { +export default context => { // --------------------------------------------------------------------------- // Helpers // --------------------------------------------------------------------------- @@ -53,4 +53,4 @@ module.exports = context => { } } -module.exports.schema = [] +export const schema = [] diff --git a/lib/rules/no-session.js b/lib/rules/no-session.js index d3d36d0648..6318bc287f 100644 --- a/lib/rules/no-session.js +++ b/lib/rules/no-session.js @@ -7,7 +7,7 @@ // Rule Definition // ----------------------------------------------------------------------------- -module.exports = context => ({ +export default context => ({ MemberExpression: (node) => { if (node.object.name === 'Session') { context.report(node, 'Unexpected Session statement') @@ -15,4 +15,4 @@ module.exports = context => ({ }, }) -module.exports.schema = [] +export const schema = [] diff --git a/lib/rules/no-zero-timeout.js b/lib/rules/no-zero-timeout.js index a3cbe3c85b..cbe1e83115 100644 --- a/lib/rules/no-zero-timeout.js +++ b/lib/rules/no-zero-timeout.js @@ -9,7 +9,7 @@ import { isMeteorCall } from '../util/ast' // Rule Definition // ----------------------------------------------------------------------------- -module.exports = context => ({ +export default context => ({ CallExpression: (node) => { if (isMeteorCall(node, 'setTimeout')) { if (node.arguments.length === 1) { @@ -25,4 +25,4 @@ module.exports = context => ({ }, }) -module.exports.schema = [] +export const schema = [] diff --git a/lib/rules/prefer-session-equals.js b/lib/rules/prefer-session-equals.js index 997c5078f6..d3d8335865 100644 --- a/lib/rules/prefer-session-equals.js +++ b/lib/rules/prefer-session-equals.js @@ -30,7 +30,7 @@ const isSessionGetCallExpression = node => ( // ----------------------------------------------------------------------------- // Rule Definition // ----------------------------------------------------------------------------- -module.exports = context => { +export default context => { // --------------------------------------------------------------------------- // Helpers // --------------------------------------------------------------------------- @@ -64,4 +64,4 @@ module.exports = context => { } } -module.exports.schema = [] +export const schema = [] diff --git a/lib/rules/template-naming-convention.js b/lib/rules/template-naming-convention.js index 88f4faf71d..41b114d4c1 100644 --- a/lib/rules/template-naming-convention.js +++ b/lib/rules/template-naming-convention.js @@ -36,7 +36,7 @@ const isTemplateMemberExpression = node => ( const getErrorMessage = expected => `Invalid template naming convention, expected "${expected}"` -module.exports = context => ({ +export default context => ({ MemberExpression: node => { if (!isTemplateMemberExpression(node)) return @@ -63,6 +63,6 @@ module.exports = context => ({ }, }) -module.exports.schema = [ +export const schema = [ { enum: Object.values(NAMING_CONVENTIONS) }, ] diff --git a/scripts/new-rule.js b/scripts/new-rule.js index b544295397..f09ab91d8a 100644 --- a/scripts/new-rule.js +++ b/scripts/new-rule.js @@ -62,7 +62,7 @@ const rule = `/** // Rule Definition // ----------------------------------------------------------------------------- -module.exports = context => { +export default context => { // --------------------------------------------------------------------------- // Helpers // --------------------------------------------------------------------------- @@ -79,7 +79,7 @@ module.exports = context => { } -module.exports.schema = [ +export const schema = [ // fill in your schema ] @@ -96,8 +96,8 @@ const test = `/** // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/${ruleId}') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/${ruleId}') +import { RuleTester } from 'eslint' const ruleTester = new RuleTester() ruleTester.run('${ruleId}', rule, { diff --git a/tests/index.js b/tests/index.js index bc8394ec87..6171ccfded 100755 --- a/tests/index.js +++ b/tests/index.js @@ -1,26 +1,24 @@ -const plugin = require('../lib/index.js') - -const assert = require('assert') -const fs = require('fs') -const path = require('path') +import plugin from '../lib/index' +import assert from 'assert' +import fs from 'fs' +import path from 'path' const rules = fs.readdirSync(path.resolve(__dirname, '../lib/rules/')) .filter(f => path.extname(f) === '.js') .map(f => path.basename(f, '.js')) describe('all rule files should be exported by the plugin', () => { - rules.forEach((ruleName) => { + rules.forEach(ruleName => { it(`should export ${ruleName}`, () => { - assert.deepEqual( - plugin.rules[ruleName], - require(path.join('../lib/rules', ruleName)) - ) + assert(plugin.rules.hasOwnProperty(ruleName)) }) }) }) describe('configurations', () => { - it('should export a \'recommended\' configuration', () => { - assert(plugin.configs.recommended) + rules.forEach(ruleName => { + it(`should have a recommended configuration for ${ruleName}`, () => { + assert(plugin.configs.recommended.rules.hasOwnProperty(`meteor/${ruleName}`)) + }) }) }) diff --git a/tests/lib/rules/audit-argument-checks.js b/tests/lib/rules/audit-argument-checks.js index 4b486133da..490492564d 100644 --- a/tests/lib/rules/audit-argument-checks.js +++ b/tests/lib/rules/audit-argument-checks.js @@ -7,8 +7,10 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/audit-argument-checks') -const RuleTester = require('eslint').RuleTester +// import rule from '../../../lib/rules/audit-argument-checks') +// import { RuleTester } from 'eslint' +import rule from '../../../lib/rules/audit-argument-checks' +import { RuleTester } from 'eslint' // ----------------------------------------------------------------------------- // Tests diff --git a/tests/lib/rules/blaze-consistent-eventmap-params.js b/tests/lib/rules/blaze-consistent-eventmap-params.js index f4305171b7..5677d68ea0 100644 --- a/tests/lib/rules/blaze-consistent-eventmap-params.js +++ b/tests/lib/rules/blaze-consistent-eventmap-params.js @@ -9,8 +9,8 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/blaze-consistent-eventmap-params') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/blaze-consistent-eventmap-params' +import { RuleTester } from 'eslint' // ----------------------------------------------------------------------------- // Tests diff --git a/tests/lib/rules/no-blaze-lifecycle-assignment.js b/tests/lib/rules/no-blaze-lifecycle-assignment.js index ac3cd24a12..4e0f5cf1d4 100644 --- a/tests/lib/rules/no-blaze-lifecycle-assignment.js +++ b/tests/lib/rules/no-blaze-lifecycle-assignment.js @@ -9,8 +9,8 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/no-blaze-lifecycle-assignment') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/no-blaze-lifecycle-assignment' +import { RuleTester } from 'eslint' // ----------------------------------------------------------------------------- // Tests diff --git a/tests/lib/rules/no-session.js b/tests/lib/rules/no-session.js index 1c582ed3b5..3f235b2e5a 100644 --- a/tests/lib/rules/no-session.js +++ b/tests/lib/rules/no-session.js @@ -9,8 +9,8 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/no-session') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/no-session' +import { RuleTester } from 'eslint' // ----------------------------------------------------------------------------- // Tests diff --git a/tests/lib/rules/no-zero-timeout.js b/tests/lib/rules/no-zero-timeout.js index 1a76a258be..200753a5f1 100644 --- a/tests/lib/rules/no-zero-timeout.js +++ b/tests/lib/rules/no-zero-timeout.js @@ -7,8 +7,8 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/no-zero-timeout') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/no-zero-timeout' +import { RuleTester } from 'eslint' // ----------------------------------------------------------------------------- // Tests diff --git a/tests/lib/rules/prefer-session-equals.js b/tests/lib/rules/prefer-session-equals.js index 4c3d817ef8..379dca4377 100644 --- a/tests/lib/rules/prefer-session-equals.js +++ b/tests/lib/rules/prefer-session-equals.js @@ -9,8 +9,8 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/prefer-session-equals') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/prefer-session-equals' +import { RuleTester } from 'eslint' const ruleTester = new RuleTester() ruleTester.run('prefer-session-equals', rule, { diff --git a/tests/lib/rules/template-naming-convention.js b/tests/lib/rules/template-naming-convention.js index 47c68ed4ac..f0357cda80 100644 --- a/tests/lib/rules/template-naming-convention.js +++ b/tests/lib/rules/template-naming-convention.js @@ -9,8 +9,8 @@ // Requirements // ----------------------------------------------------------------------------- -const rule = require('../../../lib/rules/template-naming-convention') -const RuleTester = require('eslint').RuleTester +import rule from '../../../lib/rules/template-naming-convention' +import { RuleTester } from 'eslint' const ruleTester = new RuleTester() ruleTester.run('template-naming-convention', rule, {