packwerk 3.2.0 → 3.2.2

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/lib/packwerk/association_inspector.rb +17 -4
  3. data/lib/packwerk/checker.rb +3 -3
  4. data/lib/packwerk/configuration.rb +4 -0
  5. data/lib/packwerk/const_node_inspector.rb +2 -2
  6. data/lib/packwerk/constant_name_inspector.rb +2 -2
  7. data/lib/packwerk/offenses_formatter.rb +3 -3
  8. data/lib/packwerk/package.rb +1 -1
  9. data/lib/packwerk/package_todo.rb +1 -4
  10. data/lib/packwerk/parsers/factory.rb +3 -3
  11. data/lib/packwerk/parsers/ruby.rb +7 -0
  12. data/lib/packwerk/reference_extractor.rb +29 -1
  13. data/lib/packwerk/reference_offense.rb +1 -1
  14. data/lib/packwerk/run_context.rb +15 -4
  15. data/lib/packwerk/validator.rb +3 -3
  16. data/lib/packwerk/version.rb +1 -1
  17. data/lib/packwerk.rb +1 -0
  18. data/sorbet/config +1 -0
  19. data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +3280 -3450
  20. data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +2322 -1782
  21. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +2654 -3268
  22. data/sorbet/rbi/gems/ast@2.4.2.rbi +535 -6
  23. data/sorbet/rbi/gems/better_html@2.0.1.rbi +529 -0
  24. data/sorbet/rbi/gems/builder@3.2.4.rbi +4 -4
  25. data/sorbet/rbi/gems/byebug@11.1.3.rbi +32 -4
  26. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +1750 -1840
  27. data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +15 -15
  28. data/sorbet/rbi/gems/crass@1.0.6.rbi +489 -5
  29. data/sorbet/rbi/gems/erubi@1.11.0.rbi +24 -21
  30. data/sorbet/rbi/gems/i18n@1.12.0.rbi +395 -395
  31. data/sorbet/rbi/gems/json@2.6.2.rbi +70 -77
  32. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +1 -1
  33. data/sorbet/rbi/gems/loofah@2.18.0.rbi +134 -134
  34. data/sorbet/rbi/gems/m@1.6.0.rbi +60 -60
  35. data/sorbet/rbi/gems/method_source@1.1.0.rbi +303 -0
  36. data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +22 -28
  37. data/sorbet/rbi/gems/minitest@5.16.2.rbi +384 -396
  38. data/sorbet/rbi/gems/mocha@1.14.0.rbi +589 -589
  39. data/sorbet/rbi/gems/netrc@0.11.0.rbi +37 -32
  40. data/sorbet/rbi/gems/nokogiri@1.15.3.rbi +962 -946
  41. data/sorbet/rbi/gems/{parallel@1.22.1.rbi → parallel@1.24.0.rbi} +85 -82
  42. data/sorbet/rbi/gems/{parser@3.2.2.0.rbi → parser@3.3.1.0.rbi} +1679 -1609
  43. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +1 -1
  44. data/sorbet/rbi/gems/{prism@0.24.0.rbi → prism@0.27.0.rbi} +13473 -6472
  45. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.7.1.rbi} +42 -33
  46. data/sorbet/rbi/gems/rack-test@2.0.2.rbi +148 -338
  47. data/sorbet/rbi/gems/rack@2.2.4.rbi +1079 -1130
  48. data/sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi +354 -22
  49. data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +113 -259
  50. data/sorbet/rbi/gems/railties@7.0.3.1.rbi +642 -638
  51. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +109 -99
  52. data/sorbet/rbi/gems/rake@13.0.6.rbi +714 -599
  53. data/sorbet/rbi/gems/{rbi@0.0.15.rbi → rbi@0.1.12.rbi} +865 -801
  54. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +853 -870
  55. data/sorbet/rbi/gems/rexml@3.2.5.rbi +480 -477
  56. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +1621 -1622
  57. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +507 -526
  58. data/sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi +1 -1
  59. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +186 -203
  60. data/sorbet/rbi/gems/rubocop@1.34.1.rbi +8126 -8367
  61. data/sorbet/rbi/gems/{ruby-lsp@0.2.1.rbi → ruby-lsp@0.2.3.rbi} +2 -2
  62. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +1235 -4
  63. data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +90 -90
  64. data/sorbet/rbi/gems/spoom@1.3.2.rbi +4420 -0
  65. data/sorbet/rbi/gems/spring@4.0.0.rbi +104 -104
  66. data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +1 -1
  67. data/sorbet/rbi/gems/{tapioca@0.9.2.rbi → tapioca@0.13.3.rbi} +1596 -1253
  68. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.3.1.rbi} +1047 -652
  69. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +531 -513
  70. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +13 -13
  71. data/sorbet/rbi/gems/{yard-sorbet@0.6.1.rbi → yard-sorbet@0.8.1.rbi} +132 -92
  72. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.36.rbi} +3158 -3067
  73. data/sorbet/rbi/gems/zeitwerk@2.6.4.rbi +149 -145
  74. metadata +22 -94
  75. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -27
  76. data/.github/pull_request_template.md +0 -28
  77. data/.github/workflows/ci.yml +0 -93
  78. data/.github/workflows/cla.yml +0 -22
  79. data/.gitignore +0 -13
  80. data/.rubocop.yml +0 -75
  81. data/.ruby-version +0 -1
  82. data/CODEOWNERS +0 -1
  83. data/CODE_OF_CONDUCT.md +0 -76
  84. data/CONTRIBUTING.md +0 -17
  85. data/Gemfile +0 -27
  86. data/Gemfile.lock +0 -206
  87. data/RESOLVING_VIOLATIONS.md +0 -76
  88. data/Rakefile +0 -22
  89. data/TROUBLESHOOT.md +0 -44
  90. data/UPGRADING.md +0 -66
  91. data/USAGE.md +0 -364
  92. data/bin/console +0 -15
  93. data/bin/m +0 -29
  94. data/bin/rake +0 -29
  95. data/bin/rubocop +0 -29
  96. data/bin/setup +0 -8
  97. data/bin/srb +0 -29
  98. data/bin/tapioca +0 -29
  99. data/dev.yml +0 -32
  100. data/docs/cohesion.png +0 -0
  101. data/gemfiles/Gemfile-rails-6-0 +0 -22
  102. data/gemfiles/Gemfile-rails-6-1 +0 -22
  103. data/packwerk.gemspec +0 -59
  104. data/shipit.rubygems.yml +0 -5
  105. data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +0 -2754
  106. data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +0 -1496
  107. data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +0 -2362
  108. data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +0 -1569
  109. data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +0 -2553
  110. data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +0 -5999
  111. data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +0 -37832
  112. data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +0 -2321
  113. data/sorbet/rbi/gems/better_html@1.0.16.rbi +0 -317
  114. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  115. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1079
  116. data/sorbet/rbi/gems/digest@3.1.0.rbi +0 -189
  117. data/sorbet/rbi/gems/globalid@1.0.0.rbi +0 -572
  118. data/sorbet/rbi/gems/mail@2.7.1.rbi +0 -2490
  119. data/sorbet/rbi/gems/marcel@1.0.2.rbi +0 -220
  120. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -76
  121. data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +0 -170
  122. data/sorbet/rbi/gems/net-imap@0.2.3.rbi +0 -2147
  123. data/sorbet/rbi/gems/net-pop@0.1.1.rbi +0 -926
  124. data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +0 -11
  125. data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +0 -1108
  126. data/sorbet/rbi/gems/nio4r@2.5.8.rbi +0 -292
  127. data/sorbet/rbi/gems/pry@0.14.1.rbi +0 -8
  128. data/sorbet/rbi/gems/rails@7.0.3.1.rbi +0 -8
  129. data/sorbet/rbi/gems/spoom@1.1.11.rbi +0 -2181
  130. data/sorbet/rbi/gems/strscan@3.0.4.rbi +0 -8
  131. data/sorbet/rbi/gems/timeout@0.3.0.rbi +0 -142
  132. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  133. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2582
  134. data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +0 -993
  135. 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.2.0
