@futdevpro/dynamo-eslint 1.15.1 → 1.15.3

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 (73) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -0
  2. package/.cursor/rules/__main.mdc +64 -0
  3. package/.cursor/rules/_ag_backend-structure.mdc +86 -0
  4. package/.cursor/rules/_ag_backend.mdc +16 -0
  5. package/.cursor/rules/_ag_debug.mdc +8 -0
  6. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -0
  7. package/.cursor/rules/_ag_file-refactoring.mdc +113 -0
  8. package/.cursor/rules/_ag_fixes_rules.mdc +6 -0
  9. package/.cursor/rules/_ag_frontend-structure.mdc +87 -0
  10. package/.cursor/rules/_ag_frontend.mdc +40 -0
  11. package/.cursor/rules/_ag_import-rules.mdc +45 -0
  12. package/.cursor/rules/_ag_naming.mdc +116 -0
  13. package/.cursor/rules/_ag_running_commands.mdc +5 -0
  14. package/.cursor/rules/_ag_server-controller.mdc +6 -0
  15. package/.cursor/rules/_ag_should-be.mdc +7 -0
  16. package/.cursor/rules/_ag_swearing.mdc +47 -0
  17. package/.cursor/rules/ai_development_guide.md +61 -0
  18. package/.cursor/rules/ai_directives.md +114 -0
  19. package/.cursor/rules/cursor-rules.md +160 -0
  20. package/.cursor/rules/default-command.mdc +465 -0
  21. package/.cursor/rules/error_code_pattern.md +40 -0
  22. package/.cursor/rules/saved rule mcp server use.md +16 -0
  23. package/futdevpro-dynamo-eslint-1.15.3.tgz +0 -0
  24. package/package.json +2 -2
  25. package/build/plugin/rules/explicit-types.spec.d.ts +0 -2
  26. package/build/plugin/rules/explicit-types.spec.d.ts.map +0 -1
  27. package/build/plugin/rules/explicit-types.spec.js +0 -162
  28. package/build/plugin/rules/explicit-types.spec.js.map +0 -1
  29. package/build/plugin/rules/import/import-order.spec.d.ts +0 -2
  30. package/build/plugin/rules/import/import-order.spec.d.ts.map +0 -1
  31. package/build/plugin/rules/import/import-order.spec.js +0 -197
  32. package/build/plugin/rules/import/import-order.spec.js.map +0 -1
  33. package/build/plugin/rules/import/no-import-type.spec.d.ts +0 -2
  34. package/build/plugin/rules/import/no-import-type.spec.d.ts.map +0 -1
  35. package/build/plugin/rules/import/no-import-type.spec.js +0 -60
  36. package/build/plugin/rules/import/no-import-type.spec.js.map +0 -1
  37. package/build/plugin/rules/import/no-js-import.spec.d.ts +0 -2
  38. package/build/plugin/rules/import/no-js-import.spec.d.ts.map +0 -1
  39. package/build/plugin/rules/import/no-js-import.spec.js +0 -68
  40. package/build/plugin/rules/import/no-js-import.spec.js.map +0 -1
  41. package/build/plugin/rules/naming-patterns.spec.d.ts +0 -2
  42. package/build/plugin/rules/naming-patterns.spec.d.ts.map +0 -1
  43. package/build/plugin/rules/naming-patterns.spec.js +0 -36
  44. package/build/plugin/rules/naming-patterns.spec.js.map +0 -1
  45. package/build/plugin/rules/no-getter-logic.spec.d.ts +0 -2
  46. package/build/plugin/rules/no-getter-logic.spec.d.ts.map +0 -1
  47. package/build/plugin/rules/no-getter-logic.spec.js +0 -461
  48. package/build/plugin/rules/no-getter-logic.spec.js.map +0 -1
  49. package/build/plugin/rules/prefer-enum-over-string-union.spec.d.ts +0 -2
  50. package/build/plugin/rules/prefer-enum-over-string-union.spec.d.ts.map +0 -1
  51. package/build/plugin/rules/prefer-enum-over-string-union.spec.js +0 -505
  52. package/build/plugin/rules/prefer-enum-over-string-union.spec.js.map +0 -1
  53. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.d.ts +0 -2
  54. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.d.ts.map +0 -1
  55. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.js +0 -324
  56. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.js.map +0 -1
  57. package/build/plugin/rules/require-jsdoc-description.spec.d.ts +0 -2
  58. package/build/plugin/rules/require-jsdoc-description.spec.d.ts.map +0 -1
  59. package/build/plugin/rules/require-jsdoc-description.spec.js +0 -546
  60. package/build/plugin/rules/require-jsdoc-description.spec.js.map +0 -1
  61. package/build/plugin/rules/require-test-description-prefix.spec.d.ts +0 -2
  62. package/build/plugin/rules/require-test-description-prefix.spec.d.ts.map +0 -1
  63. package/build/plugin/rules/require-test-description-prefix.spec.js +0 -371
  64. package/build/plugin/rules/require-test-description-prefix.spec.js.map +0 -1
  65. package/build-test/plugin/rules/import-order.d.ts +0 -3
  66. package/build-test/plugin/rules/import-order.js +0 -23
  67. package/build-test/plugin/rules/import-order.spec.d.ts +0 -1
  68. package/build-test/plugin/rules/import-order.spec.js +0 -44
  69. package/build-test/plugin/rules/naming-patterns.d.ts +0 -3
  70. package/build-test/plugin/rules/naming-patterns.js +0 -22
  71. package/build-test/plugin/rules/naming-patterns.spec.d.ts +0 -1
  72. package/build-test/plugin/rules/naming-patterns.spec.js +0 -41
  73. package/futdevpro-dynamo-eslint-1.15.01.tgz +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/dynamo-eslint",
