shakapacker 6.5.0 → 6.5.1

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.
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