packwerk 3.1.0 → 3.2.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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/packwerk/checker.rb +5 -5
  3. data/lib/packwerk/commands/check_command.rb +4 -2
  4. data/lib/packwerk/file_processor.rb +1 -1
  5. data/lib/packwerk/generators/templates/package.yml +2 -2
  6. data/lib/packwerk/offenses_formatter.rb +3 -3
  7. data/lib/packwerk/package_todo.rb +1 -4
  8. data/lib/packwerk/parsers/factory.rb +3 -3
  9. data/lib/packwerk/parsers/ruby.rb +9 -2
  10. data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +3 -3
  11. data/lib/packwerk/reference_offense.rb +1 -1
  12. data/lib/packwerk/validator.rb +3 -3
  13. data/lib/packwerk/version.rb +1 -1
  14. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +3280 -3450
  15. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +2322 -1782
  16. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +2654 -3268
  17. data/sorbet/rbi/gems/ast@2.4.2.rbi +535 -6
  18. data/sorbet/rbi/gems/better_html@2.0.1.rbi +529 -0
  19. data/sorbet/rbi/gems/builder@3.2.4.rbi +4 -4
  20. data/sorbet/rbi/gems/byebug@11.1.3.rbi +32 -4
  21. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +1750 -1840
  22. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +15 -15
  23. data/sorbet/rbi/gems/crass@1.0.6.rbi +489 -5
  24. data/sorbet/rbi/gems/erubi@1.11.0.rbi +24 -21
  25. data/sorbet/rbi/gems/i18n@1.12.0.rbi +395 -395
  26. data/sorbet/rbi/gems/json@2.6.2.rbi +70 -77
  27. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +1 -1
  28. data/sorbet/rbi/gems/loofah@2.18.0.rbi +134 -134
  29. data/sorbet/rbi/gems/m@1.6.0.rbi +60 -60
  30. data/sorbet/rbi/gems/method_source@1.1.0.rbi +303 -0
  31. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +22 -28
  32. data/sorbet/rbi/gems/minitest@5.16.2.rbi +384 -396
  33. data/sorbet/rbi/gems/mocha@1.14.0.rbi +589 -589
  34. data/sorbet/rbi/gems/netrc@0.11.0.rbi +37 -32
  35. data/sorbet/rbi/gems/{nokogiri@1.13.8.rbi → nokogiri@1.15.3.rbi} +1869 -1030
  36. data/sorbet/rbi/gems/{parallel@1.22.1.rbi → parallel@1.24.0.rbi} +85 -82
  37. data/sorbet/rbi/gems/{parser@3.2.2.0.rbi → parser@3.3.1.0.rbi} +1679 -1609
  38. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +1 -1
  39. data/sorbet/rbi/gems/prism@0.27.0.rbi +36983 -0
  40. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.7.1.rbi} +42 -33
  41. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +148 -338
  42. data/sorbet/rbi/gems/rack@2.2.4.rbi +1079 -1130
  43. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +354 -22
  44. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +113 -259
  45. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +642 -638
  46. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +109 -99
  47. data/sorbet/rbi/gems/rake@13.0.6.rbi +714 -599
  48. data/sorbet/rbi/gems/{rbi@0.0.15.rbi → rbi@0.1.12.rbi} +865 -801
  49. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +853 -870
  50. data/sorbet/rbi/gems/rexml@3.2.5.rbi +480 -477
  51. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +1621 -1622
  52. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +507 -526
  53. data/sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi +1 -1
  54. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +186 -203
  55. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +8126 -8367
  56. data/sorbet/rbi/gems/{ruby-lsp@0.2.1.rbi → ruby-lsp@0.2.3.rbi} +2 -2
  57. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1235 -4
  58. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +90 -90
  59. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  60. data/sorbet/rbi/gems/spring@4.0.0.rbi +104 -104
  61. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +1 -1
  62. data/sorbet/rbi/gems/{tapioca@0.9.2.rbi → tapioca@0.13.3.rbi} +1596 -1253
  63. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.3.1.rbi} +1047 -652
  64. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +531 -513
  65. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +13 -13
  66. data/sorbet/rbi/gems/{yard-sorbet@0.6.1.rbi → yard-sorbet@0.8.1.rbi} +132 -92
  67. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.36.rbi} +3158 -3067
  68. data/sorbet/rbi/gems/zeitwerk@2.6.4.rbi +149 -145
  69. metadata +31 -74
  70. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -27
  71. data/.github/pull_request_template.md +0 -28
  72. data/.github/workflows/ci.yml +0 -93
  73. data/.github/workflows/cla.yml +0 -22
  74. data/.gitignore +0 -13
  75. data/.rubocop.yml +0 -75
  76. data/.ruby-version +0 -1
  77. data/CODEOWNERS +0 -1
  78. data/CODE_OF_CONDUCT.md +0 -76
  79. data/CONTRIBUTING.md +0 -17
  80. data/Gemfile +0 -27
  81. data/Gemfile.lock +0 -206
  82. data/RESOLVING_VIOLATIONS.md +0 -76
  83. data/Rakefile +0 -22
  84. data/TROUBLESHOOT.md +0 -44
  85. data/UPGRADING.md +0 -66
  86. data/USAGE.md +0 -365
  87. data/bin/console +0 -15
  88. data/bin/m +0 -29
  89. data/bin/rake +0 -29
  90. data/bin/rubocop +0 -29
  91. data/bin/setup +0 -8
  92. data/bin/srb +0 -29
  93. data/bin/tapioca +0 -29
  94. data/dev.yml +0 -32
  95. data/docs/cohesion.png +0 -0
  96. data/gemfiles/Gemfile-rails-6-0 +0 -22
  97. data/gemfiles/Gemfile-rails-6-1 +0 -22
  98. data/packwerk.gemspec +0 -58
  99. data/shipit.rubygems.yml +0 -5
  100. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +0 -2754
  101. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +0 -1496
  102. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +0 -2362
  103. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +0 -1569
  104. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +0 -2553
  105. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +0 -5999
  106. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +0 -37832
  107. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +0 -2321
  108. data/sorbet/rbi/gems/better_html@1.0.16.rbi +0 -317
  109. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  110. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1079
  111. data/sorbet/rbi/gems/digest@3.1.0.rbi +0 -189
  112. data/sorbet/rbi/gems/globalid@1.0.0.rbi +0 -572
  113. data/sorbet/rbi/gems/mail@2.7.1.rbi +0 -2490
  114. data/sorbet/rbi/gems/marcel@1.0.2.rbi +0 -220
  115. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -76
  116. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +0 -170
  117. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +0 -2147
  118. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +0 -926
  119. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +0 -11
  120. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +0 -1108
  121. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +0 -292
  122. data/sorbet/rbi/gems/pry@0.14.1.rbi +0 -8
  123. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +0 -8
  124. data/sorbet/rbi/gems/spoom@1.1.11.rbi +0 -2181
  125. data/sorbet/rbi/gems/strscan@3.0.4.rbi +0 -8
  126. data/sorbet/rbi/gems/timeout@0.3.0.rbi +0 -142
  127. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  128. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2582
  129. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +0 -993
  130. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +0 -71
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packwerk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-08 00:00:00.000000000 Z
11
+ date: 2024-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: prism
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 0.25.0
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.25.0
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: better_html
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -160,38 +174,10 @@ executables:
160
174
  extensions: []
