packs 0.0.37 → 0.0.38
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/packs/cli.rb +5 -1
- data/lib/packs/private.rb +28 -9
- data/lib/packs.rb +3 -0
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 876b307fd78af1128f0404e37f792d5b249b77ccba825fcd8afc3729ac77c242
|
4
|
+
data.tar.gz: 39b947778eda7ce4aadd58830bb8abf320c3b1cf3f09327b503a24b93ea43add
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aecd7614772de0eb3166954887d9012161697f355cd852a12d652f745c5bd424ac52839204762067fbb27d48ea8ffd56551f1c4eb6597fa50099cfd43f22070
|
7
|
+
data.tar.gz: dbc2223fe7612e204f59548136bfc8b8f77355f321cfee17d25766a94ba7fb473be9fe47f2db9d95138a746dba1a7ce687c60befba05f481cfa4b2603f2bc547
|
data/lib/packs/cli.rb
CHANGED
@@ -7,12 +7,16 @@ module Packs
|
|
7
7
|
extend T::Sig
|
8
8
|
|
9
9
|
desc 'create packs/your_pack', 'Create pack with name packs/your_pack'
|
10
|
+
option :enforce_dependencies, type: :boolean, default: nil, aliases: :d, banner: 'Enforce dependencies'
|
10
11
|
option :enforce_privacy, type: :boolean, default: true, aliases: :p, banner: 'Enforce privacy'
|
12
|
+
option :enforce_architecture, type: :boolean, default: true, aliases: :a, banner: 'Enforce architecture'
|
11
13
|
sig { params(pack_name: String).void }
|
12
14
|
def create(pack_name)
|
13
15
|
Packs.create_pack!(
|
14
16
|
pack_name: pack_name,
|
15
|
-
|
17
|
+
enforce_dependencies: options[:enforce_dependencies],
|
18
|
+
enforce_privacy: options[:enforce_privacy],
|
19
|
+
enforce_architecture: options[:enforce_architecture]
|
16
20
|
)
|
17
21
|
exit_successfully
|
18
22
|
end
|
data/lib/packs/private.rb
CHANGED
@@ -47,12 +47,13 @@ module Packs
|
|
47
47
|
sig do
|
48
48
|
params(
|
49
49
|
pack_name: String,
|
50
|
-
enforce_privacy: T::Boolean,
|
51
50
|
enforce_dependencies: T.nilable(T::Boolean),
|
51
|
+
enforce_privacy: T::Boolean,
|
52
|
+
enforce_architecture: T::Boolean,
|
52
53
|
team: T.nilable(CodeTeams::Team)
|
53
54
|
).void
|
54
55
|
end
|
55
|
-
def self.create_pack!(pack_name:, enforce_privacy:,
|
56
|
+
def self.create_pack!(pack_name:, enforce_dependencies:, enforce_privacy:, enforce_architecture:, team:)
|
56
57
|
Logging.section('👋 Hi!') do
|
57
58
|
intro = Packs.config.user_event_logger.before_create_pack(pack_name)
|
58
59
|
Logging.print_bold_green(intro)
|
@@ -60,7 +61,13 @@ module Packs
|
|
60
61
|
|
61
62
|
pack_name = Private.clean_pack_name(pack_name)
|
62
63
|
|
63
|
-
package = create_pack_if_not_exists!(
|
64
|
+
package = create_pack_if_not_exists!(
|
65
|
+
pack_name: pack_name,
|
66
|
+
enforce_dependencies: enforce_dependencies,
|
67
|
+
enforce_privacy: enforce_privacy,
|
68
|
+
enforce_architecture: enforce_architecture,
|
69
|
+
team: team
|
70
|
+
)
|
64
71
|
add_public_directory(package) if package.enforce_privacy
|
65
72
|
add_readme_todo(package)
|
66
73
|
|
@@ -160,8 +167,9 @@ module Packs
|
|
160
167
|
|
161
168
|
new_package = ParsePackwerk::Package.new(
|
162
169
|
name: new_package_name,
|
163
|
-
enforce_privacy: package.enforce_privacy,
|
164
170
|
enforce_dependencies: package.enforce_dependencies,
|
171
|
+
enforce_privacy: package.enforce_privacy,
|
172
|
+
enforce_architecture: package.enforce_architecture,
|
165
173
|
dependencies: package.dependencies,
|
166
174
|
violations: package.violations,
|
167
175
|
metadata: package.metadata,
|
@@ -196,8 +204,9 @@ module Packs
|
|
196
204
|
|
197
205
|
new_other_package = ParsePackwerk::Package.new(
|
198
206
|
name: other_package.name,
|
199
|
-
enforce_privacy: other_package.enforce_privacy,
|
200
207
|
enforce_dependencies: other_package.enforce_dependencies,
|
208
|
+
enforce_privacy: other_package.enforce_privacy,
|
209
|
+
enforce_architecture: other_package.enforce_architecture,
|
201
210
|
dependencies: new_dependencies.uniq.sort,
|
202
211
|
violations: other_package.violations,
|
203
212
|
metadata: other_package.metadata,
|
@@ -238,7 +247,12 @@ module Packs
|
|
238
247
|
parent_name = Private.clean_pack_name(parent_name)
|
239
248
|
parent_package = ParsePackwerk.all.find { |p| p.name == parent_name }
|
240
249
|
if parent_package.nil?
|
241
|
-
parent_package = create_pack_if_not_exists!(
|
250
|
+
parent_package = create_pack_if_not_exists!(
|
251
|
+
pack_name: parent_name,
|
252
|
+
enforce_dependencies: true,
|
253
|
+
enforce_privacy: true,
|
254
|
+
enforce_architecture: true
|
255
|
+
)
|
242
256
|
end
|
243
257
|
|
244
258
|
# First we create a new pack that has the exact same properties of the old one!
|
@@ -249,6 +263,7 @@ module Packs
|
|
249
263
|
name: new_package_name,
|
250
264
|
enforce_privacy: package.enforce_privacy,
|
251
265
|
enforce_dependencies: package.enforce_dependencies,
|
266
|
+
enforce_architecture: package.enforce_architecture,
|
252
267
|
dependencies: package.dependencies,
|
253
268
|
violations: package.violations,
|
254
269
|
metadata: package.metadata,
|
@@ -289,8 +304,9 @@ module Packs
|
|
289
304
|
|
290
305
|
new_other_package = ParsePackwerk::Package.new(
|
291
306
|
name: other_package.name,
|
292
|
-
enforce_privacy: other_package.enforce_privacy,
|
293
307
|
enforce_dependencies: other_package.enforce_dependencies,
|
308
|
+
enforce_privacy: other_package.enforce_privacy,
|
309
|
+
enforce_architecture: other_package.enforce_architecture,
|
294
310
|
dependencies: new_dependencies.uniq.sort,
|
295
311
|
violations: other_package.violations,
|
296
312
|
metadata: other_package.metadata,
|
@@ -382,6 +398,7 @@ module Packs
|
|
382
398
|
name: pack_name,
|
383
399
|
dependencies: (package.dependencies + [dependency_name]).uniq.sort,
|
384
400
|
enforce_privacy: package.enforce_privacy,
|
401
|
+
enforce_architecture: package.enforce_architecture,
|
385
402
|
enforce_dependencies: package.enforce_dependencies,
|
386
403
|
violations: package.violations,
|
387
404
|
metadata: package.metadata,
|
@@ -447,12 +464,13 @@ module Packs
|
|
447
464
|
sig do
|
448
465
|
params(
|
449
466
|
pack_name: String,
|
450
|
-
enforce_privacy: T::Boolean,
|
451
467
|
enforce_dependencies: T.nilable(T::Boolean),
|
468
|
+
enforce_privacy: T::Boolean,
|
469
|
+
enforce_architecture: T::Boolean,
|
452
470
|
team: T.nilable(CodeTeams::Team)
|
453
471
|
).returns(ParsePackwerk::Package)
|
454
472
|
end
|
455
|
-
def self.create_pack_if_not_exists!(pack_name:, enforce_privacy:,
|
473
|
+
def self.create_pack_if_not_exists!(pack_name:, enforce_dependencies:, enforce_privacy:, enforce_architecture:, team: nil)
|
456
474
|
allowed_locations = Packs::Specification.config.pack_paths
|
457
475
|
if allowed_locations.none? { |location| File.fnmatch(location, pack_name) }
|
458
476
|
raise StandardError, "Packs only supports packages in the the following directories: #{allowed_locations}. Please make sure to pass in the name of the pack including the full directory path, e.g. `packs/my_pack`."
|
@@ -475,6 +493,7 @@ module Packs
|
|
475
493
|
package = ParsePackwerk::Package.new(
|
476
494
|
enforce_dependencies: should_enforce_dependencies || false,
|
477
495
|
enforce_privacy: enforce_privacy,
|
496
|
+
enforce_architecture: enforce_architecture,
|
478
497
|
dependencies: [],
|
479
498
|
violations: [],
|
480
499
|
metadata: {},
|
data/lib/packs.rb
CHANGED
@@ -49,6 +49,7 @@ module Packs
|
|
49
49
|
params(
|
50
50
|
pack_name: String,
|
51
51
|
enforce_privacy: T::Boolean,
|
52
|
+
enforce_architecture: T::Boolean,
|
52
53
|
enforce_dependencies: T.nilable(T::Boolean),
|
53
54
|
team: T.nilable(CodeTeams::Team)
|
54
55
|
).void
|
@@ -56,6 +57,7 @@ module Packs
|
|
56
57
|
def self.create_pack!(
|
57
58
|
pack_name:,
|
58
59
|
enforce_privacy: true,
|
60
|
+
enforce_architecture: true,
|
59
61
|
enforce_dependencies: nil,
|
60
62
|
team: nil
|
61
63
|
)
|
@@ -63,6 +65,7 @@ module Packs
|
|
63
65
|
pack_name: pack_name,
|
64
66
|
enforce_privacy: enforce_privacy,
|
65
67
|
enforce_dependencies: enforce_dependencies,
|
68
|
+
enforce_architecture: enforce_architecture,
|
66
69
|
team: team
|
67
70
|
)
|
68
71
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.38
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gusto Engineers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: code_ownership
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.22.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.22.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rainbow
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -314,7 +314,7 @@ metadata:
|
|
314
314
|
source_code_uri: https://github.com/rubyatscale/packs
|
315
315
|
changelog_uri: https://github.com/rubyatscale/packs/releases
|
316
316
|
allowed_push_host: https://rubygems.org
|
317
|
-
post_install_message:
|
317
|
+
post_install_message:
|
318
318
|
rdoc_options: []
|
319
319
|
require_paths:
|
320
320
|
- lib
|
@@ -329,8 +329,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
329
329
|
- !ruby/object:Gem::Version
|
330
330
|
version: '0'
|
331
331
|
requirements: []
|
332
|
-
rubygems_version: 3.
|
333
|
-
signing_key:
|
332
|
+
rubygems_version: 3.4.10
|
333
|
+
signing_key:
|
334
334
|
specification_version: 4
|
335
335
|
summary: Provides CLI tools for working with ruby packs.
|
336
336
|
test_files: []
|