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 +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +30 -0
- data/lib/react_manifest/configuration.rb +11 -6
- data/lib/react_manifest/railtie.rb +2 -1
- data/lib/react_manifest/version.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: e9e734e50556ce1fafb042b8c906a2d8207080a79e5c82f6fa3088e6d3b0b1b9
|
|
4
|
+
data.tar.gz: 2e7f5e2ab8142287c150c31befcb47318c71f62f3620a3099930dcc323e33410
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
-
|
|
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..."
|