4
+ version: 3.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-16 00:00:00.000000000 Z
11
+ date: 2024-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 0.24.0
131
+ version: 0.25.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 0.24.0
138
+ version: 0.25.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: better_html
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -150,20 +150,6 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: railties
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
153
  description: |
168
154
  Sets package level boundaries between a specified set of ruby
169
155
  constants to minimize cross-boundary referencing and dependency.
@@ -174,38 +160,10 @@ executables:
174
160
  extensions: []
175
161
  extra_rdoc_files: []
176
162
  files:
177
- - ".github/ISSUE_TEMPLATE/bug_report.md"
178
- - ".github/pull_request_template.md"
179
- - ".github/workflows/ci.yml"
180
- - ".github/workflows/cla.yml"
181
- - ".gitignore"
182
- - ".rubocop.yml"
183
- - ".ruby-version"
184
163
  - CHANGELOG.md
185
- - CODEOWNERS
186
- - CODE_OF_CONDUCT.md
187
- - CONTRIBUTING.md
188
- - Gemfile
189
- - Gemfile.lock
190
164
  - LICENSE.md
191
165
  - README.md
192
- - RESOLVING_VIOLATIONS.md
193
- - Rakefile
194
- - TROUBLESHOOT.md
195
- - UPGRADING.md
196
- - USAGE.md
197
- - bin/console
198
- - bin/m
199
- - bin/rake
200
- - bin/rubocop
201
- - bin/setup
202
- - bin/srb
203
- - bin/tapioca
204
- - dev.yml
205
- - docs/cohesion.png
206
166
  - exe/packwerk
