zepter 0.7.0

Check if features are correctly propagated in your workspace.
Documentation
test: Check that the feature propagates.
	given:
		crates: [A, B]
		dependencies:
			A: direct: B
		features:
			A: enabled: runtime-benchmarks
			B: defines: runtime-benchmarks
	then:
		B: enabled: runtime-benchmarks
	otherwise:
		error: "feature `runtime-benchmarks` is not propagates"
			auto-fix: enable-feature: A: runtime-benchmarks: B/runtime-benchmarks


test: Check that the primitives do not directly depend on frame or any pallet.
	given:
		crates:
			A: name: regex("^sp-.*")
			B: name: regex("^frame-*") | regex("^pallet-*")
	then:
		not: dependencies:
			A: direct: B
	otherwise:
		error: "sp-* crates should not depend on frame-* or pallet-* crates"
			auto-fix: remove-dependency: A: B


test: Check that the primitives do not transitively depend on frame or any pallet.
	given:
		crates:
			A: name: regex("^sp-.*")
			B: name: regex("^frame-*") | regex("^pallet-*")
	then:
		not: dependencies:
			A: transitive: B
	otherwise:
		error: "sp-* crates should not depend on frame-* or pallet-* crates"
			auto-fix: remove-dependency: A: B