react-manifest-rails 0.2.3 → 0.2.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '028416e61e2a4c385387c10267366155e596d434660c362c3f3e190ff984fa5d'
4
- data.tar.gz: 7ab4143a3fee1f071da1450f28ba76a423986568a17401560dc68169539d390b
3
+ metadata.gz: e9e734e50556ce1fafb042b8c906a2d8207080a79e5c82f6fa3088e6d3b0b1b9
4
+ data.tar.gz: 2e7f5e2ab8142287c150c31befcb47318c71f62f3620a3099930dcc323e33410
5
5
  SHA512:
6
- metadata.gz: b24e547c5d9483781cf32fd081e897096907c81cf5de5e15cb1524917fba6766994def31416c7d50375c19c419c1d8168d5b3037df4004d28cafd876cdacc3f3
7
- data.tar.gz: d94259f332e1fa63d9f2a37f9993576498d99eeac8f7338c7c3c5c236fcdd40e92a0aeabc900da34f0a953c8bbddcdf8367df121d9e13dd7143e761f1036ef44
6
+ metadata.gz: a7190fdd1cb329ec7c6a4012a681bdbfba92d2f2f787f876048c0052d120c600e4ca532fa504c82c54c1e3a24490cfc69c9e4c42482c1bbfa890dfff88739fad
7
+ data.tar.gz: 54b9869d89a3d658838895cb172429c996da94e3365271e6194f1c2be53ae5427f3d28399a93251f106ead4b15872dbe828cb65a66f75a33e384fab38a902fb7
data/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.6] - 2026-04-15
9
+
10
+ ### Fixed
11
+ - Resolved Railtie boot error caused by calling private class method `missing_manifest_bundles` with an explicit receiver.
12
+ - Development server boot no longer raises `private method missing_manifest_bundles called for ReactManifest::Railtie:Class`.
13
+
14
+ ## [0.2.5] - 2026-04-15
15
+
16
+ ### Fixed
17
+ - Updated root `Gemfile.lock` to stay in sync with gemspec version changes, fixing frozen Bundler install failures in the release workflow.
18
+
19
+ ### Changed
20
+ - Follow-up release from `0.2.4` to ensure GitHub Release trusted publishing can complete successfully.
21
+
22
+ ## [0.2.4] - 2026-04-15
23
+
24
+ ### Changed
25
+ - Clarified configuration semantics for `ignore`, `exclude_paths`, `dry_run`, `verbose`, and `stdout_logging` in inline code comments.
26
+ - Updated README with clearer guidance on default configuration usage and explicit behavior notes for `ignore` vs `exclude_paths`.
27
+ - Documented that scanning scope is limited to `ux_root` and that `exclude_paths` is path-segment based (not `application.js` include based).
28
+
8
29
  ## [0.2.3] - 2026-04-15
9
30
 
10
31
  ### Added
data/README.md CHANGED
@@ -23,6 +23,15 @@ end
23
23
  bundle install
24
24
  ```
25
25
 
26
+ If your app uses this standard layout, you can keep defaults and only create the initializer if you want overrides:
27
+
28
+ ```text
29
+ ux_root: app/assets/javascripts/ux
30
+ app_dir: app
31
+ output_dir: app/assets/javascripts
32
+ extensions: js, jsx
33
+ ```
34
+
26
35
  3. Add initializer:
27
36
 
28
37
  ```ruby
@@ -73,6 +82,27 @@ In development:
73
82
  - If `listen` is missing, run `bundle exec rails react_manifest:generate` manually.
74
83
  - Set `config.stdout_logging = false` to silence ReactManifest console lines while keeping Rails logger output.
75
84
 
85
+ ## Configuration Notes
86
+
87
+ - `ignore`:
88
+ - Skips controller directory names directly under `ux/app/`.
89
+ - Example: `ignore = ["admin"]` skips `ux/app/admin/*`.
90
+
91
+ - `exclude_paths`:
92
+ - Excludes files by matching path segments while scanning the `ux_root` tree.
93
+ - Example: `exclude_paths = ["vendor"]` excludes `ux/vendor/*` and any nested `.../vendor/...` segment.
94
+ - This is not based on what is included in `application.js`.
95
+
96
+ - `dry_run`:
97
+ - Preview mode only; computes and prints changes but writes no files.
98
+
99
+ - `verbose` vs `stdout_logging`:
100
+ - `verbose`: extra diagnostic detail.
101
+ - `stdout_logging`: whether ReactManifest status lines are printed to terminal stdout.
102
+
103
+ - Scope:
104
+ - Manifest generation only scans files under `ux_root`.
105
+
76
106
  ## What Gets Generated
77
107
 
78
108
  - `ux_shared.js`: shared files outside `ux/app/`
@@ -23,10 +23,14 @@ module ReactManifest
23
23
  # Bundles always prepended by react_bundle_tag (e.g. ["ux_main"])
24
24
  attr_accessor :always_include
25
25
 
26
- # Directories under app_dir to completely ignore
26
+ # Controller directory names directly under ux_root/app_dir to skip entirely.
27
+ # Example: ignore = ["admin"] skips ux/app/admin/* when building ux_<controller>.js.
27
28
  attr_accessor :ignore
28
29
 
29
- # Top-level dirs under output_dir to never scan (vendor libs, etc.)
30
+ # Path segments to exclude while scanning files under ux_root.
31
+ # This is segment matching (not full path matching), so "vendor" excludes
32
+ # ux/vendor/foo.js and ux/app/users/vendor/bar.jsx, but not ux/vendor_custom/x.js.
33
+ # These are not application.js includes; they only affect ux tree scanning.
30
34
  attr_accessor :exclude_paths
31
35
 
32
36
  # Warn if a bundle exceeds this size in KB (0 = disabled)
@@ -35,14 +39,15 @@ module ReactManifest
35
39
  # File extensions to scan (default: js and jsx; add "ts", "tsx" for TypeScript)
36
40
  attr_accessor :extensions
37
41
 
38
- # Print what would change, write nothing
42
+ # Preview mode: print what would change, write nothing.
43
+ # Applies anywhere generation runs (manual task, boot sync, watcher).
39
44
  attr_accessor :dry_run
40
45
 
41
- # Extra logging
46
+ # Extra diagnostic logging (summary lines and richer error context).
42
47
  attr_accessor :verbose
43
48
 
44
- # Emit ReactManifest status lines to stdout in development
45
- # (independent from Rails.logger output)
49
+ # Emit ReactManifest status lines to stdout in development.
50
+ # Independent from Rails.logger output.
46
51
  attr_accessor :stdout_logging
47
52
 
48
53
  def initialize
@@ -10,7 +10,8 @@ module ReactManifest
10
10
  next unless Rails.env.development?
11
11
 
12
12
  config = ReactManifest.configuration
13
- missing = self.class.missing_manifest_bundles(config)
13
+ # Private class method: call via send from the initializer instance context.
14
+ missing = self.class.send(:missing_manifest_bundles, config)
14
15
  next if missing.empty?
15
16
 
16
17
  message = "[ReactManifest] Missing manifests on boot: #{missing.join(', ')}. Generating now..."
@@ -1,3 +1,3 @@
1
1
  module ReactManifest
2
- VERSION = "0.2.3".freeze
2
+ VERSION = "0.2.6".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react-manifest-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Noonan