@teambit/workspace-config-files 1.0.330 → 1.0.331

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,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="6" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.workspace/workspace-config-files@1.0.330" tests="6" failures="0" errors="0" skipped="0">
4
- <testcase classname="dist/dedup-paths.spec.js" name="should reduce files to minimum necessary" time="0.002"/>
3
+ <testsuite name="teambit.workspace/workspace-config-files@1.0.331" tests="6" failures="0" errors="0" skipped="0">
4
+ <testcase classname="dist/dedup-paths.spec.js" name="should reduce files to minimum necessary" time="0.001"/>
5
5
  <testcase classname="dist/dedup-paths.spec.js" name="should place files in correct folders"/>
6
6
  <testcase classname="dist/dedup-paths.spec.js" name="should reduce files to minimum necessary"/>
7
7
  <testcase classname="dist/dedup-paths.spec.js" name="should place files in correct folders"/>
@@ -56,11 +56,7 @@
56
56
  "line": 102,
57
57
  "character": 24
58
58
  },
59
- "name": "Workspace",
60
- "componentId": {
61
- "scope": "teambit.workspace",
62
- "name": "workspace"
63
- }
59
+ "name": "Workspace"
64
60
  },
65
61
  "isOptional": false,
66
62
  "isSpread": false
@@ -80,11 +76,7 @@
80
76
  "line": 103,
81
77
  "character": 19
82
78
  },
83
- "name": "EnvsMain",
84
- "componentId": {
85
- "scope": "teambit.envs",
86
- "name": "envs"
87
- }
79
+ "name": "EnvsMain"
88
80
  },
89
81
  "isOptional": false,
90
82
  "isSpread": false
@@ -104,11 +96,7 @@
104
96
  "line": 104,
105
97
  "character": 21
106
98
  },
107
- "name": "Logger",
108
- "componentId": {
109
- "scope": "teambit.harmony",
110
- "name": "logger"
111
- }
99
+ "name": "Logger"
112
100
  },
113
101
  "isOptional": false,
114
102
  "isSpread": false
@@ -128,8 +116,7 @@
128
116
  "line": 105,
129
117
  "character": 21
130
118
  },
131
- "name": "WorkspaceConfigFilesAspectConfig",
132
- "internalFilePath": "workspace-config-files.main.runtime.ts"
119
+ "name": "WorkspaceConfigFilesAspectConfig"
133
120
  },
134
121
  "isOptional": false,
135
122
  "isSpread": false
@@ -180,8 +167,7 @@
180
167
  "line": 111,
181
168
  "character": 14
182
169
  },
183
- "name": "WriteConfigFilesOptions",
184
- "internalFilePath": "workspace-config-files.main.runtime.ts"
170
+ "name": "WriteConfigFilesOptions"
185
171
  }
186
172
  },
187
173
  {
@@ -214,8 +200,7 @@
214
200
  "line": 120,
215
201
  "character": 35
216
202
  },
217
- "name": "WriteConfigFilesOptions",
218
- "internalFilePath": "workspace-config-files.main.runtime.ts"
203
+ "name": "WriteConfigFilesOptions"
219
204
  },
220
205
  "isOptional": true,
221
206
  "defaultValue": "{}",
@@ -282,8 +267,7 @@
282
267
  "line": 171,
283
268
  "character": 44
284
269
  },
285
- "name": "WriteConfigFilesOptions",
286
- "internalFilePath": "workspace-config-files.main.runtime.ts"
270
+ "name": "WriteConfigFilesOptions"
287
271
  },
288
272
  "isOptional": true,
289
273
  "defaultValue": "{}",
@@ -367,8 +351,7 @@
367
351
  "line": 180,
368
352
  "character": 14
369
353
  },
370
- "name": "CleanConfigFilesOptions",
371
- "internalFilePath": "workspace-config-files.main.runtime.ts"
354
+ "name": "CleanConfigFilesOptions"
372
355
  }
373
356
  },
374
357
  {
@@ -401,8 +384,7 @@
401
384
  "line": 183,
402
385
  "character": 35
403
386
  },
404
- "name": "CleanConfigFilesOptions",
405
- "internalFilePath": "workspace-config-files.main.runtime.ts"
387
+ "name": "CleanConfigFilesOptions"
406
388
  },
407
389
  "isOptional": true,
408
390
  "defaultValue": "{}",
@@ -532,8 +514,7 @@
532
514
  "line": 205,
533
515
  "character": 38
534
516
  },
535
- "name": "EnvConfigWritersList",
536
- "internalFilePath": "workspace-config-files.main.runtime.ts"
517
+ "name": "EnvConfigWritersList"
537
518
  }
538
519
  ]
539
520
  },
@@ -608,8 +589,7 @@
608
589
  "line": 343,
609
590
  "character": 44
610
591
  },
611
- "name": "WriteConfigFilesOptions",
612
- "internalFilePath": "workspace-config-files.main.runtime.ts"
592
+ "name": "WriteConfigFilesOptions"
613
593
  },
614
594
  "isOptional": false,
615
595
  "objectBindingNodes": [
@@ -791,8 +771,7 @@
791
771
  "line": 410,
792
772
  "character": 33
793
773
  },
794
- "name": "WorkspaceConfigFilesAspectConfig",
795
- "internalFilePath": "workspace-config-files.main.runtime.ts"
774
+ "name": "WorkspaceConfigFilesAspectConfig"
796
775
  }
797
776
  ]
798
777
  },
@@ -832,11 +811,7 @@
832
811
  "line": 415,
833
812
  "character": 44
834
813
  },
835
- "name": "CLIMain",
836
- "componentId": {
837
- "scope": "teambit.harmony",
838
- "name": "cli"
839
- }
814
+ "name": "CLIMain"
840
815
  },
841
816
  {
842
817
  "__schema": "TypeRefSchema",
@@ -845,11 +820,7 @@
845
820
  "line": 415,
846
821
  "character": 53
847
822
  },
848
- "name": "Workspace",
849
- "componentId": {
850
- "scope": "teambit.workspace",
851
- "name": "workspace"
852
- }
823
+ "name": "Workspace"
853
824
  },
854
825
  {
855
826
  "__schema": "TypeRefSchema",
@@ -858,11 +829,7 @@
858
829
  "line": 415,
859
830
  "character": 64
860
831
  },
861
- "name": "EnvsMain",
862
- "componentId": {
863
- "scope": "teambit.envs",
864
- "name": "envs"
865
- }
832
+ "name": "EnvsMain"
866
833
  },
867
834
  {
868
835
  "__schema": "TypeRefSchema",
@@ -871,11 +838,7 @@
871
838
  "line": 415,
872
839
  "character": 74
873
840
  },
874
- "name": "LoggerMain",
875
- "componentId": {
876
- "scope": "teambit.harmony",
877
- "name": "logger"
878
- }
841
+ "name": "LoggerMain"
879
842
  }
880
843
  ]
881
844
  },
@@ -897,8 +860,7 @@
897
860
  "line": 416,
898
861
  "character": 13
899
862
  },
900
- "name": "WorkspaceConfigFilesAspectConfig",
901
- "internalFilePath": "workspace-config-files.main.runtime.ts"
863
+ "name": "WorkspaceConfigFilesAspectConfig"
902
864
  },
903
865
  "isOptional": false,
904
866
  "isSpread": false
@@ -1610,11 +1572,7 @@
1610
1572
  "line": 97,
1611
1573
  "character": 23
1612
1574
  },
1613
- "name": "ExecutionContext",
1614
- "componentId": {
1615
- "scope": "teambit.envs",
1616
- "name": "envs"
1617
- }
1575
+ "name": "ExecutionContext"
1618
1576
  },
1619
1577
  "isOptional": false,
1620
1578
  "isSpread": false
@@ -1634,11 +1592,7 @@
1634
1592
  "line": 98,
1635
1593
  "character": 10
1636
1594
  },
1637
- "name": "Environment",
1638
- "componentId": {
1639
- "scope": "teambit.envs",
1640
- "name": "envs"
1641
- }
1595
+ "name": "Environment"
1642
1596
  },
1643
1597
  "isOptional": false,
1644
1598
  "isSpread": false
@@ -1770,8 +1724,7 @@
1770
1724
  "line": 110,
1771
1725
  "character": 22
1772
1726
  },
1773
- "name": "MergeConfigFilesFunc",
1774
- "internalFilePath": "config-writer-entry.ts"
1727
+ "name": "MergeConfigFilesFunc"
1775
1728
  },
1776
1729
  "isOptional": true
1777
1730
  },
@@ -1942,8 +1895,7 @@
1942
1895
  "line": 134,
1943
1896
  "character": 29
1944
1897
  },
1945
- "name": "PostProcessExtendingConfigFilesOneFile",
1946
- "internalFilePath": "config-writer-entry.ts"
1898
+ "name": "PostProcessExtendingConfigFilesOneFile"
1947
1899
  }
1948
1900
  ]
1949
1901
  },
@@ -2141,8 +2093,7 @@
2141
2093
  "line": 34,
2142
2094
  "character": 48
2143
2095
  },
2144
- "name": "ExtendingConfigFileAdditionalProp",
2145
- "internalFilePath": "config-writer-entry.ts"
2096
+ "name": "ExtendingConfigFileAdditionalProp"
2146
2097
  }
2147
2098
  ]
2148
2099
  }
@@ -2537,8 +2488,7 @@
2537
2488
  "line": 57,
2538
2489
  "character": 23
2539
2490
  },
2540
- "name": "WrittenConfigFile",
2541
- "internalFilePath": "writers/real-config-files.ts"
2491
+ "name": "WrittenConfigFile"
2542
2492
  }
2543
2493
  },
2544
2494
  "isOptional": false
@@ -2609,10 +2559,6 @@
2609
2559
  "character": 12
2610
2560
  },
2611
2561
  "name": "EnvHandler",
2612
- "componentId": {
2613
- "scope": "teambit.envs",
2614
- "name": "envs"
2615
- },
2616
2562
  "typeArgs": [
2617
2563
  {
2618
2564
  "__schema": "TypeRefSchema",
@@ -3095,11 +3041,7 @@
3095
3041
  "line": 76,
3096
3042
  "character": 20
3097
3043
  },
3098
- "name": "EnvContext",
3099
- "componentId": {
3100
- "scope": "teambit.envs",
3101
- "name": "envs"
3102
- }
3044
+ "name": "EnvContext"
3103
3045
  },
3104
3046
  "isOptional": false,
3105
3047
  "isSpread": false
@@ -3510,8 +3452,7 @@
3510
3452
  "line": 53,
3511
3453
  "character": 42
3512
3454
  },
3513
- "name": "EnvConfigWriter",
3514
- "internalFilePath": "workspace-config-files.main.runtime.ts"
3455
+ "name": "EnvConfigWriter"
3515
3456
  }
3516
3457
  ]
3517
3458
  }
@@ -4359,11 +4300,7 @@
4359
4300
  "line": 102,
4360
4301
  "character": 24
4361
4302
  },
4362
- "name": "Workspace",
4363
- "componentId": {
4364
- "scope": "teambit.workspace",
4365
- "name": "workspace"
4366
- }
4303
+ "name": "Workspace"
4367
4304
  },
4368
4305
  "isOptional": false,
4369
4306
  "isSpread": false
@@ -4383,11 +4320,7 @@
4383
4320
  "line": 103,
4384
4321
  "character": 19
4385
4322
  },
4386
- "name": "EnvsMain",
4387
- "componentId": {
4388
- "scope": "teambit.envs",
4389
- "name": "envs"
4390
- }
4323
+ "name": "EnvsMain"
4391
4324
  },
4392
4325
  "isOptional": false,
4393
4326
  "isSpread": false
@@ -4407,11 +4340,7 @@
4407
4340
  "line": 104,
4408
4341
  "character": 21
4409
4342
  },
4410
- "name": "Logger",
4411
- "componentId": {
4412
- "scope": "teambit.harmony",
4413
- "name": "logger"
4414
- }
4343
+ "name": "Logger"
4415
4344
  },
4416
4345
  "isOptional": false,
4417
4346
  "isSpread": false
@@ -4431,8 +4360,7 @@
4431
4360
  "line": 105,
4432
4361
  "character": 21
4433
4362
  },
4434
- "name": "WorkspaceConfigFilesAspectConfig",
4435
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4363
+ "name": "WorkspaceConfigFilesAspectConfig"
4436
4364
  },
4437
4365
  "isOptional": false,
4438
4366
  "isSpread": false
@@ -4483,8 +4411,7 @@
4483
4411
  "line": 111,
4484
4412
  "character": 14
4485
4413
  },
4486
- "name": "WriteConfigFilesOptions",
4487
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4414
+ "name": "WriteConfigFilesOptions"
4488
4415
  }
4489
4416
  },
4490
4417
  {
@@ -4517,8 +4444,7 @@
4517
4444
  "line": 120,
4518
4445
  "character": 35
4519
4446
  },
4520
- "name": "WriteConfigFilesOptions",
4521
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4447
+ "name": "WriteConfigFilesOptions"
4522
4448
  },
4523
4449
  "isOptional": true,
4524
4450
  "defaultValue": "{}",
@@ -4585,8 +4511,7 @@
4585
4511
  "line": 171,
4586
4512
  "character": 44
4587
4513
  },
4588
- "name": "WriteConfigFilesOptions",
4589
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4514
+ "name": "WriteConfigFilesOptions"
4590
4515
  },
4591
4516
  "isOptional": true,
4592
4517
  "defaultValue": "{}",
@@ -4670,8 +4595,7 @@
4670
4595
  "line": 180,
4671
4596
  "character": 14
4672
4597
  },
4673
- "name": "CleanConfigFilesOptions",
4674
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4598
+ "name": "CleanConfigFilesOptions"
4675
4599
  }
4676
4600
  },
4677
4601
  {
@@ -4704,8 +4628,7 @@
4704
4628
  "line": 183,
4705
4629
  "character": 35
4706
4630
  },
4707
- "name": "CleanConfigFilesOptions",
4708
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4631
+ "name": "CleanConfigFilesOptions"
4709
4632
  },
4710
4633
  "isOptional": true,
4711
4634
  "defaultValue": "{}",
@@ -4835,8 +4758,7 @@
4835
4758
  "line": 205,
4836
4759
  "character": 38
4837
4760
  },
4838
- "name": "EnvConfigWritersList",
4839
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4761
+ "name": "EnvConfigWritersList"
4840
4762
  }
4841
4763
  ]
4842
4764
  },
@@ -4911,8 +4833,7 @@
4911
4833
  "line": 343,
4912
4834
  "character": 44
4913
4835
  },
4914
- "name": "WriteConfigFilesOptions",
4915
- "internalFilePath": "workspace-config-files.main.runtime.ts"
4836
+ "name": "WriteConfigFilesOptions"
4916
4837
  },
4917
4838
  "isOptional": false,
4918
4839
  "objectBindingNodes": [
@@ -5094,8 +5015,7 @@
5094
5015
  "line": 410,
5095
5016
  "character": 33
5096
5017
  },
5097
- "name": "WorkspaceConfigFilesAspectConfig",
5098
- "internalFilePath": "workspace-config-files.main.runtime.ts"
5018
+ "name": "WorkspaceConfigFilesAspectConfig"
5099
5019
  }
