lint-suite 1.4.0 → 1.6.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.
Files changed (48) hide show
  1. package/eslint.cjs +623 -45
  2. package/eslint.cjs.map +4 -4
  3. package/eslint.js +636 -42
  4. package/eslint.js.map +4 -4
  5. package/lib/angular-template.d.ts +1 -2
  6. package/lib/angular-template.d.ts.map +1 -1
  7. package/lib/angular.d.ts +1 -2
  8. package/lib/angular.d.ts.map +1 -1
  9. package/lib/base.d.ts +1 -1
  10. package/lib/base.d.ts.map +1 -1
  11. package/lib/boundaries.d.ts +1 -1
  12. package/lib/boundaries.d.ts.map +1 -1
  13. package/lib/javascript.d.ts +1 -2
  14. package/lib/javascript.d.ts.map +1 -1
  15. package/lib/json.d.ts +1 -1
  16. package/lib/json.d.ts.map +1 -1
  17. package/lib/playwright.d.ts +1 -1
  18. package/lib/playwright.d.ts.map +1 -1
  19. package/lib/prettier.d.ts +1 -1
  20. package/lib/prettier.d.ts.map +1 -1
  21. package/lib/rules/no-unused-angular-instance-fields/angular-class-fields.d.ts +8 -0
  22. package/lib/rules/no-unused-angular-instance-fields/angular-class-fields.d.ts.map +1 -0
  23. package/lib/rules/no-unused-angular-instance-fields/angular-metadata-reads.d.ts +3 -0
  24. package/lib/rules/no-unused-angular-instance-fields/angular-metadata-reads.d.ts.map +1 -0
  25. package/lib/rules/no-unused-angular-instance-fields/common/no-unused-angular-instance-fields.type.d.ts +10 -0
  26. package/lib/rules/no-unused-angular-instance-fields/common/no-unused-angular-instance-fields.type.d.ts.map +1 -0
  27. package/lib/rules/no-unused-angular-instance-fields/no-unused-angular-instance-fields.d.ts +7 -0
  28. package/lib/rules/no-unused-angular-instance-fields/no-unused-angular-instance-fields.d.ts.map +1 -0
  29. package/lib/rules/no-unused-angular-instance-fields/no-unused-instance-fields.spec.d.ts +2 -0
  30. package/lib/rules/no-unused-angular-instance-fields/no-unused-instance-fields.spec.d.ts.map +1 -0
  31. package/lib/rules/no-unused-angular-instance-fields/utils/angular-expression-reads.util.d.ts +6 -0
  32. package/lib/rules/no-unused-angular-instance-fields/utils/angular-expression-reads.util.d.ts.map +1 -0
  33. package/lib/rules/no-unused-angular-instance-fields/utils/typescript-field-reads.util.d.ts +7 -0
  34. package/lib/rules/no-unused-angular-instance-fields/utils/typescript-field-reads.util.d.ts.map +1 -0
  35. package/lib/rxjs.d.ts +1 -1
  36. package/lib/rxjs.d.ts.map +1 -1
  37. package/lib/storybook.d.ts +1 -1
  38. package/lib/storybook.d.ts.map +1 -1
  39. package/lib/typescript.d.ts +1 -2
  40. package/lib/typescript.d.ts.map +1 -1
  41. package/lib/vitest.d.ts +1 -1
  42. package/lib/vitest.d.ts.map +1 -1
  43. package/package.json +23 -22
  44. package/stylelint.cjs +3 -0
  45. package/stylelint.cjs.map +2 -2
  46. package/stylelint.d.ts.map +1 -1
  47. package/stylelint.js +3 -0
  48. package/stylelint.js.map +2 -2
@@ -0,0 +1,7 @@
1
+ import { TSESTree } from '@typescript-eslint/utils';
2
+ type DestructuringNode = TSESTree.AssignmentExpression | TSESTree.VariableDeclarator;
3
+ export declare const isThisExpression: (node: TSESTree.Expression | null) => boolean;
4
+ export declare const isWriteOnly: (node: TSESTree.MemberExpression) => boolean;
5
+ export declare const destructuredThisReads: (node: DestructuringNode) => string[] | null | undefined;
6
+ export {};
7
+ //# sourceMappingURL=typescript-field-reads.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript-field-reads.util.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/lint-suite/src/lib/rules/no-unused-angular-instance-fields/utils/typescript-field-reads.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AASpD,KAAK,iBAAiB,GAClB,QAAQ,CAAC,oBAAoB,GAC7B,QAAQ,CAAC,kBAAkB,CAAC;AAkChC,eAAO,MAAM,gBAAgB,GAC3B,MAAM,QAAQ,CAAC,UAAU,GAAG,IAAI,KAC/B,OAEqC,CAAC;AA2FzC,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,CAAC,gBAAgB,KAAG,OACJ,CAAC;AAoC3D,eAAO,MAAM,qBAAqB,GAChC,MAAM,iBAAiB,KACtB,MAAM,EAAE,GAAG,IAAI,GAAG,SAwBpB,CAAC"}
package/lib/rxjs.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const rxjs: import("eslint/config").Config[];
1
+ export declare const rxjs: import("eslint/config").ConfigObject[];
2
2
  //# sourceMappingURL=rxjs.d.ts.map