207
- - gemfiles/Gemfile-rails-6-0
208
- - gemfiles/Gemfile-rails-6-1
209
167
  - lib/packwerk.rb
210
168
  - lib/packwerk/application_validator.rb
211
169
  - lib/packwerk/association_inspector.rb
@@ -272,66 +230,42 @@ files:
272
230
  - lib/packwerk/validator/result.rb
273
231
  - lib/packwerk/validators/dependency_validator.rb
274
232
  - lib/packwerk/version.rb
275
- - packwerk.gemspec
276
- - shipit.rubygems.yml
277
233
  - sorbet/config
278
- - sorbet/rbi/gems/actioncable@7.0.3.1.rbi
279
- - sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi
280
- - sorbet/rbi/gems/actionmailer@7.0.3.1.rbi
281
234
  - sorbet/rbi/gems/actionpack@7.0.3.1.rbi
282
- - sorbet/rbi/gems/actiontext@7.0.3.1.rbi
283
235
  - sorbet/rbi/gems/actionview@7.0.3.1.rbi
284
- - sorbet/rbi/gems/activejob@7.0.3.1.rbi
285
- - sorbet/rbi/gems/activemodel@7.0.3.1.rbi
286
- - sorbet/rbi/gems/activerecord@7.0.3.1.rbi
287
- - sorbet/rbi/gems/activestorage@7.0.3.1.rbi
288
236
  - sorbet/rbi/gems/activesupport@7.0.3.1.rbi
289
237
  - sorbet/rbi/gems/ast@2.4.2.rbi
290
- - sorbet/rbi/gems/better_html@1.0.16.rbi
238
+ - sorbet/rbi/gems/better_html@2.0.1.rbi
291
239
  - sorbet/rbi/gems/builder@3.2.4.rbi
292
240
  - sorbet/rbi/gems/byebug@11.1.3.rbi
293
- - sorbet/rbi/gems/coderay@1.1.3.rbi
294
241
  - sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi
295
242
  - sorbet/rbi/gems/constant_resolver@0.2.0.rbi
296
243
  - sorbet/rbi/gems/crass@1.0.6.rbi
297
- - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
298
- - sorbet/rbi/gems/digest@3.1.0.rbi
299
244
  - sorbet/rbi/gems/erubi@1.11.0.rbi
300
- - sorbet/rbi/gems/globalid@1.0.0.rbi
301
245
  - sorbet/rbi/gems/i18n@1.12.0.rbi
302
246
  - sorbet/rbi/gems/json@2.6.2.rbi
303
247
  - sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi
304
248
  - sorbet/rbi/gems/loofah@2.18.0.rbi
305
249
  - sorbet/rbi/gems/m@1.6.0.rbi
306
- - sorbet/rbi/gems/mail@2.7.1.rbi
307
- - sorbet/rbi/gems/marcel@1.0.2.rbi
308
- - sorbet/rbi/gems/method_source@1.0.0.rbi
309
- - sorbet/rbi/gems/mini_mime@1.1.2.rbi
250
+ - sorbet/rbi/gems/method_source@1.1.0.rbi
310
251
  - sorbet/rbi/gems/minitest-focus@1.3.1.rbi
311
252
  - sorbet/rbi/gems/minitest@5.16.2.rbi
312
253
  - sorbet/rbi/gems/mocha@1.14.0.rbi
313
- - sorbet/rbi/gems/net-imap@0.2.3.rbi
314
- - sorbet/rbi/gems/net-pop@0.1.1.rbi
315
- - sorbet/rbi/gems/net-protocol@0.1.3.rbi
316
- - sorbet/rbi/gems/net-smtp@0.3.1.rbi
317
254
  - sorbet/rbi/gems/netrc@0.11.0.rbi
318
- - sorbet/rbi/gems/nio4r@2.5.8.rbi
319
255
  - sorbet/rbi/gems/nokogiri@1.15.3.rbi
320
- - sorbet/rbi/gems/parallel@1.22.1.rbi
321
- - sorbet/rbi/gems/parser@3.2.2.0.rbi
256
+ - sorbet/rbi/gems/parallel@1.24.0.rbi
257
+ - sorbet/rbi/gems/parser@3.3.1.0.rbi
322
258
  - sorbet/rbi/gems/prettier_print@0.1.0.rbi