5100
5020
  ]
5101
5021
  },
@@ -5135,11 +5055,7 @@
5135
5055
  "line": 415,
5136
5056
  "character": 44
5137
5057
  },
5138
- "name": "CLIMain",
5139
- "componentId": {
5140
- "scope": "teambit.harmony",
5141
- "name": "cli"
5142
- }
5058
+ "name": "CLIMain"
5143
5059
  },
5144
5060
  {
5145
5061
  "__schema": "TypeRefSchema",
@@ -5148,11 +5064,7 @@
5148
5064
  "line": 415,
5149
5065
  "character": 53
5150
5066
  },
5151
- "name": "Workspace",
5152
- "componentId": {
5153
- "scope": "teambit.workspace",
5154
- "name": "workspace"
5155
- }
5067
+ "name": "Workspace"
5156
5068
  },
5157
5069
  {
5158
5070
  "__schema": "TypeRefSchema",
@@ -5161,11 +5073,7 @@
5161
5073
  "line": 415,
5162
5074
  "character": 64
5163
5075
  },
5164
- "name": "EnvsMain",
5165
- "componentId": {
5166
- "scope": "teambit.envs",
5167
- "name": "envs"
5168
- }
5076
+ "name": "EnvsMain"
5169
5077
  },
5170
5078
  {
5171
5079
  "__schema": "TypeRefSchema",
@@ -5174,11 +5082,7 @@
5174
5082
  "line": 415,
5175
5083
  "character": 74
5176
5084
  },
5177
- "name": "LoggerMain",
5178
- "componentId": {
5179
- "scope": "teambit.harmony",
5180
- "name": "logger"
5181
- }
5085
+ "name": "LoggerMain"
5182
5086
  }
5183
5087
  ]
5184
5088
  },
@@ -5200,8 +5104,7 @@
5200
5104
  "line": 416,
5201
5105
  "character": 13
5202
5106
  },
5203
- "name": "WorkspaceConfigFilesAspectConfig",
5204
- "internalFilePath": "workspace-config-files.main.runtime.ts"
5107
+ "name": "WorkspaceConfigFilesAspectConfig"
5205
5108
  },
5206
5109
  "isOptional": false,
5207
5110
  "isSpread": false
@@ -5295,8 +5198,7 @@
5295
5198
  "line": 50,
5296
5199
  "character": 23
5297
5200
  },
5298
- "name": "EnvConfigWriterEntry",
5299
- "internalFilePath": "workspace-config-files.main.runtime.ts"
5201
+ "name": "EnvConfigWriterEntry"
5300
5202
  }
5301
5203
  }
5302
5204
  }
@@ -5552,8 +5454,7 @@
5552
5454
  "line": 34,
5553
5455
  "character": 48
5554
5456
  },
5555
- "name": "ExtendingConfigFileAdditionalProp",
5556
- "internalFilePath": "config-writer-entry.ts"
5457
+ "name": "ExtendingConfigFileAdditionalProp"
5557
5458
  }
5558
5459
  ]
5559
5460
  }
@@ -5808,8 +5709,7 @@
5808
5709
  "line": 57,
5809
5710
  "character": 23
5810
5711
  },
5811
- "name": "WrittenConfigFile",
5812
- "internalFilePath": "writers/real-config-files.ts"
5712
+ "name": "WrittenConfigFile"
5813
5713
  }
5814
5714
  },
5815
5715
  "isOptional": false
@@ -6088,11 +5988,7 @@
6088
5988
  "line": 97,
6089
5989
  "character": 23
6090
5990
  },
6091
- "name": "ExecutionContext",
6092
- "componentId": {
6093
- "scope": "teambit.envs",
6094
- "name": "envs"
6095
- }
5991
+ "name": "ExecutionContext"
6096
5992
  },
6097
5993
  "isOptional": false,
6098
5994
  "isSpread": false
@@ -6112,11 +6008,7 @@
6112
6008
  "line": 98,
6113
6009
  "character": 10
6114
6010
  },
6115
- "name": "Environment",
6116
- "componentId": {
6117
- "scope": "teambit.envs",
6118
- "name": "envs"
6119
- }
6011
+ "name": "Environment"
6120
6012
  },
6121
6013
  "isOptional": false,
6122
6014
  "isSpread": false
@@ -6248,8 +6140,7 @@
6248
6140
  "line": 110,
6249
6141
  "character": 22
6250
6142
  },
6251
- "name": "MergeConfigFilesFunc",
6252
- "internalFilePath": "config-writer-entry.ts"
6143
+ "name": "MergeConfigFilesFunc"
6253
6144
  },
6254
6145
  "isOptional": true
6255
6146
  },
@@ -6420,8 +6311,7 @@
6420
6311
  "line": 134,
6421
6312
  "character": 29
6422
6313
  },
6423
- "name": "PostProcessExtendingConfigFilesOneFile",
6424
- "internalFilePath": "config-writer-entry.ts"
6314
+ "name": "PostProcessExtendingConfigFilesOneFile"
6425
6315
  }
6426
6316
  ]
6427
6317
  },
@@ -6622,10 +6512,6 @@
6622
6512
  "character": 12
6623
6513
  },
6624
6514
  "name": "EnvHandler",
6625
- "componentId": {
6626
- "scope": "teambit.envs",
6627
- "name": "envs"
6628
- },
6629
6515
  "typeArgs": [
6630
6516
  {
6631
6517
  "__schema": "TypeRefSchema",
@@ -7045,11 +6931,7 @@
7045
6931
  "line": 76,
7046
6932
  "character": 20
7047
6933
  },
7048
- "name": "EnvContext",
7049
- "componentId": {
7050
- "scope": "teambit.envs",
7051
- "name": "envs"
7052
- }
6934
+ "name": "EnvContext"
7053
6935
  },
7054
6936
  "isOptional": false,
7055
6937
  "isSpread": false
@@ -7174,7 +7056,7 @@
7174
7056
  "componentId": {
7175
7057
  "scope": "teambit.workspace",
7176
7058
  "name": "workspace-config-files",
7177
- "version": "1.0.330"
7059
+ "version": "1.0.331"
7178
7060
  },
7179
7061
  "taggedModuleExports": []
