code_ownership 1.29.1 → 1.29.2

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: cd3be735f88cd50d9ba9d9e3d73d6adbf58ebcb20aaa4bceaf3955deedaa497c
4
- data.tar.gz: 6a9ca2b07221580d8926218ab912ff418d7c24631a13b04767108e715f19ce57
3
+ metadata.gz: 4e796fdc12573836124effdc391e8443cb8ae82cdd5804d52ba417cf9fe21b57
4
+ data.tar.gz: bd19a776739342474b75840d51b8c8f441efe9ad7ac26fca58e3062c43426581
5
5
  SHA512:
6
- metadata.gz: 4931c183eb23c08d0ca13bd1d6455c09aa69c9a5fce4f6b7387a3d4da4034c817c341bd74e38efe5bb958ec191f021d749fbb939bc03d9b956836d52e400b312
7
- data.tar.gz: a102028da11aefab9899f6eb194b4078846747f6afd2fea76d4e9aa78c66dfecb7c18f8f7482a02a5d43b8d8c4452b7d4492b2704aa3d07ebcdc238a89f363eb
6
+ metadata.gz: 72c79c8a88854736b955b006067b9e03578c3dab1463cdb9d7936340e83166d792ebe8b4075c9dd1642725de780681de2bc8434c494f6c5e3a9e4d379402880f
7
+ data.tar.gz: bd9a5a8adc21b80d30f34b18f9825969c3f2dfbf8f4b73367154c36867bfc4aa627bc70217cc7ef4480baf7af2d92954af834ecef3f95b6838b28427c5763229
data/README.md CHANGED
@@ -36,7 +36,7 @@ File annotations are a last resort if there is no clear home for your code. File
36
36
  ```
37
37
 
38
38
  ### Javascript Package Ownership
39
- Javascript package based ownership allows you to specify an owenrship key in a `package.json`. To use this, configure your `package.json` like this:
39
+ Javascript package based ownership allows you to specify an ownership key in a `package.json`. To use this, configure your `package.json` like this:
40
40
 
41
41
  ```json
