use_packs 0.0.19 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c91cf31b0f2e560b5ea797df175fc15d5480057d622c93a26a6b6dd6dc470f8
4
- data.tar.gz: cd7ff3e14cc6a67df490ece991ae2779fef0b88493c9f1bebe67b539c90e4da4
3
+ metadata.gz: 1e5ff298c66cd0240894575bbcd27229d27370a946f59578c21f650de6fbb699
4
+ data.tar.gz: 8863e9d1fd26bbbe3fa512b06f3338e05d0de0d552febd207989d229f07f76c6
5
5
  SHA512:
6
- metadata.gz: 5be0a6fb61d223c991afd30b55baaaf74035cf7d0e66953dd4d10732fd7a8e2cfc4cadc2b4a6bdc6fee88440e041e53c89f478c3005b0701c6915760d2d2f95b
7
- data.tar.gz: 251134796f9054ab9ed1b1d3ebab9c6c33ec74302510c1cbd81f7628cb427e3e88be321e130d44ae3f0aa85a37f1cb252d3edbabee12c0b9803c834e1c907ff9
6
+ metadata.gz: aa284550c2ffe844c552568ec06985b5d8bf95ebab863b7ceafbad9b28b84604eec045fc9ea56c9c0c73608507406c20eed4c1d1cd932b3c05855eb963eb7359
7
+ data.tar.gz: 8a186d4871ea6860535dba32a427d9a62c09b0bb92597d168a009d8c49def298877ac5437d7b979f9818b671ffa31dee806c738f7c7afe759734eb5d96347d44
@@ -366,7 +366,7 @@ module UsePacks
366
366
 
367
367
  existing_package = ParsePackwerk.all.find { |p| p.name == pack_name }
368
368
  if existing_package.nil?
369
- should_enforce_dependenceies = enforce_dependencies.nil? ? UsePacks.config.enforce_dependencies : enforce_dependencies
369
+ should_enforce_dependencies = enforce_dependencies.nil? ? UsePacks.config.enforce_dependencies : enforce_dependencies
370
370
 
371
371
  # TODO: This should probably be `if defined?(CodeOwnership) && CodeOwnership.configured?`
372
372
  # but we'll need to add an API to CodeOwnership to do this
@@ -379,7 +379,7 @@ module UsePacks
379
379
  end
380
380
 
381
381
  package = ParsePackwerk::Package.new(
382
- enforce_dependencies: should_enforce_dependenceies,
382
+ enforce_dependencies: should_enforce_dependencies || false,
383
383
  enforce_privacy: enforce_privacy,
384
384
  dependencies: [],
385
385
  metadata: {},
@@ -557,6 +557,39 @@ module UsePacks
557
557
  end
558
558
  end
559
559
 
560
+ sig { params(packs: T::Array[Packs::Pack]).void }
561
+ def self.lint_package_yml_files!(packs)
562
+ packs.each do |p|
563
+ packwerk_package = ParsePackwerk.find(p.name)
564
+ next if packwerk_package.nil?
565
+
566
+ new_metadata = packwerk_package.metadata
567
+ new_config = packwerk_package.config
568
+
569
+ # Move metadata owner key to top-level
570
+ existing_owner = new_config['owner'] || new_metadata.delete('owner')
571
+ new_config['owner'] = existing_owner if !existing_owner.nil?
572
+
573
+ if new_metadata.empty?
574
+ new_config.delete('metadata')
575
+ end
576
+
577
+ new_package = packwerk_package.with(
578
+ config: new_config,
579
+ metadata: new_metadata,
580
+ dependencies: packwerk_package.dependencies.uniq.sort
581
+ )
582
+
583
+ ParsePackwerk.write_package_yml!(new_package)
584
+ end
585
+ end
586
+
587
+ sig { params(config: T::Hash[T.anything, T.anything]).returns(T::Hash[T.anything, T.anything]) }
588
+ def self.sort_keys(config)
589
+ sort_order = ParsePackwerk.key_sort_order
590
+ config.to_a.sort_by { |key, _value| T.unsafe(sort_order).index(key) }.to_h
591
+ end
592
+
560
593
  sig { params(packs: T::Array[Packs::Pack]).void }
561
594
  def self.visualize(packs: Packs.all)
562
595
  packwerk_packages = packs.map do |pack|
data/lib/use_packs.rb CHANGED
@@ -253,19 +253,6 @@ module UsePacks
253
253
 
254
254
  sig { params(packs: T::Array[Packs::Pack]).void }
255
255
  def self.lint_package_yml_files!(packs)
256
- packs.each do |p|
257
- packwerk_package = ParsePackwerk.find(p.name)
258
- next if packwerk_package.nil?
259
-
260
- new_package = ParsePackwerk::Package.new(
261
- name: packwerk_package.name,
262
- enforce_privacy: packwerk_package.enforce_privacy,
263
- enforce_dependencies: packwerk_package.enforce_dependencies,
264
- dependencies: packwerk_package.dependencies.uniq.sort,
265
- metadata: packwerk_package.metadata,
266
- config: packwerk_package.config
267
- )
268
- ParsePackwerk.write_package_yml!(new_package)
269
- end
256
+ Private.lint_package_yml_files!(packs)
270
257
  end
271
258
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: use_packs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gusto Engineers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-15 00:00:00.000000000 Z
11
+ date: 2023-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: code_ownership