@teambit/watcher 1.0.451 → 1.0.453

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.
@@ -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.451" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.workspace/watcher@1.0.453" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -55,7 +55,8 @@
55
55
  "line": 51,
56
56
  "character": 10
57
57
  },
58
- "name": "EventMessages"
58
+ "name": "EventMessages",
59
+ "internalFilePath": "watcher.ts"
59
60
  },
60
61
  "isOptional": true
61
62
  },
@@ -75,7 +76,11 @@
75
76
  "line": 52,
76
77
  "character": 15
77
78
  },
78
- "name": "CompilationInitiator"
79
+ "name": "CompilationInitiator",
80
+ "componentId": {
81
+ "scope": "teambit.compilation",
82
+ "name": "compiler"
83
+ }
79
84
  },
80
85
  "isOptional": true
81
86
  },
@@ -299,7 +304,11 @@
299
304
  "line": 20,
300
305
  "character": 24
301
306
  },
302
- "name": "Workspace"
307
+ "name": "Workspace",
308
+ "componentId": {
309
+ "scope": "teambit.workspace",
310
+ "name": "workspace"
311
+ }
303
312
  },
304
313
  "isOptional": false,
305
314
  "isSpread": false
@@ -319,7 +328,11 @@
319
328
  "line": 21,
320
329
  "character": 20
321
330
  },
322
- "name": "ScopeMain"
331
+ "name": "ScopeMain",
332
+ "componentId": {
333
+ "scope": "teambit.scope",
334
+ "name": "scope"
335
+ }
323
336
  },
324
337
  "isOptional": false,
325
338
  "isSpread": false
@@ -339,7 +352,11 @@
339
352
  "line": 22,
340
353
  "character": 21
341
354
  },
342
- "name": "PubsubMain"
355
+ "name": "PubsubMain",
356
+ "componentId": {
357
+ "scope": "teambit.harmony",
358
+ "name": "pubsub"
359
+ }
343
360
  },
344
361
  "isOptional": false,
345
362
  "isSpread": false
@@ -359,7 +376,8 @@
359
376
  "line": 23,
360
377
  "character": 29
361
378
  },
362
- "name": "OnPreWatchSlot"
379
+ "name": "OnPreWatchSlot",
380
+ "internalFilePath": "watcher.main.runtime.ts"
363
381
  },
364
382
  "isOptional": false,
365
383
  "isSpread": false
@@ -379,7 +397,11 @@
379
397
  "line": 24,
380
398
  "character": 25
381
399
  },
382
- "name": "IpcEventsMain"
400
+ "name": "IpcEventsMain",
401
+ "componentId": {
402
+ "scope": "teambit.harmony",
403
+ "name": "ipc-events"
404
+ }
383
405
  },
384
406
  "isOptional": false,
385
407
  "isSpread": false
@@ -399,7 +421,11 @@
399
421
  "line": 25,
400
422
  "character": 22
401
423
  },
402
- "name": "Logger"
424
+ "name": "Logger",
425
+ "componentId": {
426
+ "scope": "teambit.harmony",
427
+ "name": "logger"
428
+ }
403
429
  },
404
430
  "isOptional": false,
405
431
  "isSpread": false
@@ -419,7 +445,11 @@
419
445
  "line": 26,
420
446
  "character": 28
421
447
  },
422
- "name": "GlobalConfigMain"
448
+ "name": "GlobalConfigMain",
449
+ "componentId": {
450
+ "scope": "teambit.harmony",
451
+ "name": "global-config"
452
+ }
423
453
  },
424
454
  "isOptional": false,
425
455
  "isSpread": false
@@ -535,7 +565,12 @@
535
565
  "line": 39,
536
566
  "character": 41
537
567
  },
538
- "name": "ComponentID"
568
+ "name": "ComponentID",
569
+ "componentId": {
570
+ "scope": "teambit.component",
571
+ "name": "component-id",
572
+ "version": "1.2.2"
573
+ }
539
574
  }
540
575
  },
541
576
  "isOptional": false,
@@ -600,7 +635,8 @@
600
635
  "line": 46,
601
636
  "character": 38
602
637
  },
603
- "name": "OnPreWatch"
638
+ "name": "OnPreWatch",
639
+ "internalFilePath": "watcher.main.runtime.ts"
604
640
  },
605
641
  "isOptional": false,
606
642
  "isSpread": false
@@ -713,7 +749,11 @@
713
749
  "line": 65,
714
750
  "character": 7
715
751
  },
716
- "name": "CLIMain"
752
+ "name": "CLIMain",
753
+ "componentId": {
754
+ "scope": "teambit.harmony",
755
+ "name": "cli"
756
+ }
717
757
  },
