eslint.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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.es2021,
  12. ...globals.mocha,
  13. },
  14. },
  15. plugins: {
  16. 'jsdoc': eslintJsdocPlugin,
  17. 'mocha': eslintMochaPlugin,
  18. 'import': eslintImportPlugin,
  19. 'chai-expect': eslintChaiExpectPlugin,
  20. },
  21. rules: {
  22. ...eslintJs.configs.recommended.rules,
  23. ...eslintPrettierConfig.rules,
  24. ...eslintImportPlugin.flatConfigs.recommended.rules,
  25. ...eslintMochaPlugin.configs.recommended.rules,
  26. ...eslintChaiExpectPlugin.configs['recommended-flat'].rules,
  27. ...eslintJsdocPlugin.configs['flat/recommended-error'].rules,
  28. 'no-duplicate-imports': 'error',
  29. 'jsdoc/reject-any-type': 0,
  30. 'jsdoc/reject-function-type': 0,
  31. 'jsdoc/require-param-description': 0,
  32. 'jsdoc/require-returns-description': 0,
  33. 'jsdoc/require-property-description': 0,
  34. 'jsdoc/tag-lines': ['error', 'any', {startLines: 1}],
  35. },
  36. files: ['src/**/*.js'],
  37. }];