eslint.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import globals from 'globals';
  2. import eslintJs from '@eslint/js';
  3. import eslintJsdocPlugin from 'eslint-plugin-jsdoc';
  4. import eslintMochaPlugin from 'eslint-plugin-mocha';
  5. import eslintImportPlugin from 'eslint-plugin-import';
  6. import eslintPrettierConfig from 'eslint-config-prettier';
  7. import eslintChaiExpectPlugin from 'eslint-plugin-chai-expect';
  8. export default [{
  9. languageOptions: {
  10. globals: {
  11. ...globals.node,
  12. ...globals.browser,
  13. ...globals.es2021,
  14. ...globals.mocha,
  15. },
  16. },
  17. plugins: {
  18. 'jsdoc': eslintJsdocPlugin,
  19. 'mocha': eslintMochaPlugin,
  20. 'import': eslintImportPlugin,
  21. 'chai-expect': eslintChaiExpectPlugin,
  22. },
  23. rules: {
  24. ...eslintJs.configs.recommended.rules,
  25. ...eslintPrettierConfig.rules,
  26. ...eslintImportPlugin.flatConfigs.recommended.rules,
  27. ...eslintMochaPlugin.configs.recommended.rules,
  28. ...eslintChaiExpectPlugin.configs['recommended-flat'].rules,
  29. ...eslintJsdocPlugin.configs['flat/recommended-error'].rules,
  30. 'no-duplicate-imports': 'error',
  31. 'jsdoc/reject-any-type': 0,
  32. 'jsdoc/reject-function-type': 0,
  33. 'jsdoc/require-param-description': 0,
  34. 'jsdoc/require-returns-description': 0,
  35. 'jsdoc/require-property-description': 0,
  36. 'jsdoc/tag-lines': ['error', 'any', {startLines: 1}],
  37. },
  38. files: ['src/**/*.js'],
  39. }];