shakapacker 6.5.0 → 6.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +18 -6
  4. data/Gemfile +1 -10
  5. data/Gemfile.development_dependencies +13 -0
  6. data/README.md +9 -35
  7. data/docs/react.md +10 -1
  8. data/docs/v6_upgrade.md +7 -19
  9. data/lib/webpacker/configuration.rb +6 -2
  10. data/lib/webpacker/env.rb +2 -4
  11. data/lib/webpacker/helper.rb +6 -0
  12. data/lib/webpacker/version.rb +1 -1
  13. data/lib/webpacker/version_checker.rb +72 -9
  14. data/lib/webpacker.rb +2 -0
  15. data/package.json +1 -1
  16. data/test/configuration_test.rb +75 -13
  17. data/test/env_test.rb +1 -1
  18. data/test/fixtures/beta_package-lock.v1.json +119 -0
  19. data/test/fixtures/beta_package-lock.v2.json +6777 -0
  20. data/test/fixtures/beta_package.json +1 -1
  21. data/test/fixtures/beta_yarn.v1.lock +106 -0
  22. data/test/fixtures/beta_yarn.v2.lock +164 -0
  23. data/test/fixtures/git_url_package-lock.v1.json +118 -0
  24. data/test/fixtures/git_url_package-lock.v2.json +10263 -0
  25. data/test/fixtures/git_url_package.json +1 -1
  26. data/test/fixtures/git_url_yarn.v1.lock +106 -0
  27. data/test/fixtures/git_url_yarn.v2.lock +165 -0
  28. data/test/fixtures/github_url_package-lock.v1.json +118 -0
  29. data/test/fixtures/github_url_package-lock.v2.json +10263 -0
  30. data/test/fixtures/github_url_package.json +1 -1
  31. data/test/fixtures/github_url_yarn.v1.lock +105 -0
  32. data/test/fixtures/github_url_yarn.v2.lock +165 -0
  33. data/test/fixtures/relative_path_package-lock.v1.json +3468 -0
  34. data/test/fixtures/relative_path_package-lock.v2.json +105 -0
  35. data/test/fixtures/relative_path_package.json +1 -1
  36. data/test/fixtures/relative_path_yarn.v1.lock +104 -0
  37. data/test/fixtures/relative_path_yarn.v2.lock +165 -0
  38. data/test/fixtures/semver_caret_package-lock.v1.json +119 -0
  39. data/test/fixtures/semver_caret_package-lock.v2.json +10264 -0
  40. data/test/fixtures/semver_caret_yarn.v1.lock +106 -0
  41. data/test/fixtures/semver_caret_yarn.v2.lock +165 -0
  42. data/test/fixtures/semver_exact_package-lock.v1.json +119 -0
  43. data/test/fixtures/semver_exact_package-lock.v2.json +6819 -0
  44. data/test/fixtures/{normal_package.json → semver_exact_package.json} +0 -0
  45. data/test/fixtures/semver_exact_yarn.v1.lock +106 -0
  46. data/test/fixtures/semver_exact_yarn.v2.lock +165 -0
  47. data/test/fixtures/semver_tilde_package-lock.v1.json +119 -0
  48. data/test/fixtures/semver_tilde_package-lock.v2.json +6777 -0
  49. data/test/fixtures/semver_tilde_yarn.v1.lock +106 -0
  50. data/test/fixtures/semver_tilde_yarn.v2.lock +164 -0
  51. data/test/fixtures/without_package-lock.v1.json +19 -0
  52. data/test/fixtures/without_package-lock.v2.json +47 -0
  53. data/test/fixtures/without_yarn.v1.lock +13 -0
  54. data/test/fixtures/without_yarn.v2.lock +29 -0
  55. data/test/test_app/config/webpacker_defaults_fallback.yml +11 -0
  56. data/test/version_checker_test.rb +575 -20
  57. metadata +72 -6
  58. data/Gemfile.lock +0 -193