323
- - sorbet/rbi/gems/prism@0.24.0.rbi
324
- - sorbet/rbi/gems/pry@0.14.1.rbi
325
- - sorbet/rbi/gems/racc@1.6.0.rbi
259
+ - sorbet/rbi/gems/prism@0.27.0.rbi
260
+ - sorbet/rbi/gems/racc@1.7.1.rbi
326
261
  - sorbet/rbi/gems/rack-test@2.0.2.rbi
327
262
  - sorbet/rbi/gems/rack@2.2.4.rbi
328
263
  - sorbet/rbi/gems/rails-dom-testing@2.0.3.rbi
329
264
  - sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi
330
- - sorbet/rbi/gems/rails@7.0.3.1.rbi
331
265
  - sorbet/rbi/gems/railties@7.0.3.1.rbi
332
266
  - sorbet/rbi/gems/rainbow@3.1.1.rbi
333
267
  - sorbet/rbi/gems/rake@13.0.6.rbi
334
- - sorbet/rbi/gems/rbi@0.0.15.rbi
268
+ - sorbet/rbi/gems/rbi@0.1.12.rbi
335
269
  - sorbet/rbi/gems/regexp_parser@2.5.0.rbi
336
270
  - sorbet/rbi/gems/rexml@3.2.5.rbi
337
271
  - sorbet/rbi/gems/rubocop-ast@1.21.0.rbi
@@ -339,24 +273,18 @@ files:
339
273
  - sorbet/rbi/gems/rubocop-shopify@2.9.0.rbi
340
274
  - sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi
341
275
  - sorbet/rbi/gems/rubocop@1.34.1.rbi
342
- - sorbet/rbi/gems/ruby-lsp@0.2.1.rbi
276
+ - sorbet/rbi/gems/ruby-lsp@0.2.3.rbi
343
277
  - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
344
278
  - sorbet/rbi/gems/smart_properties@1.17.0.rbi
345
- - sorbet/rbi/gems/spoom@1.1.11.rbi
279
+ - sorbet/rbi/gems/spoom@1.3.2.rbi
346
280
  - sorbet/rbi/gems/spring@4.0.0.rbi
347
- - sorbet/rbi/gems/strscan@3.0.4.rbi
348
281
  - sorbet/rbi/gems/syntax_tree@3.3.0.rbi
349
- - sorbet/rbi/gems/tapioca@0.9.2.rbi
350
- - sorbet/rbi/gems/thor@1.2.1.rbi
351
- - sorbet/rbi/gems/timeout@0.3.0.rbi
282
+ - sorbet/rbi/gems/tapioca@0.13.3.rbi
283
+ - sorbet/rbi/gems/thor@1.3.1.rbi
352
284
  - sorbet/rbi/gems/tzinfo@2.0.5.rbi
353
285
  - sorbet/rbi/gems/unicode-display_width@2.2.0.rbi
354
- - sorbet/rbi/gems/unparser@0.6.5.rbi
355
- - sorbet/rbi/gems/webrick@1.7.0.rbi
356
- - sorbet/rbi/gems/websocket-driver@0.7.5.rbi
357
- - sorbet/rbi/gems/websocket-extensions@0.1.5.rbi
358
- - sorbet/rbi/gems/yard-sorbet@0.6.1.rbi
359
- - sorbet/rbi/gems/yard@0.9.28.rbi
286
+ - sorbet/rbi/gems/yard-sorbet@0.8.1.rbi
287
+ - sorbet/rbi/gems/yard@0.9.36.rbi
360
288
  - sorbet/rbi/gems/zeitwerk@2.6.4.rbi
361
289
  - sorbet/rbi/shims/minitest/test.rb
362
290
  - sorbet/rbi/shims/packwerk/reference.rbi
@@ -372,7 +300,7 @@ metadata:
372
300
  source_code_uri: https://github.com/Shopify/packwerk
373
301
  changelog_uri: https://github.com/Shopify/packwerk/releases
374
302
  allowed_push_host: https://rubygems.org
375
- post_install_message:
303
+ post_install_message:
376
304
  rdoc_options: []
377
305
  require_paths:
378
306
  - lib
@@ -380,15 +308,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
380
308
  requirements:
381
309
  - - ">="
382
310
  - !ruby/object:Gem::Version
383
- version: '2.7'
311
+ version: '3.1'
384
312
  required_rubygems_version: !ruby/object:Gem::Requirement
385
313
  requirements:
386
314
  - - ">="
387
315
  - !ruby/object:Gem::Version
388
316
  version: '0'
389
317
  requirements: []
390
- rubygems_version: 3.5.6
391
- signing_key:
318
+ rubygems_version: 3.5.23
319
+ signing_key:
392
320
  specification_version: 4
393
321
  summary: Packages for applications based on the zeitwerk autoloader
394
322
  test_files: []
@@ -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