eslint-config-angular-strict 2.3.92 → 2.3.94

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.
@@ -51,6 +51,12 @@ const helperFileRestriction = {
51
51
  message: 'Undecorated classes must live in helpers/*.helpers.ts',
52
52
  };
53
53
 
54
+ // Angular inputs must be public (they are part of the component's external API)
55
+ const inputVisibilityRestriction = {
56
+ selector: ':matches(PropertyDefinition[accessibility="protected"], PropertyDefinition[accessibility="private"]):has(CallExpression Identifier[name="input"])',
57
+ message: 'Angular inputs must be public',
58
+ };
59
+
54
60
  // Global no-restricted-syntax rule (used in the main TypeScript files block)
55
61
  export const noRestrictedSyntaxRule = [
56
62
  'error',
@@ -61,6 +67,7 @@ export const noRestrictedSyntaxRule = [
61
67
  decoratorFileRestrictions.Pipe,
62
68
  ...decoratorClassSuffixRestrictions,
63
69
  helperFileRestriction,
70
+ inputVisibilityRestriction,
64
71
  ...declarationFileRestrictions,
65
72
  ];
66
73
 
@@ -84,6 +91,7 @@ export const namingConventionOverrides = [
84
91
  decoratorFileRestrictions.Pipe,
85
92
  ...decoratorClassSuffixRestrictions,
86
93
  helperFileRestriction,
94
+ inputVisibilityRestriction,
87
95
  ...declarationFileRestrictions,
88
96
  ],
89
97
  },
@@ -100,6 +108,7 @@ export const namingConventionOverrides = [
100
108
  decoratorFileRestrictions.Pipe,
101
109
  ...decoratorClassSuffixRestrictions,
102
110
  helperFileRestriction,
111
+ inputVisibilityRestriction,
103
112
  ...declarationFileRestrictions,
104
113
  ],
105
114
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-angular-strict",
3
- "version": "2.3.92",
3
+ "version": "2.3.94",
4
4
  "description": "Modern ESLint configuration with strict rules for Angular development.",
5
5
  "keywords": [
6
6
  "angular",
@@ -40,10 +40,10 @@
40
40
  "@angular-eslint/eslint-plugin-template": "21.4.0",
41
41
  "@angular-eslint/template-parser": "21.4.0",
42
42
  "@stylistic/eslint-plugin": "5.10.0",
43
- "@typescript-eslint/eslint-plugin": "8.60.0",
44
- "@typescript-eslint/parser": "8.60.0",
45
- "@typescript-eslint/types": "8.60.0",
46
- "@typescript-eslint/utils": "8.60.0",
43
+ "@typescript-eslint/eslint-plugin": "8.60.1",
44
+ "@typescript-eslint/parser": "8.60.1",
45
+ "@typescript-eslint/types": "8.60.1",
46
+ "@typescript-eslint/utils": "8.60.1",
47
47
  "eslint": "9.39.4",
48
48
  "eslint-config-airbnb-extended": "3.1.0",
49
49
  "eslint-plugin-import-x": "4.16.2",
@@ -53,5 +53,5 @@
53
53
  "devDependencies": {
54
54
  "typescript": "5.9.3"
55
55
  },
56
- "packageManager": "yarn@4.15.0+sha512.07ec708ac11e2eaa4ea2b04cfbb272812f7e74a753f1595eaef4486c663a98306a30cca3e6fc40f7a0b168dcfb3a2490b6a5e0501e20fb69cc36f563dd161c53"
56
+ "packageManager": "yarn@4.16.0+sha512.5374c94eb4ef6aa8188fb112f20c1aa6569f248d676c5e576e1fd2a1a4d8d87a96df65d9dfe1c2a0252cbe38bda46cf18d955005b81b43cc7607a5c9d56fd2b6"
57
57
  }