@@ -38,7 +38,7 @@ class VersionCheckerTest < Minitest::Test
38
38
  end
39
39
 
40
40
  assert_match \
41
- "Webpacker::VersionChecker - Version mismatch detected",
41
+ "Webpacker::VersionChecker - Version mismatch",
42
42
  err
43
43
  end
44
44
 
@@ -50,7 +50,7 @@ class VersionCheckerTest < Minitest::Test
50
50
  end
51
51
 
52
52
  assert_match \
53
- "Webpacker::VersionChecker - Semver wildcard detected",
53
+ "Webpacker::VersionChecker - Semver wildcard without a lockfile detected",
54
54
  err
55
55
  end
56
56
 
@@ -127,7 +127,7 @@ class VersionCheckerTest < Minitest::Test
127
127
  end
128
128
 
129
129
  def test_no_raise_on_skipped_path
130
- node_package_version = NodePackageVersionDouble.new(raw: "../shakapacker", skip_processing: true)
130
+ node_package_version = NodePackageVersionDouble.new(raw: "../..", skip_processing: true)
131
131
 
132
132
  assert_silent do
133
133
  check_version(node_package_version, "6.0.0")
@@ -135,34 +135,37 @@ class VersionCheckerTest < Minitest::Test
135
135
  end
136
136
  end
137
137
 
138
- class NodePackageVersionTest < Minitest::Test
139
- def node_package_version(fixture_version: "normal")
140
- file_path = File.expand_path("fixtures/#{fixture_version}_package.json", __dir__)
141
- Webpacker::VersionChecker::NodePackageVersion.new(file_path)
138
+ class NodePackageVersionTest_NoLockfile < Minitest::Test
139
+ def node_package_version(fixture_version:)
140
+ Webpacker::VersionChecker::NodePackageVersion.new(
141
+ File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
142
+ "file/does/not/exist",
143
+ "file/does/not/exist"
144
+ )
142
145
  end
143
146
 
144
- def test_normal_package_raw
145
- assert_equal "6.0.0", node_package_version.raw
147
+ def test_exact_package_raw
148
+ assert_equal "6.0.0", node_package_version(fixture_version: "semver_exact").raw
146
149
  end
147
150
 
148
- def test_normal_package_major_minor_patch
149
- assert_equal ["6", "0", "0"], node_package_version.major_minor_patch
151
+ def test_exact_package_major_minor_patch
152
+ assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_exact").major_minor_patch
150
153
  end
151
154
 
152
- def test_normal_package_skip_processing
153
- assert_equal false, node_package_version.skip_processing?
155
+ def test_exact_package_skip_processing
156
+ assert_equal false, node_package_version(fixture_version: "semver_exact").skip_processing?
154
157
  end
155
158
 
156
- def test_normal_package_semver_wildcard
157
- assert_equal false, node_package_version.semver_wildcard?
159
+ def test_exact_package_semver_wildcard
160
+ assert_equal false, node_package_version(fixture_version: "semver_exact").semver_wildcard?
158
161
  end
159
162
 
160
163
  def test_beta_package_raw
161
- assert_equal "6.0.0-beta.1", node_package_version(fixture_version: "beta").raw
164
+ assert_equal "6.1.0-beta.0", node_package_version(fixture_version: "beta").raw
162
165
  end
163
166
 
164
167
  def test_beta_package_major_minor_patch
165
- assert_equal ["6", "0", "0"], node_package_version(fixture_version: "beta").major_minor_patch
168
+ assert_equal ["6", "1", "0"], node_package_version(fixture_version: "beta").major_minor_patch
166
169
  end
167
170
 
168
171
  def test_beta_package_skip_processing
@@ -206,7 +209,7 @@ class NodePackageVersionTest < Minitest::Test
206
209
  end
207
210
 
208
211
  def test_relative_path_package_raw
209
- assert_equal "../shakapacker", node_package_version(fixture_version: "relative_path").raw
212
+ assert_equal "../..", node_package_version(fixture_version: "relative_path").raw
210
213
  end