7180
7062
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_path","getAllPossibleDirsFromPaths","paths","dirs","map","p","getAllParentsDirOfPath","flat","push","uniq","all","current","dirname","buildCompPathExtendingHashMap","extendingConfigFilesMap","envCompsDirsMap","Object","entries","reduce","acc","hash","envIds","forEach","envId","envCompDirs","compPath","dedupePaths","rootDir","compPathExtendingHashMap","allPaths","keys","allPossibleDirs","allPathsPerFileHash","calculateBestFileForDir","dir","allPathsShareSameDir","filter","startsWith","countPerFileHash","fileHash","max","Math","values","fileHashWithMax","length","Error","dirPath","dedupedPathsPerFileHash","fileHashPerDedupedPaths","invertBy","dedupedPaths"],"sources":["dedup-paths.ts"],"sourcesContent":["import { invertBy, uniq } from 'lodash';\nimport { dirname } from 'path';\nimport { PathLinuxRelative } from '@teambit/legacy/dist/utils/path';\nimport { CompPathExtendingHashMap, EnvCompsDirsMap } from './workspace-config-files.main.runtime';\nimport { ExtendingConfigFilesMap } from './writers';\n\nexport type DedupedPaths = Array<{\n fileHash: string;\n paths: string[];\n}>;\n\nfunction getAllPossibleDirsFromPaths(paths: PathLinuxRelative[]): PathLinuxRelative[] {\n const dirs = paths.map((p) => getAllParentsDirOfPath(p)).flat();\n dirs.push('.'); // add the root dir\n return uniq(dirs);\n}\n\nfunction getAllParentsDirOfPath(p: PathLinuxRelative): PathLinuxRelative[] {\n const all: string[] = [];\n let current = p;\n while (current !== '.') {\n all.push(current);\n current = dirname(current);\n }\n return all;\n}\n\nexport function buildCompPathExtendingHashMap(\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n envCompsDirsMap: EnvCompsDirsMap\n): CompPathExtendingHashMap {\n const map = Object.entries(extendingConfigFilesMap).reduce((acc, [hash, { envIds }]) => {\n envIds.forEach((envId) => {\n const envCompDirs = envCompsDirsMap[envId];\n envCompDirs.paths.forEach((compPath) => {\n acc[compPath] = hash;\n });\n });\n return acc;\n }, {});\n return map;\n}\n\n/**\n * easier to understand by an example:\n * input:\n * [\n * { fileHash: hash1, paths: [ui/button, ui/form] },\n * { fileHash: hash2, paths: [p/a1, p/a2] },\n * { fileHash: hash3, paths: [p/n1] },\n * ]\n *\n * output:\n * [\n * { fileHash: hash1, paths: [ui] },\n * { fileHash: hash2, paths: [p] },\n * { fileHash: hash3, paths: [p/n1] },\n * ]\n *\n * the goal is to minimize the amount of files to write per env if possible.\n * when multiple components of the same env share a root-dir, then, it's enough to write a file in that shared dir.\n * if in a shared-dir, some components using env1 and some env2, it finds the env that has the max number of\n * components, this env will be optimized. other components, will have the files written inside their dirs.\n */\nexport function dedupePaths(\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n envCompsDirsMap: EnvCompsDirsMap\n): DedupedPaths {\n const rootDir = '.';\n\n const compPathExtendingHashMap = buildCompPathExtendingHashMap(extendingConfigFilesMap, envCompsDirsMap);\n const allPaths = Object.keys(compPathExtendingHashMap);\n const allPossibleDirs = getAllPossibleDirsFromPaths(allPaths);\n\n const allPathsPerFileHash: { [path: string]: string | null } = {}; // null when parent-dir has same amount of comps per env.\n\n const calculateBestFileForDir = (dir: string) => {\n if (compPathExtendingHashMap[dir]) {\n // it's the component dir, so it's the file that should be written.\n allPathsPerFileHash[dir] = compPathExtendingHashMap[dir];\n return;\n }\n const allPathsShareSameDir = dir === rootDir ? allPaths : allPaths.filter((p) => p.startsWith(`${dir}/`));\n const countPerFileHash: { [fileHash: string]: number } = {};\n allPathsShareSameDir.forEach((p) => {\n const fileHash = compPathExtendingHashMap[p];\n if (countPerFileHash[fileHash]) countPerFileHash[fileHash] += 1;\n else countPerFileHash[fileHash] = 1;\n });\n const max = Math.max(...Object.values(countPerFileHash));\n const fileHashWithMax = Object.keys(countPerFileHash).filter((fileHash) => countPerFileHash[fileHash] === max);\n if (!fileHashWithMax.length) throw new Error(`must be at least one fileHash related to path \"${dir}\"`);\n if (fileHashWithMax.length > 1) allPathsPerFileHash[dir] = null;\n else allPathsPerFileHash[dir] = fileHashWithMax[0];\n };\n\n allPossibleDirs.forEach((dirPath) => {\n calculateBestFileForDir(dirPath);\n });\n\n // this is the actual deduping. if found a shorter path with the same env, then no need for this path.\n // in other words, return only the paths that their parent is null or has a different env.\n const dedupedPathsPerFileHash = Object.keys(allPathsPerFileHash).reduce((acc, current) => {\n if (allPathsPerFileHash[current] && allPathsPerFileHash[dirname(current)] !== allPathsPerFileHash[current]) {\n acc[current] = allPathsPerFileHash[current];\n }\n\n return acc;\n }, {});\n // rootDir parent is always rootDir, so leave it as is.\n if (allPathsPerFileHash[rootDir]) dedupedPathsPerFileHash[rootDir] = allPathsPerFileHash[rootDir];\n\n const fileHashPerDedupedPaths = invertBy(dedupedPathsPerFileHash);\n\n const dedupedPaths = Object.keys(fileHashPerDedupedPaths).map((fileHash) => ({\n fileHash,\n paths: fileHashPerDedupedPaths[fileHash],\n }));\n return dedupedPaths;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","data","require","_path","getAllPossibleDirsFromPaths","paths","dirs","map","p","getAllParentsDirOfPath","flat","push","uniq","all","current","dirname","buildCompPathExtendingHashMap","extendingConfigFilesMap","envCompsDirsMap","Object","entries","reduce","acc","hash","envIds","forEach","envId","envCompDirs","compPath","dedupePaths","rootDir","compPathExtendingHashMap","allPaths","keys","allPossibleDirs","allPathsPerFileHash","calculateBestFileForDir","dir","allPathsShareSameDir","filter","startsWith","countPerFileHash","fileHash","max","Math","values","fileHashWithMax","length","Error","dirPath","dedupedPathsPerFileHash","fileHashPerDedupedPaths","invertBy","dedupedPaths"],"sources":["dedup-paths.ts"],"sourcesContent":["import { invertBy, uniq } from 'lodash';\nimport { dirname } from 'path';\nimport { PathLinuxRelative } from '@teambit/toolbox.path.path';\nimport { CompPathExtendingHashMap, EnvCompsDirsMap } from './workspace-config-files.main.runtime';\nimport { ExtendingConfigFilesMap } from './writers';\n\nexport type DedupedPaths = Array<{\n fileHash: string;\n paths: string[];\n}>;\n\nfunction getAllPossibleDirsFromPaths(paths: PathLinuxRelative[]): PathLinuxRelative[] {\n const dirs = paths.map((p) => getAllParentsDirOfPath(p)).flat();\n dirs.push('.'); // add the root dir\n return uniq(dirs);\n}\n\nfunction getAllParentsDirOfPath(p: PathLinuxRelative): PathLinuxRelative[] {\n const all: string[] = [];\n let current = p;\n while (current !== '.') {\n all.push(current);\n current = dirname(current);\n }\n return all;\n}\n\nexport function buildCompPathExtendingHashMap(\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n envCompsDirsMap: EnvCompsDirsMap\n): CompPathExtendingHashMap {\n const map = Object.entries(extendingConfigFilesMap).reduce((acc, [hash, { envIds }]) => {\n envIds.forEach((envId) => {\n const envCompDirs = envCompsDirsMap[envId];\n envCompDirs.paths.forEach((compPath) => {\n acc[compPath] = hash;\n });\n });\n return acc;\n }, {});\n return map;\n}\n\n/**\n * easier to understand by an example:\n * input:\n * [\n * { fileHash: hash1, paths: [ui/button, ui/form] },\n * { fileHash: hash2, paths: [p/a1, p/a2] },\n * { fileHash: hash3, paths: [p/n1] },\n * ]\n *\n * output:\n * [\n * { fileHash: hash1, paths: [ui] },\n * { fileHash: hash2, paths: [p] },\n * { fileHash: hash3, paths: [p/n1] },\n * ]\n *\n * the goal is to minimize the amount of files to write per env if possible.\n * when multiple components of the same env share a root-dir, then, it's enough to write a file in that shared dir.\n * if in a shared-dir, some components using env1 and some env2, it finds the env that has the max number of\n * components, this env will be optimized. other components, will have the files written inside their dirs.\n */\nexport function dedupePaths(\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n envCompsDirsMap: EnvCompsDirsMap\n): DedupedPaths {\n const rootDir = '.';\n\n const compPathExtendingHashMap = buildCompPathExtendingHashMap(extendingConfigFilesMap, envCompsDirsMap);\n const allPaths = Object.keys(compPathExtendingHashMap);\n const allPossibleDirs = getAllPossibleDirsFromPaths(allPaths);\n\n const allPathsPerFileHash: { [path: string]: string | null } = {}; // null when parent-dir has same amount of comps per env.\n\n const calculateBestFileForDir = (dir: string) => {\n if (compPathExtendingHashMap[dir]) {\n // it's the component dir, so it's the file that should be written.\n allPathsPerFileHash[dir] = compPathExtendingHashMap[dir];\n return;\n }\n const allPathsShareSameDir = dir === rootDir ? allPaths : allPaths.filter((p) => p.startsWith(`${dir}/`));\n const countPerFileHash: { [fileHash: string]: number } = {};\n allPathsShareSameDir.forEach((p) => {\n const fileHash = compPathExtendingHashMap[p];\n if (countPerFileHash[fileHash]) countPerFileHash[fileHash] += 1;\n else countPerFileHash[fileHash] = 1;\n });\n const max = Math.max(...Object.values(countPerFileHash));\n const fileHashWithMax = Object.keys(countPerFileHash).filter((fileHash) => countPerFileHash[fileHash] === max);\n if (!fileHashWithMax.length) throw new Error(`must be at least one fileHash related to path \"${dir}\"`);\n if (fileHashWithMax.length > 1) allPathsPerFileHash[dir] = null;\n else allPathsPerFileHash[dir] = fileHashWithMax[0];\n };\n\n allPossibleDirs.forEach((dirPath) => {\n calculateBestFileForDir(dirPath);\n });\n\n // this is the actual deduping. if found a shorter path with the same env, then no need for this path.\n // in other words, return only the paths that their parent is null or has a different env.\n const dedupedPathsPerFileHash = Object.keys(allPathsPerFileHash).reduce((acc, current) => {\n if (allPathsPerFileHash[current] && allPathsPerFileHash[dirname(current)] !== allPathsPerFileHash[current]) {\n acc[current] = allPathsPerFileHash[current];\n }\n\n return acc;\n }, {});\n // rootDir parent is always rootDir, so leave it as is.\n if (allPathsPerFileHash[rootDir]) dedupedPathsPerFileHash[rootDir] = allPathsPerFileHash[rootDir];\n\n const fileHashPerDedupedPaths = invertBy(dedupedPathsPerFileHash);\n\n const dedupedPaths = Object.keys(fileHashPerDedupedPaths).map((fileHash) => ({\n fileHash,\n paths: fileHashPerDedupedPaths[fileHash],\n }));\n return dedupedPaths;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAASG,2BAA2BA,CAACC,KAA0B,EAAuB;EACpF,MAAMC,IAAI,GAAGD,KAAK,CAACE,GAAG,CAAEC,CAAC,IAAKC,sBAAsB,CAACD,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC,CAAC;EAC/DJ,IAAI,CAACK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;EAChB,OAAO,IAAAC,cAAI,EAACN,IAAI,CAAC;AACnB;AAEA,SAASG,sBAAsBA,CAACD,CAAoB,EAAuB;EACzE,MAAMK,GAAa,GAAG,EAAE;EACxB,IAAIC,OAAO,GAAGN,CAAC;EACf,OAAOM,OAAO,KAAK,GAAG,EAAE;IACtBD,GAAG,CAACF,IAAI,CAACG,OAAO,CAAC;IACjBA,OAAO,GAAG,IAAAC,eAAO,EAACD,OAAO,CAAC;EAC5B;EACA,OAAOD,GAAG;AACZ;AAEO,SAASG,6BAA6BA,CAC3CC,uBAAgD,EAChDC,eAAgC,EACN;EAC1B,MAAMX,GAAG,GAAGY,MAAM,CAACC,OAAO,CAACH,uBAAuB,CAAC,CAACI,MAAM,CAAC,CAACC,GAAG,EAAE,CAACC,IAAI,EAAE;IAAEC;EAAO,CAAC,CAAC,KAAK;IACtFA,MAAM,CAACC,OAAO,CAAEC,KAAK,IAAK;MACxB,MAAMC,WAAW,GAAGT,eAAe,CAACQ,KAAK,CAAC;MAC1CC,WAAW,CAACtB,KAAK,CAACoB,OAAO,CAAEG,QAAQ,IAAK;QACtCN,GAAG,CAACM,QAAQ,CAAC,GAAGL,IAAI;MACtB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,OAAOD,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACN,OAAOf,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASsB,WAAWA,CACzBZ,uBAAgD,EAChDC,eAAgC,EAClB;EACd,MAAMY,OAAO,GAAG,GAAG;EAEnB,MAAMC,wBAAwB,GAAGf,6BAA6B,CAACC,uBAAuB,EAAEC,eAAe,CAAC;EACxG,MAAMc,QAAQ,GAAGb,MAAM,CAACc,IAAI,CAACF,wBAAwB,CAAC;EACtD,MAAMG,eAAe,GAAG9B,2BAA2B,CAAC4B,QAAQ,CAAC;EAE7D,MAAMG,mBAAsD,GAAG,CAAC,CAAC,CAAC,CAAC;;EAEnE,MAAMC,uBAAuB,GAAIC,GAAW,IAAK;IAC/C,IAAIN,wBAAwB,CAACM,GAAG,CAAC,EAAE;MACjC;MACAF,mBAAmB,CAACE,GAAG,CAAC,GAAGN,wBAAwB,CAACM,GAAG,CAAC;MACxD;IACF;IACA,MAAMC,oBAAoB,GAAGD,GAAG,KAAKP,OAAO,GAAGE,QAAQ,GAAGA,QAAQ,CAACO,MAAM,CAAE/B,CAAC,IAAKA,CAAC,CAACgC,UAAU,CAAC,GAAGH,GAAG,GAAG,CAAC,CAAC;IACzG,MAAMI,gBAAgD,GAAG,CAAC,CAAC;IAC3DH,oBAAoB,CAACb,OAAO,CAAEjB,CAAC,IAAK;MAClC,MAAMkC,QAAQ,GAAGX,wBAAwB,CAACvB,CAAC,CAAC;MAC5C,IAAIiC,gBAAgB,CAACC,QAAQ,CAAC,EAAED,gBAAgB,CAACC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAC3DD,gBAAgB,CAACC,QAAQ,CAAC,GAAG,CAAC;IACrC,CAAC,CAAC;IACF,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,GAAGxB,MAAM,CAAC0B,MAAM,CAACJ,gBAAgB,CAAC,CAAC;IACxD,MAAMK,eAAe,GAAG3B,MAAM,CAACc,IAAI,CAACQ,gBAAgB,CAAC,CAACF,MAAM,CAAEG,QAAQ,IAAKD,gBAAgB,CAACC,QAAQ,CAAC,KAAKC,GAAG,CAAC;IAC9G,IAAI,CAACG,eAAe,CAACC,MAAM,EAAE,MAAM,IAAIC,KAAK,CAAC,kDAAkDX,GAAG,GAAG,CAAC;IACtG,IAAIS,eAAe,CAACC,MAAM,GAAG,CAAC,EAAEZ,mBAAmB,CAACE,GAAG,CAAC,GAAG,IAAI,CAAC,KAC3DF,mBAAmB,CAACE,GAAG,CAAC,GAAGS,eAAe,CAAC,CAAC,CAAC;EACpD,CAAC;EAEDZ,eAAe,CAACT,OAAO,CAAEwB,OAAO,IAAK;IACnCb,uBAAuB,CAACa,OAAO,CAAC;EAClC,CAAC,CAAC;;EAEF;EACA;EACA,MAAMC,uBAAuB,GAAG/B,MAAM,CAACc,IAAI,CAACE,mBAAmB,CAAC,CAACd,MAAM,CAAC,CAACC,GAAG,EAAER,OAAO,KAAK;IACxF,IAAIqB,mBAAmB,CAACrB,OAAO,CAAC,IAAIqB,mBAAmB,CAAC,IAAApB,eAAO,EAACD,OAAO,CAAC,CAAC,KAAKqB,mBAAmB,CAACrB,OAAO,CAAC,EAAE;MAC1GQ,GAAG,CAACR,OAAO,CAAC,GAAGqB,mBAAmB,CAACrB,OAAO,CAAC;IAC7C;IAEA,OAAOQ,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACN;EACA,IAAIa,mBAAmB,CAACL,OAAO,CAAC,EAAEoB,uBAAuB,CAACpB,OAAO,CAAC,GAAGK,mBAAmB,CAACL,OAAO,CAAC;EAEjG,MAAMqB,uBAAuB,GAAG,IAAAC,kBAAQ,EAACF,uBAAuB,CAAC;EAEjE,MAAMG,YAAY,GAAGlC,MAAM,CAACc,IAAI,CAACkB,uBAAuB,CAAC,CAAC5C,GAAG,CAAEmC,QAAQ,KAAM;IAC3EA,QAAQ;IACRrC,KAAK,EAAE8C,uBAAuB,CAACT,QAAQ;EACzC,CAAC,CAAC,CAAC;EACH,OAAOW,YAAY;AACrB","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  ;
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace-config-files@1.0.330/dist/workspace-config-files.docs.mdx';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace-config-files@1.0.331/dist/workspace-config-files.docs.mdx';
3
3
 
4
4
  export const compositions = [];
5
5
  export const overview = [overview_0];
@@ -32,9 +32,9 @@ function _chalk() {
32
32
  };
33
33
  return data;
34
34
  }
