@teambit/checkout 1.0.383 → 1.0.385

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,8 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <testsuites tests="3" failures="0" errors="0" skipped="0">
3
- <testsuite name="teambit.component/checkout@1.0.383" tests="3" failures="0" errors="0" skipped="0">
3
+ <testsuite name="teambit.component/checkout@1.0.385" tests="3" failures="0" errors="0" skipped="0">
4
4
  <testcase classname="dist/checkout.spec.js" name="should bring the files back"/>
5
- <testcase classname="dist/checkout.spec.js" name="the workspace should get the component as a valid component" time="0.052"/>
5
+ <testcase classname="dist/checkout.spec.js" name="the workspace should get the component as a valid component" time="0.067"/>
6
6
  <testcase classname="dist/checkout.spec.js" name="should checkout according to the number of generations specified" time="0.002"/>
7
7
  </testsuite>
8
8
  </testsuites>
@@ -212,14 +212,14 @@
212
212
  "__schema": "FunctionLikeSchema",
213
213
  "location": {
214
214
  "filePath": "checkout.main.runtime.ts",
215
- "line": 206,
215
+ "line": 207,
216
216
  "character": 3
217
217
  },
218
218
  "doc": {
219
219
  "__schema": "DocSchema",
220
220
  "location": {
221
221
  "filePath": "checkout.main.runtime.ts",
222
- "line": 202,
222
+ "line": 203,
223
223
  "character": 3
224
224
  },
225
225
  "raw": "/**\n * if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.\n * returns the restored component ids.\n */",
@@ -233,7 +233,7 @@
233
233
  "__schema": "ParameterSchema",
234
234
  "location": {
235
235
  "filePath": "checkout.main.runtime.ts",
236
- "line": 206,
236
+ "line": 207,
237
237
  "character": 34
238
238
  },
239
239
  "name": "checkoutProps",
@@ -241,7 +241,7 @@
241
241
  "__schema": "TypeRefSchema",
242
242
  "location": {
243
243
  "filePath": "checkout.main.runtime.ts",
244
- "line": 206,
244
+ "line": 207,
245
245
  "character": 49
246
246
  },
247
247
  "name": "CheckoutProps"
@@ -254,7 +254,7 @@
254
254
  "__schema": "TypeRefSchema",
255
255
  "location": {
256
256
  "filePath": "checkout.main.runtime.ts",
257
- "line": 206,
257
+ "line": 207,
258
258
  "character": 65
259
259
  },
260
260
  "name": "Promise",
@@ -263,7 +263,7 @@
263
263
  "__schema": "TypeUnionSchema",
264
264
  "location": {
265
265
  "filePath": "checkout.main.runtime.ts",
266
- "line": 206,
266
+ "line": 207,
267
267
  "character": 73
268
268
  },
269
269
  "types": [
@@ -271,14 +271,14 @@
271
271
  "__schema": "TypeArraySchema",
272
272
  "location": {
273
273
  "filePath": "checkout.main.runtime.ts",
274
- "line": 206,
274
+ "line": 207,
275
275
  "character": 73
276
276
  },
277
277
  "type": {
278
278
  "__schema": "TypeRefSchema",
279
279
  "location": {
280
280
  "filePath": "checkout.main.runtime.ts",
281
- "line": 206,
281
+ "line": 207,
282
282
  "character": 73
283
283
  },
284
284
  "name": "ComponentID"
@@ -288,7 +288,7 @@
288
288
  "__schema": "KeywordTypeSchema",
289
289
  "location": {
290
290
  "filePath": "checkout.main.runtime.ts",
291
- "line": 206,
291
+ "line": 207,
292
292
  "character": 89
293
293
  },
294
294
  "name": "undefined"
@@ -305,7 +305,7 @@
305
305
  "__schema": "FunctionLikeSchema",
306
306
  "location": {
307
307
  "filePath": "checkout.main.runtime.ts",
308
- "line": 233,
308
+ "line": 234,
309
309
  "character": 3
310
310
  },
311
311
  "signature": "(method) CheckoutMain.checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults>",
@@ -315,7 +315,7 @@
315
315
  "__schema": "ParameterSchema",
316
316
  "location": {
317
317
  "filePath": "checkout.main.runtime.ts",
318
- "line": 233,
318
+ "line": 234,
319
319
  "character": 29
320
320
  },
321
321
  "name": "componentPattern",
@@ -323,7 +323,7 @@
323
323
  "__schema": "KeywordTypeSchema",
324
324
  "location": {
325
325
  "filePath": "checkout.main.runtime.ts",
326
- "line": 233,
326
+ "line": 234,
327
327
  "character": 47
328
328
  },
329
329
  "name": "string"
@@ -335,7 +335,7 @@
335
335
  "__schema": "ParameterSchema",
336
336
  "location": {
337
337
  "filePath": "checkout.main.runtime.ts",
338
- "line": 233,
338
+ "line": 234,
339
339
  "character": 55
340
340
  },
341
341
  "name": "checkoutProps",
@@ -343,7 +343,7 @@
343
343
  "__schema": "TypeRefSchema",
344
344
  "location": {
345
345
  "filePath": "checkout.main.runtime.ts",
346
- "line": 233,
346
+ "line": 234,
347
347
  "character": 70
348
348
  },
349
349
  "name": "CheckoutProps"
@@ -356,7 +356,7 @@
356
356
  "__schema": "TypeRefSchema",
357
357
  "location": {
358
358
  "filePath": "checkout.main.runtime.ts",
359
- "line": 233,
359
+ "line": 234,
360
360
  "character": 86
361
361
  },
362
362
  "name": "Promise",
@@ -365,7 +365,7 @@
365
365
  "__schema": "TypeRefSchema",
366
366
  "location": {
367
367
  "filePath": "checkout.main.runtime.ts",
368
- "line": 233,
368
+ "line": 234,
369
369
  "character": 94
370
370
  },
371
371
  "name": "ApplyVersionResults"
@@ -380,7 +380,7 @@
380
380
  "__schema": "VariableLikeSchema",
381
381
  "location": {
382
382
  "filePath": "checkout.main.runtime.ts",
383
- "line": 519,
383
+ "line": 520,
384
384
  "character": 3
385
385
  },
386
386
  "signature": "(property) CheckoutMain.slots: never[]",
@@ -389,7 +389,7 @@
389
389
  "__schema": "InferenceTypeSchema",
390
390
  "location": {
391
391
  "filePath": "checkout.main.runtime.ts",
392
- "line": 519,
392
+ "line": 520,
393
393
  "character": 3
394
394
  },
395
395
  "type": "never[]"
@@ -401,7 +401,7 @@
401
401
  "__schema": "VariableLikeSchema",
402
402
  "location": {
403
403
  "filePath": "checkout.main.runtime.ts",
404
- "line": 520,
404
+ "line": 521,
405
405
  "character": 3
406
406
  },
407
407
  "signature": "(property) CheckoutMain.dependencies: Aspect[]",
@@ -410,7 +410,7 @@
410
410
  "__schema": "InferenceTypeSchema",
411
411
  "location": {
412
412
  "filePath": "checkout.main.runtime.ts",
413
- "line": 520,
413
+ "line": 521,
414
414
  "character": 3
415
415
  },
416
416
  "type": "Aspect[]"
@@ -422,7 +422,7 @@
422
422
  "__schema": "VariableLikeSchema",
423
423
  "location": {
424
424
  "filePath": "checkout.main.runtime.ts",
425
- "line": 522,
425
+ "line": 523,
426
426
  "character": 3
427
427
  },
428
428
  "signature": "(property) CheckoutMain.runtime: RuntimeDefinition",
@@ -431,7 +431,7 @@
431
431
  "__schema": "InferenceTypeSchema",
432
432
  "location": {
433
433
  "filePath": "checkout.main.runtime.ts",
434
- "line": 522,
434
+ "line": 523,
435
435
  "character": 3
436
436
  },
437
437
  "type": "RuntimeDefinition"
@@ -443,7 +443,7 @@
443
443
  "__schema": "FunctionLikeSchema",
444
444
  "location": {
445
445
  "filePath": "checkout.main.runtime.ts",
446
- "line": 524,
446
+ "line": 525,
447
447
  "character": 3
448
448
  },
449
449
  "signature": "(method) CheckoutMain.provider([cli, workspace, loggerMain, compWriter, importer, remove]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ComponentWriterMain,\n ImporterMain,\n RemoveMain\n]): Promise<CheckoutMain>",
@@ -453,7 +453,7 @@
453
453
  "__schema": "ParameterSchema",
454
454
  "location": {
455
455
  "filePath": "checkout.main.runtime.ts",
456
- "line": 524,
456
+ "line": 525,
457
457
  "character": 25
458
458
  },
459
459
  "name": "[ cli, workspace, loggerMain, compWriter, importer, remove ]",
@@ -461,7 +461,7 @@
461
461
  "__schema": "TupleTypeSchema",
462
462
  "location": {
463
463
  "filePath": "checkout.main.runtime.ts",
464
- "line": 524,
464
+ "line": 525,
465
465
  "character": 85
466
466
  },
467
467
  "elements": [
@@ -469,7 +469,7 @@
469
469
  "__schema": "TypeRefSchema",
470
470
  "location": {
471
471
  "filePath": "checkout.main.runtime.ts",
472
- "line": 525,
472
+ "line": 526,
473
473
  "character": 5
474
474
  },
475
475
  "name": "CLIMain"
@@ -478,7 +478,7 @@
478
478
  "__schema": "TypeRefSchema",
479
479
  "location": {
480
480
  "filePath": "checkout.main.runtime.ts",
481
- "line": 526,
481
+ "line": 527,
482
482
  "character": 5
483
483
  },
484
484
  "name": "Workspace"
@@ -487,7 +487,7 @@
487
487
  "__schema": "TypeRefSchema",
488
488
  "location": {
489
489
  "filePath": "checkout.main.runtime.ts",
490
- "line": 527,
490
+ "line": 528,
491
491
  "character": 5
492
492
  },
493
493
  "name": "LoggerMain"
@@ -496,7 +496,7 @@
496
496
  "__schema": "TypeRefSchema",
497
497
  "location": {
498
498
  "filePath": "checkout.main.runtime.ts",
499
- "line": 528,
499
+ "line": 529,
500
500
  "character": 5
501
501
  },
502
502
  "name": "ComponentWriterMain"
@@ -505,7 +505,7 @@
505
505
  "__schema": "TypeRefSchema",
506
506
  "location": {
507
507
  "filePath": "checkout.main.runtime.ts",
508
- "line": 529,
508
+ "line": 530,
509
509
  "character": 5
510
510
  },
511
511
  "name": "ImporterMain"
@@ -514,7 +514,7 @@
514
514
  "__schema": "TypeRefSchema",
515
515
  "location": {
516
516
  "filePath": "checkout.main.runtime.ts",
517
- "line": 530,
517
+ "line": 531,
518
518
  "character": 5
519
519
  },
520
520
  "name": "RemoveMain"
@@ -529,7 +529,7 @@
529
529
  "__schema": "InferenceTypeSchema",
530
530
  "location": {
531
531
  "filePath": "checkout.main.runtime.ts",
532
- "line": 524,
532
+ "line": 525,
533
533
  "character": 3
534
534
  },
535
535
  "type": "Promise<CheckoutMain>"
@@ -3058,14 +3058,14 @@
3058
3058
  "__schema": "FunctionLikeSchema",
3059
3059
  "location": {
3060
3060
  "filePath": "checkout.main.runtime.ts",
3061
- "line": 206,
3061
+ "line": 207,
3062
3062
  "character": 3
3063
3063
  },
3064
3064
  "doc": {
3065
3065
  "__schema": "DocSchema",
3066
3066
  "location": {
3067
3067
  "filePath": "checkout.main.runtime.ts",
3068
- "line": 202,
3068
+ "line": 203,
3069
3069
  "character": 3
3070
3070
  },
3071
3071
  "raw": "/**\n * if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.\n * returns the restored component ids.\n */",
@@ -3079,7 +3079,7 @@
3079
3079
  "__schema": "ParameterSchema",
3080
3080
  "location": {
3081
3081
  "filePath": "checkout.main.runtime.ts",
3082
- "line": 206,
3082
+ "line": 207,
3083
3083
  "character": 34
3084
3084
  },
3085
3085
  "name": "checkoutProps",
@@ -3087,7 +3087,7 @@
3087
3087
  "__schema": "TypeRefSchema",
3088
3088
  "location": {
3089
3089
  "filePath": "checkout.main.runtime.ts",
3090
- "line": 206,
3090
+ "line": 207,
3091
3091
  "character": 49
3092
3092
  },
3093
3093
  "name": "CheckoutProps"
@@ -3100,7 +3100,7 @@
3100
3100
  "__schema": "TypeRefSchema",
3101
3101
  "location": {
3102
3102
  "filePath": "checkout.main.runtime.ts",
3103
- "line": 206,
3103
+ "line": 207,
3104
3104
  "character": 65
3105
3105
  },
3106
3106
  "name": "Promise",
@@ -3109,7 +3109,7 @@
3109
3109
  "__schema": "TypeUnionSchema",
3110
3110
  "location": {
3111
3111
  "filePath": "checkout.main.runtime.ts",
3112
- "line": 206,
3112
+ "line": 207,
3113
3113
  "character": 73
3114
3114
  },
3115
3115
  "types": [
@@ -3117,14 +3117,14 @@
3117
3117
  "__schema": "TypeArraySchema",
3118
3118
  "location": {
3119
3119
  "filePath": "checkout.main.runtime.ts",
3120
- "line": 206,
3120
+ "line": 207,
3121
3121
  "character": 73
3122
3122
  },
3123
3123
  "type": {
3124
3124
  "__schema": "TypeRefSchema",
3125
3125
  "location": {
3126
3126
  "filePath": "checkout.main.runtime.ts",
3127
- "line": 206,
3127
+ "line": 207,
3128
3128
  "character": 73
3129
3129
  },
3130
3130
  "name": "ComponentID"
@@ -3134,7 +3134,7 @@
3134
3134
  "__schema": "KeywordTypeSchema",
3135
3135
  "location": {
3136
3136
  "filePath": "checkout.main.runtime.ts",
3137
- "line": 206,
3137
+ "line": 207,
3138
3138
  "character": 89
3139
3139
  },
3140
3140
  "name": "undefined"
@@ -3151,7 +3151,7 @@
3151
3151
  "__schema": "FunctionLikeSchema",
3152
3152
  "location": {
3153
3153
  "filePath": "checkout.main.runtime.ts",
3154
- "line": 233,
3154
+ "line": 234,
3155
3155
  "character": 3
3156
3156
  },
3157
3157
  "signature": "(method) CheckoutMain.checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults>",
@@ -3161,7 +3161,7 @@
3161
3161
  "__schema": "ParameterSchema",
3162
3162
  "location": {
3163
3163
  "filePath": "checkout.main.runtime.ts",
3164
- "line": 233,
3164
+ "line": 234,
3165
3165
  "character": 29
3166
3166
  },
3167
3167
  "name": "componentPattern",
@@ -3169,7 +3169,7 @@
3169
3169
  "__schema": "KeywordTypeSchema",
3170
3170
  "location": {
3171
3171
  "filePath": "checkout.main.runtime.ts",
3172
- "line": 233,
3172
+ "line": 234,
3173
3173
  "character": 47
3174
3174
  },
3175
3175
  "name": "string"
@@ -3181,7 +3181,7 @@
3181
3181
  "__schema": "ParameterSchema",
3182
3182
  "location": {
3183
3183
  "filePath": "checkout.main.runtime.ts",
3184
- "line": 233,
3184
+ "line": 234,
3185
3185
  "character": 55
3186
3186
  },
3187
3187
  "name": "checkoutProps",
@@ -3189,7 +3189,7 @@
3189
3189
  "__schema": "TypeRefSchema",
3190
3190
  "location": {
3191
3191
  "filePath": "checkout.main.runtime.ts",
3192
- "line": 233,
3192
+ "line": 234,
3193
3193
  "character": 70
3194
3194
  },
3195
3195
  "name": "CheckoutProps"
@@ -3202,7 +3202,7 @@
3202
3202
  "__schema": "TypeRefSchema",
3203
3203
  "location": {
3204
3204
  "filePath": "checkout.main.runtime.ts",
3205
- "line": 233,
3205
+ "line": 234,
3206
3206
  "character": 86
3207
3207
  },
3208
3208
  "name": "Promise",
@@ -3211,7 +3211,7 @@
3211
3211
  "__schema": "TypeRefSchema",
3212
3212
  "location": {
3213
3213
  "filePath": "checkout.main.runtime.ts",
3214
- "line": 233,
3214
+ "line": 234,
3215
3215
  "character": 94
3216
3216
  },
3217
3217
  "name": "ApplyVersionResults"
@@ -3226,7 +3226,7 @@
3226
3226
  "__schema": "VariableLikeSchema",
3227
3227
  "location": {
3228
3228
  "filePath": "checkout.main.runtime.ts",
3229
- "line": 519,
3229
+ "line": 520,
3230
3230
  "character": 3
3231
3231
  },
3232
3232
  "signature": "(property) CheckoutMain.slots: never[]",
@@ -3235,7 +3235,7 @@
3235
3235
  "__schema": "InferenceTypeSchema",
3236
3236
  "location": {
3237
3237
  "filePath": "checkout.main.runtime.ts",
3238
- "line": 519,
3238
+ "line": 520,
3239
3239
  "character": 3
3240
3240
  },
3241
3241
  "type": "never[]"
@@ -3247,7 +3247,7 @@
3247
3247
  "__schema": "VariableLikeSchema",
3248
3248
  "location": {
3249
3249
  "filePath": "checkout.main.runtime.ts",
3250
- "line": 520,
3250
+ "line": 521,
3251
3251
  "character": 3
3252
3252
  },
3253
3253
  "signature": "(property) CheckoutMain.dependencies: Aspect[]",
@@ -3256,7 +3256,7 @@
3256
3256
  "__schema": "InferenceTypeSchema",
3257
3257
  "location": {
3258
3258
  "filePath": "checkout.main.runtime.ts",
3259
- "line": 520,
3259
+ "line": 521,
3260
3260
  "character": 3
3261
3261
  },
3262
3262
  "type": "Aspect[]"
@@ -3268,7 +3268,7 @@
3268
3268
  "__schema": "VariableLikeSchema",
3269
3269
  "location": {
3270
3270
  "filePath": "checkout.main.runtime.ts",
3271
- "line": 522,
3271
+ "line": 523,
3272
3272
  "character": 3
3273
3273
  },
3274
3274
  "signature": "(property) CheckoutMain.runtime: RuntimeDefinition",
@@ -3277,7 +3277,7 @@
3277
3277
  "__schema": "InferenceTypeSchema",
3278
3278
  "location": {
3279
3279
  "filePath": "checkout.main.runtime.ts",
3280
- "line": 522,
3280
+ "line": 523,
3281
3281
  "character": 3
3282
3282
  },
3283
3283
  "type": "RuntimeDefinition"
@@ -3289,7 +3289,7 @@
3289
3289
  "__schema": "FunctionLikeSchema",
3290
3290
  "location": {
3291
3291
  "filePath": "checkout.main.runtime.ts",
3292
- "line": 524,
3292
+ "line": 525,
3293
3293
  "character": 3
3294
3294
  },
3295
3295
  "signature": "(method) CheckoutMain.provider([cli, workspace, loggerMain, compWriter, importer, remove]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ComponentWriterMain,\n ImporterMain,\n RemoveMain\n]): Promise<CheckoutMain>",
@@ -3299,7 +3299,7 @@
3299
3299
  "__schema": "ParameterSchema",
3300
3300
  "location": {
3301
3301
  "filePath": "checkout.main.runtime.ts",
3302
- "line": 524,
3302
+ "line": 525,
3303
3303
  "character": 25
3304
3304
  },
3305
3305
  "name": "[ cli, workspace, loggerMain, compWriter, importer, remove ]",
@@ -3307,7 +3307,7 @@
3307
3307
  "__schema": "TupleTypeSchema",
3308
3308
  "location": {
3309
3309
  "filePath": "checkout.main.runtime.ts",
3310
- "line": 524,
3310
+ "line": 525,
3311
3311
  "character": 85
3312
3312
  },
3313
3313
  "elements": [
@@ -3315,7 +3315,7 @@
3315
3315
  "__schema": "TypeRefSchema",
3316
3316
  "location": {
3317
3317
  "filePath": "checkout.main.runtime.ts",
3318
- "line": 525,
3318
+ "line": 526,
3319
3319
  "character": 5
3320
3320
  },
3321
3321
  "name": "CLIMain"
@@ -3324,7 +3324,7 @@
3324
3324
  "__schema": "TypeRefSchema",
3325
3325
  "location": {
3326
3326
  "filePath": "checkout.main.runtime.ts",
3327
- "line": 526,
3327
+ "line": 527,
3328
3328
  "character": 5
3329
3329
  },
3330
3330
  "name": "Workspace"
@@ -3333,7 +3333,7 @@
3333
3333
  "__schema": "TypeRefSchema",
3334
3334
  "location": {
3335
3335
  "filePath": "checkout.main.runtime.ts",
3336
- "line": 527,
3336
+ "line": 528,
3337
3337
  "character": 5
3338
3338
  },
3339
3339
  "name": "LoggerMain"
@@ -3342,7 +3342,7 @@
3342
3342
  "__schema": "TypeRefSchema",
3343
3343
  "location": {
3344
3344
  "filePath": "checkout.main.runtime.ts",
3345
- "line": 528,
3345
+ "line": 529,
3346
3346
  "character": 5
3347
3347
  },
3348
3348
  "name": "ComponentWriterMain"
@@ -3351,7 +3351,7 @@
3351
3351
  "__schema": "TypeRefSchema",
3352
3352
  "location": {
3353
3353
  "filePath": "checkout.main.runtime.ts",
3354
- "line": 529,
3354
+ "line": 530,
3355
3355
  "character": 5
3356
3356
  },
3357
3357
  "name": "ImporterMain"
@@ -3360,7 +3360,7 @@
3360
3360
  "__schema": "TypeRefSchema",
3361
3361
  "location": {
3362
3362
  "filePath": "checkout.main.runtime.ts",
3363
- "line": 530,
3363
+ "line": 531,
3364
3364
  "character": 5
3365
3365
  },
3366
3366
  "name": "RemoveMain"
@@ -3375,7 +3375,7 @@
3375
3375
  "__schema": "InferenceTypeSchema",
3376
3376
  "location": {
3377
3377
  "filePath": "checkout.main.runtime.ts",
3378
- "line": 524,
3378
+ "line": 525,
3379
3379
  "character": 3
3380
3380
  },
3381
3381
  "type": "Promise<CheckoutMain>"
@@ -3393,7 +3393,7 @@
3393
3393
  "__schema": "UnImplementedSchema",
3394
3394
  "location": {
3395
3395
  "filePath": "checkout.main.runtime.ts",
3396
- "line": 541,
3396
+ "line": 542,
3397
3397
  "character": 16
3398
3398
  },
3399
3399
  "name": "CheckoutMain",
@@ -3405,7 +3405,7 @@
3405
3405
  "__schema": "UnImplementedSchema",
3406
3406
  "location": {
3407
3407
  "filePath": "checkout.main.runtime.ts",
3408
- "line": 539,
3408
+ "line": 540,
3409
3409
  "character": 1
3410
3410
  },
3411
3411
  "name": "CheckoutAspect.addRuntime(CheckoutMain);",
@@ -5183,7 +5183,7 @@
5183
5183
  "_legacy": {
5184
5184
  "scope": "teambit.component",
5185
5185
  "name": "checkout",
5186
- "version": "1.0.383"
5186
+ "version": "1.0.385"
5187
5187
  },
5188
5188
  "_scope": "teambit.component"
5189
5189
  }
@@ -5282,7 +5282,7 @@
5282
5282
  "componentId": {
5283
5283
  "scope": "teambit.component",
5284
5284
  "name": "checkout",
5285
- "version": "1.0.383"
5285
+ "version": "1.0.385"
5286
5286
  },
5287
5287
  "taggedModuleExports": []
5288
5288
  }
@@ -152,6 +152,7 @@ class CheckoutMain {
152
152
  this.remove = remove;
153
153
  }
154
154
  async checkout(checkoutProps) {
155
+ this.workspace.inInstallContext = true;
155
156
  const consumer = this.workspace.consumer;
156
157
  const {
157
158
  version,
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_logger","_workspace","_bitError","_lodash","_loaderMessages","_remove","_merging","_importer","_constants","_componentWriter","_pMapSeries","_interopRequireDefault","_componentId","_repositories","_componentNotFoundInPath","_checkoutCmd","_checkout","_checkoutVersion","_revertCmd","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","CheckoutMain","constructor","workspace","logger","componentWriter","importer","remove","checkout","checkoutProps","consumer","version","ids","promptMergeOptions","syncNewComponents","addedComponents","restoreMissingComponents","bitIds","ComponentIdList","fromArray","map","id","allComponentStatusBeforeMerge","mapSeries","getComponentStatusBeforeMergeAttempt","compsNeedMerge","c","propsForMerge","compsNotNeedMerge","toImport","compStatus","idsToImport","changeVersion","currentlyUsedVersion","flat","scope","legacyScope","scopeImporter","importWithoutDeps","cache","lane","getComponentsStatusOfMergeNeeded","tmp","Tmp","afterMergeAttempt","Promise","all","getMergeStatus","clear","err","compStatusMergeNeeded","allComponentsStatus","componentWithConflict","find","component","mergeResults","hasConflicts","mergeStrategy","BitError","toStringWithoutVersion","getMergeStrategyInteractive","throwForFailures","failedComponents","componentStatus","unchangedMessage","shouldBeRemoved","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","currentComponent","applyVersion","componentsLegacy","compact","newFromLane","newFromLaneAdded","head","getNewComponentsFromLane","workspaceOnly","compsNewFromLane","loadComponentFromModelImportIfNeeded","leftUnresolvedConflicts","componentWriterResults","manyComponentsWriterOpts","components","skipDependencyInstallation","skipNpmInstall","verbose","resetConfig","reset","skipUpdatingBitMap","skipUpdatingBitmap","revert","shouldUpdateWorkspaceConfig","reasonForBitmapChange","writeMany","appliedVersionComponents","applyVersionResult","componentIdsToRemove","undefined","removeLocallyByIds","force","reasonForRemoval","removedComponents","n","toString","workspaceConfigUpdateResult","installationError","compilationError","missing","bitMapEntry","bitMap","getBitmapEntry","ignoreVersion","noFilesError","ComponentNotFoundInPath","comps","getMany","state","_consumer","checkoutByCLIValues","componentPattern","setStatusLine","BEFORE_CHECKOUT","OutsideWorkspaceError","importCurrentObjects","makeLaneComponentsAvailableOnMain","parseValues","checkoutResults","onDestroy","notExported","isExported","changeScope","scopeComponentsImporter","toVersionLatest","reason","includeUnexported","error","unavailableOnMain","getUnavailableOnMainComponents","makeComponentsAvailableOnMain","console","HEAD","latest","LATEST","includeLocallyDeleted","getIds","idsByPattern","includeDeleted","listIdsIncludeRemoved","listIds","idsOnWorkspace","currentLane","getCurrentLaneObject","currentLaneIds","toComponentIds","hasWithoutVersion","laneBitIds","newComponentIds","bitId","isEqualWithoutVersion","nonRemovedNewIds","isRemoved","isComponentRemoved","headVersion","ancestor","main","latestVersion","versionPerId","forceOurs","forceTheirs","loadStash","repo","objects","existingBitMapId","getComponentIdIfExist","getComponent","results","loadComponents","allowAddingComponentsFromScope","componentModel","getModelComponentIfExist","returnFailure","msg","unmerged","unmergedComponents","getEntry","getNewVersion","headIncludeRemote","previousParent","getRefOfAncestor","getTagOfRefIfExists","latestVersionIfExist","newVersion","hasVersion","divergeDataForMergePending","getDivergeDataForMergePending","isMergePending","isDiverged","isModified","currentVersionObject","loadVersion","isComponentModified","versionRef","getRef","Error","componentVersion","getObject","hash","newId","componentFromModel","componentFromFS","baseVersion","baseComponent","otherComponent","parents","parent","threeWayMerge","otherLabel","currentLabel","provider","cli","loggerMain","compWriter","createLogger","CheckoutAspect","checkoutMain","register","CheckoutCmd","RevertCmd","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ComponentWriterAspect","ImporterAspect","RemoveAspect","MainRuntime","addRuntime","_default"],"sources":["checkout.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport { compact } from 'lodash';\nimport { BEFORE_CHECKOUT } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport {\n ApplyVersionResults,\n FailedComponents,\n threeWayMerge,\n getMergeStrategyInteractive,\n MergeStrategy,\n} from '@teambit/merging';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { HEAD, LATEST } from '@teambit/legacy/dist/constants';\nimport { ComponentWriterAspect, ComponentWriterMain } from '@teambit/component-writer';\nimport mapSeries from 'p-map-series';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport { Version, ModelComponent, Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport { CheckoutCmd } from './checkout-cmd';\nimport { CheckoutAspect } from './checkout.aspect';\nimport { applyVersion, ComponentStatus, ComponentStatusBase, throwForFailures } from './checkout-version';\nimport { RevertCmd } from './revert-cmd';\n\nexport type CheckoutProps = {\n version?: string; // if reset/head/latest is true, the version is undefined\n ids?: ComponentID[];\n head?: boolean;\n ancestor?: number; // how many generations to go backward\n latest?: boolean;\n main?: boolean; // relevant for \"revert\" only\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy; // strategy to use in case of conflicts\n forceOurs?: boolean; // regardless of conflicts, use ours\n forceTheirs?: boolean; // regardless of conflicts, use theirs\n verbose?: boolean;\n skipNpmInstall?: boolean;\n reset?: boolean; // remove local changes. if set, the version is undefined.\n revert?: boolean; // change the files according to the given version, but don't change the bitmap version and don't try to merge\n all?: boolean; // checkout all ids\n isLane?: boolean;\n lane?: Lane; // currently needed for \"bit switch\" to tell the \"fetch\" where to fetch from\n workspaceOnly?: boolean;\n versionPerId?: ComponentID[]; // if given, the ComponentID.version is the version to checkout to.\n skipUpdatingBitmap?: boolean; // needed for stash\n loadStash?: boolean;\n restoreMissingComponents?: boolean; // in case .bitmap has a component and it's missing from the workspace, restore it (from model)\n allowAddingComponentsFromScope?: boolean; // in case the id doesn't exist in .bitmap, add it from the scope (relevant for switch)\n includeLocallyDeleted?: boolean; // include components that were deleted locally. currently enabled for \"bit checkout reset\" only.\n};\n\nexport type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {\n propsForMerge?: {\n currentlyUsedVersion: string;\n componentModel: ModelComponent;\n };\n};\n\nexport class CheckoutMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private componentWriter: ComponentWriterMain,\n private importer: ImporterMain,\n private remove: RemoveMain\n ) {}\n\n async checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const consumer = this.workspace.consumer;\n const { version, ids, promptMergeOptions } = checkoutProps;\n await this.syncNewComponents(checkoutProps);\n const addedComponents = await this.restoreMissingComponents(checkoutProps);\n const bitIds = ComponentIdList.fromArray(ids?.map((id) => id) || []);\n // don't use Promise.all, it loads the components and this operation must be in sequence.\n const allComponentStatusBeforeMerge = await mapSeries(bitIds, (id) =>\n this.getComponentStatusBeforeMergeAttempt(id, checkoutProps)\n );\n const compsNeedMerge = allComponentStatusBeforeMerge.filter((c) => c.propsForMerge);\n const compsNotNeedMerge = allComponentStatusBeforeMerge.filter((c) => !c.propsForMerge) as ComponentStatus[];\n\n // in case the requested versions to checkout don't exist locally, import them.\n const toImport = allComponentStatusBeforeMerge\n .map((compStatus) => {\n const idsToImport = [compStatus.id];\n if (compStatus.propsForMerge) {\n idsToImport.push(compStatus.id.changeVersion(compStatus.propsForMerge.currentlyUsedVersion));\n }\n return idsToImport;\n })\n .flat();\n\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(toImport), {\n cache: true,\n lane: checkoutProps.lane,\n });\n\n const getComponentsStatusOfMergeNeeded = async (): Promise<ComponentStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const afterMergeAttempt = await Promise.all(compsNeedMerge.map((c) => this.getMergeStatus(c, checkoutProps)));\n await tmp.clear();\n return afterMergeAttempt;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n\n const compStatusMergeNeeded = await getComponentsStatusOfMergeNeeded();\n\n const allComponentsStatus: ComponentStatus[] = [...compStatusMergeNeeded, ...compsNotNeedMerge];\n const componentWithConflict = allComponentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict) {\n if (!promptMergeOptions && !checkoutProps.mergeStrategy) {\n throw new BitError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--auto-merge-resolve\" with 'manual', 'ours' or 'theirs' to resolve the conflict/s`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n\n throwForFailures(allComponentsStatus);\n\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.unchangedMessage)\n .filter((componentStatus) => !componentStatus.shouldBeRemoved)\n .map((componentStatus) => ({\n id: componentStatus.id,\n unchangedMessage: componentStatus.unchangedMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.unchangedMessage);\n // do not use Promise.all for applyVersion. otherwise, it'll write all components in parallel,\n // which can be an issue when some components are also dependencies of others\n const checkoutPropsLegacy = { ...checkoutProps, ids: checkoutProps.ids?.map((id) => id) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, currentComponent, mergeResults }) => {\n return applyVersion(consumer, id, currentComponent, mergeResults, checkoutPropsLegacy);\n });\n\n const componentsLegacy = compact(componentsResults.map((c) => c.component));\n\n let newFromLane: ComponentID[] | undefined;\n let newFromLaneAdded = false;\n if (checkoutProps.head) {\n newFromLane = await this.getNewComponentsFromLane(checkoutProps.ids || []);\n if (!checkoutProps.workspaceOnly) {\n const compsNewFromLane = await Promise.all(\n newFromLane.map((id) => consumer.loadComponentFromModelImportIfNeeded(id))\n );\n componentsLegacy.push(...compsNewFromLane);\n newFromLaneAdded = true;\n }\n }\n\n const leftUnresolvedConflicts = componentWithConflict && checkoutProps.mergeStrategy === 'manual';\n let componentWriterResults;\n if (componentsLegacy.length) {\n const manyComponentsWriterOpts = {\n components: componentsLegacy,\n skipDependencyInstallation: checkoutProps.skipNpmInstall || leftUnresolvedConflicts,\n verbose: checkoutProps.verbose,\n resetConfig: checkoutProps.reset,\n skipUpdatingBitMap: checkoutProps.skipUpdatingBitmap || checkoutProps.revert,\n shouldUpdateWorkspaceConfig: true,\n reasonForBitmapChange: 'checkout',\n mergeStrategy: checkoutProps.mergeStrategy,\n };\n componentWriterResults = await this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n\n const appliedVersionComponents = componentsResults.map((c) => c.applyVersionResult);\n\n const componentIdsToRemove = allComponentsStatus\n .filter((componentStatus) => componentStatus.shouldBeRemoved)\n .map((c) => c.id.changeVersion(undefined));\n\n if (componentIdsToRemove.length) {\n await this.remove.removeLocallyByIds(componentIdsToRemove, { force: true, reasonForRemoval: 'checkout' });\n }\n\n return {\n components: appliedVersionComponents,\n removedComponents: componentIdsToRemove,\n addedComponents,\n version,\n failedComponents,\n leftUnresolvedConflicts,\n newFromLane: newFromLane?.map((n) => n.toString()),\n newFromLaneAdded,\n workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n };\n }\n\n /**\n * if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.\n * returns the restored component ids.\n */\n async restoreMissingComponents(checkoutProps: CheckoutProps): Promise<ComponentID[] | undefined> {\n if (checkoutProps.reset) {\n checkoutProps.restoreMissingComponents = true;\n }\n if (!checkoutProps.restoreMissingComponents) return undefined;\n const ids = checkoutProps.ids || [];\n const missing: ComponentID[] = [];\n await Promise.all(\n ids.map(async (id) => {\n const bitMapEntry = this.workspace.bitMap.getBitmapEntry(id, { ignoreVersion: true });\n if (bitMapEntry.noFilesError && bitMapEntry.noFilesError instanceof ComponentNotFoundInPath) {\n delete bitMapEntry.noFilesError;\n missing.push(id);\n }\n })\n );\n if (!missing.length) return undefined;\n const comps = await this.workspace.scope.getMany(missing);\n await this.componentWriter.writeMany({\n components: comps.map((c) => c.state._consumer),\n skipDependencyInstallation: true,\n skipUpdatingBitMap: true,\n });\n\n return missing;\n }\n\n async checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const { revert, head } = checkoutProps;\n this.logger.setStatusLine(revert ? 'reverting components...' : BEFORE_CHECKOUT);\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n await this.importer.importCurrentObjects(); // important. among others, it fetches the remote lane object and its new components.\n if (head) await this.makeLaneComponentsAvailableOnMain();\n await this.parseValues(componentPattern, checkoutProps);\n const checkoutResults = await this.checkout(checkoutProps);\n await consumer.onDestroy(`checkout (${componentPattern})`);\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !this.workspace.isExported(id)).map((id) => id.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importWithoutDeps(ComponentIdList.fromArray(notExported || []).toVersionLatest(), {\n cache: false,\n reason: 'for making sure the new components are really new and are not out-of-sync',\n includeUnexported: true,\n });\n } catch (err) {\n // don't stop the process. it's possible that the scope doesn't exist yet because these are new components\n this.logger.error(`unable to sync new components, if these components are really new, ignore the error`, err);\n }\n }\n\n private async makeLaneComponentsAvailableOnMain() {\n const unavailableOnMain = await this.workspace.getUnavailableOnMainComponents();\n if (!unavailableOnMain.length) return;\n this.workspace.bitMap.makeComponentsAvailableOnMain(unavailableOnMain);\n }\n\n private async parseValues(componentPattern: string, checkoutProps: CheckoutProps) {\n if (checkoutProps.head && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${HEAD}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (checkoutProps.latest && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${LATEST}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (componentPattern && checkoutProps.all) {\n throw new BitError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new BitError('please specify [component-pattern] or use --all flag');\n }\n if (checkoutProps.workspaceOnly && !checkoutProps.head) {\n throw new BitError(`--workspace-only flag can only be used with \"head\" (bit checkout head --workspace-only)`);\n }\n if (checkoutProps.reset || checkoutProps.head) {\n checkoutProps.includeLocallyDeleted = true;\n }\n\n const getIds = async () => {\n if (componentPattern) {\n return this.workspace.idsByPattern(componentPattern, true, {\n includeDeleted: checkoutProps.includeLocallyDeleted,\n });\n }\n return checkoutProps.includeLocallyDeleted ? this.workspace.listIdsIncludeRemoved() : this.workspace.listIds();\n };\n\n const idsOnWorkspace = await getIds();\n\n const currentLane = await this.workspace.consumer.getCurrentLaneObject();\n const currentLaneIds = currentLane?.toComponentIds();\n const ids = currentLaneIds ? idsOnWorkspace.filter((id) => currentLaneIds.hasWithoutVersion(id)) : idsOnWorkspace;\n checkoutProps.ids = ids.map((id) => (checkoutProps.head || checkoutProps.latest ? id.changeVersion(LATEST) : id));\n }\n\n private async getNewComponentsFromLane(ids: ComponentID[]): Promise<ComponentID[]> {\n // current lane object is up to date due to the previous `importCurrentObjects()` call\n const lane = await this.workspace.consumer.getCurrentLaneObject();\n if (!lane) {\n return [];\n }\n const laneBitIds = lane.toComponentIds();\n const newComponentIds = laneBitIds.filter((bitId) => !ids.find((id) => id.isEqualWithoutVersion(bitId)));\n const nonRemovedNewIds: ComponentID[] = [];\n await Promise.all(\n newComponentIds.map(async (id) => {\n const isRemoved = await this.workspace.scope.isComponentRemoved(id);\n if (!isRemoved) nonRemovedNewIds.push(id);\n })\n );\n return nonRemovedNewIds;\n }\n\n // eslint-disable-next-line complexity\n private async getComponentStatusBeforeMergeAttempt(\n id: ComponentID,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatusBeforeMergeAttempt> {\n const consumer = this.workspace.consumer;\n const {\n version,\n head: headVersion,\n ancestor,\n reset,\n revert,\n main,\n latest: latestVersion,\n versionPerId,\n forceOurs,\n forceTheirs,\n loadStash,\n } = checkoutProps;\n const repo = consumer.scope.objects;\n\n let existingBitMapId = consumer.bitMap.getComponentIdIfExist(id, { ignoreVersion: true });\n const getComponent = async () => {\n try {\n const results = await consumer.loadComponents(ComponentIdList.fromArray([id]));\n if (results.components[0]) return results.components[0];\n if (checkoutProps.includeLocallyDeleted && results.removedComponents[0]) {\n return results.removedComponents[0];\n }\n } catch (err) {\n if (checkoutProps.allowAddingComponentsFromScope && !existingBitMapId) return undefined;\n throw err;\n }\n return undefined;\n };\n const component = await getComponent();\n if (component) {\n // the component might fix an out-of-sync issue and as a result, the id has changed\n id = component.id;\n existingBitMapId = consumer.bitMap.getComponentIdIfExist(id, { ignoreVersion: true });\n }\n\n const componentModel = await consumer.scope.getModelComponentIfExist(id);\n const componentStatus: ComponentStatusBeforeMergeAttempt = { id };\n const returnFailure = (msg: string, unchangedLegitimately = false) => {\n componentStatus.unchangedMessage = msg;\n componentStatus.unchangedLegitimately = unchangedLegitimately;\n return componentStatus;\n };\n if (!componentModel) {\n return returnFailure(`component ${id.toString()} is new, no version to checkout`, true);\n }\n if (main && !componentModel.head) {\n return returnFailure(`component ${id.toString()} is not available on main`);\n }\n const unmerged = repo.unmergedComponents.getEntry(id);\n if (!reset && unmerged) {\n return returnFailure(\n `component ${id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`\n );\n }\n\n const getNewVersion = async (): Promise<string> => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (reset) return component!.id.version as string;\n if (headVersion) return componentModel.headIncludeRemote(repo);\n if (ancestor) {\n const previousParent = await componentModel.getRefOfAncestor(repo, ancestor);\n return componentModel.getTagOfRefIfExists(previousParent)?.toString() || previousParent.toString();\n }\n // we verified previously that head exists in case of \"main\"\n if (main) return componentModel.head?.toString() as string;\n if (latestVersion) {\n const latest = componentModel.latestVersionIfExist();\n return latest || componentModel.headIncludeRemote(repo);\n }\n if (versionPerId) {\n return versionPerId.find((bitId) => bitId.isEqualWithoutVersion(id))?.version as string;\n }\n\n // if all above are false, the version is defined\n return version as string;\n };\n const newVersion = await getNewVersion();\n if (version && !headVersion) {\n const hasVersion = await componentModel.hasVersion(version, repo);\n if (!hasVersion) return returnFailure(`component ${id.toStringWithoutVersion()} doesn't have version ${version}`);\n }\n const currentlyUsedVersion = existingBitMapId?.version;\n if (existingBitMapId && !currentlyUsedVersion) {\n return returnFailure(`component ${id.toStringWithoutVersion()} is new`);\n }\n if (version && currentlyUsedVersion === version) {\n // it won't be relevant for 'reset' as it doesn't have a version\n return returnFailure(`component ${id.toStringWithoutVersion()} is already at version ${version}`, true);\n }\n if (headVersion && currentlyUsedVersion === newVersion) {\n return returnFailure(\n `component ${id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`,\n true\n );\n }\n if (!reset) {\n const divergeDataForMergePending = await componentModel.getDivergeDataForMergePending(repo);\n const isMergePending = divergeDataForMergePending.isDiverged();\n if (isMergePending) {\n return returnFailure(`component is merge-pending and cannot be checked out, run \"bit status\" for more info`);\n }\n }\n let isModified = false;\n if (currentlyUsedVersion) {\n const currentVersionObject: Version = await componentModel.loadVersion(currentlyUsedVersion, repo);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n isModified = await consumer.isComponentModified(currentVersionObject, component!);\n const isRemoved = component && component.isRemoved();\n if (!isModified && !isRemoved && reset) {\n return returnFailure(`component ${id.toStringWithoutVersion()} is not modified`, true);\n }\n }\n\n const versionRef = componentModel.getRef(newVersion);\n if (!versionRef) throw new Error(`unable to get ref ${newVersion} from ${componentModel.id()}`);\n const componentVersion = (await consumer.scope.getObject(versionRef.hash)) as Version | undefined;\n if (componentVersion?.isRemoved()) {\n if (existingBitMapId) componentStatus.shouldBeRemoved = true;\n return returnFailure(`component has been removed`, true);\n }\n\n const newId = id.changeVersion(newVersion);\n\n if (reset || (!isModified && !loadStash) || revert || !currentlyUsedVersion || forceTheirs || forceOurs) {\n // if the component is not modified, no need to try merge the files, they will be written later on according to the\n // checked out version. same thing when no version is specified, it'll be reset to the model-version later.\n // in case of \"loadStash\", we want to merge the stashed modifications regardless whether it's modified currently.\n\n // if !currentlyUsedVersion it only exists in the model, so just write it. (happening during bit-switch/bit-lane-import)\n return { currentComponent: component, componentFromModel: componentVersion, id: newId };\n }\n\n const propsForMerge = {\n currentlyUsedVersion,\n componentModel,\n };\n\n return { currentComponent: component, componentFromModel: componentVersion, id: newId, propsForMerge };\n }\n\n private async getMergeStatus(\n { currentComponent: componentFromFS, componentFromModel, id, propsForMerge }: ComponentStatusBeforeMergeAttempt,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatus> {\n if (!propsForMerge) throw new Error(`propsForMerge is missing for ${id.toString()}`);\n if (!componentFromFS) throw new Error(`componentFromFS is missing for ${id.toString()}`);\n const consumer = this.workspace.consumer;\n const repo = consumer.scope.objects;\n const { currentlyUsedVersion, componentModel } = propsForMerge;\n\n // this is tricky. imagine the user is 0.0.2+modification and wants to checkout to 0.0.1.\n // the base is 0.0.1, as it's the common version for 0.0.1 and 0.0.2. however, if we let git merge-file use the 0.0.1\n // as the base, then, it'll get the changes done since 0.0.1 to 0.0.1, which is nothing, and put them on top of\n // 0.0.2+modification. in other words, it won't make any change.\n // this scenario of checking out while there are modified files, is forbidden in Git. here, we want to simulate a similar\n // experience of \"git stash\", then \"git checkout\", then \"git stash pop\". practically, we want the changes done on 0.0.2\n // to be added to 0.0.1\n // if there is no modification, it doesn't go the threeWayMerge anyway, so it doesn't matter what the base is.\n let baseVersion = currentlyUsedVersion;\n const newVersion = id.version as string;\n let baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n const { loadStash } = checkoutProps;\n if (loadStash && otherComponent.parents.length) {\n // for stash, we want the stashed modifications to be added on top of the current version.\n // for this to happen, the \"base\" must be the parent of the stashed version.\n const parent = otherComponent.parents[0];\n baseVersion = parent.toString();\n baseComponent = await componentModel.loadVersion(baseVersion, repo);\n }\n\n const mergeResults = await threeWayMerge({\n scope: consumer.scope,\n otherComponent,\n otherLabel: loadStash ? 'stash' : newVersion,\n currentComponent: componentFromFS,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n\n return { currentComponent: componentFromFS, componentFromModel, id, mergeResults };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect, ComponentWriterAspect, ImporterAspect, RemoveAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, loggerMain, compWriter, importer, remove]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ComponentWriterMain,\n ImporterMain,\n RemoveMain\n ]) {\n const logger = loggerMain.createLogger(CheckoutAspect.id);\n const checkoutMain = new CheckoutMain(workspace, logger, compWriter, importer, remove);\n cli.register(new CheckoutCmd(checkoutMain), new RevertCmd(checkoutMain));\n return checkoutMain;\n }\n}\n\nCheckoutAspect.addRuntime(CheckoutMain);\n\nexport default CheckoutMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_logger","_workspace","_bitError","_lodash","_loaderMessages","_remove","_merging","_importer","_constants","_componentWriter","_pMapSeries","_interopRequireDefault","_componentId","_repositories","_componentNotFoundInPath","_checkoutCmd","_checkout","_checkoutVersion","_revertCmd","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","CheckoutMain","constructor","workspace","logger","componentWriter","importer","remove","checkout","checkoutProps","inInstallContext","consumer","version","ids","promptMergeOptions","syncNewComponents","addedComponents","restoreMissingComponents","bitIds","ComponentIdList","fromArray","map","id","allComponentStatusBeforeMerge","mapSeries","getComponentStatusBeforeMergeAttempt","compsNeedMerge","c","propsForMerge","compsNotNeedMerge","toImport","compStatus","idsToImport","changeVersion","currentlyUsedVersion","flat","scope","legacyScope","scopeImporter","importWithoutDeps","cache","lane","getComponentsStatusOfMergeNeeded","tmp","Tmp","afterMergeAttempt","Promise","all","getMergeStatus","clear","err","compStatusMergeNeeded","allComponentsStatus","componentWithConflict","find","component","mergeResults","hasConflicts","mergeStrategy","BitError","toStringWithoutVersion","getMergeStrategyInteractive","throwForFailures","failedComponents","componentStatus","unchangedMessage","shouldBeRemoved","unchangedLegitimately","succeededComponents","checkoutPropsLegacy","componentsResults","currentComponent","applyVersion","componentsLegacy","compact","newFromLane","newFromLaneAdded","head","getNewComponentsFromLane","workspaceOnly","compsNewFromLane","loadComponentFromModelImportIfNeeded","leftUnresolvedConflicts","componentWriterResults","manyComponentsWriterOpts","components","skipDependencyInstallation","skipNpmInstall","verbose","resetConfig","reset","skipUpdatingBitMap","skipUpdatingBitmap","revert","shouldUpdateWorkspaceConfig","reasonForBitmapChange","writeMany","appliedVersionComponents","applyVersionResult","componentIdsToRemove","undefined","removeLocallyByIds","force","reasonForRemoval","removedComponents","n","toString","workspaceConfigUpdateResult","installationError","compilationError","missing","bitMapEntry","bitMap","getBitmapEntry","ignoreVersion","noFilesError","ComponentNotFoundInPath","comps","getMany","state","_consumer","checkoutByCLIValues","componentPattern","setStatusLine","BEFORE_CHECKOUT","OutsideWorkspaceError","importCurrentObjects","makeLaneComponentsAvailableOnMain","parseValues","checkoutResults","onDestroy","notExported","isExported","changeScope","scopeComponentsImporter","toVersionLatest","reason","includeUnexported","error","unavailableOnMain","getUnavailableOnMainComponents","makeComponentsAvailableOnMain","console","HEAD","latest","LATEST","includeLocallyDeleted","getIds","idsByPattern","includeDeleted","listIdsIncludeRemoved","listIds","idsOnWorkspace","currentLane","getCurrentLaneObject","currentLaneIds","toComponentIds","hasWithoutVersion","laneBitIds","newComponentIds","bitId","isEqualWithoutVersion","nonRemovedNewIds","isRemoved","isComponentRemoved","headVersion","ancestor","main","latestVersion","versionPerId","forceOurs","forceTheirs","loadStash","repo","objects","existingBitMapId","getComponentIdIfExist","getComponent","results","loadComponents","allowAddingComponentsFromScope","componentModel","getModelComponentIfExist","returnFailure","msg","unmerged","unmergedComponents","getEntry","getNewVersion","headIncludeRemote","previousParent","getRefOfAncestor","getTagOfRefIfExists","latestVersionIfExist","newVersion","hasVersion","divergeDataForMergePending","getDivergeDataForMergePending","isMergePending","isDiverged","isModified","currentVersionObject","loadVersion","isComponentModified","versionRef","getRef","Error","componentVersion","getObject","hash","newId","componentFromModel","componentFromFS","baseVersion","baseComponent","otherComponent","parents","parent","threeWayMerge","otherLabel","currentLabel","provider","cli","loggerMain","compWriter","createLogger","CheckoutAspect","checkoutMain","register","CheckoutCmd","RevertCmd","exports","CLIAspect","WorkspaceAspect","LoggerAspect","ComponentWriterAspect","ImporterAspect","RemoveAspect","MainRuntime","addRuntime","_default"],"sources":["checkout.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport { compact } from 'lodash';\nimport { BEFORE_CHECKOUT } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\nimport {\n ApplyVersionResults,\n FailedComponents,\n threeWayMerge,\n getMergeStrategyInteractive,\n MergeStrategy,\n} from '@teambit/merging';\nimport { ImporterAspect, ImporterMain } from '@teambit/importer';\nimport { HEAD, LATEST } from '@teambit/legacy/dist/constants';\nimport { ComponentWriterAspect, ComponentWriterMain } from '@teambit/component-writer';\nimport mapSeries from 'p-map-series';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport { Version, ModelComponent, Lane } from '@teambit/legacy/dist/scope/models';\nimport { Tmp } from '@teambit/legacy/dist/scope/repositories';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport { CheckoutCmd } from './checkout-cmd';\nimport { CheckoutAspect } from './checkout.aspect';\nimport { applyVersion, ComponentStatus, ComponentStatusBase, throwForFailures } from './checkout-version';\nimport { RevertCmd } from './revert-cmd';\n\nexport type CheckoutProps = {\n version?: string; // if reset/head/latest is true, the version is undefined\n ids?: ComponentID[];\n head?: boolean;\n ancestor?: number; // how many generations to go backward\n latest?: boolean;\n main?: boolean; // relevant for \"revert\" only\n promptMergeOptions?: boolean;\n mergeStrategy?: MergeStrategy; // strategy to use in case of conflicts\n forceOurs?: boolean; // regardless of conflicts, use ours\n forceTheirs?: boolean; // regardless of conflicts, use theirs\n verbose?: boolean;\n skipNpmInstall?: boolean;\n reset?: boolean; // remove local changes. if set, the version is undefined.\n revert?: boolean; // change the files according to the given version, but don't change the bitmap version and don't try to merge\n all?: boolean; // checkout all ids\n isLane?: boolean;\n lane?: Lane; // currently needed for \"bit switch\" to tell the \"fetch\" where to fetch from\n workspaceOnly?: boolean;\n versionPerId?: ComponentID[]; // if given, the ComponentID.version is the version to checkout to.\n skipUpdatingBitmap?: boolean; // needed for stash\n loadStash?: boolean;\n restoreMissingComponents?: boolean; // in case .bitmap has a component and it's missing from the workspace, restore it (from model)\n allowAddingComponentsFromScope?: boolean; // in case the id doesn't exist in .bitmap, add it from the scope (relevant for switch)\n includeLocallyDeleted?: boolean; // include components that were deleted locally. currently enabled for \"bit checkout reset\" only.\n};\n\nexport type ComponentStatusBeforeMergeAttempt = ComponentStatusBase & {\n propsForMerge?: {\n currentlyUsedVersion: string;\n componentModel: ModelComponent;\n };\n};\n\nexport class CheckoutMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private componentWriter: ComponentWriterMain,\n private importer: ImporterMain,\n private remove: RemoveMain\n ) {}\n\n async checkout(checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n this.workspace.inInstallContext = true;\n const consumer = this.workspace.consumer;\n const { version, ids, promptMergeOptions } = checkoutProps;\n await this.syncNewComponents(checkoutProps);\n const addedComponents = await this.restoreMissingComponents(checkoutProps);\n const bitIds = ComponentIdList.fromArray(ids?.map((id) => id) || []);\n // don't use Promise.all, it loads the components and this operation must be in sequence.\n const allComponentStatusBeforeMerge = await mapSeries(bitIds, (id) =>\n this.getComponentStatusBeforeMergeAttempt(id, checkoutProps)\n );\n const compsNeedMerge = allComponentStatusBeforeMerge.filter((c) => c.propsForMerge);\n const compsNotNeedMerge = allComponentStatusBeforeMerge.filter((c) => !c.propsForMerge) as ComponentStatus[];\n\n // in case the requested versions to checkout don't exist locally, import them.\n const toImport = allComponentStatusBeforeMerge\n .map((compStatus) => {\n const idsToImport = [compStatus.id];\n if (compStatus.propsForMerge) {\n idsToImport.push(compStatus.id.changeVersion(compStatus.propsForMerge.currentlyUsedVersion));\n }\n return idsToImport;\n })\n .flat();\n\n await this.workspace.scope.legacyScope.scopeImporter.importWithoutDeps(ComponentIdList.fromArray(toImport), {\n cache: true,\n lane: checkoutProps.lane,\n });\n\n const getComponentsStatusOfMergeNeeded = async (): Promise<ComponentStatus[]> => {\n const tmp = new Tmp(consumer.scope);\n try {\n const afterMergeAttempt = await Promise.all(compsNeedMerge.map((c) => this.getMergeStatus(c, checkoutProps)));\n await tmp.clear();\n return afterMergeAttempt;\n } catch (err: any) {\n await tmp.clear();\n throw err;\n }\n };\n\n const compStatusMergeNeeded = await getComponentsStatusOfMergeNeeded();\n\n const allComponentsStatus: ComponentStatus[] = [...compStatusMergeNeeded, ...compsNotNeedMerge];\n const componentWithConflict = allComponentsStatus.find(\n (component) => component.mergeResults && component.mergeResults.hasConflicts\n );\n if (componentWithConflict) {\n if (!promptMergeOptions && !checkoutProps.mergeStrategy) {\n throw new BitError(\n `automatic merge has failed for component ${componentWithConflict.id.toStringWithoutVersion()}.\\nplease use \"--auto-merge-resolve\" with 'manual', 'ours' or 'theirs' to resolve the conflict/s`\n );\n }\n if (!checkoutProps.mergeStrategy) checkoutProps.mergeStrategy = await getMergeStrategyInteractive();\n }\n\n throwForFailures(allComponentsStatus);\n\n const failedComponents: FailedComponents[] = allComponentsStatus\n .filter((componentStatus) => componentStatus.unchangedMessage)\n .filter((componentStatus) => !componentStatus.shouldBeRemoved)\n .map((componentStatus) => ({\n id: componentStatus.id,\n unchangedMessage: componentStatus.unchangedMessage as string,\n unchangedLegitimately: componentStatus.unchangedLegitimately,\n }));\n\n const succeededComponents = allComponentsStatus.filter((componentStatus) => !componentStatus.unchangedMessage);\n // do not use Promise.all for applyVersion. otherwise, it'll write all components in parallel,\n // which can be an issue when some components are also dependencies of others\n const checkoutPropsLegacy = { ...checkoutProps, ids: checkoutProps.ids?.map((id) => id) };\n const componentsResults = await mapSeries(succeededComponents, ({ id, currentComponent, mergeResults }) => {\n return applyVersion(consumer, id, currentComponent, mergeResults, checkoutPropsLegacy);\n });\n\n const componentsLegacy = compact(componentsResults.map((c) => c.component));\n\n let newFromLane: ComponentID[] | undefined;\n let newFromLaneAdded = false;\n if (checkoutProps.head) {\n newFromLane = await this.getNewComponentsFromLane(checkoutProps.ids || []);\n if (!checkoutProps.workspaceOnly) {\n const compsNewFromLane = await Promise.all(\n newFromLane.map((id) => consumer.loadComponentFromModelImportIfNeeded(id))\n );\n componentsLegacy.push(...compsNewFromLane);\n newFromLaneAdded = true;\n }\n }\n\n const leftUnresolvedConflicts = componentWithConflict && checkoutProps.mergeStrategy === 'manual';\n let componentWriterResults;\n if (componentsLegacy.length) {\n const manyComponentsWriterOpts = {\n components: componentsLegacy,\n skipDependencyInstallation: checkoutProps.skipNpmInstall || leftUnresolvedConflicts,\n verbose: checkoutProps.verbose,\n resetConfig: checkoutProps.reset,\n skipUpdatingBitMap: checkoutProps.skipUpdatingBitmap || checkoutProps.revert,\n shouldUpdateWorkspaceConfig: true,\n reasonForBitmapChange: 'checkout',\n mergeStrategy: checkoutProps.mergeStrategy,\n };\n componentWriterResults = await this.componentWriter.writeMany(manyComponentsWriterOpts);\n }\n\n const appliedVersionComponents = componentsResults.map((c) => c.applyVersionResult);\n\n const componentIdsToRemove = allComponentsStatus\n .filter((componentStatus) => componentStatus.shouldBeRemoved)\n .map((c) => c.id.changeVersion(undefined));\n\n if (componentIdsToRemove.length) {\n await this.remove.removeLocallyByIds(componentIdsToRemove, { force: true, reasonForRemoval: 'checkout' });\n }\n\n return {\n components: appliedVersionComponents,\n removedComponents: componentIdsToRemove,\n addedComponents,\n version,\n failedComponents,\n leftUnresolvedConflicts,\n newFromLane: newFromLane?.map((n) => n.toString()),\n newFromLaneAdded,\n workspaceConfigUpdateResult: componentWriterResults?.workspaceConfigUpdateResult,\n installationError: componentWriterResults?.installationError,\n compilationError: componentWriterResults?.compilationError,\n };\n }\n\n /**\n * if .bitmap entry exists but the rootDir is missing from the filesystem, find the component in the scope and restore it.\n * returns the restored component ids.\n */\n async restoreMissingComponents(checkoutProps: CheckoutProps): Promise<ComponentID[] | undefined> {\n if (checkoutProps.reset) {\n checkoutProps.restoreMissingComponents = true;\n }\n if (!checkoutProps.restoreMissingComponents) return undefined;\n const ids = checkoutProps.ids || [];\n const missing: ComponentID[] = [];\n await Promise.all(\n ids.map(async (id) => {\n const bitMapEntry = this.workspace.bitMap.getBitmapEntry(id, { ignoreVersion: true });\n if (bitMapEntry.noFilesError && bitMapEntry.noFilesError instanceof ComponentNotFoundInPath) {\n delete bitMapEntry.noFilesError;\n missing.push(id);\n }\n })\n );\n if (!missing.length) return undefined;\n const comps = await this.workspace.scope.getMany(missing);\n await this.componentWriter.writeMany({\n components: comps.map((c) => c.state._consumer),\n skipDependencyInstallation: true,\n skipUpdatingBitMap: true,\n });\n\n return missing;\n }\n\n async checkoutByCLIValues(componentPattern: string, checkoutProps: CheckoutProps): Promise<ApplyVersionResults> {\n const { revert, head } = checkoutProps;\n this.logger.setStatusLine(revert ? 'reverting components...' : BEFORE_CHECKOUT);\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n await this.importer.importCurrentObjects(); // important. among others, it fetches the remote lane object and its new components.\n if (head) await this.makeLaneComponentsAvailableOnMain();\n await this.parseValues(componentPattern, checkoutProps);\n const checkoutResults = await this.checkout(checkoutProps);\n await consumer.onDestroy(`checkout (${componentPattern})`);\n return checkoutResults;\n }\n\n private async syncNewComponents({ ids, head }: CheckoutProps) {\n if (!head) return;\n const notExported = ids?.filter((id) => !this.workspace.isExported(id)).map((id) => id.changeScope(id.scope));\n const scopeComponentsImporter = this.workspace.consumer.scope.scopeImporter;\n try {\n await scopeComponentsImporter.importWithoutDeps(ComponentIdList.fromArray(notExported || []).toVersionLatest(), {\n cache: false,\n reason: 'for making sure the new components are really new and are not out-of-sync',\n includeUnexported: true,\n });\n } catch (err) {\n // don't stop the process. it's possible that the scope doesn't exist yet because these are new components\n this.logger.error(`unable to sync new components, if these components are really new, ignore the error`, err);\n }\n }\n\n private async makeLaneComponentsAvailableOnMain() {\n const unavailableOnMain = await this.workspace.getUnavailableOnMainComponents();\n if (!unavailableOnMain.length) return;\n this.workspace.bitMap.makeComponentsAvailableOnMain(unavailableOnMain);\n }\n\n private async parseValues(componentPattern: string, checkoutProps: CheckoutProps) {\n if (checkoutProps.head && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${HEAD}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (checkoutProps.latest && !componentPattern) {\n if (checkoutProps.all) {\n this.logger.console(`\"--all\" is deprecated for \"bit checkout ${LATEST}\", please omit it.`);\n }\n checkoutProps.all = true;\n }\n if (componentPattern && checkoutProps.all) {\n throw new BitError('please specify either [component-pattern] or --all, not both');\n }\n if (!componentPattern && !checkoutProps.all) {\n throw new BitError('please specify [component-pattern] or use --all flag');\n }\n if (checkoutProps.workspaceOnly && !checkoutProps.head) {\n throw new BitError(`--workspace-only flag can only be used with \"head\" (bit checkout head --workspace-only)`);\n }\n if (checkoutProps.reset || checkoutProps.head) {\n checkoutProps.includeLocallyDeleted = true;\n }\n\n const getIds = async () => {\n if (componentPattern) {\n return this.workspace.idsByPattern(componentPattern, true, {\n includeDeleted: checkoutProps.includeLocallyDeleted,\n });\n }\n return checkoutProps.includeLocallyDeleted ? this.workspace.listIdsIncludeRemoved() : this.workspace.listIds();\n };\n\n const idsOnWorkspace = await getIds();\n\n const currentLane = await this.workspace.consumer.getCurrentLaneObject();\n const currentLaneIds = currentLane?.toComponentIds();\n const ids = currentLaneIds ? idsOnWorkspace.filter((id) => currentLaneIds.hasWithoutVersion(id)) : idsOnWorkspace;\n checkoutProps.ids = ids.map((id) => (checkoutProps.head || checkoutProps.latest ? id.changeVersion(LATEST) : id));\n }\n\n private async getNewComponentsFromLane(ids: ComponentID[]): Promise<ComponentID[]> {\n // current lane object is up to date due to the previous `importCurrentObjects()` call\n const lane = await this.workspace.consumer.getCurrentLaneObject();\n if (!lane) {\n return [];\n }\n const laneBitIds = lane.toComponentIds();\n const newComponentIds = laneBitIds.filter((bitId) => !ids.find((id) => id.isEqualWithoutVersion(bitId)));\n const nonRemovedNewIds: ComponentID[] = [];\n await Promise.all(\n newComponentIds.map(async (id) => {\n const isRemoved = await this.workspace.scope.isComponentRemoved(id);\n if (!isRemoved) nonRemovedNewIds.push(id);\n })\n );\n return nonRemovedNewIds;\n }\n\n // eslint-disable-next-line complexity\n private async getComponentStatusBeforeMergeAttempt(\n id: ComponentID,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatusBeforeMergeAttempt> {\n const consumer = this.workspace.consumer;\n const {\n version,\n head: headVersion,\n ancestor,\n reset,\n revert,\n main,\n latest: latestVersion,\n versionPerId,\n forceOurs,\n forceTheirs,\n loadStash,\n } = checkoutProps;\n const repo = consumer.scope.objects;\n\n let existingBitMapId = consumer.bitMap.getComponentIdIfExist(id, { ignoreVersion: true });\n const getComponent = async () => {\n try {\n const results = await consumer.loadComponents(ComponentIdList.fromArray([id]));\n if (results.components[0]) return results.components[0];\n if (checkoutProps.includeLocallyDeleted && results.removedComponents[0]) {\n return results.removedComponents[0];\n }\n } catch (err) {\n if (checkoutProps.allowAddingComponentsFromScope && !existingBitMapId) return undefined;\n throw err;\n }\n return undefined;\n };\n const component = await getComponent();\n if (component) {\n // the component might fix an out-of-sync issue and as a result, the id has changed\n id = component.id;\n existingBitMapId = consumer.bitMap.getComponentIdIfExist(id, { ignoreVersion: true });\n }\n\n const componentModel = await consumer.scope.getModelComponentIfExist(id);\n const componentStatus: ComponentStatusBeforeMergeAttempt = { id };\n const returnFailure = (msg: string, unchangedLegitimately = false) => {\n componentStatus.unchangedMessage = msg;\n componentStatus.unchangedLegitimately = unchangedLegitimately;\n return componentStatus;\n };\n if (!componentModel) {\n return returnFailure(`component ${id.toString()} is new, no version to checkout`, true);\n }\n if (main && !componentModel.head) {\n return returnFailure(`component ${id.toString()} is not available on main`);\n }\n const unmerged = repo.unmergedComponents.getEntry(id);\n if (!reset && unmerged) {\n return returnFailure(\n `component ${id.toStringWithoutVersion()} is in during-merge state, please snap/tag it first (or use bit merge --resolve/--abort)`\n );\n }\n\n const getNewVersion = async (): Promise<string> => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (reset) return component!.id.version as string;\n if (headVersion) return componentModel.headIncludeRemote(repo);\n if (ancestor) {\n const previousParent = await componentModel.getRefOfAncestor(repo, ancestor);\n return componentModel.getTagOfRefIfExists(previousParent)?.toString() || previousParent.toString();\n }\n // we verified previously that head exists in case of \"main\"\n if (main) return componentModel.head?.toString() as string;\n if (latestVersion) {\n const latest = componentModel.latestVersionIfExist();\n return latest || componentModel.headIncludeRemote(repo);\n }\n if (versionPerId) {\n return versionPerId.find((bitId) => bitId.isEqualWithoutVersion(id))?.version as string;\n }\n\n // if all above are false, the version is defined\n return version as string;\n };\n const newVersion = await getNewVersion();\n if (version && !headVersion) {\n const hasVersion = await componentModel.hasVersion(version, repo);\n if (!hasVersion) return returnFailure(`component ${id.toStringWithoutVersion()} doesn't have version ${version}`);\n }\n const currentlyUsedVersion = existingBitMapId?.version;\n if (existingBitMapId && !currentlyUsedVersion) {\n return returnFailure(`component ${id.toStringWithoutVersion()} is new`);\n }\n if (version && currentlyUsedVersion === version) {\n // it won't be relevant for 'reset' as it doesn't have a version\n return returnFailure(`component ${id.toStringWithoutVersion()} is already at version ${version}`, true);\n }\n if (headVersion && currentlyUsedVersion === newVersion) {\n return returnFailure(\n `component ${id.toStringWithoutVersion()} is already at the latest version, which is ${newVersion}`,\n true\n );\n }\n if (!reset) {\n const divergeDataForMergePending = await componentModel.getDivergeDataForMergePending(repo);\n const isMergePending = divergeDataForMergePending.isDiverged();\n if (isMergePending) {\n return returnFailure(`component is merge-pending and cannot be checked out, run \"bit status\" for more info`);\n }\n }\n let isModified = false;\n if (currentlyUsedVersion) {\n const currentVersionObject: Version = await componentModel.loadVersion(currentlyUsedVersion, repo);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n isModified = await consumer.isComponentModified(currentVersionObject, component!);\n const isRemoved = component && component.isRemoved();\n if (!isModified && !isRemoved && reset) {\n return returnFailure(`component ${id.toStringWithoutVersion()} is not modified`, true);\n }\n }\n\n const versionRef = componentModel.getRef(newVersion);\n if (!versionRef) throw new Error(`unable to get ref ${newVersion} from ${componentModel.id()}`);\n const componentVersion = (await consumer.scope.getObject(versionRef.hash)) as Version | undefined;\n if (componentVersion?.isRemoved()) {\n if (existingBitMapId) componentStatus.shouldBeRemoved = true;\n return returnFailure(`component has been removed`, true);\n }\n\n const newId = id.changeVersion(newVersion);\n\n if (reset || (!isModified && !loadStash) || revert || !currentlyUsedVersion || forceTheirs || forceOurs) {\n // if the component is not modified, no need to try merge the files, they will be written later on according to the\n // checked out version. same thing when no version is specified, it'll be reset to the model-version later.\n // in case of \"loadStash\", we want to merge the stashed modifications regardless whether it's modified currently.\n\n // if !currentlyUsedVersion it only exists in the model, so just write it. (happening during bit-switch/bit-lane-import)\n return { currentComponent: component, componentFromModel: componentVersion, id: newId };\n }\n\n const propsForMerge = {\n currentlyUsedVersion,\n componentModel,\n };\n\n return { currentComponent: component, componentFromModel: componentVersion, id: newId, propsForMerge };\n }\n\n private async getMergeStatus(\n { currentComponent: componentFromFS, componentFromModel, id, propsForMerge }: ComponentStatusBeforeMergeAttempt,\n checkoutProps: CheckoutProps\n ): Promise<ComponentStatus> {\n if (!propsForMerge) throw new Error(`propsForMerge is missing for ${id.toString()}`);\n if (!componentFromFS) throw new Error(`componentFromFS is missing for ${id.toString()}`);\n const consumer = this.workspace.consumer;\n const repo = consumer.scope.objects;\n const { currentlyUsedVersion, componentModel } = propsForMerge;\n\n // this is tricky. imagine the user is 0.0.2+modification and wants to checkout to 0.0.1.\n // the base is 0.0.1, as it's the common version for 0.0.1 and 0.0.2. however, if we let git merge-file use the 0.0.1\n // as the base, then, it'll get the changes done since 0.0.1 to 0.0.1, which is nothing, and put them on top of\n // 0.0.2+modification. in other words, it won't make any change.\n // this scenario of checking out while there are modified files, is forbidden in Git. here, we want to simulate a similar\n // experience of \"git stash\", then \"git checkout\", then \"git stash pop\". practically, we want the changes done on 0.0.2\n // to be added to 0.0.1\n // if there is no modification, it doesn't go the threeWayMerge anyway, so it doesn't matter what the base is.\n let baseVersion = currentlyUsedVersion;\n const newVersion = id.version as string;\n let baseComponent: Version = await componentModel.loadVersion(baseVersion, repo);\n const otherComponent: Version = await componentModel.loadVersion(newVersion, repo);\n const { loadStash } = checkoutProps;\n if (loadStash && otherComponent.parents.length) {\n // for stash, we want the stashed modifications to be added on top of the current version.\n // for this to happen, the \"base\" must be the parent of the stashed version.\n const parent = otherComponent.parents[0];\n baseVersion = parent.toString();\n baseComponent = await componentModel.loadVersion(baseVersion, repo);\n }\n\n const mergeResults = await threeWayMerge({\n scope: consumer.scope,\n otherComponent,\n otherLabel: loadStash ? 'stash' : newVersion,\n currentComponent: componentFromFS,\n currentLabel: `${currentlyUsedVersion} modified`,\n baseComponent,\n });\n\n return { currentComponent: componentFromFS, componentFromModel, id, mergeResults };\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect, ComponentWriterAspect, ImporterAspect, RemoveAspect];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, loggerMain, compWriter, importer, remove]: [\n CLIMain,\n Workspace,\n LoggerMain,\n ComponentWriterMain,\n ImporterMain,\n RemoveMain\n ]) {\n const logger = loggerMain.createLogger(CheckoutAspect.id);\n const checkoutMain = new CheckoutMain(workspace, logger, compWriter, importer, remove);\n cli.register(new CheckoutCmd(checkoutMain), new RevertCmd(checkoutMain));\n return checkoutMain;\n }\n}\n\nCheckoutAspect.addRuntime(CheckoutMain);\n\nexport default CheckoutMain;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/checkout",
3
- "version": "1.0.383",
3
+ "version": "1.0.385",
4
4
  "homepage": "https://bit.cloud/teambit/component/checkout",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "checkout",
9
- "version": "1.0.383"
9
+ "version": "1.0.385"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -15,15 +15,15 @@
15
15
  "@teambit/bit-error": "0.0.404",
16
16
  "@teambit/component-id": "1.2.0",
17
17
  "@teambit/harmony": "0.4.6",
18
- "@teambit/cli": "0.0.960",
19
- "@teambit/merging": "1.0.383",
18
+ "@teambit/cli": "0.0.962",
19
+ "@teambit/merging": "1.0.385",
20
20
  "@teambit/component.sources": "0.0.20",
21
21
  "@teambit/legacy.utils": "0.0.4",
22
- "@teambit/component-writer": "1.0.383",
23
- "@teambit/importer": "1.0.383",
24
- "@teambit/logger": "0.0.1053",
25
- "@teambit/remove": "1.0.383",
26
- "@teambit/workspace": "1.0.383"
22
+ "@teambit/component-writer": "1.0.385",
23
+ "@teambit/importer": "1.0.385",
24
+ "@teambit/logger": "0.0.1055",
25
+ "@teambit/remove": "1.0.385",
26
+ "@teambit/workspace": "1.0.385"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/lodash": "4.14.165",
@@ -37,8 +37,8 @@
37
37
  "@teambit/harmony.envs.core-aspect-env": "0.0.47",
38
38
  "@teambit/component.testing.mock-components": "0.0.226",
39
39
  "@teambit/harmony.testing.load-aspect": "0.0.221",
40
- "@teambit/lister": "1.0.383",
41
- "@teambit/snapping": "1.0.383",
40
+ "@teambit/lister": "1.0.385",
41
+ "@teambit/snapping": "1.0.385",
42
42
  "@teambit/workspace.testing.mock-workspace": "0.0.27"
43
43
  },
44
44
  "peerDependencies": {