parse_packwerk 0.21.0 → 0.22.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/parse_packwerk/constants.rb +1 -0
- data/lib/parse_packwerk/extensions.rb +5 -0
- data/lib/parse_packwerk/package.rb +7 -0
- data/lib/parse_packwerk.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6370b4639d8046076ebb15799265eafcad8c1af66795b22d2dd9812d431f8b8
|
4
|
+
data.tar.gz: 73823f09cc2022609f82287464d5d71d62fc8bef90b7542e4ab5d879be9346bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1b44126cee4b76567cc56bc9e5e662d1adce14d1044c679b176cac461bc8c1f1563f1fff487de6f45d6901b8fa857815ee8c55a9317d7dfe9d18623af42ff27
|
7
|
+
data.tar.gz: d3da9bbae535e82a114e1d703a454407a5d432d7ee2c4003756a8afdb67d74a71be148518ec724c7e55e9daa9a713c120e6beb8705a8d0a9f7639128db349eba
|
@@ -7,6 +7,7 @@ module ParsePackwerk
|
|
7
7
|
PACKAGE_TODO_YML_NAME = T.let('package_todo.yml'.freeze, String)
|
8
8
|
ENFORCE_DEPENDENCIES = T.let('enforce_dependencies'.freeze, String)
|
9
9
|
ENFORCE_PRIVACY = T.let('enforce_privacy'.freeze, String)
|
10
|
+
ENFORCE_ARCHITECTURE = T.let('enforce_architecture'.freeze, String)
|
10
11
|
DEPENDENCY_VIOLATION_TYPE = T.let('dependency'.freeze, String)
|
11
12
|
PRIVACY_VIOLATION_TYPE = T.let('privacy'.freeze, String)
|
12
13
|
PUBLIC_PATH = T.let('public_path'.freeze, String)
|
@@ -13,6 +13,11 @@ module ParsePackwerk
|
|
13
13
|
def self.privacy_extension_installed?
|
14
14
|
all_extensions_installed? || ParsePackwerk.yml.requires.include?('packwerk/privacy/checker')
|
15
15
|
end
|
16
|
+
|
17
|
+
sig { returns(T::Boolean) }
|
18
|
+
def self.architecture_extension_installed?
|
19
|
+
all_extensions_installed? || ParsePackwerk.yml.requires.include?('packwerk/architecture/checker')
|
20
|
+
end
|
16
21
|
end
|
17
22
|
|
18
23
|
private_constant :Extensions
|
@@ -7,6 +7,7 @@ module ParsePackwerk
|
|
7
7
|
const :name, String
|
8
8
|
const :enforce_dependencies, T.nilable(T.any(T::Boolean, String))
|
9
9
|
const :enforce_privacy, T.any(T::Boolean, String), default: false
|
10
|
+
const :enforce_architecture, T.any(T::Boolean, String), default: false
|
10
11
|
const :public_path, String, default: DEFAULT_PUBLIC_PATH
|
11
12
|
const :metadata, MetadataYmlType
|
12
13
|
const :dependencies, T::Array[String]
|
@@ -26,6 +27,7 @@ module ParsePackwerk
|
|
26
27
|
name: package_name,
|
27
28
|
enforce_dependencies: package_loaded_yml[ENFORCE_DEPENDENCIES],
|
28
29
|
enforce_privacy: package_loaded_yml[ENFORCE_PRIVACY] || false,
|
30
|
+
enforce_architecture: package_loaded_yml[ENFORCE_ARCHITECTURE] || false,
|
29
31
|
public_path: package_loaded_yml[PUBLIC_PATH] || DEFAULT_PUBLIC_PATH,
|
30
32
|
metadata: package_loaded_yml[METADATA] || {},
|
31
33
|
dependencies: package_loaded_yml[DEPENDENCIES] || [],
|
@@ -63,5 +65,10 @@ module ParsePackwerk
|
|
63
65
|
def enforces_privacy?
|
64
66
|
enforce_privacy
|
65
67
|
end
|
68
|
+
|
69
|
+
sig { returns(T.any(T::Boolean, String)) }
|
70
|
+
def enforces_architecture?
|
71
|
+
enforce_architecture
|
72
|
+
end
|
66
73
|
end
|
67
74
|
end
|
data/lib/parse_packwerk.rb
CHANGED
@@ -72,6 +72,10 @@ module ParsePackwerk
|
|
72
72
|
merged_config.merge!('enforce_privacy' => package.enforce_privacy)
|
73
73
|
end
|
74
74
|
|
75
|
+
if Extensions.architecture_extension_installed?
|
76
|
+
merged_config.merge!('enforce_architecture' => package.enforce_architecture)
|
77
|
+
end
|
78
|
+
|
75
79
|
unless package.public_path == DEFAULT_PUBLIC_PATH
|
76
80
|
merged_config.merge!('public_path' => package.public_path)
|
77
81
|
end
|
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.22.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gusto Engineers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sorbet-runtime
|