161
175
  extra_rdoc_files: []
162
176
  files:
163
- - ".github/ISSUE_TEMPLATE/bug_report.md"
164
- - ".github/pull_request_template.md"
165
- - ".github/workflows/ci.yml"
166
- - ".github/workflows/cla.yml"
167
- - ".gitignore"
168
- - ".rubocop.yml"
169
- - ".ruby-version"
170
177
  - CHANGELOG.md
171
- - CODEOWNERS
172
- - CODE_OF_CONDUCT.md
173
- - CONTRIBUTING.md
174
- - Gemfile
175
- - Gemfile.lock
176
178
  - LICENSE.md
177
179
  - README.md
178
- - RESOLVING_VIOLATIONS.md
179
- - Rakefile
180
- - TROUBLESHOOT.md
181
- - UPGRADING.md
182
- - USAGE.md
183
- - bin/console
184
- - bin/m
185
- - bin/rake
186
- - bin/rubocop
187
- - bin/setup
188
- - bin/srb
189
- - bin/tapioca
190
- - dev.yml
191
- - docs/cohesion.png
192
180
  - exe/packwerk
193
- - gemfiles/Gemfile-rails-6-0
194
- - gemfiles/Gemfile-rails-6-1
195
181
  - lib/packwerk.rb
196
182
  - lib/packwerk/application_validator.rb
