Skip to content

Commit

Permalink
refactor: use object destructuring for require statements
Browse files Browse the repository at this point in the history
  • Loading branch information
macklinu authored and SimenB committed Nov 7, 2018
1 parent b57c8f6 commit 4bfdee5
Show file tree
Hide file tree
Showing 56 changed files with 122 additions and 127 deletions.
12 changes: 11 additions & 1 deletion .eslintrc.js
@@ -1,11 +1,12 @@
'use strict';

const globals = require('./index').environments.globals.globals;
const { globals } = require('./index').environments.globals;

module.exports = {
extends: [
'eslint:recommended',
'plugin:eslint-plugin/recommended',
'plugin:node/recommended',
'prettier',
],
plugins: ['eslint-plugin', 'node', 'prettier'],
Expand All @@ -22,6 +23,15 @@ module.exports = {
'prefer-template': 'warn',
'object-shorthand': ['warn', 'always', { avoidExplicitReturnArrows: true }],
'node/no-unsupported-features': 'error',
'prefer-destructuring': [
'error',
{
VariableDeclarator: {
array: true,
object: true,
},
},
],
'prettier/prettier': 'error',
},
overrides: [
Expand Down
2 changes: 1 addition & 1 deletion __tests__/rules.test.js
Expand Up @@ -2,7 +2,7 @@

const fs = require('fs');
const path = require('path');
const rules = require('../index').rules;
const { rules } = require('../index');

describe('rules', () => {
it('should have a corresponding doc for each rule', () => {
Expand Down
4 changes: 2 additions & 2 deletions processors/__tests__/snapshot-processor.test.js
Expand Up @@ -12,7 +12,7 @@ describe('snapshot-processor', () => {

describe('preprocess function', () => {
it('should pass on untouched source code to source array', () => {
const preprocess = snapshotProcessor.preprocess;
const { preprocess } = snapshotProcessor;
const sourceCode = "const name = 'johnny bravo';";
const result = preprocess(sourceCode);

Expand All @@ -22,7 +22,7 @@ describe('snapshot-processor', () => {

describe('postprocess function', () => {
it('should only return messages about snapshot specific rules', () => {
const postprocess = snapshotProcessor.postprocess;
const { postprocess } = snapshotProcessor;
const result = postprocess([
[
{ ruleId: 'no-console' },
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/consistent-test-it.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../consistent-test-it');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/expect-expect.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../expect-expect');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/lowercase-name.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../lowercase-name');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-alias-methods.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-alias-methods');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-disabled-tests.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-disabled-tests');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-focused-tests.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-focused-tests');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-hooks.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-hooks');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-identical-title.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-identical-title');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-jasmine-globals.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-jasmine-globals');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-jest-import.test.js
@@ -1,7 +1,7 @@
'use strict';

const rule = require('../no-jest-import.js');
const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const ruleTester = new RuleTester();
const message = `Jest is automatically in scope. Do not import "jest", as Jest doesn't export anything.`;

Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-large-snapshots.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-large-snapshots');
const noLargeSnapshots = rule.create;

Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-test-callback.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-test-callback');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-test-prefixes.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-test-prefixes');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/no-test-return-statement.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../no-test-return-statement');

const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 2015 } });
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-expect-assertions.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-expect-assertions');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-inline-snapshots.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-inline-snapshots');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-spy-on.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-spy-on');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-strict-equal.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-strict-equal');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-to-be-null.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-to-be-null');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-to-be-undefined.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-to-be-undefined');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-to-contain.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-to-contain');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/prefer-to-have-length.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../prefer-to-have-length');

const ruleTester = new RuleTester();
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/require-tothrow-message.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../require-tothrow-message');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/valid-describe.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../valid-describe');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/valid-expect-in-promise.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../valid-expect-in-promise');

const ruleTester = new RuleTester({
Expand Down
2 changes: 1 addition & 1 deletion rules/__tests__/valid-expect.test.js
@@ -1,6 +1,6 @@
'use strict';

const RuleTester = require('eslint').RuleTester;
const { RuleTester } = require('eslint');
const rule = require('../valid-expect');

const ruleTester = new RuleTester();
Expand Down
5 changes: 1 addition & 4 deletions rules/consistent-test-it.js
@@ -1,9 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const getNodeName = require('./util').getNodeName;
const isTestCase = require('./util').isTestCase;
const isDescribe = require('./util').isDescribe;
const { getDocsUrl, getNodeName, isTestCase, isDescribe } = require('./util');

module.exports = {
meta: {
Expand Down
3 changes: 1 addition & 2 deletions rules/expect-expect.js
Expand Up @@ -5,8 +5,7 @@
* MIT license, Remco Haszing.
*/

const getDocsUrl = require('./util').getDocsUrl;
const getNodeName = require('./util').getNodeName;
const { getDocsUrl, getNodeName } = require('./util');

module.exports = {
meta: {
Expand Down
8 changes: 4 additions & 4 deletions rules/lowercase-name.js
@@ -1,6 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const { getDocsUrl } = require('./util');

const isItTestOrDescribeFunction = node => {
return (
Expand All @@ -22,8 +22,8 @@ const isItDescription = node => {
};

const testDescription = node => {
const firstArgument = node.arguments[0];
const type = firstArgument.type;
const [firstArgument] = node.arguments;
const { type } = firstArgument;

if (type === 'Literal') {
return firstArgument.value;
Expand Down Expand Up @@ -74,7 +74,7 @@ module.exports = {
data: { method: erroneousMethod },
node,
fix(fixer) {
const firstArg = node.arguments[0];
const [firstArg] = node.arguments;
const description = testDescription(node);

const rangeIgnoringQuotes = [
Expand Down
4 changes: 1 addition & 3 deletions rules/no-alias-methods.js
@@ -1,8 +1,6 @@
'use strict';

const expectCase = require('./util').expectCase;
const getDocsUrl = require('./util').getDocsUrl;
const method = require('./util').method;
const { expectCase, getDocsUrl, method } = require('./util');

module.exports = {
meta: {
Expand Down
3 changes: 1 addition & 2 deletions rules/no-disabled-tests.js
@@ -1,7 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const getNodeName = require('./util').getNodeName;
const { getDocsUrl, getNodeName } = require('./util');

function collectReferences(scope) {
const locals = new Set();
Expand Down
4 changes: 2 additions & 2 deletions rules/no-focused-tests.js
@@ -1,6 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const { getDocsUrl } = require('./util');

const testFunctions = Object.assign(Object.create(null), {
describe: true,
Expand All @@ -27,7 +27,7 @@ module.exports = {
},
create: context => ({
CallExpression(node) {
const callee = node.callee;
const { callee } = node;

if (callee.type === 'MemberExpression') {
if (
Expand Down
2 changes: 1 addition & 1 deletion rules/no-hooks.js
@@ -1,6 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const { getDocsUrl } = require('./util');

module.exports = {
meta: {
Expand Down
4 changes: 1 addition & 3 deletions rules/no-identical-title.js
@@ -1,8 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const isDescribe = require('./util').isDescribe;
const isTestCase = require('./util').isTestCase;
const { getDocsUrl, isDescribe, isTestCase } = require('./util');

const newDescribeContext = () => ({
describeTitles: [],
Expand Down
3 changes: 1 addition & 2 deletions rules/no-jasmine-globals.js
@@ -1,7 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const getNodeName = require('./util').getNodeName;
const { getDocsUrl, getNodeName } = require('./util');

module.exports = {
meta: {
Expand Down
2 changes: 1 addition & 1 deletion rules/no-jest-import.js
@@ -1,6 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const { getDocsUrl } = require('./util');

const message = `Jest is automatically in scope. Do not import "jest", as Jest doesn't export anything.`;

Expand Down
2 changes: 1 addition & 1 deletion rules/no-large-snapshots.js
@@ -1,6 +1,6 @@
'use strict';

const getDocsUrl = require('./util').getDocsUrl;
const { getDocsUrl } = require('./util');

const reportOnViolation = (context, node) => {
const lineLimit =
Expand Down

0 comments on commit 4bfdee5

Please sign in to comment.