lint-suite 1.6.1 → 1.6.2

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.
Files changed (144) hide show
  1. package/README.md +14 -2
  2. package/eslint.cjs +2770 -1688
  3. package/eslint.cjs.map +4 -4
  4. package/eslint.d.ts +13 -13
  5. package/eslint.d.ts.map +1 -1
  6. package/eslint.js +2910 -1800
  7. package/eslint.js.map +4 -4
  8. package/lib/angular-template.d.ts.map +1 -1
  9. package/lib/angular.d.ts +1 -0
  10. package/lib/angular.d.ts.map +1 -1
  11. package/lib/base-limits.d.ts +2 -0
  12. package/lib/base-limits.d.ts.map +1 -0
  13. package/lib/base-practices.d.ts +2 -0
  14. package/lib/base-practices.d.ts.map +1 -0
  15. package/lib/base-recommended.d.ts +2 -0
  16. package/lib/base-recommended.d.ts.map +1 -0
  17. package/lib/base.d.ts.map +1 -1
  18. package/lib/javascript.d.ts.map +1 -1
  19. package/lib/rules/define-plugin.util.d.ts +6 -0
  20. package/lib/rules/define-plugin.util.d.ts.map +1 -0
  21. package/lib/rules/explicit-accessibility/common/explicit-accessibility.const.d.ts +6 -0
  22. package/lib/rules/explicit-accessibility/common/explicit-accessibility.const.d.ts.map +1 -0
  23. package/lib/rules/explicit-accessibility/common/explicit-accessibility.type.d.ts +14 -0
  24. package/lib/rules/explicit-accessibility/common/explicit-accessibility.type.d.ts.map +1 -0
  25. package/lib/rules/explicit-accessibility/explicit-accessibility.d.ts +1 -6
  26. package/lib/rules/explicit-accessibility/explicit-accessibility.d.ts.map +1 -1
  27. package/lib/rules/no-inline-object-types/no-inline-object-types.d.ts.map +1 -1
  28. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-component-discovery.d.ts +4 -3
  29. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-component-discovery.d.ts.map +1 -1
  30. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-component-scope.d.ts +9 -0
  31. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-component-scope.d.ts.map +1 -0
  32. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-decorator-kind.d.ts +10 -0
  33. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-decorator-kind.d.ts.map +1 -0
  34. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-directive-index.d.ts +4 -0
  35. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-directive-index.d.ts.map +1 -0
  36. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-metadata-values.d.ts +12 -0
  37. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-metadata-values.d.ts.map +1 -0
  38. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-resolved-path.d.ts +3 -0
  39. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-resolved-path.d.ts.map +1 -0
  40. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-read-chains.d.ts +17 -0
  41. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-read-chains.d.ts.map +1 -0
  42. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-read-resolution.d.ts +7 -4
  43. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-read-resolution.d.ts.map +1 -1
  44. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-reads.d.ts +5 -3
  45. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-reads.d.ts.map +1 -1
  46. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-references.d.ts +5 -0
  47. package/lib/rules/no-unused-angular-instance-fields/project-usage/angular/angular-template-references.d.ts.map +1 -0
  48. package/lib/rules/no-unused-angular-instance-fields/project-usage/common/project-index.type.d.ts +54 -0
  49. package/lib/rules/no-unused-angular-instance-fields/project-usage/common/project-index.type.d.ts.map +1 -0
  50. package/lib/rules/no-unused-angular-instance-fields/project-usage/common/project-usage.type.d.ts +112 -3
  51. package/lib/rules/no-unused-angular-instance-fields/project-usage/common/project-usage.type.d.ts.map +1 -1
  52. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-file-entry.d.ts +4 -0
  53. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-file-entry.d.ts.map +1 -0
  54. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-index-classes.d.ts +4 -0
  55. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-index-classes.d.ts.map +1 -0
  56. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-index-reconciliation.d.ts +4 -0
  57. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-index-reconciliation.d.ts.map +1 -0
  58. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-index-staleness.d.ts +10 -0
  59. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-index-staleness.d.ts.map +1 -0
  60. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-usage.d.ts +14 -1
  61. package/lib/rules/no-unused-angular-instance-fields/project-usage/project-usage.d.ts.map +1 -1
  62. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-angular-interface-methods.d.ts +8 -0
  63. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-angular-interface-methods.d.ts.map +1 -0
  64. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-assignment-pattern-elements.d.ts +5 -0
  65. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-assignment-pattern-elements.d.ts.map +1 -0
  66. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-binding-pattern-elements.d.ts +6 -0
  67. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-binding-pattern-elements.d.ts.map +1 -0
  68. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-candidate-names.d.ts +4 -0
  69. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-candidate-names.d.ts.map +1 -0
  70. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-destructuring-reads.d.ts +2 -2
  71. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-destructuring-reads.d.ts.map +1 -1
  72. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-reads.d.ts +3 -3
  73. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-reads.d.ts.map +1 -1
  74. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-symbol-reads.d.ts +3 -3
  75. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-symbol-reads.d.ts.map +1 -1
  76. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-type-dependencies.d.ts +3 -0
  77. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-type-dependencies.d.ts.map +1 -0
  78. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-write-targets.d.ts +7 -0
  79. package/lib/rules/no-unused-angular-instance-fields/project-usage/typescript/typescript-write-targets.d.ts.map +1 -0
  80. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/read-chain-text.util.d.ts +4 -0
  81. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/read-chain-text.util.d.ts.map +1 -0
  82. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/{spec-file.d.ts → spec-file.util.d.ts} +1 -1
  83. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/spec-file.util.d.ts.map +1 -0
  84. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/{type-property-symbols.d.ts → type-property-symbols.util.d.ts} +1 -1
  85. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/type-property-symbols.util.d.ts.map +1 -0
  86. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-class-fields.d.ts +2 -7
  87. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-class-fields.d.ts.map +1 -1
  88. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-expression-reads.d.ts.map +1 -1
  89. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-imports.d.ts +9 -0
  90. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-imports.d.ts.map +1 -0
  91. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-managed-fields.d.ts +5 -0
  92. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-managed-fields.d.ts.map +1 -0
  93. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-member-candidates.d.ts +6 -0
  94. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-member-candidates.d.ts.map +1 -0
  95. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-metadata-literals.d.ts +5 -0
  96. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-metadata-literals.d.ts.map +1 -0
  97. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-metadata-reads.d.ts +8 -2
  98. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-metadata-reads.d.ts.map +1 -1
  99. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-template-parsing.d.ts +4 -0
  100. package/lib/rules/no-unused-angular-instance-fields/rule/angular/angular-template-parsing.d.ts.map +1 -0
  101. package/lib/rules/no-unused-angular-instance-fields/rule/common/no-unused-angular-instance-fields.type.d.ts +40 -1
  102. package/lib/rules/no-unused-angular-instance-fields/rule/common/no-unused-angular-instance-fields.type.d.ts.map +1 -1
  103. package/lib/rules/no-unused-angular-instance-fields/rule/no-unused-angular-instance-fields.d.ts +1 -2
  104. package/lib/rules/no-unused-angular-instance-fields/rule/no-unused-angular-instance-fields.d.ts.map +1 -1
  105. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-class-read-visitor.d.ts +4 -0
  106. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-class-read-visitor.d.ts.map +1 -0
  107. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-field-reads.d.ts +2 -1
  108. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-field-reads.d.ts.map +1 -1
  109. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-lexical-this.d.ts +3 -0
  110. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-lexical-this.d.ts.map +1 -0
  111. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-write-targets.d.ts +3 -0
  112. package/lib/rules/no-unused-angular-instance-fields/rule/typescript/typescript-write-targets.d.ts.map +1 -0
  113. package/lib/rules/no-unused-angular-instance-fields/utils/angular-read-target.util.d.ts +4 -0
  114. package/lib/rules/no-unused-angular-instance-fields/utils/angular-read-target.util.d.ts.map +1 -0
  115. package/lib/rules/readonly-type-properties/readonly-type-properties.d.ts.map +1 -1
  116. package/lib/typescript-consistency.d.ts +2 -0
  117. package/lib/typescript-consistency.d.ts.map +1 -0
  118. package/lib/typescript-imports.d.ts +2 -0
  119. package/lib/typescript-imports.d.ts.map +1 -0
  120. package/lib/typescript-local-plugin.d.ts +2 -0
  121. package/lib/typescript-local-plugin.d.ts.map +1 -0
  122. package/lib/typescript-overrides.d.ts +2 -0
  123. package/lib/typescript-overrides.d.ts.map +1 -0
  124. package/lib/typescript-recommended.d.ts +2 -0
  125. package/lib/typescript-recommended.d.ts.map +1 -0
  126. package/lib/typescript-safety.d.ts +2 -0
  127. package/lib/typescript-safety.d.ts.map +1 -0
  128. package/lib/typescript.d.ts +1 -0
  129. package/lib/typescript.d.ts.map +1 -1
  130. package/package.json +15 -16
  131. package/lib/rules/explicit-accessibility/explicit-accessibility.spec.d.ts +0 -2
  132. package/lib/rules/explicit-accessibility/explicit-accessibility.spec.d.ts.map +0 -1
  133. package/lib/rules/no-inline-object-types/no-inline-object-types.spec.d.ts +0 -2
  134. package/lib/rules/no-inline-object-types/no-inline-object-types.spec.d.ts.map +0 -1
  135. package/lib/rules/no-unused-angular-instance-fields/no-unused-angular-instance-fields.fixtures.spec.d.ts +0 -2
  136. package/lib/rules/no-unused-angular-instance-fields/no-unused-angular-instance-fields.fixtures.spec.d.ts.map +0 -1
  137. package/lib/rules/no-unused-angular-instance-fields/project-usage/common/angular-index.type.d.ts +0 -33
  138. package/lib/rules/no-unused-angular-instance-fields/project-usage/common/angular-index.type.d.ts.map +0 -1
  139. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/spec-file.d.ts.map +0 -1
  140. package/lib/rules/no-unused-angular-instance-fields/project-usage/utils/type-property-symbols.d.ts.map +0 -1
  141. package/lib/rules/no-unused-angular-instance-fields/rule/no-unused-instance-fields.spec.d.ts +0 -2
  142. package/lib/rules/no-unused-angular-instance-fields/rule/no-unused-instance-fields.spec.d.ts.map +0 -1
  143. package/lib/rules/readonly-type-properties/readonly-type-properties.spec.d.ts +0 -2
  144. package/lib/rules/readonly-type-properties/readonly-type-properties.spec.d.ts.map +0 -1
