pack_stats 0.0.1 → 0.0.3
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.
- checksums.yaml +4 -4
- data/README.md +0 -7
- data/lib/pack_stats/private/metrics/nested_packs.rb +1 -1
- data/lib/pack_stats/private/metrics/packages.rb +3 -2
- data/lib/pack_stats/private/metrics/packages_by_team.rb +3 -2
- data/lib/pack_stats/private/metrics/packwerk_checker_usage.rb +6 -8
- data/lib/pack_stats/private/metrics.rb +1 -1
- data/lib/pack_stats/private.rb +7 -0
- data/lib/pack_stats.rb +14 -17
- data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
- data/sorbet/rbi/gems/code_ownership@1.29.2.rbi +525 -0
- data/sorbet/rbi/gems/packs@0.0.5.rbi +111 -0
- data/sorbet/rbi/gems/{parse_packwerk@0.14.0.rbi → parse_packwerk@0.16.0.rbi} +84 -15
- data/sorbet/rbi/gems/rubocop-packs@0.0.30.rbi +272 -0
- metadata +21 -5
- data/sorbet/rbi/gems/code_ownership@1.28.0.rbi +0 -337
- data/sorbet/rbi/gems/rubocop-packs@0.0.20.rbi +0 -141
@@ -4,86 +4,120 @@
|
|
4
4
|
# This is an autogenerated file for types exported from the `parse_packwerk` gem.
|
5
5
|
# Please instead update this file by running `bin/tapioca gem parse_packwerk`.
|
6
6
|
|
7
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#3
|
7
8
|
module ParsePackwerk
|
8
9
|
class << self
|
10
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#28
|
9
11
|
sig { returns(T::Array[::ParsePackwerk::Package]) }
|
10
12
|
def all; end
|
11
13
|
|
14
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#112
|
12
15
|
sig { void }
|
13
16
|
def bust_cache!; end
|
14
17
|
|
18
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#33
|
15
19
|
sig { params(name: ::String).returns(T.nilable(::ParsePackwerk::Package)) }
|
16
20
|
def find(name); end
|
17
21
|
|
22
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#43
|
18
23
|
sig { params(file_path: T.any(::Pathname, ::String)).returns(::ParsePackwerk::Package) }
|
19
24
|
def package_from_path(file_path); end
|
20
25
|
|
26
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#54
|
21
27
|
sig { params(package: ::ParsePackwerk::Package).void }
|
22
28
|
def write_package_yml!(package); end
|
23
29
|
|
30
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#38
|
24
31
|
sig { returns(::ParsePackwerk::Configuration) }
|
25
32
|
def yml; end
|
26
33
|
|
27
34
|
private
|
28
35
|
|
36
|
+
# We memoize packages_by_name for fast lookup.
|
37
|
+
# Since Graph is an immutable value object, we can create indexes and general caching mechanisms safely.
|
38
|
+
#
|
39
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#100
|
29
40
|
sig { returns(T::Hash[::String, ::ParsePackwerk::Package]) }
|
30
41
|
def packages_by_name; end
|
31
42
|
end
|
32
43
|
end
|
33
44
|
|
45
|
+
# source://parse_packwerk//lib/parse_packwerk/configuration.rb#4
|
34
46
|
class ParsePackwerk::Configuration < ::T::Struct
|
35
47
|
const :exclude, T::Array[::String]
|
36
48
|
const :package_paths, T::Array[::String]
|
37
49
|
|
38
50
|
class << self
|
51
|
+
# source://parse_packwerk//lib/parse_packwerk/configuration.rb#28
|
39
52
|
sig { params(config_hash: T::Hash[T.untyped, T.untyped]).returns(T::Array[::String]) }
|
40
53
|
def excludes(config_hash); end
|
41
54
|
|
55
|
+
# source://parse_packwerk//lib/parse_packwerk/configuration.rb#11
|
42
56
|
sig { returns(::ParsePackwerk::Configuration) }
|
43
57
|
def fetch; end
|
44
58
|
|
59
|
+
# source://sorbet-runtime/0.5.9924/lib/types/struct.rb#13
|
45
60
|
def inherited(s); end
|
46
61
|
|
62
|
+
# source://parse_packwerk//lib/parse_packwerk/configuration.rb#40
|
47
63
|
sig { params(config_hash: T::Hash[T.untyped, T.untyped]).returns(T::Array[::String]) }
|
48
64
|
def package_paths(config_hash); end
|
49
65
|
end
|
50
66
|
end
|
51
67
|
|
68
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#22
|
52
69
|
ParsePackwerk::DEFAULT_EXCLUDE_GLOBS = T.let(T.unsafe(nil), Array)
|
53
|
-
ParsePackwerk::DEFAULT_PACKAGE_PATHS = T.let(T.unsafe(nil), Array)
|
54
|
-
ParsePackwerk::DEFAULT_PUBLIC_PATH = T.let(T.unsafe(nil), String)
|
55
|
-
ParsePackwerk::DEPENDENCIES = T.let(T.unsafe(nil), String)
|
56
|
-
ParsePackwerk::DEPRECATED_REFERENCES_YML_NAME = T.let(T.unsafe(nil), String)
|
57
70
|
|
58
|
-
|
59
|
-
|
60
|
-
const :violations, T::Array[::ParsePackwerk::Violation]
|
71
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#23
|
72
|
+
ParsePackwerk::DEFAULT_PACKAGE_PATHS = T.let(T.unsafe(nil), Array)
|
61
73
|
|
62
|
-
|
63
|
-
|
64
|
-
def for(package); end
|
74
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#24
|
75
|
+
ParsePackwerk::DEFAULT_PUBLIC_PATH = T.let(T.unsafe(nil), String)
|
65
76
|
|
66
|
-
|
67
|
-
|
77
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#14
|
78
|
+
ParsePackwerk::DEPENDENCIES = T.let(T.unsafe(nil), String)
|
68
79
|
|
69
|
-
|
70
|
-
|
71
|
-
end
|
80
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#10
|
81
|
+
ParsePackwerk::DEPENDENCY_VIOLATION_TYPE = T.let(T.unsafe(nil), String)
|
72
82
|
|
83
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#8
|
73
84
|
ParsePackwerk::ENFORCE_DEPENDENCIES = T.let(T.unsafe(nil), String)
|
85
|
+
|
86
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#9
|
74
87
|
ParsePackwerk::ENFORCE_PRIVACY = T.let(T.unsafe(nil), String)
|
88
|
+
|
89
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#13
|
75
90
|
ParsePackwerk::METADATA = T.let(T.unsafe(nil), String)
|
91
|
+
|
92
|
+
# Since this metadata is unstructured YAML, it could be any type. We leave it to clients of `ParsePackwerk::Package`
|
93
|
+
# to add types based on their known usage of metadata.
|
94
|
+
#
|
95
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#18
|
76
96
|
ParsePackwerk::MetadataYmlType = T.type_alias { T::Hash[T.untyped, T.untyped] }
|
77
97
|
|
98
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#14
|
78
99
|
class ParsePackwerk::MissingConfiguration < ::StandardError
|
100
|
+
# source://parse_packwerk//lib/parse_packwerk.rb#18
|
79
101
|
sig { params(packwerk_file_name: ::Pathname).void }
|
80
102
|
def initialize(packwerk_file_name); end
|
81
103
|
end
|
82
104
|
|
105
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#7
|
106
|
+
ParsePackwerk::PACKAGE_TODO_YML_NAME = T.let(T.unsafe(nil), String)
|
107
|
+
|
108
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#5
|
83
109
|
ParsePackwerk::PACKAGE_YML_NAME = T.let(T.unsafe(nil), String)
|
110
|
+
|
111
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#6
|
84
112
|
ParsePackwerk::PACKWERK_YML_NAME = T.let(T.unsafe(nil), String)
|
113
|
+
|
114
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#11
|
115
|
+
ParsePackwerk::PRIVACY_VIOLATION_TYPE = T.let(T.unsafe(nil), String)
|
116
|
+
|
117
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#12
|
85
118
|
ParsePackwerk::PUBLIC_PATH = T.let(T.unsafe(nil), String)
|
86
119
|
|
120
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#4
|
87
121
|
class ParsePackwerk::Package < ::T::Struct
|
88
122
|
const :dependencies, T::Array[::String]
|
89
123
|
const :enforce_dependencies, T::Boolean
|
@@ -92,34 +126,44 @@ class ParsePackwerk::Package < ::T::Struct
|
|
92
126
|
const :name, ::String
|
93
127
|
const :public_path, ::String, default: T.unsafe(nil)
|
94
128
|
|
129
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#35
|
95
130
|
sig { returns(::Pathname) }
|
96
131
|
def directory; end
|
97
132
|
|
133
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#45
|
98
134
|
sig { returns(T::Boolean) }
|
99
135
|
def enforces_dependencies?; end
|
100
136
|
|
137
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#50
|
101
138
|
sig { returns(T::Boolean) }
|
102
139
|
def enforces_privacy?; end
|
103
140
|
|
141
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#40
|
104
142
|
sig { returns(::Pathname) }
|
105
143
|
def public_directory; end
|
106
144
|
|
145
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#55
|
107
146
|
sig { returns(T::Array[::ParsePackwerk::Violation]) }
|
108
147
|
def violations; end
|
109
148
|
|
149
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#30
|
110
150
|
sig { returns(::Pathname) }
|
111
151
|
def yml; end
|
112
152
|
|
113
153
|
class << self
|
154
|
+
# source://parse_packwerk//lib/parse_packwerk/package.rb#15
|
114
155
|
sig { params(pathname: ::Pathname).returns(::ParsePackwerk::Package) }
|
115
156
|
def from(pathname); end
|
116
157
|
|
158
|
+
# source://sorbet-runtime/0.5.9924/lib/types/struct.rb#13
|
117
159
|
def inherited(s); end
|
118
160
|
end
|
119
161
|
end
|
120
162
|
|
163
|
+
# source://parse_packwerk//lib/parse_packwerk/package_set.rb#8
|
121
164
|
class ParsePackwerk::PackageSet
|
122
165
|
class << self
|
166
|
+
# source://parse_packwerk//lib/parse_packwerk/package_set.rb#12
|
123
167
|
sig do
|
124
168
|
params(
|
125
169
|
package_pathspec: T::Array[::String],
|
@@ -130,26 +174,51 @@ class ParsePackwerk::PackageSet
|
|
130
174
|
|
131
175
|
private
|
132
176
|
|
177
|
+
# source://parse_packwerk//lib/parse_packwerk/package_set.rb#28
|
133
178
|
sig { params(globs: T::Array[::String], path: ::Pathname).returns(T::Boolean) }
|
134
179
|
def exclude_path?(globs, path); end
|
135
180
|
end
|
136
181
|
end
|
137
182
|
|
183
|
+
# source://parse_packwerk//lib/parse_packwerk/package_todo.rb#4
|
184
|
+
class ParsePackwerk::PackageTodo < ::T::Struct
|
185
|
+
const :pathname, ::Pathname
|
186
|
+
const :violations, T::Array[::ParsePackwerk::Violation]
|
187
|
+
|
188
|
+
class << self
|
189
|
+
# source://parse_packwerk//lib/parse_packwerk/package_todo.rb#11
|
190
|
+
sig { params(package: ::ParsePackwerk::Package).returns(::ParsePackwerk::PackageTodo) }
|
191
|
+
def for(package); end
|
192
|
+
|
193
|
+
# source://parse_packwerk//lib/parse_packwerk/package_todo.rb#17
|
194
|
+
sig { params(pathname: ::Pathname).returns(::ParsePackwerk::PackageTodo) }
|
195
|
+
def from(pathname); end
|
196
|
+
|
197
|
+
# source://sorbet-runtime/0.5.9924/lib/types/struct.rb#13
|
198
|
+
def inherited(s); end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
# source://parse_packwerk//lib/parse_packwerk/constants.rb#4
|
138
203
|
ParsePackwerk::ROOT_PACKAGE_NAME = T.let(T.unsafe(nil), String)
|
139
204
|
|
205
|
+
# source://parse_packwerk//lib/parse_packwerk/violation.rb#4
|
140
206
|
class ParsePackwerk::Violation < ::T::Struct
|
141
207
|
const :class_name, ::String
|
142
208
|
const :files, T::Array[::String]
|
143
209
|
const :to_package_name, ::String
|
144
210
|
const :type, ::String
|
145
211
|
|
212
|
+
# source://parse_packwerk//lib/parse_packwerk/violation.rb#13
|
146
213
|
sig { returns(T::Boolean) }
|
147
214
|
def dependency?; end
|
148
215
|
|
216
|
+
# source://parse_packwerk//lib/parse_packwerk/violation.rb#18
|
149
217
|
sig { returns(T::Boolean) }
|
150
218
|
def privacy?; end
|
151
219
|
|
152
220
|
class << self
|
221
|
+
# source://sorbet-runtime/0.5.9924/lib/types/struct.rb#13
|
153
222
|
def inherited(s); end
|
154
223
|
end
|
155
224
|
end
|
@@ -0,0 +1,272 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `rubocop-packs` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem rubocop-packs`.
|
6
|
+
|
7
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#4
|
8
|
+
module RuboCop; end
|
9
|
+
|
10
|
+
# source://rubocop-packs//lib/rubocop/cop/packwerk_lite/private.rb#4
|
11
|
+
module RuboCop::Cop; end
|
12
|
+
|
13
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#5
|
14
|
+
module RuboCop::Cop::Packs; end
|
15
|
+
|
16
|
+
# This is a private class that represents API that we would prefer to be available somehow in Zeitwerk.
|
17
|
+
# However, the boundaries between systems (packwerk/zeitwerk, rubocop/zeitwerk) are poor in this class, so
|
18
|
+
# that would need to be separated prior to proposing any API changes in zeitwerk.
|
19
|
+
#
|
20
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#12
|
21
|
+
class RuboCop::Cop::Packs::RootNamespaceIsPackName::DesiredZeitwerkApi
|
22
|
+
# For now, this API includes `package_for_path`
|
23
|
+
# If this were truly zeitwerk API, it wouldn't include any mention of packs and it would likely not need the package at all
|
24
|
+
# Since it could get the actual namespace without knowing anything about packs.
|
25
|
+
# However, we would need to pass to it the desired namespace based on the pack name for it to be able to suggest
|
26
|
+
# a desired filepath.
|
27
|
+
# Likely this means that our own cop should determine the desired namespace and pass that in
|
28
|
+
# and this can determine actual namespace and how to get to expected.
|
29
|
+
#
|
30
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#32
|
31
|
+
sig do
|
32
|
+
params(
|
33
|
+
relative_filename: ::String,
|
34
|
+
package_for_path: ::ParsePackwerk::Package
|
35
|
+
).returns(T.nilable(::RuboCop::Cop::Packs::RootNamespaceIsPackName::DesiredZeitwerkApi::NamespaceContext))
|
36
|
+
end
|
37
|
+
def for_file(relative_filename, package_for_path); end
|
38
|
+
|
39
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#86
|
40
|
+
sig { params(pack: ::ParsePackwerk::Package).returns(::String) }
|
41
|
+
def get_pack_based_namespace(pack); end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#103
|
46
|
+
sig { params(remaining_file_path: ::String, package_name: ::String).returns(::String) }
|
47
|
+
def get_actual_namespace(remaining_file_path, package_name); end
|
48
|
+
|
49
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#98
|
50
|
+
sig { params(pack: ::ParsePackwerk::Package).returns(::String) }
|
51
|
+
def get_package_last_name(pack); end
|
52
|
+
|
53
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#93
|
54
|
+
sig { returns(::Pathname) }
|
55
|
+
def root_pathname; end
|
56
|
+
end
|
57
|
+
|
58
|
+
# source://rubocop-packs//lib/rubocop/cop/packs/root_namespace_is_pack_name/desired_zeitwerk_api.rb#15
|
59
|
+
class RuboCop::Cop::Packs::RootNamespaceIsPackName::DesiredZeitwerkApi::NamespaceContext < ::T::Struct
|
60
|
+
const :current_fully_qualified_constant, ::String
|
61
|
+
const :current_namespace, ::String
|
62
|
+
const :expected_filepath, ::String
|
63
|
+
const :expected_namespace, ::String
|
64
|
+
|
65
|
+
class << self
|
66
|
+
# source://sorbet-runtime/0.5.9924/lib/types/struct.rb#13
|
67
|
+
def inherited(s); end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# source://rubocop-packs//lib/rubocop/cop/packwerk_lite/private.rb#5
|
72
|
+
module RuboCop::Cop::PackwerkLite; end
|
73
|
+
|
74
|
+
# This is a private class that represents API that we would prefer to be available somehow in Zeitwerk.
|
75
|
+
# However, the boundaries between systems (packwerk/zeitwerk, rubocop/zeitwerk) are poor in this class, so
|
76
|
+
# that would need to be separated prior to proposing any API changes in zeitwerk.
|
77
|
+
#
|
78
|
+
# source://rubocop-packs//lib/rubocop/cop/packwerk_lite/constant_resolver.rb#11
|
79
|
+
class RuboCop::Cop::PackwerkLite::ConstantResolver; end
|
80
|
+
|
81
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#5
|
82
|
+
module RuboCop::Packs
|
83
|
+
class << self
|
84
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#135
|
85
|
+
sig { void }
|
86
|
+
def bust_cache!; end
|
87
|
+
|
88
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#146
|
89
|
+
sig { returns(::RuboCop::Packs::Private::Configuration) }
|
90
|
+
def config; end
|
91
|
+
|
92
|
+
# @yield [config]
|
93
|
+
#
|
94
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#141
|
95
|
+
sig { params(blk: T.proc.params(arg0: ::RuboCop::Packs::Private::Configuration).void).void }
|
96
|
+
def configure(&blk); end
|
97
|
+
|
98
|
+
# We can remove this function once package_protections is fully deprecated
|
99
|
+
#
|
100
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#154
|
101
|
+
sig { params(rule: ::String).returns(T::Set[::String]) }
|
102
|
+
def exclude_for_rule(rule); end
|
103
|
+
|
104
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#99
|
105
|
+
sig { params(root_pathname: ::String).returns(::String) }
|
106
|
+
def pack_based_rubocop_config(root_pathname: T.unsafe(nil)); end
|
107
|
+
|
108
|
+
# Ideally, this is API that is available to us via `rubocop` itself.
|
109
|
+
# That is: the ability to preserve the location of `.rubocop_todo.yml` files and associate
|
110
|
+
# exclusions with the closest ancestor `.rubocop_todo.yml`
|
111
|
+
#
|
112
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#30
|
113
|
+
sig { params(packs: T::Array[::ParsePackwerk::Package], files: T::Array[::String]).void }
|
114
|
+
def regenerate_todo(packs: T.unsafe(nil), files: T.unsafe(nil)); end
|
115
|
+
|
116
|
+
# Ideally, this is API that is available to us via `rubocop` itself.
|
117
|
+
# That is: the ability to preserve the location of `.rubocop_todo.yml` files and associate
|
118
|
+
# exclusions with the closest ancestor `.rubocop_todo.yml`
|
119
|
+
#
|
120
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#78
|
121
|
+
sig { params(packs: T::Array[::ParsePackwerk::Package]).void }
|
122
|
+
def set_default_rubocop_yml(packs:); end
|
123
|
+
|
124
|
+
# Note: when we add per-pack `.rubocop.yml` files, we'll want to add some validations here
|
125
|
+
# to restrict what cops are permitted to be configured in those files.
|
126
|
+
# We might also want further (configurable?) constraints *requiring* that the "permitted pack level cops" be specified explicitly.
|
127
|
+
#
|
128
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#164
|
129
|
+
sig { returns(T::Array[::String]) }
|
130
|
+
def validate; end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#20
|
135
|
+
RuboCop::Packs::CONFIG = T.let(T.unsafe(nil), Hash)
|
136
|
+
|
137
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#19
|
138
|
+
RuboCop::Packs::CONFIG_DEFAULT = T.let(T.unsafe(nil), Pathname)
|
139
|
+
|
140
|
+
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
|
141
|
+
# bit of our configuration.
|
142
|
+
#
|
143
|
+
# source://rubocop-packs//lib/rubocop/packs/inject.rb#10
|
144
|
+
module RuboCop::Packs::Inject
|
145
|
+
class << self
|
146
|
+
# source://rubocop-packs//lib/rubocop/packs/inject.rb#14
|
147
|
+
sig { void }
|
148
|
+
def defaults!; end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#16
|
153
|
+
RuboCop::Packs::PACK_LEVEL_RUBOCOP_TODO_YML = T.let(T.unsafe(nil), String)
|
154
|
+
|
155
|
+
# Pack-level rubocop and rubocop_todo YML files are named differently because they are not integrated
|
156
|
+
# into rubocop in the standard way. For example, we could call these the standard `.rubocop.yml` and
|
157
|
+
# `.rubocop_todo.yml`. However, this introduces a number of path relativity issues (https://docs.rubocop.org/rubocop/configuration.html#path-relativity)
|
158
|
+
# that make this approach not possible. Therefore, for pack level rubocops, we name them in a way that mirrors packwerk `package_todo.yml` files
|
159
|
+
# for consistency and to ensure that thes are not read by rubocop except via the ERB templating mechanism.
|
160
|
+
#
|
161
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#15
|
162
|
+
RuboCop::Packs::PACK_LEVEL_RUBOCOP_YML = T.let(T.unsafe(nil), String)
|
163
|
+
|
164
|
+
# source://rubocop-packs//lib/rubocop/packs.rb#18
|
165
|
+
RuboCop::Packs::PROJECT_ROOT = T.let(T.unsafe(nil), Pathname)
|
166
|
+
|
167
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#6
|
168
|
+
module RuboCop::Packs::Private
|
169
|
+
class << self
|
170
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#13
|
171
|
+
sig { void }
|
172
|
+
def bust_cache!; end
|
173
|
+
|
174
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#107
|
175
|
+
sig { params(rule: ::String).returns(T::Set[::String]) }
|
176
|
+
def exclude_for_rule(rule); end
|
177
|
+
|
178
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#152
|
179
|
+
sig { params(args: T.untyped).void }
|
180
|
+
def execute_rubocop(args); end
|
181
|
+
|
182
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#19
|
183
|
+
sig { void }
|
184
|
+
def load_client_configuration; end
|
185
|
+
|
186
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#157
|
187
|
+
sig do
|
188
|
+
params(
|
189
|
+
paths: T::Array[::String],
|
190
|
+
cop_names: T::Array[::String]
|
191
|
+
).returns(T::Array[::RuboCop::Packs::Private::Offense])
|
192
|
+
end
|
193
|
+
def offenses_for(paths:, cop_names:); end
|
194
|
+
|
195
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#29
|
196
|
+
sig { returns(T::Array[T::Hash[T.untyped, T.untyped]]) }
|
197
|
+
def rubocop_todo_ymls; end
|
198
|
+
|
199
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#126
|
200
|
+
sig { params(package: ::ParsePackwerk::Package).returns(T::Array[::String]) }
|
201
|
+
def validate_failure_mode_strict(package); end
|
202
|
+
|
203
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#40
|
204
|
+
sig { params(package: ::ParsePackwerk::Package).returns(T::Array[::String]) }
|
205
|
+
def validate_rubocop_todo_yml(package); end
|
206
|
+
|
207
|
+
# source://rubocop-packs//lib/rubocop/packs/private.rb#75
|
208
|
+
sig { params(package: ::ParsePackwerk::Package).returns(T::Array[::String]) }
|
209
|
+
def validate_rubocop_yml(package); end
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#7
|
214
|
+
class RuboCop::Packs::Private::Configuration
|
215
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#20
|
216
|
+
sig { void }
|
217
|
+
def initialize; end
|
218
|
+
|
219
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#27
|
220
|
+
sig { void }
|
221
|
+
def bust_cache!; end
|
222
|
+
|
223
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#17
|
224
|
+
sig { returns(T::Array[::String]) }
|
225
|
+
def globally_permitted_namespaces; end
|
226
|
+
|
227
|
+
# @return [Array<String>]
|
228
|
+
#
|
229
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#17
|
230
|
+
def globally_permitted_namespaces=(_arg0); end
|
231
|
+
|
232
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#11
|
233
|
+
sig { returns(T::Array[::String]) }
|
234
|
+
def permitted_pack_level_cops; end
|
235
|
+
|
236
|
+
# @return [Array<String>]
|
237
|
+
#
|
238
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#11
|
239
|
+
def permitted_pack_level_cops=(_arg0); end
|
240
|
+
|
241
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#14
|
242
|
+
sig { returns(T::Array[::String]) }
|
243
|
+
def required_pack_level_cops; end
|
244
|
+
|
245
|
+
# @return [Array<String>]
|
246
|
+
#
|
247
|
+
# source://rubocop-packs//lib/rubocop/packs/private/configuration.rb#14
|
248
|
+
def required_pack_level_cops=(_arg0); end
|
249
|
+
end
|
250
|
+
|
251
|
+
# source://rubocop-packs//lib/rubocop/packs/private/offense.rb#6
|
252
|
+
class RuboCop::Packs::Private::Offense < ::T::Struct
|
253
|
+
const :cop_name, ::String
|
254
|
+
const :filepath, ::String
|
255
|
+
|
256
|
+
# source://rubocop-packs//lib/rubocop/packs/private/offense.rb#13
|
257
|
+
sig { returns(::ParsePackwerk::Package) }
|
258
|
+
def pack; end
|
259
|
+
|
260
|
+
class << self
|
261
|
+
# source://sorbet-runtime/0.5.9924/lib/types/struct.rb#13
|
262
|
+
def inherited(s); end
|
263
|
+
end
|
264
|
+
end
|
265
|
+
|
266
|
+
# See docs/packwerk_lite.md
|
267
|
+
#
|
268
|
+
# source://rubocop-packs//lib/rubocop/packwerk_lite.rb#11
|
269
|
+
module RuboCop::PackwerkLite; end
|
270
|
+
|
271
|
+
# source://rubocop-packs//lib/rubocop/packwerk_lite.rb#12
|
272
|
+
class RuboCop::PackwerkLite::Error < ::StandardError; end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pack_stats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
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-12-
|
11
|
+
date: 2022-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: code_teams
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: packs
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: parse_packwerk
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,13 +203,15 @@ files:
|
|
189
203
|
- lib/pack_stats/tag.rb
|
190
204
|
- lib/pack_stats/tags.rb
|
191
205
|
- sorbet/config
|
192
|
-
- sorbet/rbi/gems/
|
206
|
+
- sorbet/rbi/gems/ast@2.4.2.rbi
|
207
|
+
- sorbet/rbi/gems/code_ownership@1.29.2.rbi
|
193
208
|
- sorbet/rbi/gems/code_teams@1.0.0.rbi
|
194
209
|
- sorbet/rbi/gems/dogapi@1.45.0.rbi
|
195
210
|
- sorbet/rbi/gems/manual.rbi
|
196
|
-
- sorbet/rbi/gems/
|
211
|
+
- sorbet/rbi/gems/packs@0.0.5.rbi
|
212
|
+
- sorbet/rbi/gems/parse_packwerk@0.16.0.rbi
|
197
213
|
- sorbet/rbi/gems/rspec@3.10.0.rbi
|
198
|
-
- sorbet/rbi/gems/rubocop-packs@0.0.
|
214
|
+
- sorbet/rbi/gems/rubocop-packs@0.0.30.rbi
|
199
215
|
- sorbet/rbi/todo.rbi
|
200
216
|
homepage: https://github.com/rubyatscale/pack_stats
|
201
217
|
licenses:
|