718
758
  {
719
759
  "__schema": "TypeRefSchema",
@@ -722,7 +762,11 @@
722
762
  "line": 66,
723
763
  "character": 7
724
764
  },
725
- "name": "Workspace"
765
+ "name": "Workspace",
766
+ "componentId": {
767
+ "scope": "teambit.workspace",
768
+ "name": "workspace"
769
+ }
726
770
  },
727
771
  {
728
772
  "__schema": "TypeRefSchema",
@@ -731,7 +775,11 @@
731
775
  "line": 67,
732
776
  "character": 7
733
777
  },
734
- "name": "ScopeMain"
778
+ "name": "ScopeMain",
779
+ "componentId": {
780
+ "scope": "teambit.scope",
781
+ "name": "scope"
782
+ }
735
783
  },
736
784
  {
737
785
  "__schema": "TypeRefSchema",
@@ -740,7 +788,11 @@
740
788
  "line": 68,
741
789
  "character": 7
742
790
  },
743
- "name": "PubsubMain"
791
+ "name": "PubsubMain",
792
+ "componentId": {
793
+ "scope": "teambit.harmony",
794
+ "name": "pubsub"
795
+ }
744
796
  },
745
797
  {
746
798
  "__schema": "TypeRefSchema",
@@ -749,7 +801,11 @@
749
801
  "line": 69,
750
802
  "character": 7
751
803
  },
752
- "name": "LoggerMain"
804
+ "name": "LoggerMain",
805
+ "componentId": {
806
+ "scope": "teambit.harmony",
807
+ "name": "logger"
808
+ }
753
809
  },
754
810
  {
755
811
  "__schema": "TypeRefSchema",
@@ -758,7 +814,11 @@
758
814
  "line": 70,
759
815
  "character": 7
760
816
  },
761
- "name": "IpcEventsMain"
817
+ "name": "IpcEventsMain",
818
+ "componentId": {
819
+ "scope": "teambit.harmony",
820
+ "name": "ipc-events"
821
+ }
762
822
  },
763
823
  {
764
824
  "__schema": "TypeRefSchema",
@@ -767,7 +827,11 @@
767
827
  "line": 71,
768
828
  "character": 7
769
829
  },
770
- "name": "GlobalConfigMain"
830
+ "name": "GlobalConfigMain",
831
+ "componentId": {
832
+ "scope": "teambit.harmony",
833
+ "name": "global-config"
834
+ }
771
835
  }
772
836
  ]
773
837
  },
@@ -817,7 +881,8 @@
817
881
  "line": 74,
818
882
  "character": 24
819
883
  },
820
- "name": "OnPreWatchSlot"
884
+ "name": "OnPreWatchSlot",
885
+ "internalFilePath": "watcher.main.runtime.ts"
821
886
  }
822
887
  ]
823
888
  },
@@ -988,7 +1053,12 @@
988
1053
  "line": 30,
989
1054
  "character": 103
990
1055
  },
991
- "name": "ComponentID"
1056
+ "name": "ComponentID",
1057
+ "componentId": {
1058
+ "scope": "teambit.component",
1059
+ "name": "component-id",
1060
+ "version": "1.2.2"
1061
+ }
992
1062
  }
993
1063
  },
994
1064
  "isOptional": false
@@ -1175,7 +1245,7 @@
1175
1245
  "line": 42,
1176
1246
  "character": 31
1177
1247
  },
1178
- "signature": "(filePaths: string[], buildResults: OnComponentEventResult[], verbose: boolean, duration: number, failureMsg?: string): void",
1248
+ "signature": "(filePaths: string[], buildResults: (component: teambit.workspace/workspace) OnComponentEventResult[], verbose: boolean, duration: number, failureMsg?: string): void",
1179
1249
  "name": "",
1180
1250
  "params": [
1181
1251
  {
@@ -1228,7 +1298,11 @@
1228
1298
  "line": 44,
1229
1299
  "character": 17
1230
1300
  },
1231
- "name": "OnComponentEventResult"
1301
+ "name": "OnComponentEventResult",
1302
+ "componentId": {
1303
+ "scope": "teambit.workspace",
1304
+ "name": "workspace"
1305
+ }
1232
1306
  }
1233
1307
  },
1234
1308
  "isOptional": false,
@@ -1340,7 +1414,8 @@
1340
1414
  "line": 51,
1341
1415
  "character": 10
1342
1416
  },
1343
- "name": "EventMessages"
1417
+ "name": "EventMessages",
1418
+ "internalFilePath": "watcher.ts"
1344
1419
  },
1345
1420
  "isOptional": true
1346
1421
  },
