islandjs-rails 1.0.0 → 2.0.0
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 +51 -2
- data/README.md +107 -640
- data/lib/islandjs_rails/cli.rb +0 -42
- data/lib/islandjs_rails/configuration.rb +3 -54
- data/lib/islandjs_rails/core.rb +3 -366
- data/lib/islandjs_rails/core_methods.rb +27 -553
- data/lib/islandjs_rails/rails_helpers.rb +49 -278
- data/lib/islandjs_rails/railtie.rb +3 -28
- data/lib/islandjs_rails/tasks.rb +0 -105
- data/lib/islandjs_rails/version.rb +1 -1
- data/lib/islandjs_rails/vite_installer.rb +155 -228
- data/lib/islandjs_rails.rb +0 -114
- data/lib/templates/app/javascript/entrypoints/islands.js +14 -7
- data/lib/templates/app/views/islandjs_demo/index.html.erb +16 -16
- data/lib/templates/app/views/islandjs_demo/react.html.erb +8 -9
- data/lib/templates/vite.config.islands.ts +8 -31
- metadata +21 -12
- data/lib/islandjs_rails/vendor_manager.rb +0 -274
- data/lib/islandjs_rails/vite_integration.rb +0 -148
- data/lib/templates/package.json +0 -14
- data/lib/templates/script/build-vite-atomic.js +0 -89
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 57e5503d06e52d1f4eca0a444de7d5b0a1a29799f37e227c953a6f7901ec6aec
|
|
4
|
+
data.tar.gz: 4cc9fd1567f4286fbe97305996d327ed37c24a5caf7567cba223fcd1da7fdc23
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bcd4c15db4b17ffd8b99f7a9a8c864aa863b161de4f9143a4ef99f8f458b73893998919e63f88218c277842df5f903b270038c2f2ae7242ed2d3946c08223246
|
|
7
|
+
data.tar.gz: 9c86c69eb088d5ac82038f47bd5cd86bcc4d9f7f8e961da877dec9e02381434870ab3dfbbad8b650cdaffd78b0ab262fa940ed49861db9380caadec9465069df
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,55 @@ 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
|
+
## [2.0.0] - 2026-03-14
|
|
9
|
+
|
|
10
|
+
### ⚠️ BREAKING CHANGES
|
|
11
|
+
|
|
12
|
+
**React is now bundled directly** into your Islands bundle via npm. The entire UMD/vendor system has been removed — no more CDN downloads, vendor directories, or separate script tags.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- **`rails islandjs:init`** is now the single setup command — creates directory structure, entrypoint, Vite config, package.json, installs dependencies, and injects layout helper
|
|
16
|
+
- **`islands` helper** just renders the bundle script tag (no more vendor UMD partial)
|
|
17
|
+
- **Entrypoint template** imports React/ReactDOM directly and exposes on `window`
|
|
18
|
+
|
|
19
|
+
### Removed
|
|
20
|
+
- All `islandjs:install/update/remove/sync/clean/config/vendor:*` commands — use `yarn add/upgrade/remove` directly
|
|
21
|
+
- `VendorManager`, `ViteIntegration`, and all UMD/CDN resolution code
|
|
22
|
+
- All vendor-related helpers and configuration options
|
|
23
|
+
|
|
24
|
+
### Migration from 1.x
|
|
25
|
+
|
|
26
|
+
See [UPGRADING.md](UPGRADING.md) for step-by-step instructions. Your `react_component` calls in ERB templates work exactly the same — no view changes needed.
|
|
27
|
+
|
|
28
|
+
## [1.1.0] - 2026-01-16
|
|
29
|
+
|
|
30
|
+
### Removed
|
|
31
|
+
- **Vue Support**: Removed untested Vue framework support to keep the gem focused on battle-tested React integration
|
|
32
|
+
- Removed `vue_component` helper method
|
|
33
|
+
- Removed `generate_vue_mount_script` private method
|
|
34
|
+
- Removed Vue global name mapping from `BUILT_IN_GLOBAL_NAME_OVERRIDES`
|
|
35
|
+
- Updated `island_component` helper to only support React
|
|
36
|
+
- Updated documentation to reflect React-only focus
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
- Updated gem description to reflect React-only focus
|
|
40
|
+
- Simplified framework support messaging in error messages
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- **Ruby 4.0 Compatibility**: Added explicit `cgi` gem dependency for test suite compatibility
|
|
44
|
+
- Ruby 4.0+ extracted `cgi` from stdlib, causing VCR gem to fail
|
|
45
|
+
- Added `cgi` as development dependency to ensure test suite works on Ruby 4.0+
|
|
46
|
+
- **Critical: YarnError namespace prefix**: Fixed missing `IslandjsRails::` namespace prefix in YarnError raises
|
|
47
|
+
- Would cause `NameError: uninitialized constant YarnError` at runtime when yarn commands failed
|
|
48
|
+
- Fixed in `core_methods.rb` for add, update, and remove package operations
|
|
49
|
+
- **Consistent Rails.root handling**: Added `root_path` helper method for uniform Rails.root access
|
|
50
|
+
- Prevents crashes when gem used outside Rails context (e.g., in standalone scripts)
|
|
51
|
+
- All file operations now use consistent path resolution
|
|
52
|
+
- **JSON parsing error visibility**: Added debug logging for JSON parse failures
|
|
53
|
+
- Silent failures made debugging difficult
|
|
54
|
+
- Now logs warnings
|
|
55
|
+
- Affects package.json, manifest.json, and Vite config parsing
|
|
56
|
+
|
|
8
57
|
## [1.0.0] - 2025-11-05
|
|
9
58
|
|
|
10
59
|
### 🎉 Major Release: Webpack → Vite Migration
|
|
@@ -85,8 +134,8 @@ See [UPGRADING.md](UPGRADING.md) for detailed migration instructions. Summary:
|
|
|
85
134
|
## [0.5.0] - 2025-09-29
|
|
86
135
|
|
|
87
136
|
### Added
|
|
88
|
-
- **CSP support for script tags**: All IslandJS-generated `<script>` tags now automatically include a CSP nonce when one is present in the Rails request.
|
|
89
|
-
- **Flexible script attributes**: Helpers (`react_component`,
|
|
137
|
+
- **CSP support for script tags**: All IslandJS-generated `<script>` tags now automatically include a CSP nonce when one is present in the Rails request.
|
|
138
|
+
- **Flexible script attributes**: Helpers (`react_component`, etc.) now support passing standard script attributes (`nonce`, `defer`, `async`, `crossorigin`, `integrity`).
|
|
90
139
|
|
|
91
140
|
## [0.4.0] - 2025-08-10
|
|
92
141
|
|