UNPKG

@mantic-ui/eslint-config

Version:
1 lines 13.8 kB
{"version":3,"file":"mantic-ui-eslint-config.mjs","sources":["../../../projects/eslint-config/src/configs/angular-recommended.ts","../../../projects/eslint-config/src/configs/ts-recommended.ts","../../../projects/eslint-config/src/index.ts","../../../projects/eslint-config/src/mantic-ui-eslint-config.ts"],"sourcesContent":["import type { TSESLint } from '@typescript-eslint/utils';\r\nimport angular from 'angular-eslint';\r\n\r\nconst config: TSESLint.FlatConfig.ConfigArray = [\r\n ...angular.configs.templateRecommended,\r\n ...angular.configs.templateAccessibility,\r\n {\r\n name: '@mantic-ui/eslint-config/angular-recommended',\r\n rules: {}\r\n }\r\n];\r\nexport default config;","import type { TSESLint } from '@typescript-eslint/utils';\r\nimport angular from 'angular-eslint';\r\nimport * as esImport from 'eslint-plugin-import';\r\nimport * as rxjs from 'eslint-plugin-rxjs-updated';\r\nimport unicorn from 'eslint-plugin-unicorn';\r\nimport tseslint from 'typescript-eslint';\r\n\r\nconst config: TSESLint.FlatConfig.ConfigArray = [\r\n unicorn.configs.recommended,\r\n ...tseslint.configs.strictTypeChecked,\r\n ...tseslint.configs.stylisticTypeChecked,\r\n ...angular.configs.tsRecommended,\r\n (rxjs as any).configs.recommended,\r\n {\r\n languageOptions: {\r\n parserOptions: {\r\n projectService: true\r\n }\r\n }\r\n },\r\n {\r\n name: '@mantic-ui/eslint-config/ts-recommended',\r\n plugins: {\r\n rxjs,\r\n 'import': esImport\r\n },\r\n rules: {\r\n // Unicorn\r\n 'unicorn/better-regex': 'warn',\r\n 'unicorn/consistent-destructuring': 'warn',\r\n 'unicorn/custom-error-definition': 'error',\r\n 'unicorn/explicit-length-check': 'off',\r\n 'unicorn/no-nested-ternary': 'off',\r\n // Has to be disabled because `signal<string | undefined>(undefined)` would not be allowed\r\n 'unicorn/no-useless-undefined': 'off',\r\n\r\n // typescript-eslint\r\n '@typescript-eslint/no-explicit-any': ['warn', { 'fixToUnknown': true }],\r\n '@typescript-eslint/prefer-readonly': 'warn',\r\n '@typescript-eslint/explicit-member-accessibility': 'warn',\r\n '@typescript-eslint/explicit-function-return-type': 'error',\r\n '@typescript-eslint/no-unused-vars': 'warn',\r\n '@typescript-eslint/no-use-before-define': 'error',\r\n '@typescript-eslint/naming-convention': [\r\n 'warn',\r\n {\r\n selector: 'import',\r\n format: ['camelCase', 'PascalCase']\r\n },\r\n {\r\n selector: 'classProperty',\r\n modifiers: ['protected', 'readonly'],\r\n format: ['camelCase', 'PascalCase']\r\n },\r\n {\r\n 'selector': 'property',\r\n 'format': [\r\n 'camelCase',\r\n 'PascalCase'\r\n ],\r\n 'filter': {\r\n 'regex': '^\\\\[(class|style|attr)(\\\\..*\\\\\\\\)?\\\\]$',\r\n 'match': false\r\n }\r\n },\r\n {\r\n selector: 'variable',\r\n format: ['camelCase', 'UPPER_CASE'],\r\n leadingUnderscore: 'forbid',\r\n trailingUnderscore: 'forbid'\r\n },\r\n {\r\n selector: 'typeLike',\r\n format: ['PascalCase']\r\n },\r\n {\r\n selector: 'default',\r\n format: ['camelCase'],\r\n leadingUnderscore: 'forbid',\r\n trailingUnderscore: 'forbid'\r\n }\r\n ],\r\n '@typescript-eslint/member-ordering': ['warn', {\r\n 'default': [\r\n // Index signature\r\n 'signature',\r\n\r\n // Fields\r\n // \"private-static-field\",\r\n // \"protected-static-field\",\r\n // \"public-static-field\",\r\n //\r\n // \"private-decorated-field\",\r\n // \"protected-decorated-field\",\r\n // \"public-decorated-field\",\r\n //\r\n // \"private-instance-field\",\r\n // \"protected-instance-field\",\r\n // \"public-instance-field\",\r\n //\r\n // \"private-abstract-field\",\r\n // \"protected-abstract-field\",\r\n // \"public-abstract-field\",\r\n //\r\n // \"private-field\",\r\n // \"protected-field\",\r\n // \"public-field\",\r\n //\r\n 'static-field',\r\n // \"instance-field\",\r\n // \"abstract-field\",\r\n //\r\n // \"decorated-field\",\r\n\r\n 'field',\r\n\r\n // Constructors\r\n // \"public-constructor\",\r\n // \"protected-constructor\",\r\n // \"private-constructor\",\r\n\r\n 'constructor',\r\n\r\n // Methods\r\n\r\n 'method'\r\n ]\r\n }],\r\n\r\n // TODO:\r\n '@angular-eslint/component-class-suffix': 'error',\r\n '@angular-eslint/component-max-inline-declarations': 'error',\r\n '@angular-eslint/contextual-decorator': 'error',\r\n '@angular-eslint/contextual-lifecycle': 'error',\r\n '@angular-eslint/directive-class-suffix': 'error',\r\n '@angular-eslint/directive-selector': 'error',\r\n '@angular-eslint/no-attribute-decorator': 'error',\r\n '@angular-eslint/no-conflicting-lifecycle': 'error',\r\n '@angular-eslint/no-empty-lifecycle-method': 'error',\r\n '@angular-eslint/no-input-prefix': 'warn',\r\n '@angular-eslint/no-input-rename': 'error',\r\n '@angular-eslint/no-inputs-metadata-property': 'error',\r\n '@angular-eslint/no-lifecycle-call': 'error',\r\n '@angular-eslint/no-output-native': 'warn',\r\n '@angular-eslint/no-output-on-prefix': 'warn',\r\n '@angular-eslint/no-output-rename': 'error',\r\n '@angular-eslint/no-outputs-metadata-property': 'error',\r\n '@angular-eslint/no-queries-metadata-property': 'error',\r\n '@angular-eslint/prefer-output-readonly': 'error',\r\n '@angular-eslint/relative-url-prefix': 'error',\r\n '@angular-eslint/use-component-selector': 'error',\r\n '@angular-eslint/use-lifecycle-interface': 'error',\r\n '@angular-eslint/use-pipe-transform-interface': 'error',\r\n '@angular-eslint/sort-ngmodule-metadata-arrays': 'off',\r\n 'rxjs/no-compat': 'error',\r\n 'rxjs/no-ignored-replay-buffer': 'warn',\r\n 'rxjs/no-nested-subscribe': 'warn',\r\n 'rxjs/no-subject-value': 'warn',\r\n 'rxjs/no-unsafe-takeuntil': 'warn',\r\n 'rxjs/ban-operators': [\r\n 'error',\r\n {\r\n 'bufferTime': 'Use buffer(yourObservable.pipe(auditTime(1))) instead'\r\n }\r\n ],\r\n 'prefer-const': 'warn',\r\n\r\n 'no-cond-assign': 'warn',\r\n 'no-irregular-whitespace': 'warn',\r\n 'no-multiple-empty-lines': 'warn',\r\n 'no-redeclare': 'warn',\r\n 'valid-typeof': 'error',\r\n 'no-restricted-imports': ['error', {\r\n 'patterns': [\r\n '*../@*',\r\n '*../projects/*'\r\n ]\r\n }],\r\n 'max-len': 'off',\r\n 'no-lonely-if': 'warn',\r\n 'no-trailing-spaces': 'off',\r\n 'no-restricted-syntax': ['warn',\r\n {\r\n 'selector': 'BinaryExpression[operator=\\'in\\']',\r\n 'message': 'Binary expressions with \\'in\\' operator are not type safe. Use \\'ObjectHelper.has()\\' instead.'\r\n }, {\r\n 'selector': 'VariableDeclarator:matches([id.typeAnnotation=undefined]):matches([init.type=ArrayExpression]):matches([init.elements.length=0])',\r\n 'message': 'Implicit any arrays are not type safe. Use \\'array: MyType[] = []\\' instead.'\r\n }, {\r\n 'selector': 'PropertyDefinition:matches([typeAnnotation=undefined]):matches([value.type=ArrayExpression]):matches([value.elements.length=0])',\r\n 'message': 'Implicit any arrays are not type safe. Use \\'array: MyType[] = []\\' instead.'\r\n }, {\r\n 'selector': 'CallExpression[callee.name=merge][arguments.0.type!=SpreadElement]',\r\n 'message': 'Do not use rxjs merge operator without spread operator. use merge(...myObservables) instead'\r\n }\r\n ],\r\n 'consistent-return': 'error'\r\n }\r\n }\r\n];\r\nexport default config;","import angularRecommended from './configs/angular-recommended';\r\nimport tsRecommended from './configs/ts-recommended';\r\n\r\nconst configs = {\r\n angularRecommended: angularRecommended,\r\n tsRecommended: tsRecommended\r\n};\r\n\r\nexport default {\r\n configs\r\n};\r\nexport { configs };","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["config","angularRecommended","tsRecommended"],"mappings":"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"}