@@ -1360,7 +1435,11 @@
1360
1435
  "line": 52,
1361
1436
  "character": 15
1362
1437
  },
1363
- "name": "CompilationInitiator"
1438
+ "name": "CompilationInitiator",
1439
+ "componentId": {
1440
+ "scope": "teambit.compilation",
1441
+ "name": "compiler"
1442
+ }
1364
1443
  },
1365
1444
  "isOptional": true
1366
1445
  },
@@ -1526,7 +1605,8 @@
1526
1605
  "line": 61,
1527
1606
  "character": 32
1528
1607
  },
1529
- "name": "PathLinux"
1608
+ "name": "PathLinux",
1609
+ "internalFilePath": "watcher.ts"
1530
1610
  },
1531
1611
  "isOptional": false,
1532
1612
  "isSpread": false
@@ -1538,7 +1618,12 @@
1538
1618
  "line": 61,
1539
1619
  "character": 44
1540
1620
  },
1541
- "name": "ComponentID"
1621
+ "name": "ComponentID",
1622
+ "componentId": {
1623
+ "scope": "teambit.component",
1624
+ "name": "component-id",
1625
+ "version": "1.2.2"
1626
+ }
1542
1627
  }
1543
1628
  }
1544
1629
  ]
@@ -1579,7 +1664,11 @@
1579
1664
  "line": 76,
1580
1665
  "character": 24
1581
1666
  },
1582
- "name": "Workspace"
1667
+ "name": "Workspace",
1668
+ "componentId": {
1669
+ "scope": "teambit.workspace",
1670
+ "name": "workspace"
1671
+ }
1583
1672
  },
1584
1673
  "isOptional": false,
1585
1674
  "isSpread": false
@@ -1599,7 +1688,11 @@
1599
1688
  "line": 77,
1600
1689
  "character": 21
1601
1690
  },
1602
- "name": "PubsubMain"
1691
+ "name": "PubsubMain",
1692
+ "componentId": {
1693
+ "scope": "teambit.harmony",
1694
+ "name": "pubsub"
1695
+ }
1603
1696
  },
1604
1697
  "isOptional": false,
1605
1698
  "isSpread": false
@@ -1782,7 +1875,7 @@
1782
1875
  "line": 15,
1783
1876
  "character": 26
1784
1877
  },
1785
- "signature": "(componentIds: ComponentID[], watchOpts: WatchOptions): Promise<void>",
1878
+ "signature": "(componentIds: (component: teambit.component/component-id) ComponentID[], watchOpts: WatchOptions): Promise<void>",
1786
1879
  "name": "",
1787
1880
  "params": [
1788
1881
  {
@@ -1807,7 +1900,12 @@
1807
1900
  "line": 15,
1808
1901
  "character": 41
1809
1902
  },
1810
- "name": "ComponentID"
1903
+ "name": "ComponentID",
1904
+ "componentId": {
1905
+ "scope": "teambit.component",
1906
+ "name": "component-id",
1907
+ "version": "1.2.2"
1908
+ }
1811
1909
  }
1812
1910
  },
1813
1911
  "isOptional": false,
@@ -1874,6 +1972,11 @@
1874
1972
  "character": 30
1875
1973
  },
1876
1974
  "name": "SlotRegistry",
1975
+ "componentId": {
1976
+ "scope": "teambit.harmony",
1977
+ "name": "harmony",
1978
+ "version": "0.4.6"
1979
+ },
1877
1980
  "typeArgs": [
1878
1981
  {
1879
1982
  "__schema": "TypeRefSchema",
@@ -1882,7 +1985,8 @@
1882
1985
  "line": 16,
1883
1986
  "character": 43
1884
1987
  },
1885
- "name": "OnPreWatch"
1988
+ "name": "OnPreWatch",
1989
+ "internalFilePath": "watcher.main.runtime.ts"
1886
1990
  }
1887
1991
  ]
1888
1992
  }
@@ -1922,7 +2026,11 @@
1922
2026
  "line": 20,
1923
2027
  "character": 24
1924
2028
  },
1925
- "name": "Workspace"
2029
+ "name": "Workspace",
2030
+ "componentId": {
2031
+ "scope": "teambit.workspace",
2032
+ "name": "workspace"
2033
+ }
1926
2034
  },
1927
2035
  "isOptional": false,
1928
2036
  "isSpread": false
@@ -1942,7 +2050,11 @@
1942
2050
  "line": 21,
1943
2051
  "character": 20
1944
2052
  },
1945
- "name": "ScopeMain"
2053
+ "name": "ScopeMain",
2054
+ "componentId": {
2055
+ "scope": "teambit.scope",
2056
+ "name": "scope"
2057
+ }
1946
2058
  },
