@trackunit/eslint-plugin-trackunit 0.0.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 (147) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +117 -0
  3. package/package.json +31 -0
  4. package/src/index.d.ts +8 -0
  5. package/src/index.js +20 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/config/fragments/ignores.d.ts +2 -0
  8. package/src/lib/config/fragments/ignores.js +18 -0
  9. package/src/lib/config/fragments/ignores.js.map +1 -0
  10. package/src/lib/config/fragments/import-rules.d.ts +3 -0
  11. package/src/lib/config/fragments/import-rules.js +58 -0
  12. package/src/lib/config/fragments/import-rules.js.map +1 -0
  13. package/src/lib/config/fragments/jest-overrides.d.ts +2 -0
  14. package/src/lib/config/fragments/jest-overrides.js +30 -0
  15. package/src/lib/config/fragments/jest-overrides.js.map +1 -0
  16. package/src/lib/config/fragments/jsdoc-rules.d.ts +3 -0
  17. package/src/lib/config/fragments/jsdoc-rules.js +71 -0
  18. package/src/lib/config/fragments/jsdoc-rules.js.map +1 -0
  19. package/src/lib/config/fragments/module-boundaries.d.ts +2 -0
  20. package/src/lib/config/fragments/module-boundaries.js +92 -0
  21. package/src/lib/config/fragments/module-boundaries.js.map +1 -0
  22. package/src/lib/config/fragments/react-rules.d.ts +5 -0
  23. package/src/lib/config/fragments/react-rules.js +137 -0
  24. package/src/lib/config/fragments/react-rules.js.map +1 -0
  25. package/src/lib/config/fragments/restricted-imports.d.ts +2 -0
  26. package/src/lib/config/fragments/restricted-imports.js +58 -0
  27. package/src/lib/config/fragments/restricted-imports.js.map +1 -0
  28. package/src/lib/config/fragments/testing-library.d.ts +2 -0
  29. package/src/lib/config/fragments/testing-library.js +7 -0
  30. package/src/lib/config/fragments/testing-library.js.map +1 -0
  31. package/src/lib/config/fragments/typescript-rules.d.ts +2 -0
  32. package/src/lib/config/fragments/typescript-rules.js +97 -0
  33. package/src/lib/config/fragments/typescript-rules.js.map +1 -0
  34. package/src/lib/config/index.d.ts +863 -0
  35. package/src/lib/config/index.js +10 -0
  36. package/src/lib/config/index.js.map +1 -0
  37. package/src/lib/config/plugins.d.ts +90 -0
  38. package/src/lib/config/plugins.js +44 -0
  39. package/src/lib/config/plugins.js.map +1 -0
  40. package/src/lib/config/presets/base.d.ts +265 -0
  41. package/src/lib/config/presets/base.js +145 -0
  42. package/src/lib/config/presets/base.js.map +1 -0
  43. package/src/lib/config/presets/e2e.d.ts +10 -0
  44. package/src/lib/config/presets/e2e.js +19 -0
  45. package/src/lib/config/presets/e2e.js.map +1 -0
  46. package/src/lib/config/presets/public-api.d.ts +147 -0
  47. package/src/lib/config/presets/public-api.js +62 -0
  48. package/src/lib/config/presets/public-api.js.map +1 -0
  49. package/src/lib/config/presets/react.d.ts +598 -0
  50. package/src/lib/config/presets/react.js +97 -0
  51. package/src/lib/config/presets/react.js.map +1 -0
  52. package/src/lib/config/presets/server.d.ts +36 -0
  53. package/src/lib/config/presets/server.js +37 -0
  54. package/src/lib/config/presets/server.js.map +1 -0
  55. package/src/lib/config/utils.d.ts +6 -0
  56. package/src/lib/config/utils.js +28 -0
  57. package/src/lib/config/utils.js.map +1 -0
  58. package/src/lib/config-helpers/create-skip-when.d.ts +35 -0
  59. package/src/lib/config-helpers/create-skip-when.js +54 -0
  60. package/src/lib/config-helpers/create-skip-when.js.map +1 -0
  61. package/src/lib/rules/cva-merge-base-classes-as-array/cva-merge-base-classes-as-array.d.ts +16 -0
  62. package/src/lib/rules/cva-merge-base-classes-as-array/cva-merge-base-classes-as-array.js +83 -0
  63. package/src/lib/rules/cva-merge-base-classes-as-array/cva-merge-base-classes-as-array.js.map +1 -0
  64. package/src/lib/rules/design-guideline-button-icon-size-match/design-guideline-button-icon-size-match.d.ts +4 -0
  65. package/src/lib/rules/design-guideline-button-icon-size-match/design-guideline-button-icon-size-match.js +297 -0
  66. package/src/lib/rules/design-guideline-button-icon-size-match/design-guideline-button-icon-size-match.js.map +1 -0
  67. package/src/lib/rules/no-internal-barrel-files/examples.d.ts +80 -0
  68. package/src/lib/rules/no-internal-barrel-files/examples.js +84 -0
  69. package/src/lib/rules/no-internal-barrel-files/examples.js.map +1 -0
  70. package/src/lib/rules/no-internal-barrel-files/no-internal-barrel-files.d.ts +29 -0
  71. package/src/lib/rules/no-internal-barrel-files/no-internal-barrel-files.js +178 -0
  72. package/src/lib/rules/no-internal-barrel-files/no-internal-barrel-files.js.map +1 -0
  73. package/src/lib/rules/no-internal-graphql-when-tagged-with-gql-public/no-internal-graphql-when-tagged-with-gql-public.d.ts +5 -0
  74. package/src/lib/rules/no-internal-graphql-when-tagged-with-gql-public/no-internal-graphql-when-tagged-with-gql-public.js +67 -0
  75. package/src/lib/rules/no-internal-graphql-when-tagged-with-gql-public/no-internal-graphql-when-tagged-with-gql-public.js.map +1 -0
  76. package/src/lib/rules/no-jest-mock-trackunit-react-core-hooks/no-jest-mock-trackunit-react-core-hooks.d.ts +2 -0
  77. package/src/lib/rules/no-jest-mock-trackunit-react-core-hooks/no-jest-mock-trackunit-react-core-hooks.js +34 -0
  78. package/src/lib/rules/no-jest-mock-trackunit-react-core-hooks/no-jest-mock-trackunit-react-core-hooks.js.map +1 -0
  79. package/src/lib/rules/no-template-strings-in-classname-prop/no-template-strings-in-classname-prop.d.ts +16 -0
  80. package/src/lib/rules/no-template-strings-in-classname-prop/no-template-strings-in-classname-prop.js +55 -0
  81. package/src/lib/rules/no-template-strings-in-classname-prop/no-template-strings-in-classname-prop.js.map +1 -0
  82. package/src/lib/rules/no-typescript-assertion/examples.d.ts +1 -0
  83. package/src/lib/rules/no-typescript-assertion/examples.js +45 -0
  84. package/src/lib/rules/no-typescript-assertion/examples.js.map +1 -0
  85. package/src/lib/rules/no-typescript-assertion/no-typescript-assertion.d.ts +20 -0
  86. package/src/lib/rules/no-typescript-assertion/no-typescript-assertion.js +83 -0
  87. package/src/lib/rules/no-typescript-assertion/no-typescript-assertion.js.map +1 -0
  88. package/src/lib/rules/prefer-destructured-imports/prefer-destructured-imports.d.ts +73 -0
  89. package/src/lib/rules/prefer-destructured-imports/prefer-destructured-imports.js +333 -0
  90. package/src/lib/rules/prefer-destructured-imports/prefer-destructured-imports.js.map +1 -0
  91. package/src/lib/rules/prefer-event-specific-callback-naming/name-suggestion-strategies.d.ts +56 -0
  92. package/src/lib/rules/prefer-event-specific-callback-naming/name-suggestion-strategies.js +225 -0
  93. package/src/lib/rules/prefer-event-specific-callback-naming/name-suggestion-strategies.js.map +1 -0
  94. package/src/lib/rules/prefer-event-specific-callback-naming/prefer-event-specific-callback-naming.d.ts +49 -0
  95. package/src/lib/rules/prefer-event-specific-callback-naming/prefer-event-specific-callback-naming.js +75 -0
  96. package/src/lib/rules/prefer-event-specific-callback-naming/prefer-event-specific-callback-naming.js.map +1 -0
  97. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/string-based.d.ts +32 -0
  98. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/string-based.js +143 -0
  99. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/string-based.js.map +1 -0
  100. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/type-based.d.ts +27 -0
  101. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/type-based.js +196 -0
  102. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/type-based.js.map +1 -0
  103. package/src/lib/rules/prefer-event-specific-callback-naming/utils.d.ts +76 -0
  104. package/src/lib/rules/prefer-event-specific-callback-naming/utils.js +245 -0
  105. package/src/lib/rules/prefer-event-specific-callback-naming/utils.js.map +1 -0
  106. package/src/lib/rules/prefer-field-components/prefer-field-components.d.ts +4 -0
  107. package/src/lib/rules/prefer-field-components/prefer-field-components.js +289 -0
  108. package/src/lib/rules/prefer-field-components/prefer-field-components.js.map +1 -0
  109. package/src/lib/rules/prefer-mouse-event-handler-in-react-props/prefer-mouse-event-handler-in-react-props.d.ts +26 -0
  110. package/src/lib/rules/prefer-mouse-event-handler-in-react-props/prefer-mouse-event-handler-in-react-props.js +402 -0
  111. package/src/lib/rules/prefer-mouse-event-handler-in-react-props/prefer-mouse-event-handler-in-react-props.js.map +1 -0
  112. package/src/lib/rules/require-classname-alternatives/require-classname-alternatives.d.ts +13 -0
  113. package/src/lib/rules/require-classname-alternatives/require-classname-alternatives.js +271 -0
  114. package/src/lib/rules/require-classname-alternatives/require-classname-alternatives.js.map +1 -0
  115. package/src/lib/rules/require-list-item-virtualization-props/require-list-item-virtualization-props.d.ts +15 -0
  116. package/src/lib/rules/require-list-item-virtualization-props/require-list-item-virtualization-props.js +245 -0
  117. package/src/lib/rules/require-list-item-virtualization-props/require-list-item-virtualization-props.js.map +1 -0
  118. package/src/lib/rules/require-optional-prop-initialization/require-optional-prop-initialization.d.ts +17 -0
  119. package/src/lib/rules/require-optional-prop-initialization/require-optional-prop-initialization.js +133 -0
  120. package/src/lib/rules/require-optional-prop-initialization/require-optional-prop-initialization.js.map +1 -0
  121. package/src/lib/rules/require-optional-prop-initialization/suggestion-utils.d.ts +12 -0
  122. package/src/lib/rules/require-optional-prop-initialization/suggestion-utils.js +128 -0
  123. package/src/lib/rules/require-optional-prop-initialization/suggestion-utils.js.map +1 -0
  124. package/src/lib/rules-map.d.ts +66 -0
  125. package/src/lib/rules-map.js +34 -0
  126. package/src/lib/rules-map.js.map +1 -0
  127. package/src/lib/utils/ast-utils.d.ts +85 -0
  128. package/src/lib/utils/ast-utils.js +530 -0
  129. package/src/lib/utils/ast-utils.js.map +1 -0
  130. package/src/lib/utils/classname-utils.d.ts +150 -0
  131. package/src/lib/utils/classname-utils.js +492 -0
  132. package/src/lib/utils/classname-utils.js.map +1 -0
  133. package/src/lib/utils/file-utils.d.ts +14 -0
  134. package/src/lib/utils/file-utils.js +106 -0
  135. package/src/lib/utils/file-utils.js.map +1 -0
  136. package/src/lib/utils/import-utils.d.ts +85 -0
  137. package/src/lib/utils/import-utils.js +193 -0
  138. package/src/lib/utils/import-utils.js.map +1 -0
  139. package/src/lib/utils/nx-utils.d.ts +59 -0
  140. package/src/lib/utils/nx-utils.js +103 -0
  141. package/src/lib/utils/nx-utils.js.map +1 -0
  142. package/src/lib/utils/package-utils.d.ts +38 -0
  143. package/src/lib/utils/package-utils.js +74 -0
  144. package/src/lib/utils/package-utils.js.map +1 -0
  145. package/src/lib/utils/typescript-utils.d.ts +29 -0
  146. package/src/lib/utils/typescript-utils.js +213 -0
  147. package/src/lib/utils/typescript-utils.js.map +1 -0
