pruneguard 0.3.1 → 0.4.1
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/configuration_schema.json +330 -3
- package/daemon_status_report_schema.json +183 -0
- package/dist/index.d.mts +148 -2
- package/dist/index.mjs +18 -1
- package/package.json +11 -9
- package/report_schema.json +300 -10
- package/suggest_rules_report_schema.json +350 -0
|
@@ -21,7 +21,11 @@
|
|
|
21
21
|
"cycles": "warn",
|
|
22
22
|
"boundaries": "warn",
|
|
23
23
|
"ownership": "warn",
|
|
24
|
-
"impact": "warn"
|
|
24
|
+
"impact": "warn",
|
|
25
|
+
"unusedMembers": "warn",
|
|
26
|
+
"duplicateExports": "warn",
|
|
27
|
+
"ignoreExportsUsedInFile": false,
|
|
28
|
+
"memberWriteOnlyIsUnused": true
|
|
25
29
|
},
|
|
26
30
|
"allOf": [
|
|
27
31
|
{
|
|
@@ -34,7 +38,8 @@
|
|
|
34
38
|
"default": {
|
|
35
39
|
"auto": true,
|
|
36
40
|
"includeTests": false,
|
|
37
|
-
"includeStories": false
|
|
41
|
+
"includeStories": false,
|
|
42
|
+
"includeEntryExports": false
|
|
38
43
|
},
|
|
39
44
|
"allOf": [
|
|
40
45
|
{
|
|
@@ -63,6 +68,13 @@
|
|
|
63
68
|
}
|
|
64
69
|
]
|
|
65
70
|
},
|
|
71
|
+
"ignoreIssues": {
|
|
72
|
+
"description": "Suppress specific finding kinds from the report.",
|
|
73
|
+
"type": "array",
|
|
74
|
+
"items": {
|
|
75
|
+
"$ref": "#/definitions/IgnoreIssueRule"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
66
78
|
"ignorePatterns": {
|
|
67
79
|
"description": "Glob patterns for files to ignore entirely.",
|
|
68
80
|
"type": "array",
|
|
@@ -92,7 +104,18 @@
|
|
|
92
104
|
"description": "Module resolver configuration.",
|
|
93
105
|
"default": {
|
|
94
106
|
"respectExports": true,
|
|
95
|
-
"preserveSymlinks": false
|
|
107
|
+
"preserveSymlinks": false,
|
|
108
|
+
"detectRequireResolve": true,
|
|
109
|
+
"detectImportMetaResolve": true,
|
|
110
|
+
"detectImportMetaGlob": true,
|
|
111
|
+
"detectRequireContext": true,
|
|
112
|
+
"detectUrlConstructor": true,
|
|
113
|
+
"detectJsdocImports": true,
|
|
114
|
+
"detectTripleSlash": true,
|
|
115
|
+
"detectImportEquals": true,
|
|
116
|
+
"detectTypeImports": true,
|
|
117
|
+
"detectWebpackAliases": true,
|
|
118
|
+
"detectBabelAliases": true
|
|
96
119
|
},
|
|
97
120
|
"allOf": [
|
|
98
121
|
{
|
|
@@ -143,6 +166,27 @@
|
|
|
143
166
|
}
|
|
144
167
|
]
|
|
145
168
|
},
|
|
169
|
+
"duplicateExports": {
|
|
170
|
+
"description": "Report duplicate exports (same symbol re-exported from multiple paths).",
|
|
171
|
+
"default": "warn",
|
|
172
|
+
"allOf": [
|
|
173
|
+
{
|
|
174
|
+
"$ref": "#/definitions/AnalysisSeverity"
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
"ignoreExportsUsedInFile": {
|
|
179
|
+
"description": "When true, exports consumed only within the same file are still reported as unused.",
|
|
180
|
+
"default": false,
|
|
181
|
+
"type": "boolean"
|
|
182
|
+
},
|
|
183
|
+
"ignoreMembers": {
|
|
184
|
+
"description": "Glob patterns for member names to ignore in unused-member analysis.",
|
|
185
|
+
"type": "array",
|
|
186
|
+
"items": {
|
|
187
|
+
"type": "string"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
146
190
|
"impact": {
|
|
147
191
|
"default": "warn",
|
|
148
192
|
"allOf": [
|
|
@@ -151,6 +195,11 @@
|
|
|
151
195
|
}
|
|
152
196
|
]
|
|
153
197
|
},
|
|
198
|
+
"memberWriteOnlyIsUnused": {
|
|
199
|
+
"description": "Whether write-only member references count as \"used\". When true (default), a member that is only written to (e.g. `obj.field = x`) but never read is reported as unused.",
|
|
200
|
+
"default": true,
|
|
201
|
+
"type": "boolean"
|
|
202
|
+
},
|
|
154
203
|
"ownership": {
|
|
155
204
|
"default": "warn",
|
|
156
205
|
"allOf": [
|
|
@@ -159,6 +208,13 @@
|
|
|
159
208
|
}
|
|
160
209
|
]
|
|
161
210
|
},
|
|
211
|
+
"publicTagNames": {
|
|
212
|
+
"description": "JSDoc tag names that mark a member as public/intentionally exported. When empty, `@public` is used as the default.",
|
|
213
|
+
"type": "array",
|
|
214
|
+
"items": {
|
|
215
|
+
"type": "string"
|
|
216
|
+
}
|
|
217
|
+
},
|
|
162
218
|
"unusedDependencies": {
|
|
163
219
|
"default": "warn",
|
|
164
220
|
"allOf": [
|
|
@@ -183,6 +239,15 @@
|
|
|
183
239
|
}
|
|
184
240
|
]
|
|
185
241
|
},
|
|
242
|
+
"unusedMembers": {
|
|
243
|
+
"description": "Report unused exported class/enum members (methods, properties, variants).",
|
|
244
|
+
"default": "warn",
|
|
245
|
+
"allOf": [
|
|
246
|
+
{
|
|
247
|
+
"$ref": "#/definitions/AnalysisSeverity"
|
|
248
|
+
}
|
|
249
|
+
]
|
|
250
|
+
},
|
|
186
251
|
"unusedPackages": {
|
|
187
252
|
"default": "warn",
|
|
188
253
|
"allOf": [
|
|
@@ -225,6 +290,11 @@
|
|
|
225
290
|
"type": "string"
|
|
226
291
|
}
|
|
227
292
|
},
|
|
293
|
+
"includeEntryExports": {
|
|
294
|
+
"description": "When true, runtime entrypoint exports are eligible to be reported as unused. By default (`false`), only public-API entrypoint exports are checked.",
|
|
295
|
+
"default": false,
|
|
296
|
+
"type": "boolean"
|
|
297
|
+
},
|
|
228
298
|
"includeStories": {
|
|
229
299
|
"description": "Whether to include story files as entrypoints.",
|
|
230
300
|
"default": false,
|
|
@@ -279,6 +349,16 @@
|
|
|
279
349
|
}
|
|
280
350
|
]
|
|
281
351
|
},
|
|
352
|
+
"babel": {
|
|
353
|
+
"anyOf": [
|
|
354
|
+
{
|
|
355
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"type": "null"
|
|
359
|
+
}
|
|
360
|
+
]
|
|
361
|
+
},
|
|
282
362
|
"cypress": {
|
|
283
363
|
"anyOf": [
|
|
284
364
|
{
|
|
@@ -319,6 +399,16 @@
|
|
|
319
399
|
}
|
|
320
400
|
]
|
|
321
401
|
},
|
|
402
|
+
"nitro": {
|
|
403
|
+
"anyOf": [
|
|
404
|
+
{
|
|
405
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"type": "null"
|
|
409
|
+
}
|
|
410
|
+
]
|
|
411
|
+
},
|
|
322
412
|
"nuxt": {
|
|
323
413
|
"anyOf": [
|
|
324
414
|
{
|
|
@@ -339,6 +429,16 @@
|
|
|
339
429
|
}
|
|
340
430
|
]
|
|
341
431
|
},
|
|
432
|
+
"parcel": {
|
|
433
|
+
"anyOf": [
|
|
434
|
+
{
|
|
435
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"type": "null"
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
},
|
|
342
442
|
"playwright": {
|
|
343
443
|
"anyOf": [
|
|
344
444
|
{
|
|
@@ -349,6 +449,46 @@
|
|
|
349
449
|
}
|
|
350
450
|
]
|
|
351
451
|
},
|
|
452
|
+
"playwright_ct": {
|
|
453
|
+
"anyOf": [
|
|
454
|
+
{
|
|
455
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"type": "null"
|
|
459
|
+
}
|
|
460
|
+
]
|
|
461
|
+
},
|
|
462
|
+
"playwright_test": {
|
|
463
|
+
"anyOf": [
|
|
464
|
+
{
|
|
465
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"type": "null"
|
|
469
|
+
}
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
"qwik": {
|
|
473
|
+
"anyOf": [
|
|
474
|
+
{
|
|
475
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"type": "null"
|
|
479
|
+
}
|
|
480
|
+
]
|
|
481
|
+
},
|
|
482
|
+
"react_router": {
|
|
483
|
+
"anyOf": [
|
|
484
|
+
{
|
|
485
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"type": "null"
|
|
489
|
+
}
|
|
490
|
+
]
|
|
491
|
+
},
|
|
352
492
|
"remix": {
|
|
353
493
|
"anyOf": [
|
|
354
494
|
{
|
|
@@ -359,6 +499,26 @@
|
|
|
359
499
|
}
|
|
360
500
|
]
|
|
361
501
|
},
|
|
502
|
+
"rsbuild": {
|
|
503
|
+
"anyOf": [
|
|
504
|
+
{
|
|
505
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"type": "null"
|
|
509
|
+
}
|
|
510
|
+
]
|
|
511
|
+
},
|
|
512
|
+
"rslib": {
|
|
513
|
+
"anyOf": [
|
|
514
|
+
{
|
|
515
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"type": "null"
|
|
519
|
+
}
|
|
520
|
+
]
|
|
521
|
+
},
|
|
362
522
|
"storybook": {
|
|
363
523
|
"anyOf": [
|
|
364
524
|
{
|
|
@@ -369,6 +529,16 @@
|
|
|
369
529
|
}
|
|
370
530
|
]
|
|
371
531
|
},
|
|
532
|
+
"svelte": {
|
|
533
|
+
"anyOf": [
|
|
534
|
+
{
|
|
535
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"type": "null"
|
|
539
|
+
}
|
|
540
|
+
]
|
|
541
|
+
},
|
|
372
542
|
"sveltekit": {
|
|
373
543
|
"anyOf": [
|
|
374
544
|
{
|
|
@@ -379,6 +549,26 @@
|
|
|
379
549
|
}
|
|
380
550
|
]
|
|
381
551
|
},
|
|
552
|
+
"tanstack_router": {
|
|
553
|
+
"anyOf": [
|
|
554
|
+
{
|
|
555
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"type": "null"
|
|
559
|
+
}
|
|
560
|
+
]
|
|
561
|
+
},
|
|
562
|
+
"trigger_dev": {
|
|
563
|
+
"anyOf": [
|
|
564
|
+
{
|
|
565
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"type": "null"
|
|
569
|
+
}
|
|
570
|
+
]
|
|
571
|
+
},
|
|
382
572
|
"turborepo": {
|
|
383
573
|
"anyOf": [
|
|
384
574
|
{
|
|
@@ -389,6 +579,16 @@
|
|
|
389
579
|
}
|
|
390
580
|
]
|
|
391
581
|
},
|
|
582
|
+
"vike": {
|
|
583
|
+
"anyOf": [
|
|
584
|
+
{
|
|
585
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
"type": "null"
|
|
589
|
+
}
|
|
590
|
+
]
|
|
591
|
+
},
|
|
392
592
|
"vite": {
|
|
393
593
|
"anyOf": [
|
|
394
594
|
{
|
|
@@ -418,6 +618,78 @@
|
|
|
418
618
|
"type": "null"
|
|
419
619
|
}
|
|
420
620
|
]
|
|
621
|
+
},
|
|
622
|
+
"vue": {
|
|
623
|
+
"anyOf": [
|
|
624
|
+
{
|
|
625
|
+
"$ref": "#/definitions/FrameworkToggle"
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"type": "null"
|
|
629
|
+
}
|
|
630
|
+
]
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"IgnoreIssueRule": {
|
|
635
|
+
"description": "Rule for suppressing specific finding kinds.",
|
|
636
|
+
"type": "object",
|
|
637
|
+
"required": [
|
|
638
|
+
"kind"
|
|
639
|
+
],
|
|
640
|
+
"properties": {
|
|
641
|
+
"codes": {
|
|
642
|
+
"description": "Additional finding codes to match (beyond the primary `kind`).",
|
|
643
|
+
"type": "array",
|
|
644
|
+
"items": {
|
|
645
|
+
"type": "string"
|
|
646
|
+
}
|
|
647
|
+
},
|
|
648
|
+
"comment": {
|
|
649
|
+
"description": "Optional comment explaining why this is suppressed.",
|
|
650
|
+
"type": [
|
|
651
|
+
"string",
|
|
652
|
+
"null"
|
|
653
|
+
]
|
|
654
|
+
},
|
|
655
|
+
"files": {
|
|
656
|
+
"description": "Optional glob patterns — only suppress in matching files.",
|
|
657
|
+
"type": "array",
|
|
658
|
+
"items": {
|
|
659
|
+
"type": "string"
|
|
660
|
+
}
|
|
661
|
+
},
|
|
662
|
+
"kind": {
|
|
663
|
+
"description": "The finding kind to suppress (e.g. \"unusedExport\", \"unusedFile\", \"cycle\").",
|
|
664
|
+
"type": "string"
|
|
665
|
+
},
|
|
666
|
+
"packages": {
|
|
667
|
+
"description": "Package names to scope this rule to.",
|
|
668
|
+
"type": "array",
|
|
669
|
+
"items": {
|
|
670
|
+
"type": "string"
|
|
671
|
+
}
|
|
672
|
+
},
|
|
673
|
+
"parentSymbols": {
|
|
674
|
+
"description": "Parent symbol names to scope this rule to.",
|
|
675
|
+
"type": "array",
|
|
676
|
+
"items": {
|
|
677
|
+
"type": "string"
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
"symbols": {
|
|
681
|
+
"description": "Symbol names to scope this rule to.",
|
|
682
|
+
"type": "array",
|
|
683
|
+
"items": {
|
|
684
|
+
"type": "string"
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
"workspaces": {
|
|
688
|
+
"description": "Workspace names to scope this rule to.",
|
|
689
|
+
"type": "array",
|
|
690
|
+
"items": {
|
|
691
|
+
"type": "string"
|
|
692
|
+
}
|
|
421
693
|
}
|
|
422
694
|
}
|
|
423
695
|
},
|
|
@@ -554,6 +826,61 @@
|
|
|
554
826
|
"type": "string"
|
|
555
827
|
}
|
|
556
828
|
},
|
|
829
|
+
"detectBabelAliases": {
|
|
830
|
+
"description": "Whether to detect Babel alias patterns.",
|
|
831
|
+
"default": true,
|
|
832
|
+
"type": "boolean"
|
|
833
|
+
},
|
|
834
|
+
"detectImportEquals": {
|
|
835
|
+
"description": "Whether to detect TypeScript `import =` statements.",
|
|
836
|
+
"default": true,
|
|
837
|
+
"type": "boolean"
|
|
838
|
+
},
|
|
839
|
+
"detectImportMetaGlob": {
|
|
840
|
+
"description": "Whether to detect `import.meta.glob()` calls.",
|
|
841
|
+
"default": true,
|
|
842
|
+
"type": "boolean"
|
|
843
|
+
},
|
|
844
|
+
"detectImportMetaResolve": {
|
|
845
|
+
"description": "Whether to detect `import.meta.resolve()` calls.",
|
|
846
|
+
"default": true,
|
|
847
|
+
"type": "boolean"
|
|
848
|
+
},
|
|
849
|
+
"detectJsdocImports": {
|
|
850
|
+
"description": "Whether to detect JSDoc `@import` tags.",
|
|
851
|
+
"default": true,
|
|
852
|
+
"type": "boolean"
|
|
853
|
+
},
|
|
854
|
+
"detectRequireContext": {
|
|
855
|
+
"description": "Whether to detect `require.context()` calls.",
|
|
856
|
+
"default": true,
|
|
857
|
+
"type": "boolean"
|
|
858
|
+
},
|
|
859
|
+
"detectRequireResolve": {
|
|
860
|
+
"description": "Whether to detect `require.resolve()` calls.",
|
|
861
|
+
"default": true,
|
|
862
|
+
"type": "boolean"
|
|
863
|
+
},
|
|
864
|
+
"detectTripleSlash": {
|
|
865
|
+
"description": "Whether to detect triple-slash reference directives.",
|
|
866
|
+
"default": true,
|
|
867
|
+
"type": "boolean"
|
|
868
|
+
},
|
|
869
|
+
"detectTypeImports": {
|
|
870
|
+
"description": "Whether to detect type-only imports.",
|
|
871
|
+
"default": true,
|
|
872
|
+
"type": "boolean"
|
|
873
|
+
},
|
|
874
|
+
"detectUrlConstructor": {
|
|
875
|
+
"description": "Whether to detect `new URL()` constructor patterns.",
|
|
876
|
+
"default": true,
|
|
877
|
+
"type": "boolean"
|
|
878
|
+
},
|
|
879
|
+
"detectWebpackAliases": {
|
|
880
|
+
"description": "Whether to detect webpack alias patterns.",
|
|
881
|
+
"default": true,
|
|
882
|
+
"type": "boolean"
|
|
883
|
+
},
|
|
557
884
|
"extensions": {
|
|
558
885
|
"description": "File extensions to resolve.",
|
|
559
886
|
"type": "array",
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "DaemonStatusReport",
|
|
4
|
+
"description": "Daemon status report for querying daemon health from JS or CLI.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"running"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"binaryPath": {
|
|
11
|
+
"description": "Absolute path to the daemon binary.",
|
|
12
|
+
"type": [
|
|
13
|
+
"string",
|
|
14
|
+
"null"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"configChangePending": {
|
|
18
|
+
"description": "Whether a config-level change is pending that requires full rebuild.",
|
|
19
|
+
"type": [
|
|
20
|
+
"boolean",
|
|
21
|
+
"null"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"generation": {
|
|
25
|
+
"description": "Current generation (rebuild counter) of the index.",
|
|
26
|
+
"type": [
|
|
27
|
+
"integer",
|
|
28
|
+
"null"
|
|
29
|
+
],
|
|
30
|
+
"format": "uint64",
|
|
31
|
+
"minimum": 0.0
|
|
32
|
+
},
|
|
33
|
+
"graphEdges": {
|
|
34
|
+
"description": "Number of edges in the module graph.",
|
|
35
|
+
"type": [
|
|
36
|
+
"integer",
|
|
37
|
+
"null"
|
|
38
|
+
],
|
|
39
|
+
"format": "uint",
|
|
40
|
+
"minimum": 0.0
|
|
41
|
+
},
|
|
42
|
+
"graphNodes": {
|
|
43
|
+
"description": "Number of nodes in the module graph.",
|
|
44
|
+
"type": [
|
|
45
|
+
"integer",
|
|
46
|
+
"null"
|
|
47
|
+
],
|
|
48
|
+
"format": "uint",
|
|
49
|
+
"minimum": 0.0
|
|
50
|
+
},
|
|
51
|
+
"incrementalRebuilds": {
|
|
52
|
+
"description": "Number of incremental rebuilds since daemon start.",
|
|
53
|
+
"type": [
|
|
54
|
+
"integer",
|
|
55
|
+
"null"
|
|
56
|
+
],
|
|
57
|
+
"format": "uint64",
|
|
58
|
+
"minimum": 0.0
|
|
59
|
+
},
|
|
60
|
+
"indexWarm": {
|
|
61
|
+
"description": "Whether the hot index has been warmed (initial build complete).",
|
|
62
|
+
"type": [
|
|
63
|
+
"boolean",
|
|
64
|
+
"null"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"initialBuildMs": {
|
|
68
|
+
"description": "Milliseconds the initial graph build took.",
|
|
69
|
+
"type": [
|
|
70
|
+
"integer",
|
|
71
|
+
"null"
|
|
72
|
+
],
|
|
73
|
+
"format": "uint64",
|
|
74
|
+
"minimum": 0.0
|
|
75
|
+
},
|
|
76
|
+
"lastRebuildMs": {
|
|
77
|
+
"description": "Milliseconds the last incremental rebuild took.",
|
|
78
|
+
"type": [
|
|
79
|
+
"integer",
|
|
80
|
+
"null"
|
|
81
|
+
],
|
|
82
|
+
"format": "uint64",
|
|
83
|
+
"minimum": 0.0
|
|
84
|
+
},
|
|
85
|
+
"lastUpdateMs": {
|
|
86
|
+
"description": "Milliseconds since the last graph update.",
|
|
87
|
+
"type": [
|
|
88
|
+
"integer",
|
|
89
|
+
"null"
|
|
90
|
+
],
|
|
91
|
+
"format": "uint64",
|
|
92
|
+
"minimum": 0.0
|
|
93
|
+
},
|
|
94
|
+
"pendingInvalidations": {
|
|
95
|
+
"description": "Number of files pending invalidation.",
|
|
96
|
+
"type": [
|
|
97
|
+
"integer",
|
|
98
|
+
"null"
|
|
99
|
+
],
|
|
100
|
+
"format": "uint",
|
|
101
|
+
"minimum": 0.0
|
|
102
|
+
},
|
|
103
|
+
"pid": {
|
|
104
|
+
"description": "Process ID of the running daemon, if any.",
|
|
105
|
+
"type": [
|
|
106
|
+
"integer",
|
|
107
|
+
"null"
|
|
108
|
+
],
|
|
109
|
+
"format": "uint32",
|
|
110
|
+
"minimum": 0.0
|
|
111
|
+
},
|
|
112
|
+
"port": {
|
|
113
|
+
"description": "TCP port the daemon is listening on, if any.",
|
|
114
|
+
"type": [
|
|
115
|
+
"integer",
|
|
116
|
+
"null"
|
|
117
|
+
],
|
|
118
|
+
"format": "uint16",
|
|
119
|
+
"minimum": 0.0
|
|
120
|
+
},
|
|
121
|
+
"projectRoot": {
|
|
122
|
+
"description": "Absolute path to the project root the daemon is serving.",
|
|
123
|
+
"type": [
|
|
124
|
+
"string",
|
|
125
|
+
"null"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"running": {
|
|
129
|
+
"description": "Whether a daemon process is currently running.",
|
|
130
|
+
"type": "boolean"
|
|
131
|
+
},
|
|
132
|
+
"startedAt": {
|
|
133
|
+
"description": "ISO-8601 timestamp when the daemon started.",
|
|
134
|
+
"type": [
|
|
135
|
+
"string",
|
|
136
|
+
"null"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
"totalInvalidations": {
|
|
140
|
+
"description": "Total number of files invalidated since daemon start.",
|
|
141
|
+
"type": [
|
|
142
|
+
"integer",
|
|
143
|
+
"null"
|
|
144
|
+
],
|
|
145
|
+
"format": "uint64",
|
|
146
|
+
"minimum": 0.0
|
|
147
|
+
},
|
|
148
|
+
"uptimeSecs": {
|
|
149
|
+
"description": "Uptime of the daemon in seconds.",
|
|
150
|
+
"type": [
|
|
151
|
+
"integer",
|
|
152
|
+
"null"
|
|
153
|
+
],
|
|
154
|
+
"format": "uint64",
|
|
155
|
+
"minimum": 0.0
|
|
156
|
+
},
|
|
157
|
+
"version": {
|
|
158
|
+
"description": "Version of the running daemon binary.",
|
|
159
|
+
"type": [
|
|
160
|
+
"string",
|
|
161
|
+
"null"
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"watchedFiles": {
|
|
165
|
+
"description": "Number of files being watched for changes.",
|
|
166
|
+
"type": [
|
|
167
|
+
"integer",
|
|
168
|
+
"null"
|
|
169
|
+
],
|
|
170
|
+
"format": "uint",
|
|
171
|
+
"minimum": 0.0
|
|
172
|
+
},
|
|
173
|
+
"watcherLagMs": {
|
|
174
|
+
"description": "Milliseconds of watcher lag (time since last fs event was processed).",
|
|
175
|
+
"type": [
|
|
176
|
+
"integer",
|
|
177
|
+
"null"
|
|
178
|
+
],
|
|
179
|
+
"format": "uint64",
|
|
180
|
+
"minimum": 0.0
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|