211
214
 
212
215
  def test_relative_path_package_major_minor_patch
@@ -222,7 +225,7 @@ class NodePackageVersionTest < Minitest::Test
222
225
  end
223
226
 
224
227
  def test_git_url_package_raw
225
- assert_equal "git://github.com/shakapacker/shakapacker.git", node_package_version(fixture_version: "git_url").raw
228
+ assert_equal "git@github.com:shakacode/shakapacker.git", node_package_version(fixture_version: "git_url").raw
226
229
  end
227
230
 
228
231
  def test_git_url_package_major_minor_patch
@@ -238,7 +241,7 @@ class NodePackageVersionTest < Minitest::Test
238
241
  end
239
242
 
240
243
  def test_github_url_package_raw
241
- assert_equal "shakapacker/shakapacker#feature/branch", node_package_version(fixture_version: "github_url").raw
244
+ assert_equal "shakacode/shakapacker#master", node_package_version(fixture_version: "github_url").raw
242
245
  end
243
246
 
244
247
  def test_github_url_package_major_minor_patch
@@ -269,3 +272,555 @@ class NodePackageVersionTest < Minitest::Test
269
272
  assert_equal false, node_package_version(fixture_version: "without").semver_wildcard?
270
273
  end
271
274
  end
275
+
276
+ class NodePackageVersionTest_YarnLockV1 < Minitest::Test
277
+ def node_package_version(fixture_version:)
278
+ Webpacker::VersionChecker::NodePackageVersion.new(
279
+ File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
280
+ File.expand_path("fixtures/#{fixture_version}_yarn.v1.lock", __dir__),
281
+ "file/does/not/exist"
282
+ )
283
+ end
284
+
285
+ def test_exact_package_raw
286
+ assert_equal "6.0.0", node_package_version(fixture_version: "semver_exact").raw
287
+ end
288
+
289
+ def test_exact_package_major_minor_patch
290
+ assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_exact").major_minor_patch
291
+ end
292
+
293
+ def test_exact_package_skip_processing
294
+ assert_equal false, node_package_version(fixture_version: "semver_exact").skip_processing?
295
+ end
296
+
297
+ def test_exact_package_semver_wildcard
298
+ assert_equal false, node_package_version(fixture_version: "semver_exact").semver_wildcard?
299
+ end
300
+
301
+ def test_beta_package_raw
302
+ assert_equal "6.1.0-beta.0", node_package_version(fixture_version: "beta").raw
303
+ end
304
+
305
+ def test_beta_package_major_minor_patch
306
+ assert_equal ["6", "1", "0"], node_package_version(fixture_version: "beta").major_minor_patch
307
+ end
308
+
309
+ def test_beta_package_skip_processing
310
+ assert_equal false, node_package_version(fixture_version: "beta").skip_processing?
311
+ end
312
+
313
+ def test_beta_package_semver_wildcard
314
+ assert_equal false, node_package_version(fixture_version: "beta").semver_wildcard?
315
+ end
316
+
317
+ def test_semver_caret_package_raw
318
+ assert_equal "6.5.0", node_package_version(fixture_version: "semver_caret").raw
319
+ end
320
+
321
+ def test_semver_caret_package_major_minor_patch
322
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "semver_caret").major_minor_patch
323
+ end
324
+
325
+ def test_semver_caret_package_skip_processing
326
+ assert_equal false, node_package_version(fixture_version: "semver_caret").skip_processing?
327
+ end
328
+
329
+ def test_semver_caret_package_semver_wildcard
330
+ assert_equal false, node_package_version(fixture_version: "semver_caret").semver_wildcard?
331
+ end
332
+
333
+ def test_semver_tilde_package_raw
334
+ assert_equal "6.0.2", node_package_version(fixture_version: "semver_tilde").raw
335
+ end
336
+
337
+ def test_semver_tilde_package_major_minor_patch
338
+ assert_equal ["6", "0", "2"], node_package_version(fixture_version: "semver_tilde").major_minor_patch
339
+ end
340
+
341
+ def test_semver_tilde_package_skip_processing
342
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").skip_processing?
343
+ end
344
+
345
+ def test_semver_tilde_package_semver_wildcard
346
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").semver_wildcard?
347
+ end
348
+
349
+ def test_relative_path_package_raw
350
+ assert_equal "6.5.0", node_package_version(fixture_version: "relative_path").raw
351
+ end
352
+
353
+ def test_relative_path_package_major_minor_patch
354
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "relative_path").major_minor_patch
355
+ end
356
+
357
+ def test_relative_path_package_skip_processing
358
+ assert_equal false, node_package_version(fixture_version: "relative_path").skip_processing?
359
+ end
360
+
361
+ def test_relative_path_package_semver_wildcard
362
+ assert_equal false, node_package_version(fixture_version: "relative_path").semver_wildcard?
363
+ end
364
+
365
+ def test_git_url_package_raw
366
+ assert_equal "6.5.0", node_package_version(fixture_version: "git_url").raw
367
+ end
368
+
369
+ def test_git_url_package_major_minor_patch
370
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "git_url").major_minor_patch
371
+ end
372
+
373
+ def test_git_url_package_skip_processing
374
+ assert_equal false, node_package_version(fixture_version: "git_url").skip_processing?
375
+ end
376
+
377
+ def test_git_url_package_semver_wildcard
378
+ assert_equal false, node_package_version(fixture_version: "git_url").semver_wildcard?
379
+ end
380
+
381
+ def test_github_url_package_raw
382
+ assert_equal "6.5.0", node_package_version(fixture_version: "github_url").raw
383
+ end
384
+
385
+ def test_github_url_package_major_minor_patch
386
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "github_url").major_minor_patch
387
+ end
388
+
389
+ def test_github_url_package_skip_processing
390
+ assert_equal false, node_package_version(fixture_version: "github_url").skip_processing?
391
+ end
392
+
393
+ def test_github_url_package_semver_wildcard
394
+ assert_equal false, node_package_version(fixture_version: "github_url").semver_wildcard?
395
+ end
396
+
397
+ def test_without_package_raw
398
+ assert_equal "", node_package_version(fixture_version: "without").raw
399
+ end
400
+
401
+ def test_without_package_major_minor_patch
402
+ assert_nil node_package_version(fixture_version: "without").major_minor_patch
403
+ end
404
+
405
+ def test_without_package_skip_processing
406
+ assert_equal true, node_package_version(fixture_version: "without").skip_processing?
407
+ end
408
+
409
+ def test_without_package_semver_wildcard
410
+ assert_equal false, node_package_version(fixture_version: "without").semver_wildcard?
411
+ end
412
+ end
413
+
414
+ class NodePackageVersionTest_YarnLockV2 < Minitest::Test
415
+ def node_package_version(fixture_version:)
416
+ Webpacker::VersionChecker::NodePackageVersion.new(
417
+ File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
418
+ File.expand_path("fixtures/#{fixture_version}_yarn.v2.lock", __dir__),
419
+ "file/does/not/exist"
420
+ )
421
+ end
422
+
423
+ def test_exact_package_raw
424
+ assert_equal "6.0.0", node_package_version(fixture_version: "semver_exact").raw
425
+ end
426
+
427
+ def test_exact_package_major_minor_patch
428
+ assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_exact").major_minor_patch
429
+ end
430
+
431
+ def test_exact_package_skip_processing
432
+ assert_equal false, node_package_version(fixture_version: "semver_exact").skip_processing?
433
+ end
434
+
435
+ def test_exact_package_semver_wildcard
436
+ assert_equal false, node_package_version(fixture_version: "semver_exact").semver_wildcard?
437
+ end
438
+
439
+ def test_beta_package_raw
440
+ assert_equal "6.1.0-beta.0", node_package_version(fixture_version: "beta").raw
441
+ end
442
+
443
+ def test_beta_package_major_minor_patch
444
+ assert_equal ["6", "1", "0"], node_package_version(fixture_version: "beta").major_minor_patch
445
+ end
446
+
447
+ def test_beta_package_skip_processing
448
+ assert_equal false, node_package_version(fixture_version: "beta").skip_processing?
449
+ end
450
+
451
+ def test_beta_package_semver_wildcard
452
+ assert_equal false, node_package_version(fixture_version: "beta").semver_wildcard?
453
+ end
454
+
455
+ def test_semver_caret_package_raw
456
+ assert_equal "6.5.0", node_package_version(fixture_version: "semver_caret").raw
457
+ end
458
+
459
+ def test_semver_caret_package_major_minor_patch
460
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "semver_caret").major_minor_patch
461
+ end
462
+
463
+ def test_semver_caret_package_skip_processing
464
+ assert_equal false, node_package_version(fixture_version: "semver_caret").skip_processing?
465
+ end
466
+
467
+ def test_semver_caret_package_semver_wildcard
468
+ assert_equal false, node_package_version(fixture_version: "semver_caret").semver_wildcard?
469
+ end
470
+
471
+ def test_semver_tilde_package_raw
472
+ assert_equal "6.0.2", node_package_version(fixture_version: "semver_tilde").raw
473
+ end
474
+
475
+ def test_semver_tilde_package_major_minor_patch
476
+ assert_equal ["6", "0", "2"], node_package_version(fixture_version: "semver_tilde").major_minor_patch
477
+ end
478
+
479
+ def test_semver_tilde_package_skip_processing
480
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").skip_processing?
481
+ end
482
+
483
+ def test_semver_tilde_package_semver_wildcard
484
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").semver_wildcard?
485
+ end
486
+
487
+ def test_relative_path_package_raw
488
+ assert_equal "6.5.0", node_package_version(fixture_version: "relative_path").raw
489
+ end
490
+
491
+ def test_relative_path_package_major_minor_patch
492
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "relative_path").major_minor_patch
493
+ end
494
+
495
+ def test_relative_path_package_skip_processing
496
+ assert_equal false, node_package_version(fixture_version: "relative_path").skip_processing?
497
+ end
498
+
499
+ def test_relative_path_package_semver_wildcard
500
+ assert_equal false, node_package_version(fixture_version: "relative_path").semver_wildcard?
501
+ end
502
+
503
+ def test_git_url_package_raw
504
+ assert_equal "6.5.0", node_package_version(fixture_version: "git_url").raw
505
+ end
506
+
507
+ def test_git_url_package_major_minor_patch
508
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "git_url").major_minor_patch
509
+ end
510
+
511
+ def test_git_url_package_skip_processing
512
+ assert_equal false, node_package_version(fixture_version: "git_url").skip_processing?
513
+ end
514
+
515
+ def test_git_url_package_semver_wildcard
516
+ assert_equal false, node_package_version(fixture_version: "git_url").semver_wildcard?
517
+ end
518
+
519
+ def test_github_url_package_raw
520
+ assert_equal "6.5.0", node_package_version(fixture_version: "github_url").raw
521
+ end
522
+
523
+ def test_github_url_package_major_minor_patch
524
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "github_url").major_minor_patch
525
+ end
526
+
527
+ def test_github_url_package_skip_processing
528
+ assert_equal false, node_package_version(fixture_version: "github_url").skip_processing?
529
+ end
530
+
531
+ def test_github_url_package_semver_wildcard
532
+ assert_equal false, node_package_version(fixture_version: "github_url").semver_wildcard?
533
+ end
534
+
535
+ def test_without_package_raw
536
+ assert_equal "", node_package_version(fixture_version: "without").raw
537
+ end
538
+
539
+ def test_without_package_major_minor_patch
540
+ assert_nil node_package_version(fixture_version: "without").major_minor_patch
541
+ end
542
+
543
+ def test_without_package_skip_processing
544
+ assert_equal true, node_package_version(fixture_version: "without").skip_processing?
545
+ end
546
+
547
+ def test_without_package_semver_wildcard
548
+ assert_equal false, node_package_version(fixture_version: "without").semver_wildcard?
549
+ end
550
+ end
551
+
552
+ class NodePackageVersionTest_PackageLockV1 < Minitest::Test
553
+ def node_package_version(fixture_version:)
554
+ Webpacker::VersionChecker::NodePackageVersion.new(
555
+ File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
556
+ "file/does/not/exist",
557
+ File.expand_path("fixtures/#{fixture_version}_package-lock.v1.json", __dir__),
558
+ )
559
+ end
560
+
561
+ def test_exact_package_raw
562
+ assert_equal "6.0.0", node_package_version(fixture_version: "semver_exact").raw
563
+ end
564
+
565
+ def test_exact_package_major_minor_patch
566
+ assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_exact").major_minor_patch
567
+ end
568
+
569
+ def test_exact_package_skip_processing
570
+ assert_equal false, node_package_version(fixture_version: "semver_exact").skip_processing?
571
+ end
572
+
573
+ def test_exact_package_semver_wildcard
574
+ assert_equal false, node_package_version(fixture_version: "semver_exact").semver_wildcard?
575
+ end
576
+
577
+ def test_beta_package_raw
578
+ assert_equal "6.1.0-beta.0", node_package_version(fixture_version: "beta").raw
579
+ end
580
+
581
+ def test_beta_package_major_minor_patch
582
+ assert_equal ["6", "1", "0"], node_package_version(fixture_version: "beta").major_minor_patch
583
+ end
584
+
585
+ def test_beta_package_skip_processing
586
+ assert_equal false, node_package_version(fixture_version: "beta").skip_processing?
587
+ end
588
+
589
+ def test_beta_package_semver_wildcard
590
+ assert_equal false, node_package_version(fixture_version: "beta").semver_wildcard?
591
+ end
592
+
593
+ def test_semver_caret_package_raw
594
+ assert_equal "6.5.0", node_package_version(fixture_version: "semver_caret").raw
595
+ end
596
+
597
+ def test_semver_caret_package_major_minor_patch
598
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "semver_caret").major_minor_patch
599
+ end
600
+
601
+ def test_semver_caret_package_skip_processing
602
+ assert_equal false, node_package_version(fixture_version: "semver_caret").skip_processing?
603
+ end
604
+
605
+ def test_semver_caret_package_semver_wildcard
606
+ assert_equal false, node_package_version(fixture_version: "semver_caret").semver_wildcard?
607
+ end
608
+
609
+ def test_semver_tilde_package_raw
610
+ assert_equal "6.0.2", node_package_version(fixture_version: "semver_tilde").raw
611
+ end
612
+
613
+ def test_semver_tilde_package_major_minor_patch
614
+ assert_equal ["6", "0", "2"], node_package_version(fixture_version: "semver_tilde").major_minor_patch
615
+ end
616
+
617
+ def test_semver_tilde_package_skip_processing
618
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").skip_processing?
619
+ end
620
+
621
+ def test_semver_tilde_package_semver_wildcard
622
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").semver_wildcard?
623
+ end
624
+
625
+ def test_relative_path_package_raw
626
+ assert_equal "file:../..", node_package_version(fixture_version: "relative_path").raw
627
+ end
628
+
629
+ def test_relative_path_package_major_minor_patch
630
+ assert_nil node_package_version(fixture_version: "relative_path").major_minor_patch
631
+ end
632
+
633
+ def test_relative_path_package_skip_processing
634
+ assert_equal true, node_package_version(fixture_version: "relative_path").skip_processing?
635
+ end
636
+
637
+ def test_relative_path_package_semver_wildcard
638
+ assert_equal false, node_package_version(fixture_version: "relative_path").semver_wildcard?
639
+ end
640
+
641
+ def test_git_url_package_raw
642
+ assert_equal "git+ssh://git@github.com/shakacode/shakapacker.git#31854a58be49f736f3486a946b72d7e4f334e2b2", node_package_version(fixture_version: "git_url").raw
643
+ end
644
+
645
+ def test_git_url_package_major_minor_patch
646
+ assert_nil node_package_version(fixture_version: "git_url").major_minor_patch
647
+ end
648
+
649
+ def test_git_url_package_skip_processing
650
+ assert_equal true, node_package_version(fixture_version: "git_url").skip_processing?
651
+ end
652
+
653
+ def test_git_url_package_semver_wildcard
654
+ assert_equal false, node_package_version(fixture_version: "git_url").semver_wildcard?
655
+ end
656
+
657
+ def test_github_url_package_raw
658
+ assert_equal "github:shakacode/shakapacker#31854a58be49f736f3486a946b72d7e4f334e2b2", node_package_version(fixture_version: "github_url").raw
659
+ end
660
+
661
+ def test_github_url_package_major_minor_patch
662
+ assert_nil node_package_version(fixture_version: "github_url").major_minor_patch
663
+ end
664
+
665
+ def test_github_url_package_skip_processing
666
+ assert_equal true, node_package_version(fixture_version: "github_url").skip_processing?
667
+ end
668
+
669
+ def test_github_url_package_semver_wildcard
670
+ assert_equal false, node_package_version(fixture_version: "github_url").semver_wildcard?
671
+ end
672
+
673
+ def test_without_package_raw
674
+ assert_equal "", node_package_version(fixture_version: "without").raw
675
+ end
676
+
677
+ def test_without_package_major_minor_patch
678
+ assert_nil node_package_version(fixture_version: "without").major_minor_patch
679
+ end
680
+
681
+ def test_without_package_skip_processing
682
+ assert_equal true, node_package_version(fixture_version: "without").skip_processing?
683
+ end
684
+
685
+ def test_without_package_semver_wildcard
686
+ assert_equal false, node_package_version(fixture_version: "without").semver_wildcard?
687
+ end
688
+ end
689
+
690
+ class NodePackageVersionTest_PackageLockV2 < Minitest::Test
691
+ def node_package_version(fixture_version:)
692
+ Webpacker::VersionChecker::NodePackageVersion.new(
693
+ File.expand_path("fixtures/#{fixture_version}_package.json", __dir__),
694
+ "file/does/not/exist",
695
+ File.expand_path("fixtures/#{fixture_version}_package-lock.v2.json", __dir__),
696
+ )
697
+ end
698
+
699
+ def test_exact_package_raw
700
+ assert_equal "6.0.0", node_package_version(fixture_version: "semver_exact").raw
701
+ end
702
+
703
+ def test_exact_package_major_minor_patch
704
+ assert_equal ["6", "0", "0"], node_package_version(fixture_version: "semver_exact").major_minor_patch
705
+ end
706
+
707
+ def test_exact_package_skip_processing
708
+ assert_equal false, node_package_version(fixture_version: "semver_exact").skip_processing?
709
+ end
710
+
711
+ def test_exact_package_semver_wildcard
712
+ assert_equal false, node_package_version(fixture_version: "semver_exact").semver_wildcard?
713
+ end
714
+
715
+ def test_beta_package_raw
716
+ assert_equal "6.1.0-beta.0", node_package_version(fixture_version: "beta").raw
717
+ end
718
+
719
+ def test_beta_package_major_minor_patch
720
+ assert_equal ["6", "1", "0"], node_package_version(fixture_version: "beta").major_minor_patch
721
+ end
722
+
723
+ def test_beta_package_skip_processing
724
+ assert_equal false, node_package_version(fixture_version: "beta").skip_processing?
725
+ end
726
+
727
+ def test_beta_package_semver_wildcard
728
+ assert_equal false, node_package_version(fixture_version: "beta").semver_wildcard?
729
+ end
730
+
731
+ def test_semver_caret_package_raw
732
+ assert_equal "6.5.0", node_package_version(fixture_version: "semver_caret").raw
733
+ end
734
+
735
+ def test_semver_caret_package_major_minor_patch
736
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "semver_caret").major_minor_patch
737
+ end
738
+
739
+ def test_semver_caret_package_skip_processing
740
+ assert_equal false, node_package_version(fixture_version: "semver_caret").skip_processing?
741
+ end
742
+
743
+ def test_semver_caret_package_semver_wildcard
744
+ assert_equal false, node_package_version(fixture_version: "semver_caret").semver_wildcard?
745
+ end
746
+
747
+ def test_semver_tilde_package_raw
748
+ assert_equal "6.0.2", node_package_version(fixture_version: "semver_tilde").raw
749
+ end
750
+
751
+ def test_semver_tilde_package_major_minor_patch
752
+ assert_equal ["6", "0", "2"], node_package_version(fixture_version: "semver_tilde").major_minor_patch
753
+ end
754
+
755
+ def test_semver_tilde_package_skip_processing
756
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").skip_processing?
757
+ end
758
+
759
+ def test_semver_tilde_package_semver_wildcard
760
+ assert_equal false, node_package_version(fixture_version: "semver_tilde").semver_wildcard?
761
+ end
762
+
763
+ def test_relative_path_package_raw
764
+ assert_equal "../..", node_package_version(fixture_version: "relative_path").raw
765
+ end
766
+
767
+ def test_relative_path_package_major_minor_patch
768
+ assert_nil node_package_version(fixture_version: "relative_path").major_minor_patch
769
+ end
770
+
771
+ def test_relative_path_package_skip_processing
772
+ assert_equal true, node_package_version(fixture_version: "relative_path").skip_processing?
773
+ end
774
+
775
+ def test_relative_path_package_semver_wildcard
776
+ assert_equal false, node_package_version(fixture_version: "relative_path").semver_wildcard?
777
+ end
778
+
779
+ def test_git_url_package_raw
780
+ assert_equal "6.5.0", node_package_version(fixture_version: "git_url").raw
781
+ end
782
+
783
+ def test_git_url_package_major_minor_patch
784
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "git_url").major_minor_patch
785
+ end
786
+
787
+ def test_git_url_package_skip_processing
788
+ assert_equal false, node_package_version(fixture_version: "git_url").skip_processing?
789
+ end
790
+
791
+ def test_git_url_package_semver_wildcard
792
+ assert_equal false, node_package_version(fixture_version: "git_url").semver_wildcard?
793
+ end
794
+
795
+ def test_github_url_package_raw
796
+ assert_equal "6.5.0", node_package_version(fixture_version: "github_url").raw
797
+ end
798
+
799
+ def test_github_url_package_major_minor_patch
800
+ assert_equal ["6", "5", "0"], node_package_version(fixture_version: "github_url").major_minor_patch
801
+ end
802
+
803
+ def test_github_url_package_skip_processing
804
+ assert_equal false, node_package_version(fixture_version: "github_url").skip_processing?
805
+ end
806
+
807
+ def test_github_url_package_semver_wildcard
808
+ assert_equal false, node_package_version(fixture_version: "github_url").semver_wildcard?
809
+ end
810
+
811
+ def test_without_package_raw
812
+ assert_equal "", node_package_version(fixture_version: "without").raw
813
+ end
814
+
815
+ def test_without_package_major_minor_patch
816
+ assert_nil node_package_version(fixture_version: "without").major_minor_patch
817
+ end
818
+
819
+ def test_without_package_skip_processing
820
+ assert_equal true, node_package_version(fixture_version: "without").skip_processing?
821
+ end
822
+
823
+ def test_without_package_semver_wildcard
824
+ assert_equal false, node_package_version(fixture_version: "without").semver_wildcard?
825
+ end
826
+ end