packs 0.0.22 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +35 -8
- data/lib/packs/private.rb +1 -1
- data/lib/packs/user_event_logger.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b263107f82d4798835847954ad1e85d0e62312ca9a8064ebf5ba789f522e3b3f
|
4
|
+
data.tar.gz: 90613f4569258bbfce8bcf2ceab4ac1038fc7a05ba2610376253ac7c8bd6e264
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7173bc07d22465d0dc96041adc9e22e704429b1b0cb0b480240e2af8307bf7a47fc43a94e00768903dc588db89f5cb4445d3198de59a0463447b53cf02010716
|
7
|
+
data.tar.gz: 3cbfbc39d85ffd72e0c9a595a9dbeb60596b60b55cf909188bbbfc15aa7a44c59a098beda1916773f7cc16334a43d6a029b479dbc6c9bdc789a45f0d4e90ab84
|
data/README.md
CHANGED
@@ -1,9 +1,36 @@
|
|
1
|
-
#
|
1
|
+
# packs
|
2
2
|
|
3
|
-
|
3
|
+
`packs` are a specification for an extensible packaging system to help modularize Ruby applications.
|
4
|
+
|
5
|
+
A `pack` (short for `package`) is a folder of Ruby code with a `package.yml` at the root that is intended to represent a well-modularized domain.
|
6
|
+
|
7
|
+
This gem provides a development CLI, `bin/packs`, to make using `packs` easier.
|
8
|
+
|
9
|
+
# Configuration
|
10
|
+
By default, this library will look for `packs` in the folder `packs/*/package.yml` (as well as nested packs at `packs/*/*/package.yml`). To change where `packs` are located, create a `packs.yml` file:
|
11
|
+
```yml
|
12
|
+
pack_paths:
|
13
|
+
- "{packs,utilities,deprecated}/*" # packs with multiple roots!
|
14
|
+
- "{packs,utilities,deprecated}/*/*" # nested packs!
|
15
|
+
- gems/* # gems can be packs too!
|
16
|
+
```
|
17
|
+
|
18
|
+
# Ecosystem
|
19
|
+
The rest of the [rubyatscale](https://github.com/rubyatscale) ecosystem is intended to help make using packs and improving the boundaries between them more clear.
|
20
|
+
|
21
|
+
Here are some example integrations with `packs`:
|
22
|
+
- [`packs-specification`](https://github.com/rubyatscale/packs-specification) is a low-dependency gem that allows your production environment to query simple information about packs
|
23
|
+
- [`packs-rails`](https://github.com/rubyatscale/packs-rails) can be used to integrate `packs` into your `rails` application
|
24
|
+
- [`rubocop-packs`](https://github.com/rubyatscale/rubocop-packs) contains cops to improve boundaries around `packs`
|
25
|
+
- [`packwerk`](https://github.com/Shopify/packwerk) and [`packwerk-extensions`](https://github.com/rubyatscale/packwerk-extensions) help you describe and constrain your package graph in terms of dependencies between packs and pack public API
|
26
|
+
- [`code_ownership`](https://github.com/rubyatscale/code_ownership) gives your application the capability to determine the owner of a pack
|
27
|
+
- [`pack_stats`](https://github.com/rubyatscale/pack_stats) makes it easy to send metrics about pack adoption and modularization to your favorite metrics provider, such as DataDog (which has built-in support).
|
28
|
+
|
29
|
+
# How is a pack different from a gem?
|
30
|
+
A ruby [`gem`](https://guides.rubygems.org/what-is-a-gem/) is the Ruby community solution for packaging and distributing Ruby code. A gem is a great place to start new projects, and a great end state for code that's been extracted from an existing codebase. `packs` are intended to help gradually modularize an application that has some conceptual boundaries, but is not yet ready to be factored into gems.
|
4
31
|
|
5
32
|
## Usage
|
6
|
-
Make sure to run `bundle binstub
|
33
|
+
Make sure to run `bundle binstub packs` to generate `bin/packs` within your application.
|
7
34
|
|
8
35
|
## CLI Documentation
|
9
36
|
## Describe available commands or one specific command
|
@@ -90,16 +117,16 @@ Releases happen automatically through github actions once a version update is co
|
|
90
117
|
To keep things organized, here are some recommended homes:
|
91
118
|
|
92
119
|
### Issues:
|
93
|
-
https://github.com/rubyatscale/
|
120
|
+
https://github.com/rubyatscale/packs/issues
|
94
121
|
|
95
122
|
### Questions:
|
96
|
-
https://github.com/rubyatscale/
|
123
|
+
https://github.com/rubyatscale/packs/discussions/categories/q-a
|
97
124
|
|
98
125
|
### General discussions:
|
99
|
-
https://github.com/rubyatscale/
|
126
|
+
https://github.com/rubyatscale/packs/discussions/categories/general
|
100
127
|
|
101
128
|
### Ideas, new features, requests for change:
|
102
|
-
https://github.com/rubyatscale/
|
129
|
+
https://github.com/rubyatscale/packs/discussions/categories/ideas
|
103
130
|
|
104
131
|
### Showcasing your work:
|
105
|
-
https://github.com/rubyatscale/
|
132
|
+
https://github.com/rubyatscale/packs/discussions/categories/show-and-tell
|
data/lib/packs/private.rb
CHANGED
@@ -404,7 +404,7 @@ module Packs
|
|
404
404
|
return if @loaded_client_configuration
|
405
405
|
|
406
406
|
@loaded_client_configuration = true
|
407
|
-
client_configuration = Pathname.pwd.join('config/
|
407
|
+
client_configuration = Pathname.pwd.join('config/packs.rb')
|
408
408
|
require client_configuration.to_s if client_configuration.exist?
|
409
409
|
end
|
410
410
|
|