package/lib/rxjs.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rxjs.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/rxjs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,kCAqEf,CAAC"}
1
+ {"version":3,"file":"rxjs.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/rxjs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,wCAqEf,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const storybook: import("eslint/config").Config[];
1
+ export declare const storybook: import("eslint/config").ConfigObject[];
2
2
  //# sourceMappingURL=storybook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storybook.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/storybook.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,kCAUpB,CAAC"}
1
+ {"version":3,"file":"storybook.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/storybook.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,wCAUpB,CAAC"}
@@ -1,3 +1,2 @@
1
- import type { Config } from 'eslint/config';
2
- export declare const typescript: Config[];
1
+ export declare const typescript: import("eslint/config").ConfigObject[];
3
2
  //# sourceMappingURL=typescript.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/typescript.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAU5C,eAAO,MAAM,UAAU,UA6PrB,CAAC"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/typescript.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU,wCA6PrB,CAAC"}
package/lib/vitest.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const vitest: import("eslint/config").Config[];
1
+ export declare const vitest: import("eslint/config").ConfigObject[];
2
2
  //# sourceMappingURL=vitest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/vitest.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,kCAqBjB,CAAC"}
1
+ {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../../../packages/lint-suite/src/lib/vitest.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,wCAqBjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lint-suite",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "Reusable ESLint, Stylelint, and Prettier configurations",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,32 +25,36 @@
25
25
  "author": "Artiom Tofan artiomtofancv@gmail.com",
26
26
  "type": "module",
27
27
  "dependencies": {
28
+ "@angular/compiler": "^22.1.4",
28
29
  "@eslint/js": "^10.0.1",
29
- "@eslint/json": "^1.2.0",
30
- "@nx/eslint-plugin": "22.7.3",
30
+ "@eslint/json": "^2.0.1",
31
+ "@nx/eslint-plugin": "23.1.2",
31
32
  "@smarttools/eslint-plugin-rxjs": "1.0.22",
32
33
  "@stylistic/eslint-plugin": "5.10.0",
33
- "@typescript-eslint/utils": "8.59.4",
34
- "@vitest/eslint-plugin": "1.6.18",
35
- "angular-eslint": "^21.4.0",
36
- "eslint": "^10.4.0",
34
+ "@typescript-eslint/utils": "8.68.0",
35
+ "@vitest/eslint-plugin": "1.6.27",
36
+ "angular-eslint": "^22.1.0",
37
+ "eslint": "^10.9.1",
37
38
  "eslint-config-prettier": "^10.1.8",
38
- "eslint-import-resolver-typescript": "4.4.4",
39
- "eslint-plugin-boundaries": "6.0.2",
40
- "eslint-plugin-import-x": "4.16.2",
41
- "eslint-plugin-playwright": "2.10.4",
42
- "eslint-plugin-storybook": "10.4.1",
43
- "globals": "17.6.0",
44
- "stylelint": "17.12.0",
45
- "stylelint-config-recess-order": "7.7.0",
39
+ "eslint-import-resolver-typescript": "4.4.5",
40
+ "eslint-plugin-boundaries": "7.2.0",
41
+ "eslint-plugin-import-x": "4.17.1",
42
+ "eslint-plugin-playwright": "2.11.0",
43
+ "eslint-plugin-storybook": "10.5.10",
44
+ "globals": "17.11.0",
45
+ "stylelint": "17.14.1",
46
+ "stylelint-config-recess-order": "7.8.0",
46
47
  "stylelint-config-standard": "40.0.0",
47
48
  "stylelint-config-standard-scss": "17.0.0",
48
- "stylelint-scss": "7.1.1",
49
+ "stylelint-scss": "7.2.0",
49
50
  "stylelint-selector-bem-pattern": "5.0.0",
50
- "typescript-eslint": "8.59.4"
51
+ "typescript-eslint": "8.68.0"
51
52
  },
52
53
  "peerDependencies": {
53
- "prettier": "^3.8.3"
54
+ "prettier": "^3.8.4"
55
+ },
56
+ "scripts": {
57
+ "build": "nx build lint-suite"
54
58
  },
55
59
  "exports": {
56
60
  "./package.json": "./package.json",
@@ -76,8 +80,5 @@
76
80
  ],
77
81
  "publishConfig": {
78
82
  "access": "public"
79
- },
80
- "scripts": {
81
- "build": "nx build lint-suite"
82
83
  }
83
- }
84
+ }
package/stylelint.cjs CHANGED
@@ -36,6 +36,9 @@ module.exports = __toCommonJS(stylelint_exports);
36
36
  var import_stylelint_scss = __toESM(require("stylelint-scss"), 1);
