packwerk 1.1.0 → 1.3.0

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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +17 -8
  3. data/.ruby-version +1 -1
  4. data/Gemfile +1 -1
  5. data/Gemfile.lock +129 -111
  6. data/README.md +10 -3
  7. data/TROUBLESHOOT.md +2 -2
  8. data/USAGE.md +30 -30
  9. data/bin/m +29 -0
  10. data/bin/rake +29 -0
  11. data/bin/rubocop +29 -0
  12. data/bin/srb +29 -0
  13. data/bin/tapioca +29 -0
  14. data/dev.yml +7 -7
  15. data/exe/packwerk +1 -1
  16. data/gemfiles/Gemfile-rails-6-0 +22 -0
  17. data/lib/packwerk.rb +72 -34
  18. data/lib/packwerk/application_load_paths.rb +21 -10
  19. data/lib/packwerk/application_validator.rb +104 -84
  20. data/lib/packwerk/association_inspector.rb +23 -11
  21. data/lib/packwerk/checker.rb +4 -7
  22. data/lib/packwerk/cli.rb +36 -129
  23. data/lib/packwerk/configuration.rb +10 -2
  24. data/lib/packwerk/const_node_inspector.rb +13 -14
  25. data/lib/packwerk/constant_discovery.rb +2 -0
  26. data/lib/packwerk/constant_name_inspector.rb +0 -1
  27. data/lib/packwerk/dependency_checker.rb +12 -17
  28. data/lib/packwerk/deprecated_references.rb +8 -10
  29. data/lib/packwerk/file_processor.rb +0 -4
  30. data/lib/packwerk/formatters/offenses_formatter.rb +52 -0
  31. data/lib/packwerk/formatters/progress_formatter.rb +9 -4
  32. data/lib/packwerk/generators/configuration_file.rb +0 -1
  33. data/lib/packwerk/inflector.rb +0 -2
  34. data/lib/packwerk/node.rb +9 -2
  35. data/lib/packwerk/node_processor.rb +15 -32
  36. data/lib/packwerk/node_processor_factory.rb +0 -5
  37. data/lib/packwerk/node_visitor.rb +1 -4
  38. data/lib/packwerk/offense.rb +2 -8
  39. data/lib/packwerk/offense_collection.rb +84 -0
  40. data/lib/packwerk/offenses_formatter.rb +19 -0
  41. data/lib/packwerk/output_style.rb +20 -0
  42. data/lib/packwerk/output_styles/coloured.rb +29 -0
  43. data/lib/packwerk/output_styles/plain.rb +26 -0
  44. data/lib/packwerk/package.rb +17 -1
  45. data/lib/packwerk/package_set.rb +2 -3
  46. data/lib/packwerk/parse_run.rb +106 -0
  47. data/lib/packwerk/parsed_constant_definitions.rb +2 -4
  48. data/lib/packwerk/parsers.rb +0 -2
  49. data/lib/packwerk/parsers/erb.rb +0 -2
  50. data/lib/packwerk/parsers/factory.rb +1 -3
  51. data/lib/packwerk/privacy_checker.rb +22 -17
  52. data/lib/packwerk/reference_extractor.rb +0 -8
  53. data/lib/packwerk/reference_offense.rb +49 -0
  54. data/lib/packwerk/result.rb +9 -0
  55. data/lib/packwerk/run_context.rb +4 -21
  56. data/lib/packwerk/sanity_checker.rb +1 -3
  57. data/lib/packwerk/version.rb +1 -1
  58. data/lib/packwerk/violation_type.rb +0 -2
  59. data/library.yml +1 -1
  60. data/packwerk.gemspec +1 -0
  61. data/service.yml +1 -4
  62. data/shipit.rubygems.yml +5 -1
  63. data/sorbet/rbi/gems/{actioncable@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +56 -36
  64. data/sorbet/rbi/gems/{actionmailbox@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +25 -28
  65. data/sorbet/rbi/gems/{actionmailer@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +43 -24
  66. data/sorbet/rbi/gems/{actionpack@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +382 -284
  67. data/sorbet/rbi/gems/{actiontext@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +76 -40
  68. data/sorbet/rbi/gems/{actionview@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +206 -195
  69. data/sorbet/rbi/gems/{activejob@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +64 -75
  70. data/sorbet/rbi/gems/{activemodel@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +103 -56
  71. data/sorbet/rbi/gems/{activerecord@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +1250 -898
  72. data/sorbet/rbi/gems/{activestorage@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +92 -120
  73. data/sorbet/rbi/gems/{activesupport@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +292 -193
  74. data/sorbet/rbi/gems/{ast@2.4.1.rbi → ast@2.4.2.rbi} +2 -1
  75. data/sorbet/rbi/gems/{better_html@1.0.15.rbi → better_html@1.0.16.rbi} +2 -2
  76. data/sorbet/rbi/gems/{concurrent-ruby@1.1.6.rbi → concurrent-ruby@1.1.8.rbi} +12 -9
  77. data/sorbet/rbi/gems/{erubi@1.9.0.rbi → erubi@1.10.0.rbi} +3 -1
  78. data/sorbet/rbi/gems/{i18n@1.8.2.rbi → i18n@1.8.10.rbi} +19 -52
  79. data/sorbet/rbi/gems/{loofah@2.5.0.rbi → loofah@2.9.0.rbi} +3 -1
  80. data/sorbet/rbi/gems/marcel@1.0.0.rbi +70 -0
  81. data/sorbet/rbi/gems/{mini_mime@1.0.2.rbi → mini_mime@1.0.3.rbi} +6 -6
  82. data/sorbet/rbi/gems/{mini_portile2@2.4.0.rbi → minitest-focus@1.2.1.rbi} +2 -2
  83. data/sorbet/rbi/gems/{minitest@5.14.0.rbi → minitest@5.14.4.rbi} +31 -29
  84. data/sorbet/rbi/gems/{mocha@1.11.2.rbi → mocha@1.12.0.rbi} +25 -36
  85. data/sorbet/rbi/gems/{nio4r@2.5.2.rbi → nio4r@2.5.7.rbi} +21 -20
  86. data/sorbet/rbi/gems/{nokogiri@1.10.9.rbi → nokogiri@1.11.2.rbi} +193 -154
  87. data/sorbet/rbi/gems/parallel@1.20.1.rbi +117 -0
  88. data/sorbet/rbi/gems/parlour@6.0.0.rbi +1272 -0
  89. data/sorbet/rbi/gems/{parser@2.7.1.4.rbi → parser@3.0.0.0.rbi} +287 -174
  90. data/sorbet/rbi/gems/{pry@0.13.1.rbi → pry@0.14.0.rbi} +1 -1
  91. data/sorbet/rbi/gems/racc@1.5.2.rbi +57 -0
  92. data/sorbet/rbi/gems/{rack@2.2.2.rbi → rack@2.2.3.rbi} +23 -35
  93. data/sorbet/rbi/gems/{rails@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +1 -1
  94. data/sorbet/rbi/gems/{railties@6.1.0.alpha-d80c18a391e33552ae2d943e68af56946f883f65.rbi → railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi} +132 -121
  95. data/sorbet/rbi/gems/{rake@13.0.1.rbi → rake@13.0.3.rbi} +16 -20
  96. data/sorbet/rbi/gems/{parallel@1.19.1.rbi → regexp_parser@2.1.1.rbi} +2 -2
  97. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +8 -0
  98. data/sorbet/rbi/gems/{rubocop-performance@1.5.2.rbi → rubocop-performance@1.10.2.rbi} +1 -1
  99. data/sorbet/rbi/gems/{rubocop-shopify@1.0.2.rbi → rubocop-shopify@2.0.1.rbi} +1 -1
  100. data/sorbet/rbi/gems/{rubocop-sorbet@0.3.7.rbi → rubocop-sorbet@0.6.1.rbi} +1 -1
  101. data/sorbet/rbi/gems/{rubocop@0.82.0.rbi → rubocop@1.12.0.rbi} +1 -1
  102. data/sorbet/rbi/gems/{ruby-progressbar@1.10.1.rbi → ruby-progressbar@1.11.0.rbi} +1 -1
  103. data/sorbet/rbi/gems/spoom@1.1.0.rbi +1061 -0
  104. data/sorbet/rbi/gems/{spring@2.1.0.rbi → spring@2.1.1.rbi} +7 -7
  105. data/sorbet/rbi/gems/{sprockets-rails@3.2.1.rbi → sprockets-rails@3.2.2.rbi} +88 -68
  106. data/sorbet/rbi/gems/{sprockets@4.0.0.rbi → sprockets@4.0.2.rbi} +8 -7
  107. data/sorbet/rbi/gems/{tapioca@0.4.5.rbi → tapioca@0.4.19.rbi} +109 -24
  108. data/sorbet/rbi/gems/{thor@1.0.1.rbi → thor@1.1.0.rbi} +16 -15
  109. data/sorbet/rbi/gems/{tzinfo@2.0.2.rbi → tzinfo@2.0.4.rbi} +21 -2
  110. data/sorbet/rbi/gems/{unicode-display_width@1.7.0.rbi → unicode-display_width@2.0.0.rbi} +1 -1
  111. data/sorbet/rbi/gems/{websocket-driver@0.7.1.rbi → websocket-driver@0.7.3.rbi} +29 -29
  112. data/sorbet/rbi/gems/{websocket-extensions@0.1.4.rbi → websocket-extensions@0.1.5.rbi} +2 -2
  113. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +177 -0
  114. data/sorbet/tapioca/require.rb +1 -0
  115. metadata +83 -65
  116. data/lib/packwerk/cache_deprecated_references.rb +0 -47
  117. data/lib/packwerk/checking_deprecated_references.rb +0 -40
  118. data/lib/packwerk/commands/detect_stale_violations_command.rb +0 -63
  119. data/lib/packwerk/commands/offense_progress_marker.rb +0 -24
  120. data/lib/packwerk/detect_stale_deprecated_references.rb +0 -14
  121. data/lib/packwerk/generators/application_validation.rb +0 -62
  122. data/lib/packwerk/generators/templates/packwerk +0 -23
  123. data/lib/packwerk/generators/templates/packwerk_validator_test.rb +0 -11
  124. data/lib/packwerk/output_styles.rb +0 -41
  125. data/lib/packwerk/reference_lister.rb +0 -23
  126. data/lib/packwerk/spring_command.rb +0 -28
  127. data/lib/packwerk/updating_deprecated_references.rb +0 -14
  128. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -8
  129. data/sorbet/rbi/gems/marcel@0.3.3.rbi +0 -30
  130. data/sorbet/rbi/gems/mimemagic@0.3.5.rbi +0 -47
  131. data/sorbet/rbi/gems/parlour@4.0.1.rbi +0 -561
  132. data/sorbet/rbi/gems/spoom@1.0.4.rbi +0 -418
  133. data/sorbet/rbi/gems/zeitwerk@2.3.0.rbi +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91ec92f15d9d87fa8c54861afd424fe6149ef8f8e05f114b6ee04559fa6053fc
4
- data.tar.gz: b83cc17ff9cd7d2d37db4456017d429b4a8f8e45766cdfa4551ace2e32c58183
3
+ metadata.gz: c73a1063d42615133bdd6a3cc797838f0d4a0b71c716a5a6dd2730c125723ca8
4
+ data.tar.gz: ede1cf336fb3c64f0093c9b853bc4db9e06004d8bfd297fd9ff60a6253c16e1c
5
5
  SHA512:
6
- metadata.gz: 596f4f1a6b026e96ab6299e9ba7ceb63b7d709bd49c0629390f50e62e751174e4a92557243bef3a8f7f36aaf416e54fbf1fdb9f368fc2e478eb033e208358dc6
7
- data.tar.gz: fdca4107315ea6140d7b92e5cd7b53216a73f65fac4c1c3147c798a1d407f75d3898b31517bec6bf2452e7ca0a3d1ad87599142250cf75684ccc9a48436bcd91
6
+ metadata.gz: 3a2dd60787d4b8bb40e40491fb364321c0e2d086df7315b64ccb7a27b21f28d4e5e1855d40b52c1aadcbaf61d02ececa43d186fc10abdbe1de2c9609469586ef
7
+ data.tar.gz: 327267b82f798960ccf5a295125a980077bcfb9dfc00587583dcefbdcd1bfcea935f79f0f4c2efebad8d90d08807d6f08d800240bc4315ded513abdca9efcce0
@@ -7,10 +7,19 @@ jobs:
7
7
  runs-on: ubuntu-latest
8
8
  strategy:
9
9
  matrix:
10
+ gemfile:
11
+ - Gemfile
12
+ - gemfiles/Gemfile-rails-6-0
10
13
  ruby:
11
14
  - 2.6
12
15
  - 2.7
13
- name: Tests Ruby ${{ matrix.ruby }}
16
+ - 3.0
17
+ exclude:
18
+ - ruby: 2.6
19
+ gemfile: Gemfile
20
+ env:
21
+ BUNDLE_GEMFILE: ${{ matrix.gemfile }}
22
+ name: "Tests: Ruby ${{ matrix.ruby }} ${{ matrix.gemfile }}"
14
23
  steps:
15
24
  - uses: actions/checkout@v1
16
25
  - name: Set up Ruby ${{ matrix.ruby }}
@@ -21,30 +30,30 @@ jobs:
21
30
  run: |
22
31
  gem install bundler
23
32
  bundle install --jobs 4 --retry 3
24
- bundle exec rake
33
+ bin/rake
25
34
  lint:
26
35
  runs-on: ubuntu-latest
27
36
  steps:
28
37
  - uses: actions/checkout@v1
29
- - name: Set up Ruby 2.6
38
+ - name: Set up Ruby
30
39
  uses: actions/setup-ruby@v1
31
40
  with:
32
- ruby-version: 2.6.x
41
+ ruby-version: 3.0.x
33
42
  - name: Run style checks
34
43
  run: |
35
44
  gem install bundler
36
45
  bundle install --jobs 4 --retry 3
37
- bundle exec rubocop
46
+ bin/rubocop
38
47
  static-type-checking:
39
48
  runs-on: ubuntu-latest
40
49
  steps:
41
50
  - uses: actions/checkout@v1
42
- - name: Set up Ruby 2.6
51
+ - name: Set up Ruby
43
52
  uses: actions/setup-ruby@v1
44
53
  with:
45
- ruby-version: 2.6.x
54
+ ruby-version: 3.0.x
46
55
  - name: Run static type checks
47
56
  run: |
48
57
  gem install bundler
49
58
  bundle install --jobs 4 --retry 3
50
- bundle exec srb tc
59
+ bin/srb tc
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 3.0.0
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gemspec
8
8
  # Specify the same dependency sources as the application Gemfile
9
9
 
10
10
  gem("spring")
11
- gem("rails", github: "rails/rails")
11
+ gem("rails", github: "rails/rails", branch: "main")
12
12
  gem("constant_resolver", require: false)
13
13
  gem("sorbet-runtime", require: false)
14
14
  gem("rubocop-performance", require: false)
data/Gemfile.lock CHANGED
@@ -1,103 +1,106 @@
1
1
  GIT
2
2
  remote: https://github.com/rails/rails.git
3
- revision: d80c18a391e33552ae2d943e68af56946f883f65
3
+ revision: d612542336d9a61381311c95a27d801bb4094779
4
+ branch: main
4
5
  specs:
5
- actioncable (6.1.0.alpha)
6
- actionpack (= 6.1.0.alpha)
7
- activesupport (= 6.1.0.alpha)
6
+ actioncable (7.0.0.alpha)
7
+ actionpack (= 7.0.0.alpha)
8
+ activesupport (= 7.0.0.alpha)
8
9
  nio4r (~> 2.0)
9
10
  websocket-driver (>= 0.6.1)
10
- actionmailbox (6.1.0.alpha)
11
- actionpack (= 6.1.0.alpha)
12
- activejob (= 6.1.0.alpha)
13
- activerecord (= 6.1.0.alpha)
14
- activestorage (= 6.1.0.alpha)
15
- activesupport (= 6.1.0.alpha)
11
+ actionmailbox (7.0.0.alpha)
12
+ actionpack (= 7.0.0.alpha)
13
+ activejob (= 7.0.0.alpha)
14
+ activerecord (= 7.0.0.alpha)
15
+ activestorage (= 7.0.0.alpha)
16
+ activesupport (= 7.0.0.alpha)
16
17
  mail (>= 2.7.1)
17
- actionmailer (6.1.0.alpha)
18
- actionpack (= 6.1.0.alpha)
19
- actionview (= 6.1.0.alpha)
20
- activejob (= 6.1.0.alpha)
21
- activesupport (= 6.1.0.alpha)
18
+ actionmailer (7.0.0.alpha)
19
+ actionpack (= 7.0.0.alpha)
20
+ actionview (= 7.0.0.alpha)
21
+ activejob (= 7.0.0.alpha)
22
+ activesupport (= 7.0.0.alpha)
22
23
  mail (~> 2.5, >= 2.5.4)
23
24
  rails-dom-testing (~> 2.0)
24
- actionpack (6.1.0.alpha)
25
- actionview (= 6.1.0.alpha)
26
- activesupport (= 6.1.0.alpha)
25
+ actionpack (7.0.0.alpha)
26
+ actionview (= 7.0.0.alpha)
27
+ activesupport (= 7.0.0.alpha)
27
28
  rack (~> 2.0, >= 2.0.9)
28
29
  rack-test (>= 0.6.3)
29
30
  rails-dom-testing (~> 2.0)
30
31
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
31
- actiontext (6.1.0.alpha)
32
- actionpack (= 6.1.0.alpha)
33
- activerecord (= 6.1.0.alpha)
34
- activestorage (= 6.1.0.alpha)
35
- activesupport (= 6.1.0.alpha)
32
+ actiontext (7.0.0.alpha)
33
+ actionpack (= 7.0.0.alpha)
34
+ activerecord (= 7.0.0.alpha)
35
+ activestorage (= 7.0.0.alpha)
36
+ activesupport (= 7.0.0.alpha)
36
37
  nokogiri (>= 1.8.5)
37
- actionview (6.1.0.alpha)
38
- activesupport (= 6.1.0.alpha)
38
+ actionview (7.0.0.alpha)
39
+ activesupport (= 7.0.0.alpha)
39
40
  builder (~> 3.1)
40
41
  erubi (~> 1.4)
41
42
  rails-dom-testing (~> 2.0)
42
43
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
43
- activejob (6.1.0.alpha)
44
- activesupport (= 6.1.0.alpha)
44
+ activejob (7.0.0.alpha)
45
+ activesupport (= 7.0.0.alpha)
45
46
  globalid (>= 0.3.6)
46
- activemodel (6.1.0.alpha)
47
- activesupport (= 6.1.0.alpha)
48
- activerecord (6.1.0.alpha)
49
- activemodel (= 6.1.0.alpha)
50
- activesupport (= 6.1.0.alpha)
51
- activestorage (6.1.0.alpha)
52
- actionpack (= 6.1.0.alpha)
53
- activejob (= 6.1.0.alpha)
54
- activerecord (= 6.1.0.alpha)
55
- activesupport (= 6.1.0.alpha)
56
- marcel (~> 0.3.1)
57
- activesupport (6.1.0.alpha)
47
+ activemodel (7.0.0.alpha)
48
+ activesupport (= 7.0.0.alpha)
49
+ activerecord (7.0.0.alpha)
50
+ activemodel (= 7.0.0.alpha)
51
+ activesupport (= 7.0.0.alpha)
52
+ activestorage (7.0.0.alpha)
53
+ actionpack (= 7.0.0.alpha)
54
+ activejob (= 7.0.0.alpha)
55
+ activerecord (= 7.0.0.alpha)
56
+ activesupport (= 7.0.0.alpha)
57
+ marcel (~> 1.0.0)
58
+ mini_mime (~> 1.0.2)
59
+ activesupport (7.0.0.alpha)
58
60
  concurrent-ruby (~> 1.0, >= 1.0.2)
59
61
  i18n (>= 1.6, < 2)
60
- minitest (~> 5.1)
62
+ minitest (>= 5.1)
61
63
  tzinfo (~> 2.0)
62
64
  zeitwerk (~> 2.3)
63
- rails (6.1.0.alpha)
64
- actioncable (= 6.1.0.alpha)
65
- actionmailbox (= 6.1.0.alpha)
66
- actionmailer (= 6.1.0.alpha)
67
- actionpack (= 6.1.0.alpha)
68
- actiontext (= 6.1.0.alpha)
69
- actionview (= 6.1.0.alpha)
70
- activejob (= 6.1.0.alpha)
71
- activemodel (= 6.1.0.alpha)
72
- activerecord (= 6.1.0.alpha)
73
- activestorage (= 6.1.0.alpha)
74
- activesupport (= 6.1.0.alpha)
75
- bundler (>= 1.3.0)
76
- railties (= 6.1.0.alpha)
65
+ rails (7.0.0.alpha)
66
+ actioncable (= 7.0.0.alpha)
67
+ actionmailbox (= 7.0.0.alpha)
68
+ actionmailer (= 7.0.0.alpha)
69
+ actionpack (= 7.0.0.alpha)
70
+ actiontext (= 7.0.0.alpha)
71
+ actionview (= 7.0.0.alpha)
72
+ activejob (= 7.0.0.alpha)
73
+ activemodel (= 7.0.0.alpha)
74
+ activerecord (= 7.0.0.alpha)
75
+ activestorage (= 7.0.0.alpha)
76
+ activesupport (= 7.0.0.alpha)
77
+ bundler (>= 1.15.0)
78
+ railties (= 7.0.0.alpha)
77
79
  sprockets-rails (>= 2.0.0)
78
- railties (6.1.0.alpha)
79
- actionpack (= 6.1.0.alpha)
80
- activesupport (= 6.1.0.alpha)
80
+ railties (7.0.0.alpha)
81
+ actionpack (= 7.0.0.alpha)
82
+ activesupport (= 7.0.0.alpha)
81
83
  method_source
82
- rake (>= 0.8.7)
84
+ rake (>= 0.13)
83
85
  thor (~> 1.0)
84
86
 
85
87
  PATH
86
88
  remote: .
87
89
  specs:
88
- packwerk (1.1.0)
90
+ packwerk (1.3.0)
89
91
  activesupport (>= 5.2)
90
92
  ast
91
93
  better_html
92
94
  constant_resolver
95
+ parallel
93
96
  parser
94
97
  sorbet-runtime
95
98
 
96
99
  GEM
97
100
  remote: https://rubygems.org/
98
101
  specs:
99
- ast (2.4.1)
100
- better_html (1.0.15)
102
+ ast (2.4.2)
103
+ better_html (1.0.16)
101
104
  actionview (>= 4.0)
102
105
  activesupport (>= 4.0)
103
106
  ast (~> 2.0)
@@ -111,18 +114,17 @@ GEM
111
114
  colorize (0.8.1)
112
115
  commander (4.5.2)
113
116
  highline (~> 2.0.0)
114
- concurrent-ruby (1.1.6)
117
+ concurrent-ruby (1.1.8)
115
118
  constant_resolver (0.1.5)
116
119
  crass (1.0.6)
117
- erubi (1.9.0)
120
+ erubi (1.10.0)
118
121
  globalid (0.4.2)
119
122
  activesupport (>= 4.2.0)
120
123
  highline (2.0.3)
121
124
  html_tokenizer (0.0.7)
122
- i18n (1.8.2)
125
+ i18n (1.8.10)
123
126
  concurrent-ruby (~> 1.0)
124
- jaro_winkler (1.5.4)
125
- loofah (2.5.0)
127
+ loofah (2.9.0)
126
128
  crass (~> 1.0.2)
127
129
  nokogiri (>= 1.5.9)
128
130
  m (1.5.1)
@@ -130,31 +132,33 @@ GEM
130
132
  rake (>= 0.9.2.2)
131
133
  mail (2.7.1)
132
134
  mini_mime (>= 0.1.1)
133
- marcel (0.3.3)
134
- mimemagic (~> 0.3.2)
135
+ marcel (1.0.0)
135
136
  method_source (1.0.0)
136
- mimemagic (0.3.5)
137
- mini_mime (1.0.2)
138
- mini_portile2 (2.4.0)
139
- minitest (5.14.0)
137
+ mini_mime (1.0.3)
138
+ mini_portile2 (2.5.1)
139
+ minitest (5.14.4)
140
140
  minitest-focus (1.2.1)
141
141
  minitest (>= 4, < 6)
142
- mocha (1.11.2)
143
- nio4r (2.5.2)
144
- nokogiri (1.10.9)
145
- mini_portile2 (~> 2.4.0)
146
- parallel (1.19.1)
147
- parlour (4.0.1)
142
+ mocha (1.12.0)
143
+ nio4r (2.5.7)
144
+ nokogiri (1.11.5)
145
+ mini_portile2 (~> 2.5.0)
146
+ racc (~> 1.4)
147
+ nokogiri (1.11.5-x86_64-darwin)
148
+ racc (~> 1.4)
149
+ parallel (1.20.1)
150
+ parlour (6.0.0)
148
151
  commander (~> 4.5)
149
152
  parser
150
153
  rainbow (~> 3.0)
151
154
  sorbet-runtime (>= 0.5)
152
- parser (2.7.1.4)
155
+ parser (3.0.0.0)
153
156
  ast (~> 2.4.1)
154
- pry (0.13.1)
157
+ pry (0.14.0)
155
158
  coderay (~> 1.1)
156
159
  method_source (~> 1.0)
157
- rack (2.2.2)
160
+ racc (1.5.2)
161
+ rack (2.2.3)
158
162
  rack-test (1.1.0)
159
163
  rack (>= 1.0, < 3)
160
164
  rails-dom-testing (2.0.3)
@@ -163,59 +167,73 @@ GEM
163
167
  rails-html-sanitizer (1.3.0)
164
168
  loofah (~> 2.3)
165
169
  rainbow (3.0.0)
166
- rake (13.0.1)
167
- rexml (3.2.4)
168
- rubocop (0.82.0)
169
- jaro_winkler (~> 1.5.1)
170
+ rake (13.0.3)
171
+ regexp_parser (2.1.1)
172
+ rexml (3.2.5)
173
+ rubocop (1.12.0)
170
174
  parallel (~> 1.10)
171
- parser (>= 2.7.0.1)
175
+ parser (>= 3.0.0.0)
172
176
  rainbow (>= 2.2.2, < 4.0)
177
+ regexp_parser (>= 1.8, < 3.0)
173
178
  rexml
179
+ rubocop-ast (>= 1.2.0, < 2.0)
174
180
  ruby-progressbar (~> 1.7)
175
- unicode-display_width (>= 1.4.0, < 2.0)
176
- rubocop-performance (1.5.2)
177
- rubocop (>= 0.71.0)
178
- rubocop-shopify (1.0.2)
179
- rubocop (~> 0.82.0)
180
- rubocop-sorbet (0.3.7)
181
- ruby-progressbar (1.10.1)
181
+ unicode-display_width (>= 1.4.0, < 3.0)
182
+ rubocop-ast (1.4.1)
183
+ parser (>= 2.7.1.5)
184
+ rubocop-performance (1.10.2)
185
+ rubocop (>= 0.90.0, < 2.0)
186
+ rubocop-ast (>= 0.4.0)
187
+ rubocop-shopify (2.0.1)
188
+ rubocop (~> 1.11)
189
+ rubocop-sorbet (0.6.1)
190
+ rubocop
191
+ ruby-progressbar (1.11.0)
182
192
  smart_properties (1.15.0)
183
- sorbet (0.5.5898)
184
- sorbet-static (= 0.5.5898)
185
- sorbet-runtime (0.5.6049)
186
- sorbet-static (0.5.5898-universal-darwin-19)
187
- spoom (1.0.4)
193
+ sorbet (0.5.6360)
194
+ sorbet-static (= 0.5.6360)
195
+ sorbet-runtime (0.5.6360)
196
+ sorbet-static (0.5.6360-universal-darwin-14)
197
+ sorbet-static (0.5.6360-universal-darwin-15)
198
+ sorbet-static (0.5.6360-universal-darwin-16)
199
+ sorbet-static (0.5.6360-universal-darwin-17)
200
+ sorbet-static (0.5.6360-universal-darwin-18)
201
+ sorbet-static (0.5.6360-universal-darwin-19)
202
+ sorbet-static (0.5.6360-universal-darwin-20)
203
+ sorbet-static (0.5.6360-x86_64-linux)
204
+ spoom (1.1.0)
188
205
  colorize
189
- sorbet (~> 0.5.5)
206
+ sorbet (>= 0.5.6347)
190
207
  sorbet-runtime
191
208
  thor (>= 0.19.2)
192
- spring (2.1.0)
193
- sprockets (4.0.0)
209
+ spring (2.1.1)
210
+ sprockets (4.0.2)
194
211
  concurrent-ruby (~> 1.0)
195
212
  rack (> 1, < 3)
196
- sprockets-rails (3.2.1)
213
+ sprockets-rails (3.2.2)
197
214
  actionpack (>= 4.0)
198
215
  activesupport (>= 4.0)
199
216
  sprockets (>= 3.0.0)
200
- tapioca (0.4.5)
217
+ tapioca (0.4.19)
218
+ bundler (>= 1.17.3)
201
219
  parlour (>= 2.1.0)
202
220
  pry (>= 0.12.2)
203
221
  sorbet-runtime
204
222
  sorbet-static (>= 0.4.4471)
205
223
  spoom
206
224
  thor (>= 0.19.2)
207
- thor (1.0.1)
208
- tzinfo (2.0.2)
225
+ thor (1.1.0)
226
+ tzinfo (2.0.4)
209
227
  concurrent-ruby (~> 1.0)
210
- unicode-display_width (1.7.0)
211
- websocket-driver (0.7.1)
228
+ unicode-display_width (2.0.0)
229
+ websocket-driver (0.7.3)
212
230
  websocket-extensions (>= 0.1.0)
213
- websocket-extensions (0.1.4)
214
- zeitwerk (2.3.0)
231
+ websocket-extensions (0.1.5)
232
+ zeitwerk (2.4.2)
215
233
 
216
234
  PLATFORMS
217
235
  ruby
218
- x86_64-darwin-19
236
+ x86_64-darwin-20
219
237
 
220
238
  DEPENDENCIES
221
239
  bundler
@@ -236,4 +254,4 @@ DEPENDENCIES
236
254
  tapioca
237
255
 
238
256
  BUNDLED WITH
239
- 2.1.4
257
+ 2.2.14
data/README.md CHANGED
@@ -1,9 +1,16 @@
1
1
  # Packwerk [![Build Status](https://github.com/Shopify/packwerk/workflows/CI/badge.svg)](https://github.com/Shopify/packwerk/actions?query=workflow%3ACI)
2
2
 
3
+ ## NOTE: Packwerk is considered to be feature-complete for Shopify's uses. We are currently accepting bug fixes only, and it is not being actively developed. Please fork this project if you are interested in adding new features.
4
+
5
+ > "I know who you are and because of that I know what you do."
6
+ > This knowledge is a dependency that raises the cost of change.
7
+
8
+ -- _Sandi Metz, Practical Object-Oriented Design in Ruby_
9
+
3
10
  Packwerk is a Ruby gem used to enforce boundaries and modularize Rails applications.
4
11
 
5
12
  Packwerk can be used to:
6
- * Combine group of files into packages
13
+ * Combine groups of files into packages
7
14
  * Define package-level constant visibility (i.e. have publicly accessible constants)
8
15
  * Enforce privacy (inbound) and dependency (outbound) boundaries between packages
9
16
  * Help existing codebases to become more modular without obstructing development
@@ -40,7 +47,7 @@ Or install it yourself as:
40
47
 
41
48
  $ gem install packwerk
42
49
 
43
- 3. Run `bundle exec packwerk init` to generate the configuration files
50
+ 3. Run `packwerk init` to generate the configuration files
44
51
 
45
52
  ## Usage
46
53
 
@@ -52,7 +59,7 @@ Read [USAGE.md](USAGE.md) for usage once Packwerk is installed on your project.
52
59
 
53
60
  ## Development
54
61
 
55
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
62
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
56
63
 
57
64
  ## Limitations
58
65