197
183
  - lib/packwerk/association_inspector.rb
@@ -258,65 +244,42 @@ files:
258
244
  - lib/packwerk/validator/result.rb
259
245
  - lib/packwerk/validators/dependency_validator.rb
260
246
  - lib/packwerk/version.rb
261
- - packwerk.gemspec
262
- - shipit.rubygems.yml
263
247
  - sorbet/config
264
- - sorbet/rbi/gems/actioncable@7.0.3.1.rbi
265
- - sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi
266
- - sorbet/rbi/gems/actionmailer@7.0.3.1.rbi
267
248
  - sorbet/rbi/gems/actionpack@7.0.3.1.rbi
268
- - sorbet/rbi/gems/actiontext@7.0.3.1.rbi
269
249
  - sorbet/rbi/gems/actionview@7.0.3.1.rbi
270
- - sorbet/rbi/gems/activejob@7.0.3.1.rbi
271
- - sorbet/rbi/gems/activemodel@7.0.3.1.rbi
272
- - sorbet/rbi/gems/activerecord@7.0.3.1.rbi
273
- - sorbet/rbi/gems/activestorage@7.0.3.1.rbi
274
250
  - sorbet/rbi/gems/activesupport@7.0.3.1.rbi
275
251
  - sorbet/rbi/gems/ast@2.4.2.rbi
276
- - sorbet/rbi/gems/better_html@1.0.16.rbi
252
+ - sorbet/rbi/gems/better_html@2.0.1.rbi
277
253
  - sorbet/rbi/gems/builder@3.2.4.rbi
278
254
  - sorbet/rbi/gems/byebug@11.1.3.rbi
279
- - sorbet/rbi/gems/coderay@1.1.3.rbi
280
255
  - sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi
281
256
  - sorbet/rbi/gems/constant_resolver@0.2.0.rbi
282
257
  - sorbet/rbi/gems/crass@1.0.6.rbi
283
- - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
284
- - sorbet/rbi/gems/digest@3.1.0.rbi
285
258
  - sorbet/rbi/gems/erubi@1.11.0.rbi
286
- - sorbet/rbi/gems/globalid@1.0.0.rbi
287
259
  - sorbet/rbi/gems/i18n@1.12.0.rbi
288
260
  - sorbet/rbi/gems/json@2.6.2.rbi
289
261
  - sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi
290
262
  - sorbet/rbi/gems/loofah@2.18.0.rbi
291
263
  - sorbet/rbi/gems/m@1.6.0.rbi
292
- - sorbet/rbi/gems/mail@2.7.1.rbi
293
- - sorbet/rbi/gems/marcel@1.0.2.rbi
294
- - sorbet/rbi/gems/method_source@1.0.0.rbi
295
- - sorbet/rbi/gems/mini_mime@1.1.2.rbi
264
+ - sorbet/rbi/gems/method_source@1.1.0.rbi
296
265
  - sorbet/rbi/gems/minitest-focus@1.3.1.rbi
297
266
  - sorbet/rbi/gems/minitest@5.16.2.rbi
298
267
  - sorbet/rbi/gems/mocha@1.14.0.rbi
