@taiga-ui/eslint-plugin-experience-next 0.497.0 → 0.499.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/index.d.ts +15 -0
- package/index.esm.js +1550 -602
- package/package.json +3 -3
- package/rules/recommended/import-integrity.d.ts +15 -0
- package/rules/recommended/no-repeated-signal-in-conditional.d.ts +5 -0
- package/rules/recommended/single-line-variable-spacing.d.ts +5 -0
- package/rules/utils/ast/class-members.d.ts +1 -5
- package/rules/utils/ast/spacing.d.ts +7 -0
- package/rules/utils/eslint/scope.d.ts +2 -0
package/README.md
CHANGED
|
@@ -33,6 +33,39 @@ export default [
|
|
|
33
33
|
];
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
+
## Recommended config contents
|
|
37
|
+
|
|
38
|
+
`taiga.configs.recommended` combines the Taiga UI rules listed below with external ESLint presets and individual rules
|
|
39
|
+
from third-party plugins. The exact severities and file globs live in
|
|
40
|
+
[`configs/recommended.ts`](https://github.com/taiga-family/toolkit/blob/main/projects/eslint-plugin-experience-next/configs/recommended.ts).
|
|
41
|
+
|
|
42
|
+
| Package | What is included in `recommended` |
|
|
43
|
+
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| [ESLint core](https://eslint.org/docs/latest/rules/) | `eslint.configs.recommended` and individual core rules for JS/TS files |
|
|
45
|
+
| [typescript-eslint](https://typescript-eslint.io/rules/) | `configs.all`, `configs.disableTypeChecked`, and individual `@typescript-eslint/*` rules |
|
|
46
|
+
| [angular-eslint TS rules](https://github.com/angular-eslint/angular-eslint/tree/main/packages/eslint-plugin/docs/rules) | `angular.configs.tsRecommended` and individual `@angular-eslint/*` rules for `**/*.{ts,tsx}` |
|
|
47
|
+
| [angular-eslint template rules](https://github.com/angular-eslint/angular-eslint/tree/main/packages/eslint-plugin-template/docs/rules) | `templateRecommended`, `templateAccessibility`, and individual `@angular-eslint/template/*` rules for `**/*.html` |
|
|
48
|
+
| [@eslint/markdown](https://github.com/eslint/markdown#rules) | `markdown.configs.recommended` for `**/*.md` |
|
|
49
|
+
| [@smarttools/eslint-plugin-rxjs](https://github.com/DaveMBush/eslint-plugin-rxjs#rules) | Individual `rxjs/*` rules for Angular/TypeScript files |
|
|
50
|
+
| [@stylistic/eslint-plugin](https://eslint.style/rules) | Individual `@stylistic/*` formatting rules |
|
|
51
|
+
| [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat#readme) | `compat.configs['flat/recommended']` for JS/TS files |
|
|
52
|
+
| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress#rules) | Registered for Cypress overrides; no `cypress/*` rules are enabled by default |
|
|
53
|
+
| [eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan#rules) | `deMorganConfigs.recommended` for JS/TS files |
|
|
54
|
+
| [eslint-plugin-decorator-position](https://github.com/NullVoxPopuli/eslint-plugin-decorator-position/blob/master/docs/rules/decorator-position.md) | Individual `decorator-position/*` rules for JS/TS files |
|
|
55
|
+
| [eslint-plugin-file-progress](https://github.com/sibiraj-s/eslint-plugin-file-progress#readme) | `progress.configs['recommended-ci']` |
|
|
56
|
+
| [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import#rules) | `flatConfigs.recommended`, `flatConfigs.typescript`, and individual `import/*` rules for JS/TS files |
|
|
57
|
+
| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest#rules) | `jest.configs['flat/recommended']` and individual `jest/*` rules for `**/*.spec.ts` |
|
|
58
|
+
| [eslint-plugin-package-json](https://github.com/michaelfaith/eslint-plugin-package-json#supported-rules) | `packageJsonConfigs.recommended` and individual `package-json/*` rules for `**/package.json` |
|
|
59
|
+
| [eslint-plugin-perfectionist](https://perfectionist.dev/rules) | Individual `perfectionist/*` sorting rules for JS/TS files |
|
|
60
|
+
| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright#rules) | `playwright.configs['flat/recommended']` and individual `playwright/*` rules for `**/*.pw.spec.ts` |
|
|
61
|
+
| [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier#readme) | Individual `prettier/*` rules for JS/TS files |
|
|
62
|
+
| [eslint-plugin-promise](https://github.com/eslint-community/eslint-plugin-promise#rules) | `promise.configs['flat/recommended']` and individual `promise/*` rules for JS/TS files |
|
|
63
|
+
| [eslint-plugin-regexp](https://ota-meshi.github.io/eslint-plugin-regexp/rules/) | `regexpConfigs['flat/recommended']` and individual `regexp/*` rules for JS/TS files |
|
|
64
|
+
| [eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort#readme) | Individual `simple-import-sort/*` rules for JS/TS files |
|
|
65
|
+
| [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS/blob/master/packages/analysis/src/jsts/rules/README.md) | Individual `sonarjs/*` rules for JS/TS files |
|
|
66
|
+
| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn#rules) | Individual `unicorn/*` rules for JS/TS files |
|
|
67
|
+
| [eslint-plugin-unused-imports](https://github.com/sweepline/eslint-plugin-unused-imports#supported-rules) | Individual `unused-imports/*` rules for JS/TS files |
|
|
68
|
+
|
|
36
69
|
- ✅ = recommended
|
|
37
70
|
- 🔧 = fixable
|
|
38
71
|
- 💡 = has suggestions
|
|
@@ -47,6 +80,7 @@ export default [
|
|
|
47
80
|
| [flat-exports](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/flat-exports.md) | Spread nested arrays when exporting Angular entity collections | | 🔧 | |
|
|
48
81
|
| [host-attributes-sort](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/host-attributes-sort.md) | Sort Angular host metadata attributes using configurable attribute groups | ✅ | 🔧 | |
|
|
49
82
|
| [html-logical-properties](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/html-logical-properties.md) | Enforce logical CSS properties over directional ones in Angular template style bindings | ✅ | 🔧 | |
|
|
83
|
+
| [import-integrity](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/import-integrity.md) | Fast default import, namespace export, named-as-default, and import cycle checks | ✅ | | |
|
|
50
84
|
| [injection-token-description](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/injection-token-description.md) | Require `InjectionToken` descriptions to include the token name | ✅ | 🔧 | |
|
|
51
85
|
| [no-commonjs-import-patterns](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-commonjs-import-patterns.md) | Disallow legacy CommonJS interop import patterns | ✅ | | |
|
|
52
86
|
| [no-deep-imports](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-deep-imports.md) | Disables deep imports of Taiga UI packages | ✅ | 🔧 | |
|
|
@@ -66,6 +100,7 @@ export default [
|
|
|
66
100
|
| [no-project-as-in-ng-template](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-project-as-in-ng-template.md) | `ngProjectAs` has no effect inside `<ng-template>` or dynamic outlets | ✅ | | |
|
|
67
101
|
| [no-restricted-attr-values](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-restricted-attr-values.md) | Disallow configured attribute values in Angular templates | | | |
|
|
68
102
|
| [no-redundant-type-annotation](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-redundant-type-annotation.md) | Disallow redundant type annotations when the type is already inferred from the initializer | ✅ | 🔧 | |
|
|
103
|
+
| [no-repeated-signal-in-conditional](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-repeated-signal-in-conditional.md) | Disallow reading the same nullable Angular signal more than once in a conditional expression | ✅ | 🔧 | |
|
|
69
104
|
| [no-side-effects-in-computed](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-side-effects-in-computed.md) | Disallow side effects and effectful helper calls inside Angular `computed()` callbacks | ✅ | | |
|
|
70
105
|
| [no-signal-reads-after-await-in-reactive-context](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-signal-reads-after-await-in-reactive-context.md) | Disallow bare signal reads after `await` inside reactive callbacks | ✅ | | |
|
|
71
106
|
| [no-string-literal-concat](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/no-string-literal-concat.md) | Disallow string literal concatenation; merge adjacent literals into one | ✅ | 🔧 | |
|
|
@@ -86,5 +121,6 @@ export default [
|
|
|
86
121
|
| [require-title](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/require-title.md) | Require a non-empty `<title>` inside `<head>` | ✅ | | |
|
|
87
122
|
| [short-tui-imports](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/short-tui-imports.md) | Shorten TuiXxxComponent / TuiYyyDirective in Angular metadata | ✅ | 🔧 | |
|
|
88
123
|
| [single-line-class-property-spacing](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/single-line-class-property-spacing.md) | Group consecutive single-line class properties and separate multiline ones with a blank line | ✅ | 🔧 | |
|
|
124
|
+
| [single-line-variable-spacing](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/single-line-variable-spacing.md) | Group consecutive single-line variables and separate multiline ones with a blank line | ✅ | 🔧 | |
|
|
89
125
|
| [standalone-imports-sort](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/standalone-imports-sort.md) | Auto sort names inside Angular decorators | ✅ | 🔧 | |
|
|
90
126
|
| [strict-tui-doc-example](https://github.com/taiga-family/toolkit/tree/main/projects/eslint-plugin-experience-next/docs/strict-tui-doc-example.md) | If you use the addon-doc, there will be a hint that you are importing something incorrectly | | 🔧 | |
|
package/index.d.ts
CHANGED
|
@@ -38,6 +38,15 @@ declare const plugin: {
|
|
|
38
38
|
'html-logical-properties': import("eslint").Rule.RuleModule & {
|
|
39
39
|
name: string;
|
|
40
40
|
};
|
|
41
|
+
'import-integrity': import("@typescript-eslint/utils/ts-eslint").RuleModule<"importCycle" | "missingDefaultExport" | "namedAsDefault" | "unknownNamespaceMember", [({
|
|
42
|
+
checkCycles?: boolean;
|
|
43
|
+
checkDefaultImports?: boolean;
|
|
44
|
+
checkNamedAsDefault?: boolean;
|
|
45
|
+
checkNamespaceMembers?: boolean;
|
|
46
|
+
ignoreExternalDefaultImports?: boolean;
|
|
47
|
+
} | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
48
|
+
name: string;
|
|
49
|
+
};
|
|
41
50
|
'injection-token-description': import("@typescript-eslint/utils/ts-eslint").RuleModule<"invalid-injection-token-description", readonly unknown[], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
42
51
|
name: string;
|
|
43
52
|
};
|
|
@@ -100,6 +109,9 @@ declare const plugin: {
|
|
|
100
109
|
} | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
101
110
|
name: string;
|
|
102
111
|
};
|
|
112
|
+
'no-repeated-signal-in-conditional': import("@typescript-eslint/utils/ts-eslint").RuleModule<"noRepeatedSignalInConditional", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
113
|
+
name: string;
|
|
114
|
+
};
|
|
103
115
|
'no-restricted-attr-values': import("eslint").Rule.RuleModule & {
|
|
104
116
|
name: string;
|
|
105
117
|
};
|
|
@@ -168,6 +180,9 @@ declare const plugin: {
|
|
|
168
180
|
'single-line-class-property-spacing': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingBlankLineAfterMultilineProperty" | "missingBlankLineAroundAccessor" | "missingBlankLineBeforeMultilineProperty" | "unexpectedBlankLineBeforeNextSingleLineField", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
169
181
|
name: string;
|
|
170
182
|
};
|
|
183
|
+
'single-line-variable-spacing': import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingBlankLineAfterMultilineVariable" | "missingBlankLineBeforeMultilineVariable" | "missingBlankLineBetweenVariableGroups" | "unexpectedBlankLineBeforeNextSingleLineVariable", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
184
|
+
name: string;
|
|
185
|
+
};
|
|
171
186
|
'standalone-imports-sort': import("@typescript-eslint/utils/ts-eslint").RuleModule<"incorrectOrder", [{
|
|
172
187
|
decorators?: string[];
|
|
173
188
|
}], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|