@teambit/watcher 1.0.187 → 1.0.189
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/schema.json +205 -47
- package/dist/check-types.d.ts +1 -1
- package/dist/check-types.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/output-formatter.js.map +1 -1
- package/dist/watch-queue.js.map +1 -1
- package/dist/watch.cmd.js.map +1 -1
- package/dist/watcher.aspect.js.map +1 -1
- package/dist/watcher.js +1 -1
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.main.runtime.js.map +1 -1
- package/package.json +11 -11
- /package/dist/{preview-1709867881461.js → preview-1710224484125.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="0" failures="0" errors="0" skipped="0">
|
|
3
|
-
<testsuite name="teambit.workspace/watcher@1.0.
|
|
3
|
+
<testsuite name="teambit.workspace/watcher@1.0.189" tests="0" failures="0" errors="0" skipped="0"/>
|
|
4
4
|
</testsuites>
|
package/artifacts/schema.json
CHANGED
|
@@ -46,7 +46,8 @@
|
|
|
46
46
|
"line": 52,
|
|
47
47
|
"character": 10
|
|
48
48
|
},
|
|
49
|
-
"name": "EventMessages"
|
|
49
|
+
"name": "EventMessages",
|
|
50
|
+
"internalFilePath": "watcher.ts"
|
|
50
51
|
},
|
|
51
52
|
"isOptional": true
|
|
52
53
|
},
|
|
@@ -66,7 +67,11 @@
|
|
|
66
67
|
"line": 53,
|
|
67
68
|
"character": 15
|
|
68
69
|
},
|
|
69
|
-
"name": "CompilationInitiator"
|
|
70
|
+
"name": "CompilationInitiator",
|
|
71
|
+
"componentId": {
|
|
72
|
+
"scope": "teambit.compilation",
|
|
73
|
+
"name": "compiler"
|
|
74
|
+
}
|
|
70
75
|
},
|
|
71
76
|
"isOptional": true
|
|
72
77
|
},
|
|
@@ -250,7 +255,11 @@
|
|
|
250
255
|
"line": 20,
|
|
251
256
|
"character": 24
|
|
252
257
|
},
|
|
253
|
-
"name": "Workspace"
|
|
258
|
+
"name": "Workspace",
|
|
259
|
+
"componentId": {
|
|
260
|
+
"scope": "teambit.workspace",
|
|
261
|
+
"name": "workspace"
|
|
262
|
+
}
|
|
254
263
|
},
|
|
255
264
|
"isOptional": false,
|
|
256
265
|
"isSpread": false
|
|
@@ -270,7 +279,11 @@
|
|
|
270
279
|
"line": 21,
|
|
271
280
|
"character": 20
|
|
272
281
|
},
|
|
273
|
-
"name": "ScopeMain"
|
|
282
|
+
"name": "ScopeMain",
|
|
283
|
+
"componentId": {
|
|
284
|
+
"scope": "teambit.scope",
|
|
285
|
+
"name": "scope"
|
|
286
|
+
}
|
|
274
287
|
},
|
|
275
288
|
"isOptional": false,
|
|
276
289
|
"isSpread": false
|
|
@@ -290,7 +303,11 @@
|
|
|
290
303
|
"line": 22,
|
|
291
304
|
"character": 21
|
|
292
305
|
},
|
|
293
|
-
"name": "PubsubMain"
|
|
306
|
+
"name": "PubsubMain",
|
|
307
|
+
"componentId": {
|
|
308
|
+
"scope": "teambit.harmony",
|
|
309
|
+
"name": "pubsub"
|
|
310
|
+
}
|
|
294
311
|
},
|
|
295
312
|
"isOptional": false,
|
|
296
313
|
"isSpread": false
|
|
@@ -310,7 +327,8 @@
|
|
|
310
327
|
"line": 23,
|
|
311
328
|
"character": 29
|
|
312
329
|
},
|
|
313
|
-
"name": "OnPreWatchSlot"
|
|
330
|
+
"name": "OnPreWatchSlot",
|
|
331
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
314
332
|
},
|
|
315
333
|
"isOptional": false,
|
|
316
334
|
"isSpread": false
|
|
@@ -330,7 +348,11 @@
|
|
|
330
348
|
"line": 24,
|
|
331
349
|
"character": 25
|
|
332
350
|
},
|
|
333
|
-
"name": "IpcEventsMain"
|
|
351
|
+
"name": "IpcEventsMain",
|
|
352
|
+
"componentId": {
|
|
353
|
+
"scope": "teambit.harmony",
|
|
354
|
+
"name": "ipc-events"
|
|
355
|
+
}
|
|
334
356
|
},
|
|
335
357
|
"isOptional": false,
|
|
336
358
|
"isSpread": false
|
|
@@ -350,7 +372,11 @@
|
|
|
350
372
|
"line": 25,
|
|
351
373
|
"character": 22
|
|
352
374
|
},
|
|
353
|
-
"name": "Logger"
|
|
375
|
+
"name": "Logger",
|
|
376
|
+
"componentId": {
|
|
377
|
+
"scope": "teambit.harmony",
|
|
378
|
+
"name": "logger"
|
|
379
|
+
}
|
|
354
380
|
},
|
|
355
381
|
"isOptional": false,
|
|
356
382
|
"isSpread": false
|
|
@@ -370,7 +396,11 @@
|
|
|
370
396
|
"line": 26,
|
|
371
397
|
"character": 28
|
|
372
398
|
},
|
|
373
|
-
"name": "GlobalConfigMain"
|
|
399
|
+
"name": "GlobalConfigMain",
|
|
400
|
+
"componentId": {
|
|
401
|
+
"scope": "teambit.harmony",
|
|
402
|
+
"name": "global-config"
|
|
403
|
+
}
|
|
374
404
|
},
|
|
375
405
|
"isOptional": false,
|
|
376
406
|
"isSpread": false
|
|
@@ -486,7 +516,12 @@
|
|
|
486
516
|
"line": 38,
|
|
487
517
|
"character": 41
|
|
488
518
|
},
|
|
489
|
-
"name": "ComponentID"
|
|
519
|
+
"name": "ComponentID",
|
|
520
|
+
"componentId": {
|
|
521
|
+
"scope": "teambit.component",
|
|
522
|
+
"name": "component-id",
|
|
523
|
+
"version": "1.2.0"
|
|
524
|
+
}
|
|
490
525
|
}
|
|
491
526
|
},
|
|
492
527
|
"isOptional": false,
|
|
@@ -551,7 +586,8 @@
|
|
|
551
586
|
"line": 45,
|
|
552
587
|
"character": 38
|
|
553
588
|
},
|
|
554
|
-
"name": "OnPreWatch"
|
|
589
|
+
"name": "OnPreWatch",
|
|
590
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
555
591
|
},
|
|
556
592
|
"isOptional": false,
|
|
557
593
|
"isSpread": false
|
|
@@ -664,7 +700,11 @@
|
|
|
664
700
|
"line": 64,
|
|
665
701
|
"character": 7
|
|
666
702
|
},
|
|
667
|
-
"name": "CLIMain"
|
|
703
|
+
"name": "CLIMain",
|
|
704
|
+
"componentId": {
|
|
705
|
+
"scope": "teambit.harmony",
|
|
706
|
+
"name": "cli"
|
|
707
|
+
}
|
|
668
708
|
},
|
|
669
709
|
{
|
|
670
710
|
"__schema": "TypeRefSchema",
|
|
@@ -673,7 +713,11 @@
|
|
|
673
713
|
"line": 65,
|
|
674
714
|
"character": 7
|
|
675
715
|
},
|
|
676
|
-
"name": "Workspace"
|
|
716
|
+
"name": "Workspace",
|
|
717
|
+
"componentId": {
|
|
718
|
+
"scope": "teambit.workspace",
|
|
719
|
+
"name": "workspace"
|
|
720
|
+
}
|
|
677
721
|
},
|
|
678
722
|
{
|
|
679
723
|
"__schema": "TypeRefSchema",
|
|
@@ -682,7 +726,11 @@
|
|
|
682
726
|
"line": 66,
|
|
683
727
|
"character": 7
|
|
684
728
|
},
|
|
685
|
-
"name": "ScopeMain"
|
|
729
|
+
"name": "ScopeMain",
|
|
730
|
+
"componentId": {
|
|
731
|
+
"scope": "teambit.scope",
|
|
732
|
+
"name": "scope"
|
|
733
|
+
}
|
|
686
734
|
},
|
|
687
735
|
{
|
|
688
736
|
"__schema": "TypeRefSchema",
|
|
@@ -691,7 +739,11 @@
|
|
|
691
739
|
"line": 67,
|
|
692
740
|
"character": 7
|
|
693
741
|
},
|
|
694
|
-
"name": "PubsubMain"
|
|
742
|
+
"name": "PubsubMain",
|
|
743
|
+
"componentId": {
|
|
744
|
+
"scope": "teambit.harmony",
|
|
745
|
+
"name": "pubsub"
|
|
746
|
+
}
|
|
695
747
|
},
|
|
696
748
|
{
|
|
697
749
|
"__schema": "TypeRefSchema",
|
|
@@ -700,7 +752,11 @@
|
|
|
700
752
|
"line": 68,
|
|
701
753
|
"character": 7
|
|
702
754
|
},
|
|
703
|
-
"name": "LoggerMain"
|
|
755
|
+
"name": "LoggerMain",
|
|
756
|
+
"componentId": {
|
|
757
|
+
"scope": "teambit.harmony",
|
|
758
|
+
"name": "logger"
|
|
759
|
+
}
|
|
704
760
|
},
|
|
705
761
|
{
|
|
706
762
|
"__schema": "TypeRefSchema",
|
|
@@ -709,7 +765,11 @@
|
|
|
709
765
|
"line": 69,
|
|
710
766
|
"character": 7
|
|
711
767
|
},
|
|
712
|
-
"name": "IpcEventsMain"
|
|
768
|
+
"name": "IpcEventsMain",
|
|
769
|
+
"componentId": {
|
|
770
|
+
"scope": "teambit.harmony",
|
|
771
|
+
"name": "ipc-events"
|
|
772
|
+
}
|
|
713
773
|
},
|
|
714
774
|
{
|
|
715
775
|
"__schema": "TypeRefSchema",
|
|
@@ -718,7 +778,11 @@
|
|
|
718
778
|
"line": 70,
|
|
719
779
|
"character": 7
|
|
720
780
|
},
|
|
721
|
-
"name": "GlobalConfigMain"
|
|
781
|
+
"name": "GlobalConfigMain",
|
|
782
|
+
"componentId": {
|
|
783
|
+
"scope": "teambit.harmony",
|
|
784
|
+
"name": "global-config"
|
|
785
|
+
}
|
|
722
786
|
}
|
|
723
787
|
]
|
|
724
788
|
},
|
|
@@ -768,7 +832,8 @@
|
|
|
768
832
|
"line": 73,
|
|
769
833
|
"character": 24
|
|
770
834
|
},
|
|
771
|
-
"name": "OnPreWatchSlot"
|
|
835
|
+
"name": "OnPreWatchSlot",
|
|
836
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
772
837
|
}
|
|
773
838
|
]
|
|
774
839
|
},
|
|
@@ -928,7 +993,12 @@
|
|
|
928
993
|
"line": 31,
|
|
929
994
|
"character": 103
|
|
930
995
|
},
|
|
931
|
-
"name": "ComponentID"
|
|
996
|
+
"name": "ComponentID",
|
|
997
|
+
"componentId": {
|
|
998
|
+
"scope": "teambit.component",
|
|
999
|
+
"name": "component-id",
|
|
1000
|
+
"version": "1.2.0"
|
|
1001
|
+
}
|
|
932
1002
|
}
|
|
933
1003
|
},
|
|
934
1004
|
"isOptional": false
|
|
@@ -1115,7 +1185,7 @@
|
|
|
1115
1185
|
"line": 43,
|
|
1116
1186
|
"character": 31
|
|
1117
1187
|
},
|
|
1118
|
-
"signature": "(filePaths: string[], buildResults: OnComponentEventResult[], verbose: boolean, duration: number, failureMsg?: string): void",
|
|
1188
|
+
"signature": "(filePaths: string[], buildResults: \u001b[2m(component: teambit.workspace/workspace)\u001b[22m OnComponentEventResult[], verbose: boolean, duration: number, failureMsg?: string): void",
|
|
1119
1189
|
"name": "",
|
|
1120
1190
|
"params": [
|
|
1121
1191
|
{
|
|
@@ -1168,7 +1238,11 @@
|
|
|
1168
1238
|
"line": 45,
|
|
1169
1239
|
"character": 17
|
|
1170
1240
|
},
|
|
1171
|
-
"name": "OnComponentEventResult"
|
|
1241
|
+
"name": "OnComponentEventResult",
|
|
1242
|
+
"componentId": {
|
|
1243
|
+
"scope": "teambit.workspace",
|
|
1244
|
+
"name": "workspace"
|
|
1245
|
+
}
|
|
1172
1246
|
}
|
|
1173
1247
|
},
|
|
1174
1248
|
"isOptional": false,
|
|
@@ -1280,7 +1354,8 @@
|
|
|
1280
1354
|
"line": 52,
|
|
1281
1355
|
"character": 10
|
|
1282
1356
|
},
|
|
1283
|
-
"name": "EventMessages"
|
|
1357
|
+
"name": "EventMessages",
|
|
1358
|
+
"internalFilePath": "watcher.ts"
|
|
1284
1359
|
},
|
|
1285
1360
|
"isOptional": true
|
|
1286
1361
|
},
|
|
@@ -1300,7 +1375,11 @@
|
|
|
1300
1375
|
"line": 53,
|
|
1301
1376
|
"character": 15
|
|
1302
1377
|
},
|
|
1303
|
-
"name": "CompilationInitiator"
|
|
1378
|
+
"name": "CompilationInitiator",
|
|
1379
|
+
"componentId": {
|
|
1380
|
+
"scope": "teambit.compilation",
|
|
1381
|
+
"name": "compiler"
|
|
1382
|
+
}
|
|
1304
1383
|
},
|
|
1305
1384
|
"isOptional": true
|
|
1306
1385
|
},
|
|
@@ -1442,7 +1521,11 @@
|
|
|
1442
1521
|
"line": 74,
|
|
1443
1522
|
"character": 24
|
|
1444
1523
|
},
|
|
1445
|
-
"name": "Workspace"
|
|
1524
|
+
"name": "Workspace",
|
|
1525
|
+
"componentId": {
|
|
1526
|
+
"scope": "teambit.workspace",
|
|
1527
|
+
"name": "workspace"
|
|
1528
|
+
}
|
|
1446
1529
|
},
|
|
1447
1530
|
"isOptional": false,
|
|
1448
1531
|
"isSpread": false
|
|
@@ -1462,7 +1545,11 @@
|
|
|
1462
1545
|
"line": 75,
|
|
1463
1546
|
"character": 21
|
|
1464
1547
|
},
|
|
1465
|
-
"name": "PubsubMain"
|
|
1548
|
+
"name": "PubsubMain",
|
|
1549
|
+
"componentId": {
|
|
1550
|
+
"scope": "teambit.harmony",
|
|
1551
|
+
"name": "pubsub"
|
|
1552
|
+
}
|
|
1466
1553
|
},
|
|
1467
1554
|
"isOptional": false,
|
|
1468
1555
|
"isSpread": false
|
|
@@ -1645,7 +1732,7 @@
|
|
|
1645
1732
|
"line": 15,
|
|
1646
1733
|
"character": 26
|
|
1647
1734
|
},
|
|
1648
|
-
"signature": "(componentIds: ComponentID[], watchOpts: WatchOptions): Promise<void>",
|
|
1735
|
+
"signature": "(componentIds: \u001b[2m(component: teambit.component/component-id)\u001b[22m ComponentID[], watchOpts: WatchOptions): Promise<void>",
|
|
1649
1736
|
"name": "",
|
|
1650
1737
|
"params": [
|
|
1651
1738
|
{
|
|
@@ -1670,7 +1757,12 @@
|
|
|
1670
1757
|
"line": 15,
|
|
1671
1758
|
"character": 41
|
|
1672
1759
|
},
|
|
1673
|
-
"name": "ComponentID"
|
|
1760
|
+
"name": "ComponentID",
|
|
1761
|
+
"componentId": {
|
|
1762
|
+
"scope": "teambit.component",
|
|
1763
|
+
"name": "component-id",
|
|
1764
|
+
"version": "1.2.0"
|
|
1765
|
+
}
|
|
1674
1766
|
}
|
|
1675
1767
|
},
|
|
1676
1768
|
"isOptional": false,
|
|
@@ -1737,6 +1829,11 @@
|
|
|
1737
1829
|
"character": 30
|
|
1738
1830
|
},
|
|
1739
1831
|
"name": "SlotRegistry",
|
|
1832
|
+
"componentId": {
|
|
1833
|
+
"scope": "teambit.harmony",
|
|
1834
|
+
"name": "harmony",
|
|
1835
|
+
"version": "0.4.6"
|
|
1836
|
+
},
|
|
1740
1837
|
"typeArgs": [
|
|
1741
1838
|
{
|
|
1742
1839
|
"__schema": "TypeRefSchema",
|
|
@@ -1745,7 +1842,8 @@
|
|
|
1745
1842
|
"line": 16,
|
|
1746
1843
|
"character": 43
|
|
1747
1844
|
},
|
|
1748
|
-
"name": "OnPreWatch"
|
|
1845
|
+
"name": "OnPreWatch",
|
|
1846
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
1749
1847
|
}
|
|
1750
1848
|
]
|
|
1751
1849
|
}
|
|
@@ -1785,7 +1883,11 @@
|
|
|
1785
1883
|
"line": 20,
|
|
1786
1884
|
"character": 24
|
|
1787
1885
|
},
|
|
1788
|
-
"name": "Workspace"
|
|
1886
|
+
"name": "Workspace",
|
|
1887
|
+
"componentId": {
|
|
1888
|
+
"scope": "teambit.workspace",
|
|
1889
|
+
"name": "workspace"
|
|
1890
|
+
}
|
|
1789
1891
|
},
|
|
1790
1892
|
"isOptional": false,
|
|
1791
1893
|
"isSpread": false
|
|
@@ -1805,7 +1907,11 @@
|
|
|
1805
1907
|
"line": 21,
|
|
1806
1908
|
"character": 20
|
|
1807
1909
|
},
|
|
1808
|
-
"name": "ScopeMain"
|
|
1910
|
+
"name": "ScopeMain",
|
|
1911
|
+
"componentId": {
|
|
1912
|
+
"scope": "teambit.scope",
|
|
1913
|
+
"name": "scope"
|
|
1914
|
+
}
|
|
1809
1915
|
},
|
|
1810
1916
|
"isOptional": false,
|
|
1811
1917
|
"isSpread": false
|
|
@@ -1825,7 +1931,11 @@
|
|
|
1825
1931
|
"line": 22,
|
|
1826
1932
|
"character": 21
|
|
1827
1933
|
},
|
|
1828
|
-
"name": "PubsubMain"
|
|
1934
|
+
"name": "PubsubMain",
|
|
1935
|
+
"componentId": {
|
|
1936
|
+
"scope": "teambit.harmony",
|
|
1937
|
+
"name": "pubsub"
|
|
1938
|
+
}
|
|
1829
1939
|
},
|
|
1830
1940
|
"isOptional": false,
|
|
1831
1941
|
"isSpread": false
|
|
@@ -1845,7 +1955,8 @@
|
|
|
1845
1955
|
"line": 23,
|
|
1846
1956
|
"character": 29
|
|
1847
1957
|
},
|
|
1848
|
-
"name": "OnPreWatchSlot"
|
|
1958
|
+
"name": "OnPreWatchSlot",
|
|
1959
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
1849
1960
|
},
|
|
1850
1961
|
"isOptional": false,
|
|
1851
1962
|
"isSpread": false
|
|
@@ -1865,7 +1976,11 @@
|
|
|
1865
1976
|
"line": 24,
|
|
1866
1977
|
"character": 25
|
|
1867
1978
|
},
|
|
1868
|
-
"name": "IpcEventsMain"
|
|
1979
|
+
"name": "IpcEventsMain",
|
|
1980
|
+
"componentId": {
|
|
1981
|
+
"scope": "teambit.harmony",
|
|
1982
|
+
"name": "ipc-events"
|
|
1983
|
+
}
|
|
1869
1984
|
},
|
|
1870
1985
|
"isOptional": false,
|
|
1871
1986
|
"isSpread": false
|
|
@@ -1885,7 +2000,11 @@
|
|
|
1885
2000
|
"line": 25,
|
|
1886
2001
|
"character": 22
|
|
1887
2002
|
},
|
|
1888
|
-
"name": "Logger"
|
|
2003
|
+
"name": "Logger",
|
|
2004
|
+
"componentId": {
|
|
2005
|
+
"scope": "teambit.harmony",
|
|
2006
|
+
"name": "logger"
|
|
2007
|
+
}
|
|
1889
2008
|
},
|
|
1890
2009
|
"isOptional": false,
|
|
1891
2010
|
"isSpread": false
|
|
@@ -1905,7 +2024,11 @@
|
|
|
1905
2024
|
"line": 26,
|
|
1906
2025
|
"character": 28
|
|
1907
2026
|
},
|
|
1908
|
-
"name": "GlobalConfigMain"
|
|
2027
|
+
"name": "GlobalConfigMain",
|
|
2028
|
+
"componentId": {
|
|
2029
|
+
"scope": "teambit.harmony",
|
|
2030
|
+
"name": "global-config"
|
|
2031
|
+
}
|
|
1909
2032
|
},
|
|
1910
2033
|
"isOptional": false,
|
|
1911
2034
|
"isSpread": false
|
|
@@ -2021,7 +2144,12 @@
|
|
|
2021
2144
|
"line": 38,
|
|
2022
2145
|
"character": 41
|
|
2023
2146
|
},
|
|
2024
|
-
"name": "ComponentID"
|
|
2147
|
+
"name": "ComponentID",
|
|
2148
|
+
"componentId": {
|
|
2149
|
+
"scope": "teambit.component",
|
|
2150
|
+
"name": "component-id",
|
|
2151
|
+
"version": "1.2.0"
|
|
2152
|
+
}
|
|
2025
2153
|
}
|
|
2026
2154
|
},
|
|
2027
2155
|
"isOptional": false,
|
|
@@ -2086,7 +2214,8 @@
|
|
|
2086
2214
|
"line": 45,
|
|
2087
2215
|
"character": 38
|
|
2088
2216
|
},
|
|
2089
|
-
"name": "OnPreWatch"
|
|
2217
|
+
"name": "OnPreWatch",
|
|
2218
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
2090
2219
|
},
|
|
2091
2220
|
"isOptional": false,
|
|
2092
2221
|
"isSpread": false
|
|
@@ -2199,7 +2328,11 @@
|
|
|
2199
2328
|
"line": 64,
|
|
2200
2329
|
"character": 7
|
|
2201
2330
|
},
|
|
2202
|
-
"name": "CLIMain"
|
|
2331
|
+
"name": "CLIMain",
|
|
2332
|
+
"componentId": {
|
|
2333
|
+
"scope": "teambit.harmony",
|
|
2334
|
+
"name": "cli"
|
|
2335
|
+
}
|
|
2203
2336
|
},
|
|
2204
2337
|
{
|
|
2205
2338
|
"__schema": "TypeRefSchema",
|
|
@@ -2208,7 +2341,11 @@
|
|
|
2208
2341
|
"line": 65,
|
|
2209
2342
|
"character": 7
|
|
2210
2343
|
},
|
|
2211
|
-
"name": "Workspace"
|
|
2344
|
+
"name": "Workspace",
|
|
2345
|
+
"componentId": {
|
|
2346
|
+
"scope": "teambit.workspace",
|
|
2347
|
+
"name": "workspace"
|
|
2348
|
+
}
|
|
2212
2349
|
},
|
|
2213
2350
|
{
|
|
2214
2351
|
"__schema": "TypeRefSchema",
|
|
@@ -2217,7 +2354,11 @@
|
|
|
2217
2354
|
"line": 66,
|
|
2218
2355
|
"character": 7
|
|
2219
2356
|
},
|
|
2220
|
-
"name": "ScopeMain"
|
|
2357
|
+
"name": "ScopeMain",
|
|
2358
|
+
"componentId": {
|
|
2359
|
+
"scope": "teambit.scope",
|
|
2360
|
+
"name": "scope"
|
|
2361
|
+
}
|
|
2221
2362
|
},
|
|
2222
2363
|
{
|
|
2223
2364
|
"__schema": "TypeRefSchema",
|
|
@@ -2226,7 +2367,11 @@
|
|
|
2226
2367
|
"line": 67,
|
|
2227
2368
|
"character": 7
|
|
2228
2369
|
},
|
|
2229
|
-
"name": "PubsubMain"
|
|
2370
|
+
"name": "PubsubMain",
|
|
2371
|
+
"componentId": {
|
|
2372
|
+
"scope": "teambit.harmony",
|
|
2373
|
+
"name": "pubsub"
|
|
2374
|
+
}
|
|
2230
2375
|
},
|
|
2231
2376
|
{
|
|
2232
2377
|
"__schema": "TypeRefSchema",
|
|
@@ -2235,7 +2380,11 @@
|
|
|
2235
2380
|
"line": 68,
|
|
2236
2381
|
"character": 7
|
|
2237
2382
|
},
|
|
2238
|
-
"name": "LoggerMain"
|
|
2383
|
+
"name": "LoggerMain",
|
|
2384
|
+
"componentId": {
|
|
2385
|
+
"scope": "teambit.harmony",
|
|
2386
|
+
"name": "logger"
|
|
2387
|
+
}
|
|
2239
2388
|
},
|
|
2240
2389
|
{
|
|
2241
2390
|
"__schema": "TypeRefSchema",
|
|
@@ -2244,7 +2393,11 @@
|
|
|
2244
2393
|
"line": 69,
|
|
2245
2394
|
"character": 7
|
|
2246
2395
|
},
|
|
2247
|
-
"name": "IpcEventsMain"
|
|
2396
|
+
"name": "IpcEventsMain",
|
|
2397
|
+
"componentId": {
|
|
2398
|
+
"scope": "teambit.harmony",
|
|
2399
|
+
"name": "ipc-events"
|
|
2400
|
+
}
|
|
2248
2401
|
},
|
|
2249
2402
|
{
|
|
2250
2403
|
"__schema": "TypeRefSchema",
|
|
@@ -2253,7 +2406,11 @@
|
|
|
2253
2406
|
"line": 70,
|
|
2254
2407
|
"character": 7
|
|
2255
2408
|
},
|
|
2256
|
-
"name": "GlobalConfigMain"
|
|
2409
|
+
"name": "GlobalConfigMain",
|
|
2410
|
+
"componentId": {
|
|
2411
|
+
"scope": "teambit.harmony",
|
|
2412
|
+
"name": "global-config"
|
|
2413
|
+
}
|
|
2257
2414
|
}
|
|
2258
2415
|
]
|
|
2259
2416
|
},
|
|
@@ -2303,7 +2460,8 @@
|
|
|
2303
2460
|
"line": 73,
|
|
2304
2461
|
"character": 24
|
|
2305
2462
|
},
|
|
2306
|
-
"name": "OnPreWatchSlot"
|
|
2463
|
+
"name": "OnPreWatchSlot",
|
|
2464
|
+
"internalFilePath": "watcher.main.runtime.ts"
|
|
2307
2465
|
}
|
|
2308
2466
|
]
|
|
2309
2467
|
},
|
|
@@ -2394,7 +2552,7 @@
|
|
|
2394
2552
|
"componentId": {
|
|
2395
2553
|
"scope": "teambit.workspace",
|
|
2396
2554
|
"name": "watcher",
|
|
2397
|
-
"version": "1.0.
|
|
2555
|
+
"version": "1.0.189"
|
|
2398
2556
|
},
|
|
2399
2557
|
"taggedModuleExports": []
|
|
2400
2558
|
}
|
package/dist/check-types.d.ts
CHANGED
package/dist/check-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CheckTypes","exports"],"sources":["check-types.ts"],"sourcesContent":["export enum CheckTypes {\n None, // keep this. it equals zero. this way we can do \"if checkTypes() ... \"\n EntireProject,\n ChangedFile,\n}\n"],"mappings":";;;;;;IAAYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA"}
|
|
1
|
+
{"version":3,"names":["CheckTypes","exports"],"sources":["check-types.ts"],"sourcesContent":["export enum CheckTypes {\n None, // keep this. it equals zero. this way we can do \"if checkTypes() ... \"\n EntireProject,\n ChangedFile,\n}\n"],"mappings":";;;;;;IAAYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_watcher","data","require","_checkTypes","_default","exports","default","WatcherAspect"],"sources":["index.ts"],"sourcesContent":["import { WatcherAspect } from './watcher.aspect';\n\nexport type { WatchOptions } from './watcher';\nexport { CheckTypes } from './check-types';\nexport type { WatcherMain } from './watcher.main.runtime';\nexport default WatcherAspect;\nexport { WatcherAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE5BC,wBAAa"}
|
|
1
|
+
{"version":3,"names":["_watcher","data","require","_checkTypes","_default","exports","default","WatcherAspect"],"sources":["index.ts"],"sourcesContent":["import { WatcherAspect } from './watcher.aspect';\n\nexport type { WatchOptions } from './watcher';\nexport { CheckTypes } from './check-types';\nexport type { WatcherMain } from './watcher.main.runtime';\nexport default WatcherAspect;\nexport { WatcherAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAE,YAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE5BC,wBAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_logger","data","require","_chalk","_interopRequireDefault","obj","__esModule","default","verboseComponentFilesArrayToString","componentFiles","reduce","outputString","filePath","resultsForExtensionArrayToString","resultsForExtension","verbose","resultForExtension","Logger","successSymbol","component","componentFilesAsString","formatWatchPathsSortByComponent","trackDirs","Object","keys","watchPath","chalk","underline","exports","formatCompileResults","compileResults","length","Array","isArray","filter","compileResult","results","map","extensionId","buildResults"],"sources":["output-formatter.ts"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport { OnComponentEventResult } from '@teambit/workspace';\nimport chalk from 'chalk';\n\nconst verboseComponentFilesArrayToString = (componentFiles = []) => {\n return componentFiles.reduce((outputString, filePath) => `${outputString} \\t - ${filePath}\\n`, ``);\n};\n\nconst resultsForExtensionArrayToString = (resultsForExtension, verbose) => {\n return resultsForExtension.reduce(\n (outputString, resultForExtension) =>\n `${outputString}${Logger.successSymbol()}SUCCESS\\t${resultForExtension.component}\\n\n ${verbose ? resultForExtension.componentFilesAsString : ''}\\n`,\n ''\n );\n};\n\nexport const formatWatchPathsSortByComponent = (trackDirs) => {\n return Object.keys(trackDirs).reduce(\n (outputString, watchPath) =>\n `${outputString}\n ${Logger.successSymbol()} SUCCESS\\t${trackDirs[watchPath]}\\n\n \\t - ${watchPath}\\n\\n`,\n ` ${chalk.underline('STATUS\\t\\tCOMPONENT ID')}\\n`\n );\n};\n\n/**\n * todo: this was implemented incorrectly.\n * the original idea of `SerializableResults` was to have each one of the aspects registered to the slot, the\n * ability to have their own formatting to their results, and then `toString()` method to print them.\n * Here, the printing is specifically to the Compiler aspect. It should move to where it belongs.\n */\nexport function formatCompileResults(compileResults: OnComponentEventResult[], verbose: boolean) {\n if (!compileResults.length || !Array.isArray(compileResults)) return '';\n return compileResults\n .filter((compileResult) => compileResult.results?.results && Array.isArray(compileResult.results?.results))\n .map((compileResult) => ({\n extensionId: compileResult.extensionId,\n resultsForExtension: compileResult.results?.results?.map((resultForExtension) => ({\n component: resultForExtension.component,\n componentFilesAsString: verboseComponentFilesArrayToString(resultForExtension.buildResults),\n })),\n }))\n .reduce(\n (outputString, compileResult) =>\n `${outputString}\n ${resultsForExtensionArrayToString(compileResult.resultsForExtension, verbose)}`,\n ` ${chalk.underline('STATUS\\tCOMPONENT ID')}`\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1B,MAAMG,kCAAkC,GAAGA,CAACC,cAAc,GAAG,EAAE,KAAK;EAClE,OAAOA,cAAc,CAACC,MAAM,CAAC,CAACC,YAAY,EAAEC,QAAQ,KAAM,GAAED,YAAa,SAAQC,QAAS,IAAG,EAAG,EAAC,CAAC;AACpG,CAAC;AAED,MAAMC,gCAAgC,GAAGA,CAACC,mBAAmB,EAAEC,OAAO,KAAK;EACzE,OAAOD,mBAAmB,CAACJ,MAAM,CAC/B,CAACC,YAAY,EAAEK,kBAAkB,KAC9B,GAAEL,YAAa,GAAEM,gBAAM,CAACC,aAAa,CAAC,CAAE,YAAWF,kBAAkB,CAACG,SAAU;AACvF,OAAOJ,OAAO,GAAGC,kBAAkB,CAACI,sBAAsB,GAAG,EAAG,IAAG,EAC/D,EACF,CAAC;AACH,CAAC;AAEM,MAAMC,+BAA+B,GAAIC,SAAS,IAAK;EAC5D,OAAOC,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACZ,MAAM,CAClC,CAACC,YAAY,EAAEc,SAAS,KACrB,GAAEd,YAAa;AACtB,MAAMM,gBAAM,CAACC,aAAa,CAAC,CAAE,aAAYI,SAAS,CAACG,SAAS,CAAE;AAC9D,WAAWA,SAAU,MAAK,EACrB,IAAGC,gBAAK,CAACC,SAAS,CAAC,wBAAwB,CAAE,IAChD,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAP,+BAAA,GAAAA,+BAAA;AAMO,SAASQ,oBAAoBA,CAACC,cAAwC,EAAEf,OAAgB,EAAE;EAC/F,IAAI,CAACe,cAAc,CAACC,MAAM,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,cAAc,CAAC,EAAE,OAAO,EAAE;EACvE,OAAOA,cAAc,CAClBI,MAAM,CAAEC,aAAa,IAAKA,aAAa,CAACC,OAAO,EAAEA,OAAO,IAAIJ,KAAK,CAACC,OAAO,CAACE,aAAa,CAACC,OAAO,EAAEA,OAAO,CAAC,CAAC,CAC1GC,GAAG,CAAEF,aAAa,KAAM;IACvBG,WAAW,EAAEH,aAAa,CAACG,WAAW;IACtCxB,mBAAmB,EAAEqB,aAAa,CAACC,OAAO,EAAEA,OAAO,EAAEC,GAAG,CAAErB,kBAAkB,KAAM;MAChFG,SAAS,EAAEH,kBAAkB,CAACG,SAAS;MACvCC,sBAAsB,EAAEZ,kCAAkC,CAACQ,kBAAkB,CAACuB,YAAY;IAC5F,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC,CACF7B,MAAM,CACL,CAACC,YAAY,EAAEwB,aAAa,KACzB,GAAExB,YAAa;AACxB,IAAIE,gCAAgC,CAACsB,aAAa,CAACrB,mBAAmB,EAAEC,OAAO,CAAE,EAAC,EAC3E,IAAGW,gBAAK,CAACC,SAAS,CAAC,sBAAsB,CAAE,EAC9C,CAAC;AACL"}
|
|
1
|
+
{"version":3,"names":["_logger","data","require","_chalk","_interopRequireDefault","obj","__esModule","default","verboseComponentFilesArrayToString","componentFiles","reduce","outputString","filePath","resultsForExtensionArrayToString","resultsForExtension","verbose","resultForExtension","Logger","successSymbol","component","componentFilesAsString","formatWatchPathsSortByComponent","trackDirs","Object","keys","watchPath","chalk","underline","exports","formatCompileResults","compileResults","length","Array","isArray","filter","compileResult","results","map","extensionId","buildResults"],"sources":["output-formatter.ts"],"sourcesContent":["import { Logger } from '@teambit/logger';\nimport { OnComponentEventResult } from '@teambit/workspace';\nimport chalk from 'chalk';\n\nconst verboseComponentFilesArrayToString = (componentFiles = []) => {\n return componentFiles.reduce((outputString, filePath) => `${outputString} \\t - ${filePath}\\n`, ``);\n};\n\nconst resultsForExtensionArrayToString = (resultsForExtension, verbose) => {\n return resultsForExtension.reduce(\n (outputString, resultForExtension) =>\n `${outputString}${Logger.successSymbol()}SUCCESS\\t${resultForExtension.component}\\n\n ${verbose ? resultForExtension.componentFilesAsString : ''}\\n`,\n ''\n );\n};\n\nexport const formatWatchPathsSortByComponent = (trackDirs) => {\n return Object.keys(trackDirs).reduce(\n (outputString, watchPath) =>\n `${outputString}\n ${Logger.successSymbol()} SUCCESS\\t${trackDirs[watchPath]}\\n\n \\t - ${watchPath}\\n\\n`,\n ` ${chalk.underline('STATUS\\t\\tCOMPONENT ID')}\\n`\n );\n};\n\n/**\n * todo: this was implemented incorrectly.\n * the original idea of `SerializableResults` was to have each one of the aspects registered to the slot, the\n * ability to have their own formatting to their results, and then `toString()` method to print them.\n * Here, the printing is specifically to the Compiler aspect. It should move to where it belongs.\n */\nexport function formatCompileResults(compileResults: OnComponentEventResult[], verbose: boolean) {\n if (!compileResults.length || !Array.isArray(compileResults)) return '';\n return compileResults\n .filter((compileResult) => compileResult.results?.results && Array.isArray(compileResult.results?.results))\n .map((compileResult) => ({\n extensionId: compileResult.extensionId,\n resultsForExtension: compileResult.results?.results?.map((resultForExtension) => ({\n component: resultForExtension.component,\n componentFilesAsString: verboseComponentFilesArrayToString(resultForExtension.buildResults),\n })),\n }))\n .reduce(\n (outputString, compileResult) =>\n `${outputString}\n ${resultsForExtensionArrayToString(compileResult.resultsForExtension, verbose)}`,\n ` ${chalk.underline('STATUS\\tCOMPONENT ID')}`\n );\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,OAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,MAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1B,MAAMG,kCAAkC,GAAGA,CAACC,cAAc,GAAG,EAAE,KAAK;EAClE,OAAOA,cAAc,CAACC,MAAM,CAAC,CAACC,YAAY,EAAEC,QAAQ,KAAM,GAAED,YAAa,SAAQC,QAAS,IAAG,EAAG,EAAC,CAAC;AACpG,CAAC;AAED,MAAMC,gCAAgC,GAAGA,CAACC,mBAAmB,EAAEC,OAAO,KAAK;EACzE,OAAOD,mBAAmB,CAACJ,MAAM,CAC/B,CAACC,YAAY,EAAEK,kBAAkB,KAC9B,GAAEL,YAAa,GAAEM,gBAAM,CAACC,aAAa,CAAC,CAAE,YAAWF,kBAAkB,CAACG,SAAU;AACvF,OAAOJ,OAAO,GAAGC,kBAAkB,CAACI,sBAAsB,GAAG,EAAG,IAAG,EAC/D,EACF,CAAC;AACH,CAAC;AAEM,MAAMC,+BAA+B,GAAIC,SAAS,IAAK;EAC5D,OAAOC,MAAM,CAACC,IAAI,CAACF,SAAS,CAAC,CAACZ,MAAM,CAClC,CAACC,YAAY,EAAEc,SAAS,KACrB,GAAEd,YAAa;AACtB,MAAMM,gBAAM,CAACC,aAAa,CAAC,CAAE,aAAYI,SAAS,CAACG,SAAS,CAAE;AAC9D,WAAWA,SAAU,MAAK,EACrB,IAAGC,gBAAK,CAACC,SAAS,CAAC,wBAAwB,CAAE,IAChD,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAC,OAAA,CAAAP,+BAAA,GAAAA,+BAAA;AAMO,SAASQ,oBAAoBA,CAACC,cAAwC,EAAEf,OAAgB,EAAE;EAC/F,IAAI,CAACe,cAAc,CAACC,MAAM,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,cAAc,CAAC,EAAE,OAAO,EAAE;EACvE,OAAOA,cAAc,CAClBI,MAAM,CAAEC,aAAa,IAAKA,aAAa,CAACC,OAAO,EAAEA,OAAO,IAAIJ,KAAK,CAACC,OAAO,CAACE,aAAa,CAACC,OAAO,EAAEA,OAAO,CAAC,CAAC,CAC1GC,GAAG,CAAEF,aAAa,KAAM;IACvBG,WAAW,EAAEH,aAAa,CAACG,WAAW;IACtCxB,mBAAmB,EAAEqB,aAAa,CAACC,OAAO,EAAEA,OAAO,EAAEC,GAAG,CAAErB,kBAAkB,KAAM;MAChFG,SAAS,EAAEH,kBAAkB,CAACG,SAAS;MACvCC,sBAAsB,EAAEZ,kCAAkC,CAACQ,kBAAkB,CAACuB,YAAY;IAC5F,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC,CACF7B,MAAM,CACL,CAACC,YAAY,EAAEwB,aAAa,KACzB,GAAExB,YAAa;AACxB,IAAIE,gCAAgC,CAACsB,aAAa,CAACrB,mBAAmB,EAAEC,OAAO,CAAE,EAAC,EAC3E,IAAGW,gBAAK,CAACC,SAAS,CAAC,sBAAsB,CAAE,EAC9C,CAAC;AACL","ignoreList":[]}
|
package/dist/watch-queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pQueue","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WatchQueue","constructor","concurrency","queue","PQueue","autoStart","getQueue","add","fn","priority","onIdle","exports"],"sources":["watch-queue.ts"],"sourcesContent":["import PQueue from 'p-queue';\n\nexport class WatchQueue {\n private queue: PQueue;\n constructor(concurrency = 1) {\n this.queue = new PQueue({ concurrency, autoStart: true });\n }\n getQueue() {\n return this.queue;\n }\n add<T>(fn: () => T, priority?: number): Promise<T> {\n return this.queue.add(fn, { priority });\n }\n onIdle(): Promise<void> {\n return this.queue.onIdle();\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEtB,MAAMW,UAAU,CAAC;EAEtBC,WAAWA,CAACC,WAAW,GAAG,CAAC,EAAE;IAAAtB,eAAA;IAC3B,IAAI,CAACuB,KAAK,GAAG,KAAIC,iBAAM,EAAC;MAAEF,WAAW;MAAEG,SAAS,EAAE;IAAK,CAAC,CAAC;EAC3D;EACAC,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACH,KAAK;EACnB;EACAI,GAAGA,CAAIC,EAAW,EAAEC,QAAiB,EAAc;IACjD,OAAO,IAAI,CAACN,KAAK,CAACI,GAAG,CAACC,EAAE,EAAE;MAAEC;IAAS,CAAC,CAAC;EACzC;EACAC,MAAMA,CAAA,EAAkB;IACtB,OAAO,IAAI,CAACP,KAAK,CAACO,MAAM,CAAC,CAAC;EAC5B;AACF;AAACC,OAAA,CAAAX,UAAA,GAAAA,UAAA"}
|
|
1
|
+
{"version":3,"names":["_pQueue","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WatchQueue","constructor","concurrency","queue","PQueue","autoStart","getQueue","add","fn","priority","onIdle","exports"],"sources":["watch-queue.ts"],"sourcesContent":["import PQueue from 'p-queue';\n\nexport class WatchQueue {\n private queue: PQueue;\n constructor(concurrency = 1) {\n this.queue = new PQueue({ concurrency, autoStart: true });\n }\n getQueue() {\n return this.queue;\n }\n add<T>(fn: () => T, priority?: number): Promise<T> {\n return this.queue.add(fn, { priority });\n }\n onIdle(): Promise<void> {\n return this.queue.onIdle();\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEtB,MAAMW,UAAU,CAAC;EAEtBC,WAAWA,CAACC,WAAW,GAAG,CAAC,EAAE;IAAAtB,eAAA;IAC3B,IAAI,CAACuB,KAAK,GAAG,KAAIC,iBAAM,EAAC;MAAEF,WAAW;MAAEG,SAAS,EAAE;IAAK,CAAC,CAAC;EAC3D;EACAC,QAAQA,CAAA,EAAG;IACT,OAAO,IAAI,CAACH,KAAK;EACnB;EACAI,GAAGA,CAAIC,EAAW,EAAEC,QAAiB,EAAc;IACjD,OAAO,IAAI,CAACN,KAAK,CAACI,GAAG,CAACC,EAAE,EAAE;MAAEC;IAAS,CAAC,CAAC;EACzC;EACAC,MAAMA,CAAA,EAAkB;IACtB,OAAO,IAAI,CAACP,KAAK,CAACO,MAAM,CAAC,CAAC;EAC5B;AACF;AAACC,OAAA,CAAAX,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/dist/watch.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_moment","_compiler","_outputFormatter","_checkTypes","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WatchCommand","constructor","pubsub","logger","watcher","event","type","CompilerErrorEvent","TYPE","console","error","registerToEvents","sub","CompilerAspect","id","eventsListener","report","cliArgs","watchCmdOpts","verbose","checkTypes","getCheckTypesEnum","undefined","CheckTypes","None","EntireProject","ChangedFile","Error","watchOpts","msgs","getMessages","compile","preCompile","skipPreCompilation","spawnTSServer","Boolean","watch","exports","onAll","path","onStart","onReady","workspace","watchPathsSortByComponent","clearOutdatedData","formatWatchPathsSortByComponent","chalk","yellow","config","name","moment","format","onChange","args","printOnFileEvent","onAdd","onUnlink","onError","err","eventMsgPlaceholder","filePaths","buildResults","duration","failureMsg","files","join","length","formatCompileResults","process","stdout","write"],"sources":["watch.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport moment from 'moment';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport type { Logger } from '@teambit/logger';\nimport type { BitBaseEvent, PubsubMain } from '@teambit/pubsub';\nimport { OnComponentEventResult } from '@teambit/workspace';\n\n// import IDs and events\nimport { CompilerAspect, CompilerErrorEvent } from '@teambit/compiler';\n\nimport { EventMessages, WatchOptions } from './watcher';\nimport { formatCompileResults, formatWatchPathsSortByComponent } from './output-formatter';\nimport { CheckTypes } from './check-types';\nimport { WatcherMain } from './watcher.main.runtime';\n\nexport type WatchCmdOpts = {\n verbose?: boolean;\n skipPreCompilation?: boolean;\n checkTypes?: string | boolean;\n};\n\nexport class WatchCommand implements Command {\n name = 'watch';\n description = 'automatically recompile modified components (on save)';\n extendedDescription = `by default, the watcher doesn't use polling, to keep the CPU idle.\nif this doesn't work well for you, run \"bit config set watch_use_polling true\" to use polling.`;\n helpUrl = 'reference/compiling/compiler-overview';\n alias = '';\n group = 'development';\n options = [\n ['v', 'verbose', 'show all watch events and compiler verbose output'],\n ['', 'skip-pre-compilation', 'skip compilation step before starting to watch'],\n [\n 't',\n 'check-types [string]',\n 'EXPERIMENTAL. show errors/warnings for types. options are [file, project] to investigate only changed file or entire project. defaults to project',\n ],\n ] as CommandOptions;\n\n constructor(\n /**\n * logger extension.\n */\n private pubsub: PubsubMain,\n\n /**\n * logger extension.\n */\n private logger: Logger,\n\n /**\n * watcher extension.\n */\n private watcher: WatcherMain\n ) {\n this.registerToEvents();\n }\n\n private registerToEvents() {\n this.pubsub.sub(CompilerAspect.id, this.eventsListener);\n }\n\n private eventsListener = (event: BitBaseEvent<any>) => {\n switch (event.type) {\n case CompilerErrorEvent.TYPE:\n this.logger.console(`Watcher error ${event.data.error}, 'error'`);\n break;\n default:\n }\n };\n\n async report(cliArgs: [], watchCmdOpts: WatchCmdOpts) {\n const { verbose, checkTypes } = watchCmdOpts;\n const getCheckTypesEnum = () => {\n switch (checkTypes) {\n case undefined:\n case false:\n return CheckTypes.None;\n case 'project':\n case true: // project is the default\n return CheckTypes.EntireProject;\n case 'file':\n return CheckTypes.ChangedFile;\n default:\n throw new Error(`check-types can be either \"file\" or \"project\". got \"${checkTypes}\"`);\n }\n };\n const watchOpts: WatchOptions = {\n msgs: getMessages(this.logger),\n verbose,\n compile: true,\n preCompile: !watchCmdOpts.skipPreCompilation,\n spawnTSServer: Boolean(checkTypes), // if check-types is enabled, it must spawn the tsserver.\n checkTypes: getCheckTypesEnum(),\n };\n await this.watcher.watch(watchOpts);\n return 'watcher terminated';\n }\n}\n\nfunction getMessages(logger: Logger): EventMessages {\n return {\n onAll: (event: string, path: string) => logger.console(`Event: \"${event}\". Path: ${path}`),\n onStart: () => {},\n onReady: (workspace, watchPathsSortByComponent, verbose?: boolean) => {\n clearOutdatedData();\n if (verbose) {\n logger.console(formatWatchPathsSortByComponent(watchPathsSortByComponent));\n }\n logger.console(\n chalk.yellow(\n `Watching for component changes in workspace ${workspace.config.name} (${moment().format('HH:mm:ss')})...\\n`\n )\n );\n },\n onChange: (...args) => {\n printOnFileEvent(logger, 'changed', ...args);\n },\n onAdd: (...args) => {\n printOnFileEvent(logger, 'added', ...args);\n },\n onUnlink: (...args) => {\n printOnFileEvent(logger, 'removed', ...args);\n },\n onError: (err) => {\n logger.console(`Watcher error ${err}`);\n },\n };\n}\n\nfunction printOnFileEvent(\n logger: Logger,\n eventMsgPlaceholder: 'changed' | 'added' | 'removed',\n filePaths: string[],\n buildResults: OnComponentEventResult[],\n verbose: boolean,\n duration: number,\n failureMsg?: string\n) {\n const files = filePaths.join(', ');\n if (!buildResults.length) {\n if (!failureMsg) {\n if (verbose) logger.console(`The files ${files} have been ${eventMsgPlaceholder}, but nothing to compile\\n\\n`);\n return;\n }\n logger.console(`${failureMsg}\\n\\n`);\n return;\n }\n logger.console(`The file(s) ${files} have been ${eventMsgPlaceholder}.\\n\\n`);\n logger.console(formatCompileResults(buildResults, verbose));\n logger.console(`Finished. (${duration}ms)`);\n logger.console(chalk.yellow(`Watching for component changes (${moment().format('HH:mm:ss')})...`));\n}\n\n/**\n * with console.clear() all history is deleted from the console. this function preserver the history.\n */\nfunction clearOutdatedData() {\n process.stdout.write('\\x1Bc');\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_moment","_compiler","_outputFormatter","_checkTypes","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WatchCommand","constructor","pubsub","logger","watcher","event","type","CompilerErrorEvent","TYPE","console","error","registerToEvents","sub","CompilerAspect","id","eventsListener","report","cliArgs","watchCmdOpts","verbose","checkTypes","getCheckTypesEnum","undefined","CheckTypes","None","EntireProject","ChangedFile","Error","watchOpts","msgs","getMessages","compile","preCompile","skipPreCompilation","spawnTSServer","Boolean","watch","exports","onAll","path","onStart","onReady","workspace","watchPathsSortByComponent","clearOutdatedData","formatWatchPathsSortByComponent","chalk","yellow","config","name","moment","format","onChange","args","printOnFileEvent","onAdd","onUnlink","onError","err","eventMsgPlaceholder","filePaths","buildResults","duration","failureMsg","files","join","length","formatCompileResults","process","stdout","write"],"sources":["watch.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport moment from 'moment';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport type { Logger } from '@teambit/logger';\nimport type { BitBaseEvent, PubsubMain } from '@teambit/pubsub';\nimport { OnComponentEventResult } from '@teambit/workspace';\n\n// import IDs and events\nimport { CompilerAspect, CompilerErrorEvent } from '@teambit/compiler';\n\nimport { EventMessages, WatchOptions } from './watcher';\nimport { formatCompileResults, formatWatchPathsSortByComponent } from './output-formatter';\nimport { CheckTypes } from './check-types';\nimport { WatcherMain } from './watcher.main.runtime';\n\nexport type WatchCmdOpts = {\n verbose?: boolean;\n skipPreCompilation?: boolean;\n checkTypes?: string | boolean;\n};\n\nexport class WatchCommand implements Command {\n name = 'watch';\n description = 'automatically recompile modified components (on save)';\n extendedDescription = `by default, the watcher doesn't use polling, to keep the CPU idle.\nif this doesn't work well for you, run \"bit config set watch_use_polling true\" to use polling.`;\n helpUrl = 'reference/compiling/compiler-overview';\n alias = '';\n group = 'development';\n options = [\n ['v', 'verbose', 'show all watch events and compiler verbose output'],\n ['', 'skip-pre-compilation', 'skip compilation step before starting to watch'],\n [\n 't',\n 'check-types [string]',\n 'EXPERIMENTAL. show errors/warnings for types. options are [file, project] to investigate only changed file or entire project. defaults to project',\n ],\n ] as CommandOptions;\n\n constructor(\n /**\n * logger extension.\n */\n private pubsub: PubsubMain,\n\n /**\n * logger extension.\n */\n private logger: Logger,\n\n /**\n * watcher extension.\n */\n private watcher: WatcherMain\n ) {\n this.registerToEvents();\n }\n\n private registerToEvents() {\n this.pubsub.sub(CompilerAspect.id, this.eventsListener);\n }\n\n private eventsListener = (event: BitBaseEvent<any>) => {\n switch (event.type) {\n case CompilerErrorEvent.TYPE:\n this.logger.console(`Watcher error ${event.data.error}, 'error'`);\n break;\n default:\n }\n };\n\n async report(cliArgs: [], watchCmdOpts: WatchCmdOpts) {\n const { verbose, checkTypes } = watchCmdOpts;\n const getCheckTypesEnum = () => {\n switch (checkTypes) {\n case undefined:\n case false:\n return CheckTypes.None;\n case 'project':\n case true: // project is the default\n return CheckTypes.EntireProject;\n case 'file':\n return CheckTypes.ChangedFile;\n default:\n throw new Error(`check-types can be either \"file\" or \"project\". got \"${checkTypes}\"`);\n }\n };\n const watchOpts: WatchOptions = {\n msgs: getMessages(this.logger),\n verbose,\n compile: true,\n preCompile: !watchCmdOpts.skipPreCompilation,\n spawnTSServer: Boolean(checkTypes), // if check-types is enabled, it must spawn the tsserver.\n checkTypes: getCheckTypesEnum(),\n };\n await this.watcher.watch(watchOpts);\n return 'watcher terminated';\n }\n}\n\nfunction getMessages(logger: Logger): EventMessages {\n return {\n onAll: (event: string, path: string) => logger.console(`Event: \"${event}\". Path: ${path}`),\n onStart: () => {},\n onReady: (workspace, watchPathsSortByComponent, verbose?: boolean) => {\n clearOutdatedData();\n if (verbose) {\n logger.console(formatWatchPathsSortByComponent(watchPathsSortByComponent));\n }\n logger.console(\n chalk.yellow(\n `Watching for component changes in workspace ${workspace.config.name} (${moment().format('HH:mm:ss')})...\\n`\n )\n );\n },\n onChange: (...args) => {\n printOnFileEvent(logger, 'changed', ...args);\n },\n onAdd: (...args) => {\n printOnFileEvent(logger, 'added', ...args);\n },\n onUnlink: (...args) => {\n printOnFileEvent(logger, 'removed', ...args);\n },\n onError: (err) => {\n logger.console(`Watcher error ${err}`);\n },\n };\n}\n\nfunction printOnFileEvent(\n logger: Logger,\n eventMsgPlaceholder: 'changed' | 'added' | 'removed',\n filePaths: string[],\n buildResults: OnComponentEventResult[],\n verbose: boolean,\n duration: number,\n failureMsg?: string\n) {\n const files = filePaths.join(', ');\n if (!buildResults.length) {\n if (!failureMsg) {\n if (verbose) logger.console(`The files ${files} have been ${eventMsgPlaceholder}, but nothing to compile\\n\\n`);\n return;\n }\n logger.console(`${failureMsg}\\n\\n`);\n return;\n }\n logger.console(`The file(s) ${files} have been ${eventMsgPlaceholder}.\\n\\n`);\n logger.console(formatCompileResults(buildResults, verbose));\n logger.console(`Finished. (${duration}ms)`);\n logger.console(chalk.yellow(`Watching for component changes (${moment().format('HH:mm:ss')})...`));\n}\n\n/**\n * with console.clear() all history is deleted from the console. this function preserver the history.\n */\nfunction clearOutdatedData() {\n process.stdout.write('\\x1Bc');\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_harmony","data","require","WatcherAspect","exports","Aspect","create","id"],"sources":["watcher.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const WatcherAspect = Aspect.create({\n id: 'teambit.workspace/watcher',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EACzCC,EAAE,EAAE;AACN,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["_harmony","data","require","WatcherAspect","exports","Aspect","create","id"],"sources":["watcher.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const WatcherAspect = Aspect.create({\n id: 'teambit.workspace/watcher',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EACzCC,EAAE,EAAE;AACN,CAAC,CAAC","ignoreList":[]}
|
package/dist/watcher.js
CHANGED
|
@@ -441,7 +441,7 @@ class Watcher {
|
|
|
441
441
|
async setTrackDirs() {
|
|
442
442
|
this.trackDirs = {};
|
|
443
443
|
const componentsFromBitMap = this.consumer.bitMap.getAllComponents();
|
|
444
|
-
componentsFromBitMap.map(
|
|
444
|
+
componentsFromBitMap.map(componentMap => {
|
|
445
445
|
const componentId = componentMap.id;
|
|
446
446
|
const rootDir = componentMap.getRootDir();
|
|
447
447
|
this.trackDirs[rootDir] = componentId;
|
package/dist/watcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_lodash","_loader","_constants","_logger","_utils","_pMapSeries","_chalk","_unmergedComponents","_chokidar","_workspace","_watchQueue","_excluded","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","DEBOUNCE_WAIT_MS","Watcher","constructor","workspace","pubsub","watcherMain","options","WatchQueue","ipcEventsDir","ipcEvents","eventsDir","verbose","consumer","watch","_this$options","msgs","watchOpts","setTrackDirs","componentIds","values","trackDirs","triggerOnPreWatch","createWatcher","watcher","fsWatcher","onStart","scope","watchScopeInternalFiles","Promise","resolve","reject","onAll","on","onReady","loader","stop","event","filePath","startTime","Date","getTime","files","results","debounced","irrelevant","failureMsg","handleChange","duration","onChange","err","onError","endsWith","BIT_MAP","bitMapChangesInProgress","buildResults","watchQueue","add","handleBitmapChanges","onIdle","dirname","eventName","basename","logger","warn","triggerGotEvent","WORKSPACE_JSONC","triggerOnWorkspaceConfigChange","UNMERGED_FILENAME","clearCache","componentId","getComponentIdByPath","compIdStr","toString","changedFilesPerComponent","sleep","triggerCompChanges","undefined","join","msg","error","console","message","ms","setTimeout","updatedComponentId","hasId","ids","listIds","find","id","isEqual","ignoreVersion","debug","clearComponentCache","component","get","componentMap","state","_consumer","Error","compFilesRelativeToWorkspace","getFilesRelativeToConsumer","compFiles","nonCompFiles","partition","relativeFile","getRelativePathLinux","Boolean","p","removedFiles","compact","all","map","fs","pathExists","toStringWithoutVersion","bitMap","updateComponentPaths","f","getPathRelativeToConsumer","executeWatchOperationsOnComponent","previewsTrackDirs","_reloadConsumer","triggerOnBitmapChange","newDirs","difference","removedDirs","addResults","mapSeries","dir","flat","executeWatchOperationsOnRemove","chalk","bold","pub","WorkspaceAspect","createOnComponentRemovedEvent","triggerOnComponentRemove","isChange","isComponentWatchedExternally","idStr","createOnComponentChangeEvent","createOnComponentAddEvent","triggerOnComponentChange","triggerOnComponentAdd","OnComponentRemovedEvent","now","hook","OnComponentChangeEvent","OnComponentAddEvent","watcherData","multipleWatchers","m","compilerId","trackDir","findTrackDirByFilePathRecursively","pathNormalizeToLinux","parentDir","usePollingConf","globalConfig","CFG_WATCH_USE_POLLING","usePolling","ignoreLocalScope","pathToCheck","startsWith","path","chokidar","ignoreInitial","ignored","persistent","JSON","stringify","componentsFromBitMap","getAllComponents","rootDir","getRootDir","exports"],"sources":["watcher.ts"],"sourcesContent":["import { PubsubMain } from '@teambit/pubsub';\nimport fs from 'fs-extra';\nimport { dirname, basename } from 'path';\nimport { compact, difference, partition } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BIT_MAP, CFG_WATCH_USE_POLLING, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport mapSeries from 'p-map-series';\nimport chalk from 'chalk';\nimport { ChildProcess } from 'child_process';\nimport { UNMERGED_FILENAME } from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport chokidar, { FSWatcher } from '@teambit/chokidar';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport { PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { CompilationInitiator } from '@teambit/compiler';\nimport {\n WorkspaceAspect,\n Workspace,\n OnComponentEventResult,\n OnComponentChangeEvent,\n OnComponentAddEvent,\n OnComponentRemovedEvent,\n} from '@teambit/workspace';\nimport { CheckTypes } from './check-types';\nimport { WatcherMain } from './watcher.main.runtime';\nimport { WatchQueue } from './watch-queue';\n\nexport type WatcherProcessData = { watchProcess: ChildProcess; compilerId: ComponentID; componentIds: ComponentID[] };\n\nexport type EventMessages = {\n onAll: Function;\n onStart: Function;\n onReady: Function;\n onChange: OnFileEventFunc;\n onAdd: OnFileEventFunc;\n onUnlink: OnFileEventFunc;\n onError: Function;\n};\n\nexport type OnFileEventFunc = (\n filePaths: string[],\n buildResults: OnComponentEventResult[],\n verbose: boolean,\n duration: number,\n failureMsg?: string\n) => void;\n\nexport type WatchOptions = {\n msgs?: EventMessages;\n initiator?: CompilationInitiator;\n verbose?: boolean; // print watch events to the console. (also ts-server events if spawnTSServer is true)\n spawnTSServer?: boolean; // needed for check types and extract API/docs.\n checkTypes?: CheckTypes; // if enabled, the spawnTSServer becomes true.\n preCompile?: boolean; // whether compile all components before start watching\n compile?: boolean; // whether compile modified/added components during watch process\n};\n\nconst DEBOUNCE_WAIT_MS = 100;\ntype PathLinux = string; // ts fails when importing it from @teambit/legacy/dist/utils/path.\n\nexport class Watcher {\n private fsWatcher: FSWatcher;\n private changedFilesPerComponent: { [componentId: string]: string[] } = {};\n private watchQueue = new WatchQueue();\n private bitMapChangesInProgress = false;\n private ipcEventsDir: string;\n private trackDirs: { [dir: PathLinux]: ComponentID } = {};\n private verbose = false;\n private multipleWatchers: WatcherProcessData[] = [];\n constructor(\n private workspace: Workspace,\n private pubsub: PubsubMain,\n private watcherMain: WatcherMain,\n private options: WatchOptions\n ) {\n this.ipcEventsDir = this.watcherMain.ipcEvents.eventsDir;\n this.verbose = this.options.verbose || false;\n }\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async watch() {\n const { msgs, ...watchOpts } = this.options;\n await this.setTrackDirs();\n const componentIds = Object.values(this.trackDirs);\n await this.watcherMain.triggerOnPreWatch(componentIds, watchOpts);\n await this.createWatcher();\n const watcher = this.fsWatcher;\n msgs?.onStart(this.workspace);\n\n await this.workspace.scope.watchScopeInternalFiles();\n\n return new Promise((resolve, reject) => {\n if (this.verbose) {\n // @ts-ignore\n if (msgs?.onAll) watcher.on('all', msgs?.onAll);\n }\n watcher.on('ready', () => {\n msgs?.onReady(this.workspace, this.trackDirs, this.verbose);\n // console.log(this.fsWatcher.getWatched());\n loader.stop();\n });\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n watcher.on('all', async (event, filePath) => {\n if (event !== 'change' && event !== 'add' && event !== 'unlink') return;\n const startTime = new Date().getTime();\n const { files, results, debounced, irrelevant, failureMsg } = await this.handleChange(filePath);\n if (debounced || irrelevant) {\n return;\n }\n const duration = new Date().getTime() - startTime;\n msgs?.onChange(files, results, this.verbose, duration, failureMsg);\n });\n watcher.on('error', (err) => {\n msgs?.onError(err);\n reject(err);\n });\n });\n }\n\n /**\n * *** DEBOUNCING ***\n * some actions trigger multiple files changes at (almost) the same time. e.g. \"git pull\".\n * this causes some performance and instability issues. a debouncing mechanism was implemented to help with this.\n * the way how it works is that the first file of the same component starts the execution with a delay (e.g. 200ms).\n * if, in the meanwhile, another file of the same component was changed, it won't start a new execution, instead,\n * it'll only add the file to `this.changedFilesPerComponent` prop.\n * once the execution starts, it'll delete this component-id from the `this.changedFilesPerComponent` array,\n * indicating the next file-change to start a new execution.\n *\n * implementation wise, `lodash.debounce` doesn't help here, because:\n * A) it doesn't return the results, unless \"leading\" option is true. here, it must be false, otherwise, it'll start\n * the execution immediately.\n * B) it debounces the method regardless the param passes to it. so it'll disregard the component-id and will delay\n * other components undesirably.\n *\n * *** QUEUE ***\n * the debouncing helps to not execute the same component multiple times concurrently. however, multiple components\n * and .bitmap changes execution can still be processed concurrently.\n * the following example explains why this is an issue.\n * compA is changed in the .bitmap file from version 0.0.1 to 0.0.2. its files were changed as well.\n * all these changes get pulled at the same time by \"git pull\", as a result, the execution of compA and the .bitmap\n * happen at the same time.\n * during the execution of compA, the component id is parsed as compA@0.0.1, later, it asks for the Workspace for this\n * id. while the workspace is looking for this id, the .bitmap execution reloaded the consumer and changed all versions.\n * after this change, the workspace doesn't have this id anymore, which will trigger an error.\n * to ensure this won't happen, we keep a flag to indicate whether the .bitmap execution is running, and if so, all\n * other executions are paused until the queue is empty (this is done by awaiting for queue.onIdle).\n * once the queue is empty, we know the .bitmap process was done and the workspace has all new ids.\n * in the example above, at this stage, the id will be resolved to compA@0.0.2.\n * one more thing, the queue is configured to have concurrency of 1. to make sure two components are not processed at\n * the same time. (the same way is done when loading all components from the filesystem/scope).\n * this way we can also ensure that if compA was started before the .bitmap execution, it will complete before the\n * .bitmap execution starts.\n */\n private async handleChange(filePath: string): Promise<{\n results: OnComponentEventResult[];\n files: string[];\n failureMsg?: string;\n debounced?: boolean;\n irrelevant?: boolean; // file/dir is not part of any component\n }> {\n try {\n if (filePath.endsWith(BIT_MAP)) {\n this.bitMapChangesInProgress = true;\n const buildResults = await this.watchQueue.add(() => this.handleBitmapChanges());\n this.bitMapChangesInProgress = false;\n loader.stop();\n return { results: buildResults, files: [filePath] };\n }\n if (this.bitMapChangesInProgress) {\n await this.watchQueue.onIdle();\n }\n if (dirname(filePath) === this.ipcEventsDir) {\n const eventName = basename(filePath);\n if (eventName !== 'onPostInstall') {\n this.watcherMain.logger.warn(`eventName ${eventName} is not recognized, please handle it`);\n }\n await this.watcherMain.ipcEvents.triggerGotEvent(eventName as 'onPostInstall');\n return { results: [], files: [filePath] };\n }\n if (filePath.endsWith(WORKSPACE_JSONC)) {\n await this.workspace.triggerOnWorkspaceConfigChange();\n return { results: [], files: [filePath] };\n }\n if (filePath.endsWith(UNMERGED_FILENAME)) {\n await this.workspace.clearCache();\n return { results: [], files: [filePath] };\n }\n const componentId = this.getComponentIdByPath(filePath);\n if (!componentId) {\n loader.stop();\n return { results: [], files: [], irrelevant: true };\n }\n const compIdStr = componentId.toString();\n if (this.changedFilesPerComponent[compIdStr]) {\n this.changedFilesPerComponent[compIdStr].push(filePath);\n loader.stop();\n return { results: [], files: [], debounced: true };\n }\n this.changedFilesPerComponent[compIdStr] = [filePath];\n await this.sleep(DEBOUNCE_WAIT_MS);\n const files = this.changedFilesPerComponent[compIdStr];\n delete this.changedFilesPerComponent[compIdStr];\n\n const buildResults = await this.watchQueue.add(() => this.triggerCompChanges(componentId, files));\n const failureMsg = buildResults.length\n ? undefined\n : `files ${files.join(', ')} are inside the component ${compIdStr} but configured to be ignored`;\n loader.stop();\n return { results: buildResults, files, failureMsg };\n } catch (err: any) {\n const msg = `watcher found an error while handling ${filePath}`;\n logger.error(msg, err);\n logger.console(`${msg}, ${err.message}`);\n loader.stop();\n return { results: [], files: [filePath], failureMsg: err.message };\n }\n }\n\n private async sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n private async triggerCompChanges(\n componentId: ComponentID,\n files: PathOsBasedAbsolute[]\n ): Promise<OnComponentEventResult[]> {\n let updatedComponentId: ComponentID | undefined = componentId;\n if (!(await this.workspace.hasId(componentId))) {\n // bitmap has changed meanwhile, which triggered `handleBitmapChanges`, which re-loaded consumer and updated versions\n // so the original componentId might not be in the workspace now, and we need to find the updated one\n const ids = this.workspace.listIds();\n updatedComponentId = ids.find((id) => id.isEqual(componentId, { ignoreVersion: true }));\n if (!updatedComponentId) {\n logger.debug(`triggerCompChanges, the component ${componentId.toString()} was probably removed from .bitmap`);\n return [];\n }\n }\n this.workspace.clearComponentCache(updatedComponentId);\n const component = await this.workspace.get(updatedComponentId);\n const componentMap: ComponentMap = component.state._consumer.componentMap;\n if (!componentMap) {\n throw new Error(\n `unable to find componentMap for ${updatedComponentId.toString()}, make sure this component is in .bitmap`\n );\n }\n const compFilesRelativeToWorkspace = componentMap.getFilesRelativeToConsumer();\n const [compFiles, nonCompFiles] = partition(files, (filePath) => {\n const relativeFile = this.getRelativePathLinux(filePath);\n return Boolean(compFilesRelativeToWorkspace.find((p) => p === relativeFile));\n });\n // nonCompFiles are either, files that were removed from the filesystem or existing files that are ignored.\n // the compiler takes care of removedFiles differently, e.g. removes dists dir and old symlinks.\n const removedFiles = compact(\n await Promise.all(nonCompFiles.map(async (filePath) => ((await fs.pathExists(filePath)) ? null : filePath)))\n );\n\n if (!compFiles.length && !removedFiles.length) {\n logger.debug(\n `the following files are part of the component ${componentId.toStringWithoutVersion()} but configured to be ignored:\\n${files.join(\n '\\n'\n )}'`\n );\n return [];\n }\n this.consumer.bitMap.updateComponentPaths(\n componentId,\n compFiles.map((f) => this.consumer.getPathRelativeToConsumer(f)),\n removedFiles.map((f) => this.consumer.getPathRelativeToConsumer(f))\n );\n const buildResults = await this.executeWatchOperationsOnComponent(\n updatedComponentId,\n compFiles,\n removedFiles,\n true\n );\n return buildResults;\n }\n\n /**\n * if .bitmap changed, it's possible that a new component has been added. trigger onComponentAdd.\n */\n private async handleBitmapChanges(): Promise<OnComponentEventResult[]> {\n const previewsTrackDirs = { ...this.trackDirs };\n await this.workspace._reloadConsumer();\n await this.setTrackDirs();\n await this.workspace.triggerOnBitmapChange();\n const newDirs: string[] = difference(Object.keys(this.trackDirs), Object.keys(previewsTrackDirs));\n const removedDirs: string[] = difference(Object.keys(previewsTrackDirs), Object.keys(this.trackDirs));\n const results: OnComponentEventResult[] = [];\n if (newDirs.length) {\n const addResults = await mapSeries(newDirs, async (dir) =>\n this.executeWatchOperationsOnComponent(this.trackDirs[dir], [], [], false)\n );\n results.push(...addResults.flat());\n }\n if (removedDirs.length) {\n await mapSeries(removedDirs, (dir) => this.executeWatchOperationsOnRemove(previewsTrackDirs[dir]));\n }\n\n return results;\n }\n\n private async executeWatchOperationsOnRemove(componentId: ComponentID) {\n logger.debug(`running OnComponentRemove hook for ${chalk.bold(componentId.toString())}`);\n this.pubsub.pub(WorkspaceAspect.id, this.createOnComponentRemovedEvent(componentId.toString()));\n await this.workspace.triggerOnComponentRemove(componentId);\n }\n\n private async executeWatchOperationsOnComponent(\n componentId: ComponentID,\n files: PathOsBasedAbsolute[],\n removedFiles: PathOsBasedAbsolute[] = [],\n isChange = true\n ): Promise<OnComponentEventResult[]> {\n if (this.isComponentWatchedExternally(componentId)) {\n // update capsule, once done, it automatically triggers the external watcher\n await this.workspace.get(componentId);\n return [];\n }\n const idStr = componentId.toString();\n\n if (isChange) {\n logger.debug(`running OnComponentChange hook for ${chalk.bold(idStr)}`);\n this.pubsub.pub(WorkspaceAspect.id, this.createOnComponentChangeEvent(idStr, 'OnComponentChange'));\n } else {\n logger.debug(`running OnComponentAdd hook for ${chalk.bold(idStr)}`);\n this.pubsub.pub(WorkspaceAspect.id, this.createOnComponentAddEvent(idStr, 'OnComponentAdd'));\n }\n\n const buildResults = isChange\n ? await this.workspace.triggerOnComponentChange(componentId, files, removedFiles, this.options)\n : await this.workspace.triggerOnComponentAdd(componentId, this.options);\n\n return buildResults;\n }\n\n private createOnComponentRemovedEvent(idStr) {\n return new OnComponentRemovedEvent(Date.now(), idStr);\n }\n\n private createOnComponentChangeEvent(idStr, hook) {\n return new OnComponentChangeEvent(Date.now(), idStr, hook);\n }\n\n private createOnComponentAddEvent(idStr, hook) {\n return new OnComponentAddEvent(Date.now(), idStr, hook);\n }\n\n private isComponentWatchedExternally(componentId: ComponentID) {\n const watcherData = this.multipleWatchers.find((m) => m.componentIds.find((id) => id.isEqual(componentId)));\n if (watcherData) {\n logger.debug(`${componentId.toString()} is watched by ${watcherData.compilerId.toString()}`);\n return true;\n }\n return false;\n }\n\n private getComponentIdByPath(filePath: string): ComponentID | null {\n const relativeFile = this.getRelativePathLinux(filePath);\n const trackDir = this.findTrackDirByFilePathRecursively(relativeFile);\n if (!trackDir) {\n // the file is not part of any component. If it was a new component, or a new file of\n // existing component, then, handleBitmapChanges() should deal with it.\n return null;\n }\n return this.trackDirs[trackDir];\n }\n\n private getRelativePathLinux(filePath: string) {\n return pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(filePath));\n }\n\n private findTrackDirByFilePathRecursively(filePath: string): string | null {\n if (this.trackDirs[filePath]) return filePath;\n const parentDir = dirname(filePath);\n if (parentDir === filePath) return null;\n return this.findTrackDirByFilePathRecursively(parentDir);\n }\n\n private async createWatcher() {\n const usePollingConf = await this.watcherMain.globalConfig.get(CFG_WATCH_USE_POLLING);\n const usePolling = usePollingConf === 'true';\n // const useFsEventsConf = await this.watcherMain.globalConfig.get(CFG_WATCH_USE_FS_EVENTS);\n // const useFsEvents = useFsEventsConf === 'true';\n const ignoreLocalScope = (pathToCheck: string) => {\n if (pathToCheck.startsWith(this.ipcEventsDir) || pathToCheck.endsWith(UNMERGED_FILENAME)) return false;\n return (\n pathToCheck.startsWith(`${this.workspace.path}/.git/`) || pathToCheck.startsWith(`${this.workspace.path}/.bit/`)\n );\n };\n this.fsWatcher = chokidar.watch(this.workspace.path, {\n ignoreInitial: true,\n // `chokidar` matchers have Bash-parity, so Windows-style backslashes are not supported as separators.\n // (windows-style backslashes are converted to forward slashes)\n ignored: ['**/node_modules/**', '**/package.json', ignoreLocalScope],\n /**\n * default to false, although it causes high CPU usage.\n * see: https://github.com/paulmillr/chokidar/issues/1196#issuecomment-1711033539\n * there is a fix for this in master. once a new version of Chokidar is released, we can upgrade it and then\n * default to true.\n */\n usePolling,\n // useFsEvents,\n persistent: true,\n });\n if (this.verbose) {\n logger.console(`chokidar.options ${JSON.stringify(this.fsWatcher.options, undefined, 2)}`);\n }\n }\n\n private async setTrackDirs() {\n this.trackDirs = {};\n const componentsFromBitMap = this.consumer.bitMap.getAllComponents();\n componentsFromBitMap.map(async (componentMap) => {\n const componentId = componentMap.id;\n const rootDir = componentMap.getRootDir();\n this.trackDirs[rootDir] = componentId;\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_lodash","_loader","_constants","_logger","_utils","_pMapSeries","_chalk","_unmergedComponents","_chokidar","_workspace","_watchQueue","_excluded","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","DEBOUNCE_WAIT_MS","Watcher","constructor","workspace","pubsub","watcherMain","options","WatchQueue","ipcEventsDir","ipcEvents","eventsDir","verbose","consumer","watch","_this$options","msgs","watchOpts","setTrackDirs","componentIds","values","trackDirs","triggerOnPreWatch","createWatcher","watcher","fsWatcher","onStart","scope","watchScopeInternalFiles","Promise","resolve","reject","onAll","on","onReady","loader","stop","event","filePath","startTime","Date","getTime","files","results","debounced","irrelevant","failureMsg","handleChange","duration","onChange","err","onError","endsWith","BIT_MAP","bitMapChangesInProgress","buildResults","watchQueue","add","handleBitmapChanges","onIdle","dirname","eventName","basename","logger","warn","triggerGotEvent","WORKSPACE_JSONC","triggerOnWorkspaceConfigChange","UNMERGED_FILENAME","clearCache","componentId","getComponentIdByPath","compIdStr","toString","changedFilesPerComponent","sleep","triggerCompChanges","undefined","join","msg","error","console","message","ms","setTimeout","updatedComponentId","hasId","ids","listIds","find","id","isEqual","ignoreVersion","debug","clearComponentCache","component","get","componentMap","state","_consumer","Error","compFilesRelativeToWorkspace","getFilesRelativeToConsumer","compFiles","nonCompFiles","partition","relativeFile","getRelativePathLinux","Boolean","p","removedFiles","compact","all","map","fs","pathExists","toStringWithoutVersion","bitMap","updateComponentPaths","f","getPathRelativeToConsumer","executeWatchOperationsOnComponent","previewsTrackDirs","_reloadConsumer","triggerOnBitmapChange","newDirs","difference","removedDirs","addResults","mapSeries","dir","flat","executeWatchOperationsOnRemove","chalk","bold","pub","WorkspaceAspect","createOnComponentRemovedEvent","triggerOnComponentRemove","isChange","isComponentWatchedExternally","idStr","createOnComponentChangeEvent","createOnComponentAddEvent","triggerOnComponentChange","triggerOnComponentAdd","OnComponentRemovedEvent","now","hook","OnComponentChangeEvent","OnComponentAddEvent","watcherData","multipleWatchers","m","compilerId","trackDir","findTrackDirByFilePathRecursively","pathNormalizeToLinux","parentDir","usePollingConf","globalConfig","CFG_WATCH_USE_POLLING","usePolling","ignoreLocalScope","pathToCheck","startsWith","path","chokidar","ignoreInitial","ignored","persistent","JSON","stringify","componentsFromBitMap","getAllComponents","rootDir","getRootDir","exports"],"sources":["watcher.ts"],"sourcesContent":["import { PubsubMain } from '@teambit/pubsub';\nimport fs from 'fs-extra';\nimport { dirname, basename } from 'path';\nimport { compact, difference, partition } from 'lodash';\nimport { ComponentID } from '@teambit/component-id';\nimport loader from '@teambit/legacy/dist/cli/loader';\nimport { BIT_MAP, CFG_WATCH_USE_POLLING, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport mapSeries from 'p-map-series';\nimport chalk from 'chalk';\nimport { ChildProcess } from 'child_process';\nimport { UNMERGED_FILENAME } from '@teambit/legacy/dist/scope/lanes/unmerged-components';\nimport chokidar, { FSWatcher } from '@teambit/chokidar';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport { PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { CompilationInitiator } from '@teambit/compiler';\nimport {\n WorkspaceAspect,\n Workspace,\n OnComponentEventResult,\n OnComponentChangeEvent,\n OnComponentAddEvent,\n OnComponentRemovedEvent,\n} from '@teambit/workspace';\nimport { CheckTypes } from './check-types';\nimport { WatcherMain } from './watcher.main.runtime';\nimport { WatchQueue } from './watch-queue';\n\nexport type WatcherProcessData = { watchProcess: ChildProcess; compilerId: ComponentID; componentIds: ComponentID[] };\n\nexport type EventMessages = {\n onAll: Function;\n onStart: Function;\n onReady: Function;\n onChange: OnFileEventFunc;\n onAdd: OnFileEventFunc;\n onUnlink: OnFileEventFunc;\n onError: Function;\n};\n\nexport type OnFileEventFunc = (\n filePaths: string[],\n buildResults: OnComponentEventResult[],\n verbose: boolean,\n duration: number,\n failureMsg?: string\n) => void;\n\nexport type WatchOptions = {\n msgs?: EventMessages;\n initiator?: CompilationInitiator;\n verbose?: boolean; // print watch events to the console. (also ts-server events if spawnTSServer is true)\n spawnTSServer?: boolean; // needed for check types and extract API/docs.\n checkTypes?: CheckTypes; // if enabled, the spawnTSServer becomes true.\n preCompile?: boolean; // whether compile all components before start watching\n compile?: boolean; // whether compile modified/added components during watch process\n};\n\nconst DEBOUNCE_WAIT_MS = 100;\ntype PathLinux = string; // ts fails when importing it from @teambit/legacy/dist/utils/path.\n\nexport class Watcher {\n private fsWatcher: FSWatcher;\n private changedFilesPerComponent: { [componentId: string]: string[] } = {};\n private watchQueue = new WatchQueue();\n private bitMapChangesInProgress = false;\n private ipcEventsDir: string;\n private trackDirs: { [dir: PathLinux]: ComponentID } = {};\n private verbose = false;\n private multipleWatchers: WatcherProcessData[] = [];\n constructor(\n private workspace: Workspace,\n private pubsub: PubsubMain,\n private watcherMain: WatcherMain,\n private options: WatchOptions\n ) {\n this.ipcEventsDir = this.watcherMain.ipcEvents.eventsDir;\n this.verbose = this.options.verbose || false;\n }\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async watch() {\n const { msgs, ...watchOpts } = this.options;\n await this.setTrackDirs();\n const componentIds = Object.values(this.trackDirs);\n await this.watcherMain.triggerOnPreWatch(componentIds, watchOpts);\n await this.createWatcher();\n const watcher = this.fsWatcher;\n msgs?.onStart(this.workspace);\n\n await this.workspace.scope.watchScopeInternalFiles();\n\n return new Promise((resolve, reject) => {\n if (this.verbose) {\n // @ts-ignore\n if (msgs?.onAll) watcher.on('all', msgs?.onAll);\n }\n watcher.on('ready', () => {\n msgs?.onReady(this.workspace, this.trackDirs, this.verbose);\n // console.log(this.fsWatcher.getWatched());\n loader.stop();\n });\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n watcher.on('all', async (event, filePath) => {\n if (event !== 'change' && event !== 'add' && event !== 'unlink') return;\n const startTime = new Date().getTime();\n const { files, results, debounced, irrelevant, failureMsg } = await this.handleChange(filePath);\n if (debounced || irrelevant) {\n return;\n }\n const duration = new Date().getTime() - startTime;\n msgs?.onChange(files, results, this.verbose, duration, failureMsg);\n });\n watcher.on('error', (err) => {\n msgs?.onError(err);\n reject(err);\n });\n });\n }\n\n /**\n * *** DEBOUNCING ***\n * some actions trigger multiple files changes at (almost) the same time. e.g. \"git pull\".\n * this causes some performance and instability issues. a debouncing mechanism was implemented to help with this.\n * the way how it works is that the first file of the same component starts the execution with a delay (e.g. 200ms).\n * if, in the meanwhile, another file of the same component was changed, it won't start a new execution, instead,\n * it'll only add the file to `this.changedFilesPerComponent` prop.\n * once the execution starts, it'll delete this component-id from the `this.changedFilesPerComponent` array,\n * indicating the next file-change to start a new execution.\n *\n * implementation wise, `lodash.debounce` doesn't help here, because:\n * A) it doesn't return the results, unless \"leading\" option is true. here, it must be false, otherwise, it'll start\n * the execution immediately.\n * B) it debounces the method regardless the param passes to it. so it'll disregard the component-id and will delay\n * other components undesirably.\n *\n * *** QUEUE ***\n * the debouncing helps to not execute the same component multiple times concurrently. however, multiple components\n * and .bitmap changes execution can still be processed concurrently.\n * the following example explains why this is an issue.\n * compA is changed in the .bitmap file from version 0.0.1 to 0.0.2. its files were changed as well.\n * all these changes get pulled at the same time by \"git pull\", as a result, the execution of compA and the .bitmap\n * happen at the same time.\n * during the execution of compA, the component id is parsed as compA@0.0.1, later, it asks for the Workspace for this\n * id. while the workspace is looking for this id, the .bitmap execution reloaded the consumer and changed all versions.\n * after this change, the workspace doesn't have this id anymore, which will trigger an error.\n * to ensure this won't happen, we keep a flag to indicate whether the .bitmap execution is running, and if so, all\n * other executions are paused until the queue is empty (this is done by awaiting for queue.onIdle).\n * once the queue is empty, we know the .bitmap process was done and the workspace has all new ids.\n * in the example above, at this stage, the id will be resolved to compA@0.0.2.\n * one more thing, the queue is configured to have concurrency of 1. to make sure two components are not processed at\n * the same time. (the same way is done when loading all components from the filesystem/scope).\n * this way we can also ensure that if compA was started before the .bitmap execution, it will complete before the\n * .bitmap execution starts.\n */\n private async handleChange(filePath: string): Promise<{\n results: OnComponentEventResult[];\n files: string[];\n failureMsg?: string;\n debounced?: boolean;\n irrelevant?: boolean; // file/dir is not part of any component\n }> {\n try {\n if (filePath.endsWith(BIT_MAP)) {\n this.bitMapChangesInProgress = true;\n const buildResults = await this.watchQueue.add(() => this.handleBitmapChanges());\n this.bitMapChangesInProgress = false;\n loader.stop();\n return { results: buildResults, files: [filePath] };\n }\n if (this.bitMapChangesInProgress) {\n await this.watchQueue.onIdle();\n }\n if (dirname(filePath) === this.ipcEventsDir) {\n const eventName = basename(filePath);\n if (eventName !== 'onPostInstall') {\n this.watcherMain.logger.warn(`eventName ${eventName} is not recognized, please handle it`);\n }\n await this.watcherMain.ipcEvents.triggerGotEvent(eventName as 'onPostInstall');\n return { results: [], files: [filePath] };\n }\n if (filePath.endsWith(WORKSPACE_JSONC)) {\n await this.workspace.triggerOnWorkspaceConfigChange();\n return { results: [], files: [filePath] };\n }\n if (filePath.endsWith(UNMERGED_FILENAME)) {\n await this.workspace.clearCache();\n return { results: [], files: [filePath] };\n }\n const componentId = this.getComponentIdByPath(filePath);\n if (!componentId) {\n loader.stop();\n return { results: [], files: [], irrelevant: true };\n }\n const compIdStr = componentId.toString();\n if (this.changedFilesPerComponent[compIdStr]) {\n this.changedFilesPerComponent[compIdStr].push(filePath);\n loader.stop();\n return { results: [], files: [], debounced: true };\n }\n this.changedFilesPerComponent[compIdStr] = [filePath];\n await this.sleep(DEBOUNCE_WAIT_MS);\n const files = this.changedFilesPerComponent[compIdStr];\n delete this.changedFilesPerComponent[compIdStr];\n\n const buildResults = await this.watchQueue.add(() => this.triggerCompChanges(componentId, files));\n const failureMsg = buildResults.length\n ? undefined\n : `files ${files.join(', ')} are inside the component ${compIdStr} but configured to be ignored`;\n loader.stop();\n return { results: buildResults, files, failureMsg };\n } catch (err: any) {\n const msg = `watcher found an error while handling ${filePath}`;\n logger.error(msg, err);\n logger.console(`${msg}, ${err.message}`);\n loader.stop();\n return { results: [], files: [filePath], failureMsg: err.message };\n }\n }\n\n private async sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n private async triggerCompChanges(\n componentId: ComponentID,\n files: PathOsBasedAbsolute[]\n ): Promise<OnComponentEventResult[]> {\n let updatedComponentId: ComponentID | undefined = componentId;\n if (!(await this.workspace.hasId(componentId))) {\n // bitmap has changed meanwhile, which triggered `handleBitmapChanges`, which re-loaded consumer and updated versions\n // so the original componentId might not be in the workspace now, and we need to find the updated one\n const ids = this.workspace.listIds();\n updatedComponentId = ids.find((id) => id.isEqual(componentId, { ignoreVersion: true }));\n if (!updatedComponentId) {\n logger.debug(`triggerCompChanges, the component ${componentId.toString()} was probably removed from .bitmap`);\n return [];\n }\n }\n this.workspace.clearComponentCache(updatedComponentId);\n const component = await this.workspace.get(updatedComponentId);\n const componentMap: ComponentMap = component.state._consumer.componentMap;\n if (!componentMap) {\n throw new Error(\n `unable to find componentMap for ${updatedComponentId.toString()}, make sure this component is in .bitmap`\n );\n }\n const compFilesRelativeToWorkspace = componentMap.getFilesRelativeToConsumer();\n const [compFiles, nonCompFiles] = partition(files, (filePath) => {\n const relativeFile = this.getRelativePathLinux(filePath);\n return Boolean(compFilesRelativeToWorkspace.find((p) => p === relativeFile));\n });\n // nonCompFiles are either, files that were removed from the filesystem or existing files that are ignored.\n // the compiler takes care of removedFiles differently, e.g. removes dists dir and old symlinks.\n const removedFiles = compact(\n await Promise.all(nonCompFiles.map(async (filePath) => ((await fs.pathExists(filePath)) ? null : filePath)))\n );\n\n if (!compFiles.length && !removedFiles.length) {\n logger.debug(\n `the following files are part of the component ${componentId.toStringWithoutVersion()} but configured to be ignored:\\n${files.join(\n '\\n'\n )}'`\n );\n return [];\n }\n this.consumer.bitMap.updateComponentPaths(\n componentId,\n compFiles.map((f) => this.consumer.getPathRelativeToConsumer(f)),\n removedFiles.map((f) => this.consumer.getPathRelativeToConsumer(f))\n );\n const buildResults = await this.executeWatchOperationsOnComponent(\n updatedComponentId,\n compFiles,\n removedFiles,\n true\n );\n return buildResults;\n }\n\n /**\n * if .bitmap changed, it's possible that a new component has been added. trigger onComponentAdd.\n */\n private async handleBitmapChanges(): Promise<OnComponentEventResult[]> {\n const previewsTrackDirs = { ...this.trackDirs };\n await this.workspace._reloadConsumer();\n await this.setTrackDirs();\n await this.workspace.triggerOnBitmapChange();\n const newDirs: string[] = difference(Object.keys(this.trackDirs), Object.keys(previewsTrackDirs));\n const removedDirs: string[] = difference(Object.keys(previewsTrackDirs), Object.keys(this.trackDirs));\n const results: OnComponentEventResult[] = [];\n if (newDirs.length) {\n const addResults = await mapSeries(newDirs, async (dir) =>\n this.executeWatchOperationsOnComponent(this.trackDirs[dir], [], [], false)\n );\n results.push(...addResults.flat());\n }\n if (removedDirs.length) {\n await mapSeries(removedDirs, (dir) => this.executeWatchOperationsOnRemove(previewsTrackDirs[dir]));\n }\n\n return results;\n }\n\n private async executeWatchOperationsOnRemove(componentId: ComponentID) {\n logger.debug(`running OnComponentRemove hook for ${chalk.bold(componentId.toString())}`);\n this.pubsub.pub(WorkspaceAspect.id, this.createOnComponentRemovedEvent(componentId.toString()));\n await this.workspace.triggerOnComponentRemove(componentId);\n }\n\n private async executeWatchOperationsOnComponent(\n componentId: ComponentID,\n files: PathOsBasedAbsolute[],\n removedFiles: PathOsBasedAbsolute[] = [],\n isChange = true\n ): Promise<OnComponentEventResult[]> {\n if (this.isComponentWatchedExternally(componentId)) {\n // update capsule, once done, it automatically triggers the external watcher\n await this.workspace.get(componentId);\n return [];\n }\n const idStr = componentId.toString();\n\n if (isChange) {\n logger.debug(`running OnComponentChange hook for ${chalk.bold(idStr)}`);\n this.pubsub.pub(WorkspaceAspect.id, this.createOnComponentChangeEvent(idStr, 'OnComponentChange'));\n } else {\n logger.debug(`running OnComponentAdd hook for ${chalk.bold(idStr)}`);\n this.pubsub.pub(WorkspaceAspect.id, this.createOnComponentAddEvent(idStr, 'OnComponentAdd'));\n }\n\n const buildResults = isChange\n ? await this.workspace.triggerOnComponentChange(componentId, files, removedFiles, this.options)\n : await this.workspace.triggerOnComponentAdd(componentId, this.options);\n\n return buildResults;\n }\n\n private createOnComponentRemovedEvent(idStr) {\n return new OnComponentRemovedEvent(Date.now(), idStr);\n }\n\n private createOnComponentChangeEvent(idStr, hook) {\n return new OnComponentChangeEvent(Date.now(), idStr, hook);\n }\n\n private createOnComponentAddEvent(idStr, hook) {\n return new OnComponentAddEvent(Date.now(), idStr, hook);\n }\n\n private isComponentWatchedExternally(componentId: ComponentID) {\n const watcherData = this.multipleWatchers.find((m) => m.componentIds.find((id) => id.isEqual(componentId)));\n if (watcherData) {\n logger.debug(`${componentId.toString()} is watched by ${watcherData.compilerId.toString()}`);\n return true;\n }\n return false;\n }\n\n private getComponentIdByPath(filePath: string): ComponentID | null {\n const relativeFile = this.getRelativePathLinux(filePath);\n const trackDir = this.findTrackDirByFilePathRecursively(relativeFile);\n if (!trackDir) {\n // the file is not part of any component. If it was a new component, or a new file of\n // existing component, then, handleBitmapChanges() should deal with it.\n return null;\n }\n return this.trackDirs[trackDir];\n }\n\n private getRelativePathLinux(filePath: string) {\n return pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(filePath));\n }\n\n private findTrackDirByFilePathRecursively(filePath: string): string | null {\n if (this.trackDirs[filePath]) return filePath;\n const parentDir = dirname(filePath);\n if (parentDir === filePath) return null;\n return this.findTrackDirByFilePathRecursively(parentDir);\n }\n\n private async createWatcher() {\n const usePollingConf = await this.watcherMain.globalConfig.get(CFG_WATCH_USE_POLLING);\n const usePolling = usePollingConf === 'true';\n // const useFsEventsConf = await this.watcherMain.globalConfig.get(CFG_WATCH_USE_FS_EVENTS);\n // const useFsEvents = useFsEventsConf === 'true';\n const ignoreLocalScope = (pathToCheck: string) => {\n if (pathToCheck.startsWith(this.ipcEventsDir) || pathToCheck.endsWith(UNMERGED_FILENAME)) return false;\n return (\n pathToCheck.startsWith(`${this.workspace.path}/.git/`) || pathToCheck.startsWith(`${this.workspace.path}/.bit/`)\n );\n };\n this.fsWatcher = chokidar.watch(this.workspace.path, {\n ignoreInitial: true,\n // `chokidar` matchers have Bash-parity, so Windows-style backslashes are not supported as separators.\n // (windows-style backslashes are converted to forward slashes)\n ignored: ['**/node_modules/**', '**/package.json', ignoreLocalScope],\n /**\n * default to false, although it causes high CPU usage.\n * see: https://github.com/paulmillr/chokidar/issues/1196#issuecomment-1711033539\n * there is a fix for this in master. once a new version of Chokidar is released, we can upgrade it and then\n * default to true.\n */\n usePolling,\n // useFsEvents,\n persistent: true,\n });\n if (this.verbose) {\n logger.console(`chokidar.options ${JSON.stringify(this.fsWatcher.options, undefined, 2)}`);\n }\n }\n\n private async setTrackDirs() {\n this.trackDirs = {};\n const componentsFromBitMap = this.consumer.bitMap.getAllComponents();\n componentsFromBitMap.map((componentMap) => {\n const componentId = componentMap.id;\n const rootDir = componentMap.getRootDir();\n this.trackDirs[rootDir] = componentId;\n });\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,WAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,OAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,YAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,WAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,OAAA;EAAA,MAAAV,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAQ,MAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAW,oBAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,mBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,UAAA;EAAA,MAAAZ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAU,SAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAa,WAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,UAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAc,YAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,WAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,MAAAe,SAAA;AAAA,SAAAd,uBAAAe,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAoB,yBAAAC,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,GAAAC,6BAAA,CAAAH,MAAA,EAAAC,QAAA,OAAAG,GAAA,EAAAC,CAAA,MAAAvB,MAAA,CAAAE,qBAAA,QAAAsB,gBAAA,GAAAxB,MAAA,CAAAE,qBAAA,CAAAgB,MAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAC,gBAAA,CAAAb,MAAA,EAAAY,CAAA,MAAAD,GAAA,GAAAE,gBAAA,CAAAD,CAAA,OAAAJ,QAAA,CAAAM,OAAA,CAAAH,GAAA,uBAAAtB,MAAA,CAAA0B,SAAA,CAAAC,oBAAA,CAAAC,IAAA,CAAAV,MAAA,EAAAI,GAAA,aAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,cAAAF,MAAA;AAAA,SAAAC,8BAAAH,MAAA,EAAAC,QAAA,QAAAD,MAAA,yBAAAE,MAAA,WAAAS,UAAA,GAAA7B,MAAA,CAAAC,IAAA,CAAAiB,MAAA,OAAAI,GAAA,EAAAC,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAM,UAAA,CAAAlB,MAAA,EAAAY,CAAA,MAAAD,GAAA,GAAAO,UAAA,CAAAN,CAAA,OAAAJ,QAAA,CAAAM,OAAA,CAAAH,GAAA,kBAAAF,MAAA,CAAAE,GAAA,IAAAJ,MAAA,CAAAI,GAAA,YAAAF,MAAA;AAAA,SAAAP,gBAAApB,GAAA,EAAA6B,GAAA,EAAAQ,KAAA,IAAAR,GAAA,GAAAS,cAAA,CAAAT,GAAA,OAAAA,GAAA,IAAA7B,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAA6B,GAAA,IAAAQ,KAAA,EAAAA,KAAA,EAAAxB,UAAA,QAAA0B,YAAA,QAAAC,QAAA,oBAAAxC,GAAA,CAAA6B,GAAA,IAAAQ,KAAA,WAAArC,GAAA;AAAA,SAAAsC,eAAAhC,CAAA,QAAAwB,CAAA,GAAAW,YAAA,CAAAnC,CAAA,uCAAAwB,CAAA,GAAAA,CAAA,GAAAY,MAAA,CAAAZ,CAAA;AAAA,SAAAW,aAAAnC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAqC,MAAA,CAAAC,WAAA,kBAAAxC,CAAA,QAAA0B,CAAA,GAAA1B,CAAA,CAAA+B,IAAA,CAAA7B,CAAA,EAAAD,CAAA,uCAAAyB,CAAA,SAAAA,CAAA,YAAAe,SAAA,yEAAAxC,CAAA,GAAAqC,MAAA,GAAAI,MAAA,EAAAxC,CAAA;AAgC3C,MAAMyC,gBAAgB,GAAG,GAAG;AACH;;AAElB,MAAMC,OAAO,CAAC;EASnBC,WAAWA,CACDC,SAAoB,EACpBC,MAAkB,EAClBC,WAAwB,EACxBC,OAAqB,EAC7B;IAAA,KAJQH,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,WAAwB,GAAxBA,WAAwB;IAAA,KACxBC,OAAqB,GAArBA,OAAqB;IAAAjC,eAAA;IAAAA,eAAA,mCAXyC,CAAC,CAAC;IAAAA,eAAA,qBACrD,KAAIkC,wBAAU,EAAC,CAAC;IAAAlC,eAAA,kCACH,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEgB,CAAC,CAAC;IAAAA,eAAA,kBACvC,KAAK;IAAAA,eAAA,2BAC0B,EAAE;IAOjD,IAAI,CAACmC,YAAY,GAAG,IAAI,CAACH,WAAW,CAACI,SAAS,CAACC,SAAS;IACxD,IAAI,CAACC,OAAO,GAAG,IAAI,CAACL,OAAO,CAACK,OAAO,IAAI,KAAK;EAC9C;EAEA,IAAIC,QAAQA,CAAA,EAAa;IACvB,OAAO,IAAI,CAACT,SAAS,CAACS,QAAQ;EAChC;EAEA,MAAMC,KAAKA,CAAA,EAAG;IACZ,MAAAC,aAAA,GAA+B,IAAI,CAACR,OAAO;MAArC;QAAES;MAAmB,CAAC,GAAAD,aAAA;MAAXE,SAAS,GAAAvC,wBAAA,CAAAqC,aAAA,EAAA9D,SAAA;IAC1B,MAAM,IAAI,CAACiE,YAAY,CAAC,CAAC;IACzB,MAAMC,YAAY,GAAG1D,MAAM,CAAC2D,MAAM,CAAC,IAAI,CAACC,SAAS,CAAC;IAClD,MAAM,IAAI,CAACf,WAAW,CAACgB,iBAAiB,CAACH,YAAY,EAAEF,SAAS,CAAC;IACjE,MAAM,IAAI,CAACM,aAAa,CAAC,CAAC;IAC1B,MAAMC,OAAO,GAAG,IAAI,CAACC,SAAS;IAC9BT,IAAI,EAAEU,OAAO,CAAC,IAAI,CAACtB,SAAS,CAAC;IAE7B,MAAM,IAAI,CAACA,SAAS,CAACuB,KAAK,CAACC,uBAAuB,CAAC,CAAC;IAEpD,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,IAAI,IAAI,CAACnB,OAAO,EAAE;QAChB;QACA,IAAII,IAAI,EAAEgB,KAAK,EAAER,OAAO,CAACS,EAAE,CAAC,KAAK,EAAEjB,IAAI,EAAEgB,KAAK,CAAC;MACjD;MACAR,OAAO,CAACS,EAAE,CAAC,OAAO,EAAE,MAAM;QACxBjB,IAAI,EAAEkB,OAAO,CAAC,IAAI,CAAC9B,SAAS,EAAE,IAAI,CAACiB,SAAS,EAAE,IAAI,CAACT,OAAO,CAAC;QAC3D;QACAuB,iBAAM,CAACC,IAAI,CAAC,CAAC;MACf,CAAC,CAAC;MACF;MACAZ,OAAO,CAACS,EAAE,CAAC,KAAK,EAAE,OAAOI,KAAK,EAAEC,QAAQ,KAAK;QAC3C,IAAID,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,KAAK,IAAIA,KAAK,KAAK,QAAQ,EAAE;QACjE,MAAME,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QACtC,MAAM;UAAEC,KAAK;UAAEC,OAAO;UAAEC,SAAS;UAAEC,UAAU;UAAEC;QAAW,CAAC,GAAG,MAAM,IAAI,CAACC,YAAY,CAACT,QAAQ,CAAC;QAC/F,IAAIM,SAAS,IAAIC,UAAU,EAAE;UAC3B;QACF;QACA,MAAMG,QAAQ,GAAG,IAAIR,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,SAAS;QACjDvB,IAAI,EAAEiC,QAAQ,CAACP,KAAK,EAAEC,OAAO,EAAE,IAAI,CAAC/B,OAAO,EAAEoC,QAAQ,EAAEF,UAAU,CAAC;MACpE,CAAC,CAAC;MACFtB,OAAO,CAACS,EAAE,CAAC,OAAO,EAAGiB,GAAG,IAAK;QAC3BlC,IAAI,EAAEmC,OAAO,CAACD,GAAG,CAAC;QAClBnB,MAAM,CAACmB,GAAG,CAAC;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcH,YAAYA,CAACT,QAAgB,EAMxC;IACD,IAAI;MACF,IAAIA,QAAQ,CAACc,QAAQ,CAACC,oBAAO,CAAC,EAAE;QAC9B,IAAI,CAACC,uBAAuB,GAAG,IAAI;QACnC,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACC,UAAU,CAACC,GAAG,CAAC,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC,CAAC;QAChF,IAAI,CAACJ,uBAAuB,GAAG,KAAK;QACpCnB,iBAAM,CAACC,IAAI,CAAC,CAAC;QACb,OAAO;UAAEO,OAAO,EAAEY,YAAY;UAAEb,KAAK,EAAE,CAACJ,QAAQ;QAAE,CAAC;MACrD;MACA,IAAI,IAAI,CAACgB,uBAAuB,EAAE;QAChC,MAAM,IAAI,CAACE,UAAU,CAACG,MAAM,CAAC,CAAC;MAChC;MACA,IAAI,IAAAC,eAAO,EAACtB,QAAQ,CAAC,KAAK,IAAI,CAAC7B,YAAY,EAAE;QAC3C,MAAMoD,SAAS,GAAG,IAAAC,gBAAQ,EAACxB,QAAQ,CAAC;QACpC,IAAIuB,SAAS,KAAK,eAAe,EAAE;UACjC,IAAI,CAACvD,WAAW,CAACyD,MAAM,CAACC,IAAI,CAAE,aAAYH,SAAU,sCAAqC,CAAC;QAC5F;QACA,MAAM,IAAI,CAACvD,WAAW,CAACI,SAAS,CAACuD,eAAe,CAACJ,SAA4B,CAAC;QAC9E,OAAO;UAAElB,OAAO,EAAE,EAAE;UAAED,KAAK,EAAE,CAACJ,QAAQ;QAAE,CAAC;MAC3C;MACA,IAAIA,QAAQ,CAACc,QAAQ,CAACc,4BAAe,CAAC,EAAE;QACtC,MAAM,IAAI,CAAC9D,SAAS,CAAC+D,8BAA8B,CAAC,CAAC;QACrD,OAAO;UAAExB,OAAO,EAAE,EAAE;UAAED,KAAK,EAAE,CAACJ,QAAQ;QAAE,CAAC;MAC3C;MACA,IAAIA,QAAQ,CAACc,QAAQ,CAACgB,uCAAiB,CAAC,EAAE;QACxC,MAAM,IAAI,CAAChE,SAAS,CAACiE,UAAU,CAAC,CAAC;QACjC,OAAO;UAAE1B,OAAO,EAAE,EAAE;UAAED,KAAK,EAAE,CAACJ,QAAQ;QAAE,CAAC;MAC3C;MACA,MAAMgC,WAAW,GAAG,IAAI,CAACC,oBAAoB,CAACjC,QAAQ,CAAC;MACvD,IAAI,CAACgC,WAAW,EAAE;QAChBnC,iBAAM,CAACC,IAAI,CAAC,CAAC;QACb,OAAO;UAAEO,OAAO,EAAE,EAAE;UAAED,KAAK,EAAE,EAAE;UAAEG,UAAU,EAAE;QAAK,CAAC;MACrD;MACA,MAAM2B,SAAS,GAAGF,WAAW,CAACG,QAAQ,CAAC,CAAC;MACxC,IAAI,IAAI,CAACC,wBAAwB,CAACF,SAAS,CAAC,EAAE;QAC5C,IAAI,CAACE,wBAAwB,CAACF,SAAS,CAAC,CAACxG,IAAI,CAACsE,QAAQ,CAAC;QACvDH,iBAAM,CAACC,IAAI,CAAC,CAAC;QACb,OAAO;UAAEO,OAAO,EAAE,EAAE;UAAED,KAAK,EAAE,EAAE;UAAEE,SAAS,EAAE;QAAK,CAAC;MACpD;MACA,IAAI,CAAC8B,wBAAwB,CAACF,SAAS,CAAC,GAAG,CAAClC,QAAQ,CAAC;MACrD,MAAM,IAAI,CAACqC,KAAK,CAAC1E,gBAAgB,CAAC;MAClC,MAAMyC,KAAK,GAAG,IAAI,CAACgC,wBAAwB,CAACF,SAAS,CAAC;MACtD,OAAO,IAAI,CAACE,wBAAwB,CAACF,SAAS,CAAC;MAE/C,MAAMjB,YAAY,GAAG,MAAM,IAAI,CAACC,UAAU,CAACC,GAAG,CAAC,MAAM,IAAI,CAACmB,kBAAkB,CAACN,WAAW,EAAE5B,KAAK,CAAC,CAAC;MACjG,MAAMI,UAAU,GAAGS,YAAY,CAACnF,MAAM,GAClCyG,SAAS,GACR,SAAQnC,KAAK,CAACoC,IAAI,CAAC,IAAI,CAAE,6BAA4BN,SAAU,+BAA8B;MAClGrC,iBAAM,CAACC,IAAI,CAAC,CAAC;MACb,OAAO;QAAEO,OAAO,EAAEY,YAAY;QAAEb,KAAK;QAAEI;MAAW,CAAC;IACrD,CAAC,CAAC,OAAOI,GAAQ,EAAE;MACjB,MAAM6B,GAAG,GAAI,yCAAwCzC,QAAS,EAAC;MAC/DyB,iBAAM,CAACiB,KAAK,CAACD,GAAG,EAAE7B,GAAG,CAAC;MACtBa,iBAAM,CAACkB,OAAO,CAAE,GAAEF,GAAI,KAAI7B,GAAG,CAACgC,OAAQ,EAAC,CAAC;MACxC/C,iBAAM,CAACC,IAAI,CAAC,CAAC;MACb,OAAO;QAAEO,OAAO,EAAE,EAAE;QAAED,KAAK,EAAE,CAACJ,QAAQ,CAAC;QAAEQ,UAAU,EAAEI,GAAG,CAACgC;MAAQ,CAAC;IACpE;EACF;EAEA,MAAcP,KAAKA,CAACQ,EAAU,EAAE;IAC9B,OAAO,IAAItD,OAAO,CAAEC,OAAO,IAAKsD,UAAU,CAACtD,OAAO,EAAEqD,EAAE,CAAC,CAAC;EAC1D;EAEA,MAAcP,kBAAkBA,CAC9BN,WAAwB,EACxB5B,KAA4B,EACO;IACnC,IAAI2C,kBAA2C,GAAGf,WAAW;IAC7D,IAAI,EAAE,MAAM,IAAI,CAAClE,SAAS,CAACkF,KAAK,CAAChB,WAAW,CAAC,CAAC,EAAE;MAC9C;MACA;MACA,MAAMiB,GAAG,GAAG,IAAI,CAACnF,SAAS,CAACoF,OAAO,CAAC,CAAC;MACpCH,kBAAkB,GAAGE,GAAG,CAACE,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACC,OAAO,CAACrB,WAAW,EAAE;QAAEsB,aAAa,EAAE;MAAK,CAAC,CAAC,CAAC;MACvF,IAAI,CAACP,kBAAkB,EAAE;QACvBtB,iBAAM,CAAC8B,KAAK,CAAE,qCAAoCvB,WAAW,CAACG,QAAQ,CAAC,CAAE,oCAAmC,CAAC;QAC7G,OAAO,EAAE;MACX;IACF;IACA,IAAI,CAACrE,SAAS,CAAC0F,mBAAmB,CAACT,kBAAkB,CAAC;IACtD,MAAMU,SAAS,GAAG,MAAM,IAAI,CAAC3F,SAAS,CAAC4F,GAAG,CAACX,kBAAkB,CAAC;IAC9D,MAAMY,YAA0B,GAAGF,SAAS,CAACG,KAAK,CAACC,SAAS,CAACF,YAAY;IACzE,IAAI,CAACA,YAAY,EAAE;MACjB,MAAM,IAAIG,KAAK,CACZ,mCAAkCf,kBAAkB,CAACZ,QAAQ,CAAC,CAAE,0CACnE,CAAC;IACH;IACA,MAAM4B,4BAA4B,GAAGJ,YAAY,CAACK,0BAA0B,CAAC,CAAC;IAC9E,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,mBAAS,EAAC/D,KAAK,EAAGJ,QAAQ,IAAK;MAC/D,MAAMoE,YAAY,GAAG,IAAI,CAACC,oBAAoB,CAACrE,QAAQ,CAAC;MACxD,OAAOsE,OAAO,CAACP,4BAA4B,CAACZ,IAAI,CAAEoB,CAAC,IAAKA,CAAC,KAAKH,YAAY,CAAC,CAAC;IAC9E,CAAC,CAAC;IACF;IACA;IACA,MAAMI,YAAY,GAAG,IAAAC,iBAAO,EAC1B,MAAMlF,OAAO,CAACmF,GAAG,CAACR,YAAY,CAACS,GAAG,CAAC,MAAO3E,QAAQ,IAAM,CAAC,MAAM4E,kBAAE,CAACC,UAAU,CAAC7E,QAAQ,CAAC,IAAI,IAAI,GAAGA,QAAS,CAAC,CAC7G,CAAC;IAED,IAAI,CAACiE,SAAS,CAACnI,MAAM,IAAI,CAAC0I,YAAY,CAAC1I,MAAM,EAAE;MAC7C2F,iBAAM,CAAC8B,KAAK,CACT,iDAAgDvB,WAAW,CAAC8C,sBAAsB,CAAC,CAAE,mCAAkC1E,KAAK,CAACoC,IAAI,CAChI,IACF,CAAE,GACJ,CAAC;MACD,OAAO,EAAE;IACX;IACA,IAAI,CAACjE,QAAQ,CAACwG,MAAM,CAACC,oBAAoB,CACvChD,WAAW,EACXiC,SAAS,CAACU,GAAG,CAAEM,CAAC,IAAK,IAAI,CAAC1G,QAAQ,CAAC2G,yBAAyB,CAACD,CAAC,CAAC,CAAC,EAChET,YAAY,CAACG,GAAG,CAAEM,CAAC,IAAK,IAAI,CAAC1G,QAAQ,CAAC2G,yBAAyB,CAACD,CAAC,CAAC,CACpE,CAAC;IACD,MAAMhE,YAAY,GAAG,MAAM,IAAI,CAACkE,iCAAiC,CAC/DpC,kBAAkB,EAClBkB,SAAS,EACTO,YAAY,EACZ,IACF,CAAC;IACD,OAAOvD,YAAY;EACrB;;EAEA;AACF;AACA;EACE,MAAcG,mBAAmBA,CAAA,EAAsC;IACrE,MAAMgE,iBAAiB,GAAAxJ,aAAA,KAAQ,IAAI,CAACmD,SAAS,CAAE;IAC/C,MAAM,IAAI,CAACjB,SAAS,CAACuH,eAAe,CAAC,CAAC;IACtC,MAAM,IAAI,CAACzG,YAAY,CAAC,CAAC;IACzB,MAAM,IAAI,CAACd,SAAS,CAACwH,qBAAqB,CAAC,CAAC;IAC5C,MAAMC,OAAiB,GAAG,IAAAC,oBAAU,EAACrK,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC2D,SAAS,CAAC,EAAE5D,MAAM,CAACC,IAAI,CAACgK,iBAAiB,CAAC,CAAC;IACjG,MAAMK,WAAqB,GAAG,IAAAD,oBAAU,EAACrK,MAAM,CAACC,IAAI,CAACgK,iBAAiB,CAAC,EAAEjK,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC2D,SAAS,CAAC,CAAC;IACrG,MAAMsB,OAAiC,GAAG,EAAE;IAC5C,IAAIkF,OAAO,CAACzJ,MAAM,EAAE;MAClB,MAAM4J,UAAU,GAAG,MAAM,IAAAC,qBAAS,EAACJ,OAAO,EAAE,MAAOK,GAAG,IACpD,IAAI,CAACT,iCAAiC,CAAC,IAAI,CAACpG,SAAS,CAAC6G,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAC3E,CAAC;MACDvF,OAAO,CAAC3E,IAAI,CAAC,GAAGgK,UAAU,CAACG,IAAI,CAAC,CAAC,CAAC;IACpC;IACA,IAAIJ,WAAW,CAAC3J,MAAM,EAAE;MACtB,MAAM,IAAA6J,qBAAS,EAACF,WAAW,EAAGG,GAAG,IAAK,IAAI,CAACE,8BAA8B,CAACV,iBAAiB,CAACQ,GAAG,CAAC,CAAC,CAAC;IACpG;IAEA,OAAOvF,OAAO;EAChB;EAEA,MAAcyF,8BAA8BA,CAAC9D,WAAwB,EAAE;IACrEP,iBAAM,CAAC8B,KAAK,CAAE,sCAAqCwC,gBAAK,CAACC,IAAI,CAAChE,WAAW,CAACG,QAAQ,CAAC,CAAC,CAAE,EAAC,CAAC;IACxF,IAAI,CAACpE,MAAM,CAACkI,GAAG,CAACC,4BAAe,CAAC9C,EAAE,EAAE,IAAI,CAAC+C,6BAA6B,CAACnE,WAAW,CAACG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,IAAI,CAACrE,SAAS,CAACsI,wBAAwB,CAACpE,WAAW,CAAC;EAC5D;EAEA,MAAcmD,iCAAiCA,CAC7CnD,WAAwB,EACxB5B,KAA4B,EAC5BoE,YAAmC,GAAG,EAAE,EACxC6B,QAAQ,GAAG,IAAI,EACoB;IACnC,IAAI,IAAI,CAACC,4BAA4B,CAACtE,WAAW,CAAC,EAAE;MAClD;MACA,MAAM,IAAI,CAAClE,SAAS,CAAC4F,GAAG,CAAC1B,WAAW,CAAC;MACrC,OAAO,EAAE;IACX;IACA,MAAMuE,KAAK,GAAGvE,WAAW,CAACG,QAAQ,CAAC,CAAC;IAEpC,IAAIkE,QAAQ,EAAE;MACZ5E,iBAAM,CAAC8B,KAAK,CAAE,sCAAqCwC,gBAAK,CAACC,IAAI,CAACO,KAAK,CAAE,EAAC,CAAC;MACvE,IAAI,CAACxI,MAAM,CAACkI,GAAG,CAACC,4BAAe,CAAC9C,EAAE,EAAE,IAAI,CAACoD,4BAA4B,CAACD,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACpG,CAAC,MAAM;MACL9E,iBAAM,CAAC8B,KAAK,CAAE,mCAAkCwC,gBAAK,CAACC,IAAI,CAACO,KAAK,CAAE,EAAC,CAAC;MACpE,IAAI,CAACxI,MAAM,CAACkI,GAAG,CAACC,4BAAe,CAAC9C,EAAE,EAAE,IAAI,CAACqD,yBAAyB,CAACF,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC9F;IAEA,MAAMtF,YAAY,GAAGoF,QAAQ,GACzB,MAAM,IAAI,CAACvI,SAAS,CAAC4I,wBAAwB,CAAC1E,WAAW,EAAE5B,KAAK,EAAEoE,YAAY,EAAE,IAAI,CAACvG,OAAO,CAAC,GAC7F,MAAM,IAAI,CAACH,SAAS,CAAC6I,qBAAqB,CAAC3E,WAAW,EAAE,IAAI,CAAC/D,OAAO,CAAC;IAEzE,OAAOgD,YAAY;EACrB;EAEQkF,6BAA6BA,CAACI,KAAK,EAAE;IAC3C,OAAO,KAAIK,oCAAuB,EAAC1G,IAAI,CAAC2G,GAAG,CAAC,CAAC,EAAEN,KAAK,CAAC;EACvD;EAEQC,4BAA4BA,CAACD,KAAK,EAAEO,IAAI,EAAE;IAChD,OAAO,KAAIC,mCAAsB,EAAC7G,IAAI,CAAC2G,GAAG,CAAC,CAAC,EAAEN,KAAK,EAAEO,IAAI,CAAC;EAC5D;EAEQL,yBAAyBA,CAACF,KAAK,EAAEO,IAAI,EAAE;IAC7C,OAAO,KAAIE,gCAAmB,EAAC9G,IAAI,CAAC2G,GAAG,CAAC,CAAC,EAAEN,KAAK,EAAEO,IAAI,CAAC;EACzD;EAEQR,4BAA4BA,CAACtE,WAAwB,EAAE;IAC7D,MAAMiF,WAAW,GAAG,IAAI,CAACC,gBAAgB,CAAC/D,IAAI,CAAEgE,CAAC,IAAKA,CAAC,CAACtI,YAAY,CAACsE,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACC,OAAO,CAACrB,WAAW,CAAC,CAAC,CAAC;IAC3G,IAAIiF,WAAW,EAAE;MACfxF,iBAAM,CAAC8B,KAAK,CAAE,GAAEvB,WAAW,CAACG,QAAQ,CAAC,CAAE,kBAAiB8E,WAAW,CAACG,UAAU,CAACjF,QAAQ,CAAC,CAAE,EAAC,CAAC;MAC5F,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEQF,oBAAoBA,CAACjC,QAAgB,EAAsB;IACjE,MAAMoE,YAAY,GAAG,IAAI,CAACC,oBAAoB,CAACrE,QAAQ,CAAC;IACxD,MAAMqH,QAAQ,GAAG,IAAI,CAACC,iCAAiC,CAAClD,YAAY,CAAC;IACrE,IAAI,CAACiD,QAAQ,EAAE;MACb;MACA;MACA,OAAO,IAAI;IACb;IACA,OAAO,IAAI,CAACtI,SAAS,CAACsI,QAAQ,CAAC;EACjC;EAEQhD,oBAAoBA,CAACrE,QAAgB,EAAE;IAC7C,OAAO,IAAAuH,6BAAoB,EAAC,IAAI,CAAChJ,QAAQ,CAAC2G,yBAAyB,CAAClF,QAAQ,CAAC,CAAC;EAChF;EAEQsH,iCAAiCA,CAACtH,QAAgB,EAAiB;IACzE,IAAI,IAAI,CAACjB,SAAS,CAACiB,QAAQ,CAAC,EAAE,OAAOA,QAAQ;IAC7C,MAAMwH,SAAS,GAAG,IAAAlG,eAAO,EAACtB,QAAQ,CAAC;IACnC,IAAIwH,SAAS,KAAKxH,QAAQ,EAAE,OAAO,IAAI;IACvC,OAAO,IAAI,CAACsH,iCAAiC,CAACE,SAAS,CAAC;EAC1D;EAEA,MAAcvI,aAAaA,CAAA,EAAG;IAC5B,MAAMwI,cAAc,GAAG,MAAM,IAAI,CAACzJ,WAAW,CAAC0J,YAAY,CAAChE,GAAG,CAACiE,kCAAqB,CAAC;IACrF,MAAMC,UAAU,GAAGH,cAAc,KAAK,MAAM;IAC5C;IACA;IACA,MAAMI,gBAAgB,GAAIC,WAAmB,IAAK;MAChD,IAAIA,WAAW,CAACC,UAAU,CAAC,IAAI,CAAC5J,YAAY,CAAC,IAAI2J,WAAW,CAAChH,QAAQ,CAACgB,uCAAiB,CAAC,EAAE,OAAO,KAAK;MACtG,OACEgG,WAAW,CAACC,UAAU,CAAE,GAAE,IAAI,CAACjK,SAAS,CAACkK,IAAK,QAAO,CAAC,IAAIF,WAAW,CAACC,UAAU,CAAE,GAAE,IAAI,CAACjK,SAAS,CAACkK,IAAK,QAAO,CAAC;IAEpH,CAAC;IACD,IAAI,CAAC7I,SAAS,GAAG8I,mBAAQ,CAACzJ,KAAK,CAAC,IAAI,CAACV,SAAS,CAACkK,IAAI,EAAE;MACnDE,aAAa,EAAE,IAAI;MACnB;MACA;MACAC,OAAO,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,EAAEN,gBAAgB,CAAC;MACpE;AACN;AACA;AACA;AACA;AACA;MACMD,UAAU;MACV;MACAQ,UAAU,EAAE;IACd,CAAC,CAAC;IACF,IAAI,IAAI,CAAC9J,OAAO,EAAE;MAChBmD,iBAAM,CAACkB,OAAO,CAAE,oBAAmB0F,IAAI,CAACC,SAAS,CAAC,IAAI,CAACnJ,SAAS,CAAClB,OAAO,EAAEsE,SAAS,EAAE,CAAC,CAAE,EAAC,CAAC;IAC5F;EACF;EAEA,MAAc3D,YAAYA,CAAA,EAAG;IAC3B,IAAI,CAACG,SAAS,GAAG,CAAC,CAAC;IACnB,MAAMwJ,oBAAoB,GAAG,IAAI,CAAChK,QAAQ,CAACwG,MAAM,CAACyD,gBAAgB,CAAC,CAAC;IACpED,oBAAoB,CAAC5D,GAAG,CAAEhB,YAAY,IAAK;MACzC,MAAM3B,WAAW,GAAG2B,YAAY,CAACP,EAAE;MACnC,MAAMqF,OAAO,GAAG9E,YAAY,CAAC+E,UAAU,CAAC,CAAC;MACzC,IAAI,CAAC3J,SAAS,CAAC0J,OAAO,CAAC,GAAGzG,WAAW;IACvC,CAAC,CAAC;EACJ;AACF;AAAC2G,OAAA,CAAA/K,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_harmony","_globalConfig","_scope","_ipcEvents","_logger","_pubsub","_workspace","_pMapSeries","_interopRequireDefault","_watch","_watcher","_watcher2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WatcherMain","constructor","workspace","scope","pubsub","onPreWatchSlot","ipcEvents","logger","globalConfig","watch","opts","watcher","Watcher","watchScopeInternalFiles","triggerOnPreWatch","componentIds","watchOpts","preWatchFunctions","values","pMapSeries","func","registerOnPreWatch","onPreWatchFunc","register","provider","cli","loggerMain","_","createLogger","WatcherAspect","id","watcherMain","watchCmd","WatchCommand","exports","Slot","withType","CLIAspect","WorkspaceAspect","ScopeAspect","PubsubAspect","LoggerAspect","IpcEventsAspect","GlobalConfigAspect","MainRuntime","addRuntime","_default"],"sources":["watcher.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { ComponentID } from '@teambit/component-id';\nimport { IpcEventsAspect, IpcEventsMain } from '@teambit/ipc-events';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { PubsubAspect, PubsubMain } from '@teambit/pubsub';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport pMapSeries from 'p-map-series';\nimport { WatchCommand } from './watch.cmd';\nimport { Watcher, WatchOptions } from './watcher';\nimport { WatcherAspect } from './watcher.aspect';\n\nexport type OnPreWatch = (componentIds: ComponentID[], watchOpts: WatchOptions) => Promise<void>;\nexport type OnPreWatchSlot = SlotRegistry<OnPreWatch>;\n\nexport class WatcherMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n private pubsub: PubsubMain,\n private onPreWatchSlot: OnPreWatchSlot,\n readonly ipcEvents: IpcEventsMain,\n readonly logger: Logger,\n readonly globalConfig: GlobalConfigMain\n ) {}\n\n async watch(opts: WatchOptions) {\n const watcher = new Watcher(this.workspace, this.pubsub, this, opts);\n await watcher.watch();\n }\n\n async watchScopeInternalFiles() {\n await this.scope.watchScopeInternalFiles();\n }\n\n async triggerOnPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const preWatchFunctions = this.onPreWatchSlot.values();\n await pMapSeries(preWatchFunctions, async (func) => {\n await func(componentIds, watchOpts);\n });\n }\n\n registerOnPreWatch(onPreWatchFunc: OnPreWatch) {\n this.onPreWatchSlot.register(onPreWatchFunc);\n return this;\n }\n\n static slots = [Slot.withType<OnPreWatch>()];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n ScopeAspect,\n PubsubAspect,\n LoggerAspect,\n IpcEventsAspect,\n GlobalConfigAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider(\n [cli, workspace, scope, pubsub, loggerMain, ipcEvents, globalConfig]: [\n CLIMain,\n Workspace,\n ScopeMain,\n PubsubMain,\n LoggerMain,\n IpcEventsMain,\n GlobalConfigMain\n ],\n _,\n [onPreWatchSlot]: [OnPreWatchSlot]\n ) {\n const logger = loggerMain.createLogger(WatcherAspect.id);\n const watcherMain = new WatcherMain(workspace, scope, pubsub, onPreWatchSlot, ipcEvents, logger, globalConfig);\n const watchCmd = new WatchCommand(pubsub, logger, watcherMain);\n cli.register(watchCmd);\n return watcherMain;\n }\n}\n\nWatcherAspect.addRuntime(WatcherMain);\n\nexport default WatcherMain;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_harmony","_globalConfig","_scope","_ipcEvents","_logger","_pubsub","_workspace","_pMapSeries","_interopRequireDefault","_watch","_watcher","_watcher2","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","WatcherMain","constructor","workspace","scope","pubsub","onPreWatchSlot","ipcEvents","logger","globalConfig","watch","opts","watcher","Watcher","watchScopeInternalFiles","triggerOnPreWatch","componentIds","watchOpts","preWatchFunctions","values","pMapSeries","func","registerOnPreWatch","onPreWatchFunc","register","provider","cli","loggerMain","_","createLogger","WatcherAspect","id","watcherMain","watchCmd","WatchCommand","exports","Slot","withType","CLIAspect","WorkspaceAspect","ScopeAspect","PubsubAspect","LoggerAspect","IpcEventsAspect","GlobalConfigAspect","MainRuntime","addRuntime","_default"],"sources":["watcher.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { SlotRegistry, Slot } from '@teambit/harmony';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { ComponentID } from '@teambit/component-id';\nimport { IpcEventsAspect, IpcEventsMain } from '@teambit/ipc-events';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { PubsubAspect, PubsubMain } from '@teambit/pubsub';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport pMapSeries from 'p-map-series';\nimport { WatchCommand } from './watch.cmd';\nimport { Watcher, WatchOptions } from './watcher';\nimport { WatcherAspect } from './watcher.aspect';\n\nexport type OnPreWatch = (componentIds: ComponentID[], watchOpts: WatchOptions) => Promise<void>;\nexport type OnPreWatchSlot = SlotRegistry<OnPreWatch>;\n\nexport class WatcherMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n private pubsub: PubsubMain,\n private onPreWatchSlot: OnPreWatchSlot,\n readonly ipcEvents: IpcEventsMain,\n readonly logger: Logger,\n readonly globalConfig: GlobalConfigMain\n ) {}\n\n async watch(opts: WatchOptions) {\n const watcher = new Watcher(this.workspace, this.pubsub, this, opts);\n await watcher.watch();\n }\n\n async watchScopeInternalFiles() {\n await this.scope.watchScopeInternalFiles();\n }\n\n async triggerOnPreWatch(componentIds: ComponentID[], watchOpts: WatchOptions) {\n const preWatchFunctions = this.onPreWatchSlot.values();\n await pMapSeries(preWatchFunctions, async (func) => {\n await func(componentIds, watchOpts);\n });\n }\n\n registerOnPreWatch(onPreWatchFunc: OnPreWatch) {\n this.onPreWatchSlot.register(onPreWatchFunc);\n return this;\n }\n\n static slots = [Slot.withType<OnPreWatch>()];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n ScopeAspect,\n PubsubAspect,\n LoggerAspect,\n IpcEventsAspect,\n GlobalConfigAspect,\n ];\n static runtime = MainRuntime;\n\n static async provider(\n [cli, workspace, scope, pubsub, loggerMain, ipcEvents, globalConfig]: [\n CLIMain,\n Workspace,\n ScopeMain,\n PubsubMain,\n LoggerMain,\n IpcEventsMain,\n GlobalConfigMain\n ],\n _,\n [onPreWatchSlot]: [OnPreWatchSlot]\n ) {\n const logger = loggerMain.createLogger(WatcherAspect.id);\n const watcherMain = new WatcherMain(workspace, scope, pubsub, onPreWatchSlot, ipcEvents, logger, globalConfig);\n const watchCmd = new WatchCommand(pubsub, logger, watcherMain);\n cli.register(watchCmd);\n return watcherMain;\n }\n}\n\nWatcherAspect.addRuntime(WatcherMain);\n\nexport default WatcherMain;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/watcher",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.189",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/watcher",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "watcher",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.189"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -18,21 +18,21 @@
|
|
|
18
18
|
"lodash": "4.17.21",
|
|
19
19
|
"@teambit/harmony": "0.4.6",
|
|
20
20
|
"@teambit/component-id": "1.2.0",
|
|
21
|
-
"@teambit/logger": "0.0.
|
|
22
|
-
"@teambit/workspace": "1.0.
|
|
23
|
-
"@teambit/cli": "0.0.
|
|
24
|
-
"@teambit/compiler": "1.0.
|
|
25
|
-
"@teambit/pubsub": "1.0.
|
|
26
|
-
"@teambit/global-config": "0.0.
|
|
27
|
-
"@teambit/ipc-events": "1.0.
|
|
28
|
-
"@teambit/scope": "1.0.
|
|
21
|
+
"@teambit/logger": "0.0.949",
|
|
22
|
+
"@teambit/workspace": "1.0.189",
|
|
23
|
+
"@teambit/cli": "0.0.856",
|
|
24
|
+
"@teambit/compiler": "1.0.189",
|
|
25
|
+
"@teambit/pubsub": "1.0.189",
|
|
26
|
+
"@teambit/global-config": "0.0.859",
|
|
27
|
+
"@teambit/ipc-events": "1.0.189",
|
|
28
|
+
"@teambit/scope": "1.0.189"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/fs-extra": "9.0.7",
|
|
32
32
|
"@types/lodash": "4.14.165",
|
|
33
33
|
"@types/mocha": "9.1.0",
|
|
34
34
|
"chai": "4.3.0",
|
|
35
|
-
"@teambit/harmony.envs.core-aspect-env": "0.0.
|
|
35
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.27"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@teambit/legacy": "1.0.624"
|
|
File without changes
|