53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
const { createConfig } = require('@openedx/frontend-build');
|
|
|
|
module.exports = createConfig('eslint', {
|
|
rules: {
|
|
// Temporarily update the 'indent', 'template-curly-spacing' and
|
|
// 'no-multiple-empty-lines' rules since they are causing eslint
|
|
// to fail for no apparent reason since upgrading
|
|
// @openedx/frontend-build from v3 to v5:
|
|
// - TypeError: Cannot read property 'range' of null
|
|
indent: [
|
|
'error',
|
|
2,
|
|
{ ignoredNodes: ['TemplateLiteral', 'SwitchCase'] },
|
|
],
|
|
'template-curly-spacing': 'off',
|
|
'jsx-a11y/label-has-associated-control': ['error', {
|
|
labelComponents: [],
|
|
labelAttributes: [],
|
|
controlComponents: [],
|
|
assert: 'htmlFor',
|
|
depth: 25,
|
|
}],
|
|
'sort-imports': ['error', { ignoreCase: true, ignoreDeclarationSort: true }],
|
|
'import/order': [
|
|
'error',
|
|
{
|
|
groups: [
|
|
'builtin',
|
|
'external',
|
|
'internal',
|
|
['sibling', 'parent'],
|
|
'index',
|
|
],
|
|
pathGroups: [
|
|
{
|
|
pattern: '@(react|react-dom|react-redux)',
|
|
group: 'external',
|
|
position: 'before',
|
|
},
|
|
],
|
|
pathGroupsExcludedImportTypes: ['react'],
|
|
'newlines-between': 'always',
|
|
alphabetize: {
|
|
order: 'asc',
|
|
caseInsensitive: true,
|
|
},
|
|
},
|
|
],
|
|
'function-paren-newline': 'off',
|
|
},
|
|
});
|