parse_packwerk 0.17.0 → 0.18.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.
- checksums.yaml +4 -4
- data/lib/parse_packwerk/package.rb +5 -3
- data/lib/parse_packwerk.rb +27 -29
- metadata +2 -6
- data/sorbet/config +0 -3
- data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -82
- data/sorbet/rbi/gems/rspec@3.10.0.rbi +0 -34
- data/sorbet/rbi/gems/rspec_override.rbi +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f712a4dfa471ea4f8652058277e83355306f809c224d3dde98ec68a960b4b89b
|
4
|
+
data.tar.gz: e0f7148f0cdb4a8d8a39dc07eb5ff7c27c45ababd49a46b6067f09751f2bbf91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f6e92205d265558bd11cfd5cff0739ce467d86ad896279be9718f032de0271f158943c03205d73c133f47295133feb9b32c2a1ffb4927521c1f772d5a433a8b
|
7
|
+
data.tar.gz: 133974d86d034cfcea559f60892a2b5183f0885309b23e05176ef29fb4f91a43e287054145b7044df6837bf88423ec8c11466f594f5e9e30400fe21b006901ad
|
@@ -10,6 +10,7 @@ module ParsePackwerk
|
|
10
10
|
const :public_path, String, default: DEFAULT_PUBLIC_PATH
|
11
11
|
const :metadata, MetadataYmlType
|
12
12
|
const :dependencies, T::Array[String]
|
13
|
+
const :config, T::Hash[T.untyped, T.untyped]
|
13
14
|
|
14
15
|
sig { params(pathname: Pathname).returns(Package) }
|
15
16
|
def self.from(pathname)
|
@@ -18,11 +19,12 @@ module ParsePackwerk
|
|
18
19
|
|
19
20
|
new(
|
20
21
|
name: package_name,
|
21
|
-
enforce_dependencies: package_loaded_yml[ENFORCE_DEPENDENCIES]
|
22
|
-
enforce_privacy: package_loaded_yml[ENFORCE_PRIVACY]
|
22
|
+
enforce_dependencies: package_loaded_yml[ENFORCE_DEPENDENCIES],
|
23
|
+
enforce_privacy: package_loaded_yml[ENFORCE_PRIVACY],
|
23
24
|
public_path: package_loaded_yml[PUBLIC_PATH] || DEFAULT_PUBLIC_PATH,
|
24
25
|
metadata: package_loaded_yml[METADATA] || {},
|
25
|
-
dependencies: package_loaded_yml[DEPENDENCIES] || []
|
26
|
+
dependencies: package_loaded_yml[DEPENDENCIES] || [],
|
27
|
+
config: package_loaded_yml,
|
26
28
|
)
|
27
29
|
end
|
28
30
|
|
data/lib/parse_packwerk.rb
CHANGED
@@ -53,44 +53,42 @@ module ParsePackwerk
|
|
53
53
|
sig { params(package: ParsePackwerk::Package).void }
|
54
54
|
def self.write_package_yml!(package)
|
55
55
|
FileUtils.mkdir_p(package.directory)
|
56
|
+
|
56
57
|
File.open(package.yml, 'w') do |file|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
enforce_dependencies
|
61
|
-
enforce_privacy
|
62
|
-
|
58
|
+
merged_config = package.config
|
59
|
+
|
60
|
+
merged_config.merge!(
|
61
|
+
'enforce_dependencies' => package.enforce_dependencies,
|
62
|
+
'enforce_privacy' => package.enforce_privacy
|
63
|
+
)
|
64
|
+
|
65
|
+
# We want checkers of the form `enforce_xyz` to be at the top
|
66
|
+
merged_config_arr = merged_config.sort_by do |k, v|
|
67
|
+
if k.include?('enforce')
|
68
|
+
0
|
69
|
+
else
|
70
|
+
1
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
merged_config = merged_config_arr.to_h
|
63
75
|
|
64
76
|
unless package.public_path == DEFAULT_PUBLIC_PATH
|
65
|
-
public_path
|
66
|
-
public_path: #{package.public_path}
|
67
|
-
PUBLICPATH
|
68
|
-
package_yml += public_path
|
77
|
+
merged_config.merge!('public_path' => package.public_path)
|
69
78
|
end
|
70
79
|
|
71
80
|
if package.dependencies.any?
|
72
|
-
dependencies
|
73
|
-
dependencies:
|
74
|
-
#{package.dependencies.map { |dep| " - #{dep}" }.join("\n")}
|
75
|
-
STATEDDEPS
|
76
|
-
|
77
|
-
package_yml += dependencies
|
81
|
+
merged_config.merge!('dependencies' => package.dependencies)
|
78
82
|
end
|
79
83
|
|
80
|
-
if package.metadata.
|
81
|
-
|
82
|
-
stylized_yaml = raw_yaml.gsub("---\n", '')
|
83
|
-
indented_yaml = stylized_yaml.split("\n").map { |line| " #{line}" }.join("\n")
|
84
|
-
|
85
|
-
metadata = <<~METADATA
|
86
|
-
metadata:
|
87
|
-
#{indented_yaml}
|
88
|
-
METADATA
|
89
|
-
|
90
|
-
package_yml += metadata
|
84
|
+
if package.metadata.any?
|
85
|
+
merged_config.merge!('metadata' => package.metadata)
|
91
86
|
end
|
92
|
-
|
93
|
-
|
87
|
+
raw_yaml = YAML.dump(merged_config)
|
88
|
+
# Add indentation for dependencies
|
89
|
+
raw_yaml.gsub!(/^- /," - ")
|
90
|
+
stylized_yaml = raw_yaml.gsub("---\n", '')
|
91
|
+
file.write(stylized_yaml)
|
94
92
|
end
|
95
93
|
end
|
96
94
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parse_packwerk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gusto Engineers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|
@@ -137,10 +137,6 @@ files:
|
|
137
137
|
- lib/parse_packwerk/package_set.rb
|
138
138
|
- lib/parse_packwerk/package_todo.rb
|
139
139
|
- lib/parse_packwerk/violation.rb
|
140
|
-
- sorbet/config
|
141
|
-
- sorbet/rbi/gems/hashdiff@1.0.1.rbi
|
142
|
-
- sorbet/rbi/gems/rspec@3.10.0.rbi
|
143
|
-
- sorbet/rbi/gems/rspec_override.rbi
|
144
140
|
homepage: https://github.com/rubyatscale/parse_packwerk
|
145
141
|
licenses:
|
146
142
|
- MIT
|
data/sorbet/config
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
# DO NOT EDIT MANUALLY
|
2
|
-
# This is an autogenerated file for types exported from the `hashdiff` gem.
|
3
|
-
# Please instead update this file by running `bin/tapioca sync`.
|
4
|
-
|
5
|
-
# typed: true
|
6
|
-
|
7
|
-
module Hashdiff
|
8
|
-
class << self
|
9
|
-
def best_diff(obj1, obj2, options = T.unsafe(nil), &block); end
|
10
|
-
def comparable?(obj1, obj2, strict = T.unsafe(nil)); end
|
11
|
-
def compare_values(obj1, obj2, options = T.unsafe(nil)); end
|
12
|
-
def count_diff(diffs); end
|
13
|
-
def count_nodes(obj); end
|
14
|
-
def custom_compare(method, key, obj1, obj2); end
|
15
|
-
def decode_property_path(path, delimiter = T.unsafe(nil)); end
|
16
|
-
def diff(obj1, obj2, options = T.unsafe(nil), &block); end
|
17
|
-
def diff_array_lcs(arraya, arrayb, options = T.unsafe(nil)); end
|
18
|
-
def lcs(arraya, arrayb, options = T.unsafe(nil)); end
|
19
|
-
def node(hash, parts); end
|
20
|
-
def patch!(obj, changes, options = T.unsafe(nil)); end
|
21
|
-
def prefix_append_array_index(prefix, array_index, opts); end
|
22
|
-
def prefix_append_key(prefix, key, opts); end
|
23
|
-
def similar?(obja, objb, options = T.unsafe(nil)); end
|
24
|
-
def unpatch!(obj, changes, options = T.unsafe(nil)); end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def any_hash_or_array?(obja, objb); end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
class Hashdiff::CompareHashes
|
33
|
-
class << self
|
34
|
-
def call(obj1, obj2, opts = T.unsafe(nil)); end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
class Hashdiff::LcsCompareArrays
|
39
|
-
class << self
|
40
|
-
def call(obj1, obj2, opts = T.unsafe(nil)); end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
class Hashdiff::LinearCompareArray
|
45
|
-
def initialize(old_array, new_array, options); end
|
46
|
-
|
47
|
-
def call; end
|
48
|
-
|
49
|
-
private
|
50
|
-
|
51
|
-
def additions; end
|
52
|
-
def append_addition(item, index); end
|
53
|
-
def append_addititions_before_match(match_index); end
|
54
|
-
def append_deletion(item, index); end
|
55
|
-
def append_deletions_before_match(match_index); end
|
56
|
-
def append_differences(difference); end
|
57
|
-
def changes; end
|
58
|
-
def compare_at_index; end
|
59
|
-
def deletions; end
|
60
|
-
def differences; end
|
61
|
-
def expected_additions; end
|
62
|
-
def expected_additions=(_arg0); end
|
63
|
-
def extra_items_in_new_array?; end
|
64
|
-
def extra_items_in_old_array?; end
|
65
|
-
def index_of_match_after_additions; end
|
66
|
-
def index_of_match_after_deletions; end
|
67
|
-
def item_difference(old_item, new_item, item_index); end
|
68
|
-
def iterated_through_both_arrays?; end
|
69
|
-
def new_array; end
|
70
|
-
def new_index; end
|
71
|
-
def new_index=(_arg0); end
|
72
|
-
def old_array; end
|
73
|
-
def old_index; end
|
74
|
-
def old_index=(_arg0); end
|
75
|
-
def options; end
|
76
|
-
|
77
|
-
class << self
|
78
|
-
def call(old_array, new_array, options = T.unsafe(nil)); end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
Hashdiff::VERSION = T.let(T.unsafe(nil), String)
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# DO NOT EDIT MANUALLY
|
2
|
-
# This is an autogenerated file for types exported from the `rspec` gem.
|
3
|
-
# Please instead update this file by running `bin/tapioca sync`.
|
4
|
-
|
5
|
-
# typed: true
|
6
|
-
|
7
|
-
module RSpec
|
8
|
-
class << self
|
9
|
-
def clear_examples; end
|
10
|
-
def configuration; end
|
11
|
-
def configuration=(_arg0); end
|
12
|
-
def configure; end
|
13
|
-
def const_missing(name); end
|
14
|
-
def context(*args, &example_group_block); end
|
15
|
-
def current_example; end
|
16
|
-
def current_example=(example); end
|
17
|
-
def describe(*args, &example_group_block); end
|
18
|
-
def example_group(*args, &example_group_block); end
|
19
|
-
def fcontext(*args, &example_group_block); end
|
20
|
-
def fdescribe(*args, &example_group_block); end
|
21
|
-
def reset; end
|
22
|
-
def shared_context(name, *args, &block); end
|
23
|
-
def shared_examples(name, *args, &block); end
|
24
|
-
def shared_examples_for(name, *args, &block); end
|
25
|
-
def world; end
|
26
|
-
def world=(_arg0); end
|
27
|
-
def xcontext(*args, &example_group_block); end
|
28
|
-
def xdescribe(*args, &example_group_block); end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash)
|
33
|
-
module RSpec::Version; end
|
34
|
-
RSpec::Version::STRING = T.let(T.unsafe(nil), String)
|