@teambit/component-writer 1.0.187 → 1.0.189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="0" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.component/component-writer@1.0.187" tests="0" failures="0" errors="0" skipped="0"/>
3
+ <testsuite name="teambit.component/component-writer@1.0.189" tests="0" failures="0" errors="0" skipped="0"/>
4
4
  </testsuites>
@@ -48,7 +48,11 @@
48
48
  "line": 45,
49
49
  "character": 24
50
50
  },
51
- "name": "InstallMain"
51
+ "name": "InstallMain",
52
+ "componentId": {
53
+ "scope": "teambit.workspace",
54
+ "name": "install"
55
+ }
52
56
  },
53
57
  "isOptional": false,
54
58
  "isSpread": false
@@ -68,7 +72,11 @@
68
72
  "line": 46,
69
73
  "character": 23
70
74
  },
71
- "name": "CompilerMain"
75
+ "name": "CompilerMain",
76
+ "componentId": {
77
+ "scope": "teambit.compilation",
78
+ "name": "compiler"
79
+ }
72
80
  },
73
81
  "isOptional": false,
74
82
  "isSpread": false
@@ -88,7 +96,11 @@
88
96
  "line": 47,
89
97
  "character": 24
90
98
  },
91
- "name": "Workspace"
99
+ "name": "Workspace",
100
+ "componentId": {
101
+ "scope": "teambit.workspace",
102
+ "name": "workspace"
103
+ }
92
104
  },
93
105
  "isOptional": false,
94
106
  "isSpread": false
@@ -108,7 +120,11 @@
108
120
  "line": 48,
109
121
  "character": 21
110
122
  },
111
- "name": "Logger"
123
+ "name": "Logger",
124
+ "componentId": {
125
+ "scope": "teambit.harmony",
126
+ "name": "logger"
127
+ }
112
128
  },
113
129
  "isOptional": false,
114
130
  "isSpread": false
@@ -128,7 +144,11 @@
128
144
  "line": 49,
129
145
  "character": 20
130
146
  },
131
- "name": "MoverMain"
147
+ "name": "MoverMain",
148
+ "componentId": {
149
+ "scope": "teambit.component",
150
+ "name": "mover"
151
+ }
132
152
  },
133
153
  "isOptional": false,
134
154
  "isSpread": false
@@ -148,7 +168,11 @@
148
168
  "line": 50,
149
169
  "character": 26
150
170
  },
151
- "name": "ConfigMergerMain"
171
+ "name": "ConfigMergerMain",
172
+ "componentId": {
173
+ "scope": "teambit.workspace",
174
+ "name": "config-merger"
175
+ }
152
176
  },
153
177
  "isOptional": false,
154
178
  "isSpread": false
@@ -336,7 +360,11 @@
336
360
  "line": 302,
337
361
  "character": 5
338
362
  },
339
- "name": "InstallMain"
363
+ "name": "InstallMain",
364
+ "componentId": {
365
+ "scope": "teambit.workspace",
366
+ "name": "install"
367
+ }
340
368
  },
341
369
  {
342
370
  "__schema": "TypeRefSchema",
@@ -345,7 +373,11 @@
345
373
  "line": 303,
346
374
  "character": 5
347
375
  },
348
- "name": "CompilerMain"
376
+ "name": "CompilerMain",
377
+ "componentId": {
378
+ "scope": "teambit.compilation",
379
+ "name": "compiler"
380
+ }
349
381
  },
350
382
  {
351
383
  "__schema": "TypeRefSchema",
@@ -354,7 +386,11 @@
354
386
  "line": 304,
355
387
  "character": 5
356
388
  },
357
- "name": "LoggerMain"
389
+ "name": "LoggerMain",
390
+ "componentId": {
391
+ "scope": "teambit.harmony",
392
+ "name": "logger"
393
+ }
358
394
  },
359
395
  {
360
396
  "__schema": "TypeRefSchema",
@@ -363,7 +399,11 @@
363
399
  "line": 305,
364
400
  "character": 5
365
401
  },
366
- "name": "Workspace"
402
+ "name": "Workspace",
403
+ "componentId": {
404
+ "scope": "teambit.workspace",
405
+ "name": "workspace"
406
+ }
367
407
  },
368
408
  {
369
409
  "__schema": "TypeRefSchema",
@@ -372,7 +412,11 @@
372
412
  "line": 306,
373
413
  "character": 5
374
414
  },
375
- "name": "MoverMain"
415
+ "name": "MoverMain",
416
+ "componentId": {
417
+ "scope": "teambit.component",
418
+ "name": "mover"
419
+ }
376
420
  },
377
421
  {
378
422
  "__schema": "TypeRefSchema",
@@ -381,7 +425,11 @@
381
425
  "line": 307,
382
426
  "character": 5
383
427
  },
384
- "name": "ConfigMergerMain"
428
+ "name": "ConfigMergerMain",
429
+ "componentId": {
430
+ "scope": "teambit.workspace",
431
+ "name": "config-merger"
432
+ }
385
433
  }
386
434
  ]
387
435
  },
@@ -480,7 +528,11 @@
480
528
  "line": 40,
481
529
  "character": 33
482
530
  },
483
- "name": "WorkspaceConfigUpdateResult"
531
+ "name": "WorkspaceConfigUpdateResult",
532
+ "componentId": {
533
+ "scope": "teambit.workspace",
534
+ "name": "config-merger"
535
+ }
484
536
  },
485
537
  "isOptional": true
486
538
  }
@@ -520,7 +572,8 @@
520
572
  "line": 23,
521
573
  "character": 15
522
574
  },
523
- "name": "ConsumerComponent"
575
+ "name": "ConsumerComponent",
576
+ "packageName": "@teambit/legacy/dist/consumer/component"
524
577
  }
525
578
  },
526
579
  "isOptional": false
@@ -829,7 +882,8 @@
829
882
  "line": 23,
830
883
  "character": 15
831
884
  },
832
- "name": "ConsumerComponent"
885
+ "name": "ConsumerComponent",
886
+ "packageName": "@teambit/legacy/dist/consumer/component"
833
887
  }
834
888
  },
835
889
  "isOptional": false
@@ -1130,7 +1184,11 @@
1130
1184
  "line": 40,
1131
1185
  "character": 33
1132
1186
  },
1133
- "name": "WorkspaceConfigUpdateResult"
1187
+ "name": "WorkspaceConfigUpdateResult",
1188
+ "componentId": {
1189
+ "scope": "teambit.workspace",
1190
+ "name": "config-merger"
1191
+ }
1134
1192
  },
1135
1193
  "isOptional": true
1136
1194
  }
@@ -1172,7 +1230,11 @@
1172
1230
  "line": 45,
1173
1231
  "character": 24
1174
1232
  },
1175
- "name": "InstallMain"
1233
+ "name": "InstallMain",
1234
+ "componentId": {
1235
+ "scope": "teambit.workspace",
1236
+ "name": "install"
1237
+ }
1176
1238
  },
1177
1239
  "isOptional": false,
1178
1240
  "isSpread": false
@@ -1192,7 +1254,11 @@
1192
1254
  "line": 46,
1193
1255
  "character": 23
1194
1256
  },
1195
- "name": "CompilerMain"
1257
+ "name": "CompilerMain",
1258
+ "componentId": {
1259
+ "scope": "teambit.compilation",
1260
+ "name": "compiler"
1261
+ }
1196
1262
  },
1197
1263
  "isOptional": false,
1198
1264
  "isSpread": false
@@ -1212,7 +1278,11 @@
1212
1278
  "line": 47,
1213
1279
  "character": 24
1214
1280
  },
1215
- "name": "Workspace"
1281
+ "name": "Workspace",
1282
+ "componentId": {
1283
+ "scope": "teambit.workspace",
1284
+ "name": "workspace"
1285
+ }
1216
1286
  },
1217
1287
  "isOptional": false,
1218
1288
  "isSpread": false
@@ -1232,7 +1302,11 @@
1232
1302
  "line": 48,
1233
1303
  "character": 21
1234
1304
  },
1235
- "name": "Logger"
1305
+ "name": "Logger",
1306
+ "componentId": {
1307
+ "scope": "teambit.harmony",
1308
+ "name": "logger"
1309
+ }
1236
1310
  },
1237
1311
  "isOptional": false,
1238
1312
  "isSpread": false
@@ -1252,7 +1326,11 @@
1252
1326
  "line": 49,
1253
1327
  "character": 20
1254
1328
  },
1255
- "name": "MoverMain"
1329
+ "name": "MoverMain",
1330
+ "componentId": {
1331
+ "scope": "teambit.component",
1332
+ "name": "mover"
1333
+ }
1256
1334
  },
1257
1335
  "isOptional": false,
1258
1336
  "isSpread": false
@@ -1272,7 +1350,11 @@
1272
1350
  "line": 50,
1273
1351
  "character": 26
1274
1352
  },
1275
- "name": "ConfigMergerMain"
1353
+ "name": "ConfigMergerMain",
1354
+ "componentId": {
1355
+ "scope": "teambit.workspace",
1356
+ "name": "config-merger"
1357
+ }
1276
1358
  },
1277
1359
  "isOptional": false,
1278
1360
  "isSpread": false
@@ -1460,7 +1542,11 @@
1460
1542
  "line": 302,
1461
1543
  "character": 5
1462
1544
  },
1463
- "name": "InstallMain"
1545
+ "name": "InstallMain",
1546
+ "componentId": {
1547
+ "scope": "teambit.workspace",
1548
+ "name": "install"
1549
+ }
1464
1550
  },
1465
1551
  {
1466
1552
  "__schema": "TypeRefSchema",
@@ -1469,7 +1555,11 @@
1469
1555
  "line": 303,
1470
1556
  "character": 5
1471
1557
  },
1472
- "name": "CompilerMain"
1558
+ "name": "CompilerMain",
1559
+ "componentId": {
1560
+ "scope": "teambit.compilation",
1561
+ "name": "compiler"
1562
+ }
1473
1563
  },
1474
1564
  {
1475
1565
  "__schema": "TypeRefSchema",
@@ -1478,7 +1568,11 @@
1478
1568
  "line": 304,
1479
1569
  "character": 5
1480
1570
  },
1481
- "name": "LoggerMain"
1571
+ "name": "LoggerMain",
1572
+ "componentId": {
1573
+ "scope": "teambit.harmony",
1574
+ "name": "logger"
1575
+ }
1482
1576
  },
1483
1577
  {
1484
1578
  "__schema": "TypeRefSchema",
@@ -1487,7 +1581,11 @@
1487
1581
  "line": 305,
1488
1582
  "character": 5
1489
1583
  },
1490
- "name": "Workspace"
1584
+ "name": "Workspace",
1585
+ "componentId": {
1586
+ "scope": "teambit.workspace",
1587
+ "name": "workspace"
1588
+ }
1491
1589
  },
1492
1590
  {
1493
1591
  "__schema": "TypeRefSchema",
@@ -1496,7 +1594,11 @@
1496
1594
  "line": 306,
1497
1595
  "character": 5
1498
1596
  },
1499
- "name": "MoverMain"
1597
+ "name": "MoverMain",
1598
+ "componentId": {
1599
+ "scope": "teambit.component",
1600
+ "name": "mover"
1601
+ }
1500
1602
  },
1501
1603
  {
1502
1604
  "__schema": "TypeRefSchema",
@@ -1505,7 +1607,11 @@
1505
1607
  "line": 307,
1506
1608
  "character": 5
1507
1609
  },
1508
- "name": "ConfigMergerMain"
1610
+ "name": "ConfigMergerMain",
1611
+ "componentId": {
1612
+ "scope": "teambit.workspace",
1613
+ "name": "config-merger"
1614
+ }
1509
1615
  }