1947
2059
  "isOptional": false,
1948
2060
  "isSpread": false
@@ -1962,7 +2074,11 @@
1962
2074
  "line": 22,
1963
2075
  "character": 21
1964
2076
  },
1965
- "name": "PubsubMain"
2077
+ "name": "PubsubMain",
2078
+ "componentId": {
2079
+ "scope": "teambit.harmony",
2080
+ "name": "pubsub"
2081
+ }
1966
2082
  },
1967
2083
  "isOptional": false,
1968
2084
  "isSpread": false
@@ -1982,7 +2098,8 @@
1982
2098
  "line": 23,
1983
2099
  "character": 29
1984
2100
  },
1985
- "name": "OnPreWatchSlot"
2101
+ "name": "OnPreWatchSlot",
2102
+ "internalFilePath": "watcher.main.runtime.ts"
1986
2103
  },
1987
2104
  "isOptional": false,
1988
2105
  "isSpread": false
@@ -2002,7 +2119,11 @@
2002
2119
  "line": 24,
2003
2120
  "character": 25
2004
2121
  },
2005
- "name": "IpcEventsMain"
2122
+ "name": "IpcEventsMain",
2123
+ "componentId": {
2124
+ "scope": "teambit.harmony",
2125
+ "name": "ipc-events"
2126
+ }
2006
2127
  },
2007
2128
  "isOptional": false,
2008
2129
  "isSpread": false
@@ -2022,7 +2143,11 @@
2022
2143
  "line": 25,
2023
2144
  "character": 22
2024
2145
  },
2025
- "name": "Logger"
2146
+ "name": "Logger",
2147
+ "componentId": {
2148
+ "scope": "teambit.harmony",
2149
+ "name": "logger"
2150
+ }
2026
2151
  },
2027
2152
  "isOptional": false,
2028
2153
  "isSpread": false
@@ -2042,7 +2167,11 @@
2042
2167
  "line": 26,
2043
2168
  "character": 28
2044
2169
  },
2045
- "name": "GlobalConfigMain"
2170
+ "name": "GlobalConfigMain",
2171
+ "componentId": {
2172
+ "scope": "teambit.harmony",
2173
+ "name": "global-config"
2174
+ }
2046
2175
  },
2047
2176
  "isOptional": false,
2048
2177
  "isSpread": false
@@ -2158,7 +2287,12 @@
2158
2287
  "line": 39,
2159
2288
  "character": 41
2160
2289
  },
2161
- "name": "ComponentID"
2290
+ "name": "ComponentID",
2291
+ "componentId": {
2292
+ "scope": "teambit.component",
2293
+ "name": "component-id",
2294
+ "version": "1.2.2"
2295
+ }
2162
2296
  }
2163
2297
  },
2164
2298
  "isOptional": false,
@@ -2223,7 +2357,8 @@
2223
2357
  "line": 46,
2224
2358
  "character": 38
2225
2359
  },
2226
- "name": "OnPreWatch"
2360
+ "name": "OnPreWatch",
2361
+ "internalFilePath": "watcher.main.runtime.ts"
2227
2362
  },
2228
2363
  "isOptional": false,
2229
2364
  "isSpread": false
@@ -2336,7 +2471,11 @@
2336
2471
  "line": 65,
2337
2472
  "character": 7
2338
2473
  },
2339
- "name": "CLIMain"
2474
+ "name": "CLIMain",
2475
+ "componentId": {
2476
+ "scope": "teambit.harmony",
2477
+ "name": "cli"
2478
+ }
2340
2479
  },
2341
2480
  {
2342
2481
  "__schema": "TypeRefSchema",
@@ -2345,7 +2484,11 @@
2345
2484
  "line": 66,
2346
2485
  "character": 7
2347
2486
  },
2348
- "name": "Workspace"
2487
+ "name": "Workspace",
2488
+ "componentId": {
2489
+ "scope": "teambit.workspace",
2490
+ "name": "workspace"
2491
+ }
2349
2492
  },
2350
2493
  {
2351
2494
  "__schema": "TypeRefSchema",
@@ -2354,7 +2497,11 @@
2354
2497
  "line": 67,
2355
2498
  "character": 7
2356
2499
  },
2357
- "name": "ScopeMain"
2500
+ "name": "ScopeMain",
2501
+ "componentId": {
2502
+ "scope": "teambit.scope",
2503
+ "name": "scope"
2504
+ }
2358
2505
  },
2359
2506
  {
2360
2507
  "__schema": "TypeRefSchema",
@@ -2363,7 +2510,11 @@
2363
2510
  "line": 68,
2364
2511
  "character": 7
2365
2512
  },