@@ -0,0 +1,147 @@
1
+ import { nx } from "../plugins";
2
+ export declare const publicApi: ({
3
+ plugins: {
4
+ "react-hooks": {
5
+ meta: {
6
+ name: string;
7
+ version: string;
8
+ };
9
+ rules: {
10
+ "exhaustive-deps": {
11
+ meta: {
12
+ type: "suggestion";
13
+ docs: {
14
+ description: string;
15
+ recommended: true;
16
+ url: string;
17
+ };
18
+ fixable: "code";
19
+ hasSuggestions: true;
20
+ schema: {
21
+ type: "object";
22
+ additionalProperties: false;
23
+ enableDangerousAutofixThisMayCauseInfiniteLoops: boolean;
24
+ properties: {
25
+ additionalHooks: {
26
+ type: "string";
27
+ };
28
+ enableDangerousAutofixThisMayCauseInfiniteLoops: {
29
+ type: "boolean";
30
+ };
31
+ experimental_autoDependenciesHooks: {
32
+ type: "array";
33
+ items: {
34
+ type: "string";
35
+ };
36
+ };
37
+ requireExplicitEffectDeps: {
38
+ type: "boolean";
39
+ };
40
+ };
41
+ }[];
42
+ };
43
+ create(context: import("eslint").Rule.RuleContext): {
44
+ CallExpression: (node: estree.CallExpression) => void;
45
+ };
46
+ };
47
+ "rules-of-hooks": {
48
+ meta: {
49
+ type: "problem";
50
+ docs: {
51
+ description: string;
52
+ recommended: true;
53
+ url: string;
54
+ };
55
+ schema: {
56
+ type: "object";
57
+ additionalProperties: false;
58
+ properties: {
59
+ additionalHooks: {
60
+ type: "string";
61
+ };
62
+ };
63
+ }[];
64
+ };
65
+ create(context: import("eslint").Rule.RuleContext): {
66
+ "*"(node: any): void;
67
+ "*:exit"(node: any): void;
68
+ CallExpression(node: estree.CallExpression & import("eslint").Rule.NodeParentExtension): void;
69
+ Identifier(node: estree.Identifier & import("eslint").Rule.NodeParentExtension): void;
70
+ "CallExpression:exit"(node: estree.CallExpression & import("eslint").Rule.NodeParentExtension): void;
71
+ FunctionDeclaration(node: estree.FunctionDeclaration & import("eslint").Rule.NodeParentExtension): void;
72
+ ArrowFunctionExpression(node: estree.ArrowFunctionExpression & import("eslint").Rule.NodeParentExtension): void;
73
+ };
74
+ };
75
+ };
76
+ configs: {
77
+ recommended: {
78
+ plugins: string[];
79
+ rules: import("eslint").Linter.RulesRecord;
80
+ };
81
+ "recommended-latest": {
82
+ plugins: string[];
83
+ rules: import("eslint").Linter.RulesRecord;
84
+ };
85
+ flat: {
86
+ recommended: {
87
+ plugins: {
88
+ react: any;
89
+ };
90
+ rules: import("eslint").Linter.RulesRecord;
91
+ };
92
+ "recommended-latest": {
93
+ plugins: {
94
+ react: any;
95
+ };
96
+ rules: import("eslint").Linter.RulesRecord;
97
+ };
98
+ };
99
+ };
100
+ };
101
+ "@nx": typeof nx;
102
+ };
103
+ languageOptions: {
104
+ parser: import("eslint").Linter.Parser;
105
+ };
106
+ files?: undefined;
107
+ rules?: undefined;
108
+ } | {
109
+ files: string[];
110
+ rules: {
111
+ "@typescript-eslint/explicit-module-boundary-types": string;
112
+ "jsdoc/require-jsdoc"?: undefined;
113
+ "no-console"?: undefined;
114
+ "@typescript-eslint/no-empty-function"?: undefined;
115
+ "@nx/dependency-checks"?: undefined;
116
+ };
117
+ plugins?: undefined;
118
+ languageOptions?: undefined;
119
+ } | {
120
+ files: string[];
121
+ rules: {
122
+ "jsdoc/require-jsdoc": string;
123
+ "no-console": string;
124
+ "@typescript-eslint/no-empty-function": string;
125
+ "@nx/dependency-checks"?: undefined;
126
+ };
127
+ plugins?: undefined;
128
+ languageOptions?: undefined;
129
+ } | {
130
+ files: string[];
131
+ languageOptions: {
132
+ parser: import("eslint").Linter.Parser;
133
+ };
134
+ rules: {
135
+ "@nx/dependency-checks": (string | {
136
+ ignoredDependencies: string[];
137
+ ignoredFiles: string[];
138
+ checkMissingDependencies: boolean;
139
+ checkObsoleteDependencies: boolean;
140
+ checkVersionMismatches: boolean;
141
+ })[];
142
+ "jsdoc/require-jsdoc"?: undefined;
143
+ "no-console"?: undefined;
144
+ "@typescript-eslint/no-empty-function"?: undefined;
145
+ };
146
+ plugins?: undefined;
147
+ })[];
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.publicApi = void 0;
4
+ const jsdoc_rules_1 = require("../fragments/jsdoc-rules");
5
+ const plugins_1 = require("../plugins");
6
+ exports.publicApi = [
7
+ {
8
+ plugins: {
9
+ "react-hooks": plugins_1.reactHooks,
10
+ "@nx": plugins_1.nx,
11
+ },
12
+ languageOptions: {
13
+ parser: plugins_1.tsParser,
14
+ },
15
+ },
16
+ {
17
+ files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"],
18
+ rules: {
19
+ ...jsdoc_rules_1.strictJsdocRules,
20
+ "@typescript-eslint/explicit-module-boundary-types": "warn",
21
+ },
22
+ },
23
+ {
24
+ files: ["**/*.stories.ts", "**/*.stories.tsx"],
25
+ rules: {
26
+ "jsdoc/require-jsdoc": "off",
27
+ "no-console": "off",
28
+ "@typescript-eslint/no-empty-function": "off",
29
+ },
30
+ },
31
+ {
32
+ files: ["**/*.json"],
33
+ languageOptions: {
34
+ parser: plugins_1.jsoncParser,
35
+ },
36
+ rules: {
37
+ "@nx/dependency-checks": [
38
+ "error",
39
+ {
40
+ ignoredDependencies: [
41
+ "@trackunit/react-test-setup",
42
+ "@trackunit/iris-app-build-utilities",
43
+ "@trackunit/react-core-contexts-test",
44
+ "jest",
45
+ "jest-fetch-mock",
46
+ "jest-canvas-mock",
47
+ "@googlemaps/jest-mocks",
48
+ "jest-fail-on-console",
49
+ "@testing-library/react",
50
+ "@testing-library/jest-dom",
51
+ "@storybook/react-webpack5",
52
+ ],
53
+ ignoredFiles: ["**/*.stories.tsx", "**/*.stories.ts", "**/storybook-utils/**", "**/storybookUtils.ts"],
54
+ checkMissingDependencies: true,
55
+ checkObsoleteDependencies: true,
56
+ checkVersionMismatches: true,
57
+ },
58
+ ],
59
+ },
60
+ },
61
+ ];
62
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../../../../libs/eslint/plugin-trackunit/src/lib/config/presets/public-api.ts"],"names":[],"mappings":";;;AAAA,0DAA4D;AAC5D,wCAAmE;AAEtD,QAAA,SAAS,GAAG;IACvB;QACE,OAAO,EAAE;YACP,aAAa,EAAE,oBAAU;YACzB,KAAK,EAAE,YAAE;SACV;QACD,eAAe,EAAE;YACf,MAAM,EAAE,kBAAQ;SACjB;KACF;IACD;QACE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QACrD,KAAK,EAAE;YACL,GAAG,8BAAgB;YACnB,mDAAmD,EAAE,MAAM;SAC5D;KACF;IACD;QACE,KAAK,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;QAC9C,KAAK,EAAE;YACL,qBAAqB,EAAE,KAAK;YAC5B,YAAY,EAAE,KAAK;YACnB,sCAAsC,EAAE,KAAK;SAC9C;KACF;IACD;QACE,KAAK,EAAE,CAAC,WAAW,CAAC;QAEpB,eAAe,EAAE;YACf,MAAM,EAAE,qBAAW;SACpB;QAED,KAAK,EAAE;YACL,uBAAuB,EAAE;gBACvB,OAAO;gBACP;oBACE,mBAAmB,EAAE;wBACnB,6BAA6B;wBAC7B,qCAAqC;wBACrC,qCAAqC;wBACrC,MAAM;wBACN,iBAAiB;wBACjB,kBAAkB;wBAClB,wBAAwB;wBACxB,sBAAsB;wBACtB,wBAAwB;wBACxB,2BAA2B;wBAC3B,2BAA2B;qBAC5B;oBACD,YAAY,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,CAAC;oBACtG,wBAAwB,EAAE,IAAI;oBAC9B,yBAAyB,EAAE,IAAI;oBAC/B,sBAAsB,EAAE,IAAI;iBAC7B;aACF;SACF;KACF;CACF,CAAC","sourcesContent":["import { strictJsdocRules } from \"../fragments/jsdoc-rules\";\nimport { jsoncParser, nx, reactHooks, tsParser } from \"../plugins\";\n\nexport const publicApi = [\n {\n plugins: {\n \"react-hooks\": reactHooks,\n \"@nx\": nx,\n },\n languageOptions: {\n parser: tsParser,\n },\n },\n {\n files: [\"**/*.ts\", \"**/*.tsx\", \"**/*.js\", \"**/*.jsx\"],\n rules: {\n ...strictJsdocRules,\n \"@typescript-eslint/explicit-module-boundary-types\": \"warn\",\n },\n },\n {\n files: [\"**/*.stories.ts\", \"**/*.stories.tsx\"],\n rules: {\n \"jsdoc/require-jsdoc\": \"off\",\n \"no-console\": \"off\",\n \"@typescript-eslint/no-empty-function\": \"off\",\n },\n },\n {\n files: [\"**/*.json\"],\n\n languageOptions: {\n parser: jsoncParser,\n },\n\n rules: {\n \"@nx/dependency-checks\": [\n \"error\",\n {\n ignoredDependencies: [\n \"@trackunit/react-test-setup\",\n \"@trackunit/iris-app-build-utilities\",\n \"@trackunit/react-core-contexts-test\",\n \"jest\",\n \"jest-fetch-mock\",\n \"jest-canvas-mock\",\n \"@googlemaps/jest-mocks\",\n \"jest-fail-on-console\",\n \"@testing-library/react\",\n \"@testing-library/jest-dom\",\n \"@storybook/react-webpack5\",\n ],\n ignoredFiles: [\"**/*.stories.tsx\", \"**/*.stories.ts\", \"**/storybook-utils/**\", \"**/storybookUtils.ts\"],\n checkMissingDependencies: true,\n checkObsoleteDependencies: true,\n checkVersionMismatches: true,\n },\n ],\n },\n },\n];\n"]}