@futdevpro/dynamo-eslint 1.14.6 → 1.14.7

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 (54) hide show
  1. package/build/configs/base.js +12 -1
  2. package/build/configs/base.js.map +1 -1
  3. package/build/plugin/index.d.ts +8 -0
  4. package/build/plugin/index.d.ts.map +1 -1
  5. package/build/plugin/index.js +12 -0
  6. package/build/plugin/index.js.map +1 -1
  7. package/build/plugin/rules/explicit-types.js +2 -2
  8. package/build/plugin/rules/explicit-types.js.map +1 -1
  9. package/build/plugin/rules/prefer-enum-over-string-union.d.ts +4 -0
  10. package/build/plugin/rules/prefer-enum-over-string-union.d.ts.map +1 -0
  11. package/build/plugin/rules/prefer-enum-over-string-union.js +290 -0
  12. package/build/plugin/rules/prefer-enum-over-string-union.js.map +1 -0
  13. package/build/plugin/rules/prefer-enum-over-string-union.spec.d.ts +2 -0
  14. package/build/plugin/rules/prefer-enum-over-string-union.spec.d.ts.map +1 -0
  15. package/build/plugin/rules/prefer-enum-over-string-union.spec.js +505 -0
  16. package/build/plugin/rules/prefer-enum-over-string-union.spec.js.map +1 -0
  17. package/build/plugin/rules/prefer-interface-over-duplicate-types.d.ts +4 -0
  18. package/build/plugin/rules/prefer-interface-over-duplicate-types.d.ts.map +1 -0
  19. package/build/plugin/rules/prefer-interface-over-duplicate-types.js +231 -0
  20. package/build/plugin/rules/prefer-interface-over-duplicate-types.js.map +1 -0
  21. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.d.ts +2 -0
  22. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.d.ts.map +1 -0
  23. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.js +324 -0
  24. package/build/plugin/rules/prefer-interface-over-duplicate-types.spec.js.map +1 -0
  25. package/build/plugin/rules/require-jsdoc-description.d.ts +4 -0
  26. package/build/plugin/rules/require-jsdoc-description.d.ts.map +1 -0
  27. package/build/plugin/rules/require-jsdoc-description.js +379 -0
  28. package/build/plugin/rules/require-jsdoc-description.js.map +1 -0
  29. package/build/plugin/rules/require-jsdoc-description.spec.d.ts +2 -0
  30. package/build/plugin/rules/require-jsdoc-description.spec.d.ts.map +1 -0
  31. package/build/plugin/rules/require-jsdoc-description.spec.js +452 -0
  32. package/build/plugin/rules/require-jsdoc-description.spec.js.map +1 -0
  33. package/build/plugin/rules/require-test-description-prefix.d.ts +4 -0
  34. package/build/plugin/rules/require-test-description-prefix.d.ts.map +1 -0
  35. package/build/plugin/rules/require-test-description-prefix.js +135 -0
  36. package/build/plugin/rules/require-test-description-prefix.js.map +1 -0
  37. package/build/plugin/rules/require-test-description-prefix.spec.d.ts +2 -0
  38. package/build/plugin/rules/require-test-description-prefix.spec.d.ts.map +1 -0
  39. package/build/plugin/rules/require-test-description-prefix.spec.js +371 -0
  40. package/build/plugin/rules/require-test-description-prefix.spec.js.map +1 -0
  41. package/futdevpro-dynamo-eslint-1.14.7.tgz +0 -0
  42. package/package.json +1 -1
  43. package/src/configs/base.ts +12 -1
  44. package/src/plugin/index.ts +12 -0
  45. package/src/plugin/rules/explicit-types.ts +2 -2
  46. package/src/plugin/rules/prefer-enum-over-string-union.spec.ts +583 -0
  47. package/src/plugin/rules/prefer-enum-over-string-union.ts +333 -0
  48. package/src/plugin/rules/prefer-interface-over-duplicate-types.spec.ts +374 -0
  49. package/src/plugin/rules/prefer-interface-over-duplicate-types.ts +276 -0
  50. package/src/plugin/rules/require-jsdoc-description.spec.ts +542 -0
  51. package/src/plugin/rules/require-jsdoc-description.ts +436 -0
  52. package/src/plugin/rules/require-test-description-prefix.spec.ts +459 -0
  53. package/src/plugin/rules/require-test-description-prefix.ts +153 -0
  54. package/futdevpro-dynamo-eslint-1.14.6.tgz +0 -0