42
42
  {
@@ -9,14 +9,14 @@ module CodeOwnership
9
9
  extend T::Sig
10
10
  include Interface
11
11
 
12
- @@package_yml_cache = T.let({}, T::Hash[String, T.nilable(ParsePackwerk::Package)]) # rubocop:disable Style/ClassVars
12
+ @@package_yml_cache = T.let({}, T::Hash[String, T.nilable(Packs::Pack)]) # rubocop:disable Style/ClassVars
13
13
 
14
14
  sig do
15
15
  override.params(file: String).
16
16
  returns(T.nilable(::CodeTeams::Team))
17
17
  end
18
18
  def map_file_to_owner(file)
19
- package = ParsePackwerk.package_from_path(file)
19
+ package = Packs.for_file(file)
20
20
 
21
21
  return nil if package.nil?
22
22
 
@@ -29,11 +29,11 @@ module CodeOwnership
29
29
  returns(T::Hash[String, T.nilable(::CodeTeams::Team)])
30
30
  end
31
31
  def map_files_to_owners(files) # rubocop:disable Lint/UnusedMethodArgument
32
- ParsePackwerk.all.each_with_object({}) do |package, res|
32
+ Packs.all.each_with_object({}) do |package, res|
33
33
  owner = owner_for_package(package)
34
34
  next if owner.nil?
35
35
 
36
- glob = package.directory.join('**/**').to_s
36
+ glob = package.relative_path.join('**/**').to_s
37
37
  Dir.glob(glob).each do |path|
38
38
  res[path] = owner
39
39
  end
@@ -52,11 +52,11 @@ module CodeOwnership
52
52
  override.returns(T::Hash[String, T.nilable(::CodeTeams::Team)])
53
53
  end
54
54
  def codeowners_lines_to_owners
55
- ParsePackwerk.all.each_with_object({}) do |package, res|
55
+ Packs.all.each_with_object({}) do |package, res|
56
56
  owner = owner_for_package(package)
57
57
  next if owner.nil?
58
58
 
59
- res[package.directory.join('**/**').to_s] = owner
59
+ res[package.relative_path.join('**/**').to_s] = owner
60
60
  end
61
61
  end
62
62
 
@@ -65,7 +65,7 @@ module CodeOwnership
65
65
  'Owner metadata key in package.yml'
66
66
  end
67
67
 
68
- sig { params(package: ParsePackwerk::Package).returns(T.nilable(CodeTeams::Team)) }
68
+ sig { params(package: Packs::Pack).returns(T.nilable(CodeTeams::Team)) }
69
69
  def owner_for_package(package)
70
70
  raw_owner_value = package.metadata['owner']
71
71
  return nil if !raw_owner_value
@@ -6,7 +6,7 @@ require 'set'
6
6
  require 'code_teams'
7
7
  require 'sorbet-runtime'
8
8
  require 'json'
9
- require 'parse_packwerk'
9
+ require 'packs'
10
10
  require 'code_ownership/cli'
11
11
  require 'code_ownership/private'
12
12
 
@@ -140,7 +140,7 @@ module CodeOwnership
140
140
  end
141
141
  end
142
142
 
143
- sig { params(package: ParsePackwerk::Package).returns(T.nilable(::CodeTeams::Team)) }
143
+ sig { params(package: Packs::Pack).returns(T.nilable(::CodeTeams::Team)) }
144
144
  def for_package(package)
145
145
  Private::OwnershipMappers::PackageOwnership.new.owner_for_package(package)
146
146
  end
@@ -0,0 +1,80 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `packs` gem.
5
+ # Please instead update this file by running `bin/tapioca gem packs`.
6
+
7
+ module Packs
8
+ class << self
9
+ sig { returns(T::Array[::Packs::Pack]) }
10
+ def all; end
11
+
12
+ sig { void }
13
+ def bust_cache!; end
14
+
15
+ sig { returns(::Packs::Configuration) }
16
+ def config; end
17
+
18
+ sig { params(blk: T.proc.params(arg0: ::Packs::Configuration).void).void }
19
+ def configure(&blk); end
20
+
21
+ sig { params(name: ::String).returns(T.nilable(::Packs::Pack)) }
22
+ def find(name); end
23
+
24
+ sig { params(file_path: T.any(::Pathname, ::String)).returns(T.nilable(::Packs::Pack)) }
25
+ def for_file(file_path); end
26
+
27
+ private
28
+
29
+ sig { returns(T::Array[::Pathname]) }
30
+ def package_glob_patterns; end
31
+
32
+ sig { returns(T::Hash[::String, ::Packs::Pack]) }
33
+ def packs_by_name; end
34
+ end
35
+ end
36
+
37
+ class Packs::Configuration
38
+ sig { void }
39
+ def initialize; end
40
+
41
+ sig { returns(T::Array[::Pathname]) }
42
+ def roots; end
43
+
44
+ sig { params(roots: T::Array[::String]).void }
45
+ def roots=(roots); end
46
+ end
47
+
48
+ Packs::PACKAGE_FILE = T.let(T.unsafe(nil), String)
49
+
50
+ class Packs::Pack < ::T::Struct
51
+ const :name, ::String
52
+ const :path, ::Pathname
53
+ const :raw_hash, T::Hash[T.untyped, T.untyped]
54
+ const :relative_path, ::Pathname
55
+
56
+ sig { returns(::String) }
57
+ def last_name; end
58
+
59
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
60
+ def metadata; end
61
+
62
+ sig { returns(::Pathname) }
63
+ def yml; end
64
+
65
+ class << self
66
+ sig { params(package_yml_absolute_path: ::Pathname).returns(::Packs::Pack) }
67
+ def from(package_yml_absolute_path); end
68
+
69
+ def inherited(s); end
70
+ end
71
+ end
72
+
73
+ module Packs::Private
74
+ class << self
75
+ sig { returns(::Pathname) }
76
+ def root; end
77
+ end
78
+ end
79
+
80
+ Packs::ROOTS = T.let(T.unsafe(nil), Array)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code_ownership
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.1
4
+ version: 1.29.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gusto Engineers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-30 00:00:00.000000000 Z
11
+ date: 2022-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: code_teams
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: parse_packwerk
28
+ name: packs
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -150,7 +150,7 @@ files:
150
150
  - lib/code_ownership/private/validations/interface.rb
151
151
  - sorbet/config
152
152
  - sorbet/rbi/gems/code_teams@1.0.0.rbi
153
- - sorbet/rbi/gems/parse_packwerk@0.12.0.rbi
153
+ - sorbet/rbi/gems/packs@0.0.2.rbi
154
154
  - sorbet/rbi/manual.rbi
155
155
  - sorbet/rbi/todo.rbi
156
156
  homepage: https://github.com/rubyatscale/code_ownership
@@ -1,146 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `parse_packwerk` gem.
5
- # Please instead update this file by running `bin/tapioca gem parse_packwerk`.
6
-
7
- module ParsePackwerk
8
- class << self
9
- sig { returns(T::Array[::ParsePackwerk::Package]) }
10
- def all; end
11
-
12
- sig { void }
13
- def bust_cache!; end
14
-
15
- sig { params(name: ::String).returns(T.nilable(::ParsePackwerk::Package)) }
16
- def find(name); end
17
-
18
- sig { params(file_path: T.any(::Pathname, ::String)).returns(T.nilable(::ParsePackwerk::Package)) }
19
- def package_from_path(file_path); end
20
-
21
- sig { params(package: ::ParsePackwerk::Package).void }
22
- def write_package_yml!(package); end
23
-
24
- sig { returns(::ParsePackwerk::Configuration) }
25
- def yml; end
26
-
27
- private
28
-
29
- sig { returns(T::Hash[::String, ::ParsePackwerk::Package]) }
30
- def packages_by_name; end
31
- end
32
- end
33
-
34
- class ParsePackwerk::Configuration < ::T::Struct
35
- const :exclude, T::Array[::String]
36
- const :package_paths, T::Array[::String]
37
-
38
- class << self
39
- sig { params(config_hash: T::Hash[T.untyped, T.untyped]).returns(T::Array[::String]) }
40
- def excludes(config_hash); end
41
-
42
- sig { returns(::ParsePackwerk::Configuration) }
43
- def fetch; end
44
-
45
- def inherited(s); end
46
-
47
- sig { params(config_hash: T::Hash[T.untyped, T.untyped]).returns(T::Array[::String]) }
48
- def package_paths(config_hash); end
49
- end
50
- end
51
-
52
- ParsePackwerk::DEFAULT_EXCLUDE_GLOBS = T.let(T.unsafe(nil), Array)
53
- ParsePackwerk::DEFAULT_PACKAGE_PATHS = T.let(T.unsafe(nil), Array)
54
- ParsePackwerk::DEPENDENCIES = T.let(T.unsafe(nil), String)
55
- ParsePackwerk::DEPRECATED_REFERENCES_YML_NAME = T.let(T.unsafe(nil), String)
56
-
57
- class ParsePackwerk::DeprecatedReferences < ::T::Struct
58
- const :pathname, ::Pathname
59
- const :violations, T::Array[::ParsePackwerk::Violation]
60
-
61
- class << self
62
- sig { params(package: ::ParsePackwerk::Package).returns(::ParsePackwerk::DeprecatedReferences) }
63
- def for(package); end
64
-
65
- sig { params(pathname: ::Pathname).returns(::ParsePackwerk::DeprecatedReferences) }
66
- def from(pathname); end
67
-
68
- def inherited(s); end
69
- end
70
- end
71
-
72
- ParsePackwerk::ENFORCE_DEPENDENCIES = T.let(T.unsafe(nil), String)
73
- ParsePackwerk::ENFORCE_PRIVACY = T.let(T.unsafe(nil), String)
74
- ParsePackwerk::METADATA = T.let(T.unsafe(nil), String)
75
- ParsePackwerk::MetadataYmlType = T.type_alias { T::Hash[T.untyped, T.untyped] }
76
-
77
- class ParsePackwerk::MissingConfiguration < ::StandardError
78
- sig { params(packwerk_file_name: ::Pathname).void }
79
- def initialize(packwerk_file_name); end
80
- end
81
-
82
- ParsePackwerk::PACKAGE_YML_NAME = T.let(T.unsafe(nil), String)
83
- ParsePackwerk::PACKWERK_YML_NAME = T.let(T.unsafe(nil), String)
84
-
85
- class ParsePackwerk::Package < ::T::Struct
86
- const :dependencies, T::Array[::String]
87
- const :enforce_dependencies, T::Boolean
88
- const :enforce_privacy, T::Boolean
89
- const :metadata, T::Hash[T.untyped, T.untyped]
90
- const :name, ::String
91
-
92
- sig { returns(::Pathname) }
93
- def directory; end
94
-
95
- sig { returns(T::Boolean) }
96
- def enforces_dependencies?; end
97
-
98
- sig { returns(T::Boolean) }
99
- def enforces_privacy?; end
100
-
101
- sig { returns(::Pathname) }
102
- def yml; end
103
-
104
- class << self
105
- sig { params(pathname: ::Pathname).returns(::ParsePackwerk::Package) }
106
- def from(pathname); end
107
-
108
- def inherited(s); end
109
- end
110
- end
111
-
112
- class ParsePackwerk::PackageSet
113
- class << self
114
- sig do
115
- params(
116
- package_pathspec: T::Array[::String],
117
- exclude_pathspec: T::Array[::String]
118
- ).returns(T::Array[::ParsePackwerk::Package])
119
- end
120
- def from(package_pathspec:, exclude_pathspec:); end
121
-
122
- private
123
-
124
- sig { params(globs: T::Array[::String], path: ::Pathname).returns(T::Boolean) }
125
- def exclude_path?(globs, path); end
126
- end
127
- end
128
-
129
- ParsePackwerk::ROOT_PACKAGE_NAME = T.let(T.unsafe(nil), String)
130
-
131
- class ParsePackwerk::Violation < ::T::Struct
132
- const :class_name, ::String
133
- const :files, T::Array[::String]
134
- const :to_package_name, ::String
135
- const :type, ::String
136
-
137
- sig { returns(T::Boolean) }
138
- def dependency?; end
139
-
140
- sig { returns(T::Boolean) }
141
- def privacy?; end
142
-
143
- class << self
144
- def inherited(s); end
145
- end
146
- end