299
- - sorbet/rbi/gems/net-imap@0.2.3.rbi
300
- - sorbet/rbi/gems/net-pop@0.1.1.rbi
301
- - sorbet/rbi/gems/net-protocol@0.1.3.rbi
302
- - sorbet/rbi/gems/net-smtp@0.3.1.rbi
303
268
  - sorbet/rbi/gems/netrc@0.11.0.rbi
304
- - sorbet/rbi/gems/nio4r@2.5.8.rbi
305
- - sorbet/rbi/gems/nokogiri@1.13.8.rbi
306
- - sorbet/rbi/gems/parallel@1.22.1.rbi
307
- - sorbet/rbi/gems/parser@3.2.2.0.rbi
269
+ - sorbet/rbi/gems/nokogiri@1.15.3.rbi
270
+ - sorbet/rbi/gems/parallel@1.24.0.rbi
271
+ - sorbet/rbi/gems/parser@3.3.1.0.rbi
308
272
  - sorbet/rbi/gems/prettier_print@0.1.0.rbi
309
- - sorbet/rbi/gems/pry@0.14.1.rbi
310
- - sorbet/rbi/gems/racc@1.6.0.rbi
273
+ - sorbet/rbi/gems/prism@0.27.0.rbi
274
+ - sorbet/rbi/gems/racc@1.7.1.rbi
311
275
  - sorbet/rbi/gems/rack-test@2.0.2.rbi
312
276
  - sorbet/rbi/gems/rack@2.2.4.rbi
313
277
  - sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi
314
278
  - sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi
315
- - sorbet/rbi/gems/rails@7.0.3.1.rbi
316
279
  - sorbet/rbi/gems/railties@7.0.3.1.rbi
317
280
  - sorbet/rbi/gems/rainbow@3.1.1.rbi
318
281
  - sorbet/rbi/gems/rake@13.0.6.rbi
319
- - sorbet/rbi/gems/rbi@0.0.15.rbi
282
+ - sorbet/rbi/gems/rbi@0.1.12.rbi
320
283
  - sorbet/rbi/gems/regexp_parser@2.5.0.rbi
321
284
  - sorbet/rbi/gems/rexml@3.2.5.rbi
322
285
  - sorbet/rbi/gems/rubocop-ast@1.21.0.rbi
@@ -324,24 +287,18 @@ files:
324
287
  - sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi
325
288
  - sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi
326
289
  - sorbet/rbi/gems/rubocop@1.34.1.rbi
327
- - sorbet/rbi/gems/ruby-lsp@0.2.1.rbi
290
+ - sorbet/rbi/gems/ruby-lsp@0.2.3.rbi
328
291
  - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
329
292
  - sorbet/rbi/gems/smart_properties@1.17.0.rbi
330
- - sorbet/rbi/gems/spoom@1.1.11.rbi
293
+ - sorbet/rbi/gems/spoom@1.3.2.rbi
331
294
  - sorbet/rbi/gems/spring@4.0.0.rbi
332
- - sorbet/rbi/gems/strscan@3.0.4.rbi
333
295
  - sorbet/rbi/gems/syntax_tree@3.3.0.rbi
334
- - sorbet/rbi/gems/tapioca@0.9.2.rbi
335
- - sorbet/rbi/gems/thor@1.2.1.rbi
336
- - sorbet/rbi/gems/timeout@0.3.0.rbi
296
+ - sorbet/rbi/gems/tapioca@0.13.3.rbi
297
+ - sorbet/rbi/gems/thor@1.3.1.rbi
337
298
  - sorbet/rbi/gems/tzinfo@2.0.5.rbi
338
299
  - sorbet/rbi/gems/unicode-display_width@2.2.0.rbi
339
- - sorbet/rbi/gems/unparser@0.6.5.rbi
340
- - sorbet/rbi/gems/webrick@1.7.0.rbi
341
- - sorbet/rbi/gems/websocket-driver@0.7.5.rbi
342
- - sorbet/rbi/gems/websocket-extensions@0.1.5.rbi
343
- - sorbet/rbi/gems/yard-sorbet@0.6.1.rbi
344
- - sorbet/rbi/gems/yard@0.9.28.rbi
300
+ - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
301
+ - sorbet/rbi/gems/yard@0.9.36.rbi
345
302
  - sorbet/rbi/gems/zeitwerk@2.6.4.rbi
