packs 0.0.22 → 0.0.23
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/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
|
|