2366
- "name": "PubsubMain"
2513
+ "name": "PubsubMain",
2514
+ "componentId": {
2515
+ "scope": "teambit.harmony",
2516
+ "name": "pubsub"
2517
+ }
2367
2518
  },
2368
2519
  {
2369
2520
  "__schema": "TypeRefSchema",
@@ -2372,7 +2523,11 @@
2372
2523
  "line": 69,
2373
2524
  "character": 7
2374
2525
  },
2375
- "name": "LoggerMain"
2526
+ "name": "LoggerMain",
2527
+ "componentId": {
2528
+ "scope": "teambit.harmony",
2529
+ "name": "logger"
2530
+ }
2376
2531
  },
2377
2532
  {
2378
2533
  "__schema": "TypeRefSchema",
@@ -2381,7 +2536,11 @@
2381
2536
  "line": 70,
2382
2537
  "character": 7
2383
2538
  },
2384
- "name": "IpcEventsMain"
2539
+ "name": "IpcEventsMain",
2540
+ "componentId": {
2541
+ "scope": "teambit.harmony",
2542
+ "name": "ipc-events"
2543
+ }
2385
2544
  },
2386
2545
  {
2387
2546
  "__schema": "TypeRefSchema",
@@ -2390,7 +2549,11 @@
2390
2549
  "line": 71,
2391
2550
  "character": 7
2392
2551
  },
2393
- "name": "GlobalConfigMain"
2552
+ "name": "GlobalConfigMain",
2553
+ "componentId": {
2554
+ "scope": "teambit.harmony",
2555
+ "name": "global-config"
2556
+ }
2394
2557
  }
2395
2558
  ]
2396
2559
  },
@@ -2440,7 +2603,8 @@
2440
2603
  "line": 74,
2441
2604
  "character": 24
2442
2605
  },
2443
- "name": "OnPreWatchSlot"
2606
+ "name": "OnPreWatchSlot",
2607
+ "internalFilePath": "watcher.main.runtime.ts"
2444
2608
  }
2445
2609
  ]
2446
2610
  },
@@ -2531,7 +2695,7 @@
2531
2695
  "componentId": {
2532
2696
  "scope": "teambit.workspace",
2533
2697
  "name": "watcher",
2534
- "version": "1.0.451"
2698
+ "version": "1.0.453"
2535
2699
  },
2536
2700
  "taggedModuleExports": []
2537
2701
  }
package/dist/watcher.js CHANGED
@@ -302,7 +302,7 @@ class Watcher {
302
302
  }
