@shakibkhatri/idiolect-core 0.0.1 → 0.1.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 (47) hide show
  1. package/dist/analyzer-go.js +3 -5
  2. package/dist/analyzer-go.js.map +1 -1
  3. package/dist/analyzer-py.js +3 -5
  4. package/dist/analyzer-py.js.map +1 -1
  5. package/dist/analyzer.d.ts +3 -1
  6. package/dist/analyzer.js +10 -5
  7. package/dist/analyzer.js.map +1 -1
  8. package/dist/baseline.js +3 -2
  9. package/dist/baseline.js.map +1 -1
  10. package/dist/check.d.ts +5 -0
  11. package/dist/check.js +6 -5
  12. package/dist/check.js.map +1 -1
  13. package/dist/collector.d.ts +1 -0
  14. package/dist/collector.js +18 -7
  15. package/dist/collector.js.map +1 -1
  16. package/dist/config.d.ts +21 -0
  17. package/dist/config.js +13 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/index.d.ts +5 -3
  20. package/dist/index.js +5 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/llm.js +46 -29
  23. package/dist/llm.js.map +1 -1
  24. package/dist/metrics.js +1 -0
  25. package/dist/metrics.js.map +1 -1
  26. package/dist/profile.d.ts +10 -0
  27. package/dist/profile.js +16 -2
  28. package/dist/profile.js.map +1 -1
  29. package/dist/render.d.ts +1 -0
  30. package/dist/render.js +55 -9
  31. package/dist/render.js.map +1 -1
  32. package/dist/served.d.ts +8 -0
  33. package/dist/served.js +39 -0
  34. package/dist/served.js.map +1 -0
  35. package/dist/styles.d.ts +39 -0
  36. package/dist/styles.js +76 -0
  37. package/dist/styles.js.map +1 -0
  38. package/dist/unbot.js +2 -2
  39. package/dist/unbot.js.map +1 -1
  40. package/dist/writer.d.ts +4 -3
  41. package/dist/writer.js +14 -5
  42. package/dist/writer.js.map +1 -1
  43. package/package.json +2 -1
  44. package/styles/go-caddy.json +1368 -0
  45. package/styles/kotlin-tivi.json +1505 -0
  46. package/styles/python-httpx.json +1052 -0
  47. package/styles/typescript-vue.json +1473 -0
