Skip to content

Commit 5399a93

Browse files
authored
don't manually indent yaml list items (#47)
* don't manually indent yaml list items * add spec for indentation bug
1 parent 8083218 commit 5399a93

File tree

4 files changed

+24
-6
lines changed

4 files changed

+24
-6
lines changed

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
parse_packwerk (0.25.0)
4+
parse_packwerk (0.26.0)
55
bigdecimal
66
sorbet-runtime
77

lib/parse_packwerk.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ def self.write_package_yml!(package)
9494
merged_config = merged_config.to_a.sort_by { |key, _value| T.unsafe(sorted_keys).index(key) || 1000 }.to_h
9595

9696
raw_yaml = YAML.dump(merged_config)
97-
# Add indentation for dependencies
98-
raw_yaml.gsub!(/^- /, ' - ')
9997
stylized_yaml = raw_yaml.gsub("---\n", '')
10098
file.write(stylized_yaml)
10199
end

parse_packwerk.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Gem::Specification.new do |spec|
22
spec.name = 'parse_packwerk'
3-
spec.version = '0.25.0'
3+
spec.version = '0.26.0'
44
spec.authors = ['Gusto Engineers']
55
spec.email = ['[email protected]']
66
spec.summary = 'A low-dependency gem for parsing and writing packwerk YML files'

spec/parse_packwerk_spec.rb

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,6 +1008,26 @@ def pack_as_hash(package)
10081008
}
10091009
end
10101010

1011+
it 'does not generate invalid yaml for configs using enforcement_globs_ignore' do
1012+
path = Pathname.new('packs/my_pack/package.yml')
1013+
1014+
write_file path, <<~CONTENTS
1015+
enforce_dependencies: false
1016+
enforce_privacy: false
1017+
enforcement_globs_ignore:
1018+
- enforcements:
1019+
- privacy
1020+
ignores:
1021+
- "**/*"
1022+
CONTENTS
1023+
1024+
package = ParsePackwerk::Package.from(path)
1025+
1026+
ParsePackwerk.write_package_yml!(package)
1027+
1028+
expect { YAML.load_file(path) }.not_to raise_error
1029+
end
1030+
10111031
context 'a simple package' do
10121032
let(:package) { build_pack }
10131033

@@ -1073,8 +1093,8 @@ def pack_as_hash(package)
10731093
enforce_privacy: true
10741094
enforce_layers: true
10751095
dependencies:
1076-
- my_other_pack1
1077-
- my_other_pack2
1096+
- my_other_pack1
1097+
- my_other_pack2
10781098
PACKAGEYML
10791099

10801100
expect(all_packages.count).to eq 1

0 commit comments

Comments
 (0)