package/README.md CHANGED
@@ -152,8 +152,12 @@ templates can read a component or directive member:
152
152
  }
153
153
  ```
154
154
 
155
- - `analysis` defaults to `'local'`. Project mode excludes spec-file reads and
156
- fails closed when it cannot build a reliable TypeScript or Angular index.
155
+ - `analysis` defaults to `'local'`. Project mode excludes spec-file reads. A
156
+ file it cannot index exactly (a template that does not parse, metadata it
157
+ cannot evaluate, a read it cannot type) falls back to name matching for
158
+ that file only: every member whose name that file mentions counts as read.
159
+ Set `LINT_SUITE_DEBUG=1` to print which files fell back and why, for
160
+ example `LINT_SUITE_DEBUG=1 eslint --no-cache src/app/some.component.ts`.
157
161
  - `allowEffectFields` defaults to `false`. When enabled, fields holding
158
162
  auto-cleaned Angular `effect()` calls are allowed; effects configured with
159
163
  `manualCleanup: true` must still be read.
@@ -164,6 +168,14 @@ templates can read a component or directive member:
164
168
  - In local mode, non-private members of `abstract` components and directives
165
169
  are exempt: subclasses that read them live in other files. Project mode
166
170
  resolves those subclass reads and reports the members normally.
171
+ - Project analysis is incremental. The index is kept per tsconfig; when an
172
+ editor hands the rule a changed Program after a save, only the saved file and
173
+ the files whose reads depended on it are re-indexed, so feedback stays fast
174
+ in large workspaces. Template references (`#ref`, `#ref="exportAs"`) resolve
175
+ within a standalone component's `imports`; when that scope cannot be
176
+ determined statically (NgModule declarations, `hostDirectives`, spreads),
177
+ every matching component or directive in the Program is a candidate. Extra
178
+ candidates can only add reads. Metadata strings may be constants.
167
179
 
168
180
  ### Explicit accessibility
169
181