@codacy/tools-reek-6 0.2.5 → 0.2.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.
- package/dist/index.js +48 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -48,6 +48,7 @@ var patterns_default = [
|
|
|
48
48
|
severityLevel: "Warning",
|
|
49
49
|
title: "Avoid Public Writable Attributes",
|
|
50
50
|
enabled: true,
|
|
51
|
+
languages: ["Ruby"],
|
|
51
52
|
parameters: [
|
|
52
53
|
{
|
|
53
54
|
name: "exclude",
|
|
@@ -62,6 +63,7 @@ var patterns_default = [
|
|
|
62
63
|
severityLevel: "Warning",
|
|
63
64
|
title: "Avoid Boolean Parameter",
|
|
64
65
|
enabled: true,
|
|
66
|
+
languages: ["Ruby"],
|
|
65
67
|
parameters: [
|
|
66
68
|
{
|
|
67
69
|
name: "exclude",
|
|
@@ -76,6 +78,7 @@ var patterns_default = [
|
|
|
76
78
|
severityLevel: "Warning",
|
|
77
79
|
title: "Avoid Class Variables",
|
|
78
80
|
enabled: true,
|
|
81
|
+
languages: ["Ruby"],
|
|
79
82
|
parameters: [
|
|
80
83
|
{
|
|
81
84
|
name: "exclude",
|
|
@@ -90,6 +93,7 @@ var patterns_default = [
|
|
|
90
93
|
severityLevel: "Warning",
|
|
91
94
|
title: "Avoid Control Parameter",
|
|
92
95
|
enabled: true,
|
|
96
|
+
languages: ["Ruby"],
|
|
93
97
|
parameters: [
|
|
94
98
|
{
|
|
95
99
|
name: "exclude",
|
|
@@ -104,6 +108,7 @@ var patterns_default = [
|
|
|
104
108
|
severityLevel: "Warning",
|
|
105
109
|
title: "Detect Data Clumps in Method Parameters",
|
|
106
110
|
enabled: true,
|
|
111
|
+
languages: ["Ruby"],
|
|
107
112
|
parameters: [
|
|
108
113
|
{
|
|
109
114
|
name: "exclude",
|
|
@@ -128,6 +133,7 @@ var patterns_default = [
|
|
|
128
133
|
severityLevel: "Warning",
|
|
129
134
|
title: "Avoid Duplicate Method Calls Within a Method",
|
|
130
135
|
enabled: false,
|
|
136
|
+
languages: ["Ruby"],
|
|
131
137
|
parameters: [
|
|
132
138
|
{
|
|
133
139
|
name: "allow_calls",
|
|
@@ -152,6 +158,7 @@ var patterns_default = [
|
|
|
152
158
|
severityLevel: "Warning",
|
|
153
159
|
title: "Detect Feature Envy",
|
|
154
160
|
enabled: true,
|
|
161
|
+
languages: ["Ruby"],
|
|
155
162
|
parameters: [
|
|
156
163
|
{
|
|
157
164
|
name: "exclude",
|
|
@@ -166,6 +173,7 @@ var patterns_default = [
|
|
|
166
173
|
severityLevel: "Warning",
|
|
167
174
|
title: "Avoid Instance Variable Assumption",
|
|
168
175
|
enabled: true,
|
|
176
|
+
languages: ["Ruby"],
|
|
169
177
|
parameters: [
|
|
170
178
|
{
|
|
171
179
|
name: "exclude",
|
|
@@ -180,6 +188,7 @@ var patterns_default = [
|
|
|
180
188
|
severityLevel: "Info",
|
|
181
189
|
title: "Enforce Descriptive Comments on Modules and Classes",
|
|
182
190
|
enabled: true,
|
|
191
|
+
languages: ["Ruby"],
|
|
183
192
|
parameters: [
|
|
184
193
|
{
|
|
185
194
|
name: "exclude",
|
|
@@ -194,6 +203,7 @@ var patterns_default = [
|
|
|
194
203
|
severityLevel: "Warning",
|
|
195
204
|
title: "Avoid Long Yield List",
|
|
196
205
|
enabled: true,
|
|
206
|
+
languages: ["Ruby"],
|
|
197
207
|
parameters: [
|
|
198
208
|
{
|
|
199
209
|
name: "exclude",
|
|
@@ -213,6 +223,7 @@ var patterns_default = [
|
|
|
213
223
|
severityLevel: "Warning",
|
|
214
224
|
title: "Avoid Manual Dispatch",
|
|
215
225
|
enabled: true,
|
|
226
|
+
languages: ["Ruby"],
|
|
216
227
|
parameters: [
|
|
217
228
|
{
|
|
218
229
|
name: "exclude",
|
|
@@ -227,6 +238,7 @@ var patterns_default = [
|
|
|
227
238
|
severityLevel: "Warning",
|
|
228
239
|
title: "Detect Missing Safe Method",
|
|
229
240
|
enabled: true,
|
|
241
|
+
languages: ["Ruby"],
|
|
230
242
|
parameters: [
|
|
231
243
|
{
|
|
232
244
|
name: "exclude",
|
|
@@ -241,6 +253,7 @@ var patterns_default = [
|
|
|
241
253
|
severityLevel: "Warning",
|
|
242
254
|
title: "Avoid defining initialize method in modules",
|
|
243
255
|
enabled: true,
|
|
256
|
+
languages: ["Ruby"],
|
|
244
257
|
parameters: [
|
|
245
258
|
{
|
|
246
259
|
name: "exclude",
|
|
@@ -255,6 +268,7 @@ var patterns_default = [
|
|
|
255
268
|
severityLevel: "Warning",
|
|
256
269
|
title: "Avoid Nested Iterators",
|
|
257
270
|
enabled: true,
|
|
271
|
+
languages: ["Ruby"],
|
|
258
272
|
parameters: [
|
|
259
273
|
{
|
|
260
274
|
name: "exclude",
|
|
@@ -279,6 +293,7 @@ var patterns_default = [
|
|
|
279
293
|
severityLevel: "Warning",
|
|
280
294
|
title: "Avoid Nil Checks",
|
|
281
295
|
enabled: true,
|
|
296
|
+
languages: ["Ruby"],
|
|
282
297
|
parameters: [
|
|
283
298
|
{
|
|
284
299
|
name: "exclude",
|
|
@@ -293,6 +308,7 @@ var patterns_default = [
|
|
|
293
308
|
severityLevel: "Warning",
|
|
294
309
|
title: "Avoid Repeated Conditional",
|
|
295
310
|
enabled: true,
|
|
311
|
+
languages: ["Ruby"],
|
|
296
312
|
parameters: [
|
|
297
313
|
{
|
|
298
314
|
name: "exclude",
|
|
@@ -312,6 +328,7 @@ var patterns_default = [
|
|
|
312
328
|
severityLevel: "Warning",
|
|
313
329
|
title: "Avoid Subclassing Core Classes",
|
|
314
330
|
enabled: true,
|
|
331
|
+
languages: ["Ruby"],
|
|
315
332
|
parameters: [
|
|
316
333
|
{
|
|
317
334
|
name: "exclude",
|
|
@@ -326,6 +343,7 @@ var patterns_default = [
|
|
|
326
343
|
severityLevel: "Warning",
|
|
327
344
|
title: "Avoid Too Many Constants in a Class",
|
|
328
345
|
enabled: true,
|
|
346
|
+
languages: ["Ruby"],
|
|
329
347
|
parameters: [
|
|
330
348
|
{
|
|
331
349
|
name: "exclude",
|
|
@@ -345,6 +363,7 @@ var patterns_default = [
|
|
|
345
363
|
severityLevel: "Warning",
|
|
346
364
|
title: "Avoid Too Many Instance Variables",
|
|
347
365
|
enabled: true,
|
|
366
|
+
languages: ["Ruby"],
|
|
348
367
|
parameters: [
|
|
349
368
|
{
|
|
350
369
|
name: "exclude",
|
|
@@ -364,6 +383,7 @@ var patterns_default = [
|
|
|
364
383
|
severityLevel: "Warning",
|
|
365
384
|
title: "Detect Too Many Methods in Class",
|
|
366
385
|
enabled: true,
|
|
386
|
+
languages: ["Ruby"],
|
|
367
387
|
parameters: [
|
|
368
388
|
{
|
|
369
389
|
name: "exclude",
|
|
@@ -383,6 +403,7 @@ var patterns_default = [
|
|
|
383
403
|
severityLevel: "Warning",
|
|
384
404
|
title: "Avoid Methods with Too Many Statements",
|
|
385
405
|
enabled: true,
|
|
406
|
+
languages: ["Ruby"],
|
|
386
407
|
parameters: [
|
|
387
408
|
{
|
|
388
409
|
name: "exclude",
|
|
@@ -402,6 +423,7 @@ var patterns_default = [
|
|
|
402
423
|
severityLevel: "Warning",
|
|
403
424
|
title: "Avoid Uncommunicative Method Names",
|
|
404
425
|
enabled: false,
|
|
426
|
+
languages: ["Ruby"],
|
|
405
427
|
parameters: [
|
|
406
428
|
{
|
|
407
429
|
name: "accept",
|
|
@@ -421,6 +443,7 @@ var patterns_default = [
|
|
|
421
443
|
severityLevel: "Info",
|
|
422
444
|
title: "Avoid Uncommunicative Module Names",
|
|
423
445
|
enabled: false,
|
|
446
|
+
languages: ["Ruby"],
|
|
424
447
|
parameters: [
|
|
425
448
|
{
|
|
426
449
|
name: "accept",
|
|
@@ -440,6 +463,7 @@ var patterns_default = [
|
|
|
440
463
|
severityLevel: "Info",
|
|
441
464
|
title: "Avoid Uncommunicative Parameter Names",
|
|
442
465
|
enabled: false,
|
|
466
|
+
languages: ["Ruby"],
|
|
443
467
|
parameters: [
|
|
444
468
|
{
|
|
445
469
|
name: "accept",
|
|
@@ -459,6 +483,7 @@ var patterns_default = [
|
|
|
459
483
|
severityLevel: "Info",
|
|
460
484
|
title: "Avoid Uncommunicative Variable Names",
|
|
461
485
|
enabled: false,
|
|
486
|
+
languages: ["Ruby"],
|
|
462
487
|
parameters: [
|
|
463
488
|
{
|
|
464
489
|
name: "accept",
|
|
@@ -478,6 +503,7 @@ var patterns_default = [
|
|
|
478
503
|
severityLevel: "Warning",
|
|
479
504
|
title: "Avoid Unused Parameters in Methods",
|
|
480
505
|
enabled: true,
|
|
506
|
+
languages: ["Ruby"],
|
|
481
507
|
parameters: [
|
|
482
508
|
{
|
|
483
509
|
name: "exclude",
|
|
@@ -492,6 +518,7 @@ var patterns_default = [
|
|
|
492
518
|
severityLevel: "Warning",
|
|
493
519
|
title: "Avoid Unused Private Methods",
|
|
494
520
|
enabled: true,
|
|
521
|
+
languages: ["Ruby"],
|
|
495
522
|
parameters: [
|
|
496
523
|
{
|
|
497
524
|
name: "exclude",
|
|
@@ -506,6 +533,7 @@ var patterns_default = [
|
|
|
506
533
|
severityLevel: "Warning",
|
|
507
534
|
title: "Detect Utility Functions",
|
|
508
535
|
enabled: true,
|
|
536
|
+
languages: ["Ruby"],
|
|
509
537
|
parameters: [
|
|
510
538
|
{
|
|
511
539
|
name: "exclude",
|
|
@@ -539,6 +567,7 @@ var ADAPTER_ID = "reek-6";
|
|
|
539
567
|
var REEK_VERSION = "6.5.0";
|
|
540
568
|
var RUBY_VERSION_RANGE = ">=2.7.0";
|
|
541
569
|
var CONFIG_FILE_CANDIDATES = [".reek.yml", "config.reek"];
|
|
570
|
+
var REEK_DEFAULT_OFF_DETECTORS = /* @__PURE__ */ new Set(["UnusedPrivateMethod"]);
|
|
542
571
|
var PATTERN_META = new Map(
|
|
543
572
|
patterns_default.map((p) => [
|
|
544
573
|
p.id,
|
|
@@ -573,6 +602,20 @@ async function resolveToolInvocation(ctx) {
|
|
|
573
602
|
}
|
|
574
603
|
return { binary: "reek", prefixArgs: [], rubyPath: rubyInfo?.path };
|
|
575
604
|
}
|
|
605
|
+
async function maybeMaterializeReekConfig(ctx, codacyConfig) {
|
|
606
|
+
const enabled = codacyConfig.patterns.map((p) => p.patternId).filter((id) => REEK_DEFAULT_OFF_DETECTORS.has(id));
|
|
607
|
+
if (enabled.length === 0) return void 0;
|
|
608
|
+
await import_promises.default.mkdir(ctx.generatedConfigDir, { recursive: true });
|
|
609
|
+
const configPath = import_path.default.join(ctx.generatedConfigDir, "reek.codacy.yml");
|
|
610
|
+
const lines = ["detectors:", ...enabled.flatMap((id) => [` ${id}:`, " enabled: true"])];
|
|
611
|
+
await import_promises.default.writeFile(configPath, lines.join("\n") + "\n", "utf8");
|
|
612
|
+
ctx.logger.debug("Wrote generated reek config to re-enable default-off detectors", {
|
|
613
|
+
toolId: TOOL_ID,
|
|
614
|
+
path: configPath,
|
|
615
|
+
detectors: enabled
|
|
616
|
+
});
|
|
617
|
+
return configPath;
|
|
618
|
+
}
|
|
576
619
|
var adapter = {
|
|
577
620
|
...descriptor,
|
|
578
621
|
compatibleVersions: ">=6.0.0",
|
|
@@ -754,6 +797,11 @@ var adapter = {
|
|
|
754
797
|
toolId: TOOL_ID
|
|
755
798
|
});
|
|
756
799
|
return (0, import_tooling.buildResult)(TOOL_ID, startedAt, /* @__PURE__ */ new Date(), issues, errors, ctx.targetFiles.length);
|
|
800
|
+
} else {
|
|
801
|
+
const generatedConfigPath = await maybeMaterializeReekConfig(ctx, codacyConfig);
|
|
802
|
+
if (generatedConfigPath) {
|
|
803
|
+
args.push("--config", generatedConfigPath);
|
|
804
|
+
}
|
|
757
805
|
}
|
|
758
806
|
args.push(...absoluteFiles);
|
|
759
807
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codacy/tools-reek-6",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Reek adapter — CLI-mode Ruby code smell detector",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"dist"
|
|
9
9
|
],
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@codacy/tooling": "0.
|
|
11
|
+
"@codacy/tooling": "0.6.1"
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"author": "Codacy <support@codacy.com> (https://www.codacy.com)",
|