@@ -0,0 +1,1473 @@
1
+ {
2
+ "version": 1,
3
+ "id": "typescript-vue",
4
+ "title": "Vue core",
5
+ "language": "typescript",
6
+ "source": {
7
+ "project": "github.com/vuejs/core",
8
+ "license": "MIT",
9
+ "commit": "24d77c25ce5d5356adb5367beef1d23e6e340b35",
10
+ "snapshot": "2023-12-31T17:29:58+08:00",
11
+ "lines": 69080
12
+ },
13
+ "stats": {
14
+ "files": 428,
15
+ "loc": 69080,
16
+ "functions": {
17
+ "count": 2053,
18
+ "blockBody": 1939,
19
+ "expressionBody": 114,
20
+ "lengthLines": {
21
+ "1": 41,
22
+ "3": 437,
23
+ "4": 110,
24
+ "5": 128,
25
+ "6": 111,
26
+ "7": 98,
27
+ "8": 45,
28
+ "9": 83,
29
+ "10": 62,
30
+ "11": 63,
31
+ "12": 54,
32
+ "13": 53,
33
+ "14": 29,
34
+ "15": 34,
35
+ "16": 27,
36
+ "17": 32,
37
+ "18": 28,
38
+ "19": 25,
39
+ "20": 16,
40
+ "21": 16,
41
+ "22": 21,
42
+ "23": 22,
43
+ "24": 21,
44
+ "25": 9,
45
+ "26": 11,
46
+ "27": 10,
47
+ "28": 15,
48
+ "29": 12,
49
+ "30": 20,
50
+ "31": 13,
51
+ "32": 6,
52
+ "33": 7,
53
+ "34": 12,
54
+ "35": 8,
55
+ "36": 11,
56
+ "37": 11,
57
+ "38": 13,
58
+ "39": 3,
59
+ "40": 10,
60
+ "41": 3,
61
+ "42": 6,
62
+ "43": 5,
63
+ "44": 3,
64
+ "45": 3,
65
+ "46": 7,
66
+ "47": 2,
67
+ "48": 4,
68
+ "49": 5,
69
+ "50": 6,
70
+ "51": 2,
71
+ "52": 7,
72
+ "53": 9,
73
+ "54": 3,
74
+ "55": 7,
75
+ "56": 5,
76
+ "57": 3,
77
+ "58": 3,
78
+ "59": 3,
79
+ "60": 3,
80
+ "61": 1,
81
+ "62": 4,
82
+ "63": 3,
83
+ "64": 2,
84
+ "65": 2,
85
+ "66": 3,
86
+ "67": 2,
87
+ "68": 2,
88
+ "69": 1,
89
+ "70": 2,
90
+ "71": 4,
91
+ "72": 2,
92
+ "73": 1,
93
+ "74": 2,
94
+ "75": 2,
95
+ "76": 1,
96
+ "77": 1,
97
+ "78": 1,
98
+ "82": 1,
99
+ "84": 2,
100
+ "85": 2,
101
+ "86": 1,
102
+ "87": 1,
103
+ "89": 2,
104
+ "90": 1,
105
+ "91": 1,
106
+ "95": 2,
107
+ "96": 2,
108
+ "97": 1,
109
+ "98": 2,
110
+ "99": 3,
111
+ "101": 2,
112
+ "102": 3,
113
+ "103": 2,
114
+ "108": 1,
115
+ "109": 1,
116
+ "112": 3,
117
+ "113": 1,
118
+ "114": 1,
119
+ "116": 1,
120
+ "118": 1,
121
+ "123": 1,
122
+ "124": 1,
123
+ "127": 1,
124
+ "128": 1,
125
+ "132": 1,
126
+ "133": 1,
127
+ "134": 2,
128
+ "136": 1,
129
+ "138": 1,
130
+ "139": 1,
131
+ "145": 1,
132
+ "149": 1,
133
+ "150": 1,
134
+ "151": 1,
135
+ "153": 3,
136
+ "159": 2,
137
+ "162": 1,
138
+ "168": 1,
139
+ "173": 1,
140
+ "177": 1,
141
+ "188": 1,
142
+ "191": 1,
143
+ "193": 1,
144
+ "194": 2,
145
+ "195": 1,
146
+ "196": 1,
147
+ "205": 1,
148
+ "211": 1,
149
+ "216": 1,
150
+ "236": 1,
151
+ "239": 1,
152
+ "251": 1,
153
+ "252": 1,
154
+ "259": 1,
155
+ "264": 2,
156
+ "268": 1,
157
+ "275": 1,
158
+ "304": 1,
159
+ "310": 1,
160
+ "455": 1,
161
+ "636": 1,
162
+ "869": 1,
163
+ "1134": 1,
164
+ "2071": 1
165
+ },
166
+ "params": {
167
+ "0": 722,
168
+ "1": 584,
169
+ "2": 421,
170
+ "3": 181,
171
+ "4": 79,
172
+ "5": 26,
173
+ "6": 11,
174
+ "7": 8,
175
+ "8": 4,
176
+ "9": 12,
177
+ "10": 2,
178
+ "11": 3
179
+ },
180
+ "maxNesting": {
181
+ "0": 878,
182
+ "1": 539,
183
+ "2": 222,
184
+ "3": 126,
185
+ "4": 74,
186
+ "5": 42,
187
+ "6": 31,
188
+ "7": 16,
189
+ "8": 6,
190
+ "9": 3,
191
+ "11": 1,
192
+ "15": 1
193
+ },
194
+ "earlyReturn": 307
195
+ },
196
+ "naming": {
197
+ "casing": {
198
+ "function": {
199
+ "camel": 1168,
200
+ "pascal": 9,
201
+ "snake": 0,
202
+ "screaming": 2,
203
+ "backtick": 0,
204
+ "other": 1
205
+ },
206
+ "class": {
207
+ "camel": 0,
208
+ "pascal": 358,
209
+ "snake": 0,
210
+ "screaming": 1,
211
+ "backtick": 0,
212
+ "other": 0
213
+ },
214
+ "property": {
215
+ "camel": 232,
216
+ "pascal": 12,
217
+ "snake": 0,
218
+ "screaming": 64,
219
+ "backtick": 0,
220
+ "other": 3
221
+ },
222
+ "local": {
223
+ "camel": 4622,
224
+ "pascal": 509,
225
+ "snake": 1,
226
+ "screaming": 0,
227
+ "backtick": 0,
228
+ "other": 1
229
+ },
230
+ "parameter": {
231
+ "camel": 2895,
232
+ "pascal": 8,
233
+ "snake": 0,
234
+ "screaming": 0,
235
+ "backtick": 0,
236
+ "other": 38
237
+ },
238
+ "constant": {
239
+ "camel": 81,
240
+ "pascal": 18,
241
+ "snake": 0,
242
+ "screaming": 15,
243
+ "backtick": 0,
244
+ "other": 0
245
+ }
246
+ },
247
+ "nameLength": {
248
+ "function": {
249
+ "1": 2,
250
+ "2": 2,
251
+ "3": 48,
252
+ "4": 42,
253
+ "5": 52,
254
+ "6": 37,
255
+ "7": 60,
256
+ "8": 55,
257
+ "9": 48,
258
+ "10": 73,
259
+ "11": 65,
260
+ "12": 64,
261
+ "13": 76,
262
+ "14": 72,
263
+ "15": 71,
264
+ "16": 59,
265
+ "17": 57,
266
+ "18": 65,
267
+ "19": 46,
268
+ "20": 32,
269
+ "21": 37,
270
+ "22": 27,
271
+ "23": 20,
272
+ "24": 16,
273
+ "25": 14,
274
+ "26": 15,
275
+ "27": 10,
276
+ "28": 4,
277
+ "29": 2,
278
+ "30": 3,
279
+ "31": 2,
280
+ "32": 2,
281
+ "34": 2
282
+ },
283
+ "class": {
284
+ "2": 1,
285
+ "3": 3,
286
+ "4": 3,
287
+ "5": 7,
288
+ "6": 8,
289
+ "7": 6,
290
+ "8": 21,
291
+ "9": 18,
292
+ "10": 18,
293
+ "11": 15,
294
+ "12": 19,
295
+ "13": 27,
296
+ "14": 28,
297
+ "15": 40,
298
+ "16": 21,
299
+ "17": 15,
300
+ "18": 18,
301
+ "19": 14,
302
+ "20": 16,
303
+ "21": 16,
304
+ "22": 17,
305
+ "23": 7,
306
+ "24": 5,
307
+ "25": 4,
308
+ "26": 2,
309
+ "27": 3,
310
+ "28": 2,
311
+ "29": 1,
312
+ "30": 2,
313
+ "31": 1,
314
+ "34": 1
315
+ },
316
+ "property": {
317
+ "1": 2,
318
+ "2": 2,
319
+ "3": 8,
320
+ "4": 13,
321
+ "5": 10,
322
+ "6": 20,
323
+ "7": 12,
324
+ "8": 17,
325
+ "9": 25,
326
+ "10": 11,
327
+ "11": 20,
328
+ "12": 18,
329
+ "13": 19,
330
+ "14": 26,
331
+ "15": 24,
332
+ "16": 18,
333
+ "17": 7,
334
+ "18": 13,
335
+ "19": 8,
336
+ "20": 10,
337
+ "21": 8,
338
+ "22": 6,
339
+ "23": 4,
340
+ "24": 4,
341
+ "25": 3,
342
+ "26": 1,
343
+ "27": 1,
344
+ "42": 1
345
+ },
346
+ "local": {
347
+ "1": 336,
348
+ "2": 273,
349
+ "3": 870,
350
+ "4": 767,
351
+ "5": 681,
352
+ "6": 445,
353
+ "7": 362,
354
+ "8": 334,
355
+ "9": 244,
356
+ "10": 191,
357
+ "11": 141,
358
+ "12": 104,
359
+ "13": 102,
360
+ "14": 79,
361
+ "15": 65,
362
+ "16": 31,
363
+ "17": 30,
364
+ "18": 26,
365
+ "19": 21,
366
+ "20": 10,
367
+ "21": 7,
368
+ "22": 2,
369
+ "23": 5,
370
+ "24": 4,
371
+ "25": 1,
372
+ "26": 1,
373
+ "31": 1
374
+ },
375
+ "parameter": {
376
+ "1": 201,
377
+ "2": 190,
378
+ "3": 430,
379
+ "4": 541,
380
+ "5": 436,
381
+ "6": 249,
382
+ "7": 247,
383
+ "8": 246,
384
+ "9": 131,
385
+ "10": 37,
386
+ "11": 35,
387
+ "12": 64,
388
+ "13": 15,
389
+ "14": 55,
390
+ "15": 55,
391
+ "16": 2,
392
+ "17": 5,
393
+ "18": 1,
394
+ "25": 1
395
+ },
396
+ "constant": {
397
+ "3": 2,
398
+ "5": 2,
399
+ "6": 1,
400
+ "7": 7,
401
+ "8": 3,
402
+ "9": 5,
403
+ "10": 12,
404
+ "11": 4,
405
+ "12": 11,
406
+ "13": 10,
407
+ "14": 11,
408
+ "15": 7,
409
+ "16": 7,
410
+ "17": 4,
411
+ "18": 2,
412
+ "19": 7,
413
+ "20": 1,
414
+ "21": 2,
415
+ "22": 5,
416
+ "23": 3,
417
+ "24": 1,
418
+ "25": 2,
419
+ "26": 1,
420
+ "27": 1,
421
+ "28": 1,
422
+ "29": 1,
423
+ "33": 1
424
+ }
425
+ },
426
+ "functionVerb": {
427
+ "create": 78,
428
+ "get": 74,
429
+ "convert": 10,
430
+ "walk": 13,
431
+ "enter": 4,
432
+ "leave": 2,
433
+ "is": 77,
434
+ "extract": 4,
435
+ "mark": 2,
436
+ "helper": 5,
437
+ "push": 11,
438
+ "indent": 1,
439
+ "deindent": 1,
440
+ "newline": 2,
441
+ "add": 7,
442
+ "generate": 2,
443
+ "gen": 39,
444
+ "check": 8,
445
+ "warn": 6,
446
+ "transform": 19,
447
+ "rewrite": 5,
448
+ "parse": 12,
449
+ "wrap": 1,
450
+ "base": 3,
451
+ "default": 2,
452
+ "ontext": 1,
453
+ "ontextentity": 1,
454
+ "oninterpolation": 1,
455
+ "onopentagname": 1,
456
+ "onopentagend": 1,
457
+ "onclosetag": 1,
458
+ "onselfclosingtag": 1,
459
+ "onattribname": 1,
460
+ "ondirname": 1,
461
+ "ondirarg": 1,
462
+ "ondirmodifier": 1,
463
+ "onattribdata": 1,
464
+ "onattribentity": 1,
465
+ "onattribnameend": 1,
466
+ "onattribend": 1,
467
+ "oncomment": 1,
468
+ "onend": 1,
469
+ "oncdata": 1,
470
+ "onprocessinginstruction": 1,
471
+ "end": 3,
472
+ "on": 27,
473
+ "back": 1,
474
+ "condense": 2,
475
+ "has": 16,
476
+ "set": 32,
477
+ "dir": 1,
478
+ "emit": 6,
479
+ "reset": 5,
480
+ "to": 19,
481
+ "in": 1,
482
+ "peek": 1,
483
+ "state": 34,
484
+ "fast": 1,
485
+ "start": 4,
486
+ "handle": 7,
487
+ "cleanup": 1,
488
+ "finish": 3,
489
+ "replace": 2,
490
+ "remove": 14,
491
+ "hoist": 3,
492
+ "cache": 3,
493
+ "traverse": 3,
494
+ "node": 1,
495
+ "noop": 1,
496
+ "resolve": 41,
497
+ "build": 6,
498
+ "dedupe": 1,
499
+ "merge": 12,
500
+ "stringify": 7,
501
+ "process": 25,
502
+ "can": 1,
503
+ "inject": 9,
504
+ "finalize": 1,
505
+ "track": 2,
506
+ "advance": 2,
507
+ "find": 6,
508
+ "validate": 4,
509
+ "decode": 1,
510
+ "compile": 9,
511
+ "ignore": 1,
512
+ "bail": 1,
513
+ "evaluate": 1,
514
+ "register": 10,
515
+ "exit": 1,
516
+ "do": 4,
517
+ "record": 6,
518
+ "preprocess": 1,
519
+ "map": 3,
520
+ "patch": 16,
521
+ "should": 5,
522
+ "hmr": 1,
523
+ "dedent": 1,
524
+ "analyze": 2,
525
+ "error": 1,
526
+ "infer": 4,
527
+ "pop": 3,
528
+ "inner": 2,
529
+ "type": 1,
530
+ "qualified": 1,
531
+ "file": 2,
532
+ "read": 1,
533
+ "import": 1,
534
+ "try": 2,
535
+ "load": 2,
536
+ "invalidate": 2,
537
+ "ctx": 1,
538
+ "module": 1,
539
+ "attach": 1,
540
+ "flatten": 1,
541
+ "reverse": 1,
542
+ "ctor": 1,
543
+ "concat": 1,
544
+ "identity": 1,
545
+ "normalize": 19,
546
+ "lex": 1,
547
+ "css": 1,
548
+ "declaration": 1,
549
+ "scoped": 1,
550
+ "rule": 1,
551
+ "at": 1,
552
+ "once": 3,
553
+ "trim": 1,
554
+ "scss": 1,
555
+ "sass": 1,
556
+ "less": 1,
557
+ "styl": 1,
558
+ "ssr": 33,
559
+ "filter": 2,
560
+ "sub": 2,
561
+ "clone": 4,
562
+ "setup": 14,
563
+ "render": 11,
564
+ "data": 1,
565
+ "a": 1,
566
+ "created": 8,
567
+ "bar": 1,
568
+ "func": 2,
569
+ "foo": 2,
570
+ "test": 2,
571
+ "source3": 1,
572
+ "size": 2,
573
+ "delete": 2,
574
+ "clear": 3,
575
+ "next": 5,
576
+ "[": 1,
577
+ "computed": 1,
578
+ "run": 1,
579
+ "effect": 1,
580
+ "stop": 2,
581
+ "pause": 1,
582
+ "enable": 1,
583
+ "reactive": 2,
584
+ "shallow": 3,
585
+ "readonly": 1,
586
+ "ref": 1,
587
+ "value": 4,
588
+ "trigger": 2,
589
+ "proxy": 1,
590
+ "retry": 1,
591
+ "user": 2,
592
+ "config": 2,
593
+ "mixin": 1,
594
+ "component": 2,
595
+ "directive": 1,
596
+ "unmount": 6,
597
+ "provide": 2,
598
+ "define": 6,
599
+ "use": 7,
600
+ "with": 5,
601
+ "watch": 3,
602
+ "job": 1,
603
+ "instance": 1,
604
+ "toggle": 2,
605
+ "configure": 1,
606
+ "assert": 3,
607
+ "soft": 1,
608
+ "slots": 2,
609
+ "listeners": 1,
610
+ "injections": 1,
611
+ "compat": 3,
612
+ "deep": 2,
613
+ "extend": 3,
614
+ "install": 7,
615
+ "apply": 5,
616
+ "empty": 2,
617
+ "del": 1,
618
+ "wrapped": 2,
619
+ "off": 1,
620
+ "legacy": 8,
621
+ "legacyresolve": 1,
622
+ "expose": 3,
623
+ "attrs": 2,
624
+ "classify": 1,
625
+ "format": 9,
626
+ "call": 6,
627
+ "init": 8,
628
+ "update": 8,
629
+ "style": 1,
630
+ "prune": 2,
631
+ "matches": 1,
632
+ "mount": 7,
633
+ "fallback": 1,
634
+ "move": 4,
635
+ "hydrate": 7,
636
+ "queue": 4,
637
+ "header": 1,
638
+ "body": 1,
639
+ "devtools": 3,
640
+ "invoke": 3,
641
+ "log": 2,
642
+ "h": 1,
643
+ "unregister": 1,
644
+ "rerender": 1,
645
+ "reload": 1,
646
+ "prop": 1,
647
+ "perform": 3,
648
+ "flush": 1,
649
+ "comparator": 1,
650
+ "open": 1,
651
+ "close": 1,
652
+ "connected": 1,
653
+ "disconnected": 1,
654
+ "make": 1,
655
+ "when": 1,
656
+ "force": 1,
657
+ "mounted": 3,
658
+ "before": 5,
659
+ "updated": 2,
660
+ "ensure": 2,
661
+ "invoker": 1,
662
+ "auto": 1,
663
+ "dump": 1,
664
+ "insert": 1,
665
+ "parent": 1,
666
+ "serialize": 4,
667
+ "fake": 1,
668
+ "buffered": 1,
669
+ "unroll": 2,
670
+ "pipe": 2,
671
+ "destroy": 3,
672
+ "cancel": 1,
673
+ "download": 1,
674
+ "copy": 2,
675
+ "escape": 2,
676
+ "n": 2,
677
+ "def": 1,
678
+ "loose": 3,
679
+ "replacer": 1,
680
+ "re": 1
681
+ },
682
+ "booleanPrefix": {
683
+ "is": 45,
684
+ "check": 1,
685
+ "in": 8,
686
+ "found": 1,
687
+ "has": 47,
688
+ "removed": 1,
689
+ "prev": 1,
690
+ "fast": 1,
691
+ "should": 5,
692
+ "bailed": 1,
693
+ "walk": 2,
694
+ "hmr": 1,
695
+ "process": 6,
696
+ "skip": 2,
697
+ "need": 2,
698
+ "run": 1,
699
+ "v": 3,
700
+ "cacheable": 1,
701
+ "active": 1,
702
+ "allow": 1,
703
+ "force": 1,
704
+ "warning": 1,
705
+ "set": 1,
706
+ "accessed": 1,
707
+ "transition": 1,
708
+ "called": 2,
709
+ "matches": 1,
710
+ "create": 1,
711
+ "prop": 1,
712
+ "supported": 1,
713
+ "moved": 1,
714
+ "connected": 1,
715
+ "resolved": 1,
716
+ "enabled": 1,
717
+ "ssr": 2,
718
+ "compat": 1,
719
+ "cancelled": 1,
720
+ "loose": 1
721
+ },
722
+ "abbreviated": 1586,
723
+ "identifiers": 10038,
724
+ "testNames": {
725
+ "camel": 832,
726
+ "sentence": 1404,
727
+ "camelSentence": 31,
728
+ "should": 413
729
+ },
730
+ "genericNames": 9
731
+ },
732
+ "tests": {
733
+ "files": 183,
734
+ "loc": 33938,
735
+ "functions": 2681
736
+ },
737
+ "comments": {
738
+ "line": 4217,
739
+ "block": 87,
740
+ "doc": 381,
741
+ "chars": 198895,
742
+ "lowercaseStart": 3228,
743
+ "trailingPeriod": 591,
744
+ "todo": {
745
+ "TODO:": 4,
746
+ "TODO": 9,
747
+ "TODO(x)": 2
748
+ },
749
+ "tells": {
750
+ "buzzword": 5
751
+ },
752
+ "publicDecls": 989,
753
+ "publicDocumented": 109,
754
+ "privateDecls": 715,
755
+ "privateDocumented": 36
756
+ },
757
+ "errors": {
758
+ "tryCatch": 29,
759
+ "runCatching": 0,
760
+ "resultType": 0,
761
+ "forceUnwrap": 724
762
+ },
763
+ "kotlin": {
764
+ "when3": 0,
765
+ "ifElseChain3": 0,
766
+ "sealedInterface": 0,
767
+ "sealedClass": 0,
768
+ "extensionFunctions": 0,
769
+ "dataClasses": 0,
770
+ "composables": 0,
771
+ "modifierParamFirst": 0,
772
+ "modifierParamLater": 0,
773
+ "remember": 0
774
+ },
775
+ "typescript": {
776
+ "arrowFunctions": 324,
777
+ "functionDeclarations": 829,
778
+ "typeAliases": 179,
779
+ "interfaces": 169,
780
+ "optionalChains": 59,
781
+ "anyTypes": 853
782
+ },
783
+ "python": {
784
+ "typeHinted": 0,
785
+ "fStrings": 0,
786
+ "formatCalls": 0,
787
+ "comprehensions": 0,
788
+ "bareExcepts": 0,
789
+ "dataclasses": 0
790
+ },
791
+ "go": {
792
+ "errChecks": 0,
793
+ "namedReturns": 0,
794
+ "structs": 0,
795
+ "interfaces": 0,
796
+ "panics": 0
797
+ }
798
+ },
799
+ "commitStats": {
800
+ "count": 3171,
801
+ "subjectLength": {
802
+ "9": 2,
803
+ "10": 5,
804
+ "11": 4,
805
+ "12": 10,
806
+ "13": 11,
807
+ "14": 11,
808
+ "15": 67,
809
+ "16": 85,
810
+ "17": 14,
811
+ "18": 15,
812
+ "19": 34,
813
+ "20": 49,
814
+ "21": 41,
815
+ "22": 79,
816
+ "23": 76,
817
+ "24": 42,
818
+ "25": 46,
819
+ "26": 40,
820
+ "27": 38,
821
+ "28": 43,
822
+ "29": 51,
823
+ "30": 52,
824
+ "31": 60,
825
+ "32": 71,
826
+ "33": 54,
827
+ "34": 48,
828
+ "35": 53,
829
+ "36": 56,
830
+ "37": 61,
831
+ "38": 44,
832
+ "39": 41,
833
+ "40": 65,
834
+ "41": 66,
835
+ "42": 61,
836
+ "43": 61,
837
+ "44": 57,
838
+ "45": 54,
839
+ "46": 57,
840
+ "47": 56,
841
+ "48": 42,
842
+ "49": 55,
843
+ "50": 46,
844
+ "51": 59,
845
+ "52": 68,
846
+ "53": 44,
847
+ "54": 52,
848
+ "55": 49,
849
+ "56": 54,
850
+ "57": 44,
851
+ "58": 46,
852
+ "59": 43,
853
+ "60": 46,
854
+ "61": 45,
855
+ "62": 30,
856
+ "63": 38,
857
+ "64": 39,
858
+ "65": 51,
859
+ "66": 33,
860
+ "67": 37,
861
+ "68": 42,
862
+ "69": 28,
863
+ "70": 32,
864
+ "71": 21,
865
+ "72": 24,
866
+ "73": 29,
867
+ "74": 20,
868
+ "75": 30,
869
+ "76": 24,
870
+ "77": 19,
871
+ "78": 15,
872
+ "79": 19,
873
+ "80": 19,
874
+ "81": 19,
875
+ "82": 13,
876
+ "83": 14,
877
+ "84": 10,
878
+ "85": 5,
879
+ "86": 13,
880
+ "87": 12,
881
+ "88": 6,
882
+ "89": 10,
883
+ "90": 8,
884
+ "91": 5,
885
+ "92": 5,
886
+ "93": 4,
887
+ "94": 2,
888
+ "95": 4,
889
+ "96": 2,
890
+ "97": 3,
891
+ "98": 3,
892
+ "100": 1,
893
+ "101": 4,
894
+ "103": 1,
895
+ "106": 1,
896
+ "107": 1,
897
+ "108": 1,
898
+ "114": 1
899
+ },
900
+ "lowercaseStart": 3128,
901
+ "conventionalPrefix": 2434,
902
+ "trailingPeriod": 0,
903
+ "withBody": 623,
904
+ "bodyLines": 1076,
905
+ "bodyLinesWrapped": 1063,
906
+ "tense": {
907
+ "imperative": 3076,
908
+ "thirdPerson": 80,
909
+ "past": 15
910
+ }
911
+ },
912
+ "rules": [
913
+ {
914
+ "id": "typescript.functions.length-p50.value",
915
+ "scope": "personal",
916
+ "language": "typescript",
917
+ "category": "structure",
918
+ "kind": "voice",
919
+ "text": "Keep functions short. Typical length is 8 lines, 90% are under 45 lines.",
920
+ "evidence": {
921
+ "metric": {
922
+ "name": "functions.length-p50",
923
+ "value": 8,
924
+ "sampleSize": 1939
925
+ },
926
+ "examples": []
927
+ },
928
+ "confidence": 0.8,
929
+ "status": "auto"
930
+ },
931
+ {
932
+ "id": "typescript.functions.params-p90.value",
933
+ "scope": "personal",
934
+ "language": "typescript",
935
+ "category": "structure",
936
+ "kind": "voice",
937
+ "text": "Functions take at most 3 parameters in 90% of cases.",
938
+ "evidence": {
939
+ "metric": {
940
+ "name": "functions.params-p90",
941
+ "value": 3,
942
+ "sampleSize": 2053
943
+ },
944
+ "examples": []
945
+ },
946
+ "confidence": 0.8,
947
+ "status": "auto"
948
+ },
949
+ {
950
+ "id": "typescript.functions.nesting-p90.value",
951
+ "scope": "personal",
952
+ "language": "typescript",
953
+ "category": "structure",
954
+ "kind": "voice",
955
+ "text": "Keep nesting shallow. 90% of functions nest at most 3 levels deep.",
956
+ "evidence": {
957
+ "metric": {
958
+ "name": "functions.nesting-p90",
959
+ "value": 3,
960
+ "sampleSize": 1939
961
+ },
962
+ "examples": []
963
+ },
964
+ "confidence": 0.8,
965
+ "status": "auto"
966
+ },
967
+ {
968
+ "id": "typescript.naming.constant-screaming-ratio.low",
969
+ "scope": "personal",
970
+ "language": "typescript",
971
+ "category": "naming",
972
+ "kind": "voice",
973
+ "text": "Constants are PascalCase or camelCase, not SCREAMING_SNAKE_CASE.",
974
+ "evidence": {
975
+ "metric": {
976
+ "name": "naming.constant-screaming-ratio",
977
+ "value": 0.132,
978
+ "sampleSize": 114
979
+ },
980
+ "examples": []
981
+ },
982
+ "confidence": 0.79,
983
+ "status": "auto"
984
+ },
985
+ {
986
+ "id": "typescript.naming.abbreviation-ratio.low",
987
+ "scope": "personal",
988
+ "language": "typescript",
989
+ "category": "naming",
990
+ "kind": "voice",
991
+ "text": "Spell names out. Avoid abbreviations.",
992
+ "evidence": {
993
+ "metric": {
994
+ "name": "naming.abbreviation-ratio",
995
+ "value": 0.158,
996
+ "sampleSize": 10038
997
+ },
998
+ "examples": []
999
+ },
1000
+ "confidence": 0.83,
1001
+ "status": "auto"
1002
+ },
1003
+ {
1004
+ "id": "typescript.comments.per-100-loc.value",
1005
+ "scope": "personal",
1006
+ "language": "typescript",
1007
+ "category": "comments",
1008
+ "kind": "voice",
1009
+ "text": "Comment sparingly. About 6.8 comments per 100 lines of code.",
1010
+ "evidence": {
1011
+ "metric": {
1012
+ "name": "comments.per-100-loc",
1013
+ "value": 6.782,
1014
+ "sampleSize": 69080
1015
+ },
1016
+ "examples": []
1017
+ },
1018
+ "confidence": 0.8,
1019
+ "status": "auto"
1020
+ },
1021
+ {
1022
+ "id": "typescript.comments.doc-ratio.low",
1023
+ "scope": "personal",
1024
+ "language": "typescript",
1025
+ "category": "comments",
1026
+ "kind": "voice",
1027
+ "text": "Use short inline comments. Doc comments are rare.",
1028
+ "evidence": {
1029
+ "metric": {
1030
+ "name": "comments.doc-ratio",
1031
+ "value": 0.081,
1032
+ "sampleSize": 4685
1033
+ },
1034
+ "examples": []
1035
+ },
1036
+ "confidence": 0.91,
1037
+ "status": "auto"
1038
+ },
1039
+ {
1040
+ "id": "typescript.comments.trailing-period-ratio.low",
1041
+ "scope": "personal",
1042
+ "language": "typescript",
1043
+ "category": "comments",
1044
+ "kind": "voice",
1045
+ "text": "No trailing period on comments.",
1046
+ "evidence": {
1047
+ "metric": {
1048
+ "name": "comments.trailing-period-ratio",
1049
+ "value": 0.126,
1050
+ "sampleSize": 4685
1051
+ },
1052
+ "examples": []
1053
+ },
1054
+ "confidence": 0.86,
1055
+ "status": "auto"
1056
+ },
1057
+ {
1058
+ "id": "typescript.comments.avg-chars.value",
1059
+ "scope": "personal",
1060
+ "language": "typescript",
1061
+ "category": "comments",
1062
+ "kind": "voice",
1063
+ "text": "Comments average 42 characters.",
1064
+ "evidence": {
1065
+ "metric": {
1066
+ "name": "comments.avg-chars",
1067
+ "value": 42,
1068
+ "sampleSize": 4685
1069
+ },
1070
+ "examples": []
1071
+ },
1072
+ "confidence": 0.8,
1073
+ "status": "auto"
1074
+ },
1075
+ {
1076
+ "id": "typescript.comments.public-doc-ratio.low",
1077
+ "scope": "personal",
1078
+ "language": "typescript",
1079
+ "category": "comments",
1080
+ "kind": "voice",
1081
+ "text": "Do not add doc comments to public declarations by default. The name should carry the meaning.",
1082
+ "evidence": {
1083
+ "metric": {
1084
+ "name": "comments.public-doc-ratio",
1085
+ "value": 0.11,
1086
+ "sampleSize": 989
1087
+ },
1088
+ "examples": []
1089
+ },
1090
+ "confidence": 0.87,
1091
+ "status": "auto"
1092
+ },
1093
+ {
1094
+ "id": "typescript.functions.expression-body-ratio.low",
1095
+ "scope": "personal",
1096
+ "language": "typescript",
1097
+ "category": "structure",
1098
+ "kind": "idiom",
1099
+ "text": "Use block bodies, even for short functions.",
1100
+ "evidence": {
1101
+ "metric": {
1102
+ "name": "functions.expression-body-ratio",
1103
+ "value": 0.056,
1104
+ "sampleSize": 2053
1105
+ },
1106
+ "examples": []
1107
+ },
1108
+ "confidence": 0.93,
1109
+ "status": "auto"
1110
+ },
1111
+ {
1112
+ "id": "avoid.typescript.comments.buzzwords",
1113
+ "scope": "personal",
1114
+ "language": "typescript",
1115
+ "category": "avoid",
1116
+ "kind": "voice",
1117
+ "text": "Do not use words like robust, seamless, leverage, comprehensive, utilize, streamline, crucial or delve in comments.",
1118
+ "evidence": {
1119
+ "metric": {
1120
+ "name": "comments.buzzword-ratio",
1121
+ "value": 0.001,
1122
+ "sampleSize": 4685
1123
+ },
1124
+ "examples": []
1125
+ },
1126
+ "confidence": 1,
1127
+ "status": "auto"
1128
+ },
1129
+ {
1130
+ "id": "avoid.typescript.comments.restating",
1131
+ "scope": "personal",
1132
+ "language": "typescript",
1133
+ "category": "avoid",
1134
+ "kind": "voice",
1135
+ "text": "Do not start comments with \"This function\", \"This method\" or \"This class\". Say what is not obvious from the code, or write nothing.",
1136
+ "evidence": {
1137
+ "metric": {
1138
+ "name": "comments.restates-ratio",
1139
+ "value": 0,
1140
+ "sampleSize": 4685
1141
+ },
1142
+ "examples": []
1143
+ },
1144
+ "confidence": 1,
1145
+ "status": "auto"
1146
+ },
1147
+ {
1148
+ "id": "avoid.typescript.comments.emoji",
1149
+ "scope": "personal",
1150
+ "language": "typescript",
1151
+ "category": "avoid",
1152
+ "kind": "voice",
1153
+ "text": "No emoji in comments.",
1154
+ "evidence": {
1155
+ "metric": {
1156
+ "name": "comments.emoji-ratio",
1157
+ "value": 0,
1158
+ "sampleSize": 4685
1159
+ },
1160
+ "examples": []
1161
+ },
1162
+ "confidence": 1,
1163
+ "status": "auto"
1164
+ },
1165
+ {
1166
+ "id": "avoid.typescript.naming.generic",
1167
+ "scope": "personal",
1168
+ "language": "typescript",
1169
+ "category": "avoid",
1170
+ "kind": "voice",
1171
+ "text": "No generic names like handleData, processItem, result2 or helper. Name the thing after what it is.",
1172
+ "evidence": {
1173
+ "metric": {
1174
+ "name": "naming.generic-ratio",
1175
+ "value": 0.008,
1176
+ "sampleSize": 1177
1177
+ },
1178
+ "examples": []
1179
+ },
1180
+ "confidence": 0.99,
1181
+ "status": "auto"
1182
+ },
1183
+ {
1184
+ "id": "avoid.typescript.errors.try-everything",
1185
+ "scope": "personal",
1186
+ "language": "typescript",
1187
+ "category": "avoid",
1188
+ "kind": "voice",
1189
+ "text": "Do not wrap code in try/catch defensively. Let errors propagate unless there is a specific recovery.",
1190
+ "evidence": {
1191
+ "metric": {
1192
+ "name": "errors.try-per-kloc",
1193
+ "value": 0.42,
1194
+ "sampleSize": 69080
1195
+ },
1196
+ "examples": []
1197
+ },
1198
+ "confidence": 1,
1199
+ "status": "auto"
1200
+ },
1201
+ {
1202
+ "id": "avoid.typescript.comments.todo",
1203
+ "scope": "personal",
1204
+ "language": "typescript",
1205
+ "category": "avoid",
1206
+ "kind": "voice",
1207
+ "text": "Do not leave TODO comments.",
1208
+ "evidence": {
1209
+ "metric": {
1210
+ "name": "comments.todo-ratio",
1211
+ "value": 0.003,
1212
+ "sampleSize": 4685
1213
+ },
1214
+ "examples": []
1215
+ },
1216
+ "confidence": 0.99,
1217
+ "status": "auto"
1218
+ },
1219
+ {
1220
+ "id": "any.commits.lowercase-ratio.high",
1221
+ "scope": "personal",
1222
+ "language": "any",
1223
+ "category": "commits",
1224
+ "kind": "voice",
1225
+ "text": "Commit subjects start lowercase.",
1226
+ "evidence": {
1227
+ "metric": {
1228
+ "name": "commits.lowercase-ratio",
1229
+ "value": 0.986,
1230
+ "sampleSize": 3171
1231
+ },
1232
+ "examples": []
1233
+ },
1234
+ "confidence": 0.98,
1235
+ "status": "auto"
1236
+ },
1237
+ {
1238
+ "id": "any.commits.imperative-ratio.high",
1239
+ "scope": "personal",
1240
+ "language": "any",
1241
+ "category": "commits",
1242
+ "kind": "voice",
1243
+ "text": "Write commit subjects in the imperative: Add, Fix, Remove.",
1244
+ "evidence": {
1245
+ "metric": {
1246
+ "name": "commits.imperative-ratio",
1247
+ "value": 0.97,
1248
+ "sampleSize": 3171
1249
+ },
1250
+ "examples": []
1251
+ },
1252
+ "confidence": 0.96,
1253
+ "status": "auto"
1254
+ },
1255
+ {
1256
+ "id": "any.commits.trailing-period-ratio.low",
1257
+ "scope": "personal",
1258
+ "language": "any",
1259
+ "category": "commits",
1260
+ "kind": "voice",
1261
+ "text": "No period at the end of a commit subject.",
1262
+ "evidence": {
1263
+ "metric": {
1264
+ "name": "commits.trailing-period-ratio",
1265
+ "value": 0,
1266
+ "sampleSize": 3171
1267
+ },
1268
+ "examples": []
1269
+ },
1270
+ "confidence": 1,
1271
+ "status": "auto"
1272
+ },
1273
+ {
1274
+ "id": "any.commits.body-ratio.low",
1275
+ "scope": "personal",
1276
+ "language": "any",
1277
+ "category": "commits",
1278
+ "kind": "voice",
1279
+ "text": "Subject line only. Commit bodies are rare.",
1280
+ "evidence": {
1281
+ "metric": {
1282
+ "name": "commits.body-ratio",
1283
+ "value": 0.196,
1284
+ "sampleSize": 3171
1285
+ },
1286
+ "examples": []
1287
+ },
1288
+ "confidence": 0.79,
1289
+ "status": "auto"
1290
+ },
1291
+ {
1292
+ "id": "any.commits.body-wrap-ratio.high",
1293
+ "scope": "personal",
1294
+ "language": "any",
1295
+ "category": "commits",
1296
+ "kind": "voice",
1297
+ "text": "Hard-wrap commit body lines at 72 characters.",
1298
+ "evidence": {
1299
+ "metric": {
1300
+ "name": "commits.body-wrap-ratio",
1301
+ "value": 0.988,
1302
+ "sampleSize": 1076
1303
+ },
1304
+ "examples": []
1305
+ },
1306
+ "confidence": 0.98,
1307
+ "status": "auto"
1308
+ },
1309
+ {
1310
+ "id": "any.commits.subject-p50.value",
1311
+ "scope": "personal",
1312
+ "language": "any",
1313
+ "category": "commits",
1314
+ "kind": "voice",
1315
+ "text": "Commit subjects are about 44 characters.",
1316
+ "evidence": {
1317
+ "metric": {
1318
+ "name": "commits.subject-p50",
1319
+ "value": 44,
1320
+ "sampleSize": 3171
1321
+ },
1322
+ "examples": []
1323
+ },
1324
+ "confidence": 0.8,
1325
+ "status": "auto"
1326
+ },
1327
+ {
1328
+ "id": "typescript.structure.no-semicolons-leading-semi",
1329
+ "scope": "personal",
1330
+ "language": "typescript",
1331
+ "category": "structure",
1332
+ "kind": "layout",
1333
+ "text": "Omit semicolons. When a statement starts with `(` or `[`, prefix it with a leading `;` as in `;(currentProp as AttributeNode).name += arg`.",
1334
+ "evidence": {
1335
+ "examples": [
1336
+ {
1337
+ "file": "packages/compiler-core/src/parser.ts",
1338
+ "line": 245,
1339
+ "snippet": ""
1340
+ },
1341
+ {
1342
+ "file": "packages/compiler-sfc/src/cache.ts",
1343
+ "line": 3,
1344
+ "snippet": ""
1345
+ },
1346
+ {
1347
+ "file": "packages/runtime-test/src/nodeOps.ts",
1348
+ "line": 95,
1349
+ "snippet": ""
1350
+ }
1351
+ ]
1352
+ },
1353
+ "confidence": 0.95,
1354
+ "status": "auto"
1355
+ },
1356
+ {
1357
+ "id": "typescript.structure.braceless-single-line-guards",
1358
+ "scope": "personal",
1359
+ "language": "typescript",
1360
+ "category": "structure",
1361
+ "kind": "layout",
1362
+ "text": "Write one-statement guards on a single line without braces: `if (start === end) return`, `if (dynamicOnly) continue`. Use braces as soon as the body spans more than one statement or line.",
1363
+ "evidence": {
1364
+ "examples": [
1365
+ {
1366
+ "file": "packages/compiler-core/src/parser.ts",
1367
+ "line": 245,
1368
+ "snippet": ""
1369
+ },
1370
+ {
1371
+ "file": "packages/compiler-core/src/utils.ts",
1372
+ "line": 243,
1373
+ "snippet": ""
1374
+ },
1375
+ {
1376
+ "file": "packages/compiler-core/src/transforms/transformElement.ts",
1377
+ "line": 934,
1378
+ "snippet": ""
1379
+ }
1380
+ ]
1381
+ },
1382
+ "confidence": 0.7,
1383
+ "status": "auto"
1384
+ },
1385
+ {
1386
+ "id": "typescript.structure.index-for-loops",
1387
+ "scope": "personal",
1388
+ "language": "typescript",
1389
+ "category": "structure",
1390
+ "kind": "idiom",
1391
+ "text": "Iterate arrays and strings with a classic index loop `for (let i = 0; i < node.props.length; i++)`, binding the element to a short local like `const p = node.props[i]`. Do not reach for forEach, for-of or map when a loop body has early return/continue.",
1392
+ "evidence": {
1393
+ "examples": [
1394
+ {
1395
+ "file": "packages/compiler-core/src/utils.ts",
1396
+ "line": 243,
1397
+ "snippet": ""
1398
+ },
1399
+ {
1400
+ "file": "packages/compiler-core/src/parser.ts",
1401
+ "line": 872,
1402
+ "snippet": ""
1403
+ },
1404
+ {
1405
+ "file": "packages/compiler-core/src/codegen.ts",
1406
+ "line": 525,
1407
+ "snippet": ""
1408
+ }
1409
+ ]
1410
+ },
1411
+ "confidence": 0.85,
1412
+ "status": "auto"
1413
+ },
1414
+ {
1415
+ "id": "typescript.naming.need-can-boolean-prefix",
1416
+ "scope": "personal",
1417
+ "language": "typescript",
1418
+ "category": "naming",
1419
+ "kind": "voice",
1420
+ "text": "Name locals that decide whether to take a path with `need*` or `can*` in addition to `is*`: `needFragmentWrapper`, `needScopeIdWrapper`, `canCache`, `isStatic`.",
1421
+ "evidence": {
1422
+ "examples": [
1423
+ {
1424
+ "file": "packages/compiler-ssr/src/transforms/ssrVFor.ts",
1425
+ "line": 24,
1426
+ "snippet": ""
1427
+ },
1428
+ {
1429
+ "file": "packages/compiler-core/src/codegen.ts",
1430
+ "line": 525,
1431
+ "snippet": ""
1432
+ },
1433
+ {
1434
+ "file": "packages/compiler-sfc/src/script/resolveType.ts",
1435
+ "line": 692,
1436
+ "snippet": ""
1437
+ }
1438
+ ]
1439
+ },
1440
+ "confidence": 0.75,
1441
+ "status": "auto"
1442
+ },
1443
+ {
1444
+ "id": "typescript.comments.test-step-labels",
1445
+ "scope": "personal",
1446
+ "language": "typescript",
1447
+ "category": "comments",
1448
+ "kind": "voice",
1449
+ "text": "In tests, label phases with terse lowercase comments naming the action or expectation: `// toggle`, `// update`, `// set`, `// should not unmount when toggling`, `// value changed before resolve`. No sentences, no punctuation.",
1450
+ "evidence": {
1451
+ "examples": [
1452
+ {
1453
+ "file": "packages/runtime-core/__tests__/components/Suspense.spec.ts",
1454
+ "line": 996,
1455
+ "snippet": ""
1456
+ },
1457
+ {
1458
+ "file": "packages/runtime-core/__tests__/hmr.spec.ts",
1459
+ "line": 355,
1460
+ "snippet": ""
1461
+ },
1462
+ {
1463
+ "file": "packages/runtime-core/__tests__/apiLifecycle.spec.ts",
1464
+ "line": 276,
1465
+ "snippet": ""
1466
+ }
1467
+ ]
1468
+ },
1469
+ "confidence": 0.85,
1470
+ "status": "auto"
1471
+ }
1472
+ ]
1473
+ }