3
- "version": "1.15.01",
3
+ "version": "1.15.3",
4
4
  "description": "Shared ESLint configs, Dynamo-powered plugin and validators for FutDevPro stacks",
5
5
  "author": "Future Development Program Ltd.",
6
6
  "license": "ISC",
@@ -87,7 +87,7 @@
87
87
  "prettier": "3.3.0"
88
88
  },
89
89
  "dependencies": {
90
- "@futdevpro/fsm-dynamo": "1.15.1",
90
+ "@futdevpro/fsm-dynamo": "1.15.4",
91
91
  "fast-glob": "3.3.2",
92
92
  "tslib": "2.8.1"
93
93
  },
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=explicit-types.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"explicit-types.spec.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/explicit-types.spec.ts"],"names":[],"mappings":""}
@@ -1,162 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const explicit_types_1 = tslib_1.__importDefault(require("./explicit-types"));
5
- describe('| explicit-types', () => {
6
- it('| should be a valid ESLint rule', () => {
7
- expect(explicit_types_1.default.meta?.type).toBe('suggestion');
8
- expect(explicit_types_1.default.meta?.docs?.description).toContain('explicit type annotations');
9
- });
10
- it('| should have create function that returns visitor object', () => {
11
- const mockContext = {
12
- report: () => { },
13
- };
14
- const result = explicit_types_1.default.create(mockContext);
15
- expect(typeof result).toBe('object');
16
- expect(typeof result.FunctionDeclaration).toBe('function');
17
- expect(typeof result.ArrowFunctionExpression).toBe('function');
18
- expect(typeof result.VariableDeclarator).toBe('function');
19
- expect(typeof result.PropertyDefinition).toBe('function');
20
- });
21
- it('| should report missing return types on function declarations', () => {
22
- const mockContext = {
23
- report: (options) => {
24
- expect(options.messageId).toBe('missingReturnType');
25
- expect(options.data.name).toBe('testFunction');
26
- },
27
- };
28
- const mockNode = {
29
- type: 'FunctionDeclaration',
30
- id: { name: 'testFunction' },
31
- returnType: null,
32
- params: [],
33
- };
34
- const rule = explicit_types_1.default.create(mockContext);
35
- rule.FunctionDeclaration(mockNode);
36
- });
37
- it('| should not report when function has return type', () => {
38
- const mockContext = {
39
- report: (options) => {
40
- fail('Should not report when function has return type');
41
- },
42
- };
43
- const mockNode = {
44
- type: 'FunctionDeclaration',
45
- id: { name: 'testFunction' },
46
- returnType: { type: 'TSTypeAnnotation' },
47
- params: [],
48
- };
49
- const rule = explicit_types_1.default.create(mockContext);
50
- rule.FunctionDeclaration(mockNode);
51
- });
52
- it('| should report missing return types on arrow functions', () => {
53
- const mockContext = {
54
- report: (options) => {
55
- expect(options.messageId).toBe('missingArrowReturnType');
56
- },
57
- };
58
- const mockNode = {
59
- type: 'ArrowFunctionExpression',
60
- returnType: null,
61
- params: [],
62
- };
63
- const rule = explicit_types_1.default.create(mockContext);
64
- rule.ArrowFunctionExpression(mockNode);
65
- });
66
- it('| should report missing types on variable declarations', () => {
67
- const mockContext = {
68
- report: (options) => {
69
- expect(options.messageId).toBe('missingVariableType');
70
- expect(options.data.name).toBe('testVar');
71
- },
72
- };
73
- const mockNode = {
74
- type: 'VariableDeclarator',
75
- id: { name: 'testVar', typeAnnotation: null },
76
- init: null,
77
- };
78
- const rule = explicit_types_1.default.create(mockContext);
79
- rule.VariableDeclarator(mockNode);
80
- });
81
- it('| should not report when variable has type annotation', () => {
82
- const mockContext = {
83
- report: (options) => {
84
- fail('Should not report when variable has type annotation');
85
- },
86
- };
87
- const mockNode = {
88
- type: 'VariableDeclarator',
89
- id: { name: 'testVar', typeAnnotation: { type: 'TSTypeAnnotation' } },
90
- init: null,
91
- };
92
- const rule = explicit_types_1.default.create(mockContext);
93
- rule.VariableDeclarator(mockNode);
94
- });
95
- it('| should not report when variable has typed initializer', () => {
96
- const mockContext = {
97
- report: (options) => {
98
- fail('Should not report when variable has typed initializer');
99
- },
100
- };
101
- const mockNode = {
102
- type: 'VariableDeclarator',
103
- id: { name: 'testVar', typeAnnotation: null },
104
- init: { type: 'CallExpression' },
105
- };
106
- const rule = explicit_types_1.default.create(mockContext);
107
- rule.VariableDeclarator(mockNode);
108
- });
109
- it('| should report missing parameter types', () => {
110
- const mockContext = {
111
- report: (options) => {
112
- expect(options.messageId).toBe('missingParameterType');
113
- expect(options.data.name).toBe('param');
114
- },
115
- };
116
- const mockNode = {
117
- type: 'FunctionDeclaration',
118
- id: { name: 'testFunction' },
119
- returnType: { type: 'TSTypeAnnotation' },
120
- params: [
121
- { type: 'Identifier', name: 'param', typeAnnotation: null }
122
- ],
123
- };
124
- const rule = explicit_types_1.default.create(mockContext);
125
- rule.FunctionDeclaration(mockNode);
126
- });
127
- it('| should report missing class property types', () => {
128
- const mockContext = {
129
- report: (options) => {
130
- expect(options.messageId).toBe('missingPropertyType');
131
- expect(options.data.name).toBe('property');
132
- },
133
- };
134
- const mockNode = {
135
- type: 'PropertyDefinition',
136
- key: { name: 'property' },
137
- typeAnnotation: null,
138
- value: null,
139
- };
140
- const rule = explicit_types_1.default.create(mockContext);
141
- rule.PropertyDefinition(mockNode);
142
- });
143
- it('| should report missing destructuring types', () => {
144
- const mockContext = {
145
- report: (options) => {
146
- expect(options.messageId).toBe('missingDestructuringType');
147
- },
148
- };
149
- const objectPatternNode = {
150
- type: 'ObjectPattern',
151
- typeAnnotation: null,
152
- };
153
- const arrayPatternNode = {
154
- type: 'ArrayPattern',
155
- typeAnnotation: null,
156
- };
157
- const rule = explicit_types_1.default.create(mockContext);
158
- rule.ObjectPattern(objectPatternNode);
159
- rule.ArrayPattern(arrayPatternNode);
160
- });
161
- });
162
- //# sourceMappingURL=explicit-types.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"explicit-types.spec.js","sourceRoot":"","sources":["../../../src/plugin/rules/explicit-types.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=import-order.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-order.spec.d.ts","sourceRoot":"","sources":["../../../../src/plugin/rules/import/import-order.spec.ts"],"names":[],"mappings":""}
@@ -1,197 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const import_order_1 = tslib_1.__importDefault(require("./import-order"));
5
- describe('| import-order', () => {
6
- it('| should be a valid ESLint rule', () => {
7
- expect(import_order_1.default.meta?.type).toBe('suggestion');
8
- expect(import_order_1.default.meta?.docs?.description).toContain('import ordering');
9
- expect(import_order_1.default.meta?.fixable).toBe('code');
10
- });
11
- it('| should have create function that returns object with Program method', () => {
12
- const mockContext = {
13
- getSourceCode: () => ({
14
- ast: {},
15
- getLines: () => ['line1', 'line2', 'line3'],
16
- }),
17
- getFilename: () => 'test.ts',
18
- report: () => { },
19
- };
20
- const result = import_order_1.default.create(mockContext);
21
- expect(typeof result).toBe('object');
22
- expect(typeof result.Program).toBe('function');
23
- });
24
- it('| should detect forbidden NPM-packages imports', () => {
25
- const mockContext = {
26
- sourceCode: {
27
- ast: {},
28
- getLines: () => ['import { Something } from \'../../../NPM-packages/some-package\';'],
29
- },
30
- filename: 'test.ts',
31
- report: (options) => {
32
- expect(options.messageId).toBe('forbiddenNpmPackages');
33
- },
34
- };
35
- const mockNode = {
36
- type: 'Program',
37
- sourceType: 'module',
38
- body: [
39
- {
40
- type: 'ImportDeclaration',
41
- source: { value: '../../../NPM-packages/some-package' },
42
- importKind: 'value',
43
- loc: { start: { line: 1 }, end: { line: 1 } },
44
- },
45
- ],
46
- };
47
- const rule = import_order_1.default.create(mockContext);
48
- rule.Program(mockNode);
49
- });
50
- it('| should detect forbidden .js extension imports', () => {
51
- const mockContext = {
52
- sourceCode: {
53
- ast: {},
54
- getLines: () => ['import { Something } from \'./some-file.js\';'],
55
- },
56
- filename: 'test.ts',
57
- report: (options) => {
58
- expect(options.messageId).toBe('forbiddenJsExtension');
59
- },
60
- };
61
- const mockNode = {
62
- type: 'Program',
63
- sourceType: 'module',
64
- body: [
65
- {
66
- type: 'ImportDeclaration',
67
- source: { value: './some-file.js' },
68
- importKind: 'value',
69
- loc: { start: { line: 1 }, end: { line: 1 } },
70
- },
71
- ],
72
- };
73
- const rule = import_order_1.default.create(mockContext);
74
- rule.Program(mockNode);
75
- });
76
- it('| should detect forbidden import type usage', () => {
77
- const mockContext = {
78
- sourceCode: {
79
- ast: {},
80
- getLines: () => ['import type { SomeType } from \'./some-file\';'],
81
- },
82
- filename: 'test.ts',
83
- report: (options) => {
84
- expect(options.messageId).toBe('forbiddenImportType');
85
- },
86
- };
87
- const mockNode = {
88
- type: 'Program',
89
- sourceType: 'module',
90
- body: [
91
- {
92
- type: 'ImportDeclaration',
93
- source: { value: './some-file' },
94
- importKind: 'type',
95
- loc: { start: { line: 1 }, end: { line: 1 } },
96
- },
97
- ],
98
- };
99
- const rule = import_order_1.default.create(mockContext);
100
- rule.Program(mockNode);
101
- });
102
- it('| should detect misordered imports', () => {
103
- let reportCount = 0;
104
- const mockContext = {
105
- sourceCode: {
106
- ast: {},
107
- getLines: () => [
108
- 'import { DyFM_Error } from \'@futdevpro/fsm-dynamo\';',
109
- 'import { Component } from \'@angular/core\';',
110
- ],
111
- },
112
- filename: 'test.ts',
113
- report: (options) => {
114
- if (options.messageId === 'misordered') {
115
- reportCount++;
116
- }
117
- },
118
- };
119
- const mockNode = {
120
- type: 'Program',
121
- sourceType: 'module',
122
- body: [
123
- {
124
- type: 'ImportDeclaration',
125
- source: { value: '@futdevpro/fsm-dynamo' },
126
- importKind: 'value',
127
- loc: { start: { line: 1 }, end: { line: 1 } },
128
- },
129
- {
130
- type: 'ImportDeclaration',
131
- source: { value: '@angular/core' },
132
- importKind: 'value',
133
- loc: { start: { line: 2 }, end: { line: 2 } },
134
- },
135
- ],
136
- };
137
- const rule = import_order_1.default.create(mockContext);
138
- rule.Program(mockNode);
139
- expect(reportCount).toBeGreaterThan(0);
140
- });
141
- it('| should detect missing empty line between groups', () => {
142
- let reportCount = 0;
143
- let hasFix = false;
144
- const mockContext = {
145
- sourceCode: {
146
- ast: {},
147
- getLines: () => [
148
- 'import { Component } from \'@angular/core\';',
149
- 'import { DyFM_Error } from \'@futdevpro/fsm-dynamo\';',
150
- ],
151
- getText: (node) => {
152
- if (node.source?.value === '@angular/core') {
153
- return 'import { Component } from \'@angular/core\';';
154
- }
155
- if (node.source?.value === '@futdevpro/fsm-dynamo') {
156
- return 'import { DyFM_Error } from \'@futdevpro/fsm-dynamo\';';
157
- }
158
- return '';
159
- },
160
- },
161
- filename: 'test.ts',
162
- report: (options) => {
163
- if (options.messageId === 'misordered') {
164
- reportCount++;
165
- }
166
- if (options.fix) {
167
- hasFix = true;
168
- }
169
- },
170
- };
171
- const mockNode = {
172
- type: 'Program',
173
- sourceType: 'module',
174
- body: [
175
- {
176
- type: 'ImportDeclaration',
177
- source: { value: '@angular/core' },
178
- importKind: 'value',
179
- loc: { start: { line: 1 }, end: { line: 1 } },
180
- range: [0, 40],
181
- },
182
- {
183
- type: 'ImportDeclaration',
184
- source: { value: '@futdevpro/fsm-dynamo' },
185
- importKind: 'value',
186
- loc: { start: { line: 2 }, end: { line: 2 } },
187
- range: [41, 85],
188
- },
189
- ],
190
- };
191
- const rule = import_order_1.default.create(mockContext);
192
- rule.Program(mockNode);
193
- expect(reportCount).toBeGreaterThan(0);
194
- expect(hasFix).toBe(true);
195
- });
196
- });
197
- //# sourceMappingURL=import-order.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-order.spec.js","sourceRoot":"","sources":["../../../../src/plugin/rules/import/import-order.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=no-import-type.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-import-type.spec.d.ts","sourceRoot":"","sources":["../../../../src/plugin/rules/import/no-import-type.spec.ts"],"names":[],"mappings":""}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const no_import_type_1 = tslib_1.__importDefault(require("./no-import-type"));
5
- describe('| no-import-type', () => {
6
- it('| should be a valid ESLint rule', () => {
7
- expect(no_import_type_1.default.meta?.type).toBe('suggestion');
8
- expect(no_import_type_1.default.meta?.docs?.description).toContain('import type');
9
- expect(no_import_type_1.default.meta?.fixable).toBe('code');
10
- });
11
- it('| should have create function that returns object with ImportDeclaration method', () => {
12
- const mockContext = {
13
- sourceCode: {
14
- getText: (node) => 'import type { SomeType } from \'./some-file\';',
15
- },
16
- report: () => { },
17
- };
18
- const result = no_import_type_1.default.create(mockContext);
19
- expect(typeof result).toBe('object');
20
- expect(typeof result.ImportDeclaration).toBe('function');
21
- });
22
- it('| should detect forbidden import type usage', () => {
23
- const mockContext = {
24
- sourceCode: {
25
- getText: (node) => 'import type { SomeType } from \'./some-file\';',
26
- },
27
- report: (options) => {
28
- expect(options.messageId).toBe('forbiddenImportType');
29
- },
30
- };
31
- const mockNode = {
32
- type: 'ImportDeclaration',
33
- importKind: 'type',
34
- loc: { start: { line: 1 }, end: { line: 1 } },
35
- };
36
- const rule = no_import_type_1.default.create(mockContext);
37
- rule.ImportDeclaration(mockNode);
38
- });
39
- it('| should not report errors for regular imports', () => {
40
- const mockContext = {
41
- sourceCode: {
42
- getText: (node) => 'import { SomeType } from \'./some-file\';',
43
- },
44
- report: (options) => {
45
- // Should not be called for regular imports
46
- fail('Should not report errors for regular imports');
47
- },
48
- };
49
- const mockNode = {
50
- type: 'ImportDeclaration',
51
- importKind: 'value',
52
- loc: { start: { line: 1 }, end: { line: 1 } },
53
- };
54
- const rule = no_import_type_1.default.create(mockContext);
55
- rule.ImportDeclaration(mockNode);
56
- // If we get here without the report function being called, the test passes
57
- expect(true).toBe(true);
58
- });
59
- });
60
- //# sourceMappingURL=no-import-type.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-import-type.spec.js","sourceRoot":"","sources":["../../../../src/plugin/rules/import/no-import-type.spec.ts"],"names":[],"mappings":";;;AAAA,8EAAgD;AAEhD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,wBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,CAAC,wBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC1E,MAAM,CAAC,wBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,gDAAgD;aACzE;YACD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACV,CAAC;QAET,MAAM,MAAM,GAAG,wBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpD,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,gDAAgD;aACzE;YACD,MAAM,EAAE,CAAC,OAAY,EAAE,EAAE;gBACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACxD,CAAC;SACK,CAAC;QAET,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,MAAM;YAClB,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;SACvC,CAAC;QAET,MAAM,IAAI,GAAG,wBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,WAAW,GAAG;YAClB,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,2CAA2C;aACpE;YACD,MAAM,EAAE,CAAC,OAAY,EAAE,EAAE;gBACvB,2CAA2C;gBAC3C,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACvD,CAAC;SACK,CAAC;QAET,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,OAAO;YACnB,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;SACvC,CAAC;QAET,MAAM,IAAI,GAAG,wBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEjC,2EAA2E;QAC3E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=no-js-import.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-js-import.spec.d.ts","sourceRoot":"","sources":["../../../../src/plugin/rules/import/no-js-import.spec.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const no_js_import_1 = tslib_1.__importDefault(require("./no-js-import"));
5
- describe('| no-js-import', () => {
6
- it('| should be a valid ESLint rule', () => {
7
- expect(no_js_import_1.default.meta?.type).toBe('suggestion');
8
- expect(no_js_import_1.default.meta?.docs?.description).toContain('.js');
9
- expect(no_js_import_1.default.meta?.fixable).toBe('code');
10
- });
11
- it('| should have create function that returns object with ImportDeclaration method', () => {
12
- const mockContext = {
13
- report: () => { },
14
- };
15
- const result = no_js_import_1.default.create(mockContext);
16
- expect(typeof result).toBe('object');
17
- expect(typeof result.ImportDeclaration).toBe('function');
18
- });
19
- it('| should detect forbidden .js extension imports', () => {
20
- const mockContext = {
21
- report: (options) => {
22
- expect(options.messageId).toBe('forbiddenJsExtension');
23
- },
24
- };
25
- const mockNode = {
26
- type: 'ImportDeclaration',
27
- source: { value: './some-file.js' },
28
- loc: { start: { line: 1 }, end: { line: 1 } },
29
- };
30
- const rule = no_js_import_1.default.create(mockContext);
31
- rule.ImportDeclaration(mockNode);
32
- });
33
- it('| should not report errors for imports without .js extension', () => {
34
- const mockContext = {
35
- report: (options) => {
36
- // Should not be called for imports without .js extension
37
- fail('Should not report errors for imports without .js extension');
38
- },
39
- };
40
- const mockNode = {
41
- type: 'ImportDeclaration',
42
- source: { value: './some-file' },
43
- loc: { start: { line: 1 }, end: { line: 1 } },
44
- };
45
- const rule = no_js_import_1.default.create(mockContext);
46
- rule.ImportDeclaration(mockNode);
47
- // If we get here without the report function being called, the test passes
48
- expect(true).toBe(true);
49
- });
50
- it('| should not report errors for imports with .ts extension', () => {
51
- const mockContext = {
52
- report: (options) => {
53
- // Should not be called for imports with .ts extension
54
- fail('Should not report errors for imports with .ts extension');
55
- },
56
- };
57
- const mockNode = {
58
- type: 'ImportDeclaration',
59
- source: { value: './some-file.ts' },
60
- loc: { start: { line: 1 }, end: { line: 1 } },
61
- };
62
- const rule = no_js_import_1.default.create(mockContext);
63
- rule.ImportDeclaration(mockNode);
64
- // If we get here without the report function being called, the test passes
65
- expect(true).toBe(true);
66
- });
67
- });
68
- //# sourceMappingURL=no-js-import.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-js-import.spec.js","sourceRoot":"","sources":["../../../../src/plugin/rules/import/no-js-import.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=naming-patterns.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming-patterns.spec.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/naming-patterns.spec.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const naming_patterns_1 = tslib_1.__importDefault(require("./naming-patterns"));
5
- describe('| naming-patterns', () => {
6
- it('| should be a valid ESLint rule', () => {
7
- expect(naming_patterns_1.default.meta?.type).toBe('suggestion');
8
- expect(naming_patterns_1.default.meta?.docs?.description).toContain('naming conventions');
9
- });
10
- it('| should have create function that returns object with Identifier method', () => {
11
- const mockContext = {
12
- report: () => { },
13
- };
14
- const result = naming_patterns_1.default.create(mockContext);
15
- expect(typeof result).toBe('object');
16
- expect(typeof result.Identifier).toBe('function');
17
- });
18
- it('| should handle valid identifiers without errors', () => {
19
- const mockContext = {
20
- report: (options) => {
21
- // Should not be called for valid identifiers
22
- fail('Should not report errors for valid identifiers');
23
- },
24
- };
25
- const mockNode = {
26
- type: 'Identifier',
27
- name: 'validVariableName',
28
- loc: { start: { line: 1 }, end: { line: 1 } },
29
- };
30
- const rule = naming_patterns_1.default.create(mockContext);
31
- rule.Identifier(mockNode);
32
- // If we get here without the report function being called, the test passes
33
- expect(true).toBe(true);
34
- });
35
- });
36
- //# sourceMappingURL=naming-patterns.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming-patterns.spec.js","sourceRoot":"","sources":["../../../src/plugin/rules/naming-patterns.spec.ts"],"names":[],"mappings":";;;AAAA,gFAAmD;AAEnD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,yBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,yBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;SACV,CAAC;QAET,MAAM,MAAM,GAAG,yBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,CAAC,OAAY,EAAE,EAAE;gBACvB,6CAA6C;gBAC7C,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACzD,CAAC;SACK,CAAC;QAET,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,YAAqB;YAC3B,IAAI,EAAE,mBAAmB;YACzB,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;SACvC,CAAC;QAET,MAAM,IAAI,GAAG,yBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1B,2EAA2E;QAC3E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=no-getter-logic.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-getter-logic.spec.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/no-getter-logic.spec.ts"],"names":[],"mappings":""}