303
303
  async triggerCompChanges(componentId, files) {
304
304
  let updatedComponentId = componentId;
305
- if (!(await this.workspace.hasId(componentId))) {
305
+ if (!this.workspace.hasId(componentId)) {
306
306
  // bitmap has changed meanwhile, which triggered `handleBitmapChanges`, which re-loaded consumer and updated versions
307
307
  // so the original componentId might not be in the workspace now, and we need to find the updated one
308
308
  const ids = this.workspace.listIds();
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_lodash","_loader","_constants","_logger","_legacy","_pMapSeries","_chalk","_unmergedComponents","_chokidar","_workspace","_watchQueue","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","call","n","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DEBOUNCE_WAIT_MS","Watcher","constructor","workspace","pubsub","watcherMain","options","WatchQueue","ipcEventsDir","ipcEvents","eventsDir","verbose","consumer","watch","_this$options","msgs","watchOpts","setRootDirs","componentIds","values","rootDirs","triggerOnPreWatch","createWatcher","watcher","fsWatcher","onStart","scope","watchScopeInternalFiles","Promise","resolve","reject","onAll","on","onReady","watched","getWatched","totalWatched","flat","logger","console","chalk","bold","JSON","stringify","toString","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","warn","triggerGotEvent","WORKSPACE_JSONC","triggerOnWorkspaceConfigChange","UNMERGED_FILENAME","clearCache","componentId","getComponentIdByPath","compIdStr","changedFilesPerComponent","sleep","triggerCompChanges","undefined","join","msg","error","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","previewsRootDirs","previewsIds","getAllBitIds","_reloadConsumer","importObjectsIfNeeded","triggerOnBitmapChange","newDirs","difference","removedDirs","addResults","mapSeries","dir","executeWatchOperationsOnRemove","import","currentIds","hasVersionChanges","prevId","searchWithoutVersion","version","existsInScope","isComponentInScope","useCache","lane","getCurrentLaneObject","pub","WorkspaceAspect","createOnComponentRemovedEvent","triggerOnComponentRemove","isChange","isComponentWatchedExternally","idStr","createOnComponentChangeEvent","createOnComponentAddEvent","triggerOnComponentChange","triggerOnComponentAdd","OnComponentRemovedEvent","now","hook","OnComponentChangeEvent","OnComponentAddEvent","watcherData","multipleWatchers","m","compilerId","rootDir","findRootDirByFilePathRecursively","pathNormalizeToLinux","parentDir","usePollingConf","globalConfig","CFG_WATCH_USE_POLLING","usePolling","workspacePathLinux","path","ignoreLocalScope","pathToCheck","startsWith","chokidar","ignoreInitial","ignored","persistent","componentsFromBitMap","getAllComponents","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, ComponentIdList } 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, PathOsBasedAbsolute } from '@teambit/legacy.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 'chokidar';\nimport { ComponentMap } from '@teambit/legacy.bit-map';\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 import?: boolean; // whether import objects when .bitmap got version changes\n};\n\nexport type RootDirs = { [dir: PathLinux]: ComponentID };\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 rootDirs: RootDirs = {};\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.setRootDirs();\n const componentIds = Object.values(this.rootDirs);\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.rootDirs, this.verbose);\n if (this.verbose) {\n const watched = this.fsWatcher.getWatched();\n const totalWatched = Object.values(watched).flat().length;\n logger.console(\n `${chalk.bold('the following files are being watched:')}\\n${JSON.stringify(watched, null, 2)}`\n );\n logger.console(`\\nTotal files being watched: ${chalk.bold(totalWatched.toString())}`);\n }\n\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 previewsRootDirs = { ...this.rootDirs };\n const previewsIds = this.consumer.bitMap.getAllBitIds();\n await this.workspace._reloadConsumer();\n await this.setRootDirs();\n await this.importObjectsIfNeeded(previewsIds);\n await this.workspace.triggerOnBitmapChange();\n const newDirs: string[] = difference(Object.keys(this.rootDirs), Object.keys(previewsRootDirs));\n const removedDirs: string[] = difference(Object.keys(previewsRootDirs), Object.keys(this.rootDirs));\n const results: OnComponentEventResult[] = [];\n if (newDirs.length) {\n const addResults = await mapSeries(newDirs, async (dir) =>\n this.executeWatchOperationsOnComponent(this.rootDirs[dir], [], [], false)\n );\n results.push(...addResults.flat());\n }\n if (removedDirs.length) {\n await mapSeries(removedDirs, (dir) => this.executeWatchOperationsOnRemove(previewsRootDirs[dir]));\n }\n\n return results;\n }\n\n /**\n * needed when using git.\n * it resolves the following issue - a user is running `git pull` which updates the components and the .bitmap file.\n * because the objects locally are not updated, the .bitmap has new versions that don't exist in the local scope.\n * as soon as the watcher gets an event about a file change, it loads the component which throws\n * ComponentsPendingImport error.\n * to resolve this, we import the new objects as soon as the .bitmap file changes.\n * for performance reasons, we import only when: 1) the .bitmap file has version changes and 2) this new version is\n * not already in the scope.\n */\n private async importObjectsIfNeeded(previewsIds: ComponentIdList) {\n if (!this.options.import) {\n return;\n }\n const currentIds = this.consumer.bitMap.getAllBitIds();\n const hasVersionChanges = currentIds.find((id) => {\n const prevId = previewsIds.searchWithoutVersion(id);\n return prevId && prevId.version !== id.version;\n });\n if (!hasVersionChanges) {\n return;\n }\n const existsInScope = await this.workspace.scope.isComponentInScope(hasVersionChanges);\n if (existsInScope) {\n // the .bitmap change was probably a result of tag/snap/merge, no need to import.\n return;\n }\n if (this.options.verbose) {\n logger.console(\n `Watcher: .bitmap has changed with new versions which do not exist locally, importing the objects...`\n );\n }\n await this.workspace.scope.import(currentIds, {\n useCache: true,\n lane: await this.workspace.getCurrentLaneObject(),\n });\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 rootDir = this.findRootDirByFilePathRecursively(relativeFile);\n if (!rootDir) {\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.rootDirs[rootDir];\n }\n\n private getRelativePathLinux(filePath: string) {\n return pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(filePath));\n }\n\n private findRootDirByFilePathRecursively(filePath: string): string | null {\n if (this.rootDirs[filePath]) return filePath;\n const parentDir = dirname(filePath);\n if (parentDir === filePath) return null;\n return this.findRootDirByFilePathRecursively(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 workspacePathLinux = pathNormalizeToLinux(this.workspace.path);\n const ignoreLocalScope = (pathToCheck: string) => {\n if (pathToCheck.startsWith(this.ipcEventsDir) || pathToCheck.endsWith(UNMERGED_FILENAME)) return false;\n return (\n pathToCheck.startsWith(`${workspacePathLinux}/.git/`) || pathToCheck.startsWith(`${workspacePathLinux}/.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 usePolling,\n // useFsEvents,\n persistent: true,\n });\n if (this.verbose) {\n logger.console(`${chalk.bold('chokidar.options:\\n')} ${JSON.stringify(this.fsWatcher.options, undefined, 2)}`);\n }\n }\n\n private async setRootDirs() {\n this.rootDirs = {};\n const componentsFromBitMap = this.consumer.bitMap.getAllComponents();\n componentsFromBitMap.map((componentMap) => {\n const componentId = componentMap.id;\n const rootDir = componentMap.getRootDir();\n this.rootDirs[rootDir] = componentId;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_lodash","_loader","_constants","_logger","_legacy","_pMapSeries","_chalk","_unmergedComponents","_chokidar","_workspace","_watchQueue","_excluded","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","s","includes","propertyIsEnumerable","call","n","hasOwnProperty","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DEBOUNCE_WAIT_MS","Watcher","constructor","workspace","pubsub","watcherMain","options","WatchQueue","ipcEventsDir","ipcEvents","eventsDir","verbose","consumer","watch","_this$options","msgs","watchOpts","setRootDirs","componentIds","values","rootDirs","triggerOnPreWatch","createWatcher","watcher","fsWatcher","onStart","scope","watchScopeInternalFiles","Promise","resolve","reject","onAll","on","onReady","watched","getWatched","totalWatched","flat","logger","console","chalk","bold","JSON","stringify","toString","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","warn","triggerGotEvent","WORKSPACE_JSONC","triggerOnWorkspaceConfigChange","UNMERGED_FILENAME","clearCache","componentId","getComponentIdByPath","compIdStr","changedFilesPerComponent","sleep","triggerCompChanges","undefined","join","msg","error","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","previewsRootDirs","previewsIds","getAllBitIds","_reloadConsumer","importObjectsIfNeeded","triggerOnBitmapChange","newDirs","difference","removedDirs","addResults","mapSeries","dir","executeWatchOperationsOnRemove","import","currentIds","hasVersionChanges","prevId","searchWithoutVersion","version","existsInScope","isComponentInScope","useCache","lane","getCurrentLaneObject","pub","WorkspaceAspect","createOnComponentRemovedEvent","triggerOnComponentRemove","isChange","isComponentWatchedExternally","idStr","createOnComponentChangeEvent","createOnComponentAddEvent","triggerOnComponentChange","triggerOnComponentAdd","OnComponentRemovedEvent","now","hook","OnComponentChangeEvent","OnComponentAddEvent","watcherData","multipleWatchers","m","compilerId","rootDir","findRootDirByFilePathRecursively","pathNormalizeToLinux","parentDir","usePollingConf","globalConfig","CFG_WATCH_USE_POLLING","usePolling","workspacePathLinux","path","ignoreLocalScope","pathToCheck","startsWith","chokidar","ignoreInitial","ignored","persistent","componentsFromBitMap","getAllComponents","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, ComponentIdList } 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, PathOsBasedAbsolute } from '@teambit/legacy.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 'chokidar';\nimport { ComponentMap } from '@teambit/legacy.bit-map';\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 import?: boolean; // whether import objects when .bitmap got version changes\n};\n\nexport type RootDirs = { [dir: PathLinux]: ComponentID };\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 rootDirs: RootDirs = {};\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.setRootDirs();\n const componentIds = Object.values(this.rootDirs);\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.rootDirs, this.verbose);\n if (this.verbose) {\n const watched = this.fsWatcher.getWatched();\n const totalWatched = Object.values(watched).flat().length;\n logger.console(\n `${chalk.bold('the following files are being watched:')}\\n${JSON.stringify(watched, null, 2)}`\n );\n logger.console(`\\nTotal files being watched: ${chalk.bold(totalWatched.toString())}`);\n }\n\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 (!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 previewsRootDirs = { ...this.rootDirs };\n const previewsIds = this.consumer.bitMap.getAllBitIds();\n await this.workspace._reloadConsumer();\n await this.setRootDirs();\n await this.importObjectsIfNeeded(previewsIds);\n await this.workspace.triggerOnBitmapChange();\n const newDirs: string[] = difference(Object.keys(this.rootDirs), Object.keys(previewsRootDirs));\n const removedDirs: string[] = difference(Object.keys(previewsRootDirs), Object.keys(this.rootDirs));\n const results: OnComponentEventResult[] = [];\n if (newDirs.length) {\n const addResults = await mapSeries(newDirs, async (dir) =>\n this.executeWatchOperationsOnComponent(this.rootDirs[dir], [], [], false)\n );\n results.push(...addResults.flat());\n }\n if (removedDirs.length) {\n await mapSeries(removedDirs, (dir) => this.executeWatchOperationsOnRemove(previewsRootDirs[dir]));\n }\n\n return results;\n }\n\n /**\n * needed when using git.\n * it resolves the following issue - a user is running `git pull` which updates the components and the .bitmap file.\n * because the objects locally are not updated, the .bitmap has new versions that don't exist in the local scope.\n * as soon as the watcher gets an event about a file change, it loads the component which throws\n * ComponentsPendingImport error.\n * to resolve this, we import the new objects as soon as the .bitmap file changes.\n * for performance reasons, we import only when: 1) the .bitmap file has version changes and 2) this new version is\n * not already in the scope.\n */\n private async importObjectsIfNeeded(previewsIds: ComponentIdList) {\n if (!this.options.import) {\n return;\n }\n const currentIds = this.consumer.bitMap.getAllBitIds();\n const hasVersionChanges = currentIds.find((id) => {\n const prevId = previewsIds.searchWithoutVersion(id);\n return prevId && prevId.version !== id.version;\n });\n if (!hasVersionChanges) {\n return;\n }\n const existsInScope = await this.workspace.scope.isComponentInScope(hasVersionChanges);\n if (existsInScope) {\n // the .bitmap change was probably a result of tag/snap/merge, no need to import.\n return;\n }\n if (this.options.verbose) {\n logger.console(\n `Watcher: .bitmap has changed with new versions which do not exist locally, importing the objects...`\n );\n }\n await this.workspace.scope.import(currentIds, {\n useCache: true,\n lane: await this.workspace.getCurrentLaneObject(),\n });\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 rootDir = this.findRootDirByFilePathRecursively(relativeFile);\n if (!rootDir) {\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.rootDirs[rootDir];\n }\n\n private getRelativePathLinux(filePath: string) {\n return pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(filePath));\n }\n\n private findRootDirByFilePathRecursively(filePath: string): string | null {\n if (this.rootDirs[filePath]) return filePath;\n const parentDir = dirname(filePath);\n if (parentDir === filePath) return null;\n return this.findRootDirByFilePathRecursively(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 workspacePathLinux = pathNormalizeToLinux(this.workspace.path);\n const ignoreLocalScope = (pathToCheck: string) => {\n if (pathToCheck.startsWith(this.ipcEventsDir) || pathToCheck.endsWith(UNMERGED_FILENAME)) return false;\n return (\n pathToCheck.startsWith(`${workspacePathLinux}/.git/`) || pathToCheck.startsWith(`${workspacePathLinux}/.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 usePolling,\n // useFsEvents,\n persistent: true,\n });\n if (this.verbose) {\n logger.console(`${chalk.bold('chokidar.options:\\n')} ${JSON.stringify(this.fsWatcher.options, undefined, 2)}`);\n }\n }\n\n private async setRootDirs() {\n this.rootDirs = {};\n const componentsFromBitMap = this.consumer.bitMap.getAllComponents();\n componentsFromBitMap.map((componentMap) => {\n const componentId = componentMap.id;\n const rootDir = componentMap.getRootDir();\n this.rootDirs[rootDir] = componentId;\n });\n }\n}\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.451",
3
+ "version": "1.0.453",
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.451"
9
+ "version": "1.0.453"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -18,14 +18,14 @@
18
18
  "fs-extra": "10.0.0",
19
19
  "@teambit/harmony": "0.4.6",
20
20
  "@teambit/component-id": "1.2.2",
21
- "@teambit/compiler": "1.0.451",
22
- "@teambit/logger": "0.0.1121",
23
- "@teambit/workspace": "1.0.451",
24
- "@teambit/cli": "0.0.1028",
25
- "@teambit/pubsub": "1.0.451",
26
- "@teambit/global-config": "0.0.1031",
27
- "@teambit/ipc-events": "1.0.451",
28
- "@teambit/scope": "1.0.451",
21
+ "@teambit/compiler": "1.0.453",
22
+ "@teambit/logger": "0.0.1123",
23
+ "@teambit/workspace": "1.0.453",
24
+ "@teambit/cli": "0.0.1030",
25
+ "@teambit/pubsub": "1.0.453",
26
+ "@teambit/global-config": "0.0.1033",
27
+ "@teambit/ipc-events": "1.0.453",
28
+ "@teambit/scope": "1.0.453",
29
29
  "@teambit/legacy.bit-map": "0.0.46",
30
30
  "@teambit/legacy.utils": "0.0.6"
31
31
  },