mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-07-08 21:15:09 +00:00
78 lines
2.3 KiB
JavaScript
78 lines
2.3 KiB
JavaScript
const angularEslintPlugin = require('@angular-eslint/eslint-plugin')
|
|
const angularTemplatePlugin = require('@angular-eslint/eslint-plugin-template')
|
|
const angularTemplateParser = require('@angular-eslint/template-parser')
|
|
const tsParser = require('@typescript-eslint/parser')
|
|
|
|
const angularTsRecommendedRules = {
|
|
'@angular-eslint/contextual-lifecycle': 'error',
|
|
'@angular-eslint/no-empty-lifecycle-method': 'error',
|
|
'@angular-eslint/no-input-rename': 'error',
|
|
'@angular-eslint/no-inputs-metadata-property': 'error',
|
|
'@angular-eslint/no-output-native': 'error',
|
|
'@angular-eslint/no-output-on-prefix': 'error',
|
|
'@angular-eslint/no-output-rename': 'error',
|
|
'@angular-eslint/no-outputs-metadata-property': 'error',
|
|
'@angular-eslint/prefer-inject': 'error',
|
|
'@angular-eslint/prefer-standalone': 'error',
|
|
'@angular-eslint/use-pipe-transform-interface': 'error',
|
|
'@angular-eslint/use-lifecycle-interface': 'warn',
|
|
}
|
|
const angularTemplateRecommendedRules = {
|
|
'@angular-eslint/template/banana-in-box': 'error',
|
|
'@angular-eslint/template/eqeqeq': 'error',
|
|
'@angular-eslint/template/no-negated-async': 'error',
|
|
'@angular-eslint/template/prefer-control-flow': 'error',
|
|
}
|
|
|
|
module.exports = [
|
|
{
|
|
ignores: ['projects/**/*', 'src/app/components/common/pdf-viewer/**'],
|
|
},
|
|
{
|
|
files: ['**/*.ts'],
|
|
languageOptions: {
|
|
parser: tsParser,
|
|
parserOptions: {
|
|
ecmaVersion: 2020,
|
|
sourceType: 'module',
|
|
},
|
|
},
|
|
plugins: {
|
|
'@angular-eslint': angularEslintPlugin,
|
|
'@angular-eslint/template': angularTemplatePlugin,
|
|
},
|
|
processor: angularTemplatePlugin.processors['extract-inline-html'],
|
|
rules: {
|
|
...angularTsRecommendedRules,
|
|
'@angular-eslint/directive-selector': [
|
|
'error',
|
|
{
|
|
type: 'attribute',
|
|
prefix: 'pngx',
|
|
style: 'camelCase',
|
|
},
|
|
],
|
|
'@angular-eslint/component-selector': [
|
|
'error',
|
|
{
|
|
type: 'element',
|
|
prefix: 'pngx',
|
|
style: 'kebab-case',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.html'],
|
|
languageOptions: {
|
|
parser: angularTemplateParser,
|
|
},
|
|
plugins: {
|
|
'@angular-eslint/template': angularTemplatePlugin,
|
|
},
|
|
rules: {
|
|
...angularTemplateRecommendedRules,
|
|
},
|
|
},
|
|
]
|