35
- function _exceptions() {
36
- const data = require("@teambit/legacy/dist/prompts/exceptions");
37
- _exceptions = function () {
35
+ function _legacyCli() {
36
+ const data = require("@teambit/legacy.cli.prompts");
37
+ _legacyCli = function () {
38
38
  return data;
39
39
  };
40
40
  return data;
@@ -46,9 +46,9 @@ function _pMapSeries() {
46
46
  };
47
47
  return data;
48
48
  }
49
- function _exceptions2() {
49
+ function _exceptions() {
50
50
  const data = require("@teambit/legacy/dist/consumer/exceptions");
51
- _exceptions2 = function () {
51
+ _exceptions = function () {
52
52
  return data;
53
53
  };
54
54
  return data;
@@ -161,7 +161,7 @@ class WorkspaceConfigFilesMain {
161
161
  */
162
162
  async writeConfigFiles(options = {}) {
163
163
  if (!this.workspace) {
164
- throw new (_exceptions2().ConsumerNotFound)();
164
+ throw new (_exceptions().ConsumerNotFound)();
165
165
  }
166
166
  const defaultOpts = {
167
167
  clean: false,
@@ -227,7 +227,7 @@ class WorkspaceConfigFilesMain {
227
227
  async cleanConfigFiles(options = {}) {
228
228
  // const execContext = await this.getExecContext();
229
229
  if (!this.workspace) {
230
- throw new (_exceptions2().ConsumerNotFound)();
230
+ throw new (_exceptions().ConsumerNotFound)();
231
231
  }
232
232
  const cleanResults = await this.clean(options);
233
233
  return cleanResults;
@@ -248,7 +248,7 @@ class WorkspaceConfigFilesMain {
248
248
  */
249
249
  async listConfigWriters() {
250
250
  if (!this.workspace) {
251
- throw new (_exceptions2().ConsumerNotFound)();
251
+ throw new (_exceptions().ConsumerNotFound)();
252
252
  }
253
253
  const execContexts = await this.getExecContext();
254
254
  const result = execContexts.map(executionContext => {
@@ -408,7 +408,7 @@ ${paths.join('\n')}
408
408
  ${_chalk().default.bold('Do you want to continue? [yes(y)/no(n)]')}`
409
409
  });
410
410
  if (!ok) {
411
- throw new (_exceptions().PromptCanceled)();
411
+ throw new (_legacyCli().PromptCanceled)();
412
412
  }
413
413
  }
414
414
  async deleteFiles(paths) {
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_globby","_chalk","_exceptions","_pMapSeries","_exceptions2","_yesno","_lodash","_cli","_workspace","_envs","_logger","_workspaceConfigFiles","_wsConfig","_writeFailed","_workspaceConfigFiles2","_writers","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WorkspaceConfigFilesMain","constructor","workspace","envs","logger","config","writeConfigFiles","options","ConsumerNotFound","defaultOpts","clean","dedupe","silent","dryRun","throw","optionsWithDefaults","defaults","execContext","getExecContext","pathsToClean","writeErr","writeResults","calcPathsToClean","writers","write","allWrittenFiles","writersResult","flatMap","writerResult","extendingConfigFiles","extendingConfigFile","filePaths","filter","pathToClean","includes","join","path","deleteFiles","err","info","WriteConfigFilesFailed","cleanResults","wsDir","writeConfigFilesIfEnabled","shouldWrite","isWorkspaceConfigWriteEnabled","undefined","cleanConfigFiles","enableWorkspaceConfigWrite","listConfigWriters","execContexts","result","map","executionContext","configWriters","getConfigWriters","envId","envRuntime","id","groupByWriterId","writerList","reduce","acc","envConfigWriter","forEach","configWriter","push","envsExecutionContext","opts","envCompDirsMap","getEnvComponentsDirsMap","configsRootDir","getConfigsRootDir","writerIdsToEnvEntriesMap","filteredWriterIdsToEnvEntriesMap","pick","totalRealConfigFiles","totalExtendingConfigFiles","results","pMapSeries","entries","writerId","envEntries","oneResult","handleOneIdWriter","totalWrittenFiles","envCompsDirsMap","writtenRealConfigFilesMap","handleRealConfigFiles","writtenExtendingConfigFiles","handleExtendingConfigFiles","writtenRealConfigFiles","values","length","curr","realConfigFiles","userConfiguredDir","getCacheDir","rootDir","components","list","runtime","createEnvironment","getEnvExecutionContext","envExecution","toString","env","paths","c","componentDir","relative","envExecutionContext","workspaceConfig","isFunction","addToEnvsNotImplementing","getFlatConfigWriters","promptForCleaning","filteredConfigWriters","uniq","patterns","currPaths","globby","sync","cwd","dot","onlyFiles","ignore","filteredPaths","fullPath","isBitGenerated","flat","envsNotImplementing","getEnvsNotImplementing","keys","clearStatusLine","ok","yesno","question","chalk","underline","bold","PromptCanceled","Promise","all","f","fs","remove","provider","cli","loggerAspect","createLogger","WorkspaceConfigFilesAspect","registerService","WorkspaceConfigFilesService","workspaceConfigFilesMain","wsConfigCmd","WsConfigCmd","commands","WsConfigWriteCmd","WsConfigCleanCmd","WsConfigListCmd","register","exports","CLIAspect","WorkspaceAspect","EnvsAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["workspace-config-files.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { join } from 'path';\nimport globby from 'globby';\nimport chalk from 'chalk';\nimport { PromptCanceled } from '@teambit/legacy/dist/prompts/exceptions';\nimport pMapSeries from 'p-map-series';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport yesno from 'yesno';\nimport { defaults, flatMap, isFunction, pick, uniq } from 'lodash';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { Environment, EnvsAspect, ExecutionContext } from '@teambit/envs';\nimport type { EnvsMain } from '@teambit/envs';\nimport { Logger, LoggerAspect } from '@teambit/logger';\nimport type { LoggerMain } from '@teambit/logger';\nimport { WorkspaceConfigFilesAspect } from './workspace-config-files.aspect';\nimport { ConfigWriterEntry } from './config-writer-entry';\nimport { WsConfigCleanCmd, WsConfigCmd, WsConfigListCmd, WsConfigWriteCmd } from './ws-config.cmd';\nimport WriteConfigFilesFailed from './exceptions/write-failed';\nimport { WorkspaceConfigFilesService } from './workspace-config-files.service';\nimport {\n handleRealConfigFiles,\n handleExtendingConfigFiles,\n EnvsWrittenExtendingConfigFiles,\n EnvsWrittenRealConfigFiles,\n} from './writers';\n\n/**\n * Configs that can be configured in the workspace.jsonc file\n */\nexport type WorkspaceConfigFilesAspectConfig = {\n configsRootDir?: string;\n enableWorkspaceConfigWrite?: boolean;\n};\n\nexport type EnvConfigWriter = {\n envId: string;\n executionContext: ExecutionContext;\n configWriters: ConfigWriterEntry[];\n};\n\nexport type EnvConfigWriterEntry = {\n envId: string;\n configWriter: ConfigWriterEntry;\n executionContext: ExecutionContext;\n};\n\ntype WriterIdsToEnvEntriesMap = {\n [writerId: string]: EnvConfigWriterEntry[];\n};\n\nexport type EnvConfigWritersList = Array<EnvConfigWriter>;\n\nexport type CleanConfigFilesOptions = {\n silent?: boolean; // no prompt\n dryRun?: boolean;\n writers?: string[];\n};\n\nexport type WriteConfigFilesOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n throw?: boolean;\n writers?: string[];\n};\n\nexport type CompPathExtendingHashMap = { [compPath: string]: string };\n\nexport type EnvMapValue = { env: Environment; id: string[]; paths: string[] };\nexport type EnvCompsDirsMap = { [envId: string]: EnvMapValue };\n\nexport type OneConfigWriterIdResult = {\n writerId: string;\n totalWrittenFiles: number;\n realConfigFiles: EnvsWrittenRealConfigFiles;\n totalRealConfigFiles: number;\n extendingConfigFiles: EnvsWrittenExtendingConfigFiles;\n totalExtendingConfigFiles: number;\n};\n\nexport type WriteResults = {\n writersResult: OneConfigWriterIdResult[];\n totalWrittenFiles: number;\n totalRealConfigFiles: number;\n totalExtendingConfigFiles: number;\n};\n\nexport type WriteConfigFilesResult = {\n cleanResults?: string[];\n writeResults: WriteResults;\n wsDir: string;\n err?: Error;\n};\n\nexport class WorkspaceConfigFilesMain {\n private envsNotImplementing = {};\n\n constructor(\n private workspace: Workspace,\n private envs: EnvsMain,\n private logger: Logger,\n private config: WorkspaceConfigFilesAspectConfig\n ) {}\n\n /**\n * It writes the configuration files for the workspace\n * for example: tsconfig, eslint config and prettier config files.\n * @param {WriteConfigFilesOptions} options - WriteConfigFilesOptions = {}\n * @returns An object with the following properties:\n * - writeResults: An object with the following properties:\n * - aspectsWritersResults: An array of objects with the following properties:\n * - aspect: The aspect that was written\n * - totalWrittenFiles: The number of files that were written\n * - totalWrittenFiles: The total number of files that were written\n * - cleanResults: array of deleted paths\n */\n async writeConfigFiles(options: WriteConfigFilesOptions = {}): Promise<WriteConfigFilesResult> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n const defaultOpts: WriteConfigFilesOptions = {\n clean: false,\n dedupe: false,\n silent: false,\n dryRun: false,\n throw: true,\n };\n const optionsWithDefaults = defaults(options, defaultOpts);\n const execContext = await this.getExecContext();\n\n let pathsToClean: string[] | undefined = [];\n let writeErr;\n let writeResults;\n try {\n if (optionsWithDefaults.clean) {\n pathsToClean = await this.calcPathsToClean({ writers: optionsWithDefaults.writers });\n }\n\n writeResults = await this.write(execContext, optionsWithDefaults);\n const allWrittenFiles = writeResults.writersResult.flatMap((writerResult) => {\n return writerResult.extendingConfigFiles.flatMap((extendingConfigFile) => {\n return extendingConfigFile.extendingConfigFile.filePaths;\n });\n });\n // Avoid delete and re-create files that were written by other config writers\n // instead of deleting at the beginning then write all\n // we write all and then delete the files that were not written by the config writers\n // This reduces the config files that re-created (as many times no changes needed)\n // which prevent issues with needing to restart the ts-server in the ide\n pathsToClean = pathsToClean.filter(\n (pathToClean) => !allWrittenFiles.includes(join(this.workspace.path, pathToClean))\n );\n await this.deleteFiles(pathsToClean);\n } catch (err) {\n this.logger.info('writeConfigFiles failed', err);\n if (optionsWithDefaults.throw) {\n throw new WriteConfigFilesFailed();\n }\n writeErr = err;\n }\n\n return { writeResults, cleanResults: pathsToClean, wsDir: this.workspace.path, err: writeErr };\n }\n\n /**\n * This will check the config.enableWorkspaceConfigWrite before writing the config files.\n */\n async writeConfigFilesIfEnabled(options: WriteConfigFilesOptions = {}): Promise<WriteConfigFilesResult | undefined> {\n const shouldWrite = this.isWorkspaceConfigWriteEnabled();\n if (!shouldWrite) return undefined;\n return this.writeConfigFiles(options);\n }\n\n /**\n * It cleans (delete) the config files from the workspace.\n * This will check each file and will only delete it in case it was generated by bit\n * @param {CleanConfigFilesOptions} options - CleanConfigFilesOptions = {}\n * @returns An array of strings.\n */\n async cleanConfigFiles(options: CleanConfigFilesOptions = {}): Promise<string[]> {\n // const execContext = await this.getExecContext();\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n const cleanResults = await this.clean(options);\n return cleanResults;\n }\n\n /**\n * The function checks if the auto writing of workspace configuration is enabled.\n * if it's enabled we will re-generate the configuration files upon bit create\n * @returns the boolean value of `!!this.config.enableWorkspaceConfigWrite`.\n */\n isWorkspaceConfigWriteEnabled() {\n return !!this.config.enableWorkspaceConfigWrite;\n }\n\n /**\n * It returns a list of all the config writers that have been registered with the config writer slot\n * @returns An array of objects with aspectId and configWriter properties.\n */\n async listConfigWriters(): Promise<EnvConfigWritersList> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n const execContexts = await this.getExecContext();\n\n const result: EnvConfigWritersList = execContexts.map((executionContext) => {\n const configWriters = this.getConfigWriters(executionContext);\n return { envId: executionContext.envRuntime.id, executionContext, configWriters };\n });\n return result;\n }\n\n private groupByWriterId(writerList: EnvConfigWritersList): WriterIdsToEnvEntriesMap {\n return writerList.reduce((acc, envConfigWriter: EnvConfigWriter) => {\n envConfigWriter.configWriters.forEach((configWriter: ConfigWriterEntry) => {\n acc[configWriter.id] = acc[configWriter.id] || [];\n acc[configWriter.id].push({ configWriter, envId: envConfigWriter.envId });\n });\n return acc;\n }, {});\n }\n\n private async write(envsExecutionContext: ExecutionContext[], opts: WriteConfigFilesOptions): Promise<WriteResults> {\n const envCompDirsMap = this.getEnvComponentsDirsMap(envsExecutionContext);\n const configsRootDir = this.getConfigsRootDir();\n const configWriters = await this.listConfigWriters();\n const writerIdsToEnvEntriesMap = this.groupByWriterId(configWriters);\n const filteredWriterIdsToEnvEntriesMap = opts.writers\n ? pick(writerIdsToEnvEntriesMap, opts.writers)\n : writerIdsToEnvEntriesMap;\n let totalRealConfigFiles = 0;\n let totalExtendingConfigFiles = 0;\n const results = await pMapSeries(\n Object.entries(filteredWriterIdsToEnvEntriesMap),\n async ([writerId, envEntries]) => {\n const oneResult = await this.handleOneIdWriter(writerId, envEntries, envCompDirsMap, configsRootDir, opts);\n totalRealConfigFiles += oneResult.totalRealConfigFiles;\n totalExtendingConfigFiles += oneResult.totalExtendingConfigFiles;\n return oneResult;\n }\n );\n\n const totalWrittenFiles = totalRealConfigFiles + totalExtendingConfigFiles;\n return { writersResult: results, totalWrittenFiles, totalRealConfigFiles, totalExtendingConfigFiles };\n }\n\n private async handleOneIdWriter(\n writerId: string,\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n configsRootDir: string,\n opts: WriteConfigFilesOptions\n ): Promise<OneConfigWriterIdResult> {\n const writtenRealConfigFilesMap = await handleRealConfigFiles(\n envEntries,\n envCompsDirsMap,\n configsRootDir,\n this.workspace.path,\n opts\n );\n const writtenExtendingConfigFiles = await handleExtendingConfigFiles(\n envEntries,\n envCompsDirsMap,\n writtenRealConfigFilesMap,\n configsRootDir,\n this.workspace.path,\n opts\n );\n\n const writtenRealConfigFiles = Object.values(writtenRealConfigFilesMap);\n const totalRealConfigFiles = writtenRealConfigFiles.length;\n const totalExtendingConfigFiles = writtenExtendingConfigFiles.reduce(\n (acc, curr) => acc + curr.extendingConfigFile.filePaths.length,\n 0\n );\n const totalWrittenFiles = totalRealConfigFiles + totalExtendingConfigFiles;\n return {\n writerId,\n totalWrittenFiles,\n realConfigFiles: writtenRealConfigFiles,\n totalRealConfigFiles,\n extendingConfigFiles: writtenExtendingConfigFiles,\n totalExtendingConfigFiles,\n };\n }\n\n private getConfigsRootDir(): string {\n const userConfiguredDir = this.config.configsRootDir;\n return userConfiguredDir ? join(this.workspace.path, userConfiguredDir) : this.getCacheDir(this.workspace.path);\n }\n\n private getCacheDir(rootDir): string {\n return join(rootDir, 'node_modules', '.cache');\n }\n\n private async getExecContext(): Promise<ExecutionContext[]> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n return execContext;\n }\n\n private getEnvComponentsDirsMap(envsExecutionContext: ExecutionContext[]): EnvCompsDirsMap {\n const envCompDirsMap = envsExecutionContext.reduce((acc, envExecution) => {\n const envRuntime = envExecution.envRuntime;\n const envId = envRuntime.id.toString();\n const value = {\n id: envRuntime.id,\n env: envRuntime.env,\n paths: envRuntime.components.map((c) => this.workspace.componentDir(c.id, undefined, { relative: true })),\n };\n acc[envId] = value;\n return acc;\n }, {});\n return envCompDirsMap;\n }\n\n private getConfigWriters(envExecutionContext: ExecutionContext): ConfigWriterEntry[] {\n if (envExecutionContext.env.workspaceConfig && isFunction(envExecutionContext.env.workspaceConfig)) {\n return envExecutionContext.env.workspaceConfig();\n }\n this.addToEnvsNotImplementing(envExecutionContext.env.id);\n return [];\n }\n\n private getFlatConfigWriters(envsExecutionContext: ExecutionContext[]): ConfigWriterEntry[] {\n return flatMap(envsExecutionContext, (envExecutionContext) => {\n return this.getConfigWriters(envExecutionContext);\n });\n }\n\n /**\n * Clean config files written by the config-writers\n * @param envsExecutionContext\n * @param param1\n * @returns Array of paths of deleted config files\n */\n async clean({ dryRun, silent, writers }: WriteConfigFilesOptions): Promise<string[]> {\n const paths = await this.calcPathsToClean({ writers });\n if (dryRun) return paths;\n if (!silent) await this.promptForCleaning(paths);\n await this.deleteFiles(paths);\n return paths;\n }\n\n private async calcPathsToClean({ writers }: WriteConfigFilesOptions): Promise<string[]> {\n const execContext = await this.getExecContext();\n const configWriters = this.getFlatConfigWriters(execContext);\n const filteredConfigWriters = writers\n ? configWriters.filter((configWriter) => writers.includes(configWriter.id))\n : configWriters;\n\n const paths = uniq(\n filteredConfigWriters\n .map((configWriter) => {\n const patterns = configWriter.patterns;\n const currPaths = globby.sync(patterns, {\n cwd: this.workspace.path,\n dot: true,\n onlyFiles: true,\n ignore: ['**/node_modules/**'],\n });\n const filteredPaths = currPaths.filter((path) => {\n const fullPath = join(this.workspace.path, path);\n return configWriter.isBitGenerated ? configWriter.isBitGenerated(fullPath) : true;\n });\n return filteredPaths;\n })\n .flat()\n );\n return paths;\n }\n\n private addToEnvsNotImplementing(envId: string) {\n this.envsNotImplementing[envId] = true;\n }\n\n getEnvsNotImplementing() {\n return Object.keys(this.envsNotImplementing);\n }\n\n private async promptForCleaning(paths: string[]) {\n this.logger.clearStatusLine();\n const ok = await yesno({\n question: `${chalk.underline('The following files will be deleted:')}\n${paths.join('\\n')}\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async deleteFiles(paths: string[]) {\n await Promise.all(paths.map((f) => fs.remove(join(this.workspace.path, f))));\n }\n\n static slots = [];\n // define your aspect dependencies here.\n // in case you need to use another aspect API.\n static dependencies = [CLIAspect, WorkspaceAspect, EnvsAspect, LoggerAspect];\n\n static runtime = MainRuntime;\n\n static defaultConfig: Partial<WorkspaceConfigFilesAspectConfig> = {\n enableWorkspaceConfigWrite: false,\n };\n\n static async provider(\n [cli, workspace, envs, loggerAspect]: [CLIMain, Workspace, EnvsMain, LoggerMain],\n config: WorkspaceConfigFilesAspectConfig\n ) {\n const logger = loggerAspect.createLogger(WorkspaceConfigFilesAspect.id);\n envs.registerService(new WorkspaceConfigFilesService(logger));\n\n const workspaceConfigFilesMain = new WorkspaceConfigFilesMain(workspace, envs, logger, config);\n const wsConfigCmd = new WsConfigCmd();\n wsConfigCmd.commands = [\n new WsConfigWriteCmd(workspaceConfigFilesMain),\n new WsConfigCleanCmd(workspaceConfigFilesMain),\n new WsConfigListCmd(workspaceConfigFilesMain),\n ];\n cli.register(wsConfigCmd);\n return workspaceConfigFilesMain;\n }\n}\n\nWorkspaceConfigFilesAspect.addRuntime(WorkspaceConfigFilesMain);\n\nexport default WorkspaceConfigFilesMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_globby","_chalk","_legacyCli","_pMapSeries","_exceptions","_yesno","_lodash","_cli","_workspace","_envs","_logger","_workspaceConfigFiles","_wsConfig","_writeFailed","_workspaceConfigFiles2","_writers","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WorkspaceConfigFilesMain","constructor","workspace","envs","logger","config","writeConfigFiles","options","ConsumerNotFound","defaultOpts","clean","dedupe","silent","dryRun","throw","optionsWithDefaults","defaults","execContext","getExecContext","pathsToClean","writeErr","writeResults","calcPathsToClean","writers","write","allWrittenFiles","writersResult","flatMap","writerResult","extendingConfigFiles","extendingConfigFile","filePaths","filter","pathToClean","includes","join","path","deleteFiles","err","info","WriteConfigFilesFailed","cleanResults","wsDir","writeConfigFilesIfEnabled","shouldWrite","isWorkspaceConfigWriteEnabled","undefined","cleanConfigFiles","enableWorkspaceConfigWrite","listConfigWriters","execContexts","result","map","executionContext","configWriters","getConfigWriters","envId","envRuntime","id","groupByWriterId","writerList","reduce","acc","envConfigWriter","forEach","configWriter","push","envsExecutionContext","opts","envCompDirsMap","getEnvComponentsDirsMap","configsRootDir","getConfigsRootDir","writerIdsToEnvEntriesMap","filteredWriterIdsToEnvEntriesMap","pick","totalRealConfigFiles","totalExtendingConfigFiles","results","pMapSeries","entries","writerId","envEntries","oneResult","handleOneIdWriter","totalWrittenFiles","envCompsDirsMap","writtenRealConfigFilesMap","handleRealConfigFiles","writtenExtendingConfigFiles","handleExtendingConfigFiles","writtenRealConfigFiles","values","length","curr","realConfigFiles","userConfiguredDir","getCacheDir","rootDir","components","list","runtime","createEnvironment","getEnvExecutionContext","envExecution","toString","env","paths","c","componentDir","relative","envExecutionContext","workspaceConfig","isFunction","addToEnvsNotImplementing","getFlatConfigWriters","promptForCleaning","filteredConfigWriters","uniq","patterns","currPaths","globby","sync","cwd","dot","onlyFiles","ignore","filteredPaths","fullPath","isBitGenerated","flat","envsNotImplementing","getEnvsNotImplementing","keys","clearStatusLine","ok","yesno","question","chalk","underline","bold","PromptCanceled","Promise","all","f","fs","remove","provider","cli","loggerAspect","createLogger","WorkspaceConfigFilesAspect","registerService","WorkspaceConfigFilesService","workspaceConfigFilesMain","wsConfigCmd","WsConfigCmd","commands","WsConfigWriteCmd","WsConfigCleanCmd","WsConfigListCmd","register","exports","CLIAspect","WorkspaceAspect","EnvsAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["workspace-config-files.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { join } from 'path';\nimport globby from 'globby';\nimport chalk from 'chalk';\nimport { PromptCanceled } from '@teambit/legacy.cli.prompts';\nimport pMapSeries from 'p-map-series';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport yesno from 'yesno';\nimport { defaults, flatMap, isFunction, pick, uniq } from 'lodash';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Workspace } from '@teambit/workspace';\nimport { Environment, EnvsAspect, ExecutionContext } from '@teambit/envs';\nimport type { EnvsMain } from '@teambit/envs';\nimport { Logger, LoggerAspect } from '@teambit/logger';\nimport type { LoggerMain } from '@teambit/logger';\nimport { WorkspaceConfigFilesAspect } from './workspace-config-files.aspect';\nimport { ConfigWriterEntry } from './config-writer-entry';\nimport { WsConfigCleanCmd, WsConfigCmd, WsConfigListCmd, WsConfigWriteCmd } from './ws-config.cmd';\nimport WriteConfigFilesFailed from './exceptions/write-failed';\nimport { WorkspaceConfigFilesService } from './workspace-config-files.service';\nimport {\n handleRealConfigFiles,\n handleExtendingConfigFiles,\n EnvsWrittenExtendingConfigFiles,\n EnvsWrittenRealConfigFiles,\n} from './writers';\n\n/**\n * Configs that can be configured in the workspace.jsonc file\n */\nexport type WorkspaceConfigFilesAspectConfig = {\n configsRootDir?: string;\n enableWorkspaceConfigWrite?: boolean;\n};\n\nexport type EnvConfigWriter = {\n envId: string;\n executionContext: ExecutionContext;\n configWriters: ConfigWriterEntry[];\n};\n\nexport type EnvConfigWriterEntry = {\n envId: string;\n configWriter: ConfigWriterEntry;\n executionContext: ExecutionContext;\n};\n\ntype WriterIdsToEnvEntriesMap = {\n [writerId: string]: EnvConfigWriterEntry[];\n};\n\nexport type EnvConfigWritersList = Array<EnvConfigWriter>;\n\nexport type CleanConfigFilesOptions = {\n silent?: boolean; // no prompt\n dryRun?: boolean;\n writers?: string[];\n};\n\nexport type WriteConfigFilesOptions = {\n clean?: boolean;\n silent?: boolean; // no prompt\n dedupe?: boolean;\n dryRun?: boolean;\n throw?: boolean;\n writers?: string[];\n};\n\nexport type CompPathExtendingHashMap = { [compPath: string]: string };\n\nexport type EnvMapValue = { env: Environment; id: string[]; paths: string[] };\nexport type EnvCompsDirsMap = { [envId: string]: EnvMapValue };\n\nexport type OneConfigWriterIdResult = {\n writerId: string;\n totalWrittenFiles: number;\n realConfigFiles: EnvsWrittenRealConfigFiles;\n totalRealConfigFiles: number;\n extendingConfigFiles: EnvsWrittenExtendingConfigFiles;\n totalExtendingConfigFiles: number;\n};\n\nexport type WriteResults = {\n writersResult: OneConfigWriterIdResult[];\n totalWrittenFiles: number;\n totalRealConfigFiles: number;\n totalExtendingConfigFiles: number;\n};\n\nexport type WriteConfigFilesResult = {\n cleanResults?: string[];\n writeResults: WriteResults;\n wsDir: string;\n err?: Error;\n};\n\nexport class WorkspaceConfigFilesMain {\n private envsNotImplementing = {};\n\n constructor(\n private workspace: Workspace,\n private envs: EnvsMain,\n private logger: Logger,\n private config: WorkspaceConfigFilesAspectConfig\n ) {}\n\n /**\n * It writes the configuration files for the workspace\n * for example: tsconfig, eslint config and prettier config files.\n * @param {WriteConfigFilesOptions} options - WriteConfigFilesOptions = {}\n * @returns An object with the following properties:\n * - writeResults: An object with the following properties:\n * - aspectsWritersResults: An array of objects with the following properties:\n * - aspect: The aspect that was written\n * - totalWrittenFiles: The number of files that were written\n * - totalWrittenFiles: The total number of files that were written\n * - cleanResults: array of deleted paths\n */\n async writeConfigFiles(options: WriteConfigFilesOptions = {}): Promise<WriteConfigFilesResult> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n const defaultOpts: WriteConfigFilesOptions = {\n clean: false,\n dedupe: false,\n silent: false,\n dryRun: false,\n throw: true,\n };\n const optionsWithDefaults = defaults(options, defaultOpts);\n const execContext = await this.getExecContext();\n\n let pathsToClean: string[] | undefined = [];\n let writeErr;\n let writeResults;\n try {\n if (optionsWithDefaults.clean) {\n pathsToClean = await this.calcPathsToClean({ writers: optionsWithDefaults.writers });\n }\n\n writeResults = await this.write(execContext, optionsWithDefaults);\n const allWrittenFiles = writeResults.writersResult.flatMap((writerResult) => {\n return writerResult.extendingConfigFiles.flatMap((extendingConfigFile) => {\n return extendingConfigFile.extendingConfigFile.filePaths;\n });\n });\n // Avoid delete and re-create files that were written by other config writers\n // instead of deleting at the beginning then write all\n // we write all and then delete the files that were not written by the config writers\n // This reduces the config files that re-created (as many times no changes needed)\n // which prevent issues with needing to restart the ts-server in the ide\n pathsToClean = pathsToClean.filter(\n (pathToClean) => !allWrittenFiles.includes(join(this.workspace.path, pathToClean))\n );\n await this.deleteFiles(pathsToClean);\n } catch (err) {\n this.logger.info('writeConfigFiles failed', err);\n if (optionsWithDefaults.throw) {\n throw new WriteConfigFilesFailed();\n }\n writeErr = err;\n }\n\n return { writeResults, cleanResults: pathsToClean, wsDir: this.workspace.path, err: writeErr };\n }\n\n /**\n * This will check the config.enableWorkspaceConfigWrite before writing the config files.\n */\n async writeConfigFilesIfEnabled(options: WriteConfigFilesOptions = {}): Promise<WriteConfigFilesResult | undefined> {\n const shouldWrite = this.isWorkspaceConfigWriteEnabled();\n if (!shouldWrite) return undefined;\n return this.writeConfigFiles(options);\n }\n\n /**\n * It cleans (delete) the config files from the workspace.\n * This will check each file and will only delete it in case it was generated by bit\n * @param {CleanConfigFilesOptions} options - CleanConfigFilesOptions = {}\n * @returns An array of strings.\n */\n async cleanConfigFiles(options: CleanConfigFilesOptions = {}): Promise<string[]> {\n // const execContext = await this.getExecContext();\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n const cleanResults = await this.clean(options);\n return cleanResults;\n }\n\n /**\n * The function checks if the auto writing of workspace configuration is enabled.\n * if it's enabled we will re-generate the configuration files upon bit create\n * @returns the boolean value of `!!this.config.enableWorkspaceConfigWrite`.\n */\n isWorkspaceConfigWriteEnabled() {\n return !!this.config.enableWorkspaceConfigWrite;\n }\n\n /**\n * It returns a list of all the config writers that have been registered with the config writer slot\n * @returns An array of objects with aspectId and configWriter properties.\n */\n async listConfigWriters(): Promise<EnvConfigWritersList> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n const execContexts = await this.getExecContext();\n\n const result: EnvConfigWritersList = execContexts.map((executionContext) => {\n const configWriters = this.getConfigWriters(executionContext);\n return { envId: executionContext.envRuntime.id, executionContext, configWriters };\n });\n return result;\n }\n\n private groupByWriterId(writerList: EnvConfigWritersList): WriterIdsToEnvEntriesMap {\n return writerList.reduce((acc, envConfigWriter: EnvConfigWriter) => {\n envConfigWriter.configWriters.forEach((configWriter: ConfigWriterEntry) => {\n acc[configWriter.id] = acc[configWriter.id] || [];\n acc[configWriter.id].push({ configWriter, envId: envConfigWriter.envId });\n });\n return acc;\n }, {});\n }\n\n private async write(envsExecutionContext: ExecutionContext[], opts: WriteConfigFilesOptions): Promise<WriteResults> {\n const envCompDirsMap = this.getEnvComponentsDirsMap(envsExecutionContext);\n const configsRootDir = this.getConfigsRootDir();\n const configWriters = await this.listConfigWriters();\n const writerIdsToEnvEntriesMap = this.groupByWriterId(configWriters);\n const filteredWriterIdsToEnvEntriesMap = opts.writers\n ? pick(writerIdsToEnvEntriesMap, opts.writers)\n : writerIdsToEnvEntriesMap;\n let totalRealConfigFiles = 0;\n let totalExtendingConfigFiles = 0;\n const results = await pMapSeries(\n Object.entries(filteredWriterIdsToEnvEntriesMap),\n async ([writerId, envEntries]) => {\n const oneResult = await this.handleOneIdWriter(writerId, envEntries, envCompDirsMap, configsRootDir, opts);\n totalRealConfigFiles += oneResult.totalRealConfigFiles;\n totalExtendingConfigFiles += oneResult.totalExtendingConfigFiles;\n return oneResult;\n }\n );\n\n const totalWrittenFiles = totalRealConfigFiles + totalExtendingConfigFiles;\n return { writersResult: results, totalWrittenFiles, totalRealConfigFiles, totalExtendingConfigFiles };\n }\n\n private async handleOneIdWriter(\n writerId: string,\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n configsRootDir: string,\n opts: WriteConfigFilesOptions\n ): Promise<OneConfigWriterIdResult> {\n const writtenRealConfigFilesMap = await handleRealConfigFiles(\n envEntries,\n envCompsDirsMap,\n configsRootDir,\n this.workspace.path,\n opts\n );\n const writtenExtendingConfigFiles = await handleExtendingConfigFiles(\n envEntries,\n envCompsDirsMap,\n writtenRealConfigFilesMap,\n configsRootDir,\n this.workspace.path,\n opts\n );\n\n const writtenRealConfigFiles = Object.values(writtenRealConfigFilesMap);\n const totalRealConfigFiles = writtenRealConfigFiles.length;\n const totalExtendingConfigFiles = writtenExtendingConfigFiles.reduce(\n (acc, curr) => acc + curr.extendingConfigFile.filePaths.length,\n 0\n );\n const totalWrittenFiles = totalRealConfigFiles + totalExtendingConfigFiles;\n return {\n writerId,\n totalWrittenFiles,\n realConfigFiles: writtenRealConfigFiles,\n totalRealConfigFiles,\n extendingConfigFiles: writtenExtendingConfigFiles,\n totalExtendingConfigFiles,\n };\n }\n\n private getConfigsRootDir(): string {\n const userConfiguredDir = this.config.configsRootDir;\n return userConfiguredDir ? join(this.workspace.path, userConfiguredDir) : this.getCacheDir(this.workspace.path);\n }\n\n private getCacheDir(rootDir): string {\n return join(rootDir, 'node_modules', '.cache');\n }\n\n private async getExecContext(): Promise<ExecutionContext[]> {\n const components = await this.workspace.list();\n const runtime = await this.envs.createEnvironment(components);\n const execContext = runtime.getEnvExecutionContext();\n return execContext;\n }\n\n private getEnvComponentsDirsMap(envsExecutionContext: ExecutionContext[]): EnvCompsDirsMap {\n const envCompDirsMap = envsExecutionContext.reduce((acc, envExecution) => {\n const envRuntime = envExecution.envRuntime;\n const envId = envRuntime.id.toString();\n const value = {\n id: envRuntime.id,\n env: envRuntime.env,\n paths: envRuntime.components.map((c) => this.workspace.componentDir(c.id, undefined, { relative: true })),\n };\n acc[envId] = value;\n return acc;\n }, {});\n return envCompDirsMap;\n }\n\n private getConfigWriters(envExecutionContext: ExecutionContext): ConfigWriterEntry[] {\n if (envExecutionContext.env.workspaceConfig && isFunction(envExecutionContext.env.workspaceConfig)) {\n return envExecutionContext.env.workspaceConfig();\n }\n this.addToEnvsNotImplementing(envExecutionContext.env.id);\n return [];\n }\n\n private getFlatConfigWriters(envsExecutionContext: ExecutionContext[]): ConfigWriterEntry[] {\n return flatMap(envsExecutionContext, (envExecutionContext) => {\n return this.getConfigWriters(envExecutionContext);\n });\n }\n\n /**\n * Clean config files written by the config-writers\n * @param envsExecutionContext\n * @param param1\n * @returns Array of paths of deleted config files\n */\n async clean({ dryRun, silent, writers }: WriteConfigFilesOptions): Promise<string[]> {\n const paths = await this.calcPathsToClean({ writers });\n if (dryRun) return paths;\n if (!silent) await this.promptForCleaning(paths);\n await this.deleteFiles(paths);\n return paths;\n }\n\n private async calcPathsToClean({ writers }: WriteConfigFilesOptions): Promise<string[]> {\n const execContext = await this.getExecContext();\n const configWriters = this.getFlatConfigWriters(execContext);\n const filteredConfigWriters = writers\n ? configWriters.filter((configWriter) => writers.includes(configWriter.id))\n : configWriters;\n\n const paths = uniq(\n filteredConfigWriters\n .map((configWriter) => {\n const patterns = configWriter.patterns;\n const currPaths = globby.sync(patterns, {\n cwd: this.workspace.path,\n dot: true,\n onlyFiles: true,\n ignore: ['**/node_modules/**'],\n });\n const filteredPaths = currPaths.filter((path) => {\n const fullPath = join(this.workspace.path, path);\n return configWriter.isBitGenerated ? configWriter.isBitGenerated(fullPath) : true;\n });\n return filteredPaths;\n })\n .flat()\n );\n return paths;\n }\n\n private addToEnvsNotImplementing(envId: string) {\n this.envsNotImplementing[envId] = true;\n }\n\n getEnvsNotImplementing() {\n return Object.keys(this.envsNotImplementing);\n }\n\n private async promptForCleaning(paths: string[]) {\n this.logger.clearStatusLine();\n const ok = await yesno({\n question: `${chalk.underline('The following files will be deleted:')}\n${paths.join('\\n')}\n${chalk.bold('Do you want to continue? [yes(y)/no(n)]')}`,\n });\n if (!ok) {\n throw new PromptCanceled();\n }\n }\n\n private async deleteFiles(paths: string[]) {\n await Promise.all(paths.map((f) => fs.remove(join(this.workspace.path, f))));\n }\n\n static slots = [];\n // define your aspect dependencies here.\n // in case you need to use another aspect API.\n static dependencies = [CLIAspect, WorkspaceAspect, EnvsAspect, LoggerAspect];\n\n static runtime = MainRuntime;\n\n static defaultConfig: Partial<WorkspaceConfigFilesAspectConfig> = {\n enableWorkspaceConfigWrite: false,\n };\n\n static async provider(\n [cli, workspace, envs, loggerAspect]: [CLIMain, Workspace, EnvsMain, LoggerMain],\n config: WorkspaceConfigFilesAspectConfig\n ) {\n const logger = loggerAspect.createLogger(WorkspaceConfigFilesAspect.id);\n envs.registerService(new WorkspaceConfigFilesService(logger));\n\n const workspaceConfigFilesMain = new WorkspaceConfigFilesMain(workspace, envs, logger, config);\n const wsConfigCmd = new WsConfigCmd();\n wsConfigCmd.commands = [\n new WsConfigWriteCmd(workspaceConfigFilesMain),\n new WsConfigCleanCmd(workspaceConfigFilesMain),\n new WsConfigListCmd(workspaceConfigFilesMain),\n ];\n cli.register(wsConfigCmd);\n return workspaceConfigFilesMain;\n }\n}\n\nWorkspaceConfigFilesAspect.addRuntime(WorkspaceConfigFilesMain);\n\nexport default WorkspaceConfigFilesMain;\n"],"mappings":"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","ignoreList":[]}
@@ -18,9 +18,9 @@ function _stringFormat() {
18
18
  };
19
19
  return data;
20
20
  }
21
- function _utils() {
22
- const data = require("@teambit/legacy/dist/utils");
23
- _utils = function () {
21
+ function _toolboxCrypto() {
22
+ const data = require("@teambit/toolbox.crypto.sha1");
23
+ _toolboxCrypto = function () {
24
24
  return data;
25
25
  };
26
26
  return data;
@@ -114,7 +114,7 @@ function generateOneExtendingConfigFile(writtenConfigFiles, envConfigFileEntry,
114
114
  };
115
115
  const extendingConfigFile = configWriter.generateExtendingFile(args);
116
116
  if (!extendingConfigFile) return undefined;
117
- const hash = extendingConfigFile.hash || (0, _utils().sha1)(extendingConfigFile.content);
117
+ const hash = extendingConfigFile.hash || (0, _toolboxCrypto().sha1)(extendingConfigFile.content);
118
118
  return _objectSpread(_objectSpread({}, extendingConfigFile), {}, {
119
119
  useAbsPaths: !!extendingConfigFile.useAbsPaths,
120
120
  hash
@@ -176,7 +176,7 @@ async function postProcessExtendingConfigFiles(envEntries, envCompsDirsMap, exte
176
176
  }) => {
177
177
  // Remove it from the current entry
178
178
  dedupEntry.paths = dedupEntry.paths.filter(currPath => currPath !== path);
179
- const newHash = (0, _utils().sha1)(content);
179
+ const newHash = (0, _toolboxCrypto().sha1)(content);
180
180
  extendingConfigFilesMap[newHash] = JSON.parse(JSON.stringify(extendingConfigFileEntry));
181
181
  extendingConfigFilesMap[newHash].extendingConfigFile.content = content;
182
182
  const foundNewHash = fileHashPerDedupedPaths.find(entry => entry.fileHash === newHash);
@@ -199,7 +199,7 @@ async function writeExtendingConfigFiles(extendingConfigFilesMap, fileHashPerDed
199
199
  }) => {
200
200
  const envsConfigFile = extendingConfigFilesMap[fileHash];
201
201
  const configFile = envsConfigFile.extendingConfigFile;
202
- const hash = configFile.hash || (0, _utils().sha1)(configFile.content);
202
+ const hash = configFile.hash || (0, _toolboxCrypto().sha1)(configFile.content);
203
203
  const name = (0, _stringFormat().default)(configFile.name, {
204
204
  hash
205
205
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_normalizePath","data","_interopRequireDefault","require","_stringFormat","_utils","_fsExtra","_path","_pMapSeries","_lodash","_dedupPaths","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","handleExtendingConfigFiles","envEntries","envCompsDirsMap","writtenRealConfigFiles","configsRootDir","workspaceDir","opts","extendingConfigFilesMap","buildExtendingConfigFilesMap","fileHashPerDedupedPaths","dedupePaths","postProcessExtendingConfigFiles","envsWrittenExtendingConfigFiles","writeExtendingConfigFiles","allEnvsCalculatedExtendingConfigFiles","compact","pMapSeries","envConfigFileEntry","envMapVal","envId","writtenConfigFilesForEnv","getEnvOnlyWrittenRealConfigFiles","extendingConfigFile","generateOneExtendingConfigFile","undefined","indexExtendingConfigFiles","values","reduce","acc","envIds","writtenRealConfigFile","includes","writtenConfigFiles","envMapValue","configWriter","executionContext","args","generateExtendingFile","hash","sha1","content","useAbsPaths","multiEnvCalculatedExtendingConfigFiles","mergedConfigFiles","curr","currentValue","postProcessFunc","extendingConfigFileEntry","find","entry","dedupEntry","fileHashPerDedupedPath","fileHash","postProcessRes","paths","supportSpecificPathChange","path","currPath","newHash","JSON","parse","stringify","foundNewHash","finalResult","Promise","all","map","envsConfigFile","configFile","name","format","writtenPaths","filePath","join","targetPath","extendingTarget","normalize","relative","dirname","replace","dryRun","fs","outputFile","res","filePaths"],"sources":["extending-config-files.ts"],"sourcesContent":["import normalize from 'normalize-path';\nimport format from 'string-format';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport fs from 'fs-extra';\nimport { dirname, join, relative } from 'path';\nimport pMapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport { ExtendingConfigFile } from '../config-writer-entry';\nimport { DedupedPaths, dedupePaths } from '../dedup-paths';\nimport {\n EnvCompsDirsMap,\n EnvConfigWriterEntry,\n EnvMapValue,\n WriteConfigFilesOptions,\n} from '../workspace-config-files.main.runtime';\nimport { WrittenConfigFile, WrittenRealConfigFilesByHash } from './real-config-files';\n\ntype EnvCalculatedExtendingConfigFile = {\n envId: string;\n extendingConfigFile: Required<ExtendingConfigFile>;\n};\nexport type WrittenExtendingConfigFile = ExtendingConfigFile & {\n filePaths: string[];\n};\nexport type EnvsWrittenExtendingConfigFile = { envIds: string[]; extendingConfigFile: WrittenExtendingConfigFile };\nexport type EnvsWrittenExtendingConfigFiles = Array<EnvsWrittenExtendingConfigFile>;\nexport type ExtendingConfigFilesMap = {\n [configFileHash: string]: {\n envIds: string[];\n extendingConfigFile: Required<ExtendingConfigFile>;\n };\n};\n\nexport async function handleExtendingConfigFiles(\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n writtenRealConfigFiles: WrittenRealConfigFilesByHash,\n configsRootDir: string,\n workspaceDir: string,\n opts: WriteConfigFilesOptions\n): Promise<EnvsWrittenExtendingConfigFiles> {\n const extendingConfigFilesMap = await buildExtendingConfigFilesMap(\n envEntries,\n writtenRealConfigFiles,\n envCompsDirsMap,\n configsRootDir,\n workspaceDir\n );\n const fileHashPerDedupedPaths = dedupePaths(extendingConfigFilesMap, envCompsDirsMap);\n await postProcessExtendingConfigFiles(\n envEntries,\n envCompsDirsMap,\n extendingConfigFilesMap,\n fileHashPerDedupedPaths,\n configsRootDir,\n workspaceDir\n );\n const envsWrittenExtendingConfigFiles = await writeExtendingConfigFiles(\n extendingConfigFilesMap,\n fileHashPerDedupedPaths,\n workspaceDir,\n opts\n );\n return envsWrittenExtendingConfigFiles;\n}\n\nasync function buildExtendingConfigFilesMap(\n envEntries: EnvConfigWriterEntry[],\n writtenRealConfigFiles: WrittenRealConfigFilesByHash,\n envCompsDirsMap: EnvCompsDirsMap,\n configsRootDir: string,\n workspaceDir: string\n): Promise<ExtendingConfigFilesMap> {\n const allEnvsCalculatedExtendingConfigFiles: EnvCalculatedExtendingConfigFile[] = compact(\n await pMapSeries(envEntries, async (envConfigFileEntry) => {\n const envMapVal = envCompsDirsMap[envConfigFileEntry.envId];\n const writtenConfigFilesForEnv: WrittenConfigFile[] = getEnvOnlyWrittenRealConfigFiles(\n envConfigFileEntry.envId,\n writtenRealConfigFiles\n );\n const extendingConfigFile = generateOneExtendingConfigFile(\n writtenConfigFilesForEnv,\n envConfigFileEntry,\n envMapVal,\n configsRootDir,\n workspaceDir\n );\n if (!extendingConfigFile) {\n return undefined;\n }\n return {\n envId: envConfigFileEntry.envId,\n extendingConfigFile,\n };\n })\n );\n const extendingConfigFilesMap: ExtendingConfigFilesMap = indexExtendingConfigFiles(\n allEnvsCalculatedExtendingConfigFiles\n );\n return extendingConfigFilesMap;\n}\n\nfunction getEnvOnlyWrittenRealConfigFiles(\n envId: string,\n writtenRealConfigFiles: WrittenRealConfigFilesByHash\n): WrittenConfigFile[] {\n return Object.values(writtenRealConfigFiles).reduce((acc, { envIds, writtenRealConfigFile }) => {\n if (envIds.includes(envId)) {\n acc.push(writtenRealConfigFile);\n }\n return acc;\n }, [] as WrittenConfigFile[]);\n}\n\nfunction generateOneExtendingConfigFile(\n writtenConfigFiles: WrittenConfigFile[],\n envConfigFileEntry: EnvConfigWriterEntry,\n envMapValue: EnvMapValue,\n configsRootDir: string,\n workspaceDir: string\n): Required<ExtendingConfigFile> | undefined {\n const { configWriter, executionContext } = envConfigFileEntry;\n const args = {\n workspaceDir,\n configsRootDir,\n writtenConfigFiles,\n executionContext,\n envMapValue,\n };\n const extendingConfigFile = configWriter.generateExtendingFile(args);\n if (!extendingConfigFile) return undefined;\n const hash = extendingConfigFile.hash || sha1(extendingConfigFile.content);\n return {\n ...extendingConfigFile,\n useAbsPaths: !!extendingConfigFile.useAbsPaths,\n hash,\n };\n}\n\nfunction indexExtendingConfigFiles(\n multiEnvCalculatedExtendingConfigFiles: EnvCalculatedExtendingConfigFile[]\n): ExtendingConfigFilesMap {\n const mergedConfigFiles = multiEnvCalculatedExtendingConfigFiles.reduce(\n (acc, curr: EnvCalculatedExtendingConfigFile) => {\n const extendingConfigFile = curr.extendingConfigFile;\n const currentValue = acc[extendingConfigFile.hash];\n if (currentValue) {\n currentValue.envIds.push(curr.envId);\n } else {\n acc[extendingConfigFile.hash] = { envIds: [curr.envId], extendingConfigFile };\n }\n return acc;\n },\n {}\n );\n return mergedConfigFiles;\n}\n\nasync function postProcessExtendingConfigFiles(\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n fileHashPerDedupedPaths: DedupedPaths,\n configsRootDir: string,\n workspaceDir: string\n) {\n await pMapSeries(envEntries, async (envConfigFileEntry) => {\n const postProcessFunc = envConfigFileEntry.configWriter.postProcessExtendingConfigFiles;\n if (!postProcessFunc) {\n return undefined;\n }\n const envMapVal = envCompsDirsMap[envConfigFileEntry.envId];\n const extendingConfigFileEntry = Object.values(extendingConfigFilesMap).find((entry) => {\n return entry.envIds.includes(envConfigFileEntry.envId);\n });\n if (!extendingConfigFileEntry) {\n return undefined;\n }\n const dedupEntry = fileHashPerDedupedPaths.find((fileHashPerDedupedPath) => {\n return fileHashPerDedupedPath.fileHash === extendingConfigFileEntry.extendingConfigFile.hash;\n });\n if (!dedupEntry) {\n return undefined;\n }\n\n const postProcessRes = await postProcessFunc({\n configsRootDir,\n extendingConfigFile: extendingConfigFileEntry.extendingConfigFile,\n envMapValue: envMapVal,\n workspaceDir,\n paths: dedupEntry.paths,\n supportSpecificPathChange: true,\n });\n if (!postProcessRes) {\n return undefined;\n }\n if (typeof postProcessRes === 'string') {\n extendingConfigFileEntry.extendingConfigFile.content = postProcessRes;\n return undefined;\n }\n postProcessRes.forEach(({ path, content }) => {\n // Remove it from the current entry\n dedupEntry.paths = dedupEntry.paths.filter((currPath) => currPath !== path);\n const newHash = sha1(content);\n extendingConfigFilesMap[newHash] = JSON.parse(JSON.stringify(extendingConfigFileEntry));\n extendingConfigFilesMap[newHash].extendingConfigFile.content = content;\n const foundNewHash = fileHashPerDedupedPaths.find((entry) => entry.fileHash === newHash);\n if (foundNewHash) {\n foundNewHash.paths.push(path);\n } else {\n fileHashPerDedupedPaths.push({ fileHash: newHash, paths: [path] });\n }\n });\n return undefined;\n });\n}\n\nasync function writeExtendingConfigFiles(\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n fileHashPerDedupedPaths: DedupedPaths,\n workspaceDir: string,\n opts: WriteConfigFilesOptions\n): Promise<EnvsWrittenExtendingConfigFiles> {\n const finalResult: EnvsWrittenExtendingConfigFiles = await Promise.all(\n fileHashPerDedupedPaths.map(async ({ fileHash, paths }) => {\n const envsConfigFile = extendingConfigFilesMap[fileHash];\n const configFile = envsConfigFile.extendingConfigFile;\n const hash = configFile.hash || sha1(configFile.content);\n const name = format(configFile.name, { hash });\n const writtenPaths = await Promise.all(\n paths.map(async (path) => {\n const filePath = join(workspaceDir, path, name);\n const targetPath = configFile.useAbsPaths\n ? configFile.extendingTarget.filePath\n : normalize(`./${relative(dirname(filePath), configFile.extendingTarget.filePath)}`);\n const content = configFile.content.replace(`{${configFile.extendingTarget.name}}`, targetPath);\n if (!opts.dryRun) {\n await fs.outputFile(filePath, content);\n }\n return filePath;\n })\n );\n const res: EnvsWrittenExtendingConfigFile = {\n envIds: envsConfigFile.envIds,\n extendingConfigFile: {\n name,\n hash,\n content: configFile.content,\n extendingTarget: configFile.extendingTarget,\n filePaths: writtenPaths,\n },\n };\n return res;\n })\n );\n return finalResult;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_normalizePath","data","_interopRequireDefault","require","_stringFormat","_toolboxCrypto","_fsExtra","_path","_pMapSeries","_lodash","_dedupPaths","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","handleExtendingConfigFiles","envEntries","envCompsDirsMap","writtenRealConfigFiles","configsRootDir","workspaceDir","opts","extendingConfigFilesMap","buildExtendingConfigFilesMap","fileHashPerDedupedPaths","dedupePaths","postProcessExtendingConfigFiles","envsWrittenExtendingConfigFiles","writeExtendingConfigFiles","allEnvsCalculatedExtendingConfigFiles","compact","pMapSeries","envConfigFileEntry","envMapVal","envId","writtenConfigFilesForEnv","getEnvOnlyWrittenRealConfigFiles","extendingConfigFile","generateOneExtendingConfigFile","undefined","indexExtendingConfigFiles","values","reduce","acc","envIds","writtenRealConfigFile","includes","writtenConfigFiles","envMapValue","configWriter","executionContext","args","generateExtendingFile","hash","sha1","content","useAbsPaths","multiEnvCalculatedExtendingConfigFiles","mergedConfigFiles","curr","currentValue","postProcessFunc","extendingConfigFileEntry","find","entry","dedupEntry","fileHashPerDedupedPath","fileHash","postProcessRes","paths","supportSpecificPathChange","path","currPath","newHash","JSON","parse","stringify","foundNewHash","finalResult","Promise","all","map","envsConfigFile","configFile","name","format","writtenPaths","filePath","join","targetPath","extendingTarget","normalize","relative","dirname","replace","dryRun","fs","outputFile","res","filePaths"],"sources":["extending-config-files.ts"],"sourcesContent":["import normalize from 'normalize-path';\nimport format from 'string-format';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport fs from 'fs-extra';\nimport { dirname, join, relative } from 'path';\nimport pMapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport { ExtendingConfigFile } from '../config-writer-entry';\nimport { DedupedPaths, dedupePaths } from '../dedup-paths';\nimport {\n EnvCompsDirsMap,\n EnvConfigWriterEntry,\n EnvMapValue,\n WriteConfigFilesOptions,\n} from '../workspace-config-files.main.runtime';\nimport { WrittenConfigFile, WrittenRealConfigFilesByHash } from './real-config-files';\n\ntype EnvCalculatedExtendingConfigFile = {\n envId: string;\n extendingConfigFile: Required<ExtendingConfigFile>;\n};\nexport type WrittenExtendingConfigFile = ExtendingConfigFile & {\n filePaths: string[];\n};\nexport type EnvsWrittenExtendingConfigFile = { envIds: string[]; extendingConfigFile: WrittenExtendingConfigFile };\nexport type EnvsWrittenExtendingConfigFiles = Array<EnvsWrittenExtendingConfigFile>;\nexport type ExtendingConfigFilesMap = {\n [configFileHash: string]: {\n envIds: string[];\n extendingConfigFile: Required<ExtendingConfigFile>;\n };\n};\n\nexport async function handleExtendingConfigFiles(\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n writtenRealConfigFiles: WrittenRealConfigFilesByHash,\n configsRootDir: string,\n workspaceDir: string,\n opts: WriteConfigFilesOptions\n): Promise<EnvsWrittenExtendingConfigFiles> {\n const extendingConfigFilesMap = await buildExtendingConfigFilesMap(\n envEntries,\n writtenRealConfigFiles,\n envCompsDirsMap,\n configsRootDir,\n workspaceDir\n );\n const fileHashPerDedupedPaths = dedupePaths(extendingConfigFilesMap, envCompsDirsMap);\n await postProcessExtendingConfigFiles(\n envEntries,\n envCompsDirsMap,\n extendingConfigFilesMap,\n fileHashPerDedupedPaths,\n configsRootDir,\n workspaceDir\n );\n const envsWrittenExtendingConfigFiles = await writeExtendingConfigFiles(\n extendingConfigFilesMap,\n fileHashPerDedupedPaths,\n workspaceDir,\n opts\n );\n return envsWrittenExtendingConfigFiles;\n}\n\nasync function buildExtendingConfigFilesMap(\n envEntries: EnvConfigWriterEntry[],\n writtenRealConfigFiles: WrittenRealConfigFilesByHash,\n envCompsDirsMap: EnvCompsDirsMap,\n configsRootDir: string,\n workspaceDir: string\n): Promise<ExtendingConfigFilesMap> {\n const allEnvsCalculatedExtendingConfigFiles: EnvCalculatedExtendingConfigFile[] = compact(\n await pMapSeries(envEntries, async (envConfigFileEntry) => {\n const envMapVal = envCompsDirsMap[envConfigFileEntry.envId];\n const writtenConfigFilesForEnv: WrittenConfigFile[] = getEnvOnlyWrittenRealConfigFiles(\n envConfigFileEntry.envId,\n writtenRealConfigFiles\n );\n const extendingConfigFile = generateOneExtendingConfigFile(\n writtenConfigFilesForEnv,\n envConfigFileEntry,\n envMapVal,\n configsRootDir,\n workspaceDir\n );\n if (!extendingConfigFile) {\n return undefined;\n }\n return {\n envId: envConfigFileEntry.envId,\n extendingConfigFile,\n };\n })\n );\n const extendingConfigFilesMap: ExtendingConfigFilesMap = indexExtendingConfigFiles(\n allEnvsCalculatedExtendingConfigFiles\n );\n return extendingConfigFilesMap;\n}\n\nfunction getEnvOnlyWrittenRealConfigFiles(\n envId: string,\n writtenRealConfigFiles: WrittenRealConfigFilesByHash\n): WrittenConfigFile[] {\n return Object.values(writtenRealConfigFiles).reduce((acc, { envIds, writtenRealConfigFile }) => {\n if (envIds.includes(envId)) {\n acc.push(writtenRealConfigFile);\n }\n return acc;\n }, [] as WrittenConfigFile[]);\n}\n\nfunction generateOneExtendingConfigFile(\n writtenConfigFiles: WrittenConfigFile[],\n envConfigFileEntry: EnvConfigWriterEntry,\n envMapValue: EnvMapValue,\n configsRootDir: string,\n workspaceDir: string\n): Required<ExtendingConfigFile> | undefined {\n const { configWriter, executionContext } = envConfigFileEntry;\n const args = {\n workspaceDir,\n configsRootDir,\n writtenConfigFiles,\n executionContext,\n envMapValue,\n };\n const extendingConfigFile = configWriter.generateExtendingFile(args);\n if (!extendingConfigFile) return undefined;\n const hash = extendingConfigFile.hash || sha1(extendingConfigFile.content);\n return {\n ...extendingConfigFile,\n useAbsPaths: !!extendingConfigFile.useAbsPaths,\n hash,\n };\n}\n\nfunction indexExtendingConfigFiles(\n multiEnvCalculatedExtendingConfigFiles: EnvCalculatedExtendingConfigFile[]\n): ExtendingConfigFilesMap {\n const mergedConfigFiles = multiEnvCalculatedExtendingConfigFiles.reduce(\n (acc, curr: EnvCalculatedExtendingConfigFile) => {\n const extendingConfigFile = curr.extendingConfigFile;\n const currentValue = acc[extendingConfigFile.hash];\n if (currentValue) {\n currentValue.envIds.push(curr.envId);\n } else {\n acc[extendingConfigFile.hash] = { envIds: [curr.envId], extendingConfigFile };\n }\n return acc;\n },\n {}\n );\n return mergedConfigFiles;\n}\n\nasync function postProcessExtendingConfigFiles(\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n fileHashPerDedupedPaths: DedupedPaths,\n configsRootDir: string,\n workspaceDir: string\n) {\n await pMapSeries(envEntries, async (envConfigFileEntry) => {\n const postProcessFunc = envConfigFileEntry.configWriter.postProcessExtendingConfigFiles;\n if (!postProcessFunc) {\n return undefined;\n }\n const envMapVal = envCompsDirsMap[envConfigFileEntry.envId];\n const extendingConfigFileEntry = Object.values(extendingConfigFilesMap).find((entry) => {\n return entry.envIds.includes(envConfigFileEntry.envId);\n });\n if (!extendingConfigFileEntry) {\n return undefined;\n }\n const dedupEntry = fileHashPerDedupedPaths.find((fileHashPerDedupedPath) => {\n return fileHashPerDedupedPath.fileHash === extendingConfigFileEntry.extendingConfigFile.hash;\n });\n if (!dedupEntry) {\n return undefined;\n }\n\n const postProcessRes = await postProcessFunc({\n configsRootDir,\n extendingConfigFile: extendingConfigFileEntry.extendingConfigFile,\n envMapValue: envMapVal,\n workspaceDir,\n paths: dedupEntry.paths,\n supportSpecificPathChange: true,\n });\n if (!postProcessRes) {\n return undefined;\n }\n if (typeof postProcessRes === 'string') {\n extendingConfigFileEntry.extendingConfigFile.content = postProcessRes;\n return undefined;\n }\n postProcessRes.forEach(({ path, content }) => {\n // Remove it from the current entry\n dedupEntry.paths = dedupEntry.paths.filter((currPath) => currPath !== path);\n const newHash = sha1(content);\n extendingConfigFilesMap[newHash] = JSON.parse(JSON.stringify(extendingConfigFileEntry));\n extendingConfigFilesMap[newHash].extendingConfigFile.content = content;\n const foundNewHash = fileHashPerDedupedPaths.find((entry) => entry.fileHash === newHash);\n if (foundNewHash) {\n foundNewHash.paths.push(path);\n } else {\n fileHashPerDedupedPaths.push({ fileHash: newHash, paths: [path] });\n }\n });\n return undefined;\n });\n}\n\nasync function writeExtendingConfigFiles(\n extendingConfigFilesMap: ExtendingConfigFilesMap,\n fileHashPerDedupedPaths: DedupedPaths,\n workspaceDir: string,\n opts: WriteConfigFilesOptions\n): Promise<EnvsWrittenExtendingConfigFiles> {\n const finalResult: EnvsWrittenExtendingConfigFiles = await Promise.all(\n fileHashPerDedupedPaths.map(async ({ fileHash, paths }) => {\n const envsConfigFile = extendingConfigFilesMap[fileHash];\n const configFile = envsConfigFile.extendingConfigFile;\n const hash = configFile.hash || sha1(configFile.content);\n const name = format(configFile.name, { hash });\n const writtenPaths = await Promise.all(\n paths.map(async (path) => {\n const filePath = join(workspaceDir, path, name);\n const targetPath = configFile.useAbsPaths\n ? configFile.extendingTarget.filePath\n : normalize(`./${relative(dirname(filePath), configFile.extendingTarget.filePath)}`);\n const content = configFile.content.replace(`{${configFile.extendingTarget.name}}`, targetPath);\n if (!opts.dryRun) {\n await fs.outputFile(filePath, content);\n }\n return filePath;\n })\n );\n const res: EnvsWrittenExtendingConfigFile = {\n envIds: envsConfigFile.envIds,\n extendingConfigFile: {\n name,\n hash,\n content: configFile.content,\n extendingTarget: configFile.extendingTarget,\n filePaths: writtenPaths,\n },\n };\n return res;\n })\n );\n return finalResult;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,9 +11,9 @@ function _stringFormat() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _utils() {
15
- const data = require("@teambit/legacy/dist/utils");
16
- _utils = function () {
14
+ function _toolboxCrypto() {
15
+ const data = require("@teambit/toolbox.crypto.sha1");
16
+ _toolboxCrypto = function () {
17
17
  return data;
18
18
  };
19
19
  return data;
@@ -81,7 +81,7 @@ async function handleRealConfigFiles(envEntries, envCompsDirsMap, configsRootDir
81
81
  function ensureHashOnConfigFiles(configFiles) {
82
82
  return configFiles.map(configFile => {
83
83
  if (!configFile.hash) {
84
- const hash = (0, _utils().sha1)(configFile.content);
84
+ const hash = (0, _toolboxCrypto().sha1)(configFile.content);
85
85
  return _objectSpread(_objectSpread({}, configFile), {}, {
86
86
  hash
87
87
  });
@@ -121,7 +121,7 @@ function mergeRealConfigFiles(multiEnvCalculatedRealConfigFiles, mergeFunc) {
121
121
  return mergedConfigFiles;
122
122
  }
123
123
  async function writeConfigFile(configFile, configsRootDir, opts) {
124
- const hash = configFile.hash || (0, _utils().sha1)(configFile.content);
124
+ const hash = configFile.hash || (0, _toolboxCrypto().sha1)(configFile.content);
125
125
  const name = (0, _stringFormat().default)(configFile.name, {
126
126
  hash
127
127
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_stringFormat","data","_interopRequireDefault","require","_utils","_fsExtra","_path","_pMapSeries","_lodash","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","handleRealConfigFiles","envEntries","envCompsDirsMap","configsRootDir","workspaceDir","opts","allEnvsCalculatedRealConfigFiles","pMapSeries","envConfigFileEntry","envMapVal","envId","realConfigFiles","calculateOneEnvRealConfigFiles","realConfigFilesWithHash","ensureHashOnConfigFiles","compact","mergeFunc","find","envEntry","configWriter","mergeConfigFiles","mergedRealConfigFiles","mergeRealConfigFiles","writtenConfigFilesMap","Promise","all","entries","map","hash","envIds","realConfigFile","writtenRealConfigFile","writeConfigFile","configFiles","configFile","sha1","content","envMapValue","executionContext","calculatedConfigFiles","calcConfigFiles","multiEnvCalculatedRealConfigFiles","mergedConfigFiles","reduce","acc","curr","currentValue","mergedConfigFileContent","name","format","filePath","join","dryRun","fs","outputFile","res"],"sources":["real-config-files.ts"],"sourcesContent":["import format from 'string-format';\nimport { sha1 } from '@teambit/legacy/dist/utils';\nimport fs from 'fs-extra';\nimport { join } from 'path';\nimport pMapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport { ConfigFile, MergeConfigFilesFunc } from '../config-writer-entry';\nimport {\n EnvCompsDirsMap,\n EnvConfigWriterEntry,\n EnvMapValue,\n WriteConfigFilesOptions,\n} from '../workspace-config-files.main.runtime';\n\ntype MergedRealConfigFilesByHash = {\n [hash: string]: {\n envIds: string[];\n realConfigFile: Required<ConfigFile>;\n };\n};\n\nexport type EnvsWrittenRealConfigFiles = Array<EnvsWrittenRealConfigFile>;\n\nexport type EnvsWrittenRealConfigFile = {\n envIds: string[];\n writtenRealConfigFile: WrittenConfigFile;\n};\n\nexport type WrittenRealConfigFilesByHash = {\n [hash: string]: EnvsWrittenRealConfigFile;\n};\n\nexport type WrittenConfigFile = Required<ConfigFile> & {\n filePath: string;\n};\n\ntype EnvCalculatedRealConfigFiles = {\n envId: string;\n realConfigFiles: Required<ConfigFile>[];\n};\n\nexport async function handleRealConfigFiles(\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n configsRootDir: string,\n workspaceDir: string,\n opts: WriteConfigFilesOptions\n): Promise<WrittenRealConfigFilesByHash> {\n const allEnvsCalculatedRealConfigFiles: EnvCalculatedRealConfigFiles[] = await pMapSeries(\n envEntries,\n async (envConfigFileEntry) => {\n const envMapVal = envCompsDirsMap[envConfigFileEntry.envId];\n const realConfigFiles = await calculateOneEnvRealConfigFiles(\n envConfigFileEntry,\n envMapVal,\n configsRootDir,\n workspaceDir\n );\n const realConfigFilesWithHash = ensureHashOnConfigFiles(compact(realConfigFiles));\n return {\n envId: envConfigFileEntry.envId,\n realConfigFiles: realConfigFilesWithHash,\n };\n }\n );\n // Find the first merge function exists\n const mergeFunc = envEntries.find((envEntry) => !!envEntry.configWriter.mergeConfigFiles)?.configWriter\n .mergeConfigFiles;\n const mergedRealConfigFiles = mergeRealConfigFiles(allEnvsCalculatedRealConfigFiles, mergeFunc);\n const writtenConfigFilesMap: WrittenRealConfigFilesByHash = {};\n await Promise.all(\n Object.entries(mergedRealConfigFiles).map(async ([hash, { envIds, realConfigFile }]) => {\n const writtenRealConfigFile = await writeConfigFile(realConfigFile, configsRootDir, opts);\n writtenConfigFilesMap[hash] = {\n envIds,\n writtenRealConfigFile,\n };\n })\n );\n\n return writtenConfigFilesMap;\n}\n\nfunction ensureHashOnConfigFiles(configFiles: ConfigFile[]): Array<Required<ConfigFile>> {\n return configFiles.map((configFile): Required<ConfigFile> => {\n if (!configFile.hash) {\n const hash = sha1(configFile.content);\n return { ...configFile, hash };\n }\n return configFile as Required<ConfigFile>;\n });\n}\n\nasync function calculateOneEnvRealConfigFiles(\n envConfigFileEntry: EnvConfigWriterEntry,\n envMapValue: EnvMapValue,\n configsRootDir: string,\n workspaceDir: string\n) {\n const { configWriter, executionContext } = envConfigFileEntry;\n const calculatedConfigFiles = configWriter.calcConfigFiles(\n executionContext,\n envMapValue,\n configsRootDir,\n workspaceDir\n );\n return calculatedConfigFiles;\n}\n\nfunction mergeRealConfigFiles(\n multiEnvCalculatedRealConfigFiles: EnvCalculatedRealConfigFiles[],\n mergeFunc?: MergeConfigFilesFunc\n): MergedRealConfigFilesByHash {\n const mergedConfigFiles = multiEnvCalculatedRealConfigFiles.reduce((acc, curr: EnvCalculatedRealConfigFiles) => {\n curr.realConfigFiles.forEach((realConfigFile) => {\n const currentValue = acc[realConfigFile.hash];\n if (currentValue) {\n currentValue.envIds.push(curr.envId);\n if (currentValue && mergeFunc) {\n const mergedConfigFileContent = mergeFunc(currentValue.realConfigFile, realConfigFile);\n currentValue.realConfigFile.content = mergedConfigFileContent;\n realConfigFile.content = mergedConfigFileContent;\n acc[realConfigFile.hash].realConfigFile = realConfigFile;\n }\n } else {\n acc[realConfigFile.hash] = { envIds: [curr.envId], realConfigFile };\n }\n });\n return acc;\n }, {});\n return mergedConfigFiles;\n}\n\nasync function writeConfigFile(\n configFile: ConfigFile,\n configsRootDir: string,\n opts: WriteConfigFilesOptions\n): Promise<WrittenConfigFile> {\n const hash = configFile.hash || sha1(configFile.content);\n const name = format(configFile.name, { hash });\n const filePath = join(configsRootDir, name);\n if (!opts.dryRun) {\n // const exists = await fs.pathExists(filePath);\n // if (!exists) {\n await fs.outputFile(filePath, configFile.content);\n // }\n }\n const res = {\n name,\n hash,\n filePath,\n content: configFile.content,\n };\n return res;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_stringFormat","data","_interopRequireDefault","require","_toolboxCrypto","_fsExtra","_path","_pMapSeries","_lodash","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","handleRealConfigFiles","envEntries","envCompsDirsMap","configsRootDir","workspaceDir","opts","allEnvsCalculatedRealConfigFiles","pMapSeries","envConfigFileEntry","envMapVal","envId","realConfigFiles","calculateOneEnvRealConfigFiles","realConfigFilesWithHash","ensureHashOnConfigFiles","compact","mergeFunc","find","envEntry","configWriter","mergeConfigFiles","mergedRealConfigFiles","mergeRealConfigFiles","writtenConfigFilesMap","Promise","all","entries","map","hash","envIds","realConfigFile","writtenRealConfigFile","writeConfigFile","configFiles","configFile","sha1","content","envMapValue","executionContext","calculatedConfigFiles","calcConfigFiles","multiEnvCalculatedRealConfigFiles","mergedConfigFiles","reduce","acc","curr","currentValue","mergedConfigFileContent","name","format","filePath","join","dryRun","fs","outputFile","res"],"sources":["real-config-files.ts"],"sourcesContent":["import format from 'string-format';\nimport { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport fs from 'fs-extra';\nimport { join } from 'path';\nimport pMapSeries from 'p-map-series';\nimport { compact } from 'lodash';\nimport { ConfigFile, MergeConfigFilesFunc } from '../config-writer-entry';\nimport {\n EnvCompsDirsMap,\n EnvConfigWriterEntry,\n EnvMapValue,\n WriteConfigFilesOptions,\n} from '../workspace-config-files.main.runtime';\n\ntype MergedRealConfigFilesByHash = {\n [hash: string]: {\n envIds: string[];\n realConfigFile: Required<ConfigFile>;\n };\n};\n\nexport type EnvsWrittenRealConfigFiles = Array<EnvsWrittenRealConfigFile>;\n\nexport type EnvsWrittenRealConfigFile = {\n envIds: string[];\n writtenRealConfigFile: WrittenConfigFile;\n};\n\nexport type WrittenRealConfigFilesByHash = {\n [hash: string]: EnvsWrittenRealConfigFile;\n};\n\nexport type WrittenConfigFile = Required<ConfigFile> & {\n filePath: string;\n};\n\ntype EnvCalculatedRealConfigFiles = {\n envId: string;\n realConfigFiles: Required<ConfigFile>[];\n};\n\nexport async function handleRealConfigFiles(\n envEntries: EnvConfigWriterEntry[],\n envCompsDirsMap: EnvCompsDirsMap,\n configsRootDir: string,\n workspaceDir: string,\n opts: WriteConfigFilesOptions\n): Promise<WrittenRealConfigFilesByHash> {\n const allEnvsCalculatedRealConfigFiles: EnvCalculatedRealConfigFiles[] = await pMapSeries(\n envEntries,\n async (envConfigFileEntry) => {\n const envMapVal = envCompsDirsMap[envConfigFileEntry.envId];\n const realConfigFiles = await calculateOneEnvRealConfigFiles(\n envConfigFileEntry,\n envMapVal,\n configsRootDir,\n workspaceDir\n );\n const realConfigFilesWithHash = ensureHashOnConfigFiles(compact(realConfigFiles));\n return {\n envId: envConfigFileEntry.envId,\n realConfigFiles: realConfigFilesWithHash,\n };\n }\n );\n // Find the first merge function exists\n const mergeFunc = envEntries.find((envEntry) => !!envEntry.configWriter.mergeConfigFiles)?.configWriter\n .mergeConfigFiles;\n const mergedRealConfigFiles = mergeRealConfigFiles(allEnvsCalculatedRealConfigFiles, mergeFunc);\n const writtenConfigFilesMap: WrittenRealConfigFilesByHash = {};\n await Promise.all(\n Object.entries(mergedRealConfigFiles).map(async ([hash, { envIds, realConfigFile }]) => {\n const writtenRealConfigFile = await writeConfigFile(realConfigFile, configsRootDir, opts);\n writtenConfigFilesMap[hash] = {\n envIds,\n writtenRealConfigFile,\n };\n })\n );\n\n return writtenConfigFilesMap;\n}\n\nfunction ensureHashOnConfigFiles(configFiles: ConfigFile[]): Array<Required<ConfigFile>> {\n return configFiles.map((configFile): Required<ConfigFile> => {\n if (!configFile.hash) {\n const hash = sha1(configFile.content);\n return { ...configFile, hash };\n }\n return configFile as Required<ConfigFile>;\n });\n}\n\nasync function calculateOneEnvRealConfigFiles(\n envConfigFileEntry: EnvConfigWriterEntry,\n envMapValue: EnvMapValue,\n configsRootDir: string,\n workspaceDir: string\n) {\n const { configWriter, executionContext } = envConfigFileEntry;\n const calculatedConfigFiles = configWriter.calcConfigFiles(\n executionContext,\n envMapValue,\n configsRootDir,\n workspaceDir\n );\n return calculatedConfigFiles;\n}\n\nfunction mergeRealConfigFiles(\n multiEnvCalculatedRealConfigFiles: EnvCalculatedRealConfigFiles[],\n mergeFunc?: MergeConfigFilesFunc\n): MergedRealConfigFilesByHash {\n const mergedConfigFiles = multiEnvCalculatedRealConfigFiles.reduce((acc, curr: EnvCalculatedRealConfigFiles) => {\n curr.realConfigFiles.forEach((realConfigFile) => {\n const currentValue = acc[realConfigFile.hash];\n if (currentValue) {\n currentValue.envIds.push(curr.envId);\n if (currentValue && mergeFunc) {\n const mergedConfigFileContent = mergeFunc(currentValue.realConfigFile, realConfigFile);\n currentValue.realConfigFile.content = mergedConfigFileContent;\n realConfigFile.content = mergedConfigFileContent;\n acc[realConfigFile.hash].realConfigFile = realConfigFile;\n }\n } else {\n acc[realConfigFile.hash] = { envIds: [curr.envId], realConfigFile };\n }\n });\n return acc;\n }, {});\n return mergedConfigFiles;\n}\n\nasync function writeConfigFile(\n configFile: ConfigFile,\n configsRootDir: string,\n opts: WriteConfigFilesOptions\n): Promise<WrittenConfigFile> {\n const hash = configFile.hash || sha1(configFile.content);\n const name = format(configFile.name, { hash });\n const filePath = join(configsRootDir, name);\n if (!opts.dryRun) {\n // const exists = await fs.pathExists(filePath);\n // if (!exists) {\n await fs.outputFile(filePath, configFile.content);\n // }\n }\n const res = {\n name,\n hash,\n filePath,\n content: configFile.content,\n };\n return res;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/workspace-config-files",
3
- "version": "1.0.330",
3
+ "version": "1.0.331",
4
4
  "homepage": "https://bit.cloud/teambit/workspace/workspace-config-files",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "workspace-config-files",
9
- "version": "1.0.330"
9
+ "version": "1.0.331"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -19,10 +19,13 @@
19
19
  "string-format": "0.5.0",
20
20
  "@teambit/harmony": "0.4.6",
21
21
  "@teambit/bit-error": "0.0.404",
22
- "@teambit/envs": "1.0.330",
23
- "@teambit/cli": "0.0.907",
24
- "@teambit/logger": "0.0.1000",
25
- "@teambit/workspace": "1.0.330"
22
+ "@teambit/envs": "1.0.331",
23
+ "@teambit/toolbox.path.path": "0.0.2",
24
+ "@teambit/cli": "0.0.908",
25
+ "@teambit/legacy.cli.prompts": "0.0.1",
26
+ "@teambit/logger": "0.0.1001",
27
+ "@teambit/workspace": "1.0.331",
28
+ "@teambit/toolbox.crypto.sha1": "0.0.1"
26
29
  },
27
30
  "devDependencies": {
28
31
  "@types/lodash": "4.14.165",
@@ -31,7 +34,7 @@
31
34
  "@types/fs-extra": "9.0.7",
32
35
  "@types/normalize-path": "^3.0.0",
33
36
  "@types/mocha": "9.1.0",
34
- "@teambit/harmony.envs.core-aspect-env": "0.0.39"
37
+ "@teambit/harmony.envs.core-aspect-env": "0.0.42"
35
38
  },
36
39
  "peerDependencies": {
37
40
  "@teambit/legacy": "1.0.624"
@@ -1,6 +1,6 @@
1
1
  import normalize from 'normalize-path';
2
2
  import format from 'string-format';
3
- import { sha1 } from '@teambit/legacy/dist/utils';
3
+ import { sha1 } from '@teambit/toolbox.crypto.sha1';
4
4
  import fs from 'fs-extra';
5
5
  import { dirname, join, relative } from 'path';
6
6
  import pMapSeries from 'p-map-series';
@@ -1,5 +1,5 @@
1
1
  import format from 'string-format';
2
- import { sha1 } from '@teambit/legacy/dist/utils';
2
+ import { sha1 } from '@teambit/toolbox.crypto.sha1';
3
3
  import fs from 'fs-extra';
4
4
  import { join } from 'path';
5
5
  import pMapSeries from 'p-map-series';