346
303
  - sorbet/rbi/shims/minitest/test.rb
347
304
  - sorbet/rbi/shims/packwerk/reference.rbi
@@ -372,7 +329,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
372
329
  - !ruby/object:Gem::Version
373
330
  version: '0'
374
331
  requirements: []
375
- rubygems_version: 3.4.17
332
+ rubygems_version: 3.5.9
376
333
  signing_key:
377
334
  specification_version: 4
378
335
  summary: Packages for applications based on the zeitwerk autoloader
@@ -1,27 +0,0 @@
1
- ---
2
- name: Bug / Issue Report
3
- about: Create a report to help us improve
4
- title: '[Bug Report]'
5
- labels: bug
6
- assignees: ''
7
-
8
- ---
9
-
10
- **Description**
11
- A clear and concise description of what the bug/issue is.
12
-
13
- **To Reproduce**
14
- Steps to reproduce the behavior.
15
-
16
- **Expected Behaviour**
17
- A clear and concise description of what you expected to happen.
18
-
19
- **Screenshots**
20
- If applicable, add screenshots to help explain your problem.
21
-
22
- **Version Information**
23
- - Packwerk: [e.g. v0.1.7]
24
- - Ruby [e.g. v1.7]
25
-
26
- **Additional Context**
27
- How have you tried to solve the issue? Add any other context about the problem here.
@@ -1,28 +0,0 @@
1
- ## What are you trying to accomplish?
2
-
3
-
4
- ## What approach did you choose and why?
5
-
6
-
7
- ## What should reviewers focus on?
8
-
9
-
10
- ## Type of Change
11
-
12
- - [ ] Bugfix
13
- - [ ] New feature
14
- - [ ] Non-breaking change (a change that doesn't alter functionality - i.e., code refactor, configs, etc.)
15
-
16
- ### Additional Release Notes
17
-
18
- - [ ] Breaking change (fix or feature that would cause existing functionality to change)
19
-
20
- Include any notes here to include in the release description. For example, if you selected "breaking change" above, leave notes on how users can transition to this version.
21
-
22
- If no additional notes are necessary, delete this section or leave it unchanged.
23
-
24
- ## Checklist
25
-
26
- - [ ] I have updated the documentation accordingly.
27
- - [ ] I have added tests to cover my changes.
28
- - [ ] It is safe to rollback this change.
@@ -1,93 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- - '*-stable'
8
- pull_request:
9
-
10
- jobs:
11
- tests:
12
- runs-on: ubuntu-latest
13
- strategy:
14
- matrix:
15
- gemfile:
16
- - Gemfile
17
- - gemfiles/Gemfile-rails-6-0
18
- - gemfiles/Gemfile-rails-6-1
19
- ruby:
20
- - "2.7"
21
- - "3.0"
22
- - "3.1"
23
- - "3.2"
24
- env:
25
- BUNDLE_GEMFILE: ${{ matrix.gemfile }}
26
- name: "Tests: Ruby ${{ matrix.ruby }} ${{ matrix.gemfile }}"
27
- steps:
28
- - uses: actions/checkout@v2
29
- - name: Set up Ruby ${{ matrix.ruby }}
30
- uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: ${{ matrix.ruby }}
33
- bundler-cache: true
34
- - name: Run tests
35
- run: bin/rake test
36
- loading-tests:
37
- runs-on: ubuntu-latest
38
- strategy:
39
- matrix:
40
- gemfile:
41
- - Gemfile
42
- ruby:
43
- - "2.7"
44
- - "3.0"
45
- - "3.1"
46
- - "3.2"
47
- env:
48
- BUNDLE_GEMFILE: ${{ matrix.gemfile }}
49
- name: "Loading Tests: Ruby ${{ matrix.ruby }} ${{ matrix.gemfile }}"
50
- steps:
51
- - uses: actions/checkout@v2
52
- - name: Set up Ruby ${{ matrix.ruby }}
53
- uses: ruby/setup-ruby@v1
54
- with:
55
- ruby-version: ${{ matrix.ruby }}
56
- bundler-cache: true
57
- - name: Run tests
58
- run: bin/rake test:loading
59
- lint:
60
- runs-on: ubuntu-latest
61
- name: Lint
62
- steps:
63
- - uses: actions/checkout@v2
64
- - name: Set up Ruby
65
- uses: ruby/setup-ruby@v1
66
- with:
67
- ruby-version: "3.1"
68
- bundler-cache: true
69
- - name: Run style checks
70
- run: bin/rubocop
71
- static_type_checking:
72
- runs-on: ubuntu-latest
73
- name: Type Checking
74
- steps:
75
- - uses: actions/checkout@v2
76
- - name: Set up Ruby
77
- uses: ruby/setup-ruby@v1
78
- with:
79
- ruby-version: "3.1"
80
- # bundler-cache: true
81
- - name: Run static type checks
82
- run: |
83
- bundle install --jobs 4 --retry 3
84
- bin/srb tc
85
- buildall:
86
- if: ${{ always() }}
87
- runs-on: ubuntu-latest
88
- name: Build (matrix)
89
- needs: [lint, tests, static_type_checking]
90
- steps:
91
- - name: Check build matrix status
92
- if: ${{ needs.tests.result != 'success' || needs.lint.result != 'success' || needs.static_type_checking.result != 'success' }}
93
- run: exit 1
@@ -1,22 +0,0 @@
1
- name: Contributor License Agreement (CLA)
2
-
3
- on:
4
- pull_request_target:
5
- types: [opened, synchronize]
6
- issue_comment:
7
- types: [created]
8
-
9
- jobs:
10
- cla:
11
- runs-on: ubuntu-latest
12
- if: |
13
- (github.event.issue.pull_request
14
- && !github.event.issue.pull_request.merged_at
15
- && contains(github.event.comment.body, 'signed')
16
- )
17
- || (github.event.pull_request && !github.event.pull_request.merged)
18
- steps:
19
- - uses: Shopify/shopify-cla-action@v1
20
- with:
21
- github-token: ${{ secrets.GITHUB_TOKEN }}
22
- cla-token: ${{ secrets.CLA_TOKEN }}
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
- /.bundle/
10
- /tmp/
11
- .rubocop-*
12
- .byebug_history
13
- sorbet/rbi/hidden-definitions/errors.txt
data/.rubocop.yml DELETED
@@ -1,75 +0,0 @@
1
- inherit_gem:
2
- rubocop-shopify: rubocop.yml
3
-
4
- require:
5
- - rubocop-performance
6
- - rubocop-sorbet
7
-
8
- AllCops:
9
- TargetRubyVersion: 2.7
10
- NewCops: disable
11
- UseCache: true
12
- SuggestExtensions: false
13
- CacheRootDirectory: tmp
14
- Exclude:
15
- - 'test/fixtures/**/*'
16
-
17
- Sorbet/ConstantsFromStrings:
18
- Enabled: true
19
-
20
- Sorbet/ForbidIncludeConstLiteral:
21
- Enabled: true
22
-
23
- Sorbet/SignatureBuildOrder:
24
- Enabled: true
25
-
26
- Sorbet/KeywordArgumentOrdering:
27
- Enabled: true
28
-
29
- Sorbet/ValidSigil:
30
- Enabled: true
31
-
32
- Performance/AncestorsInclude: # new in 1.7
33
- Enabled: true
34
-
35
- Performance/BigDecimalWithNumericArgument: # new in 1.7
36
- Enabled: true
37
-
38
- Performance/BlockGivenWithExplicitBlock: # new in 1.9
39
- Enabled: true
40
-
41
- Performance/CollectionLiteralInLoop: # new in 1.8
42
- Enabled: true
43
-
44
- Performance/ConstantRegexp: # new in 1.9
45
- Enabled: true
46
-
47
- Performance/MethodObjectAsBlock: # new in 1.9
48
- Enabled: true
49
-
50
- Performance/RedundantEqualityComparisonBlock: # new in 1.10
51
- Enabled: true
52
-
53
- Performance/RedundantSortBlock: # new in 1.7
54
- Enabled: true
55
-
56
- Performance/RedundantSplitRegexpArgument: # new in 1.10
57
- Enabled: true
58
-
59
- Performance/RedundantStringChars: # new in 1.7
60
- Enabled: true
61
-
62
- Performance/ReverseFirst: # new in 1.7
63
- Enabled: true
64
-
65
- Performance/SortReverse: # new in 1.7
66
- Enabled: true
67
-
68
- Performance/Squeeze: # new in 1.7
69
- Enabled: true
70
-
71
- Performance/StringInclude: # new in 1.7
72
- Enabled: true
73
-
74
- Performance/Sum: # new in 1.8
75
- Enabled: true
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 3.2.2
data/CODEOWNERS DELETED
@@ -1 +0,0 @@
1
- * @Shopify/packwerk
data/CODE_OF_CONDUCT.md DELETED
@@ -1,76 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to make participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, sex characteristics, gender identity and expression,
9
- level of experience, education, socio-economic status, nationality, personal
10
- appearance, race, religion, or sexual identity and orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies within all project spaces, and it also applies when
49
- an individual is representing the project or its community in public spaces.
50
- Examples of representing a project or community include using an official
51
- project e-mail address, posting via an official social media account, or acting
52
- as an appointed representative at an online or offline event. Representation of
53
- a project may be further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at opensource@shopify.com. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
-
73
- [homepage]: https://www.contributor-covenant.org
74
-
75
- For answers to common questions about this code of conduct, see
76
- https://www.contributor-covenant.org/faq
data/CONTRIBUTING.md DELETED
@@ -1,17 +0,0 @@
1
- # Contributing
2
-
3
- ## Issue reporting
4
- * Check to make sure the same issue has not already been reported or fixed
5
- * Open an issue with a descriptive title and summary
6
- * Be clear and concise and provide as many details as possible (e.g. Ruby version, Packwerk version, etc.)
7
- * Include relevant code, where necessary
8
-
9
- ## Pull requests
10
- * Read and understand our [Code of Conduct](https://github.com/Shopify/packwerk/blob/main/CODE_OF_CONDUCT.md)
11
- * Make sure tests are added for any changes to the code
12
- * [Squash related commits together](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)
13
- * If the change includes any new keys to `packwerk.yml`, make sure that the [application validator](https://github.com/Shopify/packwerk/blob/1c711748b4a28b65220e2cefba764ffd8eb1a101/lib/packwerk/application_validator.rb#L116) is aligned with that change
14
- * Open a pull request once the change is ready to be reviewed
15
- * Be descriptive about the problem and reason about the proposed solution
16
- * Include release notes describing the potential impact of the change in the pull request
17
- * Make sure there has been at least one approval from Shopify before merging
data/Gemfile DELETED
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source("https://rubygems.org")
4
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}.git" }
5
-
6
- gemspec
7
-
8
- # Specify the same dependency sources as the application Gemfile
9
-
10
- gem("spring")
11
- gem("constant_resolver", require: false)
12
- gem("rubocop-performance", require: false)
13
- gem("rubocop-sorbet", require: false)
14
- gem("mocha", require: false)
15
- gem("rubocop-shopify", require: false)
16
- gem("tapioca", require: false)
17
-
18
- group :development do
19
- gem("byebug", require: false)
20
- gem("minitest-focus", require: false)
21
- gem("ruby-lsp", "~> 0.2.1")
22
-
23
- gem("m")
24
- gem("rake")
25
- gem("sorbet-static-and-runtime")
26
- gem("zeitwerk")
27
- end