1510
1616
  ]
1511
1617
  },
@@ -1596,7 +1702,7 @@
1596
1702
  "componentId": {
1597
1703
  "scope": "teambit.component",
1598
1704
  "name": "component-writer",
1599
- "version": "1.0.187"
1705
+ "version": "1.0.189"
1600
1706
  },
1601
1707
  "taggedModuleExports": []
1602
1708
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_harmony","data","require","ComponentWriterAspect","exports","Aspect","create","id"],"sources":["component-writer.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const ComponentWriterAspect = Aspect.create({\n id: 'teambit.component/component-writer',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EACjDC,EAAE,EAAE;AACN,CAAC,CAAC"}
1
+ {"version":3,"names":["_harmony","data","require","ComponentWriterAspect","exports","Aspect","create","id"],"sources":["component-writer.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const ComponentWriterAspect = Aspect.create({\n id: 'teambit.component/component-writer',\n});\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,iBAAM,CAACC,MAAM,CAAC;EACjDC,EAAE,EAAE;AACN,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_path","data","require","_dataToPersist","_interopRequireDefault","_removePath","_componentVersion","_objects","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentWriter","constructor","component","writeToPath","writeConfig","writePackageJson","override","isolated","workspace","scope","consumer","bitMap","ignoreBitDependencies","deleteBitDirContent","existingComponentMap","skipUpdatingBitMap","write","Error","populateComponentsFilesToWrite","dataToPersist","addBasePath","getPath","persistAllToFS","files","length","BitError","id","toString","throwForImportingLegacyIntoHarmony","DataToPersist","_updateFilesBasePaths","componentMap","addComponentToBitMap","_updateComponentRootPathAccordingToBitMap","rootDir","populateFilesToWriteToComponentDir","isLegacy","removePath","RemovePath","forEach","file","map","addFile","license","contents","updatePaths","newBase","filesForBitMap","name","basename","relativePath","pathNormalizeToLinux","relative","test","bitId","replaceSnapWithTagIfNeeded","compId","resolveIdWithDefaultScope","defaultScope","hasScope","undefined","componentDefaultScopeFromComponentDirAndName","fullName","addComponent","componentId","mainFile","version","isHash","compFromModel","getModelComponentIfExist","tag","getTagOfRefIfExists","Ref","from","changeVersion","getRootDir","writtenPath","exports"],"sources":["component-writer.ts"],"sourcesContent":["import { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { PathLinuxRelative, pathNormalizeToLinux } from '@teambit/legacy/dist/utils/path';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { isHash } from '@teambit/component-version';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\n\nexport type ComponentWriterProps = {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override?: boolean;\n isolated?: boolean;\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies?: boolean | ComponentIdList;\n deleteBitDirContent?: boolean;\n existingComponentMap?: ComponentMap;\n skipUpdatingBitMap?: boolean;\n};\n\nexport default class ComponentWriter {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override: boolean; // default to true\n isolated?: boolean;\n consumer: Consumer | undefined; // when using capsule, the consumer is not defined\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies: boolean | ComponentIdList;\n deleteBitDirContent: boolean | undefined;\n existingComponentMap: ComponentMap | undefined;\n skipUpdatingBitMap?: boolean;\n\n constructor({\n component,\n writeToPath,\n writeConfig = false,\n writePackageJson = true,\n override = true,\n isolated = false,\n workspace,\n scope = workspace.consumer?.scope,\n bitMap,\n ignoreBitDependencies = true,\n deleteBitDirContent,\n existingComponentMap,\n skipUpdatingBitMap,\n }: ComponentWriterProps) {\n this.component = component;\n this.writeToPath = writeToPath;\n this.writeConfig = writeConfig;\n this.writePackageJson = writePackageJson;\n this.override = override;\n this.isolated = isolated;\n this.workspace = workspace;\n this.consumer = workspace.consumer;\n this.scope = scope;\n this.bitMap = bitMap;\n this.ignoreBitDependencies = ignoreBitDependencies;\n this.deleteBitDirContent = deleteBitDirContent;\n this.existingComponentMap = existingComponentMap;\n this.skipUpdatingBitMap = skipUpdatingBitMap;\n }\n\n /**\n * write the component to the filesystem and update .bitmap with the details.\n *\n * bitMap gets updated before writing the files to the filesystem, because as part of writing the\n * package-json file, the componentMap is needed to be stored with the updated version.\n *\n * when a component is not new, write the files according to the paths in .bitmap.\n */\n async write(): Promise<Component> {\n if (!this.consumer) throw new Error('ComponentWriter.write expect to have a consumer');\n await this.populateComponentsFilesToWrite();\n this.component.dataToPersist.addBasePath(this.consumer.getPath());\n await this.component.dataToPersist.persistAllToFS();\n return this.component;\n }\n\n async populateComponentsFilesToWrite(): Promise<Component> {\n if (this.isolated) throw new Error('for isolation, please use this.populateComponentsFilesToWriteForCapsule()');\n if (!this.component.files || !this.component.files.length) {\n throw new BitError(`Component ${this.component.id.toString()} is invalid as it has no files`);\n }\n this.throwForImportingLegacyIntoHarmony();\n this.component.dataToPersist = new DataToPersist();\n this._updateFilesBasePaths();\n this.component.componentMap = this.existingComponentMap || (await this.addComponentToBitMap(this.writeToPath));\n this.deleteBitDirContent = false;\n this._updateComponentRootPathAccordingToBitMap();\n if (!this.skipUpdatingBitMap) {\n this.component.componentMap = await this.addComponentToBitMap(this.component.componentMap.rootDir);\n }\n this.writePackageJson = false;\n await this.populateFilesToWriteToComponentDir();\n return this.component;\n }\n\n private throwForImportingLegacyIntoHarmony() {\n if (this.component.isLegacy && this.consumer) {\n throw new Error(\n `unable to write component \"${this.component.id.toString()}\", it is a legacy component and this workspace is Harmony`\n );\n }\n }\n\n async populateFilesToWriteToComponentDir() {\n if (this.deleteBitDirContent) {\n this.component.dataToPersist.removePath(new RemovePath(this.writeToPath));\n }\n this.component.files.forEach((file) => (file.override = this.override));\n this.component.files.map((file) => this.component.dataToPersist.addFile(file));\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (this.component.license && this.component.license.contents) {\n this.component.license.updatePaths({ newBase: this.writeToPath });\n // $FlowFixMe this.component.license is set\n this.component.license.override = this.override;\n // $FlowFixMe this.component.license is set\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.component.dataToPersist.addFile(this.component.license);\n }\n }\n\n async addComponentToBitMap(rootDir: string): Promise<ComponentMap> {\n if (rootDir === '.') {\n throw new Error('addComponentToBitMap: rootDir cannot be \".\"');\n }\n const filesForBitMap = this.component.files.map((file) => {\n return { name: file.basename, relativePath: pathNormalizeToLinux(file.relative), test: file.test };\n });\n\n const bitId = await this.replaceSnapWithTagIfNeeded();\n const compId = this.workspace.resolveIdWithDefaultScope(bitId);\n const defaultScope = compId.hasScope()\n ? undefined\n : await this.workspace.componentDefaultScopeFromComponentDirAndName(rootDir, bitId.fullName);\n\n return this.bitMap.addComponent({\n componentId: compId,\n files: filesForBitMap,\n defaultScope,\n mainFile: pathNormalizeToLinux(this.component.mainFile),\n rootDir,\n });\n }\n\n private async replaceSnapWithTagIfNeeded(): Promise<ComponentID> {\n const version = this.component.id.version;\n if (!version || !isHash(version)) {\n return this.component.id;\n }\n const compFromModel = await this.scope?.getModelComponentIfExist(this.component.id);\n const tag = compFromModel?.getTagOfRefIfExists(Ref.from(version));\n if (tag) return this.component.id.changeVersion(tag);\n return this.component.id;\n }\n\n _updateComponentRootPathAccordingToBitMap() {\n // @ts-ignore this.component.componentMap is set\n this.writeToPath = this.component.componentMap.getRootDir();\n this.component.writtenPath = this.writeToPath;\n this._updateFilesBasePaths();\n }\n\n _updateFilesBasePaths() {\n const newBase = this.writeToPath || '.';\n this.component.files.forEach((file) => file.updatePaths({ newBase }));\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_path","data","require","_dataToPersist","_interopRequireDefault","_removePath","_componentVersion","_objects","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentWriter","constructor","component","writeToPath","writeConfig","writePackageJson","override","isolated","workspace","scope","consumer","bitMap","ignoreBitDependencies","deleteBitDirContent","existingComponentMap","skipUpdatingBitMap","write","Error","populateComponentsFilesToWrite","dataToPersist","addBasePath","getPath","persistAllToFS","files","length","BitError","id","toString","throwForImportingLegacyIntoHarmony","DataToPersist","_updateFilesBasePaths","componentMap","addComponentToBitMap","_updateComponentRootPathAccordingToBitMap","rootDir","populateFilesToWriteToComponentDir","isLegacy","removePath","RemovePath","forEach","file","map","addFile","license","contents","updatePaths","newBase","filesForBitMap","name","basename","relativePath","pathNormalizeToLinux","relative","test","bitId","replaceSnapWithTagIfNeeded","compId","resolveIdWithDefaultScope","defaultScope","hasScope","undefined","componentDefaultScopeFromComponentDirAndName","fullName","addComponent","componentId","mainFile","version","isHash","compFromModel","getModelComponentIfExist","tag","getTagOfRefIfExists","Ref","from","changeVersion","getRootDir","writtenPath","exports"],"sources":["component-writer.ts"],"sourcesContent":["import { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { PathLinuxRelative, pathNormalizeToLinux } from '@teambit/legacy/dist/utils/path';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { isHash } from '@teambit/component-version';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\n\nexport type ComponentWriterProps = {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override?: boolean;\n isolated?: boolean;\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies?: boolean | ComponentIdList;\n deleteBitDirContent?: boolean;\n existingComponentMap?: ComponentMap;\n skipUpdatingBitMap?: boolean;\n};\n\nexport default class ComponentWriter {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override: boolean; // default to true\n isolated?: boolean;\n consumer: Consumer | undefined; // when using capsule, the consumer is not defined\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies: boolean | ComponentIdList;\n deleteBitDirContent: boolean | undefined;\n existingComponentMap: ComponentMap | undefined;\n skipUpdatingBitMap?: boolean;\n\n constructor({\n component,\n writeToPath,\n writeConfig = false,\n writePackageJson = true,\n override = true,\n isolated = false,\n workspace,\n scope = workspace.consumer?.scope,\n bitMap,\n ignoreBitDependencies = true,\n deleteBitDirContent,\n existingComponentMap,\n skipUpdatingBitMap,\n }: ComponentWriterProps) {\n this.component = component;\n this.writeToPath = writeToPath;\n this.writeConfig = writeConfig;\n this.writePackageJson = writePackageJson;\n this.override = override;\n this.isolated = isolated;\n this.workspace = workspace;\n this.consumer = workspace.consumer;\n this.scope = scope;\n this.bitMap = bitMap;\n this.ignoreBitDependencies = ignoreBitDependencies;\n this.deleteBitDirContent = deleteBitDirContent;\n this.existingComponentMap = existingComponentMap;\n this.skipUpdatingBitMap = skipUpdatingBitMap;\n }\n\n /**\n * write the component to the filesystem and update .bitmap with the details.\n *\n * bitMap gets updated before writing the files to the filesystem, because as part of writing the\n * package-json file, the componentMap is needed to be stored with the updated version.\n *\n * when a component is not new, write the files according to the paths in .bitmap.\n */\n async write(): Promise<Component> {\n if (!this.consumer) throw new Error('ComponentWriter.write expect to have a consumer');\n await this.populateComponentsFilesToWrite();\n this.component.dataToPersist.addBasePath(this.consumer.getPath());\n await this.component.dataToPersist.persistAllToFS();\n return this.component;\n }\n\n async populateComponentsFilesToWrite(): Promise<Component> {\n if (this.isolated) throw new Error('for isolation, please use this.populateComponentsFilesToWriteForCapsule()');\n if (!this.component.files || !this.component.files.length) {\n throw new BitError(`Component ${this.component.id.toString()} is invalid as it has no files`);\n }\n this.throwForImportingLegacyIntoHarmony();\n this.component.dataToPersist = new DataToPersist();\n this._updateFilesBasePaths();\n this.component.componentMap = this.existingComponentMap || (await this.addComponentToBitMap(this.writeToPath));\n this.deleteBitDirContent = false;\n this._updateComponentRootPathAccordingToBitMap();\n if (!this.skipUpdatingBitMap) {\n this.component.componentMap = await this.addComponentToBitMap(this.component.componentMap.rootDir);\n }\n this.writePackageJson = false;\n await this.populateFilesToWriteToComponentDir();\n return this.component;\n }\n\n private throwForImportingLegacyIntoHarmony() {\n if (this.component.isLegacy && this.consumer) {\n throw new Error(\n `unable to write component \"${this.component.id.toString()}\", it is a legacy component and this workspace is Harmony`\n );\n }\n }\n\n async populateFilesToWriteToComponentDir() {\n if (this.deleteBitDirContent) {\n this.component.dataToPersist.removePath(new RemovePath(this.writeToPath));\n }\n this.component.files.forEach((file) => (file.override = this.override));\n this.component.files.map((file) => this.component.dataToPersist.addFile(file));\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (this.component.license && this.component.license.contents) {\n this.component.license.updatePaths({ newBase: this.writeToPath });\n // $FlowFixMe this.component.license is set\n this.component.license.override = this.override;\n // $FlowFixMe this.component.license is set\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.component.dataToPersist.addFile(this.component.license);\n }\n }\n\n async addComponentToBitMap(rootDir: string): Promise<ComponentMap> {\n if (rootDir === '.') {\n throw new Error('addComponentToBitMap: rootDir cannot be \".\"');\n }\n const filesForBitMap = this.component.files.map((file) => {\n return { name: file.basename, relativePath: pathNormalizeToLinux(file.relative), test: file.test };\n });\n\n const bitId = await this.replaceSnapWithTagIfNeeded();\n const compId = this.workspace.resolveIdWithDefaultScope(bitId);\n const defaultScope = compId.hasScope()\n ? undefined\n : await this.workspace.componentDefaultScopeFromComponentDirAndName(rootDir, bitId.fullName);\n\n return this.bitMap.addComponent({\n componentId: compId,\n files: filesForBitMap,\n defaultScope,\n mainFile: pathNormalizeToLinux(this.component.mainFile),\n rootDir,\n });\n }\n\n private async replaceSnapWithTagIfNeeded(): Promise<ComponentID> {\n const version = this.component.id.version;\n if (!version || !isHash(version)) {\n return this.component.id;\n }\n const compFromModel = await this.scope?.getModelComponentIfExist(this.component.id);\n const tag = compFromModel?.getTagOfRefIfExists(Ref.from(version));\n if (tag) return this.component.id.changeVersion(tag);\n return this.component.id;\n }\n\n _updateComponentRootPathAccordingToBitMap() {\n // @ts-ignore this.component.componentMap is set\n this.writeToPath = this.component.componentMap.getRootDir();\n this.component.writtenPath = this.writeToPath;\n this._updateFilesBasePaths();\n }\n\n _updateFilesBasePaths() {\n const newBase = this.writeToPath || '.';\n this.component.files.forEach((file) => file.updatePaths({ newBase }));\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,YAAA;EAAA,MAAAJ,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAG,WAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,kBAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,SAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA8C,SAAAG,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAkB/B,MAAMW,eAAe,CAAC;EAgBnCC,WAAWA,CAAC;IACVC,SAAS;IACTC,WAAW;IACXC,WAAW,GAAG,KAAK;IACnBC,gBAAgB,GAAG,IAAI;IACvBC,QAAQ,GAAG,IAAI;IACfC,QAAQ,GAAG,KAAK;IAChBC,SAAS;IACTC,KAAK,GAAGD,SAAS,CAACE,QAAQ,EAAED,KAAK;IACjCE,MAAM;IACNC,qBAAqB,GAAG,IAAI;IAC5BC,mBAAmB;IACnBC,oBAAoB;IACpBC;EACoB,CAAC,EAAE;IAAAnC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAzBN;IAAAA,eAAA;IAAAA,eAAA;IAEa;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAwB9B,IAAI,CAACsB,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACE,QAAQ,GAAGF,SAAS,CAACE,QAAQ;IAClC,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,qBAAqB,GAAGA,qBAAqB;IAClD,IAAI,CAACC,mBAAmB,GAAGA,mBAAmB;IAC9C,IAAI,CAACC,oBAAoB,GAAGA,oBAAoB;IAChD,IAAI,CAACC,kBAAkB,GAAGA,kBAAkB;EAC9C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,KAAKA,CAAA,EAAuB;IAChC,IAAI,CAAC,IAAI,CAACN,QAAQ,EAAE,MAAM,IAAIO,KAAK,CAAC,iDAAiD,CAAC;IACtF,MAAM,IAAI,CAACC,8BAA8B,CAAC,CAAC;IAC3C,IAAI,CAAChB,SAAS,CAACiB,aAAa,CAACC,WAAW,CAAC,IAAI,CAACV,QAAQ,CAACW,OAAO,CAAC,CAAC,CAAC;IACjE,MAAM,IAAI,CAACnB,SAAS,CAACiB,aAAa,CAACG,cAAc,CAAC,CAAC;IACnD,OAAO,IAAI,CAACpB,SAAS;EACvB;EAEA,MAAMgB,8BAA8BA,CAAA,EAAuB;IACzD,IAAI,IAAI,CAACX,QAAQ,EAAE,MAAM,IAAIU,KAAK,CAAC,2EAA2E,CAAC;IAC/G,IAAI,CAAC,IAAI,CAACf,SAAS,CAACqB,KAAK,IAAI,CAAC,IAAI,CAACrB,SAAS,CAACqB,KAAK,CAACC,MAAM,EAAE;MACzD,MAAM,KAAIC,oBAAQ,EAAE,aAAY,IAAI,CAACvB,SAAS,CAACwB,EAAE,CAACC,QAAQ,CAAC,CAAE,gCAA+B,CAAC;IAC/F;IACA,IAAI,CAACC,kCAAkC,CAAC,CAAC;IACzC,IAAI,CAAC1B,SAAS,CAACiB,aAAa,GAAG,KAAIU,wBAAa,EAAC,CAAC;IAClD,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC5B,IAAI,CAAC5B,SAAS,CAAC6B,YAAY,GAAG,IAAI,CAACjB,oBAAoB,KAAK,MAAM,IAAI,CAACkB,oBAAoB,CAAC,IAAI,CAAC7B,WAAW,CAAC,CAAC;IAC9G,IAAI,CAACU,mBAAmB,GAAG,KAAK;IAChC,IAAI,CAACoB,yCAAyC,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CAAClB,kBAAkB,EAAE;MAC5B,IAAI,CAACb,SAAS,CAAC6B,YAAY,GAAG,MAAM,IAAI,CAACC,oBAAoB,CAAC,IAAI,CAAC9B,SAAS,CAAC6B,YAAY,CAACG,OAAO,CAAC;IACpG;IACA,IAAI,CAAC7B,gBAAgB,GAAG,KAAK;IAC7B,MAAM,IAAI,CAAC8B,kCAAkC,CAAC,CAAC;IAC/C,OAAO,IAAI,CAACjC,SAAS;EACvB;EAEQ0B,kCAAkCA,CAAA,EAAG;IAC3C,IAAI,IAAI,CAAC1B,SAAS,CAACkC,QAAQ,IAAI,IAAI,CAAC1B,QAAQ,EAAE;MAC5C,MAAM,IAAIO,KAAK,CACZ,8BAA6B,IAAI,CAACf,SAAS,CAACwB,EAAE,CAACC,QAAQ,CAAC,CAAE,2DAC7D,CAAC;IACH;EACF;EAEA,MAAMQ,kCAAkCA,CAAA,EAAG;IACzC,IAAI,IAAI,CAACtB,mBAAmB,EAAE;MAC5B,IAAI,CAACX,SAAS,CAACiB,aAAa,CAACkB,UAAU,CAAC,KAAIC,qBAAU,EAAC,IAAI,CAACnC,WAAW,CAAC,CAAC;IAC3E;IACA,IAAI,CAACD,SAAS,CAACqB,KAAK,CAACgB,OAAO,CAAEC,IAAI,IAAMA,IAAI,CAAClC,QAAQ,GAAG,IAAI,CAACA,QAAS,CAAC;IACvE,IAAI,CAACJ,SAAS,CAACqB,KAAK,CAACkB,GAAG,CAAED,IAAI,IAAK,IAAI,CAACtC,SAAS,CAACiB,aAAa,CAACuB,OAAO,CAACF,IAAI,CAAC,CAAC;;IAE9E;IACA,IAAI,IAAI,CAACtC,SAAS,CAACyC,OAAO,IAAI,IAAI,CAACzC,SAAS,CAACyC,OAAO,CAACC,QAAQ,EAAE;MAC7D,IAAI,CAAC1C,SAAS,CAACyC,OAAO,CAACE,WAAW,CAAC;QAAEC,OAAO,EAAE,IAAI,CAAC3C;MAAY,CAAC,CAAC;MACjE;MACA,IAAI,CAACD,SAAS,CAACyC,OAAO,CAACrC,QAAQ,GAAG,IAAI,CAACA,QAAQ;MAC/C;MACA;MACA,IAAI,CAACJ,SAAS,CAACiB,aAAa,CAACuB,OAAO,CAAC,IAAI,CAACxC,SAAS,CAACyC,OAAO,CAAC;IAC9D;EACF;EAEA,MAAMX,oBAAoBA,CAACE,OAAe,EAAyB;IACjE,IAAIA,OAAO,KAAK,GAAG,EAAE;MACnB,MAAM,IAAIjB,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA,MAAM8B,cAAc,GAAG,IAAI,CAAC7C,SAAS,CAACqB,KAAK,CAACkB,GAAG,CAAED,IAAI,IAAK;MACxD,OAAO;QAAEQ,IAAI,EAAER,IAAI,CAACS,QAAQ;QAAEC,YAAY,EAAE,IAAAC,4BAAoB,EAACX,IAAI,CAACY,QAAQ,CAAC;QAAEC,IAAI,EAAEb,IAAI,CAACa;MAAK,CAAC;IACpG,CAAC,CAAC;IAEF,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACC,0BAA0B,CAAC,CAAC;IACrD,MAAMC,MAAM,GAAG,IAAI,CAAChD,SAAS,CAACiD,yBAAyB,CAACH,KAAK,CAAC;IAC9D,MAAMI,YAAY,GAAGF,MAAM,CAACG,QAAQ,CAAC,CAAC,GAClCC,SAAS,GACT,MAAM,IAAI,CAACpD,SAAS,CAACqD,4CAA4C,CAAC3B,OAAO,EAAEoB,KAAK,CAACQ,QAAQ,CAAC;IAE9F,OAAO,IAAI,CAACnD,MAAM,CAACoD,YAAY,CAAC;MAC9BC,WAAW,EAAER,MAAM;MACnBjC,KAAK,EAAEwB,cAAc;MACrBW,YAAY;MACZO,QAAQ,EAAE,IAAAd,4BAAoB,EAAC,IAAI,CAACjD,SAAS,CAAC+D,QAAQ,CAAC;MACvD/B;IACF,CAAC,CAAC;EACJ;EAEA,MAAcqB,0BAA0BA,CAAA,EAAyB;IAC/D,MAAMW,OAAO,GAAG,IAAI,CAAChE,SAAS,CAACwB,EAAE,CAACwC,OAAO;IACzC,IAAI,CAACA,OAAO,IAAI,CAAC,IAAAC,0BAAM,EAACD,OAAO,CAAC,EAAE;MAChC,OAAO,IAAI,CAAChE,SAAS,CAACwB,EAAE;IAC1B;IACA,MAAM0C,aAAa,GAAG,MAAM,IAAI,CAAC3D,KAAK,EAAE4D,wBAAwB,CAAC,IAAI,CAACnE,SAAS,CAACwB,EAAE,CAAC;IACnF,MAAM4C,GAAG,GAAGF,aAAa,EAAEG,mBAAmB,CAACC,cAAG,CAACC,IAAI,CAACP,OAAO,CAAC,CAAC;IACjE,IAAII,GAAG,EAAE,OAAO,IAAI,CAACpE,SAAS,CAACwB,EAAE,CAACgD,aAAa,CAACJ,GAAG,CAAC;IACpD,OAAO,IAAI,CAACpE,SAAS,CAACwB,EAAE;EAC1B;EAEAO,yCAAyCA,CAAA,EAAG;IAC1C;IACA,IAAI,CAAC9B,WAAW,GAAG,IAAI,CAACD,SAAS,CAAC6B,YAAY,CAAC4C,UAAU,CAAC,CAAC;IAC3D,IAAI,CAACzE,SAAS,CAAC0E,WAAW,GAAG,IAAI,CAACzE,WAAW;IAC7C,IAAI,CAAC2B,qBAAqB,CAAC,CAAC;EAC9B;EAEAA,qBAAqBA,CAAA,EAAG;IACtB,MAAMgB,OAAO,GAAG,IAAI,CAAC3C,WAAW,IAAI,GAAG;IACvC,IAAI,CAACD,SAAS,CAACqB,KAAK,CAACgB,OAAO,CAAEC,IAAI,IAAKA,IAAI,CAACK,WAAW,CAAC;MAAEC;IAAQ,CAAC,CAAC,CAAC;EACvE;AACF;AAAC+B,OAAA,CAAAlG,OAAA,GAAAqB,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_compiler","_install","_logger","_workspace","_bitError","_fsExtra","_interopRequireDefault","_lodash","_pMapSeries","path","_interopRequireWildcard","_mover","_utils","_path2","_dataToPersist","_configMerger","_componentWriter","_componentWriter2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ComponentWriterMain","constructor","installer","compiler","workspace","logger","mover","configMerge","consumer","writeMany","opts","components","debug","populateComponentsFilesToWrite","moveComponentsIfNeeded","persistComponentsData","skipUpdatingBitMap","writeBitMap","reasonForBitmapChange","installationError","compilationError","workspaceConfigUpdateResult","shouldUpdateWorkspaceConfig","updateDepsInWorkspaceConfig","skipDependencyInstallation","installPackagesGracefully","skipWriteConfigFiles","compileGracefully","installOpts","dedupe","updateExisting","import","writeConfigFiles","install","undefined","err","consoleFailure","message","error","compileOnWorkspace","skipWritingToFs","dataToPersist","DataToPersist","component","merge","addBasePath","getPath","persistAllToFS","writeComponentsParams","map","getWriteParamsOfOneComponent","componentWriterInstances","writeParams","ComponentWriter","fixDirsIfEqual","fixDirsIfNested","Promise","all","componentWriter","existingComponentMap","addComponentToBitMap","writeToPath","resetConfig","config","mapSeries","allDirs","c","duplicatedDirs","dir","d","uniqDuplicates","uniq","compDir","hasDuplication","compWriter","ownerName","id","scope","includes","split","startsWith","incrementPathRecursively","p","allPaths","incrementPath","str","number","num","newPath","parentsOfOthersComps","find","existingRootDirs","bitMap","getAllTrackDirs","parentsOfOthersCompsDirs","existingParent","existingChildren","replace","componentRootDir","pathNormalizeToLinux","getPathRelativeToConsumer","resolve","composeRelativeComponentPath","getParams","componentMap","getComponentIfExist","ignoreVersion","throwErrorWhenDirectoryNotEmpty","toAbsolutePath","writeConfig","rootDir","BitError","relativeWrittenPath","writtenPath","absoluteWrittenPath","absoluteWriteToPath","moveExistingComponent","componentDir","fs","pathExistsSync","isDir","isDirEmptySync","throwForExistingDir","provider","loggerMain","configMerger","createLogger","ComponentWriterAspect","exports","InstallAspect","CompilerAspect","LoggerAspect","WorkspaceAspect","MoverAspect","ConfigMergerAspect","MainRuntime","addRuntime","_default"],"sources":["component-writer.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport fs from 'fs-extra';\nimport { uniq } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport * as path from 'path';\nimport { MoverAspect, MoverMain } from '@teambit/mover';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { isDir, isDirEmptySync } from '@teambit/legacy/dist/utils';\nimport { PathLinuxRelative, pathNormalizeToLinux, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ConfigMergerAspect, ConfigMergerMain, WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport ComponentWriter, { ComponentWriterProps } from './component-writer';\nimport { ComponentWriterAspect } from './component-writer.aspect';\n\nexport interface ManyComponentsWriterParams {\n components: ConsumerComponent[];\n writeToPath?: string;\n throwForExistingDir?: boolean;\n writeConfig?: boolean;\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n resetConfig?: boolean;\n skipWritingToFs?: boolean;\n skipUpdatingBitMap?: boolean;\n skipWriteConfigFiles?: boolean;\n reasonForBitmapChange?: string; // optional. will be written in the bitmap-history-metadata\n shouldUpdateWorkspaceConfig?: boolean; // whether it should update dependencies policy (or leave conflicts) in workspace.jsonc\n}\n\nexport type ComponentWriterResults = {\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n};\n\nexport class ComponentWriterMain {\n constructor(\n private installer: InstallMain,\n private compiler: CompilerMain,\n private workspace: Workspace,\n private logger: Logger,\n private mover: MoverMain,\n private configMerge: ConfigMergerMain\n ) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async writeMany(opts: ManyComponentsWriterParams): Promise<ComponentWriterResults> {\n if (!opts.components.length) return {};\n this.logger.debug('writeMany, started');\n await this.populateComponentsFilesToWrite(opts);\n this.moveComponentsIfNeeded(opts);\n await this.persistComponentsData(opts);\n if (!opts.skipUpdatingBitMap) await this.consumer.writeBitMap(opts.reasonForBitmapChange);\n let installationError: Error | undefined;\n let compilationError: Error | undefined;\n let workspaceConfigUpdateResult: WorkspaceConfigUpdateResult | undefined;\n if (opts.shouldUpdateWorkspaceConfig) {\n workspaceConfigUpdateResult = await this.configMerge.updateDepsInWorkspaceConfig(opts.components);\n }\n if (!opts.skipDependencyInstallation) {\n installationError = await this.installPackagesGracefully(opts.skipWriteConfigFiles);\n // no point to compile if the installation is not running. the environment is not ready.\n compilationError = await this.compileGracefully();\n }\n this.logger.debug('writeMany, completed!');\n return { installationError, compilationError, workspaceConfigUpdateResult };\n }\n\n private async installPackagesGracefully(skipWriteConfigFiles = false): Promise<Error | undefined> {\n this.logger.debug('installPackagesGracefully, start installing packages');\n try {\n const installOpts = {\n dedupe: true,\n updateExisting: false,\n import: false,\n writeConfigFiles: !skipWriteConfigFiles,\n };\n await this.installer.install(undefined, installOpts);\n this.logger.debug('installPackagesGracefully, completed installing packages successfully');\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`installation failed with the following error: ${err.message}`);\n this.logger.error('installPackagesGracefully, package-installer found an error', err);\n return err;\n }\n }\n private async compileGracefully(): Promise<Error | undefined> {\n try {\n await this.compiler.compileOnWorkspace();\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`compilation failed with the following error: ${err.message}`);\n this.logger.error('compileGracefully, compiler found an error', err);\n return err;\n }\n }\n private async persistComponentsData(opts: ManyComponentsWriterParams) {\n if (opts.skipWritingToFs) return;\n const dataToPersist = new DataToPersist();\n opts.components.forEach((component) => dataToPersist.merge(component.dataToPersist));\n dataToPersist.addBasePath(this.consumer.getPath());\n await dataToPersist.persistAllToFS();\n }\n private async populateComponentsFilesToWrite(opts: ManyComponentsWriterParams) {\n const writeComponentsParams = opts.components.map((component) =>\n this.getWriteParamsOfOneComponent(component, opts)\n );\n const componentWriterInstances = writeComponentsParams.map((writeParams) => new ComponentWriter(writeParams));\n this.fixDirsIfEqual(componentWriterInstances);\n this.fixDirsIfNested(componentWriterInstances);\n // add componentMap entries into .bitmap before starting the process because steps like writing package-json\n // rely on .bitmap to determine whether a dependency exists and what's its origin\n await Promise.all(\n componentWriterInstances.map(async (componentWriter: ComponentWriter) => {\n componentWriter.existingComponentMap =\n componentWriter.existingComponentMap ||\n (await componentWriter.addComponentToBitMap(componentWriter.writeToPath));\n })\n );\n if (opts.resetConfig) {\n componentWriterInstances.forEach((componentWriter: ComponentWriter) => {\n delete componentWriter.existingComponentMap?.config;\n });\n }\n await mapSeries(componentWriterInstances, (componentWriter: ComponentWriter) =>\n componentWriter.populateComponentsFilesToWrite()\n );\n }\n\n /**\n * this started to be an issue once same-name different-scope is supported.\n * by default, the component-dir consist of the scope-name part of the scope-id, without the owner part.\n * as a result, it's possible that multiple components have the same name, same scope-name but different owner.\n * e.g. org1.ui/button and org2.ui/button. the component-dir for both is \"ui/button\".\n * in this case, we try to prefix the component-dir with the owner-name and if not possible, just increment it (ui/button_1)\n */\n private fixDirsIfEqual(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n const duplicatedDirs = allDirs.filter((dir) => allDirs.filter((d) => d === dir).length > 1);\n if (!duplicatedDirs.length) return;\n const uniqDuplicates = uniq(duplicatedDirs);\n uniqDuplicates.forEach((compDir) => {\n const hasDuplication = componentWriterInstances.filter((compWriter) => compWriter.writeToPath === compDir);\n hasDuplication.forEach((compWriter) => {\n const ownerName = compWriter.component.id.scope?.includes('.')\n ? compWriter.component.id.scope.split('.')[0]\n : undefined;\n if (ownerName && !compDir.startsWith(ownerName) && !allDirs.includes(`${ownerName}/${compDir}`)) {\n compWriter.writeToPath = `${ownerName}/${compDir}`;\n } else {\n compWriter.writeToPath = this.incrementPathRecursively(compWriter.writeToPath, allDirs);\n }\n allDirs.push(compWriter.writeToPath);\n });\n });\n }\n\n private incrementPathRecursively(p: string, allPaths: string[]) {\n const incrementPath = (str: string, number: number) => `${str}_${number}`;\n let num = 1;\n let newPath = incrementPath(p, num);\n while (allPaths.includes(newPath)) {\n newPath = incrementPath(p, (num += 1));\n }\n return newPath;\n }\n\n /**\n * e.g. [bar, bar/foo] => [bar_1, bar/foo]\n * otherwise, the bar/foo component will be saved inside \"bar\" component.\n * in case bar_1 is taken, increment to bar_2 until the name is available.\n */\n private fixDirsIfNested(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n\n // get all components that their root-dir is a parent of other components root-dir.\n const parentsOfOthersComps = componentWriterInstances.filter(({ writeToPath }) =>\n allDirs.find((d) => d.startsWith(`${writeToPath}/`))\n );\n const existingRootDirs = Object.keys(this.consumer.bitMap.getAllTrackDirs());\n const parentsOfOthersCompsDirs = parentsOfOthersComps.map((c) => c.writeToPath);\n const allPaths: PathLinuxRelative[] = [...existingRootDirs, ...parentsOfOthersCompsDirs];\n\n // this is when writing multiple components and some of them are parents of the others.\n // change the paths of all these parents root-dir to not collide with the children root-dir\n parentsOfOthersComps.forEach((componentWriter) => {\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = this.incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part is when a component's rootDir we about to write is a children of an existing rootDir.\n // e.g. we're now writing \"foo\", when an existing component has \"foo/bar\" as the rootDir.\n // in this case, we change \"foo\" to be \"foo_1\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingParent = existingRootDirs.find((d) => d.startsWith(`${componentWriter.writeToPath}/`));\n if (!existingParent) return;\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = this.incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part if when for example an existing rootDir is \"comp1\" and currently written component is \"comp1/foo\".\n // obviously we don't want to change existing dirs. we change the \"comp1/foo\" to be \"comp1_1/foo\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingChildren = existingRootDirs.find((d) => componentWriter.writeToPath.startsWith(`${d}/`));\n if (!existingChildren) return;\n // we increment the existing one, because it is used to replace the base-path of the current component\n const newPath = this.incrementPathRecursively(existingChildren, allPaths);\n componentWriter.writeToPath = componentWriter.writeToPath.replace(existingChildren, newPath);\n });\n }\n\n private getWriteParamsOfOneComponent(\n component: ConsumerComponent,\n opts: ManyComponentsWriterParams\n ): ComponentWriterProps {\n const componentRootDir: PathLinuxRelative = opts.writeToPath\n ? pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(path.resolve(opts.writeToPath)))\n : this.consumer.composeRelativeComponentPath(component.id);\n const getParams = () => {\n if (!this.consumer) {\n return {};\n }\n // components can't be saved with multiple versions, so we can ignore the version to find the component in bit.map\n const componentMap = this.consumer.bitMap.getComponentIfExist(component.id, {\n ignoreVersion: true,\n });\n this.throwErrorWhenDirectoryNotEmpty(this.consumer.toAbsolutePath(componentRootDir), componentMap, opts);\n return {\n existingComponentMap: componentMap,\n };\n };\n return {\n workspace: this.workspace,\n bitMap: this.consumer.bitMap,\n component,\n writeToPath: componentRootDir,\n writeConfig: opts.writeConfig,\n skipUpdatingBitMap: opts.skipUpdatingBitMap,\n ...getParams(),\n };\n }\n private moveComponentsIfNeeded(opts: ManyComponentsWriterParams) {\n if (opts.writeToPath && this.consumer) {\n opts.components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new BitError(`unable to use \"--path\" flag.\nto move individual files, use bit move.\nto move all component files to a different directory, run bit remove and then bit import --path`);\n }\n const relativeWrittenPath = component.writtenPath;\n // @ts-ignore relativeWrittenPath is set at this point\n const absoluteWrittenPath = this.consumer.toAbsolutePath(relativeWrittenPath);\n // @ts-ignore this.writeToPath is set at this point\n const absoluteWriteToPath = path.resolve(opts.writeToPath); // don't use consumer.toAbsolutePath, it might be an inner dir\n if (relativeWrittenPath && absoluteWrittenPath !== absoluteWriteToPath) {\n this.mover.moveExistingComponent(component, absoluteWrittenPath, absoluteWriteToPath);\n }\n });\n }\n }\n private throwErrorWhenDirectoryNotEmpty(\n componentDir: PathOsBasedAbsolute,\n componentMap: ComponentMap | null | undefined,\n opts: ManyComponentsWriterParams\n ) {\n if (opts.skipWritingToFs) return;\n // if not writeToPath specified, it goes to the default directory. When componentMap exists, the\n // component is not new, and it's ok to override the existing directory.\n if (!opts.writeToPath && componentMap) return;\n // if writeToPath specified and that directory is already used for that component, it's ok to override\n if (opts.writeToPath && componentMap && componentMap.rootDir && componentMap.rootDir === opts.writeToPath) return;\n\n if (fs.pathExistsSync(componentDir)) {\n if (!isDir(componentDir)) {\n throw new BitError(`unable to import to ${componentDir} because it's a file`);\n }\n if (!isDirEmptySync(componentDir) && opts.throwForExistingDir) {\n throw new BitError(\n `unable to import to ${componentDir}, the directory is not empty. use --override flag to delete the directory and then import`\n );\n }\n }\n }\n\n static slots = [];\n static dependencies = [InstallAspect, CompilerAspect, LoggerAspect, WorkspaceAspect, MoverAspect, ConfigMergerAspect];\n static runtime = MainRuntime;\n static async provider([install, compiler, loggerMain, workspace, mover, configMerger]: [\n InstallMain,\n CompilerMain,\n LoggerMain,\n Workspace,\n MoverMain,\n ConfigMergerMain\n ]) {\n const logger = loggerMain.createLogger(ComponentWriterAspect.id);\n return new ComponentWriterMain(install, compiler, workspace, logger, mover, configMerger);\n }\n}\n\nComponentWriterAspect.addRuntime(ComponentWriterMain);\n\nexport default ComponentWriterMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cli","data","require","_compiler","_install","_logger","_workspace","_bitError","_fsExtra","_interopRequireDefault","_lodash","_pMapSeries","path","_interopRequireWildcard","_mover","_utils","_path2","_dataToPersist","_configMerger","_componentWriter","_componentWriter2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ComponentWriterMain","constructor","installer","compiler","workspace","logger","mover","configMerge","consumer","writeMany","opts","components","debug","populateComponentsFilesToWrite","moveComponentsIfNeeded","persistComponentsData","skipUpdatingBitMap","writeBitMap","reasonForBitmapChange","installationError","compilationError","workspaceConfigUpdateResult","shouldUpdateWorkspaceConfig","updateDepsInWorkspaceConfig","skipDependencyInstallation","installPackagesGracefully","skipWriteConfigFiles","compileGracefully","installOpts","dedupe","updateExisting","import","writeConfigFiles","install","undefined","err","consoleFailure","message","error","compileOnWorkspace","skipWritingToFs","dataToPersist","DataToPersist","component","merge","addBasePath","getPath","persistAllToFS","writeComponentsParams","map","getWriteParamsOfOneComponent","componentWriterInstances","writeParams","ComponentWriter","fixDirsIfEqual","fixDirsIfNested","Promise","all","componentWriter","existingComponentMap","addComponentToBitMap","writeToPath","resetConfig","config","mapSeries","allDirs","c","duplicatedDirs","dir","d","uniqDuplicates","uniq","compDir","hasDuplication","compWriter","ownerName","id","scope","includes","split","startsWith","incrementPathRecursively","p","allPaths","incrementPath","str","number","num","newPath","parentsOfOthersComps","find","existingRootDirs","bitMap","getAllTrackDirs","parentsOfOthersCompsDirs","existingParent","existingChildren","replace","componentRootDir","pathNormalizeToLinux","getPathRelativeToConsumer","resolve","composeRelativeComponentPath","getParams","componentMap","getComponentIfExist","ignoreVersion","throwErrorWhenDirectoryNotEmpty","toAbsolutePath","writeConfig","rootDir","BitError","relativeWrittenPath","writtenPath","absoluteWrittenPath","absoluteWriteToPath","moveExistingComponent","componentDir","fs","pathExistsSync","isDir","isDirEmptySync","throwForExistingDir","provider","loggerMain","configMerger","createLogger","ComponentWriterAspect","exports","InstallAspect","CompilerAspect","LoggerAspect","WorkspaceAspect","MoverAspect","ConfigMergerAspect","MainRuntime","addRuntime","_default"],"sources":["component-writer.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport fs from 'fs-extra';\nimport { uniq } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport * as path from 'path';\nimport { MoverAspect, MoverMain } from '@teambit/mover';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { isDir, isDirEmptySync } from '@teambit/legacy/dist/utils';\nimport { PathLinuxRelative, pathNormalizeToLinux, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ConfigMergerAspect, ConfigMergerMain, WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport ComponentWriter, { ComponentWriterProps } from './component-writer';\nimport { ComponentWriterAspect } from './component-writer.aspect';\n\nexport interface ManyComponentsWriterParams {\n components: ConsumerComponent[];\n writeToPath?: string;\n throwForExistingDir?: boolean;\n writeConfig?: boolean;\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n resetConfig?: boolean;\n skipWritingToFs?: boolean;\n skipUpdatingBitMap?: boolean;\n skipWriteConfigFiles?: boolean;\n reasonForBitmapChange?: string; // optional. will be written in the bitmap-history-metadata\n shouldUpdateWorkspaceConfig?: boolean; // whether it should update dependencies policy (or leave conflicts) in workspace.jsonc\n}\n\nexport type ComponentWriterResults = {\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n};\n\nexport class ComponentWriterMain {\n constructor(\n private installer: InstallMain,\n private compiler: CompilerMain,\n private workspace: Workspace,\n private logger: Logger,\n private mover: MoverMain,\n private configMerge: ConfigMergerMain\n ) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async writeMany(opts: ManyComponentsWriterParams): Promise<ComponentWriterResults> {\n if (!opts.components.length) return {};\n this.logger.debug('writeMany, started');\n await this.populateComponentsFilesToWrite(opts);\n this.moveComponentsIfNeeded(opts);\n await this.persistComponentsData(opts);\n if (!opts.skipUpdatingBitMap) await this.consumer.writeBitMap(opts.reasonForBitmapChange);\n let installationError: Error | undefined;\n let compilationError: Error | undefined;\n let workspaceConfigUpdateResult: WorkspaceConfigUpdateResult | undefined;\n if (opts.shouldUpdateWorkspaceConfig) {\n workspaceConfigUpdateResult = await this.configMerge.updateDepsInWorkspaceConfig(opts.components);\n }\n if (!opts.skipDependencyInstallation) {\n installationError = await this.installPackagesGracefully(opts.skipWriteConfigFiles);\n // no point to compile if the installation is not running. the environment is not ready.\n compilationError = await this.compileGracefully();\n }\n this.logger.debug('writeMany, completed!');\n return { installationError, compilationError, workspaceConfigUpdateResult };\n }\n\n private async installPackagesGracefully(skipWriteConfigFiles = false): Promise<Error | undefined> {\n this.logger.debug('installPackagesGracefully, start installing packages');\n try {\n const installOpts = {\n dedupe: true,\n updateExisting: false,\n import: false,\n writeConfigFiles: !skipWriteConfigFiles,\n };\n await this.installer.install(undefined, installOpts);\n this.logger.debug('installPackagesGracefully, completed installing packages successfully');\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`installation failed with the following error: ${err.message}`);\n this.logger.error('installPackagesGracefully, package-installer found an error', err);\n return err;\n }\n }\n private async compileGracefully(): Promise<Error | undefined> {\n try {\n await this.compiler.compileOnWorkspace();\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`compilation failed with the following error: ${err.message}`);\n this.logger.error('compileGracefully, compiler found an error', err);\n return err;\n }\n }\n private async persistComponentsData(opts: ManyComponentsWriterParams) {\n if (opts.skipWritingToFs) return;\n const dataToPersist = new DataToPersist();\n opts.components.forEach((component) => dataToPersist.merge(component.dataToPersist));\n dataToPersist.addBasePath(this.consumer.getPath());\n await dataToPersist.persistAllToFS();\n }\n private async populateComponentsFilesToWrite(opts: ManyComponentsWriterParams) {\n const writeComponentsParams = opts.components.map((component) =>\n this.getWriteParamsOfOneComponent(component, opts)\n );\n const componentWriterInstances = writeComponentsParams.map((writeParams) => new ComponentWriter(writeParams));\n this.fixDirsIfEqual(componentWriterInstances);\n this.fixDirsIfNested(componentWriterInstances);\n // add componentMap entries into .bitmap before starting the process because steps like writing package-json\n // rely on .bitmap to determine whether a dependency exists and what's its origin\n await Promise.all(\n componentWriterInstances.map(async (componentWriter: ComponentWriter) => {\n componentWriter.existingComponentMap =\n componentWriter.existingComponentMap ||\n (await componentWriter.addComponentToBitMap(componentWriter.writeToPath));\n })\n );\n if (opts.resetConfig) {\n componentWriterInstances.forEach((componentWriter: ComponentWriter) => {\n delete componentWriter.existingComponentMap?.config;\n });\n }\n await mapSeries(componentWriterInstances, (componentWriter: ComponentWriter) =>\n componentWriter.populateComponentsFilesToWrite()\n );\n }\n\n /**\n * this started to be an issue once same-name different-scope is supported.\n * by default, the component-dir consist of the scope-name part of the scope-id, without the owner part.\n * as a result, it's possible that multiple components have the same name, same scope-name but different owner.\n * e.g. org1.ui/button and org2.ui/button. the component-dir for both is \"ui/button\".\n * in this case, we try to prefix the component-dir with the owner-name and if not possible, just increment it (ui/button_1)\n */\n private fixDirsIfEqual(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n const duplicatedDirs = allDirs.filter((dir) => allDirs.filter((d) => d === dir).length > 1);\n if (!duplicatedDirs.length) return;\n const uniqDuplicates = uniq(duplicatedDirs);\n uniqDuplicates.forEach((compDir) => {\n const hasDuplication = componentWriterInstances.filter((compWriter) => compWriter.writeToPath === compDir);\n hasDuplication.forEach((compWriter) => {\n const ownerName = compWriter.component.id.scope?.includes('.')\n ? compWriter.component.id.scope.split('.')[0]\n : undefined;\n if (ownerName && !compDir.startsWith(ownerName) && !allDirs.includes(`${ownerName}/${compDir}`)) {\n compWriter.writeToPath = `${ownerName}/${compDir}`;\n } else {\n compWriter.writeToPath = this.incrementPathRecursively(compWriter.writeToPath, allDirs);\n }\n allDirs.push(compWriter.writeToPath);\n });\n });\n }\n\n private incrementPathRecursively(p: string, allPaths: string[]) {\n const incrementPath = (str: string, number: number) => `${str}_${number}`;\n let num = 1;\n let newPath = incrementPath(p, num);\n while (allPaths.includes(newPath)) {\n newPath = incrementPath(p, (num += 1));\n }\n return newPath;\n }\n\n /**\n * e.g. [bar, bar/foo] => [bar_1, bar/foo]\n * otherwise, the bar/foo component will be saved inside \"bar\" component.\n * in case bar_1 is taken, increment to bar_2 until the name is available.\n */\n private fixDirsIfNested(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n\n // get all components that their root-dir is a parent of other components root-dir.\n const parentsOfOthersComps = componentWriterInstances.filter(({ writeToPath }) =>\n allDirs.find((d) => d.startsWith(`${writeToPath}/`))\n );\n const existingRootDirs = Object.keys(this.consumer.bitMap.getAllTrackDirs());\n const parentsOfOthersCompsDirs = parentsOfOthersComps.map((c) => c.writeToPath);\n const allPaths: PathLinuxRelative[] = [...existingRootDirs, ...parentsOfOthersCompsDirs];\n\n // this is when writing multiple components and some of them are parents of the others.\n // change the paths of all these parents root-dir to not collide with the children root-dir\n parentsOfOthersComps.forEach((componentWriter) => {\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = this.incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part is when a component's rootDir we about to write is a children of an existing rootDir.\n // e.g. we're now writing \"foo\", when an existing component has \"foo/bar\" as the rootDir.\n // in this case, we change \"foo\" to be \"foo_1\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingParent = existingRootDirs.find((d) => d.startsWith(`${componentWriter.writeToPath}/`));\n if (!existingParent) return;\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = this.incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part if when for example an existing rootDir is \"comp1\" and currently written component is \"comp1/foo\".\n // obviously we don't want to change existing dirs. we change the \"comp1/foo\" to be \"comp1_1/foo\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingChildren = existingRootDirs.find((d) => componentWriter.writeToPath.startsWith(`${d}/`));\n if (!existingChildren) return;\n // we increment the existing one, because it is used to replace the base-path of the current component\n const newPath = this.incrementPathRecursively(existingChildren, allPaths);\n componentWriter.writeToPath = componentWriter.writeToPath.replace(existingChildren, newPath);\n });\n }\n\n private getWriteParamsOfOneComponent(\n component: ConsumerComponent,\n opts: ManyComponentsWriterParams\n ): ComponentWriterProps {\n const componentRootDir: PathLinuxRelative = opts.writeToPath\n ? pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(path.resolve(opts.writeToPath)))\n : this.consumer.composeRelativeComponentPath(component.id);\n const getParams = () => {\n if (!this.consumer) {\n return {};\n }\n // components can't be saved with multiple versions, so we can ignore the version to find the component in bit.map\n const componentMap = this.consumer.bitMap.getComponentIfExist(component.id, {\n ignoreVersion: true,\n });\n this.throwErrorWhenDirectoryNotEmpty(this.consumer.toAbsolutePath(componentRootDir), componentMap, opts);\n return {\n existingComponentMap: componentMap,\n };\n };\n return {\n workspace: this.workspace,\n bitMap: this.consumer.bitMap,\n component,\n writeToPath: componentRootDir,\n writeConfig: opts.writeConfig,\n skipUpdatingBitMap: opts.skipUpdatingBitMap,\n ...getParams(),\n };\n }\n private moveComponentsIfNeeded(opts: ManyComponentsWriterParams) {\n if (opts.writeToPath && this.consumer) {\n opts.components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new BitError(`unable to use \"--path\" flag.\nto move individual files, use bit move.\nto move all component files to a different directory, run bit remove and then bit import --path`);\n }\n const relativeWrittenPath = component.writtenPath;\n // @ts-ignore relativeWrittenPath is set at this point\n const absoluteWrittenPath = this.consumer.toAbsolutePath(relativeWrittenPath);\n // @ts-ignore this.writeToPath is set at this point\n const absoluteWriteToPath = path.resolve(opts.writeToPath); // don't use consumer.toAbsolutePath, it might be an inner dir\n if (relativeWrittenPath && absoluteWrittenPath !== absoluteWriteToPath) {\n this.mover.moveExistingComponent(component, absoluteWrittenPath, absoluteWriteToPath);\n }\n });\n }\n }\n private throwErrorWhenDirectoryNotEmpty(\n componentDir: PathOsBasedAbsolute,\n componentMap: ComponentMap | null | undefined,\n opts: ManyComponentsWriterParams\n ) {\n if (opts.skipWritingToFs) return;\n // if not writeToPath specified, it goes to the default directory. When componentMap exists, the\n // component is not new, and it's ok to override the existing directory.\n if (!opts.writeToPath && componentMap) return;\n // if writeToPath specified and that directory is already used for that component, it's ok to override\n if (opts.writeToPath && componentMap && componentMap.rootDir && componentMap.rootDir === opts.writeToPath) return;\n\n if (fs.pathExistsSync(componentDir)) {\n if (!isDir(componentDir)) {\n throw new BitError(`unable to import to ${componentDir} because it's a file`);\n }\n if (!isDirEmptySync(componentDir) && opts.throwForExistingDir) {\n throw new BitError(\n `unable to import to ${componentDir}, the directory is not empty. use --override flag to delete the directory and then import`\n );\n }\n }\n }\n\n static slots = [];\n static dependencies = [InstallAspect, CompilerAspect, LoggerAspect, WorkspaceAspect, MoverAspect, ConfigMergerAspect];\n static runtime = MainRuntime;\n static async provider([install, compiler, loggerMain, workspace, mover, configMerger]: [\n InstallMain,\n CompilerMain,\n LoggerMain,\n Workspace,\n MoverMain,\n ConfigMergerMain\n ]) {\n const logger = loggerMain.createLogger(ComponentWriterAspect.id);\n return new ComponentWriterMain(install, compiler, workspace, logger, mover, configMerger);\n }\n}\n\nComponentWriterAspect.addRuntime(ComponentWriterMain);\n\nexport default ComponentWriterMain;\n"],"mappings":";;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,YAAA;EAAA,MAAAV,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAS,WAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,KAAA;EAAA,MAAAX,IAAA,GAAAY,uBAAA,CAAAX,OAAA;EAAAU,IAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,OAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,OAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,MAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAgB,eAAA;EAAA,MAAAhB,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAe,cAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,cAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,aAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAkB,iBAAA;EAAA,MAAAlB,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAiB,gBAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,kBAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,iBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkE,SAAAoB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAArB,uBAAAiC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,QAAArB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAW,IAAA,CAAAtB,CAAA,OAAAW,MAAA,CAAAY,qBAAA,QAAAC,CAAA,GAAAb,MAAA,CAAAY,qBAAA,CAAAvB,CAAA,GAAAE,CAAA,KAAAsB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAvB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAwB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAqB,CAAA,YAAArB,CAAA;AAAA,SAAA0B,cAAA7B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4B,SAAA,CAAAC,MAAA,EAAA7B,CAAA,UAAAC,CAAA,WAAA2B,SAAA,CAAA5B,CAAA,IAAA4B,SAAA,CAAA5B,CAAA,QAAAA,CAAA,OAAAmB,OAAA,CAAAV,MAAA,CAAAR,CAAA,OAAA6B,OAAA,WAAA9B,CAAA,IAAA+B,eAAA,CAAAjC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAuB,yBAAA,GAAAvB,MAAA,CAAAwB,gBAAA,CAAAnC,CAAA,EAAAW,MAAA,CAAAuB,yBAAA,CAAA/B,CAAA,KAAAkB,OAAA,CAAAV,MAAA,CAAAR,CAAA,GAAA6B,OAAA,WAAA9B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAiC,gBAAAb,GAAA,EAAAgB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAT,MAAA,CAAAC,cAAA,CAAAQ,GAAA,EAAAgB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAX,UAAA,QAAAa,YAAA,QAAAC,QAAA,oBAAApB,GAAA,CAAAgB,GAAA,IAAAC,KAAA,WAAAjB,GAAA;AAAA,SAAAkB,eAAAnC,CAAA,QAAAe,CAAA,GAAAuB,YAAA,CAAAtC,CAAA,uCAAAe,CAAA,GAAAA,CAAA,GAAAwB,MAAA,CAAAxB,CAAA;AAAA,SAAAuB,aAAAtC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAwC,MAAA,CAAAC,WAAA,kBAAA5C,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAd,CAAA,EAAAD,CAAA,uCAAAgB,CAAA,SAAAA,CAAA,YAAA2B,SAAA,yEAAA3C,CAAA,GAAAwC,MAAA,GAAAI,MAAA,EAAA3C,CAAA;AAuB3D,MAAM4C,mBAAmB,CAAC;EAC/BC,WAAWA,CACDC,SAAsB,EACtBC,QAAsB,EACtBC,SAAoB,EACpBC,MAAc,EACdC,KAAgB,EAChBC,WAA6B,EACrC;IAAA,KANQL,SAAsB,GAAtBA,SAAsB;IAAA,KACtBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,WAA6B,GAA7BA,WAA6B;EACpC;EAEH,IAAIC,QAAQA,CAAA,EAAa;IACvB,OAAO,IAAI,CAACJ,SAAS,CAACI,QAAQ;EAChC;EAEA,MAAMC,SAASA,CAACC,IAAgC,EAAmC;IACjF,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC3B,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAACqB,MAAM,CAACO,KAAK,CAAC,oBAAoB,CAAC;IACvC,MAAM,IAAI,CAACC,8BAA8B,CAACH,IAAI,CAAC;IAC/C,IAAI,CAACI,sBAAsB,CAACJ,IAAI,CAAC;IACjC,MAAM,IAAI,CAACK,qBAAqB,CAACL,IAAI,CAAC;IACtC,IAAI,CAACA,IAAI,CAACM,kBAAkB,EAAE,MAAM,IAAI,CAACR,QAAQ,CAACS,WAAW,CAACP,IAAI,CAACQ,qBAAqB,CAAC;IACzF,IAAIC,iBAAoC;IACxC,IAAIC,gBAAmC;IACvC,IAAIC,2BAAoE;IACxE,IAAIX,IAAI,CAACY,2BAA2B,EAAE;MACpCD,2BAA2B,GAAG,MAAM,IAAI,CAACd,WAAW,CAACgB,2BAA2B,CAACb,IAAI,CAACC,UAAU,CAAC;IACnG;IACA,IAAI,CAACD,IAAI,CAACc,0BAA0B,EAAE;MACpCL,iBAAiB,GAAG,MAAM,IAAI,CAACM,yBAAyB,CAACf,IAAI,CAACgB,oBAAoB,CAAC;MACnF;MACAN,gBAAgB,GAAG,MAAM,IAAI,CAACO,iBAAiB,CAAC,CAAC;IACnD;IACA,IAAI,CAACtB,MAAM,CAACO,KAAK,CAAC,uBAAuB,CAAC;IAC1C,OAAO;MAAEO,iBAAiB;MAAEC,gBAAgB;MAAEC;IAA4B,CAAC;EAC7E;EAEA,MAAcI,yBAAyBA,CAACC,oBAAoB,GAAG,KAAK,EAA8B;IAChG,IAAI,CAACrB,MAAM,CAACO,KAAK,CAAC,sDAAsD,CAAC;IACzE,IAAI;MACF,MAAMgB,WAAW,GAAG;QAClBC,MAAM,EAAE,IAAI;QACZC,cAAc,EAAE,KAAK;QACrBC,MAAM,EAAE,KAAK;QACbC,gBAAgB,EAAE,CAACN;MACrB,CAAC;MACD,MAAM,IAAI,CAACxB,SAAS,CAAC+B,OAAO,CAACC,SAAS,EAAEN,WAAW,CAAC;MACpD,IAAI,CAACvB,MAAM,CAACO,KAAK,CAAC,uEAAuE,CAAC;MAC1F,OAAOsB,SAAS;IAClB,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjB,IAAI,CAAC9B,MAAM,CAAC+B,cAAc,CAAE,iDAAgDD,GAAG,CAACE,OAAQ,EAAC,CAAC;MAC1F,IAAI,CAAChC,MAAM,CAACiC,KAAK,CAAC,6DAA6D,EAAEH,GAAG,CAAC;MACrF,OAAOA,GAAG;IACZ;EACF;EACA,MAAcR,iBAAiBA,CAAA,EAA+B;IAC5D,IAAI;MACF,MAAM,IAAI,CAACxB,QAAQ,CAACoC,kBAAkB,CAAC,CAAC;MACxC,OAAOL,SAAS;IAClB,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjB,IAAI,CAAC9B,MAAM,CAAC+B,cAAc,CAAE,gDAA+CD,GAAG,CAACE,OAAQ,EAAC,CAAC;MACzF,IAAI,CAAChC,MAAM,CAACiC,KAAK,CAAC,4CAA4C,EAAEH,GAAG,CAAC;MACpE,OAAOA,GAAG;IACZ;EACF;EACA,MAAcpB,qBAAqBA,CAACL,IAAgC,EAAE;IACpE,IAAIA,IAAI,CAAC8B,eAAe,EAAE;IAC1B,MAAMC,aAAa,GAAG,KAAIC,wBAAa,EAAC,CAAC;IACzChC,IAAI,CAACC,UAAU,CAAC1B,OAAO,CAAE0D,SAAS,IAAKF,aAAa,CAACG,KAAK,CAACD,SAAS,CAACF,aAAa,CAAC,CAAC;IACpFA,aAAa,CAACI,WAAW,CAAC,IAAI,CAACrC,QAAQ,CAACsC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAML,aAAa,CAACM,cAAc,CAAC,CAAC;EACtC;EACA,MAAclC,8BAA8BA,CAACH,IAAgC,EAAE;IAC7E,MAAMsC,qBAAqB,GAAGtC,IAAI,CAACC,UAAU,CAACsC,GAAG,CAAEN,SAAS,IAC1D,IAAI,CAACO,4BAA4B,CAACP,SAAS,EAAEjC,IAAI,CACnD,CAAC;IACD,MAAMyC,wBAAwB,GAAGH,qBAAqB,CAACC,GAAG,CAAEG,WAAW,IAAK,KAAIC,0BAAe,EAACD,WAAW,CAAC,CAAC;IAC7G,IAAI,CAACE,cAAc,CAACH,wBAAwB,CAAC;IAC7C,IAAI,CAACI,eAAe,CAACJ,wBAAwB,CAAC;IAC9C;IACA;IACA,MAAMK,OAAO,CAACC,GAAG,CACfN,wBAAwB,CAACF,GAAG,CAAC,MAAOS,eAAgC,IAAK;MACvEA,eAAe,CAACC,oBAAoB,GAClCD,eAAe,CAACC,oBAAoB,KACnC,MAAMD,eAAe,CAACE,oBAAoB,CAACF,eAAe,CAACG,WAAW,CAAC,CAAC;IAC7E,CAAC,CACH,CAAC;IACD,IAAInD,IAAI,CAACoD,WAAW,EAAE;MACpBX,wBAAwB,CAAClE,OAAO,CAAEyE,eAAgC,IAAK;QACrE,OAAOA,eAAe,CAACC,oBAAoB,EAAEI,MAAM;MACrD,CAAC,CAAC;IACJ;IACA,MAAM,IAAAC,qBAAS,EAACb,wBAAwB,EAAGO,eAAgC,IACzEA,eAAe,CAAC7C,8BAA8B,CAAC,CACjD,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACUyC,cAAcA,CAACH,wBAA2C,EAAE;IAClE,MAAMc,OAAO,GAAGd,wBAAwB,CAACF,GAAG,CAAEiB,CAAC,IAAKA,CAAC,CAACL,WAAW,CAAC;IAClE,MAAMM,cAAc,GAAGF,OAAO,CAACvF,MAAM,CAAE0F,GAAG,IAAKH,OAAO,CAACvF,MAAM,CAAE2F,CAAC,IAAKA,CAAC,KAAKD,GAAG,CAAC,CAACpF,MAAM,GAAG,CAAC,CAAC;IAC3F,IAAI,CAACmF,cAAc,CAACnF,MAAM,EAAE;IAC5B,MAAMsF,cAAc,GAAG,IAAAC,cAAI,EAACJ,cAAc,CAAC;IAC3CG,cAAc,CAACrF,OAAO,CAAEuF,OAAO,IAAK;MAClC,MAAMC,cAAc,GAAGtB,wBAAwB,CAACzE,MAAM,CAAEgG,UAAU,IAAKA,UAAU,CAACb,WAAW,KAAKW,OAAO,CAAC;MAC1GC,cAAc,CAACxF,OAAO,CAAEyF,UAAU,IAAK;QACrC,MAAMC,SAAS,GAAGD,UAAU,CAAC/B,SAAS,CAACiC,EAAE,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,CAAC,GAC1DJ,UAAU,CAAC/B,SAAS,CAACiC,EAAE,CAACC,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC3C7C,SAAS;QACb,IAAIyC,SAAS,IAAI,CAACH,OAAO,CAACQ,UAAU,CAACL,SAAS,CAAC,IAAI,CAACV,OAAO,CAACa,QAAQ,CAAE,GAAEH,SAAU,IAAGH,OAAQ,EAAC,CAAC,EAAE;UAC/FE,UAAU,CAACb,WAAW,GAAI,GAAEc,SAAU,IAAGH,OAAQ,EAAC;QACpD,CAAC,MAAM;UACLE,UAAU,CAACb,WAAW,GAAG,IAAI,CAACoB,wBAAwB,CAACP,UAAU,CAACb,WAAW,EAAEI,OAAO,CAAC;QACzF;QACAA,OAAO,CAACrF,IAAI,CAAC8F,UAAU,CAACb,WAAW,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEQoB,wBAAwBA,CAACC,CAAS,EAAEC,QAAkB,EAAE;IAC9D,MAAMC,aAAa,GAAGA,CAACC,GAAW,EAAEC,MAAc,KAAM,GAAED,GAAI,IAAGC,MAAO,EAAC;IACzE,IAAIC,GAAG,GAAG,CAAC;IACX,IAAIC,OAAO,GAAGJ,aAAa,CAACF,CAAC,EAAEK,GAAG,CAAC;IACnC,OAAOJ,QAAQ,CAACL,QAAQ,CAACU,OAAO,CAAC,EAAE;MACjCA,OAAO,GAAGJ,aAAa,CAACF,CAAC,EAAGK,GAAG,IAAI,CAAE,CAAC;IACxC;IACA,OAAOC,OAAO;EAChB;;EAEA;AACF;AACA;AACA;AACA;EACUjC,eAAeA,CAACJ,wBAA2C,EAAE;IACnE,MAAMc,OAAO,GAAGd,wBAAwB,CAACF,GAAG,CAAEiB,CAAC,IAAKA,CAAC,CAACL,WAAW,CAAC;;IAElE;IACA,MAAM4B,oBAAoB,GAAGtC,wBAAwB,CAACzE,MAAM,CAAC,CAAC;MAAEmF;IAAY,CAAC,KAC3EI,OAAO,CAACyB,IAAI,CAAErB,CAAC,IAAKA,CAAC,CAACW,UAAU,CAAE,GAAEnB,WAAY,GAAE,CAAC,CACrD,CAAC;IACD,MAAM8B,gBAAgB,GAAG/H,MAAM,CAACW,IAAI,CAAC,IAAI,CAACiC,QAAQ,CAACoF,MAAM,CAACC,eAAe,CAAC,CAAC,CAAC;IAC5E,MAAMC,wBAAwB,GAAGL,oBAAoB,CAACxC,GAAG,CAAEiB,CAAC,IAAKA,CAAC,CAACL,WAAW,CAAC;IAC/E,MAAMsB,QAA6B,GAAG,CAAC,GAAGQ,gBAAgB,EAAE,GAAGG,wBAAwB,CAAC;;IAExF;IACA;IACAL,oBAAoB,CAACxG,OAAO,CAAEyE,eAAe,IAAK;MAChD,IAAIiC,gBAAgB,CAACb,QAAQ,CAACpB,eAAe,CAACG,WAAW,CAAC,EAAE,OAAO,CAAC;MACpE,MAAM2B,OAAO,GAAG,IAAI,CAACP,wBAAwB,CAACvB,eAAe,CAACG,WAAW,EAAEsB,QAAQ,CAAC;MACpFzB,eAAe,CAACG,WAAW,GAAG2B,OAAO;IACvC,CAAC,CAAC;;IAEF;IACA;IACA;IACArC,wBAAwB,CAAClE,OAAO,CAAEyE,eAAe,IAAK;MACpD,MAAMqC,cAAc,GAAGJ,gBAAgB,CAACD,IAAI,CAAErB,CAAC,IAAKA,CAAC,CAACW,UAAU,CAAE,GAAEtB,eAAe,CAACG,WAAY,GAAE,CAAC,CAAC;MACpG,IAAI,CAACkC,cAAc,EAAE;MACrB,IAAIJ,gBAAgB,CAACb,QAAQ,CAACpB,eAAe,CAACG,WAAW,CAAC,EAAE,OAAO,CAAC;MACpE,MAAM2B,OAAO,GAAG,IAAI,CAACP,wBAAwB,CAACvB,eAAe,CAACG,WAAW,EAAEsB,QAAQ,CAAC;MACpFzB,eAAe,CAACG,WAAW,GAAG2B,OAAO;IACvC,CAAC,CAAC;;IAEF;IACA;IACArC,wBAAwB,CAAClE,OAAO,CAAEyE,eAAe,IAAK;MACpD,MAAMsC,gBAAgB,GAAGL,gBAAgB,CAACD,IAAI,CAAErB,CAAC,IAAKX,eAAe,CAACG,WAAW,CAACmB,UAAU,CAAE,GAAEX,CAAE,GAAE,CAAC,CAAC;MACtG,IAAI,CAAC2B,gBAAgB,EAAE;MACvB;MACA,MAAMR,OAAO,GAAG,IAAI,CAACP,wBAAwB,CAACe,gBAAgB,EAAEb,QAAQ,CAAC;MACzEzB,eAAe,CAACG,WAAW,GAAGH,eAAe,CAACG,WAAW,CAACoC,OAAO,CAACD,gBAAgB,EAAER,OAAO,CAAC;IAC9F,CAAC,CAAC;EACJ;EAEQtC,4BAA4BA,CAClCP,SAA4B,EAC5BjC,IAAgC,EACV;IACtB,MAAMwF,gBAAmC,GAAGxF,IAAI,CAACmD,WAAW,GACxD,IAAAsC,6BAAoB,EAAC,IAAI,CAAC3F,QAAQ,CAAC4F,yBAAyB,CAAC7J,IAAI,CAAD,CAAC,CAAC8J,OAAO,CAAC3F,IAAI,CAACmD,WAAW,CAAC,CAAC,CAAC,GAC7F,IAAI,CAACrD,QAAQ,CAAC8F,4BAA4B,CAAC3D,SAAS,CAACiC,EAAE,CAAC;IAC5D,MAAM2B,SAAS,GAAGA,CAAA,KAAM;MACtB,IAAI,CAAC,IAAI,CAAC/F,QAAQ,EAAE;QAClB,OAAO,CAAC,CAAC;MACX;MACA;MACA,MAAMgG,YAAY,GAAG,IAAI,CAAChG,QAAQ,CAACoF,MAAM,CAACa,mBAAmB,CAAC9D,SAAS,CAACiC,EAAE,EAAE;QAC1E8B,aAAa,EAAE;MACjB,CAAC,CAAC;MACF,IAAI,CAACC,+BAA+B,CAAC,IAAI,CAACnG,QAAQ,CAACoG,cAAc,CAACV,gBAAgB,CAAC,EAAEM,YAAY,EAAE9F,IAAI,CAAC;MACxG,OAAO;QACLiD,oBAAoB,EAAE6C;MACxB,CAAC;IACH,CAAC;IACD,OAAA1H,aAAA;MACEsB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBwF,MAAM,EAAE,IAAI,CAACpF,QAAQ,CAACoF,MAAM;MAC5BjD,SAAS;MACTkB,WAAW,EAAEqC,gBAAgB;MAC7BW,WAAW,EAAEnG,IAAI,CAACmG,WAAW;MAC7B7F,kBAAkB,EAAEN,IAAI,CAACM;IAAkB,GACxCuF,SAAS,CAAC,CAAC;EAElB;EACQzF,sBAAsBA,CAACJ,IAAgC,EAAE;IAC/D,IAAIA,IAAI,CAACmD,WAAW,IAAI,IAAI,CAACrD,QAAQ,EAAE;MACrCE,IAAI,CAACC,UAAU,CAAC1B,OAAO,CAAE0D,SAAS,IAAK;QACrC,MAAM6D,YAAY,GAAG7D,SAAS,CAAC6D,YAA4B;QAC3D,IAAI,CAACA,YAAY,CAACM,OAAO,EAAE;UACzB,MAAM,KAAIC,oBAAQ,EAAE;AAC9B;AACA,gGAAgG,CAAC;QACzF;QACA,MAAMC,mBAAmB,GAAGrE,SAAS,CAACsE,WAAW;QACjD;QACA,MAAMC,mBAAmB,GAAG,IAAI,CAAC1G,QAAQ,CAACoG,cAAc,CAACI,mBAAmB,CAAC;QAC7E;QACA,MAAMG,mBAAmB,GAAG5K,IAAI,CAAD,CAAC,CAAC8J,OAAO,CAAC3F,IAAI,CAACmD,WAAW,CAAC,CAAC,CAAC;QAC5D,IAAImD,mBAAmB,IAAIE,mBAAmB,KAAKC,mBAAmB,EAAE;UACtE,IAAI,CAAC7G,KAAK,CAAC8G,qBAAqB,CAACzE,SAAS,EAAEuE,mBAAmB,EAAEC,mBAAmB,CAAC;QACvF;MACF,CAAC,CAAC;IACJ;EACF;EACQR,+BAA+BA,CACrCU,YAAiC,EACjCb,YAA6C,EAC7C9F,IAAgC,EAChC;IACA,IAAIA,IAAI,CAAC8B,eAAe,EAAE;IAC1B;IACA;IACA,IAAI,CAAC9B,IAAI,CAACmD,WAAW,IAAI2C,YAAY,EAAE;IACvC;IACA,IAAI9F,IAAI,CAACmD,WAAW,IAAI2C,YAAY,IAAIA,YAAY,CAACM,OAAO,IAAIN,YAAY,CAACM,OAAO,KAAKpG,IAAI,CAACmD,WAAW,EAAE;IAE3G,IAAIyD,kBAAE,CAACC,cAAc,CAACF,YAAY,CAAC,EAAE;MACnC,IAAI,CAAC,IAAAG,cAAK,EAACH,YAAY,CAAC,EAAE;QACxB,MAAM,KAAIN,oBAAQ,EAAE,uBAAsBM,YAAa,sBAAqB,CAAC;MAC/E;MACA,IAAI,CAAC,IAAAI,uBAAc,EAACJ,YAAY,CAAC,IAAI3G,IAAI,CAACgH,mBAAmB,EAAE;QAC7D,MAAM,KAAIX,oBAAQ,EACf,uBAAsBM,YAAa,2FACtC,CAAC;MACH;IACF;EACF;EAKA,aAAaM,QAAQA,CAAC,CAAC1F,OAAO,EAAE9B,QAAQ,EAAEyH,UAAU,EAAExH,SAAS,EAAEE,KAAK,EAAEuH,YAAY,CAOnF,EAAE;IACD,MAAMxH,MAAM,GAAGuH,UAAU,CAACE,YAAY,CAACC,yCAAqB,CAACnD,EAAE,CAAC;IAChE,OAAO,IAAI5E,mBAAmB,CAACiC,OAAO,EAAE9B,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEuH,YAAY,CAAC;EAC3F;AACF;AAACG,OAAA,CAAAhI,mBAAA,GAAAA,mBAAA;AAAAd,eAAA,CA7QYc,mBAAmB,WA+Pf,EAAE;AAAAd,eAAA,CA/PNc,mBAAmB,kBAgQR,CAACiI,wBAAa,EAAEC,0BAAc,EAAEC,sBAAY,EAAEC,4BAAe,EAAEC,oBAAW,EAAEC,kCAAkB,CAAC;AAAApJ,eAAA,CAhQ1Gc,mBAAmB,aAiQbuI,kBAAW;AAc9BR,yCAAqB,CAACS,UAAU,CAACxI,mBAAmB,CAAC;AAAC,IAAAyI,QAAA,GAAAT,OAAA,CAAA1K,OAAA,GAEvC0C,mBAAmB","ignoreList":[]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_componentWriter","data","require","_default","exports","default","ComponentWriterAspect"],"sources":["index.ts"],"sourcesContent":["import { ComponentWriterAspect } from './component-writer.aspect';\n\nexport type {\n ComponentWriterMain,\n ComponentWriterResults,\n ManyComponentsWriterParams,\n} from './component-writer.main.runtime';\nexport default ComponentWriterAspect;\nexport { ComponentWriterAspect };\n"],"mappings":";;;;;;;;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkE,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAOnDC,wCAAqB"}
1
+ {"version":3,"names":["_componentWriter","data","require","_default","exports","default","ComponentWriterAspect"],"sources":["index.ts"],"sourcesContent":["import { ComponentWriterAspect } from './component-writer.aspect';\n\nexport type {\n ComponentWriterMain,\n ComponentWriterResults,\n ManyComponentsWriterParams,\n} from './component-writer.main.runtime';\nexport default ComponentWriterAspect;\nexport { ComponentWriterAspect };\n"],"mappings":";;;;;;;;;;;;AAAA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkE,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAOnDC,wCAAqB","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component-writer",
3
- "version": "1.0.187",
3
+ "version": "1.0.189",
4
4
  "homepage": "https://bit.cloud/teambit/component/component-writer",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component-writer",
9
- "version": "1.0.187"
9
+ "version": "1.0.189"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -16,20 +16,20 @@
16
16
  "@teambit/bit-error": "0.0.404",
17
17
  "@teambit/component-id": "1.2.0",
18
18
  "@teambit/component-version": "1.0.3",
19
- "@teambit/cli": "0.0.855",
20
- "@teambit/compiler": "1.0.187",
21
- "@teambit/config-merger": "0.0.54",
22
- "@teambit/install": "1.0.187",
23
- "@teambit/logger": "0.0.948",
24
- "@teambit/mover": "1.0.187",
25
- "@teambit/workspace": "1.0.187"
19
+ "@teambit/cli": "0.0.856",
20
+ "@teambit/compiler": "1.0.189",
21
+ "@teambit/config-merger": "0.0.56",
22
+ "@teambit/install": "1.0.189",
23
+ "@teambit/logger": "0.0.949",
24
+ "@teambit/mover": "1.0.189",
25
+ "@teambit/workspace": "1.0.189"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/fs-extra": "9.0.7",
29
29
  "@types/lodash": "4.14.165",
30
30
  "@types/mocha": "9.1.0",
31
31
  "chai": "4.3.0",
32
- "@teambit/harmony.envs.core-aspect-env": "0.0.25"
32
+ "@teambit/harmony.envs.core-aspect-env": "0.0.27"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@teambit/legacy": "1.0.624"