react-on-rails-rsc 19.3.0 → 19.3.1-rc.1
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.
- package/CHANGELOG.md +29 -0
- package/LICENSE.md +349 -194
- package/README.md +19 -5
- package/dist/WebpackLoader.d.ts +40 -1
- package/dist/WebpackLoader.d.ts.map +1 -1
- package/dist/WebpackLoader.js +64 -4
- package/dist/WebpackLoader.js.map +1 -1
- package/dist/WebpackPlugin.d.ts +4 -0
- package/dist/WebpackPlugin.d.ts.map +1 -1
- package/dist/WebpackPlugin.js.map +1 -1
- package/dist/loaderExportScan.d.ts +2 -0
- package/dist/loaderExportScan.d.ts.map +1 -1
- package/dist/loaderExportScan.js +7 -3
- package/dist/loaderExportScan.js.map +1 -1
- package/dist/react-server-dom-rspack/injection-loader.d.ts +3 -1
- package/dist/react-server-dom-rspack/injection-loader.d.ts.map +1 -1
- package/dist/react-server-dom-rspack/injection-loader.js +12 -3
- package/dist/react-server-dom-rspack/injection-loader.js.map +1 -1
- package/dist/react-server-dom-rspack/plugin.d.ts +4 -0
- package/dist/react-server-dom-rspack/plugin.d.ts.map +1 -1
- package/dist/react-server-dom-rspack/plugin.js +3 -1
- package/dist/react-server-dom-rspack/plugin.js.map +1 -1
- package/dist/webpack/RSCWebpackPlugin.d.ts +4 -0
- package/dist/webpack/RSCWebpackPlugin.d.ts.map +1 -1
- package/dist/webpack/RSCWebpackPlugin.js +4 -1
- package/dist/webpack/RSCWebpackPlugin.js.map +1 -1
- package/dist/webpack/cssWrapperRequest.d.ts +18 -0
- package/dist/webpack/cssWrapperRequest.d.ts.map +1 -0
- package/dist/webpack/cssWrapperRequest.js +27 -0
- package/dist/webpack/cssWrapperRequest.js.map +1 -0
- package/dist/webpack/rscCssWrapperLoader.d.ts +2 -3
- package/dist/webpack/rscCssWrapperLoader.d.ts.map +1 -1
- package/dist/webpack/rscCssWrapperLoader.js.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this package will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [19.3.1-rc.1] - 2026-10-07
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
* License: `react-on-rails-rsc` is governed by The React on Rails Pro License 3.0 (based on trust, free for small organizations; replaces EULA 2.3).
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Fixed CSS wrapper builds for client modules using configured proposal syntax by passing `parserPlugins` from both RSC plugins to the wrapper export scan. ([#240])
|
|
15
|
+
- Fixed `react-on-rails-rsc/WebpackLoader` failing RSC bundle builds with `SyntaxError: Unexpected token '/' ... is not valid JSON` when a `"use server"` (or other stock-path directive) module ends with a `//# sourceMappingURL=` comment — the shape npm packages publish. The loader now routes the stock node-loader's requests instead of answering every one with the module's own source: a sourcemap request is always answered with a valid empty map (real `.map`/inline-map passthrough is deliberately not implemented — tracked in [#239]), and any other requested module URL (`export *` resolution) is served from the bundler's input filesystem. ([#236])
|
|
16
|
+
|
|
17
|
+
## [19.3.1-rc.0] - 2026-09-19
|
|
18
|
+
|
|
19
|
+
### Breaking Changes
|
|
20
|
+
- Opened the React 19.3 Flight line by depending on stock `react-server-dom-webpack@~19.3.0` and raising the `react` and `react-dom` peer floors to `^19.3.0`. Published `19.3.0` remains the React 19.2.8 line; apps still on React 19.2.8 must pin exact `react-on-rails-rsc@19.3.0` instead of taking this patch. ([#235])
|
|
21
|
+
|
|
22
|
+
**Migration Guide:**
|
|
23
|
+
|
|
24
|
+
1. Upgrade application `react`, `react-dom`, and `react-server-dom-webpack` together to 19.3.0 so the nested Flight runtime matches React and a second Flight copy is not installed.
|
|
25
|
+
2. Keep exact `react-on-rails-rsc@19.3.0` while the app remains on React 19.2.8. Do not treat `19.3.1-rc.0` as a drop-in patch for that line. This candidate publishes to npm `next` only; `latest` stays on `19.3.0` until the downstream gate accepts the final.
|
|
26
|
+
|
|
5
27
|
## [19.3.0] - 2026-09-16
|
|
6
28
|
|
|
7
29
|
### Breaking Changes
|
|
@@ -85,12 +107,18 @@ All notable changes to this package will be documented in this file.
|
|
|
85
107
|
### Security
|
|
86
108
|
- Updated the vendored `react-server-dom-webpack` runtime from React 19.0.3 to the React 19.0.7 security level, applying the React 19.0.4 fixes for CVE-2025-55183, CVE-2025-55184, and CVE-2025-67779 plus the React 19.0.7 reply-decoding denial-of-service fixes for CVE-2026-23869 (GHSA-479c-33wc-g2pg) and CVE-2026-23870 (GHSA-rv78-f8rc-xrxh). Note: the upstream CVE-2026-23869 fix changes the reply wire format for nested `FormData`, so client and server must both run the patched runtime shipped by this package. ([#48]) ([#86])
|
|
87
109
|
|
|
110
|
+
[Unreleased]: https://github.com/shakacode/react_on_rails_rsc/compare/19.3.1-rc.1...HEAD
|
|
111
|
+
[19.3.1-rc.1]: https://github.com/shakacode/react_on_rails_rsc/compare/19.3.1-rc.0...19.3.1-rc.1
|
|
112
|
+
[19.3.1-rc.0]: https://github.com/shakacode/react_on_rails_rsc/compare/19.3.0...19.3.1-rc.0
|
|
88
113
|
[19.3.0]: https://github.com/shakacode/react_on_rails_rsc/compare/19.2.1...19.3.0
|
|
89
114
|
[19.2.1]: https://github.com/shakacode/react_on_rails_rsc/compare/19.2.0...19.2.1
|
|
90
115
|
[19.2.0]: https://github.com/shakacode/react_on_rails_rsc/compare/19.0.5...19.2.0
|
|
91
116
|
[19.0.5]: https://github.com/shakacode/react_on_rails_rsc/compare/19.0.4...19.0.5
|
|
92
117
|
|
|
93
118
|
[#203]: https://github.com/shakacode/react_on_rails_rsc/pull/203
|
|
119
|
+
[#235]: https://github.com/shakacode/react_on_rails_rsc/pull/235
|
|
120
|
+
[#236]: https://github.com/shakacode/react_on_rails_rsc/pull/236
|
|
121
|
+
[#239]: https://github.com/shakacode/react_on_rails_rsc/issues/239
|
|
94
122
|
[#207]: https://github.com/shakacode/react_on_rails_rsc/pull/207
|
|
95
123
|
[#120]: https://github.com/shakacode/react_on_rails_rsc/pull/120
|
|
96
124
|
[#140]: https://github.com/shakacode/react_on_rails_rsc/pull/140
|
|
@@ -138,3 +166,4 @@ All notable changes to this package will be documented in this file.
|
|
|
138
166
|
[#223]: https://github.com/shakacode/react_on_rails_rsc/pull/223
|
|
139
167
|
[#228]: https://github.com/shakacode/react_on_rails_rsc/pull/228
|
|
140
168
|
[#230]: https://github.com/shakacode/react_on_rails_rsc/pull/230
|
|
169
|
+
[#240]: https://github.com/shakacode/react_on_rails_rsc/pull/240
|
package/LICENSE.md
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
# react-on-rails-rsc License
|
|
2
2
|
|
|
3
3
|
Beginning with version `19.2.1`, the `react-on-rails-rsc` npm package is a
|
|
4
|
-
commercially licensed related component of React on Rails Pro.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
commercially licensed related component of React on Rails Pro. Releases that
|
|
5
|
+
include this license file are governed by The React on Rails Pro License,
|
|
6
|
+
version 3.0, reproduced below: free in development, test, CI, and staging for
|
|
7
|
+
everyone; free in production for small organizations, charities, educational
|
|
8
|
+
institutions, and hospitals; a subscription for other production use. No
|
|
9
|
+
license key is needed to run it. This package does not generate or insert the
|
|
10
|
+
Generated Attribution and has no independent obligation to insert one (Section
|
|
11
|
+
8). Earlier releases retain the terms included in their packages.
|
|
8
12
|
|
|
9
13
|
The package includes portions of Meta's `ReactFlightWebpackPlugin` in
|
|
10
14
|
`src/webpack/RSCWebpackPlugin.ts`. Those portions remain governed by the Meta
|
|
@@ -12,200 +16,351 @@ MIT notice reproduced after the canonical commercial terms.
|
|
|
12
16
|
|
|
13
17
|
## Canonical Commercial Terms
|
|
14
18
|
|
|
15
|
-
#
|
|
19
|
+
# The React on Rails Pro License
|
|
20
|
+
|
|
21
|
+
The React on Rails Pro License, version 3.0, an application of ShakaCode
|
|
22
|
+
Trust-Based Commercial Licensing.
|
|
23
|
+
|
|
24
|
+
Copyright (c) 2015-2026 ShakaCode LLC, a Hawaii limited liability company
|
|
25
|
+
("ShakaCode").
|
|
26
|
+
|
|
27
|
+
SPDX-License-Identifier: LicenseRef-ReactOnRailsPro
|
|
28
|
+
|
|
29
|
+
## Plain-language summary (informative, not part of the terms)
|
|
30
|
+
|
|
31
|
+
React on Rails Pro is trust-based: no license key is needed to run it,
|
|
32
|
+
nothing phones home, and a missing key never blocks, slows, or changes
|
|
33
|
+
how your app runs. Reading the source, development, test, CI, staging,
|
|
34
|
+
review apps, education, personal projects, and open-source work are free
|
|
35
|
+
for everyone, at any organization size. Production use is also free if
|
|
36
|
+
you can answer yes to all three questions: *Do fewer than 10 people work
|
|
37
|
+
for your organization (counting all affiliates)? Was its revenue in the
|
|
38
|
+
last twelve months under US $1M? Has it raised under US $1M in outside
|
|
39
|
+
capital, ever?* Charities, educational institutions, and hospitals are
|
|
40
|
+
free at any size. If any answer is no and you are none of those,
|
|
41
|
+
production use requires a paid subscription, and one subscription covers
|
|
42
|
+
your whole organization: every application, environment, and developer.
|
|
43
|
+
See https://pro.reactonrails.com/. Every page rendered with Pro carries
|
|
44
|
+
one HTML comment naming the product and its license status; the license
|
|
45
|
+
key that comes with a subscription makes it read `Licensed`. Once a
|
|
46
|
+
version ships under these terms, those terms govern that version
|
|
47
|
+
permanently.
|
|
48
|
+
|
|
49
|
+
## 1. Acceptance
|
|
50
|
+
|
|
51
|
+
By using the software, you agree to these terms. If you use the software
|
|
52
|
+
on behalf of an organization, you represent that you have authority to
|
|
53
|
+
bind that organization, and "you" includes it.
|
|
54
|
+
|
|
55
|
+
## 2. Definitions
|
|
56
|
+
|
|
57
|
+
**"Software"** means React on Rails Pro: the `react_on_rails_pro` Ruby
|
|
58
|
+
gem, the `react-on-rails-pro` and `react-on-rails-pro-node-renderer` npm
|
|
59
|
+
packages, and any other component ShakaCode distributes under these
|
|
60
|
+
terms. The open-source React on Rails core that the software builds on is
|
|
61
|
+
licensed separately under the MIT License.
|
|
62
|
+
|
|
63
|
+
**"Control"** means ownership of more than 50% of the voting interests of
|
|
64
|
+
an entity, or the power to direct its management or policies, by contract
|
|
65
|
+
or otherwise.
|
|
66
|
+
|
|
67
|
+
**"Your organization"** means you together with every entity that Controls
|
|
68
|
+
you, that you Control, or that is under common Control with you. Teams,
|
|
69
|
+
departments, and other sub-units are not separate organizations.
|
|
70
|
+
|
|
71
|
+
**"Small Organization"** means an organization for which all of the
|
|
72
|
+
following are true, counted across the entire organization as defined
|
|
73
|
+
above:
|
|
74
|
+
|
|
75
|
+
a. fewer than 10 individuals perform paid work for it or on its products
|
|
76
|
+
and services, whether directly or through staffing, outsourcing, or
|
|
77
|
+
services arrangements, counted as full-time equivalents;
|
|
78
|
+
b. its total gross revenue, measured over the twelve months ending with
|
|
79
|
+
the most recently completed calendar quarter, was less than
|
|
80
|
+
US $1,000,000; and
|
|
81
|
+
c. it has received less than US $1,000,000 in aggregate outside capital
|
|
82
|
+
over its lifetime (equity, tokens, convertible instruments, venture or
|
|
83
|
+
investor debt, accelerator funding, and grants or donations, other than
|
|
84
|
+
academic research or charitable grants to accredited academic or
|
|
85
|
+
nonprofit institutions) from sources other than its own operating
|
|
86
|
+
revenue and its founders' personal funds. Ordinary-course bank and
|
|
87
|
+
trade credit do not count.
|
|
88
|
+
|
|
89
|
+
Government entities, other than public educational institutions, are not
|
|
90
|
+
Small Organizations.
|
|
91
|
+
|
|
92
|
+
**"Charity"** means an organization recognized as charitable or
|
|
93
|
+
public-benefit under the law of the jurisdiction where it is organized (for
|
|
94
|
+
example, a US 501(c)(3) organization or its equivalent elsewhere), no part
|
|
95
|
+
of whose net earnings benefits any private person.
|
|
96
|
+
|
|
97
|
+
**"Educational Institution"** means a school, college, university, or
|
|
98
|
+
other institution whose principal purpose is teaching or academic
|
|
99
|
+
research, whether public or private, including its libraries, research
|
|
100
|
+
institutes, and teaching hospitals.
|
|
101
|
+
|
|
102
|
+
**"Hospital"** means an institution licensed to provide inpatient
|
|
103
|
+
medical care to the public, whether public, non-profit, or private,
|
|
104
|
+
including its clinics and medical research units.
|
|
105
|
+
|
|
106
|
+
Charity, Educational Institution, and Hospital status belongs to the
|
|
107
|
+
qualifying entity and to affiliates that qualify on their own; it does
|
|
108
|
+
not extend to for-profit affiliates, spin-offs, or commercial ventures
|
|
109
|
+
that are not themselves one of these.
|
|
110
|
+
|
|
111
|
+
**"Production use"** means running the software to serve an application,
|
|
112
|
+
website, or service to its end users, whether those users are the public,
|
|
113
|
+
your customers, or your own staff. Development, test, continuous
|
|
114
|
+
integration, staging, preview, review-app, and other non-production
|
|
115
|
+
environments are not production use.
|
|
116
|
+
|
|
117
|
+
**"Generated Attribution"** means the HTML comment the software emits
|
|
118
|
+
once in each document it renders, in the form
|
|
119
|
+
`<!-- Powered by React on Rails Pro (c) ShakaCode | STATUS -->`, where
|
|
120
|
+
STATUS is generated by the software from the license status.
|
|
121
|
+
|
|
122
|
+
**"Subscription"** means an active paid React on Rails Pro subscription
|
|
123
|
+
purchased at https://pro.reactonrails.com/, through another order channel
|
|
124
|
+
ShakaCode designates (for example a designated GitHub Sponsors tier or an
|
|
125
|
+
invoice), or under a separate written agreement with ShakaCode.
|
|
126
|
+
Sponsorships and donations that ShakaCode has not designated as
|
|
127
|
+
subscriptions are appreciated but are not Subscriptions and grant no
|
|
128
|
+
production-use rights.
|
|
129
|
+
|
|
130
|
+
**"License key"** means the optional credential ShakaCode issues that
|
|
131
|
+
identifies your organization in the software's license-status logs and in
|
|
132
|
+
the Generated Attribution. A license key is identity, not enforcement.
|
|
133
|
+
|
|
134
|
+
## 3. Copyright grant
|
|
135
|
+
|
|
136
|
+
ShakaCode grants you a non-exclusive, worldwide, royalty-free license to
|
|
137
|
+
use, copy, modify, and create derivative works of the software, and to
|
|
138
|
+
include it in the builds and deployments of your organization's own
|
|
139
|
+
applications, in each case only as allowed by these terms. You may share
|
|
140
|
+
copies with contractors and service providers working on those
|
|
141
|
+
applications, who must observe these terms. You may not distribute the
|
|
142
|
+
software or your modifications as a standalone product or library, or as
|
|
143
|
+
part of a product whose purpose is to provide the software's
|
|
144
|
+
functionality to others (see Section 7).
|
|
145
|
+
|
|
146
|
+
## 4. Free uses
|
|
147
|
+
|
|
148
|
+
The following uses are free of charge for anyone, at any organization
|
|
149
|
+
size:
|
|
150
|
+
|
|
151
|
+
a. reading and studying the source code;
|
|
152
|
+
b. development, test, continuous integration, staging, preview,
|
|
153
|
+
review-app, and every other non-production environment, without time
|
|
154
|
+
limit;
|
|
155
|
+
c. evaluating the software in production for up to 45 days per
|
|
156
|
+
organization (not per version, person, or application), solely to
|
|
157
|
+
decide whether to adopt it;
|
|
158
|
+
d. education and training of people, tutorials, demonstrations, and
|
|
159
|
+
academic research, in each case not directed at developing or
|
|
160
|
+
operating your organization's own products or services;
|
|
161
|
+
e. personal and hobby projects;
|
|
162
|
+
f. developing and operating a public open-source project distributed
|
|
163
|
+
under a license approved by the Open Source Initiative, where the
|
|
164
|
+
software runs as part of that project's own publicly available code
|
|
165
|
+
and primarily for that project's benefit, and not for the development
|
|
166
|
+
or operation of a proprietary product or service.
|
|
167
|
+
|
|
168
|
+
In addition, **all production use is free of charge for a Small
|
|
169
|
+
Organization, a Charity, an Educational Institution, or a Hospital, at
|
|
170
|
+
any size for the last three.** If your organization is one of these,
|
|
171
|
+
nothing in Section 5 applies to you.
|
|
172
|
+
|
|
173
|
+
## 5. Paid uses
|
|
174
|
+
|
|
175
|
+
Production use by an organization that is not a Small Organization, a
|
|
176
|
+
Charity, an Educational Institution, or a Hospital requires a
|
|
177
|
+
Subscription. This includes, without limitation, production use beyond
|
|
178
|
+
the Section 4(c) evaluation window, internal applications used only by
|
|
179
|
+
your staff, and applications you operate for your customers.
|
|
180
|
+
|
|
181
|
+
In any conflict between Section 4 and this Section 5, use described in
|
|
182
|
+
this Section 5 is production use and is not a free use under Section
|
|
183
|
+
4(b), (c), or (d).
|
|
184
|
+
|
|
185
|
+
**Client work.** If you use the software to build or run an application
|
|
186
|
+
for a client, the use is attributed to the organization whose business
|
|
187
|
+
the application ultimately serves, traced through any intermediaries.
|
|
188
|
+
That organization's status determines whether the use is free or paid,
|
|
189
|
+
and any required Subscription must be held by, or purchased for the
|
|
190
|
+
benefit of and identifying, that organization. You may rely on a client's
|
|
191
|
+
written self-certification of its status. A consulting firm's or agency's
|
|
192
|
+
own applications are attributed to the firm or agency.
|
|
193
|
+
|
|
194
|
+
## 6. Subscriptions
|
|
195
|
+
|
|
196
|
+
One Subscription covers your whole organization: every application,
|
|
197
|
+
environment, server, and developer of your organization, with no per-seat
|
|
198
|
+
or per-application charge. A Subscription is governed by the subscription
|
|
199
|
+
terms, order form, or other agreement under which it is purchased; if
|
|
200
|
+
that agreement conflicts with these terms, that agreement controls. While
|
|
201
|
+
a Subscription is active, ShakaCode provides software updates and
|
|
202
|
+
reasonable support through its published channels; no response or
|
|
203
|
+
resolution times are guaranteed unless an order or separate agreement
|
|
204
|
+
says so. If a required Subscription expires or is terminated, your
|
|
205
|
+
production use remains licensed for 30 days while you renew or wind down,
|
|
206
|
+
and the software keeps running either way. ShakaCode and you may enter a
|
|
207
|
+
separate written agreement that supplements or supersedes these terms.
|
|
208
|
+
|
|
209
|
+
## 7. No hosted or embedded offering
|
|
210
|
+
|
|
211
|
+
You may not provide the software or its rendering functionality to third
|
|
212
|
+
parties as a hosted, managed, embedded, or bundled offering, for example
|
|
213
|
+
a platform that builds or runs other organizations' React on Rails
|
|
214
|
+
applications, without a separate written agreement with ShakaCode. Each
|
|
215
|
+
organization whose applications use the software must independently
|
|
216
|
+
qualify for free use or hold its own Subscription. Running your own
|
|
217
|
+
applications for your own users, customers, or staff is not an offering
|
|
218
|
+
to third parties.
|
|
219
|
+
|
|
220
|
+
## 8. Attribution and license status
|
|
221
|
+
|
|
222
|
+
Every HTML document rendered with the software must retain exactly one
|
|
223
|
+
complete, unmodified Generated Attribution in its source. You may not
|
|
224
|
+
remove, alter, obscure, or suppress it, in free and paid use alike. With
|
|
225
|
+
a valid license key the status reads `Licensed`; without a key it reads
|
|
226
|
+
`UNLICENSED`; an expired or malformed key reads `LICENSE EXPIRED` or
|
|
227
|
+
`INVALID LICENSE`. An `UNLICENSED` status is not by itself a violation,
|
|
228
|
+
because free uses need no key. The software never blocks, degrades, or
|
|
229
|
+
reports your use based on license status; it only labels and logs it.
|
|
230
|
+
Keep your license key private: it identifies your organization. A related
|
|
231
|
+
component that does not itself generate or insert the Generated
|
|
232
|
+
Attribution, such as `react-on-rails-rsc`, has no obligation to insert a
|
|
233
|
+
second one.
|
|
234
|
+
|
|
235
|
+
## 9. Trust, self-certification, and true-up
|
|
236
|
+
|
|
237
|
+
These terms are enforced by trust, not technology: the software contains
|
|
238
|
+
no activation, no usage telemetry, and no runtime lockout, and a license
|
|
239
|
+
key only changes what the status says. You are responsible for
|
|
240
|
+
determining in good faith whether your use is free or paid. ShakaCode
|
|
241
|
+
encourages every organization, free and paid alike, to register at
|
|
242
|
+
https://pro.reactonrails.com/ (free of charge). Registration is optional
|
|
243
|
+
and is never a condition of any free use.
|
|
244
|
+
|
|
245
|
+
If your organization stops qualifying as a Small Organization, your
|
|
246
|
+
production use remains licensed for 60 days after the change; after that,
|
|
247
|
+
continued production use requires a Subscription. No payment is owed for
|
|
248
|
+
use during that window, and the obligation is not avoided by
|
|
249
|
+
re-qualification within 12 months of the change.
|
|
250
|
+
|
|
251
|
+
If you discover in good faith that past use required a Subscription,
|
|
252
|
+
purchasing the applicable Subscription within 60 days of discovery is
|
|
253
|
+
full compliance, and no back payment is owed for the good-faith period.
|
|
254
|
+
If your organization made production use requiring a Subscription
|
|
255
|
+
without a good-faith basis for treating it as free, ShakaCode may require
|
|
256
|
+
payment of the applicable subscription fees for the period of that use,
|
|
257
|
+
up to 24 months.
|
|
258
|
+
|
|
259
|
+
You must not misrepresent your organization, its size or status, or your
|
|
260
|
+
license status, whether in a registration, in the software's
|
|
261
|
+
configuration, or in the Generated Attribution.
|
|
262
|
+
|
|
263
|
+
## 10. Redistribution and notices
|
|
264
|
+
|
|
265
|
+
Copies of the software and derivative works that these terms allow you to
|
|
266
|
+
make must remain under these same terms and must retain these terms, all
|
|
267
|
+
copyright and attribution notices, and the SPDX identifier.
|
|
268
|
+
|
|
269
|
+
## 11. Patents
|
|
270
|
+
|
|
271
|
+
ShakaCode grants you a license under any patent claims it can license that
|
|
272
|
+
are necessarily infringed by the software, only for uses allowed by these
|
|
273
|
+
terms. This patent license ends immediately if you or your organization
|
|
274
|
+
initiate a patent claim (excluding counterclaims and cross-claims filed in
|
|
275
|
+
response to a patent claim first brought against you) alleging that the
|
|
276
|
+
software infringes a patent.
|
|
277
|
+
|
|
278
|
+
## 12. Trademarks
|
|
279
|
+
|
|
280
|
+
These terms grant no rights in the names, logos, or trademarks of
|
|
281
|
+
ShakaCode, React on Rails, or React on Rails Pro, except for the
|
|
282
|
+
attribution required by these terms and truthful factual references.
|
|
283
|
+
|
|
284
|
+
## 13. Per-version terms, breach, and cure
|
|
285
|
+
|
|
286
|
+
These terms apply per version: the terms delivered with a version of the
|
|
287
|
+
software govern that version permanently, and patch and security releases
|
|
288
|
+
of a version line remain under that line's terms. Later versions may be
|
|
289
|
+
offered under different terms.
|
|
290
|
+
|
|
291
|
+
If you breach these terms, your license ends automatically 30 days after
|
|
292
|
+
ShakaCode provides written notice of the breach, unless you cure it within
|
|
293
|
+
that period; upon cure, your license is reinstated retroactively. Curing
|
|
294
|
+
continued production use during a lapsed Subscription includes payment of
|
|
295
|
+
the applicable fees for the lapsed period.
|
|
296
|
+
|
|
297
|
+
## 14. Feedback
|
|
298
|
+
|
|
299
|
+
If you submit feedback, suggestions, or improvements to ShakaCode, you
|
|
300
|
+
grant ShakaCode a worldwide, royalty-free, irrevocable license to use and
|
|
301
|
+
incorporate them.
|
|
302
|
+
|
|
303
|
+
## 15. Disclaimer and limitation of liability
|
|
16
304
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
2. The Organization's annual revenue (or total funding received, if pre-revenue) does not exceed USD $1,000,000.
|
|
70
|
-
3. The Organization applies by emailing [justin@shakacode.com](mailto:justin@shakacode.com) and provides truthful information about the project and Organization.
|
|
71
|
-
|
|
72
|
-
**Terms of Complimentary OSS Licenses:**
|
|
73
|
-
|
|
74
|
-
- The attribution requirement in Section 6 applies and may not be waived.
|
|
75
|
-
- Complimentary OSS Licenses are granted for a fixed term of one (1) year from the date of issuance and may be renewed upon request.
|
|
76
|
-
- ShakaCode may revoke a Complimentary OSS License (i) immediately upon written notice if the Organization violates this Agreement, or (ii) on thirty (30) days' written notice if the Organization no longer meets the eligibility criteria.
|
|
77
|
-
- All other terms of this Agreement apply (including Sections 5, 7, 9, and 12), subject to the modifications for Complimentary OSS Licenses in Section 7.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## 5. Restrictions
|
|
82
|
-
|
|
83
|
-
The Organization shall not:
|
|
84
|
-
|
|
85
|
-
1. redistribute or resell the Software or derivatives;
|
|
86
|
-
2. remove, obfuscate, or disable required attribution;
|
|
87
|
-
3. use the Software to build a directly competing product exposing substantially similar functionality;
|
|
88
|
-
4. **circumvent, bypass, modify, disable, or tamper with any license validation mechanisms, license checks, or authentication systems;**
|
|
89
|
-
5. **reverse engineer, decompile, or disassemble the Software for the purpose of circumventing license restrictions;**
|
|
90
|
-
6. **create, use, or distribute any tools, scripts, patches, or modifications designed to enable unauthorized use of Pro features;**
|
|
91
|
-
7. **access or use the Software outside the rights granted by this Agreement, including any Production Use without a valid, active paid or Complimentary OSS License.**
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## 6. Product-Level Attribution (HTML Source)
|
|
96
|
-
|
|
97
|
-
Every Covered HTML Document must retain exactly one complete, unmodified Generated Attribution in its HTML source. The Attribution Provider emits this comment once on behalf of the integrated React on Rails Pro product. A related component, including `react-on-rails-rsc`, has no independent obligation to insert another attribution comment when it does not control the HTML document or generate or insert the Generated Attribution.
|
|
98
|
-
|
|
99
|
-
This requirement applies to paid Production Use, Production Use under a Complimentary OSS License, and every royalty-free use permitted by Section 4.
|
|
100
|
-
|
|
101
|
-
The Generated Attribution uses the following form, where the status suffix is generated by the Software:
|
|
102
|
-
|
|
103
|
-
```html
|
|
104
|
-
<!-- Powered by React on Rails Pro (c) ShakaCode | STATUS -->
|
|
305
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
306
|
+
IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
307
|
+
PURPOSE, TITLE, AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY
|
|
308
|
+
LAW, SHAKACODE WILL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL,
|
|
309
|
+
OR CONSEQUENTIAL DAMAGES ARISING FROM OR RELATED TO THE SOFTWARE OR THESE
|
|
310
|
+
TERMS, AND SHAKACODE'S TOTAL LIABILITY WILL NOT EXCEED THE AMOUNTS YOU
|
|
311
|
+
PAID SHAKACODE FOR THE SOFTWARE IN THE TWELVE MONTHS BEFORE THE CLAIM
|
|
312
|
+
AROSE.
|
|
313
|
+
|
|
314
|
+
## 16. Assignment, governing law, and miscellaneous
|
|
315
|
+
|
|
316
|
+
You may assign these terms, together with any active Subscription, to a
|
|
317
|
+
successor in connection with a merger, acquisition, or sale of
|
|
318
|
+
substantially all assets, upon notice to ShakaCode; these terms are
|
|
319
|
+
otherwise non-transferable. These terms are governed by the laws of the
|
|
320
|
+
State of Hawaii, USA, excluding its conflict-of-law rules, with exclusive
|
|
321
|
+
jurisdiction and venue in the state and federal courts located in
|
|
322
|
+
Honolulu, Hawaii. If a provision of these terms is unenforceable, the
|
|
323
|
+
remainder stays in effect. These terms, together with any subscription
|
|
324
|
+
agreement or order, are the entire agreement about the software; if they
|
|
325
|
+
conflict, the order controls.
|
|
326
|
+
|
|
327
|
+
## 17. Questions and commercial licensing
|
|
328
|
+
|
|
329
|
+
contact@shakacode.com · https://pro.reactonrails.com/ ·
|
|
330
|
+
https://github.com/shakacode/commercial-licensing
|
|
331
|
+
|
|
332
|
+
## Machine-readable summary (informative)
|
|
333
|
+
|
|
334
|
+
```yaml
|
|
335
|
+
license_name: The React on Rails Pro License 3.0
|
|
336
|
+
spdx_identifier: LicenseRef-ReactOnRailsPro
|
|
337
|
+
type: trust-based commercial
|
|
338
|
+
free_production_use_if_all:
|
|
339
|
+
max_org_headcount_fte: 10 # exclusive; whole control group
|
|
340
|
+
max_ttm_revenue_usd: 1000000 # exclusive; trailing 12 months
|
|
341
|
+
max_lifetime_outside_capital_usd: 1000000 # exclusive
|
|
342
|
+
free_production_use_if_any:
|
|
343
|
+
- charity # recognized charitable / public-benefit org, any size
|
|
344
|
+
- educational_institution # school, college, university, any size
|
|
345
|
+
- hospital # licensed inpatient care provider, any size
|
|
346
|
+
always_free: [read, study, development, test, ci, staging, preview, review_apps, evaluate_in_production_45_days, education, personal, oss_projects]
|
|
347
|
+
paid: production use by any other organization; one subscription per organization, unlimited applications and developers
|
|
348
|
+
license_key: optional # identity only; sets the attribution status; never required for free use
|
|
349
|
+
runtime_enforcement: none # no activation, no telemetry, no lockout; status is logged and labeled
|
|
350
|
+
attribution_required: true # one HTML comment per rendered document
|
|
351
|
+
subscription_lapse_grace_days: 30
|
|
352
|
+
outgrow_free_line_grace_days: 60
|
|
353
|
+
per_version_terms: true
|
|
354
|
+
pricing_url: https://pro.reactonrails.com/
|
|
355
|
+
register_url: https://pro.reactonrails.com/
|
|
356
|
+
contact: contact@shakacode.com
|
|
105
357
|
```
|
|
106
358
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
The Licensee may not remove, modify, obfuscate, or disable the Generated Attribution.
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## 7. Fees; Term; Termination
|
|
114
|
-
|
|
115
|
-
Paid subscriptions may be purchased or renewed at [pro.reactonrails.com](https://pro.reactonrails.com/) or through another ShakaCode-approved order channel.
|
|
116
|
-
|
|
117
|
-
Fees and billing terms are as agreed in the applicable order (e.g., GitHub Sponsors subscription or annual invoice).\
|
|
118
|
-
For paid subscriptions, the license remains active only while fees are paid. ShakaCode may suspend or terminate for non-payment or material breach. Complimentary OSS Licenses remain active for the term specified in the grant, subject to the revocation terms in Section 4.1.\
|
|
119
|
-
Upon termination, lapse, or revocation, the Organization must immediately cease use and remove the Software (including derivatives) from all Production systems and repositories, except for (a) non-commercial uses explicitly permitted in Section 4, or (b) Complimentary OSS Licenses revoked under Section 4.1(ii) for eligibility changes, in which case the Organization has thirty (30) days from written notice to comply.
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## 8. Updates & Support
|
|
124
|
-
|
|
125
|
-
While subscribed, the Organization receives software updates and reasonable support (email or issue tracker, business hours). No specific response or resolution times are guaranteed unless set out in an order or separate SLA.
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## 9. Verification / Audit
|
|
130
|
-
|
|
131
|
-
If ShakaCode reasonably suspects non-compliance, the Organization will cooperate in good faith to verify compliance, including enabling inspection for attribution presence and providing a usage statement. ShakaCode will use commercially reasonable efforts to minimize disruption.
|
|
132
|
-
|
|
133
|
-
**9.1 Detailed Audits**\
|
|
134
|
-
ShakaCode or a certified auditor acting on its behalf may, upon reasonable request and at ShakaCode’s expense, audit the Organization’s use of the Software to verify compliance with this Agreement. Audits may be conducted by mail, electronically, or by in-person visits during regular business hours and shall minimize disruption to the Organization’s business. If the audit reveals a material unauthorized use, the Organization shall reimburse ShakaCode for reasonable audit costs.
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 10. Feedback & Contributions
|
|
139
|
-
|
|
140
|
-
By submitting feedback or improvements, the Organization grants ShakaCode a worldwide, royalty-free, irrevocable license to use and incorporate them.
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## 11. Intellectual Property
|
|
145
|
-
|
|
146
|
-
The Software is **licensed, not sold**. ShakaCode retains all rights, title, and interest, including all intellectual property rights.
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## 12. Confidentiality
|
|
151
|
-
|
|
152
|
-
License keys and any non-public materials are ShakaCode confidential information. The Organization will protect them with at least reasonable care.
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 13. Warranty Disclaimer
|
|
157
|
-
|
|
158
|
-
> EXCEPT AS EXPRESSLY PROVIDED IN §8, THE SOFTWARE IS PROVIDED “AS IS,” WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED.
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## 14. Limitation of Liability
|
|
163
|
-
|
|
164
|
-
To the maximum extent permitted by law, ShakaCode is not liable for indirect, incidental, special, consequential, or punitive damages.\
|
|
165
|
-
Direct damages are limited to amounts paid in the 12 months preceding the claim.
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## 15. Indemnification
|
|
170
|
-
|
|
171
|
-
The Organization agrees to defend, indemnify, and hold harmless ShakaCode and its affiliates from any claims, losses, damages, liabilities, costs, or expenses (including legal fees) arising out of the Organization’s use of the Software or breach of this Agreement.
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## 16. Export Compliance
|
|
176
|
-
|
|
177
|
-
The Organization agrees to comply with all applicable export laws and regulations, including restrictions on export, re-export, or redistribution of the Software.
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## 17. Attorneys’ Fees and Costs
|
|
182
|
-
|
|
183
|
-
In any enforcement or legal action arising under this Agreement, the prevailing party shall be entitled to recover reasonable attorneys’ fees and costs.
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## 18. Governing Law; Venue
|
|
188
|
-
|
|
189
|
-
This Agreement is governed by the laws of the **State of Hawaii**, USA. Exclusive jurisdiction and venue lie in the courts located therein.
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## 19. Miscellaneous
|
|
194
|
-
|
|
195
|
-
- **19.1 Severability**\
|
|
196
|
-
If any provision is held invalid or unenforceable, the remainder shall continue in full force.
|
|
197
|
-
|
|
198
|
-
- **19.2 Waiver**\
|
|
199
|
-
Failure to enforce any provision is not a waiver of rights.
|
|
200
|
-
|
|
201
|
-
- **19.3 Assignment**\
|
|
202
|
-
The Organization may not assign this Agreement without prior written consent.
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
## 20. Entire Agreement; Order of Precedence
|
|
359
|
+
## Version history (informative)
|
|
207
360
|
|
|
208
|
-
|
|
361
|
+
Version 3.0 replaces the React on Rails Pro End User License Agreement,
|
|
362
|
+
version 2.3 (2026-07-14), for releases shipped under these terms. Releases
|
|
363
|
+
shipped under earlier terms remain under those terms.
|
|
209
364
|
|
|
210
365
|
## Third-Party Notices
|
|
211
366
|
|
package/README.md
CHANGED
|
@@ -27,6 +27,16 @@ documentation boundary and links to package-maintainer runbooks.
|
|
|
27
27
|
|
|
28
28
|
## Package Contents
|
|
29
29
|
|
|
30
|
+
When enabling `cssWrapper` on `RSCWebpackPlugin` or `RSCRspackPlugin`, maintainers
|
|
31
|
+
can set `parserPlugins` to the same extra `@babel/parser` plugins used by the RSC
|
|
32
|
+
loader's export scan. For example, use
|
|
33
|
+
`parserPlugins: [['pipelineOperator', { proposal: 'hack', topicToken: '#' }]]`
|
|
34
|
+
for pipeline syntax. Plugin names and exact `[name, options]` tuples are accepted;
|
|
35
|
+
omitting the option preserves the default parser configuration. This option only
|
|
36
|
+
controls parsing of raw client modules, including star re-export targets; the
|
|
37
|
+
application still needs its own Babel/SWC transform to compile proposal syntax.
|
|
38
|
+
Configure the loader and plugin consistently so their export scans agree.
|
|
39
|
+
|
|
30
40
|
This package provides internal tooling for React Server Components integration:
|
|
31
41
|
- Webpack plugin for manifesting client components
|
|
32
42
|
- Webpack loader for bundling server components
|
|
@@ -39,12 +49,16 @@ Maintainer policy lives in [`internal/docs/versioning.md`](internal/docs/version
|
|
|
39
49
|
|
|
40
50
|
## License
|
|
41
51
|
|
|
42
|
-
Starting with version `19.2.1`, this package is offered as a
|
|
43
|
-
component of React on Rails Pro
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
Starting with version `19.2.1`, this package is offered as a commercially
|
|
53
|
+
licensed related software component of React on Rails Pro. Releases that
|
|
54
|
+
include The React on Rails Pro License, version 3.0, follow these terms: free
|
|
55
|
+
in development, test, CI, and staging for everyone, free in production for
|
|
56
|
+
small organizations, charities, educational institutions, and hospitals,
|
|
57
|
+
and a subscription for other production use ($1,800 per year per organization,
|
|
58
|
+
see https://reactonrails.com/pricing/). No license key is needed to run it. See
|
|
46
59
|
[LICENSE.md](LICENSE.md) for the exact terms and the Meta notice that applies to
|
|
47
|
-
the derived Webpack plugin portions.
|
|
60
|
+
the derived Webpack plugin portions. Earlier releases retain the terms included
|
|
61
|
+
in their packages.
|
|
48
62
|
|
|
49
63
|
## Releasing
|
|
50
64
|
|