module.exports = {
  env: {
    browser: true,
    node: true,
  },
  extends: [
    'eslint:all',
    'plugin:fp/recommended',
    // 'plugin:import/warnings', TODO
    'prettier',
  ],
  parser: 'babel-eslint',
  plugins: [
    'fp',
    'prettier',
  ],
  rules: {
    curly: ['error', 'all'],
    'no-confusing-arrow': 'off',
    'no-invalid-this': 'error',
    'no-nested-ternary': 'off',
    'no-use-before-define': ['error', {functions: false}],
    'fp/no-mutating-methods': 'warn',
    'fp/no-mutation': ['error', {
      commonjs: true,
      allowThis: true,
    }],
    'fp/no-events': 'off',
    'fp/no-nil': 'off',
    'fp/no-rest-parameters': 'off',
    'fp/no-unused-expression': 'off',
    // 'import/extensions': ['error', 'never'],
    // 'import/no-extraneous-dependencies': 'off',
    // 'import/no-unresolved': 'off',
    'prettier/prettier': ['error', {
      printWidth: 100,
      singleQuote: true,
      trailingComma: 'all',
      bracketSpacing: false,
    }]
  },
};

module.exports = {
  env: {
    browser: true,
    node: true,
  },
  extends: [
    'eslint:all',
    'plugin:fp/recommended',
    // 'plugin:import/warnings', TODO
    'prettier',
  ],
  parser: 'babel-eslint',
  plugins: [
    'fp',
    'prettier',
  ],
  rules: {
    curly: ['error', 'all'],
    'init-declarations': 'off', // In favor of fp/no-let.
    'no-confusing-arrow': 'off',
    'no-invalid-this': 'error',
    'no-nested-ternary': 'off',
    'no-use-before-define': ['error', {functions: false}],
    'one-var': ['error', 'never'],
    'fp/no-mutating-methods': 'warn',
    'fp/no-mutation': ['error', {
      commonjs: true,
      allowThis: true,
    }],
    'fp/no-events': 'off',
    'fp/no-nil': 'off',
    'fp/no-rest-parameters': 'off',
    'fp/no-unused-expression': 'off',
    // 'import/extensions': ['error', 'never'],
    // 'import/no-extraneous-dependencies': 'off',
    // 'import/no-unresolved': 'off',
    'prettier/prettier': ['error', {
      printWidth: 100,
      singleQuote: true,
      trailingComma: 'all',
      bracketSpacing: false,
    }]
  },
};

Update rules