@@ -0,0 +1,379 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rule = {
4
+ meta: {
5
+ type: 'suggestion',
6
+ docs: {
7
+ description: 'Require JSDoc comment blocks with description for functions, classes, interfaces, and enums',
8
+ recommended: true,
9
+ },
10
+ schema: [
11
+ {
12
+ type: 'object',
13
+ properties: {
14
+ scope: {
15
+ type: 'string',
16
+ enum: ['public', 'all'],
17
+ default: 'public',
18
+ },
19
+ },
20
+ additionalProperties: false,
21
+ },
22
+ ],
23
+ messages: {
24
+ missingJSDoc: '{{type}} "{{name}}" must have a JSDoc comment with description.',
25
+ emptyJSDoc: '{{type}} "{{name}}" JSDoc comment must contain description text.',
26
+ invalidJSDocPosition: '{{type}} "{{name}}" JSDoc comment must be on the line immediately before.',
27
+ },
28
+ },
29
+ create(context) {
30
+ const options = context.options[0] || {};
31
+ const scope = options.scope || 'public';
32
+ const sourceCode = context.sourceCode;
33
+ /**
34
+ * Check if a node is public/exported (should be documented)
35
+ */
36
+ function isPublic(node) {
37
+ try {
38
+ // Check if node itself is exported
39
+ if (node.parent && node.parent.type === 'ExportNamedDeclaration') {
40
+ return true;
41
+ }
42
+ if (node.parent && node.parent.type === 'ExportDefaultDeclaration') {
43
+ return true;
44
+ }
45
+ // Check for export keyword in declaration
46
+ if (node.type === 'FunctionDeclaration' && node.parent &&
47
+ node.parent.type === 'Program' && node.id) {
48
+ // Top-level function - check if exported
49
+ const program = node.parent;
50
+ if (program.body && Array.isArray(program.body)) {
51
+ for (const statement of program.body) {
52
+ if (statement.type === 'ExportNamedDeclaration' &&
53
+ statement.declaration === node) {
54
+ return true;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ // For class members, check accessibility modifiers
60
+ if (node.type === 'MethodDefinition' || node.type === 'PropertyDefinition') {
61
+ // If has private modifier, it's not public
62
+ if (node.accessibility === 'private') {
63
+ return false;
64
+ }
65
+ // If has protected modifier, it's not public
66
+ if (node.accessibility === 'protected') {
67
+ return false;
68
+ }
69
+ // Default to public if no modifiers
70
+ return true;
71
+ }
72
+ // For top-level declarations, check if they're exported
73
+ if (node.parent && node.parent.type === 'Program') {
74
+ // Check if this declaration is exported
75
+ const program = node.parent;
76
+ if (program.body && Array.isArray(program.body)) {
77
+ for (const statement of program.body) {
78
+ if (statement.type === 'ExportNamedDeclaration' &&
79
+ statement.declaration === node) {
80
+ return true;
81
+ }
82
+ if (statement.type === 'ExportDefaultDeclaration' &&
83
+ statement.declaration === node) {
84
+ return true;
85
+ }
86
+ }
87
+ }
88
+ return false; // Not exported
89
+ }
90
+ // Default to public for other cases
91
+ return true;
92
+ }
93
+ catch (error) {
94
+ console.error('[require-jsdoc-description] Error in isPublic:', error);
95
+ return true; // Default to requiring documentation
96
+ }
97
+ }
98
+ /**
99
+ * Check if JSDoc comment is on the line immediately before the node
100
+ */
101
+ function isJSDocOnPreviousLine(node, jsdocComment) {
102
+ try {
103
+ const nodeStart = node.loc?.start?.line;
104
+ const commentEnd = jsdocComment.loc?.end?.line;
105
+ if (!nodeStart || !commentEnd) {
106
+ return false;
107
+ }
108
+ // JSDoc should be on the line immediately before (no blank lines)
109
+ return commentEnd === nodeStart - 1;
110
+ }
111
+ catch (error) {
112
+ console.error('[require-jsdoc-description] Error in isJSDocOnPreviousLine:', error);
113
+ return false;
114
+ }
115
+ }
116
+ /**
117
+ * Extract description text from JSDoc comment
118
+ */
119
+ function extractDescription(jsdocComment) {
120
+ try {
121
+ if (!jsdocComment.value) {
122
+ return '';
123
+ }
124
+ const lines = jsdocComment.value.split('\n');
125
+ let description = '';
126
+ for (const line of lines) {
127
+ // Remove leading * and whitespace
128
+ const cleanLine = line.replace(/^\s*\*\s?/, '').trim();
129
+ // Skip empty lines
130
+ if (!cleanLine) {
131
+ continue;
132
+ }
133
+ // Stop at @tags
134
+ if (cleanLine.startsWith('@')) {
135
+ break;
136
+ }
137
+ // Add to description
138
+ if (description) {
139
+ description += ' ';
140
+ }
141
+ description += cleanLine;
142
+ }
143
+ return description.trim();
144
+ }
145
+ catch (error) {
146
+ console.error('[require-jsdoc-description] Error in extractDescription:', error);
147
+ return '';
148
+ }
149
+ }
150
+ /**
151
+ * Check if node has valid JSDoc comment
152
+ */
153
+ function hasValidJSDoc(node) {
154
+ try {
155
+ const comments = sourceCode.getCommentsBefore(node);
156
+ // Find JSDoc comment (/** ... */)
157
+ const jsdocComment = comments.find((comment) => comment.type === 'Block' &&
158
+ comment.value.startsWith('*'));
159
+ if (!jsdocComment) {
160
+ return { hasJSDoc: false, isValid: false, isOnPreviousLine: false };
161
+ }
162
+ const isOnPreviousLine = isJSDocOnPreviousLine(node, jsdocComment);
163
+ const description = extractDescription(jsdocComment);
164
+ const isValid = description.length > 0;
165
+ return { hasJSDoc: true, isValid, isOnPreviousLine };
166
+ }
167
+ catch (error) {
168
+ console.error('[require-jsdoc-description] Error in hasValidJSDoc:', error);
169
+ return { hasJSDoc: false, isValid: false, isOnPreviousLine: false };
170
+ }
171
+ }
172
+ /**
173
+ * Get node name for error messages
174
+ */
175
+ function getNodeName(node) {
176
+ try {
177
+ if (node.id && node.id.name) {
178
+ return node.id.name;
179
+ }
180
+ if (node.key && node.key.name) {
181
+ return node.key.name;
182
+ }
183
+ if (node.name && node.name.name) {
184
+ return node.name.name;
185
+ }
186
+ return 'anonymous';
187
+ }
188
+ catch (error) {
189
+ console.error('[require-jsdoc-description] Error in getNodeName:', error);
190
+ return 'unknown';
191
+ }
192
+ }
193
+ /**
194
+ * Get node type for error messages
195
+ */
196
+ function getNodeType(node) {
197
+ try {
198
+ // Check if it's a VariableDeclarator with function expression
199
+ if (node.type === 'VariableDeclarator' && node.init) {
200
+ if (node.init.type === 'FunctionExpression' || node.init.type === 'ArrowFunctionExpression') {
201
+ return 'Function';
202
+ }
203
+ }
204
+ switch (node.type) {
205
+ case 'FunctionDeclaration':
206
+ return 'Function';
207
+ case 'FunctionExpression':
208
+ return 'Function';
209
+ case 'ArrowFunctionExpression':
210
+ return 'Function';
211
+ case 'ClassDeclaration':
212
+ return 'Class';
213
+ case 'TSInterfaceDeclaration':
214
+ return 'Interface';
215
+ case 'TSEnumDeclaration':
216
+ return 'Enum';
217
+ case 'MethodDefinition':
218
+ return 'Method';
219
+ case 'PropertyDefinition':
220
+ return 'Property';
221
+ default:
222
+ return 'Declaration';
223
+ }
224
+ }
225
+ catch (error) {
226
+ console.error('[require-jsdoc-description] Error in getNodeType:', error);
227
+ return 'Declaration';
228
+ }
229
+ }
230
+ /**
231
+ * Check if node should be documented based on scope
232
+ */
233
+ function shouldBeDocumented(node) {
234
+ try {
235
+ if (scope === 'all') {
236
+ return true;
237
+ }
238
+ if (scope === 'public') {
239
+ return isPublic(node);
240
+ }
241
+ return true; // Default to requiring documentation
242
+ }
243
+ catch (error) {
244
+ console.error('[require-jsdoc-description] Error in shouldBeDocumented:', error);
245
+ return true;
246
+ }
247
+ }
248
+ /**
249
+ * Report missing or invalid JSDoc
250
+ */
251
+ function reportJSDocIssue(node, jsdocResult) {
252
+ try {
253
+ const name = getNodeName(node);
254
+ const type = getNodeType(node);
255
+ if (!jsdocResult.hasJSDoc) {
256
+ context.report({
257
+ node,
258
+ messageId: 'missingJSDoc',
259
+ data: { type, name },
260
+ });
261
+ }
262
+ else if (!jsdocResult.isOnPreviousLine) {
263
+ context.report({
264
+ node,
265
+ messageId: 'invalidJSDocPosition',
266
+ data: { type, name },
267
+ });
268
+ }
269
+ else if (!jsdocResult.isValid) {
270
+ context.report({
271
+ node,
272
+ messageId: 'emptyJSDoc',
273
+ data: { type, name },
274
+ });
275
+ }
276
+ }
277
+ catch (error) {
278
+ console.error('[require-jsdoc-description] Error in reportJSDocIssue:', error);
279
+ }
280
+ }
281
+ return {
282
+ // Function declarations
283
+ FunctionDeclaration(node) {
284
+ try {
285
+ if (!shouldBeDocumented(node)) {
286
+ return;
287
+ }
288
+ const jsdocResult = hasValidJSDoc(node);
289
+ if (!jsdocResult.hasJSDoc || !jsdocResult.isValid || !jsdocResult.isOnPreviousLine) {
290
+ reportJSDocIssue(node, jsdocResult);
291
+ }
292
+ }
293
+ catch (error) {
294
+ console.error('[require-jsdoc-description] Error in FunctionDeclaration visitor:', error);
295
+ }
296
+ },
297
+ // Function expressions (when assigned to variables)
298
+ VariableDeclarator(node) {
299
+ try {
300
+ if (node.init &&
301
+ (node.init.type === 'FunctionExpression' || node.init.type === 'ArrowFunctionExpression')) {
302
+ if (!shouldBeDocumented(node)) {
303
+ return;
304
+ }
305
+ const jsdocResult = hasValidJSDoc(node);
306
+ if (!jsdocResult.hasJSDoc || !jsdocResult.isValid || !jsdocResult.isOnPreviousLine) {
307
+ reportJSDocIssue(node, jsdocResult);
308
+ }
309
+ }
310
+ }
311
+ catch (error) {
312
+ console.error('[require-jsdoc-description] Error in VariableDeclarator visitor:', error);
313
+ }
314
+ },
315
+ // Class declarations
316
+ ClassDeclaration(node) {
317
+ try {
318
+ if (!shouldBeDocumented(node)) {
319
+ return;
320
+ }
321
+ const jsdocResult = hasValidJSDoc(node);
322
+ if (!jsdocResult.hasJSDoc || !jsdocResult.isValid || !jsdocResult.isOnPreviousLine) {
323
+ reportJSDocIssue(node, jsdocResult);
324
+ }
325
+ }
326
+ catch (error) {
327
+ console.error('[require-jsdoc-description] Error in ClassDeclaration visitor:', error);
328
+ }
329
+ },
330
+ // Interface declarations
331
+ TSInterfaceDeclaration(node) {
332
+ try {
333
+ if (!shouldBeDocumented(node)) {
334
+ return;
335
+ }
336
+ const jsdocResult = hasValidJSDoc(node);
337
+ if (!jsdocResult.hasJSDoc || !jsdocResult.isValid || !jsdocResult.isOnPreviousLine) {
338
+ reportJSDocIssue(node, jsdocResult);
339
+ }
340
+ }
341
+ catch (error) {
342
+ console.error('[require-jsdoc-description] Error in TSInterfaceDeclaration visitor:', error);
343
+ }
344
+ },
345
+ // Enum declarations
346
+ TSEnumDeclaration(node) {
347
+ try {
348
+ if (!shouldBeDocumented(node)) {
349
+ return;
350
+ }
351
+ const jsdocResult = hasValidJSDoc(node);
352
+ if (!jsdocResult.hasJSDoc || !jsdocResult.isValid || !jsdocResult.isOnPreviousLine) {
353
+ reportJSDocIssue(node, jsdocResult);
354
+ }
355
+ }
356
+ catch (error) {
357
+ console.error('[require-jsdoc-description] Error in TSEnumDeclaration visitor:', error);
358
+ }
359
+ },
360
+ // Class methods
361
+ MethodDefinition(node) {
362
+ try {
363
+ if (!shouldBeDocumented(node)) {
364
+ return;
365
+ }
366
+ const jsdocResult = hasValidJSDoc(node);
367
+ if (!jsdocResult.hasJSDoc || !jsdocResult.isValid || !jsdocResult.isOnPreviousLine) {
368
+ reportJSDocIssue(node, jsdocResult);
369
+ }
370
+ }
371
+ catch (error) {
372
+ console.error('[require-jsdoc-description] Error in MethodDefinition visitor:', error);
373
+ }
374
+ },
375
+ };
376
+ },
377
+ };
378
+ exports.default = rule;
379
+ //# sourceMappingURL=require-jsdoc-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-jsdoc-description.js","sourceRoot":"","sources":["../../../src/plugin/rules/require-jsdoc-description.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=require-jsdoc-description.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-jsdoc-description.spec.d.ts","sourceRoot":"","sources":["../../../src/plugin/rules/require-jsdoc-description.spec.ts"],"names":[],"mappings":""}