37
37
  var import_stylelint_selector_bem_pattern = __toESM(require("stylelint-selector-bem-pattern"), 1);
38
38
  var stylelint = {
39
+ // Stylelint resolves config for cwd when picking a formatter; without a
40
+ // top-level `rules` an overrides-only config fails with "No rules found".
41
+ rules: {},
39
42
  overrides: [
40
43
  {
41
44
  files: ["**/*.scss", "**/*.css"],
package/stylelint.cjs.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../packages/lint-suite/src/stylelint.ts"],
4
- "sourcesContent": ["import type { Config } from 'stylelint';\nimport stylelintScss from 'stylelint-scss';\nimport bemPattern from 'stylelint-selector-bem-pattern';\n\nexport const stylelint: Config = {\n overrides: [\n {\n files: ['**/*.scss', '**/*.css'],\n extends: [\n 'stylelint-config-standard',\n 'stylelint-config-standard-scss',\n 'stylelint-config-recess-order'\n ],\n plugins: [...stylelintScss, bemPattern],\n rules: {\n 'selector-class-pattern':\n '^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:\\\\[.+\\\\])?$',\n 'plugin/selector-bem-pattern': {\n preset: 'bem',\n implicitComponents: ['**/*.component.scss', '**/*.component.css'],\n ignoreCustomProperties: ['^--mdc', '^--sys']\n },\n 'no-descending-specificity': null\n }\n }\n ]\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAA0B;AAC1B,4CAAuB;AAEhB,IAAM,YAAoB;AAAA,EAC/B,WAAW;AAAA,IACT;AAAA,MACE,OAAO,CAAC,aAAa,UAAU;AAAA,MAC/B,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,GAAG,sBAAAA,SAAe,sCAAAC,OAAU;AAAA,MACtC,OAAO;AAAA,QACL,0BACE;AAAA,QACF,+BAA+B;AAAA,UAC7B,QAAQ;AAAA,UACR,oBAAoB,CAAC,uBAAuB,oBAAoB;AAAA,UAChE,wBAAwB,CAAC,UAAU,QAAQ;AAAA,QAC7C;AAAA,QACA,6BAA6B;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import type { Config } from 'stylelint';\nimport stylelintScss from 'stylelint-scss';\nimport bemPattern from 'stylelint-selector-bem-pattern';\n\nexport const stylelint: Config = {\n // Stylelint resolves config for cwd when picking a formatter; without a\n // top-level `rules` an overrides-only config fails with \"No rules found\".\n rules: {},\n overrides: [\n {\n files: ['**/*.scss', '**/*.css'],\n extends: [\n 'stylelint-config-standard',\n 'stylelint-config-standard-scss',\n 'stylelint-config-recess-order'\n ],\n plugins: [...stylelintScss, bemPattern],\n rules: {\n 'selector-class-pattern':\n '^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:\\\\[.+\\\\])?$',\n 'plugin/selector-bem-pattern': {\n preset: 'bem',\n implicitComponents: ['**/*.component.scss', '**/*.component.css'],\n ignoreCustomProperties: ['^--mdc', '^--sys']\n },\n 'no-descending-specificity': null\n }\n }\n ]\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAA0B;AAC1B,4CAAuB;AAEhB,IAAM,YAAoB;AAAA;AAAA;AAAA,EAG/B,OAAO,CAAC;AAAA,EACR,WAAW;AAAA,IACT;AAAA,MACE,OAAO,CAAC,aAAa,UAAU;AAAA,MAC/B,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,GAAG,sBAAAA,SAAe,sCAAAC,OAAU;AAAA,MACtC,OAAO;AAAA,QACL,0BACE;AAAA,QACF,+BAA+B;AAAA,UAC7B,QAAQ;AAAA,UACR,oBAAoB,CAAC,uBAAuB,oBAAoB;AAAA,UAChE,wBAAwB,CAAC,UAAU,QAAQ;AAAA,QAC7C;AAAA,QACA,6BAA6B;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": ["stylelintScss", "bemPattern"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stylelint.d.ts","sourceRoot":"","sources":["../../../../packages/lint-suite/src/stylelint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,eAAO,MAAM,SAAS,EAAE,MAsBvB,CAAC"}
1
+ {"version":3,"file":"stylelint.d.ts","sourceRoot":"","sources":["../../../../packages/lint-suite/src/stylelint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,eAAO,MAAM,SAAS,EAAE,MAyBvB,CAAC"}
package/stylelint.js CHANGED
@@ -2,6 +2,9 @@
2
2
  import stylelintScss from "stylelint-scss";
3
3
  import bemPattern from "stylelint-selector-bem-pattern";
4
4
  var stylelint = {
5
+ // Stylelint resolves config for cwd when picking a formatter; without a
6
+ // top-level `rules` an overrides-only config fails with "No rules found".
7
+ rules: {},
5
8
  overrides: [
6
9
  {
7
10
  files: ["**/*.scss", "**/*.css"],
package/stylelint.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../packages/lint-suite/src/stylelint.ts"],
4
- "sourcesContent": ["import type { Config } from 'stylelint';\nimport stylelintScss from 'stylelint-scss';\nimport bemPattern from 'stylelint-selector-bem-pattern';\n\nexport const stylelint: Config = {\n overrides: [\n {\n files: ['**/*.scss', '**/*.css'],\n extends: [\n 'stylelint-config-standard',\n 'stylelint-config-standard-scss',\n 'stylelint-config-recess-order'\n ],\n plugins: [...stylelintScss, bemPattern],\n rules: {\n 'selector-class-pattern':\n '^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:\\\\[.+\\\\])?$',\n 'plugin/selector-bem-pattern': {\n preset: 'bem',\n implicitComponents: ['**/*.component.scss', '**/*.component.css'],\n ignoreCustomProperties: ['^--mdc', '^--sys']\n },\n 'no-descending-specificity': null\n }\n }\n ]\n};\n"],
5
- "mappings": ";AACA,OAAO,mBAAmB;AAC1B,OAAO,gBAAgB;AAEhB,IAAM,YAAoB;AAAA,EAC/B,WAAW;AAAA,IACT;AAAA,MACE,OAAO,CAAC,aAAa,UAAU;AAAA,MAC/B,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,GAAG,eAAe,UAAU;AAAA,MACtC,OAAO;AAAA,QACL,0BACE;AAAA,QACF,+BAA+B;AAAA,UAC7B,QAAQ;AAAA,UACR,oBAAoB,CAAC,uBAAuB,oBAAoB;AAAA,UAChE,wBAAwB,CAAC,UAAU,QAAQ;AAAA,QAC7C;AAAA,QACA,6BAA6B;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import type { Config } from 'stylelint';\nimport stylelintScss from 'stylelint-scss';\nimport bemPattern from 'stylelint-selector-bem-pattern';\n\nexport const stylelint: Config = {\n // Stylelint resolves config for cwd when picking a formatter; without a\n // top-level `rules` an overrides-only config fails with \"No rules found\".\n rules: {},\n overrides: [\n {\n files: ['**/*.scss', '**/*.css'],\n extends: [\n 'stylelint-config-standard',\n 'stylelint-config-standard-scss',\n 'stylelint-config-recess-order'\n ],\n plugins: [...stylelintScss, bemPattern],\n rules: {\n 'selector-class-pattern':\n '^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:\\\\[.+\\\\])?$',\n 'plugin/selector-bem-pattern': {\n preset: 'bem',\n implicitComponents: ['**/*.component.scss', '**/*.component.css'],\n ignoreCustomProperties: ['^--mdc', '^--sys']\n },\n 'no-descending-specificity': null\n }\n }\n ]\n};\n"],
5
+ "mappings": ";AACA,OAAO,mBAAmB;AAC1B,OAAO,gBAAgB;AAEhB,IAAM,YAAoB;AAAA;AAAA;AAAA,EAG/B,OAAO,CAAC;AAAA,EACR,WAAW;AAAA,IACT;AAAA,MACE,OAAO,CAAC,aAAa,UAAU;AAAA,MAC/B,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,SAAS,CAAC,GAAG,eAAe,UAAU;AAAA,MACtC,OAAO;AAAA,QACL,0BACE;AAAA,QACF,+BAA+B;AAAA,UAC7B,QAAQ;AAAA,UACR,oBAAoB,CAAC,uBAAuB,oBAAoB;AAAA,UAChE,wBAAwB,CAAC,UAAU,QAAQ;AAAA,QAC7C